Commit Graph

24418 Commits

Author SHA1 Message Date
William G Hatch
6568267252 Bug 1513405 - KeymapWrapper::ComputeDOMKeyCode() shouldn't ignore modifiers when computing keyCode value of non-printable key event r=karlt, masayuki
Some unusual keyboard layout may map a function key only with some
modifiers.  For example, Hatchak keyboard layout maps Tab key to
"Digit3" key and Backspace key to Level3 Shift+"Digit3" key.  So,
when Level3 Shift is active, the modifier state of the "Digit3" key
event shouldn't be ignored because computed keyCode value becomes
DOM_VK_TAB (9) rather than DOM_VK_BACK_SPACE (8).

This patch makes KeymapWrapper::ComputeDOMKeyCode() compute keyCode
value of non-printable key event with its modifier state first.  If
it cannot map to a DOM keyCode value, then, it keeps ignoring the
modifier state for backward compatibility and making web apps be able
to identify the key as far as possible.
2019-01-09 18:36:43 +09:00
Kestrel
14467a827a Bug 1514715 - Update color prefs for new color IDs including -moz-win-accentcolor r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D14723

--HG--
extra : moz-landing-system : lando
2019-01-09 16:37:34 +00:00
Thomas Nguyen
a03f43622d Bug 1482659 - Purge the last sound, free then start to play a sound r=m_kato,masayuki
Because we don't know when the PlaySound API stop/finish playing. So when starting to play a sound, we should call PlaySound(0,0,PURGE) to stop playing then free the last data sound.

Differential Revision: https://phabricator.services.mozilla.com/D14554

--HG--
extra : moz-landing-system : lando
2019-01-09 12:26:46 +00:00
Adam Gashlin
22936a258f Bug 1514501 - Fix screen selection and scaling for fullscreen r=jmathies
I needed to scale the layout device pixels coming from Windows before passing them to ScreenForRect(). Also, I'm using GetRect() directly instead of GetRectDisplayPix() * scale now, to avoid an unnecessary double scale & round which was making fullscreen windows off by one pixel in many cases.

Differential Revision: https://phabricator.services.mozilla.com/D15604

--HG--
extra : moz-landing-system : lando
2019-01-09 16:35:40 +00:00
Xidorn Quan
f058e5cdbd Bug 1516068 - Fix a wrong indentation in nsNativeThemeWin. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D15246

--HG--
extra : moz-landing-system : lando
2019-01-09 16:37:02 +00:00
Barret Rennie
65938f22af Bug 1514803 - Replace XPCOM image encoder instance creation in gfxUtils::EncodeSourceSurface r=jrmuizel
gfxUtils::EncodeSourceSurface no longer uses a stringly-typed API to create a
`imgIEncoder` for the relevant MIME type. Instead, we now use an enum class and
switch on it to create the encoder.

Depends on D14816

Differential Revision: https://phabricator.services.mozilla.com/D14817

