Commit Graph

20337 Commits

Author SHA1 Message Date
Carsten "Tomcat" Book
13ce7275a3 Merge mozilla-central to autoland 2016-06-29 16:22:44 +02:00
Carsten "Tomcat" Book
5c90a99952 merge mozilla-inbound to mozilla-central a=merge 2016-06-29 16:13:05 +02:00
Masayuki Nakano
d9d66b8cff Bug 1282043 IMContextWrapper shouldn't append 0 length clause to TextRangeArray and if IME doesn't specify clause at beginning of the composition, it should insert dummy clause r=m_kato
Here is the patched build's log:

[Main Thread]: I/nsGtkIMModuleWidgets GTKIM: 7fab5a60a2c0 CreateTextRangeArray(aContext=7fab5a7bbbf0, aCompositionString="÷" (Length()=1))
[Main Thread]: W/nsGtkIMModuleWidgets GTKIM: 7fab5a60a2c0   SetTextRange(), FAILED, due to no attr, aTextRange= { mStartOffset=0, mEndOffset=1 }
[Main Thread]: W/nsGtkIMModuleWidgets GTKIM: 7fab5a60a2c0   SetTextRange(), FAILED, due to current clause length is 0
[Main Thread]: E/nsGtkIMModuleWidgets GTKIM: 7fab5a60a2c0   SetTextRange(), FAILED, due to g_utf8_to_utf16() failure (retrieving current clause)
[Main Thread]: W/nsGtkIMModuleWidgets GTKIM: 7fab5a60a2c0   CreateTextRangeArray(), inserting a dummy clause at the beginning of the composition string mStartOffset=0, mEndOffset=1, mRangeType=TextRangeType::eRawClause

iBus Chewing IME has two clauses when user presses Shift+p, one doesn't have pango_attr, the other is empty.  These clauses are not useful in Gecko. Additionally, TextRangeArray assumes that there is a clause at beginning of the composition when there is one or more clauses.  Therefore, this patch tries to insert dummy clause at the beggining of composition in such case.

MozReview-Commit-ID: 3hVGVmvFrhA

--HG--
extra : rebase_source : edbd3a6a1139cffb0d5bfbe0c92bf6870c9a2608
2016-06-28 19:37:03 +09:00
Masayuki Nakano
ef2fb8753d Bug 1282669 Get rid of nsIMEUpdatePreference::DontNotifyChangesCausedByComposition() r=m_kato
I think that we can drop nsIMEUpdatePreference::DontNotifyChangesCausedByComposition(), i.e., nsIMEUpdatePreference::NOTIFY_CHANGES_CAUSED_BY_COMPOSITION because it's now used only by TSFTextStore but TSFTextStore ignores if SelectionChangeDataBase::mCausedByComposition or TextChangeDataBase::mCausedOnlyByComposition is true (for supporting async changes in e10s mode).  So, only issue is, dropping the flag might cause increasing computing TextChangeData cost during composition in TSF mode.  However, now, it's already enough fast and even if it'd cause performance regression, we could add a hack with TextComposition's offset information.  Therefore, we don't need to worry about the performance regression so seriously.

MozReview-Commit-ID: HNT3G4isONj

--HG--
extra : rebase_source : 164231023aa2a17ceab94d92fb49ba0a00dab429
2016-06-28 16:51:59 +09:00
Masayuki Nakano
e1d8dafcd9 Bug 1282668 Get rid of nsIMEUpdatePreference::NOTIFY_SELECTION_CHANGE r=m_kato
Currently, all widgets request selection change notifications to IMEContentObserver.  Additionally, IMEContentObserver needs to listen selection changes for caching latest selection for eQuerySelectedText.  Therefore, it doesn't make sense to keep defining nsIMEUpdatePreference::NOTIFY_SELECTION_CHANGE.

If widgets didn't need selection change notifications, they could just ignore the unnecessary notifications.

