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

205 Коммитов

Автор SHA1 Сообщение Дата
David Anderson 77e3700565 Move CompositorWidgetProxy inheritance out of nsIWidget. (bug 1264545 part 6, r=jimm) 2016-04-29 19:23:17 -04:00
Mason Chang d9030afc50 Bug 1267253 - Delete gfxWindowsPlatform::RenderMode and replace it with a check against the default backend. r=bas 2016-04-21 14:35:13 -07:00
Masayuki Nakano b332dc9ff4 Bug 1257759 part.5 PluginInstanceChild should post received native key event to chrome process if the key combination may be a shortcut key r=jimm
When PluginInstanceChild receives native key events, it should post the events to the chrome process first for checking if the key combination is reserved.  However, posting all key events to the chrome process may make damage to the performance of text input.  Therefore, this patch starts to post a key event whose key combination may be a shortcut key.  However, for avoiding to shuffle the event order, it posts following key events until all posted key events are handled by the chrome process.

For receiving response from widget, this patch defines nsIKeyEventInPluginCallback.  It's specified by nsIWidget::OnWindowedPluginKeyEvent() for ensuring the caller will receive the reply.  Basically, the caller of nsIWidget::OnWindowedPluginKeyEvent() should reply to the child process.  However, if the widget is a PuppetWidget, it cannot return the result synchronously.  Therefore, PuppetWidget::OnWindowedPluginKeyEvent() returns NS_SUCCESS_EVENT_HANDLED_ASYNCHRONOUSLY and stores the callback to mKeyEventInPluginCallbacks.  Then, TabParent::HandledWindowedPluginKeyEvent() will call PuppetWidget::HandledWindowedPluginKeyEvent().

MozReview-Commit-ID: G6brOU26NwQ

--HG--
extra : rebase_source : 8140456de278956d2d594e85c7b397ae366b4962
2016-04-19 20:09:37 +09:00
David Anderson 0d7f6fe982 Remove NS_NATIVE_GRAPHIC on Windows. (bug 1266536, r=jimm) 2016-04-21 13:16:29 -04:00
Jonathan Watt 05a14131e5 Bug 1265953, part 2 - Convert much of the rest of the widget code from nsAutoPtr to UniquePtr. r=mstange 2016-04-19 21:51:25 +01:00
David Anderson ef94ddb6f5 Remove drawWidgetAsOnScreen. (bug 1264393, r=mattwoodrow, webidl r=khuey)
--HG--
extra : rebase_source : c885b1db5ede6caa8b1e141d6d76769bac82b16c
2016-04-13 19:24:42 -04:00
Masayuki Nakano 04597dabbb Bug 1137561 part.2 Make TSFTextStore use TextEventDispatcher r=m_kato 2016-03-16 13:47:48 +09:00
Masayuki Nakano af9e084206 Bug 1137561 part.1 Implement WinTextEventDispatcherListener as a singleton class for using TextEventDispatcher at handling native keyboard and IME events r=m_kato 2016-03-16 13:47:48 +09:00
Jonathan Kew 35c3b97bb4 Bug 1255475 - Properly distinguish 'moving' from 'resizing' state when a maximized window is dragged, resulting in a WM_SIZING message followed by WM_MOVING; this allows us to handle DPI rescaling during the move if necessary. r=emk 2016-03-14 18:35:59 +00:00
David Anderson c00e9a5d93 Handle device resets by recreating the compositor, rather than the compositor IPDL stack. (bug 1245765 part 7, r=mattwoodrow) 2016-02-29 01:53:15 -05:00
Bas Schouten 36d729fab3 Bug 1232042: Execute an additional present for D3D11 on the compositor thread when a WM_PAINT event has returned. r=jrmuizel 2016-02-24 03:50:09 +00:00
Phil Ringnalda a5861fc16a Back out 6a24b31747be (bug 1232042) for crashes @RecvForcePresent
CLOSED TREE
2016-02-23 21:27:46 -08:00
Bas Schouten fd04611c7c Bug 1232042: Execute an additional present for D3D11 on the compositor thread when a WM_PAINT event has returned. r=jrmuizel 2016-02-24 03:50:09 +00:00
Makoto Kato ba11a89326 Bug 1243268 - Support ImmSetCandidateWindow(CFS_EXCLUDE) on plugin process. r=masayuki 2016-02-02 17:05:56 +09:00
Jeff Muizelaar 7d2fdd3865 Bug 1243636. Switch to gfx::CriticalSection 2016-01-27 23:30:25 -05:00
Masayuki Nakano 367ad6230a Bug 1153156 part.1 Move nsBaseWidget::OverrideSystemMouseScrollSpeed() to WidgetWheelEvent r=smaug, sr=smaug 2016-01-27 15:09:13 +09:00
Nicholas Nethercote 76dfc05b83 Bug 1239589 - Change nsBaseWidget::mBounds to a LayoutDeviceIntRect. r=kats.
This patch removes dozens of ToUnknown/FromUnknown conversions and doesn't add
any new ones, which is nice. It also removes UntypedDevPixelsToCocoaPoints(),
which is no longer needed.