--HG--
extra : moz-landing-system : lando
2019-01-09 16:29:33 +00:00
Razvan Maries
665c57df8d Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-01-09 05:55:28 +02:00
Dzmitry Malyshau
cddd33e700 Bug 1518605 - New WebRender ClipId/SpatialId API. r=kats
Port to separate SpatialId from ClipId in Webrender API (WR PR #3251).
Patch was originally written and reviewed on bug 1503447.

Depends on D16005

Differential Revision: https://phabricator.services.mozilla.com/D16006

--HG--
extra : moz-landing-system : lando
2019-01-09 03:27:07 +00:00
Tim Nguyen
b4b53b1761 Bug 1516867 - Clamp selection color saturation between 0 and 255 in nsLookAndFeel.mm. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D15500

--HG--
extra : rebase_source : 2f7ced5f752a87b7df61aa0756b9315ca264ecab
extra : amend_source : 5f0fb6dc3ca07d34fd2b160490a1ade9c5daa424
2018-12-30 13:58:10 +01:00
Gijs Kruitbosch
38b9379998 Bug 1515103 - show frame rate and whether we're on a low end device in about:support, r=kats,jaws,flod
Differential Revision: https://phabricator.services.mozilla.com/D15844

--HG--
extra : moz-landing-system : lando
2019-01-08 15:48:24 +00:00
Masayuki Nakano
a129d2b2b6 Bug 1516326 - part 2: Log more in KeymapWrapper r=m_kato
We haven't logged KeymapWrapper::HandleKeyPressEvent() nor
KeymapWrapper::HandleKeyReleaseEvent().  Therefore, this patch makes them
put their behavior into the log.

Additionally, KeymapWrapper::InitKeyEvent() does not log enough the result
of initialized WidgetkeyboardEvent.  This patch makes it log more.

With those changes, we can get the log of:
- detail of dispatched keyboard events
- which key event didn't cause keyboard events
- which keyboard event was consumed

Note that the utility methods are copied from widget/windows.  Perhaps,
we should create XP logging helper for keyboard/IME later.

Differential Revision: https://phabricator.services.mozilla.com/D15324

--HG--
extra : moz-landing-system : lando
2019-01-07 10:05:56 +00:00
Masayuki Nakano
0eed04a27d Bug 1516326 - part 1: Move implementation of nsWindow::OnKeyPress() and nsWindow::OnKeyRelease() into KeymapWrapper r=karlt
Move all implementation of nsWindow::OnKeyPress() and nsWindow::OnKeyRelease()
into KeymapWrapper because the implementation is a little bit complicated
but not loggable.  When we get bug reports which depend on environment around
IME/key handling like bug 1498823, it's useful to log those methods behavior
too.

Differential Revision: https://phabricator.services.mozilla.com/D15323

--HG--
extra : moz-landing-system : lando
2019-01-07 23:15:33 +00:00
Doug Thayer
a848222b53 Bug 1441308 - Split out document pieces of WebRenderLayerManager r=jrmuizel
Per our discussion, this patch splits out the state management bits of
WebRenderLayerManager, allowing for them to be maintained per-document.

Differential Revision: https://phabricator.services.mozilla.com/D13577

--HG--
extra : moz-landing-system : lando
2019-01-07 21:33:10 +00:00
Bogdan Tara
9600ad4953 Backed out changeset b776171d854c (bug 1515103) for browser_Troubleshoot.js failures CLOSED TREE 2019-01-07 22:28:59 +02:00
Gijs Kruitbosch
fca05d0c79 Bug 1515103 - show frame rate and whether we're on a low end device in about:support, r=kats,jaws,flod
Differential Revision: https://phabricator.services.mozilla.com/D15844

--HG--
extra : moz-landing-system : lando
2019-01-07 18:48:11 +00:00
Martin Stransky
5844dd5c5b Bug 1516101 - Don't use locale-specific AppendPrintf() to print float values, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D15836

--HG--
extra : moz-landing-system : lando
2019-01-07 14:43:31 +00:00
Masayuki Nakano
ed2040ac16 Bug 1447239 - Implement InputEvent.inputType r=smaug
This patch implements InputType.inputType which is declared by Input Events.
The attribute has already been implemented by Chrome and Safari.  Chrome
implements Input Events Level 1, but Safari implements Input Events Level 2.
 Difference between them is only whether it supports "insertFromComposition",
"deleteByComposition" and "deleteCompositionText".  This patch makes the
level switchable with pref and takes Level 1 by default because Level 2 is
still unstable around event order with composition events.

For reducing string copy cost at dispatching "input" event, this patch
makes EditorInternalInputEvent store valid input-type as enum class,
EditorInputType and resolves it to string value when
dom::InputEvent::GetInputType() is called.  Note that the reason why
this patch names the enum class as EditorInputType is, there is InputType
enum class already for avoiding conflict the name, this appends "Editor"
prefix because "input" and "beforeinput" events are fired only when an
editor has focus.

Differential Revision: https://phabricator.services.mozilla.com/D14128

--HG--
extra : moz-landing-system : lando
2019-01-07 10:10:57 +00:00
Tom Schuster
79d3c5244b Bug 571074 - Mark nsITransferable.getTransferData as [must_use]. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D13454

--HG--
extra : moz-landing-system : lando
2019-01-04 16:16:59 +00:00
Tooru Fujisawa
ba1b11b334 Bug 1509384 - Use IPC::Principal instead of Principal URI string in Drag-and-Drop. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D13728

--HG--
extra : moz-landing-system : lando
2019-01-04 03:16:46 +00:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Sylvestre Ledru
cccdda3c2a Bug 1516555 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D15426

--HG--
extra : moz-landing-system : lando
2018-12-28 15:48:06 +00:00
Masayuki Nakano
6ea1231fae Bug 1498823 - Make KeymapWrapper::FilterEvents() ignore synthesized KeyPress events r=m_kato
With an event filter method, we're logging all key events on any widgets to
check whether a key is pressed or not, to set
WidgetKeyboardEvent::mIsRepeat properly.  If iBus and Fcitx work as expected,
they synthesize key events with setting their own modifier state which indicate
the events are synthesized by IME.  In this expected case, synthesized key
events are not caught by the filter.

On the other hand, in some environment, they keep handling key events
asynchronously but they or something another module synthesizes key events
without the flag and such events are caught by the filter because the events
are posted into the event queue.  Therefore, we decide that such synthesized
events are always generated by auto-repeat (first events which are always
filtered by IME are treated as first press, and then, synthesized events are
treated as repeated events because of no key release events).

This patch makes KeymapWrapper::FilterEvents() ignore coming KeyPress
events if:
- the time is exactly same as previous KeyPress event
- and IMContextWrapper instance is now waiting a GDK_KEY_PRESS event
- and hardware_keycode of waiting GDK_KEY_PRESS event is same as
  keyCode of the KeyPress event

Differential Revision: https://phabricator.services.mozilla.com/D15380

--HG--
extra : moz-landing-system : lando
2018-12-28 07:02:05 +00:00
James Willcox
e2e452c637 Bug 1501748 - Make GeckoThread.waitOnGecko() time out by default. r=geckoview-reviewers,esawin
All of the current usage can survive a timeout, and we'd rather
that than a deadlock. Future code that does want to risk a
deadlock can call `GeckoThread.waitOnGeckoForever` instead.

Differential Revision: https://phabricator.services.mozilla.com/D14560

--HG--
extra : moz-landing-system : lando
2018-12-19 22:59:46 +00:00
Masayuki Nakano
af34cccc17 Bug 1516323 - Make IMContextWrapper::OnKeyEvent() check whether coming key event is already in the posting event queue r=m_kato
According to the log of bug 1498823, ibus won't set IBUS_IGNORED_MASK to
modifier flags when it synthesizes the event for asynchronous handling in
some environments.

Currently, we assume that iBus and Fcitx set IBUS_IGNORED_MASK or
FcitxKeyState_IgnoredMask.  So, we put both real key events and synthesized
key events into the posting event queue and that causes using a lot of
memory until the editor is blurred.  Fortunately, timestamp of synthesized
key events are always same as their original events.  Therefore, we can look
for original event from the positing event queue.

Although we have gotten no bug reports about this issue of Fcitx, but this
patch adds same hack for Fcitx too because the runtime cost is not
expensive but the symptom is really serious.

Differential Revision: https://phabricator.services.mozilla.com/D15321

--HG--
extra : moz-landing-system : lando
2018-12-26 08:17:32 +00:00
Jan Henning
7fb92b8c44 Bug 1478776 - Part 10: Add internal VisualViewport resize/scroll events. r=botond,nika
The VisualViewport events are all nice and shiny, but unfortunately not quite
what is needed for the session store.

Firstly, the spec wants the "scroll" event to be fired only when the *relative*
offset between visual and layout viewport changes. The session store however
records the absolute offset and as such is interested in when *that* changes.

Secondly, again as per the spec the events don't bubble, and with the default
DOMEventTargetHelper implementation they don't escape the VisualViewport during
capturing, either. This means that any event listener must be added directly on
the VisualViewport itself in order to capture any events.

This might have been intended because the events use the same names as the
normal "scroll"/"resize" events, and as such you cannot specify separate event
listeners for VisualViewport and non-VisualViewport "scroll" events if both
events end up being dispatched to the same element (you can only try to filter
after the fact by looking at the originalTarget of the event).

At the same time, the VisualViewport is attached to the inner Window, and so
each time you navigate, you also get a different VisualViewport object.
All of this might be totally fine from the perspective of a page script, because
in that case you won't care anyway about what happens when the current page goes
away.

From the session store perspective on the other hand (especially Fennec's non-
e10s session store design), this is rather unfortunate because we don't want to
have to keep registering event listeners
a) manually for each subframe
b) each time the page navigates

