3bd1a8ffe4a900c980f82ae6c868e31ab20e933b: Bug 1514975 - Synthesize mousemove event before contextmenu event caused by long tap r=smaug,kats
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 09:09:42 +0000 - rev 510324
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1514975 - Synthesize mousemove event before contextmenu event caused by long tap r=smaug,kats Chrome synthesizes mousemove event and related events (mouseover, mouseenter, etc) when context menu event is fired by long tap. This allows users to open submenu which is opened by moving mouse cursor over a link. So, this fix improves accessibility of our users on some websites which are designed for desktop. Differential Revision: https://phabricator.services.mozilla.com/D14857
3bd12b1d762b4079ddefbe86012a88e0704d6734: Bug 1518959 - Don't format Java files by default; r=sylvestre
Ehsan Akhgari <ehsan@mozilla.com> - Thu, 10 Jan 2019 09:05:54 +0000 - rev 510323
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1518959 - Don't format Java files by default; r=sylvestre Differential Revision: https://phabricator.services.mozilla.com/D16115
99a977d519a0b78e267d3dce4afb009b8d3be769: Bug 181137 - part 8: Make ContentIteratorBase and its subclasses non-refcountable r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:50:41 +0000 - rev 510322
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 8: Make ContentIteratorBase and its subclasses non-refcountable r=smaug This patch makes ContentIteratorBase, PostContentIterator, PreContentIterator and ContentSubtreeIterator classes non-refcountable because most users can create their instances in stack and such users may be in a hot path. So, we can save a lot of cost of instantiation. Unfortunately, only ScriptableContentIterator creates one of the concrete classes and needs to destroy it properly. Therefore, its EnsureContentIterator(), destructor, traverse and unlink code becomes messy. However, ScriptableContentIterator was designed for automated tests and we need to maintain it not so many times. Therefore, improvement of other users must be worthwhiler than this demerit. Differential Revision: https://phabricator.services.mozilla.com/D15928
65a4b245e8514a5a9d5c9a101c09919f27a3680a: Bug 181137 - part 7: Get rid of nsIContentIterator interface r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:47:54 +0000 - rev 510321
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 7: Get rid of nsIContentIterator interface r=smaug Now, nobody requires nsIContentIterator interface. So, we can get rid of it. Unfortunately, there is no macro to keep the inherited class, ContentSubtreeIterator, in the cycle collection to make it keep managing ContentSubtreeIterator::mRange without nsISupports interface. Therefore, this patch moves it into ContentIteratorBase temporarily. Anyway, the following patch makes those classes not refcountable. At that time, this issue will be fixed. Differential Revision: https://phabricator.services.mozilla.com/D15927
5385d5fd9b8bfaaec01f9757305f3a5cb0eb9e4e: Bug 181137 - part 6: Make nsFilteredContentIterator not derived from nsIContentIterator r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:47:11 +0000 - rev 510320
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 6: Make nsFilteredContentIterator not derived from nsIContentIterator r=smaug nsFilteredContentIterator is used only by TextServicesDocument and there is no reason that it should be derived from nsIContentIterator except consistency. Additionally, it's now only class which is derived from nsIContentIterator except ContentIteratorBase. So, after this change, we can get rid of nsIContentIterator completely. This patch moves nsFilteredContentIterator into mozilla namespace and makes TextServicesDocument treat FilteredContentIterator directly instead of nsIContentIterator interface. Differential Revision: https://phabricator.services.mozilla.com/D15925
83bec02c21d965b6cd5eb0fc682a18ef6ac74b68: Bug 181137 - part 5: Make all users of PostContentIterator treat it directly rather than via nsIContentIterator r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:46:32 +0000 - rev 510319
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 5: Make all users of PostContentIterator treat it directly rather than via nsIContentIterator r=smaug Now, all users of PostContentIterator can access it directly. This patch makes them use the concrete class directly. Differential Revision: https://phabricator.services.mozilla.com/D15923
b7ab59bf545e46eb2e677eaf1f68adc100cbebae: Bug 181137 - part 4: Make all users of PreContentIterator treat it directly rather than via nsIContentIterator r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:46:25 +0000 - rev 510318
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 4: Make all users of PreContentIterator treat it directly rather than via nsIContentIterator r=smaug Now, all users of PreContentIterator can access it directly. This patch makes them use the concrete class directly. Differential Revision: https://phabricator.services.mozilla.com/D15922
b6fc7a332db7a7a3e3fe89f311b3c44e49145ad6: Bug 181137 - part 3: Make all users of ContentSutreeIterator treat it directly rather than via nsIContentIterator r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:45:07 +0000 - rev 510317
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 3: Make all users of ContentSutreeIterator treat it directly rather than via nsIContentIterator r=smaug Now, all users of ContentSubtreeIterator can access it directly. This patch makes them use the concrete class directly. Differential Revision: https://phabricator.services.mozilla.com/D15920
654fdbad67db2de8a0eca4b0a2d6326d743cc127: Bug 181137 - part 2: Make nsContentIterator class is a base class of other concrete classes r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:44:24 +0000 - rev 510316
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 2: Make nsContentIterator class is a base class of other concrete classes r=smaug Currently, ContentIterator is created with a bool flag to decide whether the instance lists up post-order or pre-order. However, this is not clear. For example: nsCOMPtr<nsIContentIterator> preOrderIter = new ContentIterator(false); This is not clear whether this does right thing or not. This patch makes any users can create PostContentIterator for post-order iterator, and creates PreContentIterator for pre-order iterator. So, now, each creator needs to writhe above as: nsCOMPtr<nsIContentIterator> preOrderIter = new PreContentIterator(); or nsCOMPtr<nsIContentIterator> postOrderIter = new PostContentIterator(); Additionally, with this change, if each user starts to use concrete classes directly, compiler can stop using virtual calls because of all concrete classes are now marked as "final". Differential Revision: https://phabricator.services.mozilla.com/D15918
90a1ff49b6b1463090cb19cbc54a85f152f2488f: Bug 181137 - part 1: Move nsContentIterator and nsContentSubtreeIterator into mozilla namespace r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 08:43:50 +0000 - rev 510315
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 181137 - part 1: Move nsContentIterator and nsContentSubtreeIterator into mozilla namespace r=smaug First, we should move nsContentIterator and nsContentSubtreeIterator into mozilla namespace and then, remove "ns" prefix. Additionally, this patch separates the definition of the classes into ContentIterator.h and exposes it as "mozilla/ContentIterator.h". This allows everybody access those concrete classes. Differential Revision: https://phabricator.services.mozilla.com/D15917
2f4920fa4ac7c36c79057fa4c1a7e5a212d025aa: Bug 1518982 - Don't register animations with playbackRate == 0 with a timeline; r=hiro
Brian Birtles <birtles@gmail.com> - Thu, 10 Jan 2019 06:56:09 +0000 - rev 510314
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1518982 - Don't register animations with playbackRate == 0 with a timeline; r=hiro Differential Revision: https://phabricator.services.mozilla.com/D16153
87e21b003b079e91d7e833853116a343fcae8cee: Bug 1499430 - Make PresShell::PageMove() use result of nsFrameSelection::GetFrameToPageSelect() when PresShell::GetScrollableFrameToScroll() returns nullptr r=smaug
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 10 Jan 2019 05:02:56 +0000 - rev 510313
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1499430 - Make PresShell::PageMove() use result of nsFrameSelection::GetFrameToPageSelect() when PresShell::GetScrollableFrameToScroll() returns nullptr r=smaug If there is no scrollable frame, PresShell::GetScrollableFrameToScroll() returns nullptr. However, even when we don't expand selection, we need to move caret in current selection root. Therefore, it should call nsFrameSelection::CommonPageMove() with the result of nsFrameSelection::GetFrameToPageSelect() to move caret. Differential Revision: https://phabricator.services.mozilla.com/D16020
460f0359741bd0026b7da0426836e1c0084a5be3: Bug 1518805 - Don't update bounds on gone or defunct accessibles. r=MarcoZ
Eitan Isaacson <eitan@monotonous.org> - Thu, 10 Jan 2019 06:59:16 +0000 - rev 510312
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1518805 - Don't update bounds on gone or defunct accessibles. r=MarcoZ Differential Revision: https://phabricator.services.mozilla.com/D16064
6d3e6c915370bc5e771429c0a207950db64b7089: Bug 1518834 - Don't disable pulling when stopping microphone source. r=drno
Andreas Pehrson <apehrson@mozilla.com> - Thu, 10 Jan 2019 06:13:25 +0000 - rev 510311
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1518834 - Don't disable pulling when stopping microphone source. r=drno Differential Revision: https://phabricator.services.mozilla.com/D16148
74bb778f78793e82cfcae11446387795cb4d4180: Bug 1515186 - Always calculate group position for all children of an accessible after a tree mutation, r=Jamie
Marco Zehe <mzehe@mozilla.com> - Thu, 10 Jan 2019 05:59:01 +0000 - rev 510310
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1515186 - Always calculate group position for all children of an accessible after a tree mutation, r=Jamie Previously, if we had children a, b, c, and d, then removed b, the group position for c and d would potentially be marked as dirty, but a would not. This caused the check for the availability of previous group info to return outdated information. This patch now always forces the update of all children's group position when a children move has occurred, since it potentially affects all the children, not just the ones after it. In addition, accGroupInfo::Update() now checks if the previous and next siblings that are being used as shortcuts have dirty group info, and are being used only if they do not. Differential Revision: https://phabricator.services.mozilla.com/D16059
4e654e9222bd7d2e16ab62bd3d3441059b25d0c8: Bug 1518991 - Make nsIPrincipal URI getter infallible; r=bholley
Kyle Machulis <kyle@nonpolynomial.com> - Thu, 10 Jan 2019 05:44:33 +0000 - rev 510309
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1518991 - Make nsIPrincipal URI getter infallible; r=bholley nsIPrincipal::GetURI returns NS_OK for all implementations. Make it infallible so we can clean up status checks in C++ code that uses principals. Differential Revision: https://phabricator.services.mozilla.com/D16145
463d00cf41fdc9baf09ab663c55e680ec3dce6b6: Bug 1518662 - Clear pending exception when leaving promise rejection tracker callback. r=jorendorff
Tooru Fujisawa <arai_a@mac.com> - Thu, 10 Jan 2019 05:17:06 +0000 - rev 510308
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1518662 - Clear pending exception when leaving promise rejection tracker callback. r=jorendorff Differential Revision: https://phabricator.services.mozilla.com/D16003
33784a7ae90baf030b7a41b11f828a8767fa51ae: Bug 1518726 - Apply https://reviews.llvm.org/D56475 to clang. r=froydnj
Mike Hommey <mh+mozilla@glandium.org> - Thu, 10 Jan 2019 00:18:28 +0000 - rev 510307
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1518726 - Apply https://reviews.llvm.org/D56475 to clang. r=froydnj Firefox uses multiple processes. It has intentional leaks, and when running with ASAN, we have suppressions to eliminate those. When running ASAN builds through CI tests, when Firefox exits, each of the processes (parent and child) exits and goes through its leaks and when there are (which is a given), the ASAN runtime runs llvm-symbolizer to symbolicate and match against suppressions. So each process runs llvm-symbolizer. At the same time. Some of the addresses to symbolicate are in libxul. Which contains all DWARF info, making it a ~1GB monster. Oh, and because you're lucky, things align perfectly such that libxul size is a multiple of the page size. That makes llvm-symbolizer pread() the file instead of mmap()ing it. Did I say there are multiple processes? So suddenly you have n processes simultaneously allocating and filling 1GB of memory each, on CI machines that have enough memory for the job they usually run, but not enough for a sudden rush of n GB. And things go awry. When you're lucky and the OOM killer didn't take care of killing the CI entirely, symbolication couldn't happen and the suppressions are not matched, and leaks are reported. This all turns out it originates in how llvm-symbolicate chooses between pread() and mmap(), which turns out is just defaults not being made for binary files. Differential Revision: https://phabricator.services.mozilla.com/D16010
3e99aed6c14d423119aebd1cb2214f3270008faf: Bug 1454357 - Remove the scrollbox binding r=NeilDeakin
Timothy Guan-tin Chien <timdream@gmail.com> - Wed, 09 Jan 2019 20:12:26 +0000 - rev 510306
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Bug 1454357 - Remove the scrollbox binding r=NeilDeakin With all the previous efforts, the scrollbox binding now does nothing but to create an inner box element holding the scrolling content. It turned out that inner box can be easily removed. The padding set by the document sheets can be moved to the srollbox element directly. The only gotcha is XULScrollElement::ScrollByIndex() -- it can now reach the child item frames directly from the scrolled frame. Depends on D15169 Differential Revision: https://phabricator.services.mozilla.com/D15170
b21a65e29e757f22e297f75ab2e8dfe43ca747bc: Merge mozilla-central to autoland. a=merge CLOSED TREE
shindli <shindli@mozilla.com> - Thu, 10 Jan 2019 06:05:38 +0200 - rev 510305
Push 10547 by ffxbld-merge at Mon, 21 Jan 2019 13:03:58 +0000
Merge mozilla-central to autoland. a=merge CLOSED TREE
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip