Commit Graph

162 Commits

Author SHA1 Message Date
Kartikaya Gupta
7e39a2bc59 Bug 1315974 - When creating the widget layer manager, don't assume it will always be a ClientLayerManager. r=mattwoodrow
MozReview-Commit-ID: 8r037jdHJ0E

--HG--
extra : rebase_source : 5f0e406ea6eb497b72f40054ba50cf64a6bd7dfb
2016-11-08 10:42:26 -05:00
Kartikaya Gupta
57f37706cc Bug 1315477 - Add a AsBasicLayerManager() function and use instead of static_casts. r=mattwoodrow
MozReview-Commit-ID: DV6XZBEXw85

--HG--
extra : rebase_source : b82f2ea2d073292c2a9514ba8a4c2d0c8397d90a
2016-11-07 11:38:45 -05:00
Aryeh Gregor
f0ca6ef4ca Bug 1271125 part 2 - Port editor mochitests that depend on ChromeUtils.js to mochitest-plain; r=masayuki
The change from ok() to is() in tests is so that the failure message is
more informative -- it now tells you the returned exception.

This commit omits test_contenteditable_text_input_handling.html because of test
failures that I haven't figured out.

MozReview-Commit-ID: 37cYlQlJZm7
2016-10-31 18:38:04 +02:00
Xidorn Quan
52de92c14c Bug 1304692 - Make puppet widget get coordinate rounding from parent. r=smaug
MozReview-Commit-ID: A3ornUMDmt8
2016-09-27 16:37:07 +10:00
David Anderson
f2cfe86ef2 Recreate PLayerTransactions for TabChildren when the compositor restarts. (bug 1300936 part 4, r=mattwoodrow, r=billm)
--HG--
extra : rebase_source : ea92ecc5738e830a86f3b323d262f3537afe4534
2016-09-20 01:19:32 -07:00
Bill McCloskey
50c44c717c Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-09-16 20:35:11 -07:00
Phil Ringnalda
7fc271e5f5 Backed out changeset 663cde4dd044 (bug 1287004) for crashes [@ XGetWindowAttributes]
CLOSED TREE
2016-09-13 21:06:19 -07:00
Bill McCloskey
a430c0ac5b Bug 1287004 - Give PuppetWidgets in parent process a compositor bridge (r=mattwoodrow) 2016-09-13 20:06:44 -07:00
Nicholas Nethercote
963f5a2b3a Bug 1296993 (part 6) - Streamline nsIWidget::SetPluginFocused. r=mstange.
This patch removes the return value, because none of the call sites check it.

--HG--
extra : rebase_source : c308e7edd03e9ba6d2f0c8f032438bc7743baa1f
2016-08-25 13:43:27 +10:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Wes Kocher
b38dbd1378 Backed out 2 changesets (bug 1279086) for causing painting issues a=backout
Backed out changeset b1c893387fdd (bug 1279086)
Backed out changeset 277c54118c8a (bug 1279086)
2016-08-22 16:00:34 -07:00
Nicholas Nethercote
367d94e34e Bug 1293596 (part 7) - Make nsIWidget::Destroy infallible. r=karlt.
--HG--
extra : rebase_source : 403d279c432c70671aa85991868d006c1f2da81d
2016-08-10 10:04:11 +10:00
Bill McCloskey
3a7ee5574b Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-08-19 14:41:26 -07:00
Wes Kocher
3a31be9c17 Backed out 2 changesets (bug 1279086) for failures in browser_menu_item_01.js a=backout
Backed out changeset 00bb53b58e96 (bug 1279086)
Backed out changeset cff59fe2b933 (bug 1279086)
2016-08-19 12:31:55 -07:00
Bill McCloskey
3799faa926 Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-08-19 09:59:40 -07:00
Nicholas Nethercote
cc993d1772 Bug 1293596 (part 4) - Tweak nsIWidget::Create. r=mstange.
They don't need to be NS_IMETHOD, but they should be MOZ_MUST_USE. Adding the
latter catches a few missing checks, which the patch adds.

