Commit Graph

1158 Commits

Author SHA1 Message Date
James Teh
86dcbd20d8 Bug 1431404: Remove some accessibility related diagnostic crashes on Nightly. r=aklotz
These conditions are rare and do indicate a problem which breaks accessibility.
However, we aren't getting any closer to diagnosing these as a result of these crashes, so they cause user pain without any gain to us.

MozReview-Commit-ID: D9U4et3Bg7d
2018-02-09 15:28:13 +10:00
Masayuki Nakano
db4d6d392a Bug 1134542 - Get rid of nsIDOMWindowUtils::sendKeyEvent() and nsIFrameLoader::sendCrossProcessKeyEvent() r=smaug
nsIDOMWindowUtils::sendKeyEvent() is already replaced with nsITextInputProcessor
for making callers set any attributes of KeyboardEvent and guaranteeing
consistency behavior with keyboard events caused by native key events.  E.g.,
whether keypress event should be dispatched or not is automatically decided.

nsIFrameLoader::sendCrossProcessKeyEvent() is similart to
nsIDOMWindowUtils::sendKeyEvent() but it dispatches keyboard events in
child process directly.  Currently, nsITextInputProcessor doesn't have this
feature but nobody wants/uses this feature.  So, for removing actual
implementation of nsIDOMWindowUtils::sendKeyEvent(), i.e.,
nsContentUtils::SendKeyEvent(), which is shared by both
nsDOMWindowUtils::SendKeyEvent() and nsFrameLoader::SendCrossProcessKeyEvent(),
we should remove this unused API too. (FYI: it's implemented for old Fennec,
by bug 553149.)

MozReview-Commit-ID: 9n0UVo8Me8k
2018-01-31 17:04:20 +09:00
Tooru Fujisawa
c2f56585a8 Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
Masayuki Nakano
0ca066f5da Bug 1435530 - part 2: Make nsXBLWindowKeyHandler treat eAccessKeyNotFound as eKeyPress event r=enndeakin+6102
Modifiers of shortcut keys may be same as modifier of content access keys.

When focus is in the main process, such eKeyPress event is sent to remote
content first.  Then, and if it's not handled in the remote content,
eAccessKeyNotFound is dispatched into the DOM tree in the main process.
However, nsXBLWindowKeyHandler doesn't handle it as eKeyPress event.  So,
it causes that shortcut keys whose modifier conflicts with content access key
won't be handled.

This patch just makes nsXBLWindowKeyHandler treat eAccessKeyNotFound as
eKeyPress event even though other shortcut keys which are handled by JS
won't be executed.  Perhaps, we should stop using eAccessKeyNotFound but
it's too risky change for now.

MozReview-Commit-ID: IJltg5gwBc5
2018-02-05 18:27:30 +09:00
Coroiu Cristina
ed8aa474e7 Merge inbound to mozilla-central r=merge a=merge 2018-01-13 11:55:23 +02:00
Nika Layzell
e5cd184550 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Mike Conley
4622d908ec Bug 1430072 - Make the TabParent's default cached value for the DocShell active state be false again. r=mystor
MozReview-Commit-ID: AMAJgD8n0Lp
2018-01-12 17:17:39 -05:00
Mike Conley
d8407c079e Bug 1423208 - Make DocShell active state in TabParent default to true, since that's the actual default state. r=mystor
MozReview-Commit-ID: 8JQCW12FYyJ
2018-01-08 17:52:41 -05:00
Mike Conley
73d070ab4a Bug 1397426 - Expose renderLayers state via nsITabParent and lazily retrieve initial tab states in async tab switcher. r=billm
MozReview-Commit-ID: IIMmwrgJUV6
2017-12-19 08:44:18 -08:00
Mike Conley
13436269e1 Bug 1397426 - Make TabParent's assume they're rendering layers by default on construction. r=billm
This assumption also mirrors how non-remote browsers have their docShells active by default.

In order to do this, I also have to increase the initial epoch's for the TabParent and TabChild,
as if a RenderLayers has been called. Originally, since the epochs initted at 0, and the epochs
stored by the [Layer|WebRender]TransactionParent were also initted at 0, we'd hit this branch:

https://searchfox.org/mozilla-central/rev/c633ffa4c4611f202ca11270dcddb7b29edddff8/gfx/layers/ipc/LayerTransactionParent.cpp#703

and then we'd never alert the TabParent about the layer upload.

MozReview-Commit-ID: 6PP1eCnisYK
2017-11-20 11:41:11 -05:00
Mike Conley
786387ac52 Bug 1397426 - Add hasLayers to nsITabParent and use it in the async tab switcher. r=billm
This is necessary because sometimes the async tab switcher will instantiate when
there already exists some background tabs that are rendering via print preview. When
that happens, it's important for the state to be set correctly for them so that we
don't accidentally treat them as still loading, and wait (forever) for them to report
having finished loading.

MozReview-Commit-ID: 2dwo5WlXlgJ
2017-11-17 09:55:29 -08:00
Mike Conley
c876c19ca0 Bug 1397426 - When short-circuiting a TabParent::RenderLayers call, still fire the layer tree event if we've been preserving layers. r=billm
MozReview-Commit-ID: 7UT036vUY85
2017-11-07 15:08:47 -05:00
Mike Conley
98e50ba50b Bug 1397426 - Rename mRenderingLayers to mRenderLayers. r=billm
MozReview-Commit-ID: KTDhXM7PRdc
2017-11-22 10:21:34 -08:00
Mike Conley
ab6d215b32 Bug 1397426 - Add IPC interface to tell TabChild's to render and clear layers, distinct from setting the active state on the DocShell. r=billm
Originally, setting the active state on the DocShell for remote browsers also did the
work of making the TabChild render its layers and upload them to the compositor.

This patch adds a new renderLayers method to nsITabParent which allows more fine-grained
control - we can now, for example, cause layers to be rendered and uploaded without
activating the DocShell.

Note that if one activates or deactivates the DocShell, we'll still do the work of
attempting to render / clear the layers if it hasn't already been done.

MozReview-Commit-ID: KkLaMDTzfHi
2017-11-03 10:27:05 -04:00
Mike Conley
b7a872bd1a Backed out changeset 261be8ec0554 (bug 1397426) 2017-12-06 16:10:55 -05:00
Mike Conley
cb529fc4d9 Backed out changeset 2cd697170fb3 (bug 1397426) 2017-12-06 16:09:36 -05:00
Mike Conley
b33ed7461e Backed out changeset 4dd20bf8c0f6 (bug 1397426) 2017-12-06 16:06:36 -05:00
Mike Conley
b32299200e Backed out changeset 53bb2bc2b676 (bug 1397426) 2017-12-06 15:56:24 -05:00
Mike Conley
c8e182206d Backed out changeset b9b2895b11a3 (bug 1397426) 2017-12-06 15:54:06 -05:00
Mike Conley
c82e018680 Backed out changeset 8994162ee112 (bug 1397426) 2017-12-06 15:48:54 -05:00
Mike Conley
48c9b08678 Bug 1397426 - Expose renderLayers state via nsITabParent and correctly set initial tab states in async tab switcher. r=billm
MozReview-Commit-ID: IIMmwrgJUV6
2017-11-22 10:48:10 -08:00
Mike Conley
1473ab4020 Bug 1397426 - Make TabParent's assume they're rendering layers by default on construction. r=billm
This assumption also mirrors how non-remote browsers have their docShells active by default.

In order to do this, I also have to increase the initial epoch's for the TabParent and TabChild,
as if a RenderLayers has been called. Originally, since the epochs initted at 0, and the epochs
stored by the [Layer|WebRender]TransactionParent were also initted at 0, we'd hit this branch:

https://searchfox.org/mozilla-central/rev/c633ffa4c4611f202ca11270dcddb7b29edddff8/gfx/layers/ipc/LayerTransactionParent.cpp#703

and then we'd never alert the TabParent about the layer upload.

MozReview-Commit-ID: 6PP1eCnisYK
2017-11-20 11:41:11 -05:00
Mike Conley
d7a42306fa Bug 1397426 - Add hasLayers to nsITabParent and use it in the async tab switcher. r=billm
This is necessary because sometimes the async tab switcher will instantiate when
there already exists some background tabs that are rendering via print preview. When
that happens, it's important for the state to be set correctly for them so that we
don't accidentally treat them as still loading, and wait (forever) for them to report
having finished loading.

