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

2032 Коммитов

Автор SHA1 Сообщение Дата
Wes Kocher 382a7d90d6 Merge inbound to central, a=merge
MozReview-Commit-ID: CvJ9hmTQBcR
2017-10-02 16:22:37 -07:00
Eugen Sawin f2591d27c0 Bug 1316934 - [3.1] Add JNI for AudioManager properties. r=snorp 2017-10-02 17:56:17 +02:00
Louis Chang 2c23f067ff Bug 1400050 Part 1 - Clamp the width/height of checkbox/radio to the smaller one and then center it on Android. r=mats
MozReview-Commit-ID: HoXxXgDQoHJ

--HG--
extra : rebase_source : 5aecc45a8647c994956af2a401416a5dbaadb24f
2017-10-02 16:04:24 +08:00
Louis Chang b9a5a704b2 Bug 1399723 - Draw a grey background color when event state is active instead of hover. r=mats
MozReview-Commit-ID: CSX6xn1qy19

--HG--
extra : rebase_source : 0f173178586674379b365867fbe626495ff869df
2017-09-21 10:15:15 +08:00
James Willcox 216f3c6511 Bug 1400878 - Don't show keyboard on Android unless the user caused it r=jchen
MozReview-Commit-ID: KURh08X4Q4U
2017-09-20 14:48:00 -05:00
Louis Chang 0228a3c058 Bug 1399776 - Draw a default background-color: white for checkbox/radio on Android. r=mats
MozReview-Commit-ID: HXUjbHtxLDj

--HG--
extra : rebase_source : 135659570f2d2bc25ed83e196a38936a64ab7394
2017-09-18 15:35:40 +08:00
Randall Barker 0cc6f26617 Bug 1392705 - part 3: Call nsBaseWidget::DestroyLayerManager() in nsWindow::Destroy to ensure IPC is not shutdown in the destructor for Android r=jchen
Due to the indeterminate nature of Gecko shutdown, the ref count of the
nsWindow on Android would sometimes go to zero before the XPCOM shutdown
observer was called in nsBaseWindow which is where the compositor thread
IPC is shutdown. If nsBaseWindow::Shutdown does not get called, then the
compositor thread IPC is shutdown in the nsBaseWindow destructor.
Unfortunately while the nsWindow is being deleted, it can be accessed in
the compositor thread and cause a crash in
LayerManagerComposite::RenderToPresentationSurface.
Calling nsBaseWidget::DestroyLayerManager() in nsWindow::Destroy()
ensures it gets called before the destructor gets invoked typically in
the Destroy() call.

MozReview-Commit-ID: KCv8SCmEjnb

--HG--
extra : rebase_source : f48fe01b15ff7e2e8763628dd22a2c926d051e9d
2017-09-05 13:00:06 -07:00
Nathan Froyd 5519cd83cc Bug 1396850 - explicitly declare static members of templates prior to use; r=darchons
Doing this avoids -Wundefined-var-template warnings with clang.  This
warning is mostly harmless (clang is trying to tell you a linker error
might be awaiting you later), but being careful with this might make
using C++ modules easier somewhere down the line.
2017-09-06 13:24:04 -04:00
Nathan Froyd 64db05d9c1 Bug 1396867 - silence -Wunused-typedef warnings in GeckoEditableSupport; r=darchons
clang seems to think that `Base` is unused despite its obvious uses
inside this class.  We can deal with the `Base::` qualifications for
name lookup by using `this->` instead, and the other uses of `Base::`
can simply use the explicit name of the superclass.
2017-09-06 08:57:08 -04:00
Nathan Froyd d2d38f357c Bug 1396863 - eliminate -Wignored-qualifiers warning in EventDispatcher; r=darchons
clang complains about the unnecessary `const` here, which we can remove.
2017-09-06 08:57:08 -04:00
Louis Chang a63b8f6139 Bug 1352238 Part 4 - Implement PaintCheckBox/RadioControl and modify the original painting functions. r=mats
MozReview-Commit-ID: Jk6MS5wFA2g

