Commit Graph

2995 Commits

Author SHA1 Message Date
sotaro
537c379106 Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
Bob Owen
41ce6696f9 Bug 1447019 Part 2: Move running from a network drive check into WinUtils. r=jimm 2018-03-27 14:09:32 +01:00
Nathan Froyd
4d8cb59be3 Bug 1448914 - remove nsISound::playSystemSound; r=masayuki
This API is deprecated (callers are supposed to be using
nsISound::playEventSound instead) and there are no callers remaining in
mozilla-central, or references to the strings for the API.  Let's remove
dead code.
2018-03-27 10:41:40 -04:00
Masayuki Nakano
e9d257856b Bug 1448282 - TSFTextStore should append a pending action for dispatching keyboard event into the queue if OnUpdateComposition() is called without new range r=m_kato
OnUpdateComposition() may be called without new range instance by some TIPs
when they starts to modify composition string.  At this timing, TSFTextStore
should append a pending action for dispatching keyboard event into the queue.
Without this patch, OnUpdateComposition() creates incomplete pending action
for composition update and then, MaybeDispatchKeyboardEventAsProcessedByIME()
appends pending action for dispatching keyboard event from another point
immediately (e.g., from SetText()), then, finally, the caller of
MaybeDispatchKeyboardEventAsProcessedByIME() appends another pending action
for composition update with proper composition string.  Therefore, the
first pending action for composition update clears composition string before
actually updating it with new composition string.  In other words, new
pending action for dispatching keyboard event splits a pending composition
update.  So, this patch prevents the splitting.

MozReview-Commit-ID: 9pYO9pm3Vh9

--HG--
extra : rebase_source : a8fb903174c0f1af61a71175dbbf01b7b1c5cb53
2018-03-26 15:07:59 +09:00
David Parks
8044e86b13 Bug 1436972 - Hold ref counted AudioSession for proper lifetime when re-initializing. r=jimm
The scope of the kungFuDeathGrip is supposed to include the call to Start() (as suggested by the comment).
2018-03-21 19:37:44 -07:00
sotaro
2ef480f239 Bug 1448271 - Update some names of #include guards r=nical 2018-03-23 22:40:04 +09:00
sotaro
54acb2e320 Bug 1432610 - Disable D2D on Win7 on Intel Haswell for old graphics drivers r=jrmuizel 2018-03-22 15:33:52 +09:00
Boris Zbarsky
29d232e53f Bug 1447098 part 1. Rename FromContent on various DOM classes to FromNode. r=mystor
MozReview-Commit-ID: 202nkbmkwfR
2018-03-21 17:39:04 -04:00
arthur.iakab
5e8092339a Merge mozilla-central to inbound
--HG--
rename : browser/base/content/test/general/bug364677-data.xml => browser/components/feeds/test/bug364677-data.xml
rename : browser/base/content/test/general/bug364677-data.xml^headers^ => browser/components/feeds/test/bug364677-data.xml^headers^
rename : browser/base/content/test/general/test_bug364677.html => browser/components/feeds/test/test_bug364677.html
rename : services/sync/tps/extensions/tps/bootstrap.js => services/sync/tps/extensions/tps/components/tps-cmdline.js
rename : testing/talos/talos/pageloader/bootstrap.js => testing/talos/talos/pageloader/components/tp-cmdline.js
rename : testing/talos/talos/startup_test/sessionrestore/addon/bootstrap.js => testing/talos/talos/startup_test/sessionrestore/addon/SessionRestoreTalosTest.js
rename : testing/talos/talos/talos-powers/bootstrap.js => testing/talos/talos/talos-powers/components/TalosPowersService.js
rename : tools/quitter/bootstrap.js => tools/quitter/QuitterObserver.js
extra : rebase_source : 5801e95a945b54754f27571e7b211e1eac132d67
2018-03-21 22:27:21 +02:00
Miko Mynttinen
65c6bee9d6 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz

--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
Florian Quèze
57c13e32a3 Bug 1447297 - Set the cursor right before showing new windows to avoid showing the wait cursor during startup, r=jimm. 2018-03-21 18:13:58 +01:00
Boris Zbarsky
837dc7eaaa Bug 1446711 part 8. Get rid of nsIDOMMouseEvent. r=qdot
MozReview-Commit-ID: 2FK1MA4LGZj
2018-03-20 00:16:07 -04:00
Boris Zbarsky
89ea512161 Bug 1446711 part 7. Switch the nsIDOMMouseEvent::MOZ_SOURCE_* constants over to MouseEventBinding. r=qdot
We can't include MouseEventBinding.h in MouseEvents.h because that produces
this include loop:

MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> MouseEventBinding.h

MozReview-Commit-ID: 6FNksGil7uD
2018-03-20 00:16:06 -04:00
Boris Zbarsky
1a7c5067ca Bug 1446851. Get rid of nsIDOMWheelEvent. r=qdot
We can't include WheelEventBinding.h in MouseEvents.h because that produces
this include loop:

WheelEventBinding.h -> MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> WheelEventBinding.h

MozReview-Commit-ID: 5KNwH69aJYW
2018-03-20 00:16:05 -04:00
Boris Zbarsky
98e7df9e54 Bug 1445616. Add missing DataTransfer include to fix compilation on Windows. r=mystor
MozReview-Commit-ID: KT44TCYInnO
2018-03-14 12:23:58 -04:00
arthur.iakab
8976abf9ca Merge inbound to mozilla-central. a=merge 2018-03-14 12:00:13 +02:00
Boris Zbarsky
b27cc8fa3c Bug 1444686 followup. Fix a typo that breaks compilation on Windows.
MozReview-Commit-ID: EnsXTSEcUUY
2018-03-13 17:10:39 -04:00
Boris Zbarsky
7f7ce9b56c Bug 1444686 part 13. Remove remaining nsIDOMDataTransfer uses. r=mystor
MozReview-Commit-ID: EFauqLMGz5S
2018-03-13 16:24:00 -04:00
Boris Zbarsky
55ed30a9c6 Bug 1444686 part 3. Get rid of nsIDOMDataTransfer::Get/SetMozCursor. r=mystor
MozReview-Commit-ID: G7vuh1uuWGv
2018-03-13 16:23:59 -04:00
Masayuki Nakano
f54903a9ee Bug 1259692 - Make TSFTextStore dispatch eKeyDown or eKeyUp event when TIP processes a WM_KEYDOWN or WM_KEYUP message r=m_kato
TSF doesn't send WM_KEYDOWN nor WM_KEYUP to us while it handles a key message
with ITfKeystrokeMgr::KeyDown() or ITfKeystrokeMgr::KeyUp().  Therefore,
TSFTextStore needs to store handling key event message during calling
those methods and if it does something, we need to dispatch eKeyDown event
or eKeyUp event before dispatching any events.

However, we shouldn't dispatch WidgetKeyboardEvent during a document lock
because TSF/TIP do not assume that document is broken during a document lock.
Therefore, TSFTextStore needs to put it as a pending action into the queue.

So, this patch wraps this with
TSFTextStore::MaybeDispatchKeyboardEventAsProcessedByIME().  It checks if
there is a document lock when it's called.  If it's locked (and not yet
dispatched keyboard event for the handling key message), it adds pending
action to dispatch keyboard event later.  Otherwise, (and not yet dispatched
one), it dispatches keyboard event directly.

MozReview-Commit-ID: 9rJTJykVLyf

--HG--
extra : rebase_source : 4f8297b2b9fe2905e4cd1f64086fcdbe3d0b6035
2018-02-28 21:53:23 +09:00
Cosmin Sabou
462b445081 Backed out 6 changesets (bug 1343451) for mochitest android perma failures on testInputConnection.
Backed out changeset e07105d9698e (bug 1343451)
Backed out changeset dc4a2a5932c3 (bug 1343451)
Backed out changeset 9561ed261d04 (bug 1343451)
Backed out changeset 84a5ec921442 (bug 1343451)
Backed out changeset b34d48936db8 (bug 1343451)
Backed out changeset 4dce7ab14f71 (bug 1343451)
2018-03-12 18:07:46 +02:00
Masayuki Nakano
8bd493dbc3 Bug 1343451 - part 2: KeyboardLayout and NativeKey should use native key code value to check if the key event was handled by IME r=m_kato
On Windows, VK_PROCESSKEY key message is sent if the key event is handled by
IME (in IMM mode or IMM-IME).  Therefore, we can set
WidgetKeyboardEvent::mKeyCode to NS_VK_PROCESSKEY and
WidgetKeyboardEvent::mKeyNameIndex to KEY_NAME_INDEX_Process simply when
we receive VK_PROCESSKEY.

MozReview-Commit-ID: 9B8Q7rwfXYD

--HG--
extra : rebase_source : f1ed228b295e6c4bd41192bc773b8118a28db6bc
2017-03-01 15:58:50 +09:00
Masayuki Nakano
2b972e10f7 Bug 1343451 - part 2: KeyboardLayout and NativeKey should use native key code value to check if the key event was handled by IME r=m_kato
On Windows, VK_PROCESSKEY key message is sent if the key event is handled by
IME (in IMM mode or IMM-IME).  Therefore, we can set
WidgetKeyboardEvent::mKeyCode to NS_VK_PROCESSKEY and
WidgetKeyboardEvent::mKeyNameIndex to KEY_NAME_INDEX_Process simply when
we receive VK_PROCESSKEY.

MozReview-Commit-ID: 9B8Q7rwfXYD

--HG--
extra : rebase_source : a15105e3b6acf1f1911a8299911353dc4179e2c0
2017-03-01 15:58:50 +09:00
Xidorn Quan
547748db6b Bug 1443392 - Send resize event when FRAMECHANGED flag is set even if the window isn't resized. r=jimm
MozReview-Commit-ID: 9wpiFr9Tw9c

--HG--
extra : rebase_source : e1f97df2afd9c76fba87684752662a78e9b851c9
2018-03-06 17:47:15 +11:00
Emilio Cobos Álvarez
f0d07cb595 Bug 1443966: Add missing include for nsIContent::IsInChromeDocument. r=dholbert
Also mark the function properly as inline.

MozReview-Commit-ID: GJDVLsyfuLN

--HG--
extra : rebase_source : 8dd0b44fa4305dc55b8a0887b2e97453c4c2dfb6
2018-03-08 00:59:25 +01:00
Xidorn Quan
492ca3e3e2 Bug 1443397 - Modernize several rect and region related functions in Windows widget to use typed types. r=jimm
Mostly just convert nsInt{Rect,Region} to LayoutDeviceInt{Rect,Region}.

One exception is to change the parameter of nsWindow::OnResize from
nsIntRect to LayoutDeviceIntSize, because it really only needs that.

MozReview-Commit-ID: 963Mzd5Wed6

--HG--
extra : rebase_source : efae039d26feb98a3591a7cd46c30ce4f052d70b
2018-03-06 17:20:41 +11:00
Kartikaya Gupta
45d31fa895 Bug 1442627 - Stop exporting APZCTreeManager.h in mozilla/layers/. r=botond
MozReview-Commit-ID: GC5fSWOYtF5

