Commit Graph

2047 Commits

Author SHA1 Message Date
Sebastian Hengst
f7efb5fc2c Merge mozilla-central to mozilla-inbound. r=merge a=merge on a CLOSED TREE 2017-10-12 12:03:15 +02:00
Nicholas Nethercote
c0a1cf9b49 Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen.
This avoids a lot of mismatches between nsAString and char16_t*, thus removing
many getter_Copies() and ToNewUnicode() and get() calls, and generally making
things simpler.

Note: the patch removes GetDefaultPrinterNameFromGlobalPrinters() by simply
inlining it at its two callsites, which is easy with the changed types.

--HG--
extra : rebase_source : 9ab9b3694f093fc9b22c7f8e2394a98674d76c11
2017-10-09 10:08:09 +11:00
Emilio Cobos Álvarez
e808575ca4 Bug 1406631: Remove the color-picker-available system metric. r=xidorn
All our widgets support it with a constant true.

MozReview-Commit-ID: JMEItUsxYWq

--HG--
extra : rebase_source : e7e0a3f83001813239338bc5b3895252e1fb3ea6
2017-10-07 14:06:44 +02:00
Sebastian Hengst
aa78440a09 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EE6DcCgHufi
2017-10-09 11:19:20 +02:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Sebastian Hengst
b834f0d177 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 7Ez95T2ivfR
2017-10-07 10:37:39 +02:00
Louis Chang
5f569b5d2c Bug 1404770 Part 1 - Return device pixels instead of css pixels in GetMinimumWidgetSize. r=mats
MozReview-Commit-ID: 4DenoFuKb12

--HG--
extra : rebase_source : a351438f3002eaa255bf6c1c11ef749f7804060f
2017-10-05 16:49:08 +08:00
John Lin
69fb7ed20e Bug 1403849 - p2: add JNI method for native code to query tunneled playback support. r=esawin
MozReview-Commit-ID: 29HgjCanjGP

--HG--
extra : rebase_source : a9e388883a1e561fbbb4a58f97957662b657028e
2017-09-29 18:04:20 +08:00
Sebastian Hengst
cade0f0bf3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: CsjtXJM2vcs
2017-10-05 10:55:31 +02:00
James Willcox
59bfaa0f09 Bug 1402461 - Improve user input detection for focus changes in Fennec r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D94

MozReview-Commit-ID: 9VyoskwRrO1
2017-10-04 17:42:24 -05:00
Sebastian Hengst
b29f365446 Backed out changeset f70d6fcdb760 (bug 1406631) for failing color related reftests like layout/reftests/writing-mode/ua-style-sheet-input-color-1.html on Android. r=backout 2017-10-07 20:08:12 +02:00
Emilio Cobos Álvarez
b7befbe6b5 Bug 1406631: Remove the color-picker-available system metric. r=xidorn
All our widgets support it with a constant true.

MozReview-Commit-ID: JMEItUsxYWq

--HG--
extra : rebase_source : a2661dce1ac191fdf098e631cd7878f0215643d5
2017-10-07 14:06:44 +02:00
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
Jim Chen
f281c874c0 Bug 1404144 - 2. Move start child process JNI call to GeckoProcessManager; r=rbarker
Avoid going through GeckoAppShell and move the start child process JNI
call directly to GeckoProcessManager.

MozReview-Commit-ID: KU62TiHVQJX

--HG--
extra : rebase_source : 0e8546da502257e1c59bc00b79f50c79a314f3e6
2017-10-04 22:28:43 -04:00
Jim Chen
1e2e862aea Bug 1401737 - 2. Add GeckoAppShell.appendAppNotesToCrashReport; r=snorp
Add a way to append app notes to the crash report from Java, so we can
associate additional crash data with the crash.

MozReview-Commit-ID: 6I6pGOWb1sZ
2017-10-05 14:59:32 -04: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