--HG--
extra : rebase_source : 09ff29fddf9297550455af0c6f451c8d12ee0c09
2017-09-05 22:44:57 +08:00
Louis Chang 4ee1a817c5 Bug 1352238 Part 3 - Implement a fake native theme for checkbox/radio form controls on Android. r=mats,snorp
MozReview-Commit-ID: 5g6VJzfZv4Z

--HG--
extra : rebase_source : 7e1d46097b03c95fea0db85a686bc6ea1f6d9ec2
2017-09-05 22:44:42 +08:00
Jim Chen 2ec8c3aaff Bug 1378410 - 3. Update generated bindings; r=jchen
MozReview-Commit-ID: fKCoCqFmZk

--HG--
extra : rebase_source : a619627530b5216e591682f18f887ae2797cfeb7
2017-09-01 14:02:44 -04:00
James Willcox c9abfc59d6 Bug 1126479 - Correctly set widget size mode on Android r=jchen
MozReview-Commit-ID: AfNWDsyQC95
2017-08-22 09:08:41 -05:00
Bill McCloskey 9edd615af7 Bug 1382922 - Refactor event queue to allow multiple implementations (r=erahm)
This patch refactors the nsThread event queue to clean it up and to make it easier to restructure. The fundamental concepts are as follows:

Each nsThread will have a pointer to a refcounted SynchronizedEventQueue. A SynchronizedEQ takes care of doing the locking and condition variable work when posting and popping events. For the actual storage of events, it delegates to an AbstractEventQueue data structure. It keeps a UniquePtr to the AbstractEventQueue that it uses for storage.

Both SynchronizedEQ and AbstractEventQueue are abstract classes. There is only one concrete implementation of SynchronizedEQ in this patch, which is called ThreadEventQueue. ThreadEventQueue uses locks and condition variables to post and pop events the same way nsThread does. It also encapsulates the functionality that DOM workers need to implement their special event loops (PushEventQueue and PopEventQueue). In later Quantum DOM work, I plan to have another SynchronizedEQ implementation for the main thread, called SchedulerEventQueue. It will have special code for the cooperatively scheduling threads in Quantum DOM.

There are two concrete implementations of AbstractEventQueue in this patch: EventQueue and PrioritizedEventQueue. EventQueue replaces the old nsEventQueue. The other AbstractEventQueue implementation is PrioritizedEventQueue, which uses multiple queues for different event priorities.

The final major piece here is ThreadEventTarget, which splits some of the code for posting events out of nsThread. Eventually, my plan is for multiple cooperatively scheduled nsThreads to be able to share a ThreadEventTarget. In this patch, though, each nsThread has its own ThreadEventTarget. The class's purpose is just to collect some related code together.

One final note: I tried to avoid virtual dispatch overhead as much as possible. Calls to SynchronizedEQ methods do use virtual dispatch, since I plan to use different implementations for different threads with Quantum DOM. But all the calls to EventQueue methods should be non-virtual. Although the methods are declared virtual, all the classes used are final and the concrete classes involved should all be known through templatization.

MozReview-Commit-ID: 9Evtr9oIJvx
2017-08-16 20:55:43 -07:00
Sebastian Hengst b1e6b1efff Backed out changeset 6798fd30a785 (bug 1126479) 2017-08-15 18:30:03 +02:00
James Willcox 7087cb7ef4 Bug 1126479 - Correctly set widget size mode on Android r=jchen
MozReview-Commit-ID: AfNWDsyQC95
2017-08-15 09:29:57 -05:00
Jim Chen 0977b07333 Bug 1382335 - 5. Check for shutdown in LayerViewSupport::OnResumedEvent; r=esawin
It wasn't enough to just check for `mWindow` in `OnResumedCompositor()`,
because the `LayerViewSupport` instance itself could have been released.
This patch now checks for both cases.