The patch also gives PuppetWidget an InfallibleCreate() function, which makes
the infallibility of PuppetWidget creation clear.
2016-08-19 09:03:17 +10:00
Nicholas Nethercote
67af4817e9 Bug 1293596 (part 2) - Rework nsIWidget bounds getters. r=mstange.
This patch makes GetBounds(), GetScreenBounds() and GetClientBounds() more
obviously infallible, like existing functions such as GetNaturalBounds() and
GetClientSize(). This results in clearer behaviour in nsCocoaWindow.mm if
Objective C exceptions occur. Along the way, the patch removes some useless
failure checks for these functions.

The patch also removes the NS_IMETHOD from GetRestoredBounds and makes that
function MOZ_MUST_USE.
2016-08-19 09:03:04 +10:00
Nicholas Nethercote
735fccd3ce Bug 1293603 (part 3) - Remove erroneous NS_METHOD uses in widget/. r=erahm.
All these occurrences are for methods declared with NS_IMETHOD, and so they
should be NS_IMETHODIMP instead of NS_METHOD.

--HG--
extra : rebase_source : 50b0c0f46cab6a13cc27ad48fb24503b9a491463
2016-08-09 14:03:13 +10:00
Bill McCloskey
b8ababd5ee Bug 1282153 - Remove retaining outparam to GetLayerManager (r=dvander) 2016-06-30 14:30:30 -07: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
Nicholas Nethercote
a02611e830 Bug 1276824 (part 1) - Rename gfxContext::ForDrawTarget{,WithTransform}(). r=milan.
The new names Create{,PreservingTransform}OrNull() better communicate that
these functions (a) do object creation, and (b) are fallible.

--HG--
extra : rebase_source : a36bd9a2bcdfae281868959403f811f2bc690ad4
2016-06-07 09:39:56 +10:00
Masayuki Nakano
e67330e0b4 Bug 1275906 part.1 Rename NOTIFY_IME_OF_COMPOSITION_UPDATE to NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED r=m_kato
It's not clear to me what NOTIFY_IME_OF_COMPOSITION_UPDATE means only from the name. For making the name clearer, this patch renames it to NOTIFY_IME_OF_COMPOSITION_EVENT_HANDLED and add some explanation to the definition.

MozReview-Commit-ID: 8ySYCNJ1Ytz

--HG--
extra : rebase_source : 3331b8f48e8b460c7f9b088064dcda9488f3403c
2016-05-31 11:39:15 +09:00
Masayuki Nakano
a58a540708 Bug 1251063 PuppetWidget should cache InputContext which is set with SetInputContext() and use it in GetInputContext() only when it is the widget which has active input context in the process r=smaug
PuppetWidget::GetInputContext() needs to communicate with its parent process with synchronous IPC. This is very expensive for focus move.

Currently, IMEStateManager uses nsIWidget::GetInputContext() only for checking the IME enabled state.  Therefore, it's enough to cache input context when nsIWidget::SetInputContext() is called.  Then, we can avoid to communicate with synchronous IPC with PuppetWidget::GetInputContext() in most cases.

This patch makes IMEStateManager stores the last widget which sets input context.  When PuppetWidget uses its input context cache, it should check if it is the last widget to set input context with IMEStateManager since an input context may be shared with other widgets and another one may have update the input context.  I.e., PuppetWidget's input context cache may be already outdated after IMEStateManager sets input context with another widget.

This patch gives up to support retrieving IME open state from child process. However, perhaps, this is not necessary for everybody including add-on developers because the only user of IME open state in child process is nsIDOMWindowUtils. So, add-ons can send IME open state from chrome process instead.  If this decision is wrong, unfortunately, we should support it again in another bug.  It's easy to support with creating another nsIWidget::GetInputContext() or adding additional argument to it.

