Commit Graph

2558 Commits

Author SHA1 Message Date
Kartikaya Gupta
9d91cdaaf1 Bug 1185747 part 3 - Rip out code to explicitly override the CSS viewport. r=tn 2015-09-01 16:47:52 -04:00
Ryan VanderMeulen
ef1be21f80 Merge m-c to inbound. a=merge 2015-08-31 15:22:43 -04:00
Ryan VanderMeulen
351e336127 Merge inbound to m-c. a=merge 2015-08-31 15:21:02 -04:00
Victor Porof
a6918158c6 Bug 1195232 - Stop using TracingMetadata from GeckoProfiler.h, r=tromey 2015-08-31 16:14:14 +02:00
Masayuki Nakano
0093d06e7f Bug 895274 part.51 Rename NS_CONTEXTMENU to eContextMenu r=smaug 2015-09-01 00:20:06 +09:00
Masayuki Nakano
e7bdac0f92 Bug 895274 part.49 Rename NS_POINTER_MOVE to ePointerMove r=smaug 2015-09-01 00:20:06 +09:00
Masayuki Nakano
914eba4a22 Bug 895274 part.48 Rename NS_POINTER_UP to ePointerUp r=smaug 2015-09-01 00:20:06 +09:00
Masayuki Nakano
ed20b51fed Bug 895274 part.47 Rename NS_POINTER_DOWN to ePointerDown r=smaug 2015-09-01 00:20:06 +09:00
Masayuki Nakano
fa700b58e6 Bug 895274 part.42 Rename NS_POINTER_CANCEL to ePointerCancel r=smaug 2015-09-01 00:20:05 +09:00
Masayuki Nakano
6e195d9286 Bug 895274 part.29 Rename NS_MOUSE_EXIT_WIDGET to eMouseExitFromWidget r=smaug 2015-08-29 08:58:31 +09:00
Masayuki Nakano
7af62446df Bug 895274 part.28 Rename NS_MOUSE_ENTER_WIDGET to eMouseEnterIntoWidget r=smaug 2015-08-29 08:58:31 +09:00
Masayuki Nakano
5efe61139d Bug 895274 part.27 Rename NS_MOUSE_BUTTON_DOWN to eMouseDown r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
00ded62efd Bug 895274 part.26 Rename NS_MOUSE_BUTTON_UP to eMouseUp r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
329427650a Bug 895274 part.25 Rename NS_MOUSE_MOVE to eMouseMove r=smaug 2015-08-29 08:58:29 +09:00
Masayuki Nakano
fdd573e954 Bug 895274 part.16 Rename NS_RESIZE to eResize r=smaug 2015-08-29 08:58:28 +09:00
Masayuki Nakano
5b6ea82246 Bug 895274 part.15 Rename NS_KEY_AFTER_UP to eAfterKeyUp r=smaug 2015-08-29 08:58:28 +09:00
Masayuki Nakano
e87167ba2e Bug 895274 part.14 Rename NS_KEY_BEFORE_UP to eBeforeKeyUp r=smaug 2015-08-29 08:58:28 +09:00
Masayuki Nakano
7056a1116a Bug 895274 part.13 Rename NS_KEY_AFTERE_DOWN to eAfterKeyDown r=smaug 2015-08-29 08:58:28 +09:00
Masayuki Nakano
169a152c93 Bug 895274 part.12 Rename NS_KEY_BEFORE_DOWN to eBeforeKeyDown r=smaug 2015-08-29 08:58:27 +09:00
Masayuki Nakano
3533e4ee27 Bug 895274 part.11 Rename NS_KEY_DOWN to eKeyDown r=smaug 2015-08-29 08:58:27 +09:00
Masayuki Nakano
f2d4e68851 Bug 895274 part.10 Rename NS_KEY_UP to eKeyUp r=smaug 2015-08-29 08:58:27 +09:00
Masayuki Nakano
fc091c723d Bug 895274 part.9 Rename NS_KEY_PRESS to eKeyPress r=smaug 2015-08-29 08:58:27 +09:00
Masayuki Nakano
374fcf2d55 Bug 895274 part.5 Rename NS_EVENT_NULL to eVoidEvent r=smaug 2015-08-29 08:58:26 +09:00
Xidorn Quan
0728d2c159 Bug 1177155 part 1 - Defer resize reflow and freeze refresh driver during window fullscreen change. r=smaug 2015-08-27 23:14:49 +10:00
Kartikaya Gupta
c72d355935 Bug 1194811 Part 1 - Recompute the zoom constraints if the available screen area changes. r=botond 2015-08-26 14:41:12 -04:00
Masayuki Nakano
d36f87a852 Bug 895274 part.3 Make the enum of event messages a named enum IGNORE IDL r=smaug 2015-08-26 21:56:59 +09:00
Brian Birtles
f5069f5115 Bug 1194037 part 4 - Remove ticking from FlushAnimations; r=dholbert
This patch makes FlushAnimations purely responsible for posting restyles. All
ticking behavior is performed in response to an actual refresh driver tick
(currently CommonAnimationManager::WillRefresh).
2015-08-31 16:21:55 +09:00
Robert O'Callahan
afc76520ea Bug 1199534. Only set TabChild canvas background for the background of root PresContexts. r=mats 2015-08-28 15:20:10 +12:00
Kartikaya Gupta
b938c9d021 Bug 1180267 - Switch Fennec over to using the MobileViewportManager for computing the CSS viewport. r=snorp 2015-08-24 13:45:45 -04:00
Masayuki Nakano
5473d2dcb9 Bug 895274 part.1 Rename WidgetEvent::message to WidgetEvent::mMessage r=smaug 2015-08-22 10:34:51 +09:00
Kartikaya Gupta
d6bfe53b6e Bug 1180295 - Rip out call to setContentDocumentFixedPositionMargins. r=rbarker 2015-08-18 14:27:18 -04:00
Brian Birtles
f47429980c Bug 1188251 part 6 - Unify FlushAnimations and FlushTransitions; r=dholbert
The implementations of FlushAnimations and FlushTransitions should now be all
but equivalent so this patch combines them into a single implementation on
CommonAnimationManager.