Note that all widgets don't need selection change notifications if a plugin has focus and IMEContentObserver cannot observe selection changes in the plugin.  Therefore, if IMEContentObserver is initialized with a plugin, it shouldn't listen selection changes (and doesn't need to notify widgets of selection changes).

MozReview-Commit-ID: FOVFFgA2nOz

--HG--
extra : rebase_source : 3e16d5023835f99f82934e754d2e7db70474f9ee
2016-06-28 15:23:12 +09:00
Makoto Kato
c603b26d13 Bug 1203871 - Part 5. Use mozilla::Move for rect array. r=masayuki
To optimize copy of text rect array, we should use mozilla::Move.  Also, after using it, we should mark is invalid result into SetEventResult

MozReview-Commit-ID: HH9H7DhK12

--HG--
extra : rebase_source : 4e02ece73583306c386597bc92e203fa147cfcbc
extra : histedit_source : 726621cdaf262b9d173ae19d505575f10563cc36
2016-06-14 16:52:31 +01:00
Chih-Yi Leu
810f0727b1 Bug 1221730 - Postpone singleton release in GamepadPlatformService::MaybeShutdown. r=baku
--HG--
extra : rebase_source : 4031bb8e791fa1c915261f3b2eaece28ebadb283
2016-06-28 00:27:00 +02:00
Chih-Yi Leu
42a49e9e8c Bug 1221730 - Move gamepad API to PBackground. r=qdot, r=baku
--HG--
extra : rebase_source : 5ad6d31a770d0d7b1b10d6aebf693ed24fc956ca
2016-06-28 00:25:00 +02:00
Makoto Kato
b01777a050 Bug 1280796 - Selection cache should be updated on commit string. r=masayuki
Selection cache might be updated on commit string, so it should be updated correctly.  Also, IMContextWrapper::OnSelectionChange() already has the check for composing using IsComposing().

MozReview-Commit-ID: 2n3f3I3aAjg

--HG--
extra : rebase_source : 5bd43d723a3170864dd7ac05c9101aaedd7dfac6
2016-06-28 10:28:42 +09:00
David Anderson
b32d76868e Use IntSize in CompositorBridgeParent's constructor. (bug 1282347, r=kats) 2016-06-27 17:05:34 -07:00
Jim Chen
9f20364a07 Bug 1277624 - Don't use anonymous namespace in headers; r=me
Trivial patch to not use anonymous namespace in headers, which can
introduce multiple copies of the same code in different compilation
units.
2016-06-27 14:49:55 -04:00
Jim Chen
7b8185966f Bug 1277624 - Update auto-generated bindings; r=me 2016-06-27 14:49:55 -04:00
Jim Chen
9177a4b375 Bug 1277624 - Move JNI class name out of Context; r=snorp
Move the class name strings into ObjectBase, so that the strings can be
overridden by derived classes in other namespaces.
2016-06-27 14:49:55 -04:00
Makoto Kato
8e42cbc802 Bug 1203871 - Part 3. Use eQueryTextRectArray on ContentCache for e10s. r=masayuki
Use new event to update cotent process's cache.

MozReview-Commit-ID: CexTXW4knMQ

--HG--
extra : rebase_source : 525a8b0a1fe6ef533e06f76ac5156e264b158c70
extra : histedit_source : 2a8c46a64eb5c6a7a05adc28917422c488b2b1c4
2016-03-14 16:03:31 +09:00
Makoto Kato
689ca97c17 Bug 1203871 - Part 2. Implement eQueryTextRectArray. r=masayuki
It will use on ContentCache.  Also, SetRangeFromFlatTextOffset issue will hanle on another bug.

MozReview-Commit-ID: 9Yu8bLlcZS5

--HG--
extra : rebase_source : c8eba70bdedf303b0fa649c1a609fe6120983e65
extra : histedit_source : 4189807b57ede13c1546e95052fcc298c8581d06
2016-06-23 10:40:04 +01:00
David Anderson
6c0ba47595 Don't leave temporary dangling nsWindow references to CompositorBridgeParent. (bug 1282343 part 1, r=mattwoodrow,kats) 2016-06-28 14:53:21 -07:00
Morris Tseng
8f005b2801 Bug 1281686 - Part 3: Using MacIOSurface for RectTextureImage. r=mstange
MozReview-Commit-ID: O97FkqrsKq
2016-06-29 11:24:44 +08:00
Morris Tseng
36a0d19547 Bug 1281686 - Part 2: Move RectTextureImage to separate file. r=mstange
MozReview-Commit-ID: HES73Ux7Li7
2016-06-29 11:24:44 +08:00
Morris Tseng
cbaeef2521 Bug 1281686 - Part 1: Fix OSX Compile failure due to unified build. r=mstange
MozReview-Commit-ID: FIcq2svB0fL
2016-06-29 11:24:43 +08:00
Andrew Comminos
1956523e8c Bug 1225044 - Workaround GTK windows freezing on unmap. r=karlt
MozReview-Commit-ID: AMLk2Pe05JY

--HG--
extra : rebase_source : 2fbf2d41a7fac2c696e9b85571638eefeb49e0ea
2016-06-24 14:51:28 -04:00
Kit Cambridge
f7589361f4 Bug 1233086, Part 3 - Use unified image loading for OS X alerts. r=mstange
MozReview-Commit-ID: Ln5rHIj8xxI

--HG--
extra : rebase_source : 54c144634f5c17a747d54a7d007e5fee0a1aabe4
2016-06-10 18:59:25 -07:00
Makoto Kato
a4ac8392bb Bug 1282338 - Fix log output of IMContextWrapper::OnDeleteSurroundingNative. r=masayuki
IMContextWrapper::OnDeleteSurroundingNative should output aOutput and aNChar correctly.

MozReview-Commit-ID: 46UrnGajnTG

--HG--
extra : rebase_source : 7ed7d3f389d492117e835c071bbea00f7ce4ff8d
2016-06-27 10:40:02 +09:00
Josh Aas
fd9256f113 Bug 1257765 - Limit the length of notification strings to 5000 characters. r=spohl
--HG--
extra : amend_source : 1ef0cbff375e054a85c70bfbb53f2b76b65c33ff
2016-06-26 18:51:05 -04:00
Gerald Squelart
7dfe2a4721 Bug 1277526 - Blacklist ATI win7 drivers 8.850.0.0 - r=nical
MozReview-Commit-ID: 3qvWviFXQMt

--HG--
extra : rebase_source : 6e8bab399152fdfbce011c40d8a4bc866ca335fe
2016-06-23 15:14:04 +10:00
Carsten "Tomcat" Book
3b37066215 merge mozilla-inbound to mozilla-central a=merge 2016-06-24 11:13:59 +02:00
Carsten "Tomcat" Book
2c23d5ea6f Merge mozilla-central to fx-team 2016-06-23 15:14:53 +02:00
Carsten "Tomcat" Book
fdb5ee5d63 Backed out changeset 34aa8f1f134f (bug 1268638) for assertion failures in Assertion failure: !mLockedForGL, at SharedSurfaceD3D11Interop.cpp:302
--HG--
extra : rebase_source : 12cc2c6e812d19438112acf568a034fb36249c67
2016-06-23 09:47:57 +02:00
Carsten "Tomcat" Book
60a9e9ce21 Backed out changeset 4171ff387666 (bug 1268638)
--HG--
extra : rebase_source : c57ffe49af64d35f69a5b186b2edef66b3223319
2016-06-23 09:47:20 +02:00
Brandon Cheng
ff19bfa581 Bug 1084598 - [OS X 10.10 and later] fix focus styling for url bar and search box, r=mstange,gijs
MozReview-Commit-ID: 3aEs95lcpZb

--HG--
extra : amend_source : 4f08292a48e1f47a8fa0e1a54d00d97c0a4e18e5
2016-06-14 19:24:00 +01:00
Carsten "Tomcat" Book
3c9bce3256 merge mozilla-inbound to mozilla-central a=merge 2016-06-22 13:44:52 +02:00
Masayuki Nakano
f53ea998ce Bug 1280053 TextInputHandler should initialize WidgetKeyboardEvent without already handled characters r=m_kato
TextInputHandler may dispatch keypress events after InsertText() is called if there was composition and it's committed by "current" keydown event. In that case, [NSEvent characters] may have the committing string.  For example, when Opt+e of US keyboard layout started composition, Cmd+v causes committing the "`" character and pasting the clipboard text. Then, the "v" key's keydown event's |characters| is "`v". So, after InsertText() is called with "`", TextInputHandler shouldn't dispatch keypress event for "`" again. I.e., the KeyboardEvent.key value should be "v" rather than "`v".

For solving this issue, TextInputHandlerBase::AutoInsertStringClearer which is created at every InsertText() call should store the inserted string to TextInputHandlerBase::KeyEventState. However, for making the implemntation simpler, it should recode only when the inserting string is actually a part of [mKeyEvent characters]. Then, TextInputHandlerBase::KeyEventState can compute unhandled insert string at initializing WidgetKeyboardEvent.

So, finally, TextInputHandlerBase::InitKeyEvent() should be called via TextInputHandlerBase::KeyEventState::InitKeyEvent(). This ensures that all key events which may cause InsertText() calls are always initialized with unhandled string.

MozReview-Commit-ID: A9o8o9pV2XV

--HG--
extra : rebase_source : d99e9ab7633f45069d0a3940cc2b2b5ad859ea05
2016-06-19 01:13:16 +09:00
Wes Kocher
78efbc26a7 Merge m-c to fx-team, a=merge CLOSED TREE 2016-06-21 10:12:35 -07:00
Wes Kocher
4207c30811 Merge fx-team to central, a=merge CLOSED TREE 2016-06-21 10:10:21 -07:00
Carsten "Tomcat" Book
dd716c9d5f Merge mozilla-central to fx-team 2016-06-21 12:15:15 +02:00
Oliver Henshaw
e76445cfb6 Bug 694570 - (3/4) - Stop using libgnome and libgnomeui on Linux. r=acomminos
(Based on original patch by Chris Coulson.)

Replace session management through libgnome with direct use of libSM and
libICE. This allows xsmp session restore on gtk2 and gtk3 builds.

Changes in behaviour:
- It now only sends the "session-save" notification when the save style
is SmSaveLocal or SmSaveBoth. Saving internal state with a save style of
SmSaveGlobal is actually incorrect. This means that Firefox now
distinguishes between a normal session exit and a session exit with
session saving enabled.
- As "quit-application-requested" might pop up a dialog, it only does
  this if the interact style is not SmInteractStyleNone
- "quit-application-requested" is only sent after sending
  SmcInteractRequest and receiving an interact message.
- It defers closing the connection to the session manager until
  the destructor, i.e after the "web-workers-shutdown" async shutdown
  phase completes. This means that firefox shouldn't be killed too early
  and lose data (*).

* It still might be killed prematurely if it takes too long to quit and
  the session manager decides to timeout, but that's another story.
2016-06-20 08:13:00 +02:00
Masayuki Nakano
f8210c2a4e Bug 1275918 part.2 Update TextComposition::mCompositionStartOffset when it's modified in the remote process r=m_kato
MozReview-Commit-ID: H1SJTWWav6G

--HG--
extra : rebase_source : 6d7d79e7d4d719b720bed4f4c20196079fb8b5fb
2016-06-14 21:06:34 +09:00
Masayuki Nakano
50a7dd324b Bug 1275918 part.1 ContentCache should retrieve the latest composition start offset from TextComposition and send it to the parent process r=m_kato
MozReview-Commit-ID: EoMZtqoMue3

--HG--
extra : rebase_source : c4a60248e765cddeccd1be3607f80358a99dda34
2016-06-13 18:17:58 +09:00
Masayuki Nakano
de8073afbb Bug 1275914 part.8 TextComposition should always update its composition start offset during composing r=smaug
TextComposition should update its composition start offset after every DOM event dispatch with first clause's selection type if there is composition string.

MozReview-Commit-ID: HFkePci1PhU

--HG--
extra : rebase_source : c7af075115505b52e48d8bbd5f2dd1d9001fe36e
2016-06-20 16:34:40 +09:00
Masayuki Nakano
d5bf222ecd Bug 1275914 part.7 Add automated tests to query IME selections r=smaug
MozReview-Commit-ID: GwBU6Evcpfa

--HG--
extra : rebase_source : d6a54b3ab227fbae75e723b277f0ff1e95d44044
2016-06-20 16:31:29 +09:00
Masayuki Nakano
4e5c167f73 Bug 1275914 part.5 Support special selections at handling eQuerySelectedText r=smaug
TextComposition needs to query first IME selection.  Therefore, we need to add support to query special selection range with eQuerySelectedText.

First, WidgetQueryContentEvent::mInput should have mSelectionType which should be initialized with InitForQuerySelectedText() but unfortunately, there is no method for eQuerySelectedText.  Therefore, this patch initializes WidgetQueryContentEvent::mInit::mSelectionType with SelectionType::eNormal in its constructor.

Next, ContentEventHandler needs to support to handle eQuerySelectedText with special selection types.  However, we need to create 2 paths in some cases, one is for normal selection and the other is for special selections because there are no selection ranges may be usual case for special selections but not so for normal selection.  Therefore, ContentEventHandler::InitCommon() becomes a little bit more complicated.  ContentEventHandler::mSelection and ContentEventHandler::mFirstSelectedRange is initialized with the specified selection type but normal selection type is also necessary to compute the selection root since the selection root is computed from the first selected range which may not be anywhere if its selection type is not normal.

Finally, ContentEventHandler::OnQuerySelectedText() returns "there are no selections" as succeeded case in special selection type cases.

MozReview-Commit-ID: 9WzUx8b5piw

--HG--
extra : rebase_source : fb07b40748b594d36315f1fc21c0a02ff9f668bb
2016-06-21 13:13:11 +09:00
Nathan Froyd
fff70b0253 Bug 1280964 - fix gtk+2 build problems in widget/gtk/; r=karlt 2016-06-21 02:28:34 -04:00
Nathan Froyd
9158ecd1de Bug 1278314 - avoid invalid copying of objects in PrefsHelper.h; r=darchons
In an expression such as:

  const auto& x = cond() ? AClass(...) : AClass();

the C++ standard specifies that the copy constructor of AClass is
invoked on the result of the conditional expression ([expr.cond]p6).
GCC does not honor this part of the specification, whereas clang does;
clang therefore complains about instances of code such as:

   const auto& jstrVal = type == widget::PrefsHelper::PREF_STRING ?
       jni::StringParam(strVal, aPrefName.Env()) :
       jni::StringParam(nullptr);

as jni::StringParam is not copy-constructable.

The simplest solution that does not introduce unnecessary allocation
uses mozilla::Maybe to hold the temporary objects and to hide some of
the details of constructing objects in-place.  The compiler may even be
able to optimize away some of the unnnecessary checks that Maybe
introduces (e.g. checking for whether the Maybe is a Some or None at
certain points).
2016-06-20 18:37:13 -04:00
Daniel Holbert
caa9d85a69 Bug 1279608: Move nsBaseWidget.cpp's PRTimeToSeconds and kAccessibilityLastRunDatePref definitions inside the same #ifdef guard where their usages are. r=jimm
MozReview-Commit-ID: 5RAdy4RCDOQ

--HG--
extra : rebase_source : 3480879aecfa6b023005912329a6748f9a39f58e
2016-06-10 13:04:31 -07:00
Masayuki Nakano
adabe1afd9 Bug 1281387 KeyboardLayout.cpp should use LazyLogModule instead of PR_NewLogModule() for making aware of MOZ_LOG* r=m_kato
MozReview-Commit-ID: LADKYU7uPcq

--HG--
extra : rebase_source : 5863bfa4fa3983740465d2ea745ca6b8a485b7e3
2016-06-22 15:39:58 +09:00
Masayuki Nakano
dead605781 Bug 1281391 IMContextWrapper and nsGtkKeyUtils should use LazyLogModule instead of PR_NewLogModule() for making MOZ_LOG* aware r=m_kato
MozReview-Commit-ID: 5xqIfFmakvq

--HG--
extra : rebase_source : 825b0b667d5200ba8d8c07ddbb3ea98f499ebd79
2016-06-22 16:31:37 +09:00
Jeff Gilbert
619c297be6 Bug 1268638 - Bitrot.
MozReview-Commit-ID: QJjb2PW5C4
2016-06-22 17:47:41 -07:00
Jeff Gilbert
d392c3d6b4 Bug 1268638 - Add good driver versions to blocklist for webgl+native-gl. - r=jrmuizel
MozReview-Commit-ID: IAalsSiuTiL
2016-06-22 17:47:41 -07:00
Alexandre Lissy
facb2f088c Bug 1281499 - Add missing include and namespace for MakeUnique<> r=mstange
MozReview-Commit-ID: DpBZrnx47g8

--HG--
extra : rebase_source : d0acf2ae074020fc8b1ffc1d51f80058b7f92c99
2016-06-22 17:38:40 +02:00
Carsten "Tomcat" Book
c2b7d7ae22 Merge mozilla-central to mozilla-inbound 2016-06-22 13:46:46 +02:00
Karl Tomlinson
4cd71ef94b bug 1280951 copy tooltip style context and cache that instead of widget r=stransky+263117
MozReview-Commit-ID: 6thXro9uYHn

--HG--
extra : rebase_source : 9b43f563bb433753e18d0f98d1541fcdae828ba3
2016-06-22 16:46:24 +12:00