Commit Graph

144 Commits

Author SHA1 Message Date
Masayuki Nakano
291457b9da Bug 1466208 - part 27: Create PresShell::EventHandler::HandleEventUsingCoordinates() r=smaug
Now, the block in HandleEvent(), which handles event using coordinates is
less than 200 lines.  Perhaps, this is good amount to be split to a method.

This patch just moves the block to a new method.

Differential Revision: https://phabricator.services.mozilla.com/D21193

--HG--
extra : moz-landing-system : lando
2019-03-02 00:03:01 +00:00
Masayuki Nakano
fcb0072133 Bug 1466208 - part 26: Create PresShell::EventHandler::EventTargetData::UpdateTouchEventTarget() r=smaug
After dispatching pointer events, `PresShell::EventHandler::HandleEvent()`
updates event target only when the event is a touch event.  We should do it in
a new method of `EventTargetData`.

Although I don't know why this is done in
`PresShell::EventHandler::DispatchPrecedingPointerEvent()`.

Differential Revision: https://phabricator.services.mozilla.com/D21192

--HG--
extra : moz-landing-system : lando
2019-03-02 00:02:10 +00:00
Masayuki Nakano
72ca6260c0 Bug 1466208 - part 25: Create PresShell::EventHandler::DispatchPrecedingPointerEvent() r=smaug
Now, we can move the block dispatching preceding pointer event to separated
method.  Then, we can hide the complicated retarget process after dispatching
a pointer event from HandleEvent().

Differential Revision: https://phabricator.services.mozilla.com/D21191

--HG--
extra : moz-landing-system : lando
2019-03-01 02:02:31 +00:00
Masayuki Nakano
cfd764b949 Bug 1466208 - part 24: Move overrideClickTarget into EventTargetData r=smaug
Currently, PresShell::EventHandler::HandleEvent() sets `overrideClickTarget`
only when Pointer Events is enabled and there is pointer capturing content,
and this is computed while dispatching a pointer event.

So, if we move it into EventTargetData, we can move the pointer event
dispatching block into a separated method and caller can receive it with
an EventTargetData instance which is anyway necessary to receive new
target frame after dispatching a pointer event.

Differential Revision: https://phabricator.services.mozilla.com/D21190

--HG--
extra : moz-landing-system : lando
2019-03-01 01:58:02 +00:00
Masayuki Nakano
1a1542b28c Bug 1466208 - part 23: Create PresShell::EventHandler::ComputeEventTargetFrameAndPresShellAtEventPoint() r=smaug
We cannot move each block into separated methods while computing EventTargetData
because we need to check capturing contents, etc.  Therefore, only each block
should be moved to separated methods for now.

This moves a block which computes event target from point of the event.  If
this can be moved to EventTargetData, it might be easier to understand, but
its helper method GetFrameToHandleNonTouchEvent() requires to access members
of EventHandler.  Therefore, we need to treat EventTargetData as an out param
of the new method.

Differential Revision: https://phabricator.services.mozilla.com/D21189

--HG--
extra : moz-landing-system : lando
2019-02-27 13:59:30 +00:00
Masayuki Nakano
ab3745273c Bug 1466208 - part 22: Create PresShell::EventHandler::EventTargetData::ComputeElementFromFrame() r=smaug
This patch moves the block to compute event target of the event using
coordinates into the new method of PresShell::EventHandler::EventTargetData.

Differential Revision: https://phabricator.services.mozilla.com/D19320

--HG--
extra : moz-landing-system : lando
2019-02-18 04:33:06 +00:00
Masayuki Nakano
cdf451cbdd Bug 1466208 - part 20: Create PresShell::EventHandler::EventTargetData::MaybeRetargetToActiveDocument() r=smaug
Now, we can create methods to update event target into EventTargetData().
This moves a block in PresShell::EventHandler::HandleEvent() to retarget
to active document into the new method.

Differential Revision: https://phabricator.services.mozilla.com/D19318

