Commit Graph

381 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
ecd202d763 Backout changeset e43f568b3e9a (bug 1423990) because some OSX-only code still doesn't build. r=me 2017-12-25 12:55:45 +01:00
Emilio Cobos Álvarez
b3956b6171 Bug 1423990: Move the last few attribute-related methods outside of nsIContent. r=bz
MozReview-Commit-ID: 8JZuS6O8f8W
2017-12-07 19:13:50 +01:00
Nika Layzell
20ee9a4927 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Masayuki Nakano
87466056af Bug 1369072 - part3: nsXBLPrototypeHandler::DispatchXBLCommand() should use controller of visible window r=smaug
With previous change, KeyboardEvent is dispatched even when invisible window
has focus.  However, nsRootWindow::GetControllerForCommand() returns controller
for focused window even when the window is invisible because it uses
nsFocusManager::GetFocusedDescendant() to retrieve focused window.

Perhaps, we can assume that users won't expect to do something with invisible
window when they type some keys.  Then, nsRootWindow::GetControllerForCommand()
should return controller for visible ancestor window if focused window is
invisible.

This patch makes nsFocusManager::GetFocusedDescendant() can return only visible
descendants.  However, it already has a bool argument.  Therefore, it should
have a flag instead of adding new flag.  Most changes of this patch is replacing
its callers.

Then, nsRootWindow::GetControllerForCommand() and nsRootWindow::GetControllers()
should have a bool flag if it should return controller(s) for visible window.
This patch adds a bool flag for it.  Fortunately, the interface isn't scriptable.

Finally, this patch makes nsXBLPrototypeHandler::DispatchXBLCommand() and
EventStateManager::DoContentCommandEvent() retrieve controller for visible
window since they are always handles user input.

MozReview-Commit-ID: GygttTHuKRm
2017-09-07 22:54:49 +09:00
Bevis Tseng
236b3f9bb7 Bug 1390424 - Move ParentActivated message from PContent/PContentBridge back to PBrowser. r=billm 2017-08-23 17:02:57 +08:00
Masayuki Nakano
d90e62fa33 Bug 1387406 - part3: nsFocusManager should treat editor as HTMLEditor r=smaug
Editor treated by nsFocusManager is always HTMLEditor.  So, it should treat the editor as is.

MozReview-Commit-ID: Di1k2dlLodV
2017-08-07 14:55:58 +09:00
Jim Mathies
95eb7583b7 Bug 1360666 - Update IME state when nsObjectLoadingContent content changes type from 'loading' to a valid content type. r=masayuki
MozReview-Commit-ID: JC3YGS75gpN
2017-08-03 14:07:14 -05:00
Wes Kocher
5b3f4b0bd1 Backed out changeset bcd223309de8 (bug 1360666) for asserting in stylo reftests a=backout
MozReview-Commit-ID: HH3rwDwvYyz
2017-08-02 18:14:56 -07:00
Jim Mathies
ec5d051b3c Bug 1360666 - Update IME state when nsObjectLoadingContent content changes type from 'loading' to a valid content type. r=masayuki
MozReview-Commit-ID: 2cjJ5SvJsTa
2017-08-02 15:31:55 -05:00
Kershaw Chang
90b8b89de8 Bug 1366822 - Part2: Revert changes of NotifyCurrentTopLevelContentWindowChange, r=mayhemer 2017-07-27 23:42:00 +02:00
Masayuki Nakano
e600000538 Bug 1377978 - Make nsRange use uint32_t to offset r=smaug
DOM Standard defines that offset of Range is unsigned long.  However, nsRange uses int32_t to them.

This patch makes nsRange use uint32_t instead.  However, this patch does NOT allow to set over INT32_MAX as offset values since a lot of users of nsRange cannot treat the values as over INT32_MAX because a lot of internal APIs take int32_t as offsets.

For easier to search such points, this patch adds static_cast<int32_t> to uint32_t variables when they are used for int32_t arguments.

And note that nsContentUtils::ComparePoints() behaves odd.  It accepts negative offset and compares such value with valid offset simply.  This patch still uses int32_t offset variables in nsRange::CompareNodeToRange() even though it may be negative value if nsINode::IndexOf() returns -1 because the caller of it depends on this behavior.

MozReview-Commit-ID: 8RbOgA86JuT
2017-07-19 22:49:52 +09:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Beekill95
d319e521ef Bug 1362330 - Part 3: Include missing header file to nsFocusManager.cpp to fixed linux64-asan-fuzzing build failed. r=smaug
MozReview-Commit-ID: 8435v92uJru
2017-07-04 15:20:46 +07:00
Ehsan Akhgari
27d9bec9f4 Bug 1377447 - Add a new flush type between Frames and InterruptibleLayout to initialize layout if needed and use it from CheckIfFocusable; r=smaug 2017-07-04 22:00:09 -04:00
Ehsan Akhgari
adf093961c Backout bug 1377447 for more test failures on a CLOSED TREE 2017-07-04 17:01:42 -04:00
Ehsan Akhgari
edc606c572 Bug 1377447 - Add a new flush type between Frames and InterruptibleLayout to initialize layout if needed and use it from CheckIfFocusable; r=smaug 2017-07-04 15:13:20 -04:00
Sebastian Hengst
bd853b8c4a Backed out changeset bd3edebd5f20 (bug 1377447) for failing its own test 1377447-1.html on Windows 7 and OS X. r=backout 2017-07-04 18:18:30 +02:00
Ehsan Akhgari
9b46addacd Bug 1377447 - Add a new flush type between Frames and InterruptibleLayout to initialize layout if needed and use it from CheckIfFocusable; r=smaug 2017-07-04 11:13:30 -04:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
238bf154d5 Backed out changeset 4f6302a98ae4 (bug 1372405) 2017-06-21 13:59:26 +02:00
Bill McCloskey
67e8af4720 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Ehsan Akhgari
dfe81e3ff8 Bug 1369140 - Part 1: Revert to only flushing styles when checking whether an element is focusable; r=bzbarsky
Bug 612018 made us flush layout for caret painting which isn't triggered
from anything that can call this code any mode, therefore we can revert
the change from that bug.
2017-06-01 08:55:30 -04:00
Olli Pettay
5e05a0c964 Bug 1366596, try to avoid layout flushes also when calling .focus() in non-focused windows, r=ehsan 2017-05-23 07:37:15 -04:00
Olli Pettay
e9805c8750 bug 1366517, because of XBL usage, limit not-flushing-always-during-focus() to non-chrome, r=ehsan 2017-05-23 07:34:06 -04:00
Olli Pettay
92e7031a10 Bug 1366250, don't flush layout when calling element.focus() on already focused element. Ensure layout is flushed after changing input.type, r=ehsan 2017-05-19 23:20:48 +03:00
Emilio Cobos Álvarez
e4c9e9f914 Bug 1361301: Don't toggle focus-within state past the nearest common flattened tree ancestor. r=smaug
MozReview-Commit-ID: 3L5Nr6z4Q9X
2017-05-03 12:41:24 +02:00
Emilio Cobos Álvarez
643f3f8618 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk
2017-05-01 19:32:52 +02:00
Sebastian Hengst
e193a8cbf4 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4QFAkv28IPJ
2017-05-01 11:21:49 +02:00
Emilio Cobos Álvarez
3731858edf Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle
2017-04-30 17:30:08 +02:00
Jessica Jong
f2c8271f53 Bug 1358926 - Check and dequeue delayed events in the queue before firing events. r=smaug
When firing an event, check if there is any event in the delayed events queue,
if yes, fire them first to ensure the events are fired in the right order.

MozReview-Commit-ID: DY842oiHcVJ
2017-04-30 10:00:11 -07:00
Olli Pettay
45822311b7 Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica 2017-03-31 22:49:00 -04:00
Olli Pettay
694b05ce02 Backout Bug 1351860, r=backout 2017-03-31 16:55:32 -04:00
Olli Pettay
fa83f6684e Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica 2017-03-31 13:13:36 -04:00
Olli Pettay
741ba6de67 Bug 1349946, ensure expected focus handling when redirecting focus, r=enndeakin 2017-03-25 03:01:19 +02:00
Evelyn Hung
6f0f50c455 Bug 1347117 - Add Activate/Deactivate/ParentActivated to PContentBridge; r=billm
In a nested content process setup, FocusManager needs to activate focus
to a remote frame through ContentBridgeParent, not ContentParent.
2017-03-15 02:00:00 +01:00
Kershaw Chang
acb022e9c5 Bug 1309653 - Part2: Send an update of current top level, r=smaug 2017-03-10 01:34:00 +01:00
Ben Kelly
3e3147f98d Bug 1266747 P1 Track the last focus time on the nsIDocument. r=smaug 2017-02-28 22:12:27 -05:00
Sebastian Hengst
60f5eb6bba Backed out changeset d19ad1c1c214 (bug 1266747) for failing dom/workers/test/serviceworkers/test_claim.html. r=backout 2017-02-28 18:56:14 +01:00
Ben Kelly
eda30dce7a Bug 1266747 P1 Track the last focus time on the nsIDocument. r=smaug 2017-02-28 10:48:51 -05:00
Bill McCloskey
35d8610c50 Bug 1334572 - Dispatch WindowLowered/Raised events asynchronously in test mode (for marionette) (r=smaug)
MozReview-Commit-ID: Kwgl6sX4OoU
2017-02-13 17:02:45 -08:00
Bill McCloskey
67a1f54982 Bug 1334572 - Move Activate/Deactivate messages from PBrowser to PContent (r=smaug)
MozReview-Commit-ID: IMSK1sjeAJb
2017-02-13 17:02:39 -08:00
Jessica Jong
1653fdc0ea Bug 1316330 - Cancel delayed keypress events if last keydown was canceled. r=smaug 2017-02-03 05:16:00 -05:00
Neil Deakin
2e35ab4d29 Bug 1328043, scrolling into view on focus should happen even when event shouldn't fire, fixes tabbing into blank iframes, r=smaug 2017-01-09 11:03:52 -05:00
Cameron McCormack
5f9911da79 Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Kevin Wern
4f6968375c Bug 687787: support focusin/focusout based on webkit/blink r=smaug
Blink and webkit launch focusin after focus and focusout after blur. Despite
this contradiction with the spec, it is best to mirror this new way, as there
is little guidance or existing code to clarify implementation amiguities that
can arise from the spec.

If focus/blur is fired on a window or document, or the event triggers a change
of focus, do not fire the corresponding focusin/focusout. Otherwise, always
fire the corresponding event.

Additionally, add a mochitest and a w3c-platform-test.

MozReview-Commit-ID: AgQ8JBxKIqK
2016-10-06 21:39:53 -04:00
Ethan Lin
e0a6d3e5c5 Bug 1176997 - Part1. Support focus-within. r=xidron r=smaug 2016-09-09 00:12:00 +02:00
Manish Goregaokar
49b3b83008 Bug 1300337 - Replace None_ variants from nsStyleConsts.h with None; r=heycam,TYLin
MozReview-Commit-ID: CxHzbEzjLxT
2016-09-04 00:16:58 +05:30
Nicholas Nethercote
62b6b0fce6 Bug 1297961 (part 1) - Introduce nsURI::GetSpecOrDefault(). r=hurley.
This function is an infallible alternative to nsIURI::GetSpec(). It's useful
when it's appropriate to handle a GetSpec() failure with a failure string, e.g.
for log/warning/error messages. It allows code like this:

  nsAutoCString spec;
  uri->GetSpec(spec);
  printf("uri: %s", spec.get());

to be changed to this:

  printf("uri: %s", uri->GetSpecOrDefault().get());

This introduces a slight behavioural change. Previously, if GetSpec() failed,
an empty string would be used here. Now, "[nsIURI::GetSpec failed]" will be
produced instead. In most cases this failure string will make for a clearer
log/warning/error message than the empty string.
* * *
Bug 1297961 (part 1b) - More GetSpecOrDefault() additions. r=hurley.

I will fold this into part 1 before landing.
2016-08-26 16:02:31 +10:00