Regarding some of the minor differences between the two methods:

* The combined implementation drops the check for an empty list of collections
  found only in FlushTransitions. This seems like a very minor optimization
  that could possibly cause us to fail to unregister from the refresh driver
  if we forgot to do so when removing the last collection.

* The combined implementation uses the loop implementation from FlushAnimations
  since it is more compact.

This patch also removes the extra nested scope since it doesn't seem necessary.
2015-08-17 13:59:44 +09:00
Brian Birtles
f118652a48 Bug 1180125 part 7 - Queue transition events from CSSTransition::Tick; r=dbaron
This patch moves the logic for queueing events out of the logic for flushing
transitions making it a separate step. It still doesn't delay the dispatch of
those events into a separate step, however. That is done in a subsequent patch.

This patch also makes sure to clear any queued events when the nsPresShell that
owns the transition manager is destroyed. We don't expect CSSTransition::Tick to
be called anywhere except nsTransitionManger::FlushTransitions so there
shouldn't be any orphaned events but for completeness it seems best to add this
now. (Later, when we tick transitions from their timeline we will need this.)

This patch introduces a separate flag to CSSTransition for tracking if a
transition is newly-finished so we can correctly dispatch the transitionend
event. Although, this may seem to be redundant with the "IsFinishedTransition"
we also track, that state will soon be removed in bug 1181392 and hence this
flag will be needed then.

Note that Animation already has flags mIsPreviousStateFinished and
mFinishedAtLastComposeStyle which would appear to be similar however,

- mIsPreviousStateFinished will be removed in bug 1178665 and is updated more
  often than we queue events so it is not useful here.
- mFinishedAtLastComposeStyle is used to determine if we can throttle a style
  update and is also updated more frequently than we queue events and hence
  can't be used here.

Once we guarantee one call to Tick() per frame we may be able to simplify this
by tracking "state on last tick" but for now we need this additional flag on
CSSTransition. CSSAnimation has a similar flag for this
(mPreviousPhaseOrIteration) which we may be able to unify at the same point.
2015-07-29 10:57:40 +09:00
Brian Birtles
94c7d4f13c Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Nicholas Nethercote
62022ea522 Bug 1189156 (part 2) - Don't use enumeration style for nsTHashtable::SizeOf{In,Ex}cludingThis(). r=erahm.
After this change, we have ShallowSizeOf{In,Ex}cludingThis(), which don't do
anything to measure children. (They can be combined with iteration to measure
children.)

And we still have the existing single-arg SizeOf{In,Ex}cluding() functions,
which work if the entry type itself defines SizeOfExcludingThis().
2015-07-29 01:50:52 -07:00
Robert O'Callahan
f7fdb828f0 Bug 1184842. Route aOldValue/aNewValue to AttributeData. r=heycam 2015-07-22 15:54:07 +12:00
Robert O'Callahan
7d17ed419a Bug 1184842. Add aNewValue to nsIMutationObserver::AttributeWillChange. r=peterv 2015-07-25 18:05:19 +12:00
Robert O'Callahan
5bde6d4aaa Bug 1184842. Pass aOldValue to all mutation observers. r=peterv 2015-07-25 18:01:19 +12:00
Carsten "Tomcat" Book
e088d1a6e6 Backed out changeset 79bcd4f744c0 (bug 1180125) 2015-07-29 17:32:24 +02:00
Carsten "Tomcat" Book
ac065c36c4 Backed out changeset ad38421023a9 (bug 1180125) 2015-07-29 17:31:59 +02:00
Brian Birtles
f2c776fcb8 Bug 1180125 part 7 - Queue transition events from CSSTransition::Tick; r=dbaron
This patch moves the logic for queueing events out of the logic for flushing
transitions making it a separate step. It still doesn't delay the dispatch of
those events into a separate step, however. That is done in a subsequent patch.

This patch also makes sure to clear any queued events when the nsPresShell that
owns the transition manager is destroyed. We don't expect CSSTransition::Tick to
be called anywhere except nsTransitionManger::FlushTransitions so there
shouldn't be any orphaned events but for completeness it seems best to add this
now. (Later, when we tick transitions from their timeline we will need this.)

This patch introduces a separate flag to CSSTransition for tracking if a
transition is newly-finished so we can correctly dispatch the transitionend
event. Although, this may seem to be redundant with the "IsFinishedTransition"
we also track, that state will soon be removed in bug 1181392 and hence this
flag will be needed then.

Note that Animation already has flags mIsPreviousStateFinished and
mFinishedAtLastComposeStyle which would appear to be similar however,

- mIsPreviousStateFinished will be removed in bug 1178665 and is updated more
  often than we queue events so it is not useful here.
- mFinishedAtLastComposeStyle is used to determine if we can throttle a style
  update and is also updated more frequently than we queue events and hence
  can't be used here.

Once we guarantee one call to Tick() per frame we may be able to simplify this
by tracking "state on last tick" but for now we need this additional flag on
CSSTransition. CSSAnimation has a similar flag for this
(mPreviousPhaseOrIteration) which we may be able to unify at the same point.
2015-07-29 10:57:40 +09:00
Brian Birtles
52884f9d33 Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Kartikaya Gupta
fcfdd7e5e9 Bug 1187792 - Don't set the SPCSPS unless meta-viewport or zooming is enabled. r=botond 2015-07-27 22:09:37 -04:00
Carsten "Tomcat" Book
2842531c0d merge mozilla-inbound to mozilla-central a=merge 2015-07-24 12:54:13 +02:00
Kartikaya Gupta
23f4538421 Bug 1178354 - Ensure we fire a before-first-paint event for printing as well. r=tn 2015-07-23 17:53:32 -04:00
Neil Deakin
0a7d9b19cd Bug 1183623, redirect keyup events to keydown target when focus shifts from chrome to content in-between, r=smaug 2015-07-23 10:04:19 -04:00
Kartikaya Gupta
f0368036ee Bug 1178847 - Don't use the MobileViewportManager code on Mulet or Fennec yet. r=botond 2015-07-21 10:52:11 -04:00
Kartikaya Gupta
064fc767ff Bug 1178847 - Add a MobileViewportManager to manage setting the CSS viewport on B2G. r=botond,tn
The MobileViewportManager ("MVM") is responsible for setting the CSS viewport on
any of the following events:
- a page is painted for the first time (on the before-first-paint event)
- a meta-viewport tag is added (on the DOMMetaAdded event)
- the full-zoom is changed (on the FullZoomChanged event)
- if the window is resized (ResizeReflow gets called as part of normal layout
  processing, and this will pick up a new CSS viewport from MVM)

If the CSS viewport changes or if it is the initial paint, the MVM additionally
calls SetResolutionAndScaleTo on the presShell to update the displayed zoom.
The APZ code in AsyncPanZoomController::NotifyLayersUpdated already has
corresponding code to accept this updated zoom when the CSS viewport changes.
2015-07-21 10:51:55 -04:00
Carsten "Tomcat" Book
8ee59042e8 Backed out changeset 313ea7f814d3 (bug 1178847) 2015-07-21 08:34:57 +02:00
Carsten "Tomcat" Book
31d9adb3e4 Backed out changeset 8ff54001c29a (bug 1178847) 2015-07-21 08:34:51 +02:00