MozReview-Commit-ID: hSnFUhtp8m
2017-08-14 12:59:19 -04:00
Eugen Sawin 4c19212863 Bug 1386240 - [2.0] Fix JNI wrappers. r=me 2017-08-08 19:20:44 +02:00
Eugen Sawin 14c89f86b5 Bug 1386240 - [1.3] Check success status when enabling or disabling geolocation events. r=jchen 2017-08-08 18:15:54 +02:00
Nicholas Nethercote 1a6f1a62fa Bug 1387381 - Remove nsXPIDLString local variables. r=erahm.
nsXPIDLStrings are marked as VOIDED upon initialization. Most of these local
nsXPIDLString variables are immediately set via getter_Copies(), which will
either assign a string value (using Adopt()) or do SetIsVoid(). These can be
trivially converted to nsString, which will get the same treatment.

The patch suitably converts the remaining nsXPIDLString local variable as well.

--HG--
extra : rebase_source : 5fff9f2c6844559198f601853f8db08564add7d5
2017-08-08 16:07:55 +10:00
Manish Goregaokar b74c4d0f69 Bug 1386915 - Add nsLookAndFeel::NativeInit() virtual call for initializing native-side state; r=jfkthame
MozReview-Commit-ID: 8XKSC1AOI0N
2017-08-06 15:41:08 -07:00
Jan Henning 641e43da0b Bug 1266683 - Part 3 - Update notifyIMEContext JNI bindings to include private mode info. r=jchen
MozReview-Commit-ID: Gl2iRWxo9lE

--HG--
extra : rebase_source : 4b0aad157af22dcb96aeb68b199bfa9404902dea
2017-07-31 22:45:54 +02:00
Jim Chen b70b6eb453 Bug 1382335 - 4. Check for shutdown in more LayerViewSupport functions; r=esawin
Check for shutdown so we don't crash on accessing a null window pointer.

MozReview-Commit-ID: FRky4dcuhrw
2017-08-04 13:21:06 -04:00
Jim Chen e16afc583e Bug 1384828 - Use tid for UI thread detection; r=esawin
Use the UI thread's tid for checking if we're on the UI thread in Gecko.
This lets us get rid of `GeckoThread.registerUiThread`, in order to
avoid a race where we check for UI thread before `registerUiThread` is
called.

MozReview-Commit-ID: 11gAWgx4UZo
2017-08-03 13:06:16 -04:00
James Willcox d0bb12024d Bug 1381916 - Remove support for plugins on Android r=jchen,bsmedberg
MozReview-Commit-ID: AcAIC1QQew2
2017-07-31 12:25:16 -05:00
James Willcox 25dad4abf2 Bug 1381916 - Remove frontend support for plugins in Fennec r=nechen
MozReview-Commit-ID: Gkqe8Y5AMPV
2017-07-31 12:25:16 -05:00
Jim Chen 97a5cae544 Bug 1382335 - 3. Use XPCOM queue for disposing compositor native objects; r=esawin
There's some racing going on between compositor methods that use the
XPCOM queue and the disposeNative method that uses the priority queue.
Move everything to the XPCOM queue to fix this condition.

MozReview-Commit-ID: BUxotrpBVsW
2017-07-31 12:30:32 -04:00
Jim Chen b9eff08b91 Bug 1382335 - 2. Revert workaround from bug 1372777; r=esawin
Introduce the crash again to get more crash reports for analysis.

MozReview-Commit-ID: DYq95o5RpzB
2017-07-31 12:30:13 -04:00
Jim Chen 54718c4c49 Bug 1382335 - 1. Record the type of null native pointers; r=esawin
Right now we throw NullPointerException with the message "Null native
pointer", but we can save the type of the native pointer in the message
to make it easier to categorize and analyze crashes. This patch uses the
__func__ feature to get the name of a particular template parameter
type.