--HG--
extra : rebase_source : 81288126b582402408518aecfc304bc128e05d15
2015-11-22 20:32:29 -08:00
Jonathan Kew 61bb2f1169 Bug 890156 - patch 4 - Update widget/windows code for per-monitor DPI support. r=emk 2015-12-04 16:59:14 +00:00
Jonathan Kew 925e9cfb7f Bug 890156 - patch 3 - Remove gfxWindowsPlatform::GetDPIScale and replace it with methods in WinUtils, ready for per-monitor DPI support. r=emk 2015-12-02 15:09:29 +00:00
Jonathan Kew 84b8c3a0a4 Bug 890156 - patch 0.3 - Create a version of nsIWidget::Create that takes Desktop pixels, because that's what we actually need to pass in some cases. r=mstange 2016-01-13 07:32:55 +00:00
Kartikaya Gupta 6e12e0b31f Bug 1234838 - Update the windows backwards time skew fix code to use a PostMessage rather than a gecko NS_DispatchToMainThread. r=karlt
--HG--
extra : commitid : 9yGf6w0Xo6k
2016-01-12 11:53:55 -05:00
Makoto Kato 5b4d938e60 Bug 1208944 - Part 10-a. Call CallWindowProc when WidgetPluginEvent isn't handled by plugin. r=masayuki 2015-12-29 22:57:38 +09:00
Makoto Kato 000416b7b5 Bug 1208944 - Part 9. Hook IMM32 APIs on plugin process. r=masayuki 2015-12-29 22:57:38 +09:00
Sebastian Hengst e082884d78 Backed out 15 changesets (bug 1208944) for failing tests M(2,5) on OSX. r=backout
Backed out changeset c29de223de2f (bug 1208944)
Backed out changeset 3d99da255be1 (bug 1209844)
Backed out changeset 3c915942af38 (bug 1209844)
Backed out changeset 759b425b5503 (bug 1208944)
Backed out changeset bf73cf8f0fda (bug 1208944)
Backed out changeset 0e337d912b7d (bug 1208944)
Backed out changeset 31c47f2980b5 (bug 1208944)
Backed out changeset 3e0d70a6e809 (bug 1208944)
Backed out changeset 7685dcb63e5f (bug 1208944)
Backed out changeset 3c2b9372dd36 (bug 1208944)
Backed out changeset 18160d306493 (bug 1208944)
Backed out changeset 4974e397b655 (bug 1208944)
Backed out changeset fde7e439844d (bug 1208944)
Backed out changeset 4213a355fbdc (bug 1208944)
Backed out changeset 33cfddbbf5f2 (bug 1208944)
2015-12-29 17:42:02 +01:00
Makoto Kato b0adec59a2 Bug 1208944 - Part 10-a. Call CallWindowProc when WidgetPluginEvent isn't handled by plugin. r=masayuki 2015-12-29 22:57:38 +09:00
Makoto Kato 836a9aee5c Bug 1208944 - Part 9. Hook IMM32 APIs on plugin process. r=masayuki 2015-12-29 22:57:38 +09:00
Nathan Froyd ce03c4c5bc Bug 1233444 - add override declarations for widget/windows/; r=roc
This change silences a small number of warnings when compiling with
clang-cl.
2015-12-16 11:58:46 -05:00
Masayuki Nakano 6cad726628 Bug 1179632 part.1 native IME context should not be stored in InputContext but should be able to retrieve with nsIWidget::GetNativeData() r=smaug 2015-12-11 15:15:57 +09:00
Nicholas Nethercote 5a37352d4a Bug 1229665 - Convert widget clip regions to LayoutDevicePixels. r=botond.
--HG--
extra : rebase_source : 315ac98884f84f3b5d53f156f3e02ddde3a57dbc
2015-12-02 14:32:55 -08:00
Nicholas Nethercote 81c4b5301c Bug 1229237 (part 5) - Make Update{Opaque,WindowDragging}Region() take a LayoutDeviceIntRegion. r=botond.
--HG--
extra : rebase_source : 08d12c48bd6fb086a1d27a8169b1a423534e03f7
2015-11-25 21:42:59 -08:00
Nicholas Nethercote 90bbac13cc Bug 1229237 (part 3) - Make nsIWidget::Invalidate() take a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 1afe44a5ab2a3d5478010fc23ba1891ab297bde6
2015-11-16 21:18:31 -08:00
Nicholas Nethercote 1fb25d8609 Bug 1229237 (part 1) - Make nsIWidget::{Create,CreateChildren}() take a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 08407e76083534ad39dd34d2535ec09c95e506db
2015-11-16 00:35:18 -08:00
Matt Brubeck 0954e27b0a Bug 431620 - Remove unused function GetToggledKeyState [r=roc] 2015-11-16 16:06:41 -08:00
Nicholas Nethercote 1615245145 Bug 1224482 (part 5) - Avoid excessive mozilla:: prefixes in nsIWidget and its subclasses. r=kats.
A couple of typedefs make things a lot nicer.