--HG--
extra : rebase_source : e2dfe679595bf9208e082699a99375cd509b66e3
2018-03-06 10:25:39 -05:00
sotaro
a765f2b7e0 Bug 1442146 - Fix jiggle during resizing on Windows r=nical 2018-03-05 21:31:02 +09:00
Adrian Wielgosik
d61c7fbed5 Bug 1441270 - Remove unused WebGL parameter getters. r=jgilbert
MozReview-Commit-ID: 7PqaPG2STUs

--HG--
extra : rebase_source : e24d7534964d15c54c1f8706ad01e17a4e31dd8c
2018-02-26 20:35:12 +01:00
Geoff Brown
9af214a4a5 Bug 1441869 - Specify DIGCF_DEVICEINTERFACE when calling SetupDiGetClassDevsW; r=milan 2018-02-28 11:49:09 -07:00
Bob Owen
76be893aa3 Bug 1396984: When not generally processing native events, do single message pumps instead. r=jimm
We still get occasional messages for the internal OLE Main Thread window.
Also, the PeekMessage call allows internal windows messages to be processed for
things like GDI.
2018-02-14 19:18:47 +00:00
Masatoshi Kimura
72e338db1d Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson
--HG--
extra : source : c34487974ac5c649094428ded0f4f982ba78b3d9
2018-02-24 17:22:27 +09:00
Chris Peterson
203d98bd72 Bug 1330529 - Part 1: Fix PDFium gtest by using absolute path to PDFium DLL. r=jimm
This gtest assumed the current working directory ($OBJDIR/_tests/gtest/) was in the DLL LoadLibrary path. That is no longer true with this bug's patches, so the gtest must specify the absolute path to the PDFium DLL to load it.

MozReview-Commit-ID: 5TXj6A9Tb9w

--HG--
extra : rebase_source : b097ae0c3430767e9ff16632ee96fd8739a902bf
extra : histedit_source : 1f13fa04c29039f8aeae05028d0a20ede5ee794b
2018-02-11 11:58:21 -08:00
James Teh
0c2a975587 Bug 1382199: On Windows, prevent the System menu bar from triggering when F10 is released. r=jimm
Windows default behavior will trigger the System menu bar when F10 is released.
Among other things, this causes the System menu bar to appear when a web page overrides the contextmenu event.
We *never* want this default behavior, so eat this key (never pass it to Windows).

MozReview-Commit-ID: 4fWOuj4mWvW

--HG--
extra : rebase_source : 45d38ba19b2f23aca74a60819c7d93af2ffa167d
2018-02-16 12:08:58 +10:00
James Teh
cf9f78f407 Bug 1440527: Remove unused sNtTestAlert from widget/windows/WinUtils.cpp. r=jimm
MozReview-Commit-ID: 3v71m0UdF3U

--HG--
extra : rebase_source : 170674b4f8285b12b687644788d9d9104e84e423
2018-02-23 10:53:18 +10:00
Masayuki Nakano
60854caf9b Bug 1440215 - TSFTextStore::FlushPendingActions() doesn't dispatch eSetSelection event r=m_kato
Although we haven't any bug reports caused by this, this is a really old bug.

When we implement TSFTextStore, we decided to use queue of dispatching
events and flush it when document lock is unlocked.  When we implement the
queue, we got this regression.

When TSFTextStore::SetText() is called with different range from current
selection range, TSFTextStore::SetSelectionInternal() add
PendingAction::SET_SELECTION into the queue first for replacing existing
text or inserting text into different position if there is no composition.
Then, TSFTextStore::InsertTextAtSelectionInternal() inserts text at the new
selection range.

When TSFTextStore::FlushPendingActions() is called after that, eSetSelection
should be dispatched and then, new text is inserted wit a set of composition
events.  However, we forgot to dispatch creating eSetSelection event.

So, this patch just dispatches the event.

MozReview-Commit-ID: Hw8FTB1R5kR

--HG--
extra : rebase_source : 8a119f1f48b167d9423fc89ce0efc722313c3732
2018-02-22 15:30:58 +09:00
Dorel Luca
6ad641c5c4 Merge mozilla-inboud to mozilla-central. a=merge 2018-02-22 11:59:54 +02:00
Aaron Klotz
a26b59fe0b Bug 1424505: Block osk.exe from UIA instantiation; r=Jamie 2018-02-20 12:24:47 -07:00
Adrian Wielgosik
2d4df58ad8 Bug 1439751 - Remove all members from nsIDOMHTMLInputElement. r=qdot
MozReview-Commit-ID: JVagEzvSONN

--HG--
extra : rebase_source : a7e1cf2e5ccc1925f3a11c7d935438ef6307c70c
2018-02-20 23:10:44 +01:00
Masayuki Nakano
ed18f14624 Bug 1036008 - Use alternative ASCII capable keyboard layout information to decide keyCode even if the key produces an ASCII punctuation character r=smaug
Gecko decides keyCode from an ASCII character which is produced by the key
by itself or with Shift on active keyboard layout or alternative ASCII capable
keyboard layout if active keyboard layout isn't ASCII capable.  However, we've
ignored alternative ASCII capable keyboard layout's character if both the
key itself and with Shift don't produce ASCII alphabet nor ASCII numeral,
i.e., ASCII punctuation characters are not used in alternative ASCII capable
keyboard layout because of avoiding mapping a keyCode value to 2 or more keys.

However, setting 0 to keyCode value makes Firefox unusable with some web
applications which are aware of neither KeyboardEvent.key nor
KeyboardEvent.code.  So, even if we map same keyCode value to a key, we should
avoid setting keyCode value to 0 as far as possible.

This patch's approach is, we behave same keyCode value as the alternative ASCII
capable keyCode is selected when computed keyCode value of active keyboard
layout is 0.  This means that we will make some language users whose keyboard
layout for their language is not ASCII capable can use global web services
which support US keyboard layout of Firefox since the new keyCode values
are mostly computed with US layout on Windows or actual alternative ASCII
capable keyboard layout on macOS and Linux.  In other words, we cannot improve
compatibility with web applications which don't support Firefox  by this patch
since our keyCode values are really different from Chrome's.  So, unfortunately,
if we'd use exactly same keyCode computation as Chromium, we'd break
compatibility with existing web applications which are aware of Firefox since
it's necessary to check UA name or something before using keyCode values.

Note that the most important difference between Windows and the others is,
such keyCode value is computed with alternative ASCII capable keyboard
layout on macOS and Linux but only on Windows, it's computed with OEM virtual
keycode.  This means that only on Windows, the keyCode value may be different
from actual alternative ASCII capable keyboard layout's keyCode.

MozReview-Commit-ID: As289r9wp6i

--HG--
extra : rebase_source : 66181403dbe8ca8dab893edc8f4eec1991d544d0
2018-02-16 15:54:07 +09:00
Chris Peterson
50e9affc6b Bug 1436263 - Part 4: Remove unnecessary virtual and final from non-overriding final virtual function declarations. r=froydnj
AccessibleNode::GetParentObject is a non-overriding final virtual function. GetParentObject is a common virtual function in many DOM classes, but AccessibleNode does not derive from any base classes that define virtual GetParentObject or have any derived classes of its own.

WebCryptoTask::CalculateResult and CallCallback are non-overriding final virtual functions that mirror virtual function names in the CryptoTask class, even though WebCryptoTask does not actually derive from CryptoTask.

nsWindowBase::GetWindowHandle is a non-overriding final virtual function. The only other function called GetWindowHandle is MouseScrollHandler::EventInfo::GetWindowHandle, which is not related to the nsWindowBase class.

MozReview-Commit-ID: 4ldSAyP3ZpP

--HG--
extra : rebase_source : cd6fea309c042183db59653ed39e1e63b70c6a63
2018-02-09 01:31:38 -08:00
Chris Peterson
fe5cd3d5d9 Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Chris Peterson
d09123f248 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Boris Zbarsky
9bdcffc985 Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.

The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.

MozReview-Commit-ID: IeB8KIJCGhU
2018-02-12 15:44:40 -05:00
Boris Zbarsky
523343906d Bug 1436508 part 16. Remove nsIDOMSimpleGestureEvent. r=masayuki
MozReview-Commit-ID: 8JDovhthKtx
2018-02-09 11:17:10 -05:00
Dorel Luca
a539f8f7fe Merge mozilla-inbound to mozilla-central. a=merge 2018-02-07 17:05:03 +02:00
David Parks
d2fcfd4724 Bug 1358372: Part 2 - Run Windows AudioSessionControl operations on main thread r=jimm
This plays better with sndvol.exe.  It reduces the impact of a bug that shows multiple volume sliders for the content processes.
2018-01-10 14:57:19 -08:00
Masayuki Nakano
b00776035f Bug 1435730 - part 2: TSFTextStore::GetTextExt() shouldn't adjust acpStart to start of composition string if ContentCacheInParent perhaps has some character rects in composition string r=m_kato
The renaming problem is, when I try to convert 2nd or later clause of
composition string with Japanist 10, it shows candidate window below the
start of composition string first, then, it moves candidate window to
below the selected clause.  This is caused by our bug of the hack in
TSFTextStore::GetTextExt().

First, we compute wrong minimum modified
offset of mContentForTSF.  It stores last composition string when it's
initialized.  Then, when a part of composition string is modified, it
sets minimum modified offset with the last composition string.  However,
we don't update it when we receive notifications from content which means
all dispatched composition events are handled in content and
ContentCacheInParent stores character rects at least in this time.  So,
this patch adds TSFTextStore::Content::OnCompositionEventsHandled() to
update the last composition string.

Next, TSFTextStore::GetTextExt() always adjusts acpStart to start of
composition string when acpStart is larger than composition start.
However, this causes this remaining problem.  If ContentCacheInParent
stores character rects of even older composition string, we should use
it as far as possible.  This must not be problem in most cases since
most Chinese characters and Japanese Kana characters have same width.

This touches share code of the hack between any TIPs.  However, this must
not be risky because this patch just reduces amount of adjusting acpStart
offset in safe range.

MozReview-Commit-ID: KlDeaGa26UG

--HG--
extra : rebase_source : 6d906f9810b8e067018f7ff3ab2fd31f5bef49f6
2018-02-06 21:59:52 +09:00
Masayuki Nakano
d6f1c6f7dd Bug 1435730 - part 1: Make TSFTextStore::GetTextExt() not return TS_E_NOLAYOUT error to Japanist 10 when the range is in composition string r=m_kato
Similar to ATOK, Japanist 10 requests all or part of composition string.
If we return TS_E_NOLAYOUT in this case, you'll see candidate window at
top-left of the screen.

For avoiding this issue, we should not return TS_E_NOLAYOUT to Japanist 10
when the query range is in composition string.

MozReview-Commit-ID: 2OPafUO5PQC

--HG--
extra : rebase_source : bd7a594d8d3540374d61860651b69528aa6e3793
2018-02-06 14:45:22 +09:00
Masayuki Nakano
34b1964a5b Bug 1435701 - Make TSFStaticSink::IsATOKActiveInternal() aware of ATOK Passport r=m_kato
TIP name of ATOK Passport's ATOK 31.1.2 is just "ATOK", not "ATOK " + release
year.  Therefore, TSFStaticSink::IsATOKActiveInternal() returns false when
new ATOK is active.  This patch updates it.