--HG--
extra : moz-landing-system : lando
2019-02-15 02:06:31 +00:00
Masayuki Nakano
43ddca81c8 Bug 1466208 - part 19: Group PresShell, nsIFrame and nsIContent with a struct r=smaug
PresShell::EventHandler::HandleEvent() looks for PresShell, nsIFrame and
nsIContent a lot for aGUIEvent.  Sometimes part of them are modified,
otherwise, all of them are modified by some reasons.  Therefore, for
splitting each of the modifiers into separated methods, we need a struct
for making them as a group and usable for in/out parameter.

(If you have some ideas of better name, let me know.)

Differential Revision: https://phabricator.services.mozilla.com/D19317

--HG--
extra : moz-landing-system : lando
2019-02-12 23:23:27 +00:00
Masayuki Nakano
ac6fccbe32 Bug 1466208 - part 18: Create PresShell::EventHandler::MaybeDiscardOrDelayMouseEvent() r=smaug
This patch moves the block, which discard or put the event into the delayed event
queue if handling event is a mouse event, to new method.

Differential Revision: https://phabricator.services.mozilla.com/D19301

--HG--
extra : moz-landing-system : lando
2019-02-12 04:12:20 +00:00
Masayuki Nakano
46b802fc11 Bug 1466208 - part 17: Make PresShell::EventHandler::HandleEventWithPointerCapturingContentWithoutItsFrame() to handle event when there is pointer capturing content but it does not have primary frame r=smaug
This patch splits the part handling event when there is pointer capturing
content but it does not have frame.

Differential Revision: https://phabricator.services.mozilla.com/D19300

--HG--
extra : moz-landing-system : lando
2019-02-12 04:10:33 +00:00
Masayuki Nakano
0c300040e9 Bug 1506508 - Make PresShell::EventHandler::HandleEvent() flush any dirty region before deciding to event target of eMouseDown and eMouseUp r=smaug
When preceding mouse event is handled, that may cause changing style of the
target.  Therefore, when an eMouseDown or eMouseUp event is handled, handlers
require the latest layout.  Currently, nsViewManager::DispatchEvent() tries
to guarantee that with calling nsIPresShell::FlushPendingNotifications()
with FlushType::Layout.  However, this just flushes the pending layout in
the PresShell associated with the nsViewManager instance.  I.e., if the
target is in a child PresShell, its layout hasn't been flushed.

This patch makes PresShell::EventHandler::HandleEvent() flush pending
notifications at first of handling events using coordinates (only when
eMouseDown or eMouseUp, though).  Then, when it realizes that the event
should be handled in a child PresShell, makes it flush its pending
notifications and then, recompute event target with the latest layout if
the layout is actually changed.

Differential Revision: https://phabricator.services.mozilla.com/D13720

--HG--
extra : moz-landing-system : lando
2019-02-11 23:25:45 +00:00
Masayuki Nakano
9e085b54d8 Bug 1466208 - part 15: Split PresShell::EventHandler::ComputeRootFrameToHandleEvent() r=smaug
PresShell::EventHandler::ComputeRootFrameToHandleEvent() computes root frame
to handle event with popup frame and/or capturing content.  The former result
can be rewritten with the latter.  So, for cleaning it up with early return
style, we need to split it to 2 methods.

Differential Revision: https://phabricator.services.mozilla.com/D18525

--HG--
extra : moz-landing-system : lando
2019-02-08 23:10:13 +00:00
Masayuki Nakano
33f04c5177 Bug 1466208 - part 14: Create PresShell::EventHandler::ComputeRootFrameToHandleEvent() r=smaug
In some reasons, handling event should be handled in specific frame even if
the coordinates are out of the frame.  PresShell::EventHandler::HandleEvent()
computes it with popups, capturing content, etc.  This patch moves the blocks
into new method for making HandleEvent() simpler.

Note that most of the code is just moved.  The following patch will clean it
up.