MozReview-Commit-ID: GNWzIy91OD6
2017-07-31 12:30:13 -04:00
Nicholas Nethercote 72c884bf74 Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
--HG--
extra : rebase_source : d317b25be2ec21d1a60d25da3689e46cdce0b649
2017-07-31 14:28:48 +10:00
Nicholas Nethercote d4f9aa5530 Bug 1384835 (part 2, attempt 2) - Remove the Preferences::Get*String() variants that return nsAdoptingString. r=froydnj.
--HG--
extra : rebase_source : 6c24fbacb03d4adebe5f22b5e7fc60b069913f20
2017-07-31 14:23:50 +10:00
Bill McCloskey c6c1f4bbc9 Bug 1385413 - Remove thread parameter from onDispatchedEvent (r=erahm)
This parameter isn't used by any implementation of onDispatchedEvent,
and keeping the parameter makes later refactorings in this bug more difficult.

MozReview-Commit-ID: 90VY2vYtwCW
2017-07-28 13:09:06 -07:00
Sebastian Hengst 1d708511f0 Backed out changeset 5df4d8778602 (bug 1384835) 2017-07-28 10:29:29 +02:00
Sebastian Hengst 744a0a216b Backed out changeset ef5feef07bed (bug 1384835) 2017-07-28 10:29:24 +02:00
Nicholas Nethercote 200d8ec18b Bug 1384835 (part 3) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
This is similar like the previous patch, but for the 8-bit string variants.
Also, it changes assignment to Adopt() in GetCString() and GetDefaultCString()
to avoid an extra copy.

--HG--
extra : rebase_source : eba805c3a7b809d5ccd6e853b1c9010db9477667
2017-07-27 16:45:10 +10:00
Nicholas Nethercote 0574a6b496 Bug 1384835 (part 2) - Remove the Preferences::Get*String() variants that return nsAdoptingString. r=froydnj.
Because we want to remove nsAdoptingString. We have other variants that don't
use nsAdoptingString, which can be used instead. There are three basic
patterns.

1. The easiest case is when we don't check for success.

> nsAdoptingString s = Preferences::GetString("foo");
> foo(s);

becomes:

> nsAutoString s;
> Preferences::GetString("foo", s);
> foo(s);

2. The next case is when we check if the result is empty.

> nsAdoptingString s = Preferences::GetString("foo");
> if (s.IsEmpty()) { ... }

becomes:

> nsAutoString s;
> Preferences::GetString("foo", s);
> if (s.IsEmpty()) { ... }

3. The final case is when we null check the result.

> nsAdoptingString s = Preferences::GetString("foo");
> if (s) { ... }

becomes:

> nsAutoString s;
> nsresult rv = Preferences::GetString("foo", s);
> if (NS_SUCCEEDED(rv)) { ... }

The patch also avoids some UTF8/UTF16 conversions in a few places.

--HG--
extra : rebase_source : f339b1a3dda4dc93979d38c30c001fbe77485b55
2017-07-25 20:36:14 +10:00
Wes Kocher 1c6b33b69a Merge m-c to inbound, a=merge
MozReview-Commit-ID: AwACQvl2e5g

--HG--
extra : rebase_source : e70812f9a96acf1d0747cb7ea57afa1e2152283b
2017-07-25 19:09:39 -07:00
James Cheng 4843d195fb Bug 1382151 - Pause Exoplayer when mediaelement is paused. r=kikuo
MozReview-Commit-ID: 5MDBBP5vfpa

--HG--
extra : rebase_source : 9981585791cd359296ac7fef0fe0d7e900af6c61
2017-07-20 17:47:54 +08:00
Jim Chen ba6dd4ceb0 Bug 1382861 - 2. Don't use priority queue for GeckoView.Window and ThumbnailHelper; r=esawin
Use the regular XPCOM queue for those tasks because the priority queue
should only be used for input and other timing-sensitive tasks.

