Commit Graph

1020 Commits

Author SHA1 Message Date
Jeff Muizelaar
3370a80065 Bug 1439006. Allow multiple kinds of WebRenderUserData on a DisplayItem. r=mstange
Currently we can only have one type of WebRenderUserData on an Item. We already
have a hash table of WebRenderUserData so it's not hard to include type in the
hash to support one per type.

MozReview-Commit-ID: geJ0BeWv8b
2018-03-16 19:15:27 -04:00
Sylvestre Ledru
055d8432e6 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR
2018-03-16 14:29:15 +01:00
Adrian Wielgosik
6364cecc9c Bug 1445408 - Remove nsIDOMClientRect. r=bz
MozReview-Commit-ID: HP4E3cADa8i
2018-03-13 14:19:17 +01:00
Coroiu Cristina
8c03201dcc Backed out 2 changesets (bug 1443080) for spidermonkey build bustage at build/src/js/src/jit/BaselineCacheIRCompiler.cpp
Backed out changeset 7d509bb8a35d (bug 1443080)
Backed out changeset 53bdcd5937cd (bug 1443080)
2018-03-14 11:13:21 +02:00
Sylvestre Ledru
4a52aab337 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR
2018-03-05 13:43:54 +01:00
Emilio Cobos Álvarez
0f7c4f5d20 Bug 1024082: Remove most of the nsIPresShell::FrameManager calls. r=dholbert
Most of them just want GetRootFrame(), and there's no need to explicitly go
through the frame manager for that, we have a handy alias in the shell.

MozReview-Commit-ID: GriEqkasidY
2018-03-07 10:17:49 +01:00
Kartikaya Gupta
f3a49361f4 Bug 1442627 - Stop exporting APZCTreeManager.h in mozilla/layers/. r=botond
MozReview-Commit-ID: GC5fSWOYtF5
2018-03-06 10:25:39 -05:00
Emilio Cobos Álvarez
954d76f2db Bug 1432490: Make nsComputedDOMStyle::GetStyleContext / GetStyleContextNoFlush not take a presShell. r=bz
Everyone calls them with the shell of the current composed document, and this
allows the multi-presShell stuff to just be in UpdateCurrentStyleSources /
DoGetStyleContextNoFlush.

The only reason we need to use OwnerDoc()->GetShell() instead of the composed
doc in GetStyleContext / GetStyleContextNoFlush is Element::GetBindingURL, which
does expect to get the binding URL for stuff outside of the composed doc (and
changing that gave me a useless browser).

That's technically a behavior change on the cases that used to pass nullptr, but
I think all callers are fine with that. I could also just add a special function
for that particular case, it may be worth it.

MozReview-Commit-ID: 2XlnkgdgDCK
2018-02-25 02:23:59 +01:00
Boris Zbarsky
7396d0b5a7 Bug 1429903 part 2. Stop using nsIDOMEventTarget in xpidl. r=mccr8
MozReview-Commit-ID: HQw7TyJUapY
2018-04-20 00:49:30 -04:00
Dorel Luca
ee8e21ebda Backed out changeset 38577c007450 (bug 1424371) for Marionett test failure on testing/marionette/harness/marionette_harness/tests/unit/test_window_maximize.py. CLOSED TREE 2018-02-19 22:15:23 +02:00
Milan Sreckovic
2aa2530441 Bug 1424371: Use BaseRect access methods instead of member variables in dom/ r=qdot
MozReview-Commit-ID: HXWhggOMIEK
2018-02-19 12:56:10 -05:00
Cameron McCormack
8903b373e8 Bug 1437362 - Remove nsIDOMWindowUtils.focus. r=bz
Replace the one use of it with element.focus().

MozReview-Commit-ID: 5qK6yfyuRoY
2018-02-11 17:16:58 +08: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
Masayuki Nakano
ffe8c8b45b Bug 1436005 - Make type of nsIDOMWindowUtils.focusedInputType AString r=hsivonen
nsIDOMWindowUtils.focusedInputType is necessary to check if IMEStateManager
sets InputContext of widget properly.  So, let's keep it but make its type
AString (nsAString&) rather than string (char**).

MozReview-Commit-ID: 1RHhmAsPY5a
2018-02-07 15:16:41 +09:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Jeremy Chen
f6a2f91ed9 Bug 1426223 - remove tests for Stylo blocklist mechanism. r=xidorn
In this patch, we remove 3 tests:
1. test for blocked domain
2. test for blocked sub-domain
3. test for non-blocked domain

Two nsIDOMWindowUtils APIs were added for adding/removing a mock domain to the
existing blocklist. They are only used in the Stylo blocklist tests, so we
remove them as well.