--HG--
extra : rebase_source : ca9f02e31301601af1b0f975c5c111945af4d5e7
2015-11-13 01:37:02 -08:00
Nicholas Nethercote f38ebf7649 Bug 1224482 (part 3) - Replace GetClientOffsetUntyped() with GetClientOffset(). r=kats.
The patch also changes nsMenuPopupFrame::mLastClientOffset to
LayoutDeviceIntPoint.

--HG--
extra : rebase_source : d7c0784efd332e382db3f2857c8f43eabc1c807c
2015-11-13 01:37:02 -08:00
Nicholas Nethercote 369f54f3a3 Bug 1224482 (part 1) - Tweak typed/untyped versions of Get{,Client,Screen}Bounds(). r=kats.
In nsIWidget, GetBoundsUntyped(), GetClientBoundsUntyped() and
GetScreenBoundsUntyped() are currently the primary implementations, and the
untyped versions are defined on top of them. This patch flips that around.

--HG--
extra : rebase_source : 15b2f08f90bf4d1e209c6cb885f6a6e3b8db6708
2015-11-12 16:04:52 -08:00
Nicholas Nethercote 9c6cbed1d0 Bug 1224403 (part 9) - Remove GetRestoredBoundsUntyped(). r=kats.
The typed version can be used everywhere without difficulty.

--HG--
extra : rebase_source : 841d7202126e8be16f47ed2c14c4ec20fe101b28
2015-11-12 05:43:01 -08:00
Nicholas Nethercote ab29eab5df Bug 1224403 (part 5) - Make OnDefaultButtonLoaded() return/take a LayoutDeviceIntMargin. r=kats.
--HG--
extra : rebase_source : e12b1703343cc95b52b4a20bd56a3790def99325
2015-11-12 04:34:29 -08:00
Nicholas Nethercote e2fe66176b Bug 1224403 (part 4) - Make {Get,Set}NonClientMargins() return/take a LayoutDeviceIntMargin. r=kats.
This required adding {To,From}UnknownMargin().

--HG--
extra : rebase_source : de7e8f56604825bcc1babe5e05a8f8623a402cad
2015-11-11 23:05:04 -08:00
Nicholas Nethercote f703d45de5 Bug 1224403 (part 3) - Make mNonClientOffset a LayoutDeviceIntMargin. r=kats.
Surprisingly enough, this requires no other changes, because it's only ever
accessed on a per-field basis, rather than the entire struct at once.

--HG--
extra : rebase_source : a3b1efad0dae6b1ddab3ab77f046e2924c62231b
2015-11-11 20:04:01 -08:00
Nicholas Nethercote 7922110bde Bug 1224403 (part 2) - Split GetClientOffset() into typed and untyped versions. r=kats.
--HG--
extra : rebase_source : 5197f42325d36313ad8c6178baaabcf6f7df532c
2015-11-11 19:56:06 -08:00
Nicholas Nethercote ad0dd8414a Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.

--HG--
extra : rebase_source : 6bfb15bfc4698e2eba7d4db55497299d3dffcd51
2015-11-09 21:37:32 -08:00
Nicholas Nethercote 9895f2b525 Bug 1223310 (part 1) - Pass a LayoutDeviceIntPoint instead of an nsIntPoint to InitEvent(). r=kats.
Also use direct assignment for some LayoutDeviceIntPoint assignments, rather
than doing it field-by-field.

--HG--
extra : rebase_source : cff1ec8f1ed3ab1924a07d2227044f646019f0cf
2015-11-09 21:37:32 -08:00
Botond Ballo 5bf85e9f9d Bug 1220923 - Make nsIntRegion a typedef for IntRegionTyped<UnknownUnits>. r=nical
--HG--
extra : source : 1f371f014048ed4c3c25095233fea927311a7e23
2015-11-04 11:49:49 -05:00
Makoto Kato 26c8790fb2 Bug 978679. Implement touch events for GTK3. r=karlt
--HG--
extra : commitid : 7Sm7XcTb8Do
extra : rebase_source : c10ad90f03b90eb34349edc80be110b90cc2a663
2015-04-30 08:29:34 +12:00
Carsten "Tomcat" Book 81454198ef Backed out changeset 2f909d41108b (bug 978679) for bustage on a CLOSED TREE 2015-10-19 13:22:55 +02:00
Makato Kato 5a68a1b8d5 Bug 978679 - Implement touch events for GTK3. r=karlt
--HG--
extra : commitid : 2tbZZf41zmN
extra : rebase_source : d861252c9bf78b6ffd68dd2c7f14fbf4ef5afdf1
2015-10-19 23:04:52 +13:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Xidorn Quan f46a93871a Bug 1196163 part 1 - Use nsSizeMode instead of int32_t for nsIWidget::{SizeMode,SetSizeMode}. r=roc
--HG--
extra : source : cf438b9cb26ae512f792f075e4e22537ad6a38a7
2015-08-29 11:12:41 +10:00