MozReview-Commit-ID: 2dwo5WlXlgJ
2017-11-17 09:55:29 -08:00
Mike Conley
2b292319a0 Bug 1397426 - When short-circuiting a TabParent::RenderLayers call, still fire the layer tree event if we've been preserving layers. r=billm
MozReview-Commit-ID: 7UT036vUY85
2017-11-07 15:08:47 -05:00
Mike Conley
a8f39c5a67 Bug 1397426 - Rename mRenderingLayers to mRenderLayers. r=billm
MozReview-Commit-ID: KTDhXM7PRdc
2017-11-22 10:21:34 -08:00
Mike Conley
cb0e50304b Bug 1397426 - Add IPC interface to tell TabChild's to render and clear layers, distinct from setting the active state on the DocShell. r=billm
Originally, setting the active state on the DocShell for remote browsers also did the
work of making the TabChild render its layers and upload them to the compositor.

This patch adds a new renderLayers method to nsITabParent which allows more fine-grained
control - we can now, for example, cause layers to be rendered and uploaded without
activating the DocShell.

Note that if one activates or deactivates the DocShell, we'll still do the work of
attempting to render / clear the layers if it hasn't already been done.

MozReview-Commit-ID: KkLaMDTzfHi
2017-11-03 10:27:05 -04:00
Makoto Kato
c87ca037cd Bug 1419285 - Part 2. IME message should post to correct widget. r=masayuki
After landing bug 1353060, TabParent::GetWidget()'s behaviour is changed.  We
should use GetDocWidget for IME.

MozReview-Commit-ID: 5DpYjzQDHlD
2017-11-29 15:56:11 +09:00
Makoto Kato
0276c36665 Bug 1419285 - Part 1. Calculate composition rect for remote XUL frame. r=masayuki
Out of process support for Web extension creates another XUL widget for it.
We should calculate correct offset for Web Extension's remote widget.

MozReview-Commit-ID: AaALzLeKLsM
2017-11-29 15:55:58 +09:00
Chris Peterson
1c79a65f02 Bug 1416164 - Replace NS_ABORT with MOZ_ASSERT_UNREACHABLE. r=froydnj
MozReview-Commit-ID: DRdYlOYqZpN
2017-10-24 23:52:56 -07:00
Nicholas Nethercote
e7cd5cec20 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.
2017-10-13 16:12:57 +11:00
Botond Ballo
473f8337a1 Bug 1340415 - Ensure main-thread and async autoscrolling do not happen at the same time. r=kats
The two happening at the same time can lead to the APZ autoscroll being
cancelled due to APZ receiving a main-thread scroll offset update.

To achieve this:

  - The content process assumes APZ is handling the autoscroll until
    told otherwise.

  - If the parent process knows APZ won't handle an autoscroll, it
    tells the content process via its response to the Autoscroll:Start
    message. This covers all cases where APZ doesn't handle the
    autoscroll, except the case where APZCTreeManager itself rejects
    the autoscroll and it lives in the compositor process rather than
    the parent process.

  - If APZCTreeManager rejects an autoscroll and it lives in the
    compositor process, it sends an 'autoscroll-rejected-by-apz' message
    to the content process.

MozReview-Commit-ID: L62v4COai6W
2017-10-18 18:18:13 -04:00
Chung-Sheng Fu
92b91eee74 Bug 967895 - Ask for placeholder data when image extraction is not allowed (Tor 6253). r=jrmuizel
MozReview-Commit-ID: AJ5F6M5S83U
2017-08-22 14:23:41 +08:00
Sebastian Hengst
8d913bc885 Backed out changeset 71790f0ea832 (bug 967895) 2017-10-09 19:18:12 +02:00
Chung-Sheng Fu
36169821ad Bug 967895 - Ask for placeholder data when image extraction is not allowed (Tor 6253). r=jrmuizel
MozReview-Commit-ID: AJ5F6M5S83U
2017-08-22 14:23:41 +08:00
Aaron Klotz
5fda39c705 Bug 1383501 - Do not crash when TabParent::RecvPDocAccessibleConstructor receives a null COM proxy sent to the parent process. r=jimm
MozReview-Commit-ID: 5IOuLXc375T
2017-10-04 09:12:25 -06:00
Masayuki Nakano
69e1e875d1 Bug 1400189 - Give same priority to composition events and selectionset event as keyboard events at sending those events from the main process to a remote process r=stone
When sending keyboard events from TabParent to its remote process, TabParent
may give higher priority to them than composition events and selectionset event.

