Commit Graph

225 Commits

Author SHA1 Message Date
Nicholas Nethercote
ecf3a02b22 Bug 1224403 (part 2) - Split GetClientOffset() into typed and untyped versions. r=kats. 2015-11-11 19:56:06 -08:00
Nicholas Nethercote
c3c2a5bf71 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.
2015-11-09 21:37:32 -08:00
Nathan Froyd
ce0c965bd4 Bug 1220392 - use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in widget/; r=roc 2015-10-30 14:35:28 -04:00
James Willcox
8ea698034c Bug 1218991 - Save initial zoom constraints to be used once compositor is created r=kats 2015-10-28 14:10:30 -05:00
Makoto Kato
3cad889e0f Bug 978679. Implement touch events for GTK3. r=karlt 2015-04-30 08:29:34 +12:00
Carsten "Tomcat" Book
c4ec0d715a Backed out changeset 2f909d41108b (bug 978679) for bustage on a CLOSED TREE 2015-10-19 13:22:55 +02:00
Makato Kato
1c60c7c42e Bug 978679 - Implement touch events for GTK3. r=karlt 2015-10-19 23:04:52 +13:00
Nathan Froyd
4e6d8f6705 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
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 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
Benoit Girard
5ab9060ba4 Bug 1199885 - Part 12: Add StartScrollbarDrag IPC message. r=kats 2015-09-28 17:00:25 -04:00
Botond Ballo
226453b4a8 Bug 1202312 - Use mozilla::Function for the SetAllowedTouchBehavior callback. r=kats 2015-09-11 12:27:49 -04:00
Xidorn Quan
2c1d13f37a Bug 1196163 part 1 - Use nsSizeMode instead of int32_t for nsIWidget::{SizeMode,SetSizeMode}. r=roc 2015-08-29 11:12:41 +10:00
Masayuki Nakano
a5481c9e06 Bug 1191213 nsBaseWidget::NotifyWindowMoved() shouldn't notify IME when native IME handler doesn't have focus r=m_kato 2015-08-06 15:57:58 +09:00
Sotaro Ikeda
ea011626bf Bug 1187345 - Fix HwcComposer2D::mCompositorParent handling r=mwu 2015-07-24 11:28:28 -07:00
George Wright
ac4597056f Bug 1157941 - If the current PresShell is suppressed, paint the old one if it is available r=tn,Enn 2015-07-21 21:09:02 -04:00
David Anderson
89e4d169c6 Move compositor backend decisions into gfxPlatform. (bug 1179051 part 3, r=mattwoodrow) 2015-07-16 15:18:05 -07:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Xidorn Quan
4599976cd3 Bug 1160014 part 2 - Move some procedures in nsBaseWidget::MakeFullScreen to individual methods. r=roc
The two new methods will be reused by code in later patches.
2015-07-13 20:44:36 +10:00
Xidorn Quan
4d7e632089 Bug 1160014 part 1 - Implement common part of fullscreen transition. r=roc,smaug,dao
This patch implements the code which is shared by all platforms for
fullscreen transition.

It adds two prefs for the duration of fullscreen transition. They can
also be used to completely suppress the transition.

In addition, this patch uses the newly added prefs to suppress the
transition in all tests which use the DOM fullscreen.
2015-07-13 20:44:36 +10:00
Xidorn Quan
e81d16531c Bug 1160014 part 0 - Avoid explicitly mentioning DOM Fullscreen concept in widget part. r=roc 2015-07-13 20:44:36 +10:00
Nigel Babu
fd84e932c3 Backed out 4 changesets (bug 1160014) for M2 bustages CLOSED TREE
Backed out changeset 87b00a9dac95 (bug 1160014)
Backed out changeset d4fa5c794e08 (bug 1160014)
Backed out changeset fca26897d534 (bug 1160014)
Backed out changeset b0b7f4f09ed2 (bug 1160014)
2015-07-11 10:49:25 +05:30
Xidorn Quan
9aa102d3ac Bug 1160014 part 2 - Move some procedures in nsBaseWidget::MakeFullScreen to individual methods. r=roc
The two new methods will be reused by code in later patches.
2015-07-11 10:08:59 +10:00
Xidorn Quan
7705aa3262 Bug 1160014 part 1 - Implement common part of fullscreen transition. r=roc,smaug,dao
This patch implements the code which is shared by all platforms for
fullscreen transition.

It adds two prefs for the duration of fullscreen transition. They can
also be used to completely suppress the transition.