The event target chain problem could be solved by letting the scroll events
escape the VisualViewport during the capturing phase (which the spec doesn't say
anything about), but this would mean that any scroll listener attached to a
window/browser/... that uses capturing will now catch both layout and visual
viewport scroll events.

In some cases this might even be beneficial, but in others (e.g. bug 1498812
comment 21) I'd like to specifically decide which kind of scroll event to
capture. Having to look at event.originalTarget to distinguish the two kinds
might be defensible in test code, but in case this distinction would be needed
in production code as well, given the existence of a C++-based filtering helper
in nsSessionStoreUtils for another use case where (scroll) events need to be
filtered, JS-based scroll event filtering might be a bad idea.

Additionally, in any case this wouldn't solve the fundamental conflict between
the spec and the session store about *when* the "scroll" event should be fired
in the first place.

Hence I'd like to introduce a separate set of events with distinct event names,
which will be dispatched according to the requirements of our internal users
(i.e. currently the session store). To avoid potential web compatibility issues
down the road, for now these events will be dispatched only to event listeners
registered in the system group (allowing *all* Chrome event listeners cannot be
done because checking the Chrome status of each event target might be too
expensive for frequently dispatched events).

Differential Revision: https://phabricator.services.mozilla.com/D14046

--HG--
extra : moz-landing-system : lando
2018-12-20 22:14:42 +00:00
Jan Henning
c3352661fc Bug 1478776 - Part 8: Add an event flag for dispatching to system group only. r=smaug
The semantics of the VisualViewport resize/scroll events aren't quite what is
needed for internal browser usage, so we need a separate set of events that can
be used e.g. by the session store. To avoid future web compatibility issues,
that event should be kept internal, however none of the existing
options to achieve that are suitable:
- mNoContentDispatch can actually end up being dispatched to content after all
  and as per its comment preferably shouldn't be used any more for new features