Additionally, this patch adds GUID list of new Japanese TIPs with comment.
They should be useful when somebody needs to add hack for them.

MozReview-Commit-ID: 6L5SjWEK6i0

--HG--
extra : rebase_source : e3ac9eb1377ee9143a4e2e9fa2ce4be98983bb4b
2018-02-05 22:29:03 +09:00
Bas Schouten
103c64cfd4 Bug 1433790: Disable Direct2D on drivers/devices where OMTP causes crashes. r=milan
MozReview-Commit-ID: FmUh2zSnSdd
2018-02-01 19:02:11 +01:00
Masatoshi Kimura
526dc874b1 Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm
MozReview-Commit-ID: I49ngV1Jq9I

--HG--
extra : source : 667abe2ccae907c9f9c71f1c01b7562e036907e2
extra : intermediate-source : b67934d4d458a3e751def1c33c3c6d421772cf51
2017-12-16 14:51:31 +09:00
Andrea Marchesini
c6da271117 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug
* * *
Bug 1425458 - Resource timing entries Workers - part 10 - Correct parameters in NS_NewChannel in nsDataObj.cpp, r=me
2018-01-24 17:17:31 +01:00
Brindusan Cristian
368c3d5b6b Backed out 12 changesets (bug 1425458) for mochitest failures on WorkerPrivate.cpp on a CLOSED TREE
Backed out changeset 11997de13778 (bug 1425458)
Backed out changeset 100b9d4f36bc (bug 1425458)
Backed out changeset a29e9dbb8c42 (bug 1425458)
Backed out changeset b96d58fd945c (bug 1425458)
Backed out changeset f140da44ba68 (bug 1425458)
Backed out changeset af56400233d9 (bug 1425458)
Backed out changeset 7034af4332e4 (bug 1425458)
Backed out changeset f70500179140 (bug 1425458)
Backed out changeset 793bbfc23257 (bug 1425458)
Backed out changeset 2efb375a8ffc (bug 1425458)
Backed out changeset 07e781e37451 (bug 1425458)
Backed out changeset e875f3702a5f (bug 1425458)
2018-01-24 20:47:48 +02:00
Andrea Marchesini
c5a9793a96 Bug 1425458 - Resource timing entries Workers - part 10 - Correct parameters in NS_NewChannel in nsDataObj.cpp, r=me 2018-01-24 18:45:56 +01:00
Jon Kunkee
01ad44282e BUG 1428174 - Add Qualcomm to Windows GPU Whitelist r=jrmuizel
New Windows devices are coming out that have GPU Device ID strings of
the form

ACPI\VEN_QCOM&DEV_007C&SUBSYS_CLS08998&REV_007C

as reported in the bug description. Since the VEN_ ID is not numeric,
this change interprets the QCOM string so that it can be whitelisted
and then whitelists it.

MozReview-Commit-ID: 2ABRzvHKn6v

--HG--
extra : rebase_source : 6951d3bfc060abc298c93dd31db07715d6857cc5
2018-01-05 17:28:02 -08:00
Masayuki Nakano
e8c2ae6847 Bug 1422230 - part 4: TSFTextStore::GetTextExt() should refer composition string in content r=m_kato
Currently, TSFTextStore::GetTextExt() refers mComposition for doing its own
hack.  However, this means that it refers composition in TIP.  However,
query event is computed with content information.  So, even if TSFTextStore
dispatched eCompositionCommit event, it may not be handled by content yet.

In this case, we need information relative to last composition string.
So, TSFTextStore::GetTextExt() should refer IsHandlingComposition() and
last composition string information stored by mContentForTSF.

MozReview-Commit-ID: KMqrDmnUldU

--HG--
extra : rebase_source : cea97c9e9117028913cf45e4dc1e83e2b4f102e9
2018-01-12 15:31:04 +09:00
Masayuki Nakano
c1ed5bb499 Bug 1422230 - part 3: TSFTextStore should store composition string information until both TSF/TIP and our content finish handling composition r=m_kato
If remote process hasn't handled dispatched commit event yet, TSFTextStore
needs to dispatch query content event relative to latest composition string
information.  So, TSFTextStore::mContentForTSF should cache composition start
and composition string length until pending composition events are handled
by content actually.

MozReview-Commit-ID: ARM851nNZGz

--HG--
extra : rebase_source : d4f1ddb197d3168f2db52849b2982779c388e2e8
2018-01-12 15:23:43 +09:00
Masayuki Nakano
0674b4fc1f Bug 1422230 - part 1: TextEventDispatcher should manage if dispatched composition events have been handled by remote content and TSFTextStore refer the state r=m_kato
When composition events are handled by content actually, widget receives
NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED notification.  If focused content
is in a remote process, this is notified only when all sending composition
events are handled in the remote process.  So, when widget receives the
notification can there is no composition in IME, that means that nobody is
composing composition at that time.

This patch adds TextEventDispatcher::IsHandlingComposition() which returns
false only when nobody has composition and makes TSFTextStore refer this
method because TSFTextStore needs to know if focused content has composition
in any cases.

MozReview-Commit-ID: F1ZZgFJAArD

--HG--
extra : rebase_source : 65e7f592e0ffd1c516e4dab16ab4ca8d7171f954
2018-01-12 11:31:53 +09:00
Chris Peterson
37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Jonathan Watt
f38fde0cc7 Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen
* * *
[mq]: dtor

MozReview-Commit-ID: 8ghrXxeKiHF
2017-12-19 11:05:37 +00:00
Jonathan Watt
f9157dfa53 Bug 144114 part 2 - Rename nsPrintOptions and its subclasses to nsPrintSettingsService*. r=bobowen
MozReview-Commit-ID: HQSmyrMBdS8
2017-12-19 10:42:15 +00:00
Jonathan Watt
94df748ddb Bug 144114 part 1 - Rename the files for nsPrintOptions and its subclasses. r=bobowen
MozReview-Commit-ID: EcotGH6pXCR

--HG--
rename : widget/android/nsPrintOptionsAndroid.cpp => widget/android/nsPrintSettingsServiceAndroid.cpp
rename : widget/android/nsPrintOptionsAndroid.h => widget/android/nsPrintSettingsServiceAndroid.h
rename : widget/cocoa/nsPrintOptionsX.h => widget/cocoa/nsPrintSettingsServiceX.h
rename : widget/cocoa/nsPrintOptionsX.mm => widget/cocoa/nsPrintSettingsServiceX.mm
rename : widget/gtk/nsPrintOptionsGTK.cpp => widget/gtk/nsPrintSettingsServiceGTK.cpp
rename : widget/gtk/nsPrintOptionsGTK.h => widget/gtk/nsPrintSettingsServiceGTK.h
rename : widget/nsPrintOptionsImpl.cpp => widget/nsPrintSettingsService.cpp
rename : widget/nsPrintOptionsImpl.h => widget/nsPrintSettingsService.h
rename : widget/windows/nsPrintOptionsWin.cpp => widget/windows/nsPrintSettingsServiceWin.cpp
rename : widget/windows/nsPrintOptionsWin.h => widget/windows/nsPrintSettingsServiceWin.h
2017-12-19 10:06:39 +00:00
Brindusan Cristian
b102ef421c Merge mozilla-central to autoland r=merge a=merge on a CLOSED TREE 2018-01-12 13:32:23 +02:00
David Anderson
3e0b92b420 Block Advanced Layers on the latest Windows 7 NVIDIA drivers. (bug 1419264, r=milan)
--HG--
extra : rebase_source : 473a0ed46767a144a2d15c6b53ec9c44721be8d5
2018-01-11 05:05:50 -05:00
cku
c098819616 Bug 1427109 - Initialize mPrintViaSkPDF as false to guarantee PrintTargetEMF is used only if 'print.print_via_pdf_encoder == skia-pdf'. r=jwatt
MozReview-Commit-ID: 950x2vDfF17

--HG--
extra : rebase_source : 75c344a38dd93ba34951dcf58f5b12a58115ed3f
2018-01-09 16:44:36 +08:00
Kartikaya Gupta
eeddf41e9a Bug 1387340 - Ensure popup windows spawned on non-primary windows get a correct scale. r=emk,jfkthame
MozReview-Commit-ID: CPKuH0W3KRL

--HG--
extra : rebase_source : e77b2a59f131f1d59d035b9565c5a594e4380001
2018-01-09 11:19:36 -05:00
Milan Sreckovic
bd27b86da3 Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange
MozReview-Commit-ID: AqnztoUbsmk

--HG--
extra : rebase_source : 76a232a08b42ed73b4922c03bc0f2e9d1769203b
2018-01-10 11:14:16 -05:00
Milan Sreckovic
ccfbbb3c3a Bug 1421314: Parallels device support. r=jrmuizel
MozReview-Commit-ID: IymVdQUj6ey

--HG--
extra : rebase_source : 111e116113b92d9a1d2090734eb69f4cb155bd00
2018-01-08 11:35:48 -05:00
Aaron Klotz
35b1027e2c Bug 1423999: Improved UIA detection that eliminates handle duplication; r=Jamie
MozReview-Commit-ID: 5CqjkyDoPs8

--HG--
extra : amend_source : 877a3d6cadab0645274c9542249fc35cfd682d41
2017-12-07 12:13:14 -07:00
Botond Ballo
7e42a77d38 Bug 1425686 - Remove scroll input methods telemetry code. r=kats
MozReview-Commit-ID: 1PC4826SMvh

--HG--
extra : rebase_source : 0123b921159864518e92077dd81d5185816e063a
2017-12-20 15:16:18 -05:00
Masayuki Nakano
6b9a0451ae Bug 1420215 - Make TSFTextStore set input scope of URL bar to IS_DEFAULT when some Microsoft's Trandtional and Simplified Chinese IMEs and some Microsoft's Korean IMEs which change their open state to "closed" when input scope is IS_URL r=m_kato
This patch adds following Microsoft's IMEs into the black list which set
their open state to "closed" when input scope is set to IS_URL and sets
input scope for the URL bar to IS_DEFAULT.

Additionally, this adds a new pref to disable this hack because a lot of
users will affect this hack but perhaps, somebody may not like this if
they use tablet.

The new black listed IMEs:
 - Microsoft Bopomofo
 - Microsoft ChangJie
 - Microsoft Phonetic
 - Microsoft Quick
 - Microsoft New ChangJie
 - Microsoft New Phonetic
 - Microsoft New Quick
 - Microsoft Pinyin
 - Microsoft Pinyin New Experience Input Style
 - Microsoft Wubi
 - Microsoft IME for Korean (except on Win7)
 - Microsoft Old Hangul

MozReview-Commit-ID: BwJKFcu80B8

--HG--
extra : rebase_source : 75aeed04504b476520102984ab6e7875c98b36c8
2017-12-19 13:13:45 +09:00
cku
5a90745685 Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander
We call PDFiumParent::Close twice under certain conditions. Once in
PDFiumProcessParent::Delete, and once in PDFiumProcessParent's dtor. So we may
hit MOZ_ABORT which tell us that we are trying to close a closed channel.