MozReview-Commit-ID: 5px0s0PJYrV
2017-07-25 17:26:14 -04:00
Jim Chen 454e868137 Bug 1382861 - 1. Replace jni::AbstractCall with nsIRunnable; r=esawin
The native binding code used `jni::AbstractCall` as the interface
between `ProxyNativeCall` and `DispatchToGeckoPriorityQueue`. However,
we already make use of `nsIRunnable` for dispatching to the XPCOM queue,
so we should just use `nsIRunnable` for the priority queue as well.

MozReview-Commit-ID: KmuNMZZkXX3
2017-07-25 17:25:58 -04:00
Jim Chen 84b7350f94 Bug 1351170 - Don't crash on selection exception in Beta; r=me
Don't crash when we encounter a selection exception when in Beta. Still
crash when in Nightly so we can investigate the source of the crash.
r=me for trivial patch.

MozReview-Commit-ID: HgmudX4VfWO
2017-07-25 15:32:53 -04:00
James Cheng 950fc2b63c Bug 1379866 - Implement MediaResource Suspend and Resume in HLSResource. r=jolin
1. Pause the Exoplayer when navigating to another page and resume playback when navigating back.

2. Fix the OOM issue.

MozReview-Commit-ID: 5UGmBzpObsb

--HG--
extra : rebase_source : f8f268612687669e1b31881465600b02b3531c55
2017-07-14 01:29:00 +08:00
Kartikaya Gupta b95ebf372e Bug 1379252 - Remove unused argument. r=rbarker
MozReview-Commit-ID: 7G8i0G9LyvZ

--HG--
extra : rebase_source : 229e4ef955e50b5a473c24522e3e499fdf658519
2017-07-07 14:56:10 -04:00
Kartikaya Gupta b76136b43b Bug 1379252 - Remove a bunch of unused fields from ImmutableViewportMetrics. r=rbarker
Also propagate the removal outwards to remove other unused functions.

MozReview-Commit-ID: 9aqcbBA0Mf1

--HG--
extra : rebase_source : 9ce961ee0129f81e5c8d8a8df1a27ee6ff8012c7
2017-07-07 14:56:07 -04:00
Eugen Sawin ffad978150 Bug 1368701 - [1.2] Add shutdown intent action to shutdown Fennec. r=snorp,bc 2017-07-06 19:20:43 +02:00
Wes Kocher bfc45b98b9 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 9XdoB5MuVz6
2017-07-05 17:17:41 -07:00
Christoph Kerschbaumer 8bd02d75b7 Bug 1364016 - Explicitly pass a triggeringPrincipal to openURI on android. r=snorp 2017-07-05 21:58:41 +02:00
Kartikaya Gupta cad9534e69 Bug 1377090 - Turn gfxMatrix into a typedef for MatrixDouble. r=jrmuizel
Most of this patch is updating a few places that use gfxMatrix to use
the equivalent-but-differently-named functions on MatrixDouble:
- Translate/Rotate/Scale get turned into PreTranslate/PreRotate/PreScale
- Transform(Point) gets turned into TransformPoint(Point)
- gfxMatrix::TransformBounds(gfxRect) gets turned into
  gfxRect::TransformBoundsBy(gfxMatrix).
- gfxMatrix::Transform(gfxRect) gets turned into
  gfxRect::TransformBy(gfxMatrix).
The last two functions are added in this patch as convenience wrappers
to gfxRect instead of Matrix.h because we don't want Matrix.h to "know"
about gfxRect (to avoid adding gecko dependencies on Moz2D). Once we
turn gfxRect into a typedef for RectDouble these will be eliminated
anyway.

MozReview-Commit-ID: BnOjHzmOSKn

--HG--
extra : rebase_source : cf1692d1f0d44a4b05d684a66678739181a426d5
2017-07-05 11:18:49 -04:00
Randall Barker 590cfe546d Bug 1367850 - Move Android UI thread runnable queue from AndroidBridge to AndroidUiThread r=jchen
MozReview-Commit-ID: 4okw7R2P2LC
2017-07-03 17:18:50 -07:00