MozReview-Commit-ID: A0ETWlqwbpN
2018-01-30 11:58:24 +01:00
Dzmitry Malyshau
5e9a4ff298 Bug 1433139 - WebRender capture integration on Nightly. r=mikedeboer
MozReview-Commit-ID: 6oIUlPSfLMg
2018-01-26 10:09:30 -05:00
Kartikaya Gupta
63864bd244 Back out cset 75b5af791006 (bug 1433139) for OS X debug mochitest-chrome-3 failure. r=me 2018-01-26 11:31:34 -05:00
Dzmitry Malyshau
ad7df96f76 Bug 1433139 - WebRender capture integration on Nightly. r=mikedeboer
MozReview-Commit-ID: 6oIUlPSfLMg
2018-01-26 10:09:30 -05:00
Andrew Osmond
3dd577a6f9 Bug 1428946 - Part 1. Make comparing and mapping DataSourceSurfaceWrapper objects work consistently. r=bas 2018-01-11 08:48:46 -05:00
Cameron McCormack
6f67ab6348 Bug 1427512 - Part 29: Remove nsIDOMCSSDeclaration. r=xidorn,jryans,bz
This removes the .style attribute from nsIDOMSVGElement, but there
shouldn't be any users of that.

MozReview-Commit-ID: LOBSFo85Utn
2018-01-11 16:17:57 +08:00
Cameron McCormack
18480c6598 Bug 1427512 - Part 22: Remove nsIDOMStyleSheet. r=xidorn,bz
MozReview-Commit-ID: KO2mWX4P8lI
2018-01-11 16:17:57 +08:00
Kartikaya Gupta
62f62f26bc Bug 1426191 - Update test_acceleration to check for webrender windows. r=dvander
MozReview-Commit-ID: gbBJs4OR9f
2017-12-21 09:25:07 -05:00
Stone Shih
c0fcadf448 Bug 1421482 Part2: Replace test utility synthesizePointer with synthesizeMouse. r=smaug.
We should follow the real use cases to synthesize mouse or touch events to generate pointer events so that the related logic is covered by these test cases.

MozReview-Commit-ID: 9xSgjSL0Azt
2017-11-24 07:50:12 +08:00
Sebastian Hengst
a35f19d0c2 Backed out 2 changesets (bug 1421482) for failing modified mochitest layout/base/tests/test_bug1078327.html. r=backout a=backout
Backed out changeset a8701e1bd012 (bug 1421482)
Backed out changeset d774f5fe6e94 (bug 1421482)
2017-12-12 19:03:49 +02:00
Stone Shih
fad3c30fa9 Bug 1421482 Part2: Replace test utility synthesizePointer with synthesizeMouse. r=smaug.
We should follow the real use cases to synthesize mouse or touch events to generate pointer events so that the related logic is covered by these test cases.

MozReview-Commit-ID: 9xSgjSL0Azt
2017-11-24 07:50:12 +08: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
Hiroyuki Ikezoe
1d24c6b00d Bug 1418867 - getUnanimatedComputedStyle throws an exception for non-existent pseudo element. r=birtles
This is a prerequisite change for passing pseudo element to
Servo_StyleSet_GetBaseComputedValuesForElement which will be done in the next
commit.

MozReview-Commit-ID: HEGF2wjBGEP
2017-11-22 09:57:31 +09:00
Hiroyuki Ikezoe
4ee9c6ff0c Bug 1419221 - Introduce a new argument for getUnanimatedComputedStyle to be able to flush pending styles. r=birtles
Even with this patch, in Gecko getUnanimatedComputedStyle flushes pendings
styles somehow.  Also in Stylo the function flushes pending styles if the
target element hasn't yet styled or Servo style data has cleared for some
reasons (e.g. the element is in display:none subtree).

MozReview-Commit-ID: HCizzM0JnFz
2017-11-21 18:03:17 +09:00
Emilio Cobos Álvarez
c4bd75ce44 Bug 1416564: Remove mozmm CSS unit. r=heycam
MozReview-Commit-ID: AU4CUq09tw4
2017-11-14 16:14:17 +01:00
Nika Layzell
d8c117bc28 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Masayuki Nakano
6075c1a47c Bug 1406446 - part 1: InputContextAction should treat focus change during handling a user input as caused by user input even if it's caused by JS r=smaug
Currently, widget doesn't show VKB when input context change is caused by JS.
However, if it's caused by an event handler of a user input, user may expect
to open VKB.  For example, if a touch event in fake editor causes moving
focus to actual editable node, user expect to show VKB.

Therefore, InputContextAction should declare two causes.  One is unknown but
occurred during handling non-keyboard event.  The other is unknown but occurred
during handling keyboard event.

However, EventStateManager doesn't have an API to check if it's being handling
a keyboard event.  Therefore, this patch adds it first.
AutoHandlingUserInputStatePusher sends event type to StartHandlingUserInput()
and StopHandlingUserInput() of EventStateManager and sUserKeyboardEventDepth
manages the number of nested keyboard event handling.  Therefore,
EventStateManager::IsHandlingKeyboardInput() can return if it's handling a
keyboard event.

IMEStateManager uses this new API to adjust the cause of changes of input
context.

Finally, InputContextAction::IsUserInput() is renamed to IsHandlingUserInput()
for consistency with EventStateManager and starts to return true when the
input context change is caused by script while it's handling a user input.

MozReview-Commit-ID: 5JsLqdqeGah
2017-10-24 02:46:15 +09:00
Kartikaya Gupta
4001e7cd98 Bug 1411238 - Make OMTA queries work with layers-free webrender. r=mtseng
MozReview-Commit-ID: Jq57GtjNO3E
2017-10-25 11:14:41 -04:00
Masatoshi Kimura
e29c3d5a3e Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj
MozReview-Commit-ID: 7JoD4VYzZp3
2017-10-21 23:53:02 +09:00
Matt Woodrow
71282ed1ae Bug 1404181 - Part 23: Only rebuild items within a displayport when the displayport changes, rather than rebuilding the whole document. r=mstange
MozReview-Commit-ID: IYEPCKSvtBY
2017-09-29 10:54:15 +13:00
Matt Woodrow
6f5cac7650 Bug 1404181 - Part 9: Add code for detecting if display list building happened for a given frame, and use it to add some tests for retained display lists. r=mstange
MozReview-Commit-ID: AIb0AWU7iiS
2017-09-27 17:17:11 +13:00
Jeremy Chen
5225114a2c Bug 1403077 - add two test-only helper functions to access the stylo blocklist. r=heycam
In the current blocklist implementation, we read the stylo blocklist from the user
preferences very early and only once, even earlier than the test preferences
updating happens.

So, to be able to test the functionality of the stylo blocklist, we add these two
nsIDOMWindowUtils APIs to be able to add/remove a mock domain to the existing
blocklist.

MozReview-Commit-ID: K48ejLBcNbn
2017-10-09 12:07:04 +08:00
Sebastian Hengst
7d14f8623a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EE6DcCgHufi
2017-10-09 11:19:20 +02:00
Nicholas Nethercote
a35e82f193 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Kyle Machulis
e579fad77f Bug 1403819 - Remove nsIDOMHTMLCanvasElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLCanvasElement, replacing it
with binding class usage.

MozReview-Commit-ID: DQJhqGlY8U6
2017-10-06 10:49:26 -07:00
Nicholas Nethercote
9fda5528d2 Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ
2017-09-26 08:33:21 +10:00
Nicholas Nethercote
2b2601e107 Bug 1402743 - Remove nsIDOMWindowUtils::getCursorType(). r=bkelly.
It has no users in mozilla-central or comm-central. This also lets us remove
nsBaseWidget::GetCursor().
2017-09-25 11:46:07 +10:00
Olli Pettay
8cae9c47d0 Bug 1377131 - Try to trigger collector slices at times which disturb page js less (at least with iframes loaded after the top level page has been loaded), r=mccr8,bz
When triggering an iframe load or starting to parse a document for an iframe, the main thread may often have some time before the new page has been created. Try to trigger CC/GC slice at such point in order to avoid collector later when page is already executing its JS
2017-09-06 18:18:11 +01: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
Chris Pearce
436ddb49d0 Bug 1389980 - Remove MP4Decoder::IsVideoAccelerated() as it is unused. r=mattwoodrow
MozReview-Commit-ID: Eg0ggufsqDt
2017-08-15 10:15:43 +12:00
Cameron McCormack
17745e5775 Bug 1388113 - Hold on to pseudo-element atoms longer. r=bholley
MozReview-Commit-ID: 98eW8VwVFPT
2017-08-17 14:37:32 -04:00
Milan Sreckovic
5e848ab767 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in dom/*. r=overholt
MozReview-Commit-ID: B9YWmM3C1oX
2017-08-14 08:30:10 -04:00
Stone Shih
cef54f76bd Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
Wes Kocher
399a13fd39 Merge inbound to central, a=merge
MozReview-Commit-ID: GArkKmOFIVH
2017-08-11 13:15:33 -07:00