eb6acc9e44ad0373b3469bc9db2d80ad9279827f: Bug 1431090 - Prepare tools/fuzzing/ to be used with JS_STANDALONE. r=froydnj
Christian Holler <choller@mozilla.com> - Wed, 17 Jan 2018 15:20:35 +0100 - rev 723695
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1431090 - Prepare tools/fuzzing/ to be used with JS_STANDALONE. r=froydnj This patch adjusts tools/fuzzing/ in such a way that the relevant parts can be reused in the JS engine. Changes in detail include: * Various JS_STANDALONE checks to exclude parts that cannot be included in those builds. * Turn LibFuzzerRegistry and LibFuzzerRunner into generic FuzzerRegistry and FuzzerRunner classes and use them for AFL as well. Previously, AFL was piggy-backing on gtests which was kind of an ugly solution anyway (besides that it can't work in JS). Now more code like registry and harness is shared between the two and they follow almost the same call paths and entry points. AFL macros in FuzzingInterface have been rewritten accordingly. This also required name changes in various places. Furthermore, this unifies the way, the fuzzing target is selected, using the FUZZER environment variable rather than LIBFUZZER (using LIBFUZZER in browser builds will give you a deprecation warning because I know some people are using this already and need time to switch). Previously, AFL target had to be selected using GTEST_FILTER, so this is also much better now. * I had to split up FuzzingInterface* such that the STREAM parts are in a separate set of files FuzzingInterfaceStream* because they use nsStringStream which is not allowed to be included into the JS engine even in a full browser build (error: "Using XPCOM strings is limited to code linked into libxul."). I also had to pull FuzzingInterface.cpp (the RAW part only) into the header and make it static because otherwise, would have to make not only separate files but also separate libraries to statically link to the JS engine, which seemed overkill for a single small function. The streaming equivalent of the function is still in a cpp file. * LibFuzzerRegister functions are now unique by appending the module name to avoid redefinition errors. MozReview-Commit-ID: 44zWCdglnHr
43f1c41b3b2e745dcc89e134d82da1ccedb55a45: Bug 1432298 - Make sm-fuzzing build ready for libfuzzer. r=sfink
Christian Holler <choller@mozilla.com> - Mon, 22 Jan 2018 21:23:47 +0100 - rev 723694
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1432298 - Make sm-fuzzing build ready for libfuzzer. r=sfink This patch disables the stdcxx-compat check for the sm-fuzzing build which requires patching autospider as well. Furthermore, it switches the build to linux64-clang-6-pre because the older clang 3.9 does not support trace-pc instrumentation. Finally, it excludes fuzzing parts from the vanilla allocation check. MozReview-Commit-ID: FdhCIFdUore
254bb1dceb22569eb4037c591b5fa23328dd2517: Bug 1432158 - Update comment for gdk_disable_multidevice() call on Wayland backend, r=jhorak
Martin Stransky <stransky@redhat.com> - Mon, 22 Jan 2018 15:52:17 +0100 - rev 723693
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1432158 - Update comment for gdk_disable_multidevice() call on Wayland backend, r=jhorak MozReview-Commit-ID: QaCVmUbxNg
2018c9901076be01af4b5dac7b92f07357b7c201: Bug 1431428 - use DOM instead of innerHTML for extension messaging in prefs, r=jaws
Gijs Kruitbosch <gijskruitbosch@gmail.com> - Thu, 18 Jan 2018 18:19:10 +0000 - rev 723692
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1431428 - use DOM instead of innerHTML for extension messaging in prefs, r=jaws MozReview-Commit-ID: JkG6zT8ADDU
f0d1a3a8ecef439f2baae9c34a6baca8f4efffc3: Bug 1430785 - Make mozInlineSpellChecker not derived from nsIEditActionListener r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 17 Jan 2018 14:05:06 +0900 - rev 723691
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430785 - Make mozInlineSpellChecker not derived from nsIEditActionListener r=m_kato mozInlineSpellChecker listens to only DidSplitNode() and DidJoinNodes(). So, EditorBase should call them directly rather than treating it as an nsIEditActionListener since its runtime cost becomes really cheaper. Different from EditorSpellCheck, nobody creates instance of nsIInlineSpellChecker. So, we can now stop supporting createInstance() for it in chrome JS and should do this since EditorBase cannot support multiple mozInlineSpellChecker instances without nsIEditActionListener interface. Therefore, this patch removes the entry from factory. MozReview-Commit-ID: W1CLdsJaaB
ff3e5fd4c72564fcad17e40fc4a3d491dceb7ed8: Bug 1430982 - part 10: Make EditorBase store TextServicesDocument for its mInlineSpellChecker for avoiding to run for loops to call nsIEditActionListener methods r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 23:46:03 +0900 - rev 723690
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 10: Make EditorBase store TextServicesDocument for its mInlineSpellChecker for avoiding to run for loops to call nsIEditActionListener methods r=m_kato Currently, first edit action listener is always TextServicesDocument for EditorBase::mInlineSpellChecker if spell check is enabled and it requires only DidDeleteNode() and DidJoinNodes(). So, in most cases, EditorBase should call only them to avoid running redundant for loops for nsIEditActionListener methods. This patch makes that EditorBase::AddEditActionListener() and RemoveEditActionListener() check whether coming nsIEditActionListener is TextServicesDocument for mInlineSpellChecker. If so, EditorBase should store it as reference to TextServicesDocument. And when edit action occurs, its DidDeleteNode() and DidJoinNodes() should be called directly. Unfortunately, this patch makes TextServiceDocument's maintaining rules complicated. However, it must be really rare case to add new edit action listener because it's really old component. Note that EditorSpellCheck may be created multiple instances for an editor from chrome JS. Therefore, we need to keep TextServicesDocument being derived from nsIEditActionListener because in such case, TextServicesDocument for other EditorSpellCheck instances should be supported via nsIEditActionListener even though such case makes EditorBase slower. MozReview-Commit-ID: KtlXsBCOzKL
4ef85ad5bf42c112618fafef33d95cecb8292562: Bug 1430982 - part 9: Create accessors for each member of mozSpellChecker, EditorSpellCheck, mozInlineSpellChecker r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 21:38:50 +0900 - rev 723689
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 9: Create accessors for each member of mozSpellChecker, EditorSpellCheck, mozInlineSpellChecker r=m_kato mozSpellChecker stores TextServicesDocument, EditorSpellCheck stores mozSpellChecker and mozInlineSpellChecker stores EditorSpellCheck. So, they should have accessors for their member. Then, EditorBase can access all of them. MozReview-Commit-ID: Igphm8nRqve
d0270ad1df877de1cb01f3940be8e633ebdc1f76: Bug 1430982 - part 8: Make EditorBase store inline spell checker as mozInlineSpellChecker rather than nsIInlineSpellChecker r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 17 Jan 2018 00:52:37 +0900 - rev 723688
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 8: Make EditorBase store inline spell checker as mozInlineSpellChecker rather than nsIInlineSpellChecker r=m_kato EditorBase::mInlineSpellChecker is always an instance of mozInlineSpellChecker. Fortunately, it's easy to expose mozInlineSpellChecker.h. So, making EditorBase store it as mozInlineSpellChecker directly, EditorBase can access any of mozInlineSpellChecker, EditorSpellCheck, mozSpellChecker and TextServicesDocument with new accessors created by following patch. MozReview-Commit-ID: 2oyS5tPeQcg
c27c6e2b049402fdbb99281aace76cba667a6926: Bug 1430982 - part 7: Make mozInlineSpellChecker store EditorSpellCheck directly rather than nsIEditorSpellCheck r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 21:12:46 +0900 - rev 723687
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 7: Make mozInlineSpellChecker store EditorSpellCheck directly rather than nsIEditorSpellCheck r=m_kato mozInlienSpellChecker::mSpellCheck and mozInlineSpellChecker::mPendingSpellCheck are always instances of EditorSpellCheck because mozInlienSpellChecker creates its instance. Therefore, making mozInlineSpellChecker store EditorSpellCheck directly makes sense. MozReview-Commit-ID: LTtEMZqMS9E
2398b267741bd5e487cc0bde7b4a8952c5a7d4e4: Bug 1430982 - part 6: Rename nsEditorSpellCheck to mozilla::EditorSpellCheck and expose its header r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 21:01:13 +0900 - rev 723686
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 6: Rename nsEditorSpellCheck to mozilla::EditorSpellCheck and expose its header r=m_kato For making mozInlineSpellChecker stores nsEditorSpellCheck directly, we need to expose its header file. For doing that this patch renames the class to mozilla::EditorSpellCheck and expose it as "mozilla/EditorSpellCheck.h". MozReview-Commit-ID: 5H66Y2vVshu
2e02cfe32f94c2f3c95d7f08955e1a5ebdcbccef: Bug 1430982 - part 5: Make nsEditorSpellCheck store mozSpellChecker directly rather than nsISpellChecker r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 20:06:49 +0900 - rev 723685
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 5: Make nsEditorSpellCheck store mozSpellChecker directly rather than nsISpellChecker r=m_kato nsEditorSpellCheck::mSpellChecker is always mozSpellChecker because it's created only by nsEditorSpellCheck. Additionally, mozSpellChecker.h is already exposed. So, nsEditorSpellCheck can store it as mozSpellChecker directly. MozReview-Commit-ID: 2vyDe4plncM
0901d6f8322f8037d954b90834a0be4f221915d1: Bug 1430982 - part 4: Get rid of nsITextServicesDocument because it used by nobody r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 18:43:57 +0900 - rev 723684
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 4: Get rid of nsITextServicesDocument because it used by nobody r=m_kato nsITextServicesDocument isn't used by anybody now. So, we can get rid of it. Additionally, nsITextService and nsTextServicesFactory are not also used by anybody. Therefore, this patch removes all of them. MozReview-Commit-ID: KSbMdm7QPKF
05408b85794113aac014ed397105ff098b58763b: Bug 1430982 - part 3: Make mozSpellChecker and nsEditorSpellChecker treat TextServicesDocument directly rather than nsITextServicesDocument r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 17:32:23 +0900 - rev 723683
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 3: Make mozSpellChecker and nsEditorSpellChecker treat TextServicesDocument directly rather than nsITextServicesDocument r=m_kato Now, TextServicesDocument can be treated by anybody. So, let's make mozSpellChecker and nsEditorSpellChecker treat it directly instead of nsITextServicesDocument. MozReview-Commit-ID: 2tMy6y3i17b
1e9838519ff198f4bd48ee4f44082226b4880561: Bug 1430982 - part 2: Rename nsTextServicesDocument to mozilla::TextServicesDocument and expose its header r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 16:57:01 +0900 - rev 723682
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 2: Rename nsTextServicesDocument to mozilla::TextServicesDocument and expose its header r=m_kato For making nsTextServicesDocument accessible from anywhere directly, we need to expose its header. Then, it should be in mozilla namespace. This patch renames nsTextServicesDocument to mozilla::TextServicesDocument and expose the header file as "mozilla/TextServicesDocument.h". MozReview-Commit-ID: 9PmP73PXSJu
44be45cf31b4fe15d8903789ebab89b8352117ac: Bug 1430982 - part 1: Make nsTextServicesDocument store editor with RefPtr<TextEditor> rather than nsWeakPtr r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 18 Jan 2018 14:33:31 +0900 - rev 723681
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430982 - part 1: Make nsTextServicesDocument store editor with RefPtr<TextEditor> rather than nsWeakPtr r=m_kato nsTextServicesDocument stores editor with nsWeakPtr for avoiding circular reference. However, both TextEditor and nsTextServicesDocument are cycle collectable. So, we don't need to worry about the issue and we can simply make it store with RefPtr<TextEditor>. Then, we can make EditorBase and nsTextServicesDocument access each other directly. MozReview-Commit-ID: 9I4U8ivFlov
4eeecbc749f7585e49e261b7a76b9cca2193cb42: Merge mozilla-central to autoland r=merge
Dorel Luca <dluca@mozilla.com> - Tue, 23 Jan 2018 12:12:21 +0200 - rev 723680
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Merge mozilla-central to autoland r=merge
837df5c8fac81d2997fdb89a8ce9e1b9bb3ff7de: Bug 1430319 - Get rid of nsIEditActionListener::Will*() which are not used by anybody r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 13 Jan 2018 10:10:05 +0900 - rev 723679
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430319 - Get rid of nsIEditActionListener::Will*() which are not used by anybody r=m_kato Most nsIEditActionListener::Will*() are not implemented, except WillDeleteText() and WillDeleteSelection() which are implemented by FinderHighlighter. So, we can get rid of the other Will*() from it. This patch removes a lot of unnecessary virtual calls and copy of strong pointers to edit action listeners of EditorBase. MozReview-Commit-ID: EsqI2tZoBG1
88a6a578cd7bf75cb57251002460cd5e74e11705: Bug 1430021 - part 2: Make HTMLEditRules not derived from nsIEditActionListener r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 13 Jan 2018 00:21:17 +0900 - rev 723678
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430021 - part 2: Make HTMLEditRules not derived from nsIEditActionListener r=m_kato HTMLEditRules implements only some of nsIEditActionListener and this is always first edit action listener. So, if we make EditorBase treat HTMLEditRules directly before notifying edit action listeners, we can save a lot of runtime cost (virtual calls especially unnecessary, copying array of edit action listeners with strong pointer, redundant QIs), although the code becomes not beautiful. Perhaps, we should do same thing to nsTextServicesDocument and mozInlineSpellChecker in other bugs. MozReview-Commit-ID: Eveaxj398f2
149afa9d22d017a45de159400a7824170f584ad3: Bug 1430021 - part 1: Move |RefPtr<TextEditRules> mRules| from TextEditor to EditorBase r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 12 Jan 2018 19:01:04 +0900 - rev 723677
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1430021 - part 1: Move |RefPtr<TextEditRules> mRules| from TextEditor to EditorBase r=m_kato For calling some methods of mRules from EditorBase, let's move mRules member from TextEditor to EditorBase. Unfortunately, TextEditRules.h depends on EditAction which is declared in EditorBase.h and that caused unnecessary include hell of EditorBase.h. So, let's move it to an independent header file. MozReview-Commit-ID: 5HiSZLP9WHH
9e0080c2930f005fbb90a583b72efd52d12af882: Bug 1131491 - Remove old synchronous Place's transactions. r=mak
Mark Banner <standard8@mozilla.com> - Mon, 22 Jan 2018 15:41:12 +0000 - rev 723676
Push 96504 by bmo:francesco.lodolo@gmail.com at Tue, 23 Jan 2018 18:27:03 +0000
Bug 1131491 - Remove old synchronous Place's transactions. r=mak MozReview-Commit-ID: FNCijeajgeh
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip