Commit Graph

277544 Commits

Author SHA1 Message Date
Jim Chen
c56eece49a Bug 1229403 - Use existing states if possible when initializing GeckoView; r=snorp
This patch changes onAttachedToWindow in GeckoView, so that if we have
states that have been restored, we use those states for initialization
instead of creating new states (e.g. opening a new nsWindow). Because
the GLController instance is associated with the nsWindow instance, we
need to keep the GLController instance as part of our saved states. This
patch also adds a reattach method to GeckoView.Window, because
GeckoEditable needs to be notified when its target View changes.
2015-12-23 22:03:35 -05:00
Jim Chen
77def6fcae Bug 1229403 - Implement save and restoring GeckoView states; r=snorp
This patch adds an implementation of onSaveInstanceState and
onRestoreInstanceState to GeckoView, so that when GeckoView is destroyed
and later recreated, we would properly save and restore necessary states
and JNI associations. The patch also fixes onDetachedFromWindow, so that
we keep the nsWindow if we saved states, and close the nsWindow if we
did not save states.
2015-12-23 22:03:35 -05:00
Jim Chen
5551279100 Bug 1229403 - Add GeckoView.StateBinder to keep states across GeckoView instances; r=snorp
As GeckoViews get destroyed and recreated, we want to carry its states
across. In particular, we want to keep a reference to our GLController
instance, and keep the association with the native nsWindow instance.
2015-12-23 22:03:35 -05:00
Jim Chen
50d4f93a61 Bug 1232456 - Renew EGL surface using existing compositor widget; r=snorp
GLContextEGL needs a widget in order to recreate its surface. This patch
adds a widget parameter to RenewSurface so that the compositor can pass
in its widget.
2015-12-23 22:03:35 -05:00
Jim Chen
eefbe86eb5 Bug 1232456 - Create EGL surface through widget; r=snorp
This patch makes GLContextProviderEGL create EGL surfaces through
nsWindow/nsIWidget on Android. nsWindow then calls GLController in Java
to actually create the surface.
2015-12-23 22:03:34 -05:00
Jim Chen
b605aa550c Bug 1227706 - Remove unused GLController calls and events; r=snorp
Remove GLController calls and events in GeckoAppShell and GeckoEvent
that were made obsolete by the new native calls.
2015-12-23 22:03:34 -05:00
Jim Chen
5a099c186a Bug 1227706 - Get rid of compositor singletons in nsWindow; r=snorp
Now that we properly support individual compositors for nsWindows, we
should get rid of the static singletons that held the compositor
objects.
2015-12-23 22:03:34 -05:00
Jim Chen
0ab8e63862 Bug 1227706 - Implement nsWindow::GLControllerSupport; r=snorp
This patch adds native method implementations in GLControllerSupport to
manage compositor creation/pause/resume.
2015-12-23 22:03:34 -05:00
Jim Chen
b2961d2eee Bug 1227706 - Let GeckoView manage GLController instances; r=snorp
GLController instances are associated with a particular nsWindow, rather
than a particular View. Therefore, we need to let GeckoView manage
GLController instances, as part of GeckoView's handling of saving and
restoring states.
2015-12-23 22:03:34 -05:00
Jim Chen
93813233b3 Bug 1227706 - Add native methods to GLController; r=snorp
One nsWindow will have one corresponding GLController, and using native
GLController methods instead of GeckoEvents lets us control the
compositor for each nsWindow separately.
2015-12-23 22:03:34 -05:00
Jim Chen
6125552fa3 Bug 1227706 - Rename nsWindow::Natives to nsWindow::GeckoViewSupport; r=snorp
GeckoViewSupport better reflects the purpose of the class and will match
the GLControllerSupport class that another patch is adding. This patch
also changes the way GeckoViewSupport is constructed in order to be more
encapsulating.
2015-12-23 22:03:34 -05:00
Jim Chen
9d27e8e5f3 Bug 1227706 - Make EGL initialization static; r=snorp
GLController will no longer be a singleton, but we should keep
initializing EGL only once, so this patch makes EGL initialization
static.
2015-12-23 22:03:34 -05:00
Jim Chen
56c1df6cc9 Bug 1227731 - Add ability to redirect proxied native calls; r=snorp
This patch adds a way to set the target of a proxied native call, so the
call goes to another C++ function / class member than the original
target.
2015-12-23 22:03:34 -05:00
Jim Chen
7a5e86a517 Bug 1227728 - Properly order queued native calls; r=snorp
Right now, code that queues native calls through GeckoThread can
encounter a race condition, after the GeckoThread state changes but
before we flush the existing queued calls.  In that case, the new call
will be made before existing queued calls are made, and the order of
calls is disrupted. This patch moves flushing existing calls to before
the state changes, to avoid this race condition.
2015-12-23 22:03:33 -05:00
Jim Chen
0e9632f778 Bug 1227727 - Remove geckoConnected method in LayerView; r=snorp
Right now LayerView depends on geckoConnected being called by GeckoApp
or GeckoView during its initialization. However, we can get rid of it
and let LayerView handle the task itself. As part of this change, screen
depth overriding is moved to native code in nsAppShell.
2015-12-23 22:03:33 -05:00
Jim Chen
de113cbe1e Bug 1227727 - Destroy LayerView in GeckoView; r=snorp
Right now, we destroy LayerView as part of GeckoApp, but we should do it
from inside GeckoView.
2015-12-23 22:03:33 -05:00
Jim Chen
c3cf1e06c6 Bug 1227719 - Autogenerate LayerRenderer.Frame; r=snorp
This patch adds auto-generated bindings for LayerRenderer.Frame, and
uses the new bindings in nsWindow, in place of the old manual bindings
in AndroidJavaWrappers.
2015-12-23 22:03:33 -05:00
Jean-Yves Avenard
1c8060a29f Bug 1234553: Always request 16 bits audio for libavcodec 53. r=kentuckyfriedtakahe
LibAV 0.8 produces rubbish floating point data. We had restricted LibAV 0.8 to produce 16 bits audio instead, unfortunately some ubuntu version appears to have bumped the minor version.
2015-12-24 13:53:37 +11:00
Ting-Yu Lin
7f022adf14 Bug 1234744 - Fix build errors in ImageBitmap.h. r=roc 2015-12-23 11:49:19 +08:00
JW Wang
73bf989d05 Bug 1233630 - Remove MediaDecoderStateMachine::AudioDecodedUsecs. r=kikuo. 2015-12-24 10:00:47 +08:00
Jason Duell
4dc7d8ea07 Bug 1203430 - Intermittent crash in PNeckoChild::SendHTMLDNSPrefetch. r=jdm 2015-12-23 20:00:54 -05:00
Patrick McManus
000d13007f Bug 1234591 - Use channel.asyncOpen2 within netwerk/test/unit/test_http2.js r=ckerschb 2015-12-23 17:46:31 -05:00
Patrick McManus
475de50576 Bug 1234366 - Convert netwerk/test/unit/test_spdy.js to use asyncOpen2 r=ckerschb 2015-12-23 17:36:33 -05:00
Daniel Holbert
7a32a0183c Bug 1234707: Make nsDOMCSSValueList::AppendCSSValue() take an already_AddRefed arg (instead of a raw pointer, usually with refcount of 0). r=heycam 2015-12-23 16:25:43 -08:00
Ben Kelly
9aa387fc77 Bug 1231798 Mass disable custom-elements wpt tests since they are not actually testing anything currently. r=jgraham 2015-12-23 15:46:56 -08:00
Jean-Yves Avenard
4eafe43111 Bug 1234778: Mark all audio frames as keyframes. r=kentuckyfriedtakahe 2015-12-24 09:05:50 +11:00
Chris Manchester
db4828f5ae Bug 1229598 - Add a mode to browser-chrome tests to summarize per-test code coverage. r=ahal 2015-12-23 14:04:49 -08:00
Eitan Isaacson
054103b495 Bug 1211974 - Implement nsIObserver in SpeechDispatcherService. r=smaug 2015-12-23 13:44:11 -08:00
Aaron Klotz
10379467c2 Bug 1233237: Backout a882a8c92a28 for causing winsock connectivity problems; r=backout 2015-12-23 14:35:42 -07:00
Sylvestre Ledru
f96b94c13f Bug 1047395 - Add a link to the release notes from the about page, fix the alignment r=florian 2015-12-23 22:07:50 +01:00
Sylvestre Ledru
59e4307257 Bug 1047395 - Add a link to the release notes from the about page r=florian 2015-12-23 20:38:31 +01:00
Andrew McCreight
fa1d89b476 Backed out changeset 18eec0849a1f (Bug 1195295) for leaking.
This changeset is causing shutdown leaks (bug 1234697 and bug 1220517).
2015-12-23 15:59:15 -05:00
Jakob Stoklund Olesen
d3ff3a2ea0 Bug 1233111 - Implement saturating arithmetic for SIMD. r=bbouvier
The functions addSaturate() and subSaturate() are defined on the 8x16 and 16x8
integer SIMD types only.

Theee are no 32x4 variants defined in SIMD.js because current hardware doesn't
support it directly.
2015-12-23 09:52:39 -08:00
Jakob Stoklund Olesen
ed33a3b37b Bug 1233111 - Implement SIMD shiftRightByScalar(). r=bbouvier
This is the right shift function that the SIMD.js spec requires. The old
shiftRightArithmeticByScalar() and shiftRightLogicalByScalar() functions will go
away.

These functions perform an arithmetic shift for signed types and a logical
shift for unsigned types.

Add support to Odin and Ion too, at least for the Int32x4 variant.
2015-12-23 09:52:39 -08:00
Jakob Stoklund Olesen
d99d3563c1 Bug 1233111 - Add ecma_7 shift tests. r=bbouvier
Fix a bug in ShiftRightArithmetic when the underlying Elem type is unsigned.
Need to cast to a signed type to so it sign-extends to int when shifting.

Implement both logical and arithmetic right shift implementations for both
signed and unsigned integers. This is needed to test our current implementation
where both signed and unsigned SIMD types have the two
shiftRightArithmeticByScalar() and shiftRightLogicalByScalar() functions.

Soon, shiftRightArithmeticByScalar() and shiftRightLogicalByScalar() will be
replaced by a single shiftRightByScalar() function whose behavior is dependent
on the signedness of the underlying type.
2015-12-23 09:52:39 -08:00
Jakob Stoklund Olesen
1fda63e7d1 Bug 1233111 - Add unsigned SIMD types to interpreter. r=bbouvier
- Add new types UInt8x16, UInt16x8, UInt32x4 with all the boilerplate.
- Add corresponding conversion and bitcast functions to existing types.
- Add tests/ecma_7/SIMD tests for all new functions. Mostly boilerplate.
- Add full type coverage in ToSource.js. Fix existing SIMD types that were
  broken.
- Use shared test vectors for all the 32x4 integer binary-op test cases.
- Fix a bug in the 32-bit multiplication reference implementation for Int32x4
  and Uint32x4. A simple 'a*b' double multiplication loses precision to rounding
  for some inputs.
2015-12-23 09:52:39 -08:00
Jakob Stoklund Olesen
30cfc54e07 Bug 1233111 - Share method lists for SIMD types. r=bbouvier
The lists TypeDescriptorMethods and TypedObjectMethods are identical for all
SIMD types, so save a bit of memory and source code by sharing a single list.
2015-12-23 09:52:39 -08:00
Jakob Stoklund Olesen
b77cc88db9 Bug 1233111 - Remove geometry altering SIMD conversions. r=bbouvier
In the current SIMD.js spec, value conversions are only defined between types
with the same number of lanes:

  Float32x4.fromInt32x4()
  Float32x4.fromUInt32x4()
  Int32x4.fromFloat32x4()
  UInt32x4.fromFloat32x4()

Remove existing conversion operators between vectors with different numbers of
lanes:

  Int32x4.fromFloat64x2()
  Float32x4.fromFloat64x2()
  Float64x2.fromInt32x4()
  Float64x2.fromFloat32x4()

Add a static assertion to FuncConvert.
2015-12-23 09:52:39 -08:00
Jakob Stoklund Olesen
db6e999d8e Bug 1233111 - Add a new ToUint8() function. r=efaust
This is needed for casting values into a SIMD.Uint8x16 lane.
2015-12-23 09:52:39 -08:00
Bill McCloskey
8858393657 Bug 1205886 - [webext] Allow content scripts to do cross-origin XHRs if they have permission (r=kmag) 2015-12-23 12:29:39 -08:00
Bill McCloskey
15bd09e07c Bug 1229552 - [webext] Add test for unregistration (r=kmag) 2015-12-23 12:29:39 -08:00
Bill McCloskey
35e683d169 Bug 1228044 - [webext] Filter messages between extensions (r=kmag) 2015-12-23 12:29:39 -08:00
Bill McCloskey
0c323643c3 Bug 1223240 - Make it easier to set up top-level protocols (r=jld) 2015-12-23 12:29:39 -08:00
Bill McCloskey
3491a2b341 Bug 1213680 - Stop using picker by default when opening inspector (r=pbrosset) 2015-12-23 12:29:39 -08:00
Bill McCloskey
891da3e903 Bug 1224105 - [webext] Use <browser> element for background page (r=kmag) 2015-12-23 12:29:39 -08:00
Bill McCloskey
c7ddf94e43 Bug 1224105 - Allow windowless chrome docshells containing content docshells (r=smaug) 2015-12-23 12:29:39 -08:00
Bill McCloskey
b96ec93fdd Bug 1211401 - Use global message manager as parent of <iframe mozbrowser> MM (r=smaug,ahal) 2015-12-23 12:29:39 -08:00
Ben Kelly
1b318ce917 Bug 1220681 P6 Use clients.claim() in browser_download.js to avoid worker unregister race. r=jdm 2015-12-23 12:20:53 -08:00
Ben Kelly
18582bdb34 Bug 1220681 P5 Don't double suspend parent channel during synthesized divert to parent. r=jdm 2015-12-23 12:20:53 -08:00
Ben Kelly
31d9e6df91 Bug 1220681 P4 Automatically suspend the parent channel after synthesizing the response for diverison. r=jdm 2015-12-23 12:20:53 -08:00