This patch prevents hitting this abort by:
1. Only close the channel in PDFiumProcessParent::Delete, remove another call
   in PDFiumProcessParent's dtor. (Please see the change in
   PDFiumProcessParent.cpp).
2. Remove PDFiumParent::AbortConversion and relative code. We can just use
   PDFiumParent::EndConversion instead. When calling PDFiumParent::Close, we
   actually close the IPC channel *synchronously*, which means there is no need
   to register a callback by PDFiumParent::AbortConversion to receive
   actor-destroy callback.

MozReview-Commit-ID: 9i5j6t54J3h

--HG--
extra : rebase_source : 5f74ebc1ecc29e9983c30ca2dd63e0b49bd24a50
2017-12-13 12:42:59 +08:00
cku
6c3e4bfaae Bug 1399787 - Part 17. Clean up some comments and formatting in PDFViaEMFPrintHelper code. r=jwatt
MozReview-Commit-ID: HTFv50CFqI9

--HG--
extra : rebase_source : e967b883ca3c21cf1b2dd6fe47f5fb8d69b5425c
extra : source : 7200f406bd2eea6d81b926b92ddefa92ced96d18
2017-11-29 15:45:34 +08:00
cku
042528a552 Bug 1399787 - Part 16. Hide function table in PDFiumEngineShim.cpp. r=jwatt
This is to make the header file more concise.

MozReview-Commit-ID: 7RFkppBdvbU

--HG--
extra : rebase_source : 781e3cadc60739297f37e826fef5f37a5c60a02d
extra : intermediate-source : 317d238af4025e64b8af61488fada9ec3d0b05c7
extra : source : 59d7baf15160231a53c459a3912e2c1430a1fa0e
2017-11-01 21:51:20 +08:00
cku
780de75cf4 Bug 1399787 - Part 15. Detect and handle breakage of the IPC channel. r=jwatt
MozReview-Commit-ID: 6VfIbstJ6WN

--HG--
extra : rebase_source : 29c658959dc59234b2d59b89109ce56fb5929ffc
extra : source : 761e68aef93e9f6b2d914c81c638db588dec6fe5
2017-11-06 22:12:31 +08:00
cku
2716e0d75b Bug 1399787 - Part 13. Handle AbortDocument. r=jwatt
While aborting conversion, we need to make sure there is no coversion task
executing in the PDFium process before destroying it.

MozReview-Commit-ID: 3Iqhe8KmYv2

--HG--
extra : rebase_source : 70d9f0b2e2986499e3061823e0c29830aa81d232
extra : source : 753ed705666fd4c55da456fb80604e4552d6bd52
2017-11-05 15:34:54 +08:00
cku
8724da38d5 Bug 1399787 - Part 11.d. Using PrintTargetEMF on windows if skia-pdf is enable. r=jwatt
MozReview-Commit-ID: Hx94fqGJFz6

--HG--
extra : rebase_source : faedf5f44db7f27482644987aa22bc2a5e156ab9
extra : source : 564351eb834faef9c2363edd690d80e7b24a2c41
2017-11-14 13:57:11 +08:00
cku
6f25ba1878 Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt
We integrate PrintTargetEMF with the PDFium process to convert PDF into EMF in
this patch.

MozReview-Commit-ID: 5F0setrL94n

--HG--
extra : rebase_source : 1e52adbbe7502ca081c7029a15e4b3f486beb284
extra : source : 28f1671230fa70125e6971c9a287cb0658b89496
2017-11-05 03:06:04 +08:00
cku
07e7f9f727 Bug 1399787 - Part 9. Sandbox the PDFium process. r=bobowen,jwatt
MozReview-Commit-ID: 6ED7EPZvOMR

--HG--
extra : rebase_source : d8ddd2bb3551cf25c0f18151c4340e1f48d659ca
extra : intermediate-source : d90c5064d88a6468c1209f4a78ec7631592eec98
extra : source : 91b761e38efd28a69647c38531f5418fffee8f50
2017-10-18 20:52:45 +08:00
cku
ac4237baad Bug 1399787 - Part 8. Open PDFium protocol channel. r=jwatt
MozReview-Commit-ID: F9W9ykEtVmK

--HG--
extra : rebase_source : 0e70f37b508cbe61f31ba04e662a8833fd4fec18
extra : intermediate-source : f9ef88f9ddc9ddb114633075472f5a20985d8c39
extra : source : 63e98299090e4fb98c2fb50aa9eaac35f35ca232
2017-10-17 12:48:30 +08:00
cku
b203ed0d71 Bug 1399787 - Part 7. Have PrintTargetEMF launch the PDFium process. r=jwatt
MozReview-Commit-ID: CVfB81ifV2p

--HG--
extra : rebase_source : fab6e106934a657f05538891ebf0c1d3043a2b33
2017-11-29 17:15:31 +08:00
cku
81ea1e297c Bug 1399787 - Part 5. Implement the PDFium process. r=jwatt
MozReview-Commit-ID: 502jB9DAeIC

--HG--
extra : rebase_source : 1e72415c5e2b02c3a53d4734182319af2aa5718a
extra : intermediate-source : 695dfd5232f9e3ca08205fbc99cc5cbbe8737b12
extra : source : 2903a56630965e02602ff4aa3e38c51207b6fa15
2017-10-16 16:22:07 +08:00
cku
bff3b1ab99 Bug 1399787 - Part 4. Take out the code we landed in bug 1370488. r=jwatt
To move EMF conversion job to a dedicated process, I will implement a new
PrintTarget subclass, named PrintTargetEMF, to coordinate tasks among the
content process, chrome process and PDFium process. All the code that we
change in nsDeviceContextSpecWin is no longer needed.

MozReview-Commit-ID: GgKZoB92WYE

--HG--
extra : rebase_source : 4b1999bd83306dce162f76bd5e46015113a52e2b
2017-11-05 00:53:05 +08:00
cku
30d58f2b98 Bug 1399787 - Part 3. Create a top level protocol for the PDFium process. r=jwatt
Define ipdl and actor classes. Implementation of actors is added in subsequent
patches.

Control flow:
1. A user starts a printing job.
2. We create a PrintTarget to print web content page by page.
3. When printing pages:
   a. PrintTarget, who lives in the chrome process, create a new FileDescriptor
      and pass that FD to the content process.
   b. The content process renders page contents into the given FD.
   c. PrintTarget render that FD, which contains only one page, into a PDF
      file.
   d. PrintTaget asks PDFium process to convert that PDF file into EMF contents
      by *ConvertToEMF*
   e. The PDFium process converts the given PDF into EMF contents and send back
       EMF contents by *ConvertToEMFDone*
   f. PrintTaget playbacks that EMF onto a printer DC. One page is printed!
   f. If all pages are printed, then finalize print job; Otherwise, loop back
      to #a.

The control flow that we landed in bug 1370488 does not work like the flow
I described above.
In [1], we paint all pages into one single PDF file. After all pages are
rendered into this PDF file, we finalize the current print job, which means the
printing progress dialog is close. *Then* we start to convert that PDF into
EMF and print each EMF page onto printer DC. We can not cancel this conversion
task since the printing dialog is close, there is no UI allow us to do that.
One more serious problem is: since the printing progress dialog is close,
people think that printing is done, but actually it's not.

Except move EMF conversion to a dedicated process, named PDFium process, I will
also fix the behavior we landed in bug 1370488.

[1]
https://hg.mozilla.org/mozilla-central/rev/b611ec2a42bf

MozReview-Commit-ID: JAnmNc3gAVK

--HG--
extra : rebase_source : c64c4d39ccca16271959ade57edc2a8a087141b8
extra : intermediate-source : 6d6cff8961fa14160b624b2879d231b32c61a8f5
extra : source : b172d78e8c1d801e1e28afd8fedb9fcfff77d113
2017-10-13 16:58:07 +08:00
cku
0e54a2a91c Bug 1399787 - Part 2.c. Rename DrawPageToFile to SavePageToFile. r=jwatt
This is to make the naming more consistent with SavePageToBuffer.

MozReview-Commit-ID: 5miYvv9yFFR

--HG--
extra : rebase_source : d0a433e55a1a919a4207aee5f2fee9e75bd0a36e
2017-11-02 20:19:30 +08:00
cku
96911bd5d2 Bug 1399787 - Part 2.b. Add functions to read/write EMF content from/to a buffer. r=jwatt
With the help of these new function, we can serialize/deserialize EMF content
in/out a share memory object.

MozReview-Commit-ID: Dm45xEXmMqS

--HG--
extra : rebase_source : a84834075aa58099104ba9cdaa375da4b973c23b
extra : source : 61f81b148f8b1d1569d7cf279575b38f4570171f
2017-11-01 20:27:17 +08:00
cku
fea20dd4a5 Bug 1399787 - Part 2.a. Add functions to load the content of a PDF from a FileDescriptor. r=jwatt
All the functions added in Part 2 are utilities for sharing EMF/PDF contents
between processes.

MozReview-Commit-ID: 3qKosXH56kY

--HG--
extra : rebase_source : 677bf9f30399f28e1e094843448c133b0c2391a7
extra : source : b61b651ed6f668e32176353d346b25d23e2cd932
2017-11-01 21:33:28 +08:00
cku
eefa6c8ea6 Bug 1399787 - Part 1. Fix namespacing and include issues hidden by unified compilation. r=jwatt
We will create several new files in the following patches for IPC and a new
subprocess. Several already existed files will be shifted into new build units,
we will meet several compile errors because of it.

This patch fixes those compile error in advance.

MozReview-Commit-ID: 5hd0sNYfBu0