Differential Revision: https://phabricator.services.mozilla.com/D18523

--HG--
extra : moz-landing-system : lando
2019-02-08 07:11:01 +00:00
Masayuki Nakano
2719af4bb6 Bug 1466208 - part 13: Create PresShell::EventHandler::MaybeFlushThrottledStyles() r=smaug
PresShell::EventHandler::HandleEvent() tries to flush pending animation first
when it decides frame to handle events using coordinates.  This patch moves
the code into the new method.

Differential Revision: https://phabricator.services.mozilla.com/D18522

--HG--
extra : moz-landing-system : lando
2019-02-08 05:05:45 +00:00
Masayuki Nakano
3ebe8914da Bug 1466208 - part 11: Create PresShell::EventHandler::MaybeDiscardOrDelayKeyboardEvent() r=smaug
PresShell::EventHandler::HandleEvent() discards or puts off to dispatch
the handling event if it's a keyboard event and event dispatching is
suppressed by the document.

This patch moves the block into the new method for making HandleEvent() simpler.

Differential Revision: https://phabricator.services.mozilla.com/D18520

--HG--
extra : moz-landing-system : lando
2019-02-07 01:49:31 +00:00
Masayuki Nakano
1895d1bfe3 Bug 1514940 - part 1: Forcibly disable new keyCode/charCode value of keypress events if the document is Confluence r=smaug,Ehsan,kmag
Old Confluence does not aware of conflated model keypress event (see UI Events
spec, https://w3c.github.io/uievents/#determine-keypress-keyCode).
Additionally, Confluence can be hosted with any domains.  Therefore, we cannot
use blacklist to disable the conflated model keypress event only on it.

This patch checks whether current or parent document is Confluence with JS
module, called KeyPressEventModelCheckerChild.  For kicking this module,
nsHTMLDocument dispatches an custom event, CheckKeyPressEventModel, when it
becomes editable only first time.  Finally, if it's a Confluence instance, the
module let PresShell know that we need to use split model keypress event in it.

Differential Revision: https://phabricator.services.mozilla.com/D17907

--HG--
extra : moz-landing-system : lando
2019-02-05 11:35:43 +00:00
Masayuki Nakano
1ff659133d Bug 1466208 - part 10: Create PresShell::EventHandler::MaybeDiscardEvent() to check whether it's safe to handle the event r=smaug
It may not be safe to handle events even when
PresShell::EventHandler::HandleEvent().  In such case, we need to discard
received events with notifying somebody.  This patch move this rare case
jobs into the new method, MaybeDiscardEvent().  Then, the caller, HandleEvnet(),
becomes easier to read.

Differential Revision: https://phabricator.services.mozilla.com/D16960

--HG--
extra : moz-landing-system : lando
2019-02-02 02:20:28 +00:00
Masayuki Nakano
1cd52b1c57 Bug 1466208 - part 9: Create PresShell::EventHandler::MaybeHandleEventWithAnotherPresShell() to handle event with another PresShell if necessary r=smaug
Let's move the redirection of coming event in
PresShell::EventHandler::HandleEvent() into a method.  This makes the caller
easier to read.

Differential Revision: https://phabricator.services.mozilla.com/D16959

--HG--
extra : moz-landing-system : lando
2019-02-02 02:20:25 +00:00
Masayuki Nakano
2e1d79e20f Bug 1466208 - part 7: Create PresShell::EventHandler::GetFrameForHandlingEventWith() to retrieve a frame which is necessary to handle event with another PresShell instance r=smaug
Next, we need to look for a frame for first parameter of calling
PresShell::HandleEvent() of another PresShell instance.  This patch creates
PresShell::EventHandler::GetFrameForHandlingEventWith() to do it.

Unfortunately, the result is used in 3 patterns.  One is, the caller should
stop handling the event.  Another one is, the caller should keep handling
the event by itself.  The other is, the caller should call
PresShell::HandleEvent() of different PresShell instance.  Therefore, this
patch makes the method take aFrame of the caller.  Then, the caller can check
the last 2 patterns with check the result is same as aFrame.  This is not so
smart approach, but I have no better idea without adding a bool argument or
making the return type bool and adding out argument of nsIFrame.

Differential Revision: https://phabricator.services.mozilla.com/D16957

--HG--
extra : moz-landing-system : lando
2019-02-01 02:15:54 +00:00
Masayuki Nakano
ed89310149 Bug 1466208 - part 5: Create PresShell::EventHandler::GetRetargetEventDocument() retrieve retarget document of coming event r=smaug
In some cases, PresShell::EventHandler::HandleEvent() needs to call
HandleEvent() of another instance.

For retrieving the instance, we need to compute retarget document first.
This patch makes new method to retrieve it.  The following patch will clean
up it.

Differential Revision: https://phabricator.services.mozilla.com/D16955

--HG--
extra : moz-landing-system : lando
2019-01-31 02:24:51 +00:00
Masayuki Nakano
6a6fca62ba Bug 1466208 - part 4: Create PresShell::EventHandler::GetCapturingContentFor() to retrieve capturing content for specific event r=smaug
PresShell::HandleEvent() treats capturing content only when received event is
related to pointing device.  And it's used in 2 purposes.  One is for computing
to target document of coming event.  The other is for handling events using
coordinates.  Therefore, if we create a helper method to retrieve it, we can
move the variable into smaller blocks.

Differential Revision: https://phabricator.services.mozilla.com/D16954

--HG--
extra : moz-landing-system : lando
2019-01-30 07:17:43 +00:00
Emilio Cobos Álvarez
ed86efb17c Bug 1523062 - Devirtualize a few nsIPresShell bits. r=TYLin,rhunt
No good reason they're virtual, since there's only one nsIPresShell
implementation.

Differential Revision: https://phabricator.services.mozilla.com/D17735
2019-01-29 15:24:31 +01:00
Masayuki Nakano
9c2714dfdc Bug 1466208 - part 2: Create PresShell::EventHandler::MaybeHandleEventWithAccessibleCaret() to handle event with AccessbleCaretEventHub r=smaug
PresShell::EventHandler::HandleEvent() is too big.  That makes us difficult to
understand the flow of them.  So, first of all, we should split the method to
smaller chunks.  Then, we can understand what we're doing in HandleEvent() more.

This patch creates MaybeHandleEventWithAccessibleCaret() for first handling
block in HandleEvent().  Note that the following patch will clean it up.
I.e., this patch just moves the existing block into the new method.

Differential Revision: https://phabricator.services.mozilla.com/D16952

--HG--
extra : moz-landing-system : lando
2019-01-29 10:30:35 +00:00
Masayuki Nakano
015f67628e Bug 1466208 - part 1: Create stack class to handle events in PresShell r=smaug
PresShell::HandleEvent() and PresShell::HandleEventInternal() are too big.
Additionally, we have a lot of methods used only by them.  So, if we'll
split those big methods, PresShell will have a lot of small methods which
are not grouped as a part of event handling.  That's too bad because some
of them may depend on the calling order, etc.

So, for grouping them, PresShell should create a stack class instance to handle
each event.  Then, we can store shared information in it only while we're
handling an event.

This patch creates PresShell::EventHandler and PresShell methods become
wrappers of the stack class, but this patch does not change any logic in the
code, i.e., just reorganizing existing methods.

Note that HandleEventWithTarget() and HandleEventInternal() need to take
WidgetEvent rather than WidgetGUIEvent.  Additionally, some other methods
require WidgetGUIEvent to refer WidgetGUIEvent::mWidget.  Therefore, this
patch does not make the new class store the event as a member.

Differential Revision: https://phabricator.services.mozilla.com/D16951

--HG--
extra : moz-landing-system : lando
2019-01-29 06:04:05 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Ryan Hunt
5c7254fba8 Bug 1519462 - Coalesce all scroll anchor adjustments to be performed after layout when flushing notifcations. r=dholbert
We currently perform anchor adjustment in three spots:
  1. If the target of RestyleManager::RecomputePosition is in a scroll anchor chain
  2. If the reflow root is in a scroll anchor chain
  3. In nsHTMLScrollFrame::DidReflow, for itself

It looks like it's possible for a scroll anchor container to be adjusted by (1)
and (2 or 3) in the same PresShell flush.

This should be okay, except that we consume mSuppressAnchorAdjustment when
performing an adjustment, and this can lead us to miss the second time that
we perform adjustments in a PresShell flush.

This commit reworks how we run anchor adjustments so that we collect all
scroll anchor containers that should be adjusted, and only perform the
adjustments once.

Differential Revision: https://phabricator.services.mozilla.com/D16407

--HG--
extra : source : cbdbd08379d99f9d55f756c57d728c28331be5da
2019-01-13 00:54:05 -06:00
Ryan Hunt
c7b7401684 Bug 1305957 part 6 - Select scroll anchors when flushing notifications in PresShell. r=hiro
This commit adds a mechanism for scroll anchor containers to request an anchor
node selection at a future time. Currently this is before styling so that anchor
adjustment suppression will have current anchor nodes.

Differential Revision: https://phabricator.services.mozilla.com/D13269

--HG--
extra : rebase_source : 7af2dcc7953e446eb993625fa7ff32aa5a141eab
extra : source : e7124fecb7215769a5404c5f2268bbe715162393
2018-11-27 15:32:47 -06:00
Bogdan Tara
6d78d1e2c9 Backed out 15 changesets (bug 1305957) for ASAN failures CLOSED TREE
Backed out changeset 4d5eb85d3155 (bug 1305957)
Backed out changeset 51c86d025ecb (bug 1305957)
Backed out changeset d8eef8f3e396 (bug 1305957)
Backed out changeset 950bf6ad1ef2 (bug 1305957)
Backed out changeset b4cb2cbebdb6 (bug 1305957)
Backed out changeset bfca5019a9cc (bug 1305957)
Backed out changeset e76b842c7b7f (bug 1305957)
Backed out changeset d9445a5f3458 (bug 1305957)
Backed out changeset d9052f7b34d9 (bug 1305957)
Backed out changeset e7124fecb721 (bug 1305957)
Backed out changeset bdb766faa867 (bug 1305957)
Backed out changeset 3033401ef320 (bug 1305957)
Backed out changeset 6b96050386f6 (bug 1305957)
Backed out changeset c66c00f73296 (bug 1305957)
Backed out changeset 6bd0bdab93cb (bug 1305957)
2019-01-10 18:49:22 +02:00
Ryan Hunt
8976d6f7f7 Bug 1305957 part 6 - Select scroll anchors when flushing notifications in PresShell. r=hiro
This commit adds a mechanism for scroll anchor containers to request an anchor
node selection at a future time. Currently this is before styling so that anchor
adjustment suppression will have current anchor nodes.

Differential Revision: https://phabricator.services.mozilla.com/D13269

--HG--
extra : rebase_source : ba621678b697847e59203444d7b6b0e737742675
extra : histedit_source : b0c6f8642a01bd8ded312d0fa27eecd55c4422a9
2018-11-27 15:32:47 -06:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Hiroyuki Ikezoe
79798c6cd2 Bug 1516368 - De-virtualize nsIPresShell::IsResolutionUpdated and SetResolutionUpdated. r=botond
Depends on D15342

Differential Revision: https://phabricator.services.mozilla.com/D15343

--HG--
extra : moz-landing-system : lando
2018-12-30 02:17:30 +00:00
Hiroyuki Ikezoe
529616ef3a Bug 1516368 - Change SetResolutionAndScaleTo to take an enum instead of an nsAtoms*. r=botond
There is no reason to use nsAtoms*, it's error prone, i.e. the function
can take arbitrary nsAtoms*.

Depends on D15339

Differential Revision: https://phabricator.services.mozilla.com/D15340

--HG--
extra : moz-landing-system : lando
2018-12-30 02:16:42 +00:00
Sylvestre Ledru
7cf43b9bc0 Bug 1513205 - Ride along, update some code to match the Google coding style r=Ehsan
# ignore-this-changeset

Depends on D14595

Differential Revision: https://phabricator.services.mozilla.com/D14597

--HG--
extra : moz-landing-system : lando
2018-12-14 18:10:08 +00:00
L. David Baron
bcf8270be5 Bug 1159042 - p2. Allow reflow roots to have overflow, and allow that overflow to change during reflow - r=dbaron,dholbert
Differential Revision: https://phabricator.services.mozilla.com/D9488

--HG--
extra : moz-landing-system : lando
2018-12-11 20:31:09 +00:00
Botond Ballo
4e2bbb39df Bug 1512267 - If you set a pres shell resolution, you must scale to it. r=kats,JanH
Differential Revision: https://phabricator.services.mozilla.com/D13928

--HG--
extra : moz-landing-system : lando
2018-12-10 19:32:59 +00:00
Botond Ballo
a88fd1acef Bug 1511137 - Track more accurately when the main thread originates a resolution change. r=kats
The tracking is done using nsAtom origins, similarly to how updates to the
scroll offset are tracked.

Currently, APZ still uses some heuristics to deduce that the main thread
originated a resolution change in some cases, but the intention is to try
to remove those and rely only on this mechanism in the future.

Differential Revision: https://phabricator.services.mozilla.com/D13741

--HG--
extra : moz-landing-system : lando
2018-12-05 16:29:18 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Masayuki Nakano
af36a869b3 Bug 1496288 - part 1: Make blacklist prefs for keypress event behavior changes ride the train r=smaug
Basically, we shouldn't have blacklist to disable web API.  However, the
keypress event behavior changes are not standardized things.  Therefore,
if some web developers realize that they need to change their apps when
it's too late for them, Firefox users need to use another browser for
such web apps for several weeks or more, and such things may make the users
switch their default browser.  For avoiding such worst scenario, we should
take the blacklists and if we get such compatibility reports, we should
add the domains into the blacklist even in release channel.

Differential Revision: https://phabricator.services.mozilla.com/D13374

--HG--
extra : moz-landing-system : lando
2018-11-29 15:04:18 +00:00
Dorel Luca
fbe4ae9803 Backed out 6 changesets (bug 1159042) for crashtest failures. CLOSED TREE
Backed out changeset fe77c09dee31 (bug 1159042)
Backed out changeset db0e173a6ed2 (bug 1159042)
Backed out changeset 080b9ceee8ec (bug 1159042)
Backed out changeset 6a5191742ca1 (bug 1159042)
Backed out changeset 3a86c3e65d44 (bug 1159042)
Backed out changeset 845bc8316b05 (bug 1159042)
2018-11-27 06:30:07 +02:00
L. David Baron
66aa3977ba Bug 1159042 - p2. Allow reflow roots to have overflow, and allow that overflow to change during reflow - r=dbaron,dholbert
Differential Revision: https://phabricator.services.mozilla.com/D9488

--HG--
extra : moz-landing-system : lando
2018-11-25 22:07:39 +00:00
Daniel Holbert
9626dd9523 Bug 1507313 part 3: Convert PresShell::mDelayedEvents into an array of UniquePtr (rather than nsAutoPtr). r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D11947

--HG--
extra : moz-landing-system : lando
2018-11-15 07:40:52 +00:00
Daniel Holbert
d7065b05db Bug 1507313 part 2: Convert PresShell::mReflowCountMgr into a UniquePtr (rather than an owning raw pointer). r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D11946

--HG--
extra : moz-landing-system : lando
2018-11-15 07:27:50 +00:00
Masayuki Nakano
2d19d947df Bug 1502795 - Set keyCode or charCode of keypress event whose value is zero to the other's non-zero value by default again unless dispatched on known broken web apps r=smaug
This patch re-enables the new behavior of bug 1479964, to set keyCode or
charCode of keypress event whose value is zero to the other's non-zero value.

However, some web apps are still broken with the new behavior.  Therefore,
this patch adds a blacklist to keep using our legacy behavior in some specific
web apps.

Note that Google Docs, Gmail and Remember The Milk are reported as broken.
However, I don't see any broken shortcut with Gmail.  Therefore, this patch
adds only Google Docs and Remeber The Milk into the blacklist.

Differential Revision: https://phabricator.services.mozilla.com/D10322

--HG--
extra : moz-landing-system : lando
2018-11-07 06:39:10 +00:00
Botond Ballo
cd9f025985 Bug 1502566 - When entering fullscreen mode, use the intrinsic resolution rather than a resolution of 1. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D10754

--HG--
extra : moz-landing-system : lando
2018-11-02 21:18:42 +00:00
Masayuki Nakano
09c4ea6dd3 Bug 1482425 - PresShell::PageMove() should use different rules to look for a container element for aExtend value r=smaug
PresShell::PageMove() climbs up to parent document when there is no scrollable
parent in current document.  However, if aExtend is true, it should expand
Selection in the document itself.  Therefore, it needs different rules to
look for container of expanding Selection from scrollable element to scroll.

Additionally, old rules (i.e., before the fix of bug 1369072 which caused
this regression) were also buggy.  It used parent scrollable element or
root scrollable element simply.  Therefore, if found scrollable element is
ancestor of selection limiter, it didn't work as expected.

This patch creates nsFrameSelection::GetFrameToPageSelect() to retrieve
per-page selection container element with the following rules:
- look for a scrollable element in selection limiter.
- if there is no scrollable element, use selection limiter.
- if there is no selection limiter, use the root frame.

So, nsFrameSelection::CommonPageMove() should take nsIFrame rather than
nsIScrollableFrame since container of per-page selection may be used in
non-scrollable contenteditable element.  If it's called with non-scrollable
frame, it needs to compute the expanding range with the frame size.

Differential Revision: https://phabricator.services.mozilla.com/D8954

--HG--
extra : moz-landing-system : lando
2018-10-18 04:42:53 +00:00
Edgar Chen
92ec9a1f2a Bug 1473108 - Part 1: Devirtualize nsIPresShell::GetCurrentEventFrame/GetEventTargetContent; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D8041

--HG--
extra : moz-landing-system : lando
2018-10-09 09:47:58 +00:00
Brad Werth
6ceb1e8b1e Bug 1290420 Part 4: Make the PresShell create a MobileViewportManager on demand. r=botond,smaug
Depends on D3376

Differential Revision: https://phabricator.services.mozilla.com/D3377

--HG--
extra : moz-landing-system : lando
2018-10-04 03:28:40 +00:00
Daniel Varga
36ff93dc81 Backed out 4 changesets (bug 1290420) for devtools failures on rowser_styleeditor_media_sidebar_links.js on a CLOSED TREE
Backed out changeset 210fdc42d29f (bug 1290420)
Backed out changeset 1d9dad3046ee (bug 1290420)
Backed out changeset a6eb531e1216 (bug 1290420)
Backed out changeset 755a32f27943 (bug 1290420)
2018-09-13 03:09:25 +03:00
Brad Werth
79b8525535 Bug 1290420 Part 4: Make the PresShell create a MobileViewportManager on demand. r=botond,smaug
Depends on D3376

Differential Revision: https://phabricator.services.mozilla.com/D3377

--HG--
extra : moz-landing-system : lando
2018-09-12 22:39:38 +00:00
Edgar Chen
08067b0f64 Bug 1488728 - Remove PresShell::GetEventTargetFrame; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D5025

--HG--
extra : moz-landing-system : lando
2018-09-05 13:36:35 +00:00