- mOnlySystemGroupDispatchInContent would work perfectly, except that it
  shouldn't be used for frequent events, which the resize/scroll events
  arguably are
- mOnlyChromeDispatch doesn't work for the Desktop session store's content
  script, plus it might have the same performance problems as
  mOnlySystemGroupDispatchInContent

Therefore, I propose to introduce a new mOnlySystemGroupDispatch event flag,
which skips the comparatively expensive IsCurrentTargetChrome() check and relies
only on the event listener having been registered in the system group.

Differential Revision: https://phabricator.services.mozilla.com/D14045

--HG--
extra : moz-landing-system : lando
2018-12-20 21:35:39 +00:00
Martin Stransky
1d8979cc73 Bug 1512416 - [Wayland/OpenGL] Resize wl_elg_window when widget scale changes, r=jhorak"
Differential Revision: https://phabricator.services.mozilla.com/D14404

--HG--
extra : moz-landing-system : lando
2018-12-20 11:54:13 +00:00
arthur.iakab
89de43ee01 Backed out changeset 66e8d5fb19cb (bug 1510527) for failing rc4 tests on testInputConnection|Can backspace with shift+backspace CLOSED TREE 2018-12-20 11:34:00 +02:00
Makoto Kato
9235079616 Bug 1510527 - Active composition count may be mismatched when updating composition. r=esawin
To avoid FlushIMEChanges per updating IME composition, we calculate composition count in DoReplaceText. But when using GV+e10s, this calculation is sometimes invalid since NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED event isn't received per PendingComposition.  Because, IMEStateManager will merge this completed events due to optimization of IME event.

Also, DoUpdateComposition calls SetPendingComposition, but it doesn't touch mIMEActiveCompositionCount,

So when using some IME, this value is minus or forever non-zero on some IMEs.

So we shouldn't use atomic count. When receiving NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED, we should reset it and allow IMEFlushChanges since Gecko has already handled all IME composition events in event queues.

Differential Revision: https://phabricator.services.mozilla.com/D14668

--HG--
extra : moz-landing-system : lando
2018-12-18 16:22:21 +00:00
Makoto Kato
610afc245e Bug 1502772 - WinUtils::WriteBitmap should use BITMAPV4HEADER (v4+ header) r=aklotz
Native toast notification uses WinUtils::WriteBitmap to bitmap for notification now.  Since it uses old BITMAPINFOHEADER structure, it doesn't support alpha.

So I would like to support alpha value to WinUtils::WriteBitmap.

Differential Revision: https://phabricator.services.mozilla.com/D14670

