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

635 Коммитов

Автор SHA1 Сообщение Дата
Ryan VanderMeulen a977d011fb Backed out changeset c2c0405ddf93 (bug 1180916) for causing various e10s mochitest failures. 2015-08-14 11:27:25 -04:00
Brad Lassey f6c9807803 bug 1180916 - witching tab generates 4 frames (4 full runs of the RefreshDriver), freeze the refresh driver while switching tabs r=mconley, mrbkap 2015-08-14 09:18:37 -04:00
Kyle Huey 0bb53e0280 Bug 1179909: Build fix. r=me CLOSED TREE 2015-08-11 07:38:01 -07:00
Kyle Huey 76e3009ab8 Bug 1179909: Refactor stable state handling. r=smaug
This is motivated by three separate but related problems:

1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).

2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).

3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.

The solve this, this patch does the following:

1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Kearwood (Kip) Gilbert c06afa1c7f Bug 1181240 - Part 2: Replace gfx3DMatrix with Matrix4x4 in layout,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:05:47 -07:00
Nathan Froyd b4d14a98a8 Bug 1179334 - check for chrome callers in nsDOMWindowUtils interface methods; r=mccr8 2015-07-02 11:23:34 -04:00
Xidorn Quan e5ea6fe8a3 Bug 1184443 - Make async ExitFullscreen call ask the window to exit fullscreen first. r=smaug
--HG--
extra : source : 237250013b141f622112c0284e0db8a65fc28c3d
2015-07-19 10:30:52 +10:00
Kartikaya Gupta 5b73f30813 Bug 1181678 - Expose an attribute on DOMWindowUtils to see if APZ is enabled. r=botond 2015-07-09 09:53:54 -04:00
Cameron McCormack 9835a50961 Bug 1177563 - Test that we share agent rule processors across different documents. r=dbaron 2015-07-08 15:57:31 +10:00
Carsten "Tomcat" Book f5a2bf64b3 Backed out changeset 42e80a07acd6 (bug 1177563) for bustage on a CLOSED TREE
--HG--
extra : rebase_source : 4a68bf83cc2939f899b0c6f92efa58e3d5aab6a2
2015-07-08 09:44:16 +02:00
Cameron McCormack f086e12dcb Bug 1177563 - Test that we share agent rule processors across different documents. r=dbaron
--HG--
extra : rebase_source : 119e78e4798a8044531f6fa288be7a0fc3ce9e43
2015-07-08 15:57:31 +10:00
Xidorn Quan c433be2ffa Bug 1178668 - Only exit fullscreen on the document of the requesting window. r=smaug
--HG--
extra : source : e9bb00fe5f2e87825619e8babfb531fc5ba0297b
2015-07-08 08:51:09 +10:00
Lee Salzman 317af90588 Bug 771367 - Update test_animations_omta.html to support testing pseudo-elements. r=dbaron
--HG--
extra : rebase_source : 659f839d709a4955d7351c1200e6dcbf527c0c51
2015-07-01 12:08:30 -04:00
Nathan Froyd 974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Jan Varga baba1643c1 Bug 1130775 - Convert synchronized ops and storage registration into unified directory locks; r=bent
--HG--
rename : dom/quota/OriginOrPatternString.h => dom/quota/OriginScope.h
2015-06-30 14:59:27 +02:00
Kartikaya Gupta 1d81392d69 Bug 1163832 - Add an API to flush pending APZ repaint requests and dispatch a notification upon completion. r=botond 2015-06-19 08:25:41 -04:00
Andreas Pehrson f9165d38d7 Bug 1162357 - Convert some usage of DataSourceSurface::GetData() to Map(). r=bas
--HG--
extra : rebase_source : aebb45613926c64355e5b193bc79166cf04292be
2015-06-10 19:01:00 +08:00
Karl Tomlinson 1dc7bae7b5 bug 1171785 use nsContentUtils::RunInStableState() r=bholley
--HG--
extra : rebase_source : a26fc43686810f65631b37539c5622631e2fc001
2015-06-11 14:36:12 +12:00
Xidorn Quan 29eb0a646b Bug 1161802 part 7 - Put document into fullscreen state after window becomes fullscreen. r=smaug,dao
--HG--
extra : source : fafd0c5759b8273aa30f37f014d2d5347a72b6d2
2015-06-10 23:13:12 +12:00
Mason Chang 920f2ea28a Bug 1077651 Measure frame uniformity by synthesizing native events. r=kats,mrbkap 2015-06-08 09:53:41 -07:00
David Anderson b2eb29a9c5 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
Kartikaya Gupta 5b6ed7c5d7 Bug 1164218 - Allow running individual mochitests and reftests in chaos mode. r=roc,froydnj 2015-06-04 13:44:55 -04:00
Timothy Nikkel f3507bdc3b Bug 1160642. Add reftest-async-zoom to apply an async zoom before taking snapshot. r=dbaron 2015-05-24 16:48:26 -04:00
Kartikaya Gupta b54dc47f24 Back out 2 csets for bug 1163832 for emulator crashtest failures. r=me
CLOSED TREE
2015-05-22 07:51:55 -04:00
Kartikaya Gupta 86ed888daa Bug 1163832 - Add an API to flush pending APZ repaint requests and dispatch a notification upon completion. r=botond 2015-05-22 06:42:08 -04:00
Xidorn Quan ae0095611c Bug 1053413 part 3 - Remove fullscreen-origin-change notification, and make browser element rely on the fullscreen events. r=smaug
--HG--
extra : source : 5fb435684c91c57343b68ba3bf6caddb0ee0e778
2015-05-21 09:52:26 +12:00
Andrea Marchesini 61b9bd0496 Bug 1166231 - Make nsIDOMBlob an empty interface, r=ehsan 2015-05-19 15:36:37 +01:00
Andrea Marchesini 3aa189b5ff Bug 1163388 - patch 2 - get rid of nsIDOMFile, r=ehsan
--HG--
rename : dom/base/nsIDOMFile.idl => dom/base/nsIDOMBlob.idl
2015-05-18 14:52:26 +01:00
Andrea Marchesini 338c67e420 Bug 1163388 - patch 1 - make nsIDOMFile an empty interface, r=ehsan 2015-05-18 14:51:54 +01:00
Phil Ringnalda f7950798e0 Back out 530555a2d6d4 (bug 1162064) for debug b2g emulator assertions and failure to thrive
CLOSED TREE
2015-05-17 22:42:05 -07:00
David Anderson 4b20fa6b94 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-05-17 23:11:44 -04:00
David Anderson cadd78802e Backout changeset e5d045d49b40 for bustage on an a=CLOSED TREE 2015-05-17 21:46:30 -04:00
David Anderson 502eb5d3ca Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-05-17 20:44:43 -04:00
Chris Pearce 3b0a4f8c14 Bug 1160321 - Test whether we can create H.264/AAC decoders before we report we support them. r=mattwoodrow 2015-05-08 13:36:32 +12:00
Phil Ringnalda 44aaf99825 Back out dbb002daa455 (bug 1160321) for assertion failures 2015-05-05 20:04:39 -07:00
Chris Pearce 0170b8e2ed Bug 1160321 - Test whether we can create H.264/AAC decoders before we report we support them. r=mattwoodrow 2015-05-06 11:40:45 +12:00
Andrew McCreight 9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Cameron McCormack 66534e75d7 Bug 1157150 - Add nsDOMWindowUtils.postRestyleSelfEvent method, for use in tests. r=smaug 2015-04-29 14:47:14 +10:00
Matt Woodrow fa7ac228d2 Bug 1151611 - Expose DXVA status in about:support. r=cpearce,felipe
--HG--
extra : rebase_source : e65d849641d33218d9ee2b9bb6eeafb602a6f8e6
2015-04-28 15:07:22 +12:00
Boris Zbarsky 1540774b0c Bug 1157898 part 1. Make code of the form "return rv.ErrorCode();" where rv is an ErrorResult use StealNSResult instead. r=peterv
This patch was generated with the following command:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 's/return ([a-zA-Z0-9]+)\.ErrorCode\(\);/return \1.StealNSResult();/'
2015-04-27 09:18:51 -04:00
Ehsan Akhgari c65d93b69c Bug 1156880 - Null check the prescontext in nsDOMWindowUtils::AdvanceTimeAndRefresh; r=mstange 2015-04-21 14:22:46 -04:00
Brian Birtles 4f7bf25c27 Bug 1154615 part 2 - Rename PendingPlayerTracker to PendingAnimationTracker; r=jwatt
This patch also updates the method names on PendingAnimationTracker but leaves
a number of local variables which will be fixed in a subsequent patch.