Therefore, the event order between keyboard events and composition events (and
selection set event) may be broken.  Keyboard events which should cause
inputting some characters are ignored if keyboard events are fired before
compositionend event accidentally.

This patch gives same priority to composition events and selectionset event
as keyboard event for avoiding breaking the event order.

MozReview-Commit-ID: 53jubwuHVvw
2017-09-29 22:03:25 +09:00
Yura Zenevich
099feb7763 Bug 1362420 - show and hide emulated windows in e10s mode for Dolphin. r=surkov, smaug
MozReview-Commit-ID: VBtgqbLap
2017-09-26 14:59:33 -04:00
Nicholas Nethercote
721eb311ac Bug 1400148 - Don't use -1 to represent an unset nsCursor. r=karlt.
Because UBSan complains about casting -1:

> runtime error: load of value 4294967295, which is not a valid value for type 'nsCursor'
2017-09-15 14:34:37 +10:00
Stone Shih
5251689dc0 Bug 1399876: Relax the assertion about sending multiple eMouseEnterIntoWidget in TabParent. r=baku.
We may create a browser element and replace it while the TabChild isn't ready to handle input events.
2017-09-15 15:41:53 +08:00
Stone Shih
b2f5ba1fb0 Bug 1397161 - Remove assert(mIsMouseEnterIntoWidgetEventSuppressed) when sending eMouseExitFromWidget to remote. r=smaug 2017-09-06 10:27:52 +08:00
Henry Chang
93bcf0c08b Bug 1349255 - Part 1: Make PBrowser.NotifyIMEFocus async to avoid UI jank. r=kanru,masayuki
Telemetry and some performance profiles show that Msg_NotifyIMEFocus can take
a few seconds to complete, and jank the browser. With bug 1217700, it removes
the necessity of sync Msg_NotifyIMEFocus, so in this patch we make this async
for performance improvement.

MozReview-Commit-ID: 15eUwMJ2Q7H
2017-05-08 19:07:56 +08:00
Stone Shih
ec09c1464f Bug 1389314 Part3: Temporarily disable the input priority events when dnd is active. r=smaug.
MozReview-Commit-ID: AWfYmhjjsq0
2017-08-02 15:23:35 +08:00
Stone Shih
c3615a35b6 Bug 1389314 Part2: Support enabling and disabling the input priority events in runtime. r=smaug.
MozReview-Commit-ID: 3a2TNVqguVb
2017-07-28 15:14:54 +08:00
Stone Shih
7e4e96a694 Bug 1389314 Part1: Rename event prioritization to input event queue. r=smaug.
MozReview-Commit-ID: 7wPWYwIjIet
2017-07-27 16:20:01 +08:00
Christoph Kerschbaumer
08424cf900 Bug 1370843 - Provide correct triggeringPrincipal for dropLinks. r=smaug,tooru 2017-08-22 10:07:03 +02:00
Stone Shih
da09b08d81 Bug 1351148 Part11: Set remote to be ready to handle input events when pref'ed off. r=smaug.
MozReview-Commit-ID: CO5BU9eOC84
2017-08-10 13:20:58 +08:00
Stone Shih
844a116867 Bug 1351148 Part9: Resend a MouseEnterIntoWidget event to TabChild when it's ready to handle input events. r=smaug.
MozReview-Commit-ID: IXPTRyJe1tk
2017-07-24 10:46:40 +08:00
Stone Shih
419a19e980 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Stone Shih
cb61054c6c Backed out changeset 46d8f42863af (bug 1351148) 2017-08-11 15:19:44 +08:00
Stone Shih
e842b58f34 Backed out changeset 3e2a441357ca (bug 1351148) 2017-08-11 15:18:57 +08:00