--HG--
extra : rebase_source : d4cca529623586188ffebffd858f53188d12bb50
2017-10-06 22:01:22 +08:00
Gurzau Raul
91d3bc0100 Merge inbound to mozilla-central r=merge a=merge 2017-12-09 00:36:15 +02:00
Aaron Klotz
b5f620cfdd Bug 1424317: Unconditionally remove UIA hook once UIA detection has run; r=jimm
MozReview-Commit-ID: I8pQ3GItBlF
2017-12-08 11:09:11 -07:00
Sylvestre Ledru
5de63ef061 Bug 1394734 - Replace CONFIG['MSVC'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 5orfnoude7h

--HG--
extra : rebase_source : 1ed9a6b56e1d27221a07624767a7fb0e6147117f
2017-12-08 13:46:13 +01:00
Cosmin Sabou
79d933ec34 Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE
Backed out changeset 463d676df5da (bug 1399787)
Backed out changeset fc9776a2605d (bug 1399787)
Backed out changeset 2e91a90dfbc3 (bug 1399787)
Backed out changeset e82ab72f71ee (bug 1399787)
Backed out changeset d7fef200e8b9 (bug 1399787)
Backed out changeset a7d70f7f3335 (bug 1399787)
Backed out changeset 2800f9d20d96 (bug 1399787)
Backed out changeset 9dfa404abf9d (bug 1399787)
Backed out changeset 09b3c172a01e (bug 1399787)
Backed out changeset f9fd3e750636 (bug 1399787)
Backed out changeset 01284c55bf8a (bug 1399787)
Backed out changeset c2ab1b454283 (bug 1399787)
Backed out changeset e7bfa51404c5 (bug 1399787)
Backed out changeset 3fd2a734f887 (bug 1399787)
Backed out changeset ef21f295db3f (bug 1399787)
Backed out changeset c186893ce0fc (bug 1399787)
Backed out changeset 323da3bddaaa (bug 1399787)
Backed out changeset 3b89f189edff (bug 1399787)
Backed out changeset a47bd86c35ee (bug 1399787)
Backed out changeset 558526301a4c (bug 1399787)
Backed out changeset baa99fb50ba9 (bug 1399787)
Backed out changeset 6d82ed0ba805 (bug 1399787)
2017-12-08 13:09:56 +02:00
cku
f16bdbe25b Bug 1399787 - Part 17. Clean up some comments and formatting in PDFViaEMFPrintHelper code. r=jwatt
MozReview-Commit-ID: HTFv50CFqI9

--HG--
extra : rebase_source : ccbc70097854e85fdc7e76341ba85272c73949e8
extra : source : 7200f406bd2eea6d81b926b92ddefa92ced96d18
2017-11-29 15:45:34 +08:00
cku
53389e18a1 Bug 1399787 - Part 16. Hide function table in PDFiumEngineShim.cpp. r=jwatt
This is to make the header file more concise.

MozReview-Commit-ID: 7RFkppBdvbU

--HG--
extra : rebase_source : de0a2fc73ea43fedd90b1a0f2ae79d68749a00f7
extra : intermediate-source : 317d238af4025e64b8af61488fada9ec3d0b05c7
extra : source : 59d7baf15160231a53c459a3912e2c1430a1fa0e
2017-11-01 21:51:20 +08:00
cku
98fa10feb8 Bug 1399787 - Part 15. Detect and handle breakage of the IPC channel. r=jwatt
MozReview-Commit-ID: 6VfIbstJ6WN

--HG--
extra : rebase_source : a9cf90c846f9f7d054317fee7bd16980862ffcfc
extra : source : 761e68aef93e9f6b2d914c81c638db588dec6fe5
2017-11-06 22:12:31 +08:00
cku
73e02d24cc Bug 1399787 - Part 13. Handle AbortDocument. r=jwatt
While aborting conversion, we need to make sure there is no coversion task
executing in the PDFium process before destroying it.

MozReview-Commit-ID: 3Iqhe8KmYv2

--HG--
extra : rebase_source : c4597de6c13d35024090ec1e851ad1db5b790c7a
extra : source : 753ed705666fd4c55da456fb80604e4552d6bd52
2017-11-05 15:34:54 +08:00
cku
5ea0bb1b75 Bug 1399787 - Part 11.d. Using PrintTargetEMF on windows if skia-pdf is enable. r=jwatt
MozReview-Commit-ID: Hx94fqGJFz6

--HG--
extra : rebase_source : 400292b58c8af2ad9e1bcd5b5c17e1293c3d849b
extra : source : 564351eb834faef9c2363edd690d80e7b24a2c41
2017-11-14 13:57:11 +08:00
cku
0ac62e2331 Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt
We integrate PrintTargetEMF with the PDFium process to convert PDF into EMF in
this patch.

MozReview-Commit-ID: 5F0setrL94n

--HG--
extra : rebase_source : 3dfc6ce64f4cdc7d5d7e95d1f064d956af909a26
extra : source : 28f1671230fa70125e6971c9a287cb0658b89496
2017-11-05 03:06:04 +08:00
cku
d70af3d034 Bug 1399787 - Part 9. Sandbox the PDFium process. r=bobowen,jwatt
MozReview-Commit-ID: 6ED7EPZvOMR

--HG--
extra : rebase_source : 60e6d103573436d923f8b2b00c70cb2a4a7986df
extra : intermediate-source : d90c5064d88a6468c1209f4a78ec7631592eec98
extra : source : 91b761e38efd28a69647c38531f5418fffee8f50
2017-10-18 20:52:45 +08:00
cku
100d27aa36 Bug 1399787 - Part 8. Open PDFium protocol channel. r=jwatt
MozReview-Commit-ID: F9W9ykEtVmK

--HG--
extra : rebase_source : aad0b03045f15905aea8d2317eae5020171f403b
extra : intermediate-source : f9ef88f9ddc9ddb114633075472f5a20985d8c39
extra : source : 63e98299090e4fb98c2fb50aa9eaac35f35ca232
2017-10-17 12:48:30 +08:00
cku
6fc6c63d6d Bug 1399787 - Part 7. Have PrintTargetEMF launch the PDFium process. r=jwatt
MozReview-Commit-ID: CVfB81ifV2p

--HG--
extra : rebase_source : 64aae1ffdd9a6dc109192a28e0350b72aa0e54b2
2017-11-29 17:15:31 +08:00
cku
f237af17a1 Bug 1399787 - Part 5. Implement the PDFium process. r=jwatt
MozReview-Commit-ID: 502jB9DAeIC

--HG--
extra : rebase_source : f5521bd85370a6726380c36ea90d4c5a4edf403f
extra : intermediate-source : 695dfd5232f9e3ca08205fbc99cc5cbbe8737b12
extra : source : 2903a56630965e02602ff4aa3e38c51207b6fa15
2017-10-16 16:22:07 +08:00
cku
764be8763e Bug 1399787 - Part 4. Take out the code we landed in bug 1370488. r=jwatt
To move EMF conversion job to a dedicated process, I will implement a new
PrintTarget subclass, named PrintTargetEMF, to coordinate tasks among the
content process, chrome process and PDFium process. All the code that we
change in nsDeviceContextSpecWin is no longer needed.

MozReview-Commit-ID: GgKZoB92WYE

--HG--
extra : rebase_source : 16c3a3e730bd2395f98b558962ec8d0a5723198b
2017-11-05 00:53:05 +08:00
cku
367da24e2c Bug 1399787 - Part 3. Create a top level protocol for the PDFium process. r=jwatt
Define ipdl and actor classes. Implementation of actors is added in subsequent
patches.

Control flow:
1. A user starts a printing job.
2. We create a PrintTarget to print web content page by page.
3. When printing pages:
   a. PrintTarget, who lives in the chrome process, create a new FileDescriptor
      and pass that FD to the content process.
   b. The content process renders page contents into the given FD.
   c. PrintTarget render that FD, which contains only one page, into a PDF
      file.
   d. PrintTaget asks PDFium process to convert that PDF file into EMF contents
      by *ConvertToEMF*
   e. The PDFium process converts the given PDF into EMF contents and send back
       EMF contents by *ConvertToEMFDone*
   f. PrintTaget playbacks that EMF onto a printer DC. One page is printed!
   f. If all pages are printed, then finalize print job; Otherwise, loop back
      to #a.

The control flow that we landed in bug 1370488 does not work like the flow
I described above.
In [1], we paint all pages into one single PDF file. After all pages are
rendered into this PDF file, we finalize the current print job, which means the
printing progress dialog is close. *Then* we start to convert that PDF into
EMF and print each EMF page onto printer DC. We can not cancel this conversion
task since the printing dialog is close, there is no UI allow us to do that.
One more serious problem is: since the printing progress dialog is close,
people think that printing is done, but actually it's not.

Except move EMF conversion to a dedicated process, named PDFium process, I will
also fix the behavior we landed in bug 1370488.

[1]
https://hg.mozilla.org/mozilla-central/rev/b611ec2a42bf

MozReview-Commit-ID: JAnmNc3gAVK

--HG--
extra : rebase_source : 92276c366e3e8faa9be7a43fa64c2c5c56a7014b
extra : intermediate-source : 6d6cff8961fa14160b624b2879d231b32c61a8f5
extra : source : b172d78e8c1d801e1e28afd8fedb9fcfff77d113
2017-10-13 16:58:07 +08:00
cku
471a6c5693 Bug 1399787 - Part 2.c. Rename DrawPageToFile to SavePageToFile. r=jwatt
This is to make the naming more consistent with SavePageToBuffer.

MozReview-Commit-ID: 5miYvv9yFFR

--HG--
extra : rebase_source : 5fa0594338ccae196866a1eb2e811e30b41c9290
2017-11-02 20:19:30 +08:00
cku
b846eba123 Bug 1399787 - Part 2.b. Add functions to read/write EMF content from/to a buffer. r=jwatt
With the help of these new function, we can serialize/deserialize EMF content
in/out a share memory object.

MozReview-Commit-ID: Dm45xEXmMqS

--HG--
extra : rebase_source : 02b571735de70b499aea30bfdb3c0a35fece3332
extra : source : 61f81b148f8b1d1569d7cf279575b38f4570171f
2017-11-01 20:27:17 +08:00
cku
7637aa84f2 Bug 1399787 - Part 2.a. Add functions to load the content of a PDF from a FileDescriptor. r=jwatt
All the functions added in Part 2 are utilities for sharing EMF/PDF contents
between processes.

MozReview-Commit-ID: 3qKosXH56kY

--HG--
extra : rebase_source : f28b808f7007633fbeea3dbea78c19541bc73667
extra : source : b61b651ed6f668e32176353d346b25d23e2cd932
2017-11-01 21:33:28 +08:00
cku
be80632ef9 Bug 1399787 - Part 1. Fix namespacing and include issues hidden by unified compilation. r=jwatt
We will create several new files in the following patches for IPC and a new
subprocess. Several already existed files will be shifted into new build units,
we will meet several compile errors because of it.

This patch fixes those compile error in advance.

MozReview-Commit-ID: 5hd0sNYfBu0

--HG--
extra : rebase_source : 0d85c823e4ead4f09175f2cc83df811b2b4081ec
2017-10-06 22:01:22 +08:00
Bob Owen
c25dc801cd Bug 1423644: Don't create the nsAppShell hidden message window, when not using native event processing. r=jimm 2017-12-07 10:25:09 +00:00
Aaron Klotz
c7226f11c6 Bug 1419886: Part 1 - Add hooks for UIA detection to nsAppShell; r=jimm
MozReview-Commit-ID: 5p4kZDHcQGn
2017-12-04 17:53:13 -07:00
Andrea Marchesini
b4057b86a1 Bug 1421655 - Renaming imgITools::decodeImageBuffer to imgITools::decodeImageFromBuffer, r=aosmond 2017-11-30 14:48:47 +01:00
lochang
e889dbe685 Bug 1417751 - Implement a new value inner-spin-button to -moz-appearance on all platforms except Android. r=mats
MozReview-Commit-ID: 7jpLCOWZA2x

--HG--
extra : rebase_source : d2a4d160d26e6f6996ed1cb3a673576236b8ef23
2017-11-29 10:43:13 +08:00
Cosmin Sabou
7d7b59dd0b Backed out changeset 423f4e43a975 (bug 1417751) for xpcshell failures at devtools/shared/tests/unit/test_css-properties-db.js r=backout on a CLOSED TREE 2017-11-28 13:50:59 +02:00
lochang
416f319bb8 Bug 1417751 - Implement a new value inner-spin-button to -moz-appearance on all platforms except Android. r=mats
MozReview-Commit-ID: 3I1LBLbCfmF

--HG--
extra : rebase_source : f9a356d592eac90d91a59de0c7ab0ded6ab80ab2
2017-11-28 10:39:50 +08:00
Andrea Marchesini
2ef23c7ade Bug 1420223 - createImageBitmap must work with nsIAsyncInputStream - part 4 - ImageBitmap must use imgITools::decodeImageBuffer, r=aosmond 2017-11-27 17:05:57 +01:00
Gabriele Svelto
cbb30621ec Bug 1402519 - Remove MOZ_CRASHREPORTER directives from widget; r=froydnj
--HG--
extra : rebase_source : 4472a8d6ce5edf1b5a4665d522a1816020308a43
2017-11-23 10:59:04 +01:00
shindli
fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto
c60ce072a7 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from widget; r=froydnj
This does not remove the directives in widget/ContentCache.cpp as those crash
annotations should be temporary and will be removed once bug 1405832 is fixed.

MozReview-Commit-ID: F0STyYDx8F4

--HG--
extra : rebase_source : 737d3e500e1dd066730660fede52226e832305e6
2017-10-10 16:04:47 +02:00
Jean-Yves Avenard
66fa0333bd Bug 1417442 - P2. fix nsIGfxInfo in GPU process. r=dvander
MozReview-Commit-ID: FiU8Ygfh86s

--HG--
extra : rebase_source : 969ff0bc095e30820106ca08ecf5e06e2ebf223e
2017-11-15 23:33:37 +01:00
Chris Peterson
768b96f58b Bug 1415470 - build: Enable VS2017 C5038 initializer list order warnings (like gcc -Wreorder). r=glandium
C5038 is a new warning in VS2017, similar to gcc and clang's -Wreorder, which is enabled by -Wall. We should enable C5038 so Windows developers can see these warnings locally instead of when gcc and clang fail with warnings-as-errors on Try.

https://blogs.msdn.microsoft.com/vcblog/2017/07/21/diagnostic-improvements-in-vs2017-15-3-0/

We need to suppress C5038 warnings from Windows Runtime Library header files (wrl.h) included in ANGLE and widget/windows:

z:\build\build\src\vs2017_15.4.2\SDK\Include\10.0.15063.0\winrt\wrl\wrappers\corewrappers.h(515): error C5038: data member 'Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT<Microsoft::WRL::Wrappers::HandleTraits::SemaphoreTraits>::sync_' will be initialized after data member 'Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT<Microsoft::WRL::Wrappers::HandleTraits::SemaphoreTraits>::status_'
...

And suppress C5038 warnings in upstream webrtc code:

media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.cpp(176): error C5038: data member 'mozilla::media::BaseFilter::mClsId' will be initialized after data member 'mozilla::media::BaseFilter::mState'
media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp(169): error C5038: data member 'mozilla::media::BasePin::mFilter' will be initialized after data member 'mozilla::media::BasePin::mLock'
media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp(170): error C5038: data member 'mozilla::media::BasePin::mLock' will be initialized after data member 'mozilla::media::BasePin::mName'
media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp(172): error C5038: data member 'mozilla::media::BasePin::mDirection' will be initialized after data member 'mozilla::media::BasePin::mQualitySink'

MozReview-Commit-ID: BMDVkvQXNoq

--HG--
extra : rebase_source : 0d5ede9530d0d0750b8fffdc1cdfdc646ec8f22a
2017-11-07 19:52:10 -08:00
Markus Stange
c871c885f9 Bug 1415070 - Cut out the window button shape on Windows 7. r=kats
MozReview-Commit-ID: 6hKuNMqJsMW

--HG--
extra : rebase_source : d8894db275ff4f28dc32d670e400cfb16c14d23c
2017-11-09 16:31:08 -05:00
Sebastian Hengst
89a2feda5a Backed out changeset a4632a2f8aee (bug 1415070) for Windows static bustage. r=backout 2017-11-10 00:04:32 +02:00
Markus Stange
faa36f5313 Bug 1415070 - Cut out the window button shape on Windows 7. r=kats
MozReview-Commit-ID: 6hKuNMqJsMW

--HG--
extra : rebase_source : d8894db275ff4f28dc32d670e400cfb16c14d23c
2017-11-09 16:31:08 -05:00
Mats Palmgren
1c2b8c222e Bug 1414666 part 1 - Add nsIFrame::PresShell() for convenient access to the shell. r=emilio
MozReview-Commit-ID: 8FPTPKWyVtY
2017-11-09 03:00:48 +01:00
Johann Hofmann
fc671c4d92 Bug 1299286 - Enable touchdown to start dragging on elements with touchdownstartsdrag attributes. r=kats
MozReview-Commit-ID: 8TL9VfY88ip

--HG--
extra : rebase_source : a560e2e9ac4a7ff633f597c0ff20f39373fd30a8
2017-11-03 13:09:21 +01:00
Masayuki Nakano
93977460e2 Bug 1406446 - part 1: InputContextAction should treat focus change during handling a user input as caused by user input even if it's caused by JS r=smaug
Currently, widget doesn't show VKB when input context change is caused by JS.
However, if it's caused by an event handler of a user input, user may expect
to open VKB.  For example, if a touch event in fake editor causes moving
focus to actual editable node, user expect to show VKB.

Therefore, InputContextAction should declare two causes.  One is unknown but
occurred during handling non-keyboard event.  The other is unknown but occurred
during handling keyboard event.

However, EventStateManager doesn't have an API to check if it's being handling
a keyboard event.  Therefore, this patch adds it first.
AutoHandlingUserInputStatePusher sends event type to StartHandlingUserInput()
and StopHandlingUserInput() of EventStateManager and sUserKeyboardEventDepth
manages the number of nested keyboard event handling.  Therefore,
EventStateManager::IsHandlingKeyboardInput() can return if it's handling a
keyboard event.

IMEStateManager uses this new API to adjust the cause of changes of input
context.

Finally, InputContextAction::IsUserInput() is renamed to IsHandlingUserInput()
for consistency with EventStateManager and starts to return true when the
input context change is caused by script while it's handling a user input.

MozReview-Commit-ID: 5JsLqdqeGah

--HG--
extra : rebase_source : 9fcf7687d1bf90eeebbf6eac62d4488ff64b083c
2017-10-24 02:46:15 +09:00
Tom Ritter
f9519e7a49 Bug 1412611 Reorder member initialization to fix -Wreorder warning in widget/windows/nsLookAndFeel.cpp r=njn
MozReview-Commit-ID: EJp1FqllORN

--HG--
extra : rebase_source : f7c8983f3ae7e1aae1a14fd7321ab1aae8b7ba04
2017-10-28 23:36:04 -05:00
Tom Ritter
cc4335e0ce Bug 1411743 Resolve warnings in tests for MinGW: Cast -1 to DWORD, and ignore a result explicitly r=jimm
MozReview-Commit-ID: 82r05lMszXd

--HG--
extra : rebase_source : 628cdfe9b3743f4b107bef2977cb0a833032915c
2017-10-25 15:40:35 -05:00
Brad Werth
02cebae10b Bug 1403690 Part 2: Windows change nsLookAndFeel::NativeGetColor to use cached colors. r=jimm
MozReview-Commit-ID: 7CKUrtCYC0j

--HG--
extra : rebase_source : 195a02ee96587980963b3e8c6f6b14d68321b757
2017-10-02 16:17:05 -07:00
Masayuki Nakano
e78b3f56ea Bug 1409155 - IMEHandler should not associate IMC with any window if active IME is ATOK 2010 or earlier with x64 build on Win8 or later r=m_kato
ATOK started to be TIP of TSF since 2011.  Older than it, i.e., ATOK 2010 and
earlier have a lot of problems even for daily use.  Perhaps, the reason is
Win 8 has a lot of changes around IMM-IME support and TSF, and ATOK 2010 is
released earlier than Win 8.

ATOK 2006 crashes while converting a word with candidate window.
ATOK 2007 doesn't paint and resize suggest window and candidate window
correctly (showing white window or too big window).
ATOK 2008 and ATOK 2009 crash when user just opens their open state.
ATOK 2010 isn't installable newly on Win 7 or later, but we have a lot of
crash reports.

Note that ATOK 2006 is the first version supporting Win XP x64.  So, ATOK 2005
must not support x64 apps.

Unfortunately, we cannot block loading DLLs of them.  Therefore, IMEHandler
should disassociate IMC from active window when user changes active keyboard
layout to the legacy ATOK and not associate IME with any window when
SetInputContext() is called even with "enabled".  Additionally, when user
changes active keyboard layout from the legacy ATOK to one of the other
keyboard layouts, IMEHandler should associate IMC with current window for
new active IME.

MozReview-Commit-ID: RVYwmYxzO7

--HG--
extra : rebase_source : c237a3aca6ceb6a1f7251bd9421e4b905be5bc6c
2017-10-25 23:51:27 +09:00
Masayuki Nakano
ad20ed277d Bug 1410988 - Add a debug mode pref to emulate odd touchpad utils which give focus to window under mouse cursor when user tries to scroll the content r=jimm
Some odd touchpad utils give focus to window under mouse cursor when user tries
to scroll the content with swiping or something.

This is really odd behavior because some windows like popup windows doesn't
want focus. However, such ones do actually. For making easier to check such
device's behavior, we should have a pref to emulate such behavior.

MozReview-Commit-ID: 6euwpHn7blf

--HG--
extra : rebase_source : cc23f08f422f25f2851404696e06e069c7936186
2017-10-19 02:28:37 +09:00
Sebastian Hengst
57fbe8068c Backed out changeset 251b52554fee (bug 1403690) 2017-10-23 22:05:16 +02:00
Sylvestre Ledru
d60d69e2cb Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj
MozReview-Commit-ID: DjDkL20wRg0

--HG--
extra : rebase_source : a343d83d1f4e97e4ba56d0f57fec93079df0b5ea
2017-10-23 20:59:55 +02:00
Brad Werth
640cfc0812 Bug 1403690 Part 2: Windows change nsLookAndFeel::NativeGetColor to use cached colors. r=jimm
MozReview-Commit-ID: 7CKUrtCYC0j

--HG--
extra : rebase_source : 7a1cd1af3adb78cd66289b718298cb4f8b3b7006
2017-10-02 16:17:05 -07:00
Sebastian Hengst
a78557217a Backed out changeset 69668003e827 (bug 1403690) 2017-10-23 18:21:20 +02:00
Brad Werth
fc748892e5 Bug 1403690 Part 2: Windows change nsLookAndFeel::NativeGetColor to use cached colors. r=jimm
MozReview-Commit-ID: 7CKUrtCYC0j

--HG--
extra : rebase_source : e7167a3a581a6bfa5025f23fea8ec5a4c56ed876
2017-10-02 16:17:05 -07:00
Masatoshi Kimura
dbd92543c6 Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3

--HG--
extra : rebase_source : 5db437f1c34608aa223916874d62b48c59baeae8
2017-10-21 23:53:02 +09:00
Mantaroh Yoshinaga
a2c7cc72d9 Bug 1405210 - Part 3: Apply clang-format to added print dialog widget code. r=jimm
./mach clang-format --path widget/windows/nsPrintDialog*

MozReview-Commit-ID: T1WuQ41GAN

--HG--
extra : rebase_source : b95643e4f50ecd47ea00cf4ea6d18e09c0b69598
2017-10-19 11:04:50 +09:00
Mantaroh Yoshinaga
acf3afca30 Bug 1405210 - Part 2: Move native printing dialog code to windows widget. r=jimm
This patch will
 * Move native print dialog code to the PrintDialogService of widget.
 * Toolkit call PrintDialogService instead of calling the native print dialog.
 * Change SetWindowText/CreateWindow to SetWindowTextW/CreateWindowW
   in order to treat localized string correctly.

MozReview-Commit-ID: DOgp3STaJ4t

--HG--
rename : toolkit/components/printingui/win/nsPrintDialogUtil.cpp => widget/windows/nsPrintDialogUtil.cpp
rename : toolkit/components/printingui/win/nsPrintDialogUtil.h => widget/windows/nsPrintDialogUtil.h
extra : rebase_source : 9b428f528156a70f5a127b1eeec60f6f593387a0
2017-10-19 11:04:30 +09:00
Mantaroh Yoshinaga
bcd8f8c970 Bug 1405210 - Part 1: Add PrintDialogService to windows widget. r=jimm,mshal
In order to move print native dialog code to windows widget, this patch will
create skeleton of PrintDialogService to windows widget.
Toolkit code(i.e. nsIPrintingPrompotService) will call this PrintDialogService.

Note that this PrintingDialogService suppose running on main process, so we
should call this interface from main process(i.e. nsPrintingPromptService, not
nsPrintingProxy).

MozReview-Commit-ID: 3P6kac9I9W4

--HG--
extra : rebase_source : 5b5ecd104cf4cecd1b68a3d6d4b33aca9fea9548
2017-10-19 11:04:13 +09:00
Tom Ritter
37b20d345d Bug 1409619 Resolve signed/unsigned comparison warning by fixing function definitions to be signed in widget/windows/TSFTextStore r=jimm
The functions changed are given signed arguments (that are converted to unsigned).
Changing them to signed resolves the warnings and preserves the original values.

MozReview-Commit-ID: BxIAECFiuQR

--HG--
extra : rebase_source : c48cef46f3ad5a060ad1f33d1c97744bfa8a82d7
2017-10-17 23:37:31 -05:00
Tom Ritter
6d7c28697b Bug 1409620 Move definition of inline function from .cpp to .h in widget/windows/KeyboardLayout r=jimm
inline functions are supposed to be declared in the header file, so the compiler can inline them.
gcc complains about this, but clang/msvc apparently do not.

We also needed to move the DeadKey struct and class into the header, as the function calls a
method on the DeadKey class, and you can't do that on a forward declared class.

MozReview-Commit-ID: 8NxP59AXuZi

--HG--
extra : rebase_source : 9fd74d2c571bdeb4244cb63baf508946a2f19aa6
2017-10-17 23:58:37 -05:00
Tom Ritter
14365dc63c Bug 1404035 Address an unused-result warning in widget/windows/KeyboardLayout.cpp r=jimm
The intention of these macros here is merely to log a warning and enable
a developer to notice the inconsistency. Pass the result to Unused.

MozReview-Commit-ID: 9IOuwQ3InVm

--HG--
extra : rebase_source : 83f265a5e042dee0c2ad66d45b67906f1b0422aa
2017-10-02 11:24:53 -05:00
Kris Maglione
c2da8a30a3 Bug 1404198: Part 2d - Switch to NS_NewTimer* in widget. r=njn
MozReview-Commit-ID: G4S8q9DYPS0

--HG--
extra : rebase_source : 9c6da05bf2ef3cfee551879879330a85688b1f5d
2017-10-15 23:12:54 -07:00
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
ffb949f627 merge mozilla-central to autoland. r=merge a=merge 2017-10-09 11:23:26 +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
Tom Ritter
f49999833d Bug 1406380 Fix -Wreorder warnings r=njn
MozReview-Commit-ID: 7Zh2pvAMpXR

--HG--
extra : rebase_source : 5052112ad66a66cd2974c4140c3fd430dcaa3adc
2017-10-09 01:36:36 -05: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
5d61e2eec8 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: JDCYKq7yKwb
2017-10-07 10:45:11 +02:00
Kyle Machulis
6a4d37f8bb Bug 1403819 - Remove nsIDOMHTMLCanvasElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLCanvasElement, replacing it
with binding class usage.

MozReview-Commit-ID: DQJhqGlY8U6
2017-10-06 10:49:26 -07:00
Tom Ritter
349f097743 Bug 1403698 Address delete-non-virtual-dtor warnings r=froydnj
MozReview-Commit-ID: 44XiqegImiT

--HG--
extra : rebase_source : 52ddc3caa3243aaef9e2397b4a28e318da101a8c
2017-10-06 11:27:35 -05:00
Wes Kocher
8c2d84a198 Backed out changeset 959244bbe99d (bug 1403819) for windows build failures in TaskbarPreview.cpp a=backout CLOSED TREE
MozReview-Commit-ID: 6nOitwKk7JX

--HG--
extra : amend_source : 3eb1aecc07ab474fe3e1b5d9157bcb751a2d89d4
2017-10-05 17:43:43 -07:00
Kyle Machulis
3ea37c285d Bug 1403819 - Remove nsIDOMHTMLCanvasElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLCanvasElement, replacing it
with binding class usage.

MozReview-Commit-ID: DQJhqGlY8U6

--HG--
extra : rebase_source : a33146a22ee356a0840bb9fef82d51b2b315f6d7
2017-09-28 12:17:07 -07: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
d8985b6e57 Merge inbound to central, a=merge
MozReview-Commit-ID: IUFdbLdYFhX
2017-10-04 16:37:59 -07:00
Masayuki Nakano
5726ada8a0 Bug 1404206 - Part 2: Make TSFTextStore and IMEHandler handle "mozAwesomebar" inputmode value. r=m_kato, r=gijs
When "mozAwesomebar" is set to inputmode value, that means that the Smart
Location Bar gets focus.  In that case, we should notify IME of input scopes
as "URL" because on-screen keyboard for URL has some useful additional keys
but they are not hindrances even when users want to type non-URL text.

On the other hand, MS-IME for Japanese and Google Japanese Input changes their
open state to "closed" if we notify them of URL input scope.  A lot of users
complain about this behavior.  Therefore, we should notify only them of
"Default" input scope even when "mozAwesomebar" has focus.

MozReview-Commit-ID: DIgqpR7TXQx
2017-09-29 15:15:14 +09:00
Tom Ritter
c6c164aef4 Bug 1404147 Make string index and lengths unsigned to resolve signed/unsigned comparison warning r=jimm
MozReview-Commit-ID: Cpo5Gd1puzd

--HG--
extra : rebase_source : 0f47604366d2cfd8356c4d76c6dccdb03a42b0fe
2017-09-28 18:01:58 -05:00
Tom Ritter
411be7e1c2 Bug 1403825 Resolve sequence-point warning in widget/windows/TSFTextStore.cpp r=jimm
This warning is saying the operation may be undefined because the value of
->left is not guarenteed to be the same because of undefined order of operations.

Fortunately, this seems like a typo and we actually meant to assign ->bottom

MozReview-Commit-ID: H5G8fnDwIJP

--HG--
extra : rebase_source : cd6a2463a90b6675b12bb8255fe605937771bee8
2017-09-28 00:33:11 -05:00
David Parks
0601f5b64f Bug 1339259 - Hold Windows AudioSession object while recycling registration. r=jimm
When we UnregisterAudioSessionNotification in response to an OnSessionDisconnected
message, we unintentionally decrement the refcount before restoring it. This KungFu
grips us for the duration of that operation.

--HG--
extra : rebase_source : 7c7e786064811d040d23741c143d9eef04edb5e0
2017-09-28 14:28:39 -07:00
David Anderson
8610b0c3b3 Block D3D11 when using Intel drivers on Windows 7 systems with partial AVX support. (bug 1403353, r=jrmuizel) 2017-09-28 10:51:59 -07:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
cku
db62fce416 Bug 1401888 - Part 3. Make EMFViaExtDLLHelper inherit from PDFViaEMFPrintHelper. r=fatseng
Reuse the code in PDFViaEMFPrintHelper.
MozReview-Commit-ID: 3NAVxuv2jJH

--HG--
extra : rebase_source : 059efda5fc232ec741557b32e6956a58dff76691
2017-09-21 15:43:34 +08:00
cku
80b1379b3e Bug 1401888 - Part 2. Implement PDFiumEngineShim::GetInstanceOrNull(const nsCString&) r=fatseng
With this change, we are able to load PDFium engine from different library.
MozReview-Commit-ID: ErAZCPRzRR5

--HG--
extra : rebase_source : f0421af9c70d69564ed8f96d32870314871aabef
2017-09-21 15:22:18 +08:00
cku
59db10f1d3 Bug 1401888 - Part 1. Move PDFiumEngineShim::Init to private section. r=fatseng
MozReview-Commit-ID: KK1wAv1KoPh

--HG--
extra : rebase_source : 7a7dfd78cec1356f607f1ee421388337aa03aaf2
2017-09-21 15:16:40 +08:00
Chris Peterson
45aa2a8e8e Bug 870698 - Part 2: Replace Append("") with AppendLiteral(""). r=erahm
MozReview-Commit-ID: CrkIP4iHP1U

--HG--
extra : rebase_source : 5dc4e91a3f1860773c199f1abf3f66479218834a
extra : intermediate-source : ba51cc79847f2b43ba616f4a5d2bbc6958ca9f6d
extra : source : 1fda2fa990cc918c748ffa14fcc5dbe13fe3bdc3
2017-09-03 22:14:11 -07:00
Chris Peterson
9f4c1f5278 Bug 870698 - Part 1: Replace Assign("") with AssignLiteral(""). r=erahm
MozReview-Commit-ID: A0u9PP49OW3

--HG--
extra : rebase_source : 7d5286959f510eb4b7df1b7e32d5b9b58719c48b
extra : intermediate-source : f552b4a78236c42bc09030b3eb008725a3edb9c8
extra : source : 26ac4a1014f6661a70e3bf9f552407e12c2c3981
2017-09-03 22:12:56 -07:00
sotaro
abf683608c Bug 1294788 - Disable AssumeThemePartAndStateAreTransparent() on high contrast mode since Win8.1 r=jrmuizel
The problem happened only on themed widget. The problem was triggered by Bug 888870. It just added Windows 8.1 support. When high contrast mode was enabled on Win 10, background color problem happend on themed widgets. There were 2 patterns.
- After hover the menu item, its background color remained highlighted
- After hover the menu item, its background color became black

From it, the problem seemed to be caused by background color drawing of themed widgets. nsNativeThemeWin::DrawWidgetBackground() does the background color drawing. AssumeThemePartAndStateAreTransparent() controls skipping background color drawing of themed widgets. If AssumeThemePartAndStateAreTransparent() was removed, the problem was addressed. From it, how DrawThemeBackground() works seems to be changed on high contrast mode since since Win8.1. To address the problem, the patch remove the skipping on high contrast mode since since Win8.1
2017-09-22 19:07:15 +09:00
cku
23d67624cd Bug 1401069 - Part 8. Give a detailed comment to explain how to react when hitting this assertion in OpenDocument(). r=fatseng
MozReview-Commit-ID: 74UkMV3ZOWm

--HG--
extra : rebase_source : 5fedf61f8a737ecac5668d372bff48b224859fdb
2017-09-18 23:55:54 +08:00
cku
24298df89b Bug 1401069 - Part 7. Declare GetPageCount as a const member function. r=fatseng
MozReview-Commit-ID: IRM8FikStJi

--HG--
extra : rebase_source : 5eb8658bc684054cc3084372cc5bf491d4db161c
2017-09-18 23:46:44 +08:00
cku
87185c9c9e Bug 1401069 - Part 6. Fine tune ComputeScaleFactor. r=fatseng
Make the implementation of it moew consice.
MozReview-Commit-ID: J7v98HBLhT

--HG--
extra : rebase_source : bc6e55c6cb0833c14eafd18338e79fc1a32c46c1
2017-09-18 23:40:05 +08:00
cku
daf81c865b Bug 1401069 - Part 5. Remove two local variables since we do not need them. r=fatseng
dcWidth and dcHieght are used only once, we do not need to define a local
variable for any of them.
MozReview-Commit-ID: Fw5rHqtUPQN

--HG--
extra : rebase_source : 52b5381319fc6626e7f1ec4111dad70482a092cd
2017-09-18 23:28:08 +08:00
cku
4ba0283028 Bug 1401069 - Part 4. Change argument type from 'const RECT *' to reference type in WindowsEMF::Playback. r=fatseng
MozReview-Commit-ID: 4StsIm9sqeC

--HG--
extra : rebase_source : b1602542ed4478304352457ea5bfa220aae1dac7
2017-09-18 23:25:34 +08:00
cku
cc1dccb273 Bug 1401069 - Part 3. Declare WindowsEMF::GetDC as const member function. r=fatseng
MozReview-Commit-ID: BX7ahnIok2T

--HG--
extra : rebase_source : f245814808a1714895dc7e83e38f357fbe29a168
2017-09-18 23:19:31 +08:00
cku
7a420a808c Bug 1401069 - Part 2. Implement ReleaseAllResource to make WindowsEMF::InitForDrawing reusable. r=fatseng
Currently, WindowsEMF::InitForDrawing can be used once. With the change in this
patch, we can call WindowsEMF::InitForDrawing and Playback/SaveToFile in pair
as many times as we want.

MozReview-Commit-ID: 4fbY4Q6i9v5

--HG--
extra : rebase_source : 4df3fc7d8663d7f552c96204a16d73261bfc9dd7
2017-09-18 23:16:08 +08:00
cku
cbacd9e2bd Bug 1401069 - Part 1. Check the value of mPDFDoc and early return if it's invalid in both RenderPageToDC and DrawPageToFile. r=fatseng
MozReview-Commit-ID: LQ9LTL8ZRKJ

--HG--
extra : rebase_source : c74f3c5f317677cb76aa4cce741c5be76421af13
2017-09-18 23:59:29 +08:00
Nicholas Nethercote
ebf1cb320b Bug 1400148 - Don't use -1 to represent an unset nsCursor. r=karlt.
Because UBSan complains about casting -1:

> runtime error: load of value 4294967295, which is not a valid value for type 'nsCursor'

--HG--
extra : rebase_source : 037a96700228ea0d427afa7c25c40490c701cdc4
2017-09-15 14:34:37 +10:00
Jean-Yves Avenard
21b23b41d6 Bug 1352016 - P2. Allow nsIGfxInfo service in GPU process on Windows. r=dvander
We'll need it to determine if NV12 D3D11 surface are operationals.

MozReview-Commit-ID: FvsxGhnv7H1

--HG--
extra : rebase_source : 4580819b19aa36d7d26ee7d05934eaaddd17206a
2017-09-13 16:35:14 +02:00
Masayuki Nakano
4b414a44a2 Bug 1395876 - Initialize TSF modules after we create first normal window r=m_kato
Currently, we initialize TSF modules when there is only message window (this
started from bug 1341915).  At this time, QQ Input (Simplified Chinese TIP)
fails to initialize itself.

Therefore, we should put off to initialize TSF modules after creating first
normal window.  Then, initialize its IMC and input context for the window.

IMEHandler::InitInputContext() should be called when each normal window is
created.  Therefore, calling Initialize() from it can guarantee there is
at least one normal window when Initialize() is called.

MozReview-Commit-ID: IfR4y3pYv6J

--HG--
extra : rebase_source : 3f36acfa65567f140eea9c7fc12d6268aadbd5ef
2017-09-08 16:26:54 +09:00
Adam Gashlin
d064e4ee67 Bug 1393685 - Cache the result of GetGutterSize to avoid expensive calls to GetThemeMargins(). r=jimm
--HG--
extra : amend_source : 040cddfc214b0d3ab57fc6644807395365275e1d
2017-09-05 17:40:00 -04:00
Sebastian Hengst
ec5336561d merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 3DvwIgw2ORU
2017-09-07 23:59:58 +02:00
Ryan VanderMeulen
4d504e0608 Backed out 3 changesets (bug 1393230) because it touches the servo directory.
Backed out changeset 9115364cd4aa (bug 1393230)
Backed out changeset f762f605dd83 (bug 1393230)
Backed out changeset c366bfc13e86 (bug 1393230)
2017-09-07 09:33:53 -04:00
Kirk Steuber
6e217001f8 Bug 1362382 - Move RegisterDragDrop to be called during idle time, if possible r=jimm
Additionally, do not call RegisterDragDrop for hidden windows.

MozReview-Commit-ID: Fv8j9FntGGT

--HG--
extra : rebase_source : fccbc576887d000805da8ac915d16fc4fddfeceb
2017-08-30 11:18:25 -07:00
Eric Rahm
70ece631cb Bug 1393230 - Part 2: Fix more improper string usages. r=njn
This fixes improper usages of Find where an offset was actually being use for
the boolean ignore case flag. It also fixes a few instances of passing in a
literal wchar_t to our functions where a NS_LITERAL_STRING or char16_t should
be used instead.
2017-08-31 15:52:30 -07:00
Will Wang
8955c23a64 Bug 1357114 - Move the taskbar refresh timer to idle dispatch. r=florian 2017-09-07 12:15:13 +08:00
Eric Rahm
0617c21c24 Bug 1393230 - Part 2: Fix more improper string usages. r=njn
This fixes improper usages of Find where an offset was actually being use for
the boolean ignore case flag. It also fixes a few instances of passing in a
literal wchar_t to our functions where a NS_LITERAL_STRING or char16_t should
be used instead.

--HG--
extra : rebase_source : 5de1e9335895d65e6db06c510e8887d27be3390f
extra : source : f762f605dd83fc6331161a33e1ef5d54cafbd08d
2017-08-31 15:52:30 -07:00
Alastor Wu
c599481d78 Bug 1373888 - part7 : modify platform wakelocks. r=cpearce,snorp,spohl
* OSX
Make the lock of the type kIOPMAssertionTypeNoDisplaySleep and kIOPMAssertionTypeNoIdleSleep
as a singleton. Won't need to require an extra lock.

* Windows
Add |mRequireForDisplay| to ensure the "audio-playing" won't overwrite the previous
display requirement.

* Android
Add "audio-playing" and "video-playing", and make sure the audio-lock won't be cancel
when receiving "WakeLockDelegate.STATE_LOCKED_BACKGROUND".

MozReview-Commit-ID: 97oNX7H2qij

--HG--
extra : rebase_source : 24fa8b267ad97d668fa55462d1f61ef5c92b632f
2017-08-29 15:28:23 +08:00
Alastor Wu
0be0a7c288 Bug 1373888 - part4 : request non-display wake lock for audio playing. r=cpearce,spohl
According to [1], kIOPMAssertionTypeNoDisplaySleep prevents display sleep and
kIOPMAssertionTypeNoIdleSleep prevents idle sleep.

We should use kIOPMAssertionTypeNoIdleSleep for audio playing, because it won't
need to block the display.

[1] https://developer.apple.com/library/content/qa/qa1340/_index.html

---

On Windows, ES_DISPLAY_REQUIRED forces display on, and ES_SYSTEM_REQUIRED forces
system on working state [2].

[2] https://msdn.microsoft.com/zh-tw/library/windows/desktop/aa373208(v=vs.85).aspx

MozReview-Commit-ID: Izs29PdzQOW

--HG--
extra : rebase_source : d0726131735b9cedf566f937204e585345b9d5e3
2017-08-29 15:25:34 +08:00
Alastor Wu
6a6ee2a0d7 Bug 1373888 - part3 : rename the topic of the wake lock. r=cpearce
For knowing the wake lock usage more clearly, we should use more specific topic name.

In OSX, you can use "$ pmset -g assertions" to check all the wakelock.
In Windows, using "$ powser -energy" to generate the energy report.

MozReview-Commit-ID: rAXnkxTvLc

--HG--
extra : rebase_source : 42ebf204673d3c913739f64c71c24af20d37c95d
2017-08-29 10:54:28 +08:00
Tom Ritter
52deded719 Bug 1393536 Clean up unused variables in widget/ r=jimm
MozReview-Commit-ID: 9NBzIriF8NU

--HG--
extra : rebase_source : da185c4e55d066ec61b534d32a06d7d1819d35ca
2017-08-25 10:39:30 -05:00
Tom Ritter
74d0b2c8b2 Bug 1393528 Add parentheses to a confusing if statement r=jimm
MozReview-Commit-ID: rKnimtw55c

--HG--
extra : rebase_source : 7687a5e38803090ca56c18ffbff106fa50bef1b7
2017-08-24 12:34:09 -05:00
Wes Kocher
bd5fb0a92d Merge m-c to autoland, a=merge
MozReview-Commit-ID: AHOFLdPkEou
2017-08-23 18:08:30 -07:00
Makoto Kato
5251e6a945 Bug 1390097 - Revert a part of bug 1354020 changes. r=masayuki
Bug 1354020 causes that IMM-IME on Windows 7 doesn't work with --no-remote.  Although I think that this issue is OS or IME bug, when default window proceduce by RegisterClass is DefaultWindowProcW, Google Japanese IME doesn't work.

I am not sure why this issue occurs when lpfnWndProc is DefWidnowProcW and DDE isn't started.  But for workaround, we should revert a part of bug 1354020 changes.

MozReview-Commit-ID: BkxlZnm8mIh

--HG--
extra : rebase_source : 21c1d86fb5628dbd726a15e5057a536271cfb26d
2017-08-23 12:59:40 +09:00
Nicholas Nethercote
f582d96b98 Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm.
This is straightforward, with only two notable things.

- `#include "nsXPIDLString.h" is replaced with `#include "nsString.h"`
  throughout, because all nsXPIDLString.h did was include nsString.h. The
  exception is for files which already include nsString.h, in which case the
  patch just removes the nsXPIDLString.h inclusion.

- The patch removes the |xpidl_string| gtest, but improves the |voided| test to
  cover some of its ground, e.g. testing Adopt(nullptr).

--HG--
extra : rebase_source : 452cc4a08046a1adb1a8099a7e85a1917de5add8
2017-08-17 15:29:03 +10:00
Eric Rahm
a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00