--HG--
rename : dom/animation/PendingPlayerTracker.cpp => dom/animation/PendingAnimationTracker.cpp
rename : dom/animation/PendingPlayerTracker.h => dom/animation/PendingAnimationTracker.h
2015-04-21 10:22:09 +09:00
Denis Volk 32e981896d Bug 1095098 - move do_QueryObject templates into their own header; r=froydnj 2015-04-15 12:47:03 -04:00
Botond Ballo daec5fa621 Bug 1152479 - Extract the implementations of nsIDOMWindowUtils::Send{KeyEvent,MouseEvent} into nsContentUtils. r=ehsan
--HG--
extra : source : aad21c8ed32449d467c1b145a92c5d92e42a5ea4
2015-04-15 03:08:55 -04:00
David Anderson 804fa172b7 Make test_bug946632 compatible with asynchronous scrolling. (bug 1140293, r=mstange)
--HG--
extra : rebase_source : e4f027bbcef4ccf4241fd48701935d170401404f
2015-04-15 16:28:43 -04:00
Botond Ballo 3cb90b0f6f Bug 1152479 - Assert IsCallerChrome() in some layout-related nsIDOMWindowUtils APIs. r=ehsan
--HG--
extra : rebase_source : 137e10ca1f6c01825cd352c1bd2bcff9c9bf9d1e
extra : source : 33e3ce1ae558eba912aad4487ff40d691ca4368e
2015-04-14 13:20:12 -04:00
Botond Ballo 148a784118 Bug 1152479 - Extract the implementations of layout-related nsIDOMWindowUtils APIs used by APZ into nsLayoutUtils. r=ehsan
--HG--
extra : rebase_source : 175254c3f78cd06bf72e2a25da12eff7a174f87e
extra : source : 0bf92001a2f715b5c20aefc039c30e926b9789c0
2015-04-14 13:19:10 -04:00
Kartikaya Gupta 5cf2d407fd Bug 1146349 - Make the native event synthesization functions in DOMWindowUtils async. r=smaug 2015-04-14 11:36:36 -04:00
Botond Ballo 353b27bbd9 Bug 1039818 - Extract the implementation of nsIDOMWindowUtils::GetResolution into nsLayoutUtils. r=ehsan 2015-04-10 19:33:56 -04:00
David Anderson 01d5761755 Fix tests that depend on synchronous scrolling. (bug 1140293, r=mstange,masayuki,kgilbert) 2015-04-13 00:51:43 -04:00