--HG--
extra : moz-landing-system : lando
2018-12-19 10:39:09 +00:00
Dorel Luca
d586d50b96 Backed out changeset be2cd52df099 (bug 1512416) for build bustage 2018-12-19 14:24:31 +02:00
Martin Stransky
973fb364ec Bug 1512416 - [Wayland/OpenGL] Resize wl_elg_window when widget scale changes, r=jhorak"
Differential Revision: https://phabricator.services.mozilla.com/D14404

--HG--
extra : moz-landing-system : lando
2018-12-19 08:46:27 +00:00
Martin Stransky
36e0a3f5a9 Bug 1507423 - Don't draw StyleAppearance::MozWindowButtonBox on Linux/Gtk, r=mconley
Depends on D14243

Differential Revision: https://phabricator.services.mozilla.com/D14244

--HG--
extra : moz-landing-system : lando
2018-12-18 10:48:28 +00:00
Martin Stransky
8449b576c3 Bug 1507423 - Implement StyleAppearance::MozWindowButtonBox on widget/gtk, r=mconley
Depends on D14242

Differential Revision: https://phabricator.services.mozilla.com/D14243

--HG--
extra : moz-landing-system : lando
2018-12-18 19:06:08 +00:00
Martin Stransky
2e33d16018 Bug 1507423 - Don't return border/padding from MOZ_GTK_HEADER_BAR/MOZ_GTK_HEADER_BAR_MAXIMIZED, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D14242

--HG--
extra : moz-landing-system : lando
2018-12-18 10:47:48 +00:00
Martin Stransky
70f9a9330e Bug 1514828 - [Wayland] Enable CSD titlebar mode on all Wayland compositors, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D14767

--HG--
extra : moz-landing-system : lando
2018-12-18 13:43:25 +00:00
Boris Chiou
c35f47093e Bug 1322780 - Part 2: Support unprefixed min-content and max-content. r=mats,emilio
Support unprefixed min-content and max-content and treat the prefixed
version as aliases for
1. width, min-width, max-width if inline-axis is horizontal, and
2. height, min-height, max-height if inline-axis is vertical, and
3. inline-size, min-inline-size, max-inline-size, and
4. flex-basis.

Besides, update the test cases to use unprefixed max-content and
min-content.

Depends on D7535

Differential Revision: https://phabricator.services.mozilla.com/D7536

--HG--
extra : moz-landing-system : lando
2018-12-18 18:47:37 +00:00
shindli
1c998613b1 Backed out changeset 61de4550c887 (bug 1512416) for bustages in builds/worker/workspace/build/src/widget/gtk/mozcontainer.cpp:230:15 2018-12-18 15:53:38 +02:00
Martin Stransky
4f8c2372b0 Bug 1512416 - [Wayland/OpenGL] Resize wl_elg_window when widget scale changes, r=jhorak"
Differential Revision: https://phabricator.services.mozilla.com/D14404

--HG--
extra : moz-landing-system : lando
2018-12-18 08:59:18 +00:00
Masayuki Nakano
c8b0ce3150 Bug 1504963 - part 4: Make IMEHandler create native caret over our caret if it's necessary r=Jamie,m_kato
IMMHandler and TSFTextStore are good class to put native caret when they have
enough information.  However, for example, IMMHandler may not have its singleton
instance until first composition of IMM-IME starts.  Therefore, typically,
IMEHandler is a good class to put native caret without composition.

This patch adds IMEHandler::MaybeCreateNativeCaret(), and if it won't create
native caret because not yet received WM_GETOBJCT for OBJID_CARET, we should
fire window event for MSAA applications.  If there is new MSAA application
retrieves OBJID_CARET, we'll receive WM_GETOBJECT for OBJID_CARET
asynchronously.  Then, we should start to put native caret for such
applications.

Note that if we create native caret, some versions of ATOK refers the native
caret and the behavior becomes worse than usual.  Therefore, we need to
keep not using native caret as far as possible.

Differential Revision: https://phabricator.services.mozilla.com/D13962

--HG--
extra : moz-landing-system : lando
2018-12-18 08:38:23 +00:00
Masayuki Nakano
682a4d56d1 Bug 1504963 - part 3: Make TSFTextStore create native caret when it gets notified of content change r=Jamie,m_kato
If WM_GETOBJECT for OBJID_CARET is received but a11y module is not active,
IME module should create native caret over our caret because Windows will
handle the request with native caret automatically and we don't need to
enable a11y module only for it.