In addition, this patch uses the newly added prefs to suppress the
transition in all tests which use the DOM fullscreen.
2015-07-11 10:08:59 +10:00
Nathan Froyd
92a8124fef Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Kartikaya Gupta
f8ae55b733 Bug 1055557 - Add a ZoomConstraintsClient class to manage pushing zoom constraints updates to the APZ code. r=botond
Original patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>.
2015-06-17 12:32:42 -04:00
David Anderson
7fdcf3d5d4 Add an API for snapshotting widgets as they are presented by the operating system. (bug 1167477, r=mattwoodrow, dom r=khuey) 2015-06-04 14:19:06 -07:00
David Anderson
e4bdc9d5b3 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
Xidorn Quan
01217e1cdf Bug 1105939 part 6 - Add a method to nsIWidget for widget to distinguish between fullscreen mode and DOM fullscreen. r=roc 2015-06-04 13:49:34 +12:00
David Anderson
939778f3ee Enable APZ for all Desktop windows if E10s is enabled. (bug 1163115, r=kats) 2015-05-12 01:26:01 -04:00
Kartikaya Gupta
b08c392edf Bug 1162179 - Don't create APZCTreeManagers for windows which aren't multiprocess. r=dvander 2015-05-06 19:15:10 -04:00
Milan Sreckovic
75825432c8 Bug 1158284 - Utility in gfxPlatform to check for safe mode, lazier computation if we should accelerate and random cleanup of prefs usage. r=botond 2015-04-24 12:33:35 -07:00
Kartikaya Gupta
bc2bf92d19 Bug 1154739 - On desktop platforms, only enable APZ in e10s windows. r=dvander,mstange 2015-04-27 16:13:29 -04:00
Kartikaya Gupta
664872d767 Bug 1154739 - Rename flag to be more general. r=billm 2015-04-27 16:13:29 -04:00
L. David Baron
fc7825a554 Bug 1153570 - Remove AutoUseBasicLayerManager, which has been unused since 78b90e6c491b (bug 676241 part 3). r=mstange 2015-04-16 18:13:14 -07:00
Jim Mathies
beb06834b4 Bug 1153939 - Avoid a race condition with setting nsBaseWidgets WidgetShutdownObserver widget pointer to null. Fixes a crash in nsBaseWidget::DestroyCompositor(). r=roc 2015-04-16 10:16:04 -05:00
David Anderson
10d2eaa0f9 Fix APZ target confirmations arriving before dependent layer transactions. (bug 1154130, r=kats) 2015-04-14 12:24:32 -04:00
Kartikaya Gupta
f8465229d0 Bug 1146349 - Make the native event synthesization functions in DOMWindowUtils async. r=smaug 2015-04-14 11:36:36 -04:00
Nicolas Silva
6b526ef5d4 Bug 1125848 - Consolidate PCompositor's creation-destruction logic. r=sotaro 2015-03-09 18:43:39 +01:00
Mats Palmgren
fbe5abdf30 Bug 1149785 - Make nsIWidget::ClientToWindowSize use LayoutDeviceIntSize instead of the unit-less nsIntSize. r=roc 2015-03-31 22:09:03 +00:00
David Anderson
1dd324befd Allow dispatching to the APZ controller thread from any thread. (bug 1147681 part 1, r=kats) 2015-03-26 14:23:02 -07:00
Maksim Lebedev
bb4d99f399 Bug 1143655 - Add sending NS_TOUCH_CANCEL event. r=kats 2015-03-25 12:20:20 -04:00
David Anderson
f1d7d6bcd5 Allow synthetic input events to be dispatched asynchronously. (bug 1146243, r=kats) 2015-03-24 15:00:52 -07:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Kartikaya Gupta
43eb6f1601 Bug 1144324 - Remove the codepaths that conditionally enable touch events based on touch the presence of touch listeners. r=smaug,jimm 2015-03-19 06:37:39 -04:00
Kartikaya Gupta
ee722fd053 Bug 1122090 - Send the allowed behaviour notification to APZ for touch blocks when touch-action is enabled. r=botond 2015-03-19 06:33:33 -04:00
David Anderson
92c9774265 Add helper for applying async transforms to widget input events. (bug 1143567 part 1, r=kats) 2015-03-16 16:29:53 -07:00
Nicolas Silva
8c5320ba93 Bug 1125848 - Backout because of crashes. r=me 2015-03-13 15:13:12 +01:00
Nicolas Silva
be43a07dde Bug 1125848 - Consolidate PCompositor's creation-destruction logic. r=sotaro 2015-03-09 18:43:39 +01:00
Carsten "Tomcat" Book
39dca8a9c6 Backed out changeset 622f0877bc3f (bug 1125848) for e10s bustage 2015-03-10 12:38:55 +01:00
Nicolas Silva
cb5859d28b Bug 1125848 - Consolidate PCompositor's creation-destruction logic. r=sotaro 2015-03-09 18:43:39 +01:00