MozReview-Commit-ID: B2d2CCTsPKj

--HG--
extra : rebase_source : 4117330ba7871753176da960063b612e96f11752
2016-05-28 11:27:56 +09:00
eyim
3767f26135 Bug 1145085 - Move widget/ContentHelper.* to gfx/layers/apz/util/TouchActionHelper.*. r=BenWa,kats
r?BenWa,kats

MozReview-Commit-ID: 5snt3fIGnAS

--HG--
rename : widget/ContentHelper.cpp => gfx/layers/apz/util/TouchActionHelper.cpp
rename : widget/ContentHelper.h => gfx/layers/apz/util/TouchActionHelper.h
extra : rebase_source : 58250f060aefec4a8f9551f679d210bcdc849719
2016-05-27 16:46:25 -04:00
Nicholas Nethercote
62f0bd3e33 Bug 1272203 (part 3) - Use NotNull in nsContentUtils::GetSurfaceData(). r=froydnj.
This might not look compelling in isolation, but this use of NotNull would have
prevented the null dereference crash in bug 1268721.
2016-05-27 09:49:25 +10:00
Makoto Kato
d8ef4deef4 Bug 1177943 - Part 5. Add IPC for e10s support. r=masayuki
Implement LookUpDictionary to PuppetWidget and PBrowser for e10s.

MozReview-Commit-ID: 44SrfuLJoCF
2016-04-26 17:18:04 +09:00
Timothy Nikkel
bf94e2fc4e Bug 1261752. Part 3. r=mats 2016-05-10 22:58:47 -05:00
Andrew McCreight
ce5db61801 Bug 1268721, part 2 - Null check first argument to nsContentUtils::GetSurfaceData(). r=jimm 2016-05-03 07:04:21 -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
Nathan Froyd
98cfb0e977 Bug 1265902 - part 1 - be more efficient when using nsContentUtils::GetSurfaceData(); r=mccr8
nsContenUtils::GetSurfaceData() returns an allocated buffer; the uses of
it in PuppetWidget and nsContentUtils::TransferableToIPCTransferable
copy the allocated buffer again.  We can do better than this.  In the
PuppetWidgetCase, we can simply construct an nsDependentCString for
sending the IPC message.  In the TransferableToIPCTransferable case, we
can transfer ownership of the buffer into the IPCDataTransferItem we are
creating.
2016-04-20 11:50:45 -04:00
Masayuki Nakano
cbe8f5268a Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug
MozReview-Commit-ID: ESWM5ZyBpSR

--HG--
extra : rebase_source : c5e1e3f60bcdde2a7f6c399e72430b29a3e552cd
2016-04-18 23:09:02 +09:00
Masayuki Nakano
07b6f24132 Bug 1259657 Rename WidgetGUIEvent::widget to WidgetGUIEvent::mWidget r=smaug
MozReview-Commit-ID: 167PQWJDEHW

--HG--
extra : rebase_source : 6cd44095b9f33e03190972f043087786cbd772f2
2016-04-14 17:03:14 +09:00
Kartikaya Gupta
f72cd76655 Bug 1250505 - Convert SynthesizeNativeTouchPoint and SynthesizeNativeTouchTap to take a LayoutDeviceIntPoint instead of a ScreenPoint. r=njn
MozReview-Commit-ID: EybGq9b1B8Z

--HG--
extra : rebase_source : defc16fc066a3a40480fa4c94f3a742a267344a8
2016-04-15 06:39:36 -04:00
Ting-Yu Chou
964d4d12f1 Bug 1260736 - Let the client to filter out its interested messages to lower the number of times entering the monitor in PeekMessages(). r=dvander 2016-04-13 09:51:34 +08:00
Milan Sreckovic
e0b2b9e425 Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt

--HG--
extra : rebase_source : 4988f3f488c19dd35a9979e96f78a5511ee8f3d2
2016-04-12 15:18:11 -04:00
Nathan Froyd
392bfacb03 Bug 1261818 - don't pass nsAutoCStrings into nsBaseWidget debugging methods; r=karlt
Passing raw character pointers works just fine.
2016-03-31 14:42:13 -04:00
Ting-Yu Chou
9ea65b71ed Bug 1255968 - Part 2: Implement puppet widget's HasPendingInputEvent() for interruptible reflow to work in content process. r=bz
--HG--
extra : rebase_source : cea071e17ad620a9a958ff897a1f18db73789977
2016-03-29 15:03:54 +08:00
Arata Furukawa
676913b9bb Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki
MozReview-Commit-ID: 7lBCEVkanvF

--HG--
extra : source : d629f018d02594951b7deccf1e1fce279d04694c
2016-03-28 13:29:42 +09:00
Kartikaya Gupta
bc8c21c555 Bug 1242690 - Squash together DispatchAPZAwareEvent and DispatchInputEvent. r=dvander
MozReview-Commit-ID: 2cou0cK4Yw8
2016-03-10 18:25:48 -05:00
Kartikaya Gupta
0f4af98816 Bug 1252262 - Don't combine the client offset into the outer rect for the child process. r=jimm
MozReview-Commit-ID: BslkWk7ndkx
2016-03-08 14:14:43 -05:00
Peter Van der Beken
1900a0608e Bug 1020199 - Make sure APZ works with nested oop iframe. r=kats, r=dvander.
--HG--
extra : rebase_source : be158c15f328b19be4e4189c1b755841caabcb10
2016-01-08 20:17:39 +01:00
Makoto Kato
ba11a89326 Bug 1243268 - Support ImmSetCandidateWindow(CFS_EXCLUDE) on plugin process. r=masayuki 2016-02-02 17:05:56 +09:00
Kartikaya Gupta
6f5c11bbbf Back out 3 csets from bug 1242690 for causing bug 1244549. r=backout
--HG--
extra : commitid : G7hFhHC4YDt
2016-01-31 14:44:58 -05:00
Kartikaya Gupta
a5ffd45fae Bug 1242690 - Squash together DispatchAPZAwareEvent and DispatchInputEvent. r=dvander
--HG--
extra : commitid : D6XEv20670v
2016-01-29 16:31:15 -05:00
Masayuki Nakano
26c28dca6c Bug 1242331 part.2 Rename TextChangeDataBase::mCausedByComposition to mCausedOnlyByComposition r=smaug 2016-01-28 13:28:53 +09:00
Nicholas Nethercote
7d6edf2c51 Bug 1239864 (part 10) - Use the new rect iterators in view/ and widget/. r=roc.
--HG--
extra : rebase_source : 3d1c6ff6a1a146bd74ce57e09146bba7ea075232
2016-01-18 17:20:59 -08:00
Nicholas Nethercote
6a194c8cf8 Bug 1239864 (part 1) - Add new, nicer rect-iterators for nsRegion and nsIntRegion. r=roc.
This requires renaming the existing nsIntRegion::RectIterator as
nsIntRegion::OldRectIterator to make way for the new nsIntRegion::RectIterator.
This doesn't require many knock-on changes because most existing uses of
that type use the nsIntRegionRectIterator typedef.

--HG--
extra : rebase_source : 16c79610ae20820ead6aa63cbe214e4e4b3a9fab
2016-01-14 18:36:11 -08:00
Kartikaya Gupta
d2f9443450 Bug 1240891 - Silence warning from calling GetNativeData(NS_NATIVE_WINDOW). r=roc
--HG--
extra : commitid : 7E1XIVcD5d0
2016-01-25 17:13:50 -05:00
Randall Barker
45a15ccb02 Bug 1231517 - part 3, Add ZoomToRect function to nsIWidget classes r=kats 2016-01-20 16:24:59 -08:00