This patch makes IMEHandler store whether such message has been received and
makes TSFTextStore create native caret when composition, selection or layout
is changed because especially when there is composition, only TSFTextStore
knows correct position to put caret if there is composition or some dispatched
events have not been handled by content process yet.

Note that IMMHandler already does that since some legacy IMEs require native
caret to show its UI and we cannot check active IME strictly.  Therefore, this
patch does not touch IMMHandler.

Differential Revision: https://phabricator.services.mozilla.com/D13961

--HG--
extra : moz-landing-system : lando
2018-12-18 08:38:23 +00:00
Masayuki Nakano
55978ba309 Bug 1504963 - part 2: Make IMEHandler manage whether native caret is created by it r=m_kato
IMEHandler needs to create native caret later (when there is no composition).
Therefore, IMEHandler should manage whether it creates native caret or not
and IMMHandler and TSFTextStore should create/destroy native caret via
IMEHandler.

Note that this patch makes IMMHandler stops managing whether native caret
is created for plugin or not because native caret is created only one instance
and anyway IME handlers should stop managing native caret when they loses
focus.

Differential Revision: https://phabricator.services.mozilla.com/D13960

--HG--
extra : moz-landing-system : lando
2018-12-18 08:38:22 +00:00
Masayuki Nakano
fd2f9270a7 Bug 1504963 - part 1: Make IME modules not touch native caret if a11y module handles native caret r=Jamie,m_kato
If a11y module is active, it observers caret position and size, and when caret
position or size is changed, it creates/moves native caret to overlap with
our caret.

On the other hand, IME module also creates native caret if active IME requires
it.  Therefore, both of them conflicts each other.

This patch makes IME module stop touching native caret if a11y module is active.

Although, a11y module with Flush Player does not work well for IME.  Therefore,
this patch keeps the conflict between them as-is for now.

Differential Revision: https://phabricator.services.mozilla.com/D13959

--HG--
extra : moz-landing-system : lando
2018-12-18 10:40:50 +00:00
John Lin
82531b5e45 Bug 1486659 - p2: expose native GL blitter to Java. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D11938

--HG--
extra : moz-landing-system : lando
2018-12-14 21:34:11 +00:00
Masayuki Nakano
586ba79d72 Bug 1513145 - Make some callers of TSFTextStore::Selection::GetWritingMode() check whether the selection has already been initialized r=m_kato
If TSFTextStore fails to get selection, e.g., the content is really odd like
fuzzing tests, its mSelectionForTSF is marked as dirty.  However, Windows may
try to retrieve writing mode while we're creating new TSFTextStore. Then, we
may hit MOZ_ASSERT(!mDirty) in TSFTextStore::Selection::GetWritingMode() in
debug build.

So, we need to make some callers of GetWritingMode() check whether selection
is marked as dirty.

Differential Revision: https://phabricator.services.mozilla.com/D14137

--HG--
extra : moz-landing-system : lando
2018-12-15 03:23:38 +00:00
Tim Nguyen
726cd8c84a Bug 1514464 - Clamp selection color value between 0 and 255 in nsLookAndFeel.mm. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D14676

--HG--
extra : moz-landing-system : lando
2018-12-15 22:46:31 +00:00
Kartikaya Gupta
dc7bd74b05 Bug 1491512 - Allow rendering minimized windows on macOS. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D14567

--HG--
extra : moz-landing-system : lando
2018-12-14 20:16:56 +00:00
Tim Nguyen
249dadfb20 Bug 1513401 - Increase contrast of unsaturated selection colors in nsLookAndFeel.mm. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D14566

--HG--
extra : moz-landing-system : lando
2018-12-14 19:00:18 +00:00
Sylvestre Ledru
7cf43b9bc0 Bug 1513205 - Ride along, update some code to match the Google coding style r=Ehsan
# ignore-this-changeset

Depends on D14595

Differential Revision: https://phabricator.services.mozilla.com/D14597

--HG--
extra : moz-landing-system : lando
2018-12-14 18:10:08 +00:00
Sylvestre Ledru
6f45c666bc Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D14595

--HG--
extra : moz-landing-system : lando
2018-12-14 18:10:35 +00:00