This gives a very noticable increase in speed. When Brad finishes https://bugzil.la/1523336 we can stop walking the DOM and simply use `parentFlexElement` and `parentGridElement`.
Differential Revision: https://phabricator.services.mozilla.com/D18674
--HG--
extra : moz-landing-system : lando
This fixes the issue but because of our virtual canvas implementation and the
fact that reflow events are batched there is quite a bit of flicker and some
drag (see attached video).
Unfortunately, until bug 1509071 is implemented (full screen canvas using
`position:fixed`) we can't really do anything about the flicker... I suppose we
could stop batching reflow events but that would make all of our highlighters
unusably slow.
Differential Revision: https://phabricator.services.mozilla.com/D16988
--HG--
extra : moz-landing-system : lando
- Added AutoRefreshHighlighter flag to AutoRefreshHighlighter. This ensures that getQuads() ignores the zoom factor.
Differential Revision: https://phabricator.services.mozilla.com/D7599
--HG--
extra : moz-landing-system : lando
doc.getAnonymousNodes no longer returns shadow dom nodes, so no need
to filter them out in isXBLAnonymous.
This feature is tested in browser_markup_anonymous_02.js so reenabling
this test.
toolbarbutton has 4 children now, but since our tests are no longer
running in non-e10s, the regression was missed!
MozReview-Commit-ID: BHYb5ufyQjg
--HG--
extra : rebase_source : bb933452d3780fa1c632240314014ad9c605c52a
This leaves getAdjustedQuads alone because it lives in its own world and its
result gets sent over IPC. That leaves things in a bit of an intermediate
state, but that should be OK for now.
MozReview-Commit-ID: DH6eGqCFhPr
--HG--
extra : rebase_source : 39feed5868c86a104e586f40bd1e80e8f8f34e0b
The writing mode / RTL adjustments performed by `getWritingModeMatrix` needs the
element's content size without margins, borders, or padding.
MozReview-Commit-ID: LsSfNN4fyDR
--HG--
extra : rebase_source : 2c98d6ad0ee7593d542d84e64b65332a6917c7a5
These issues were previously ignored due to the nature of our global import
rules. They need to be fixed before that rule can be updated.
MozReview-Commit-ID: DCChktTc5TW
--HG--
extra : rebase_source : cffb1c9762191c579d1397c8169e6e7635d229da
extra : histedit_source : dea59ddd2daaae52069c5faceae9149a4f08dd73
Use the getBoxQuads's relativeTo option to avoid having to calculate the offset
due to frames.
Also reduce the precision of numbers used when checking if the highlighter is
correctly displayed.
Finally, for some strange reasons, this patch seems to cause a totally unrelated
events mutation event to be sent during the test. This polutes the mutations
received and made the test fail. So I filtered the list of mutations to only
preserve the ones we care about here.
I could not reproduce this extra mutation when running Firefox. Only during the
test. So I did not investigate further.
MozReview-Commit-ID: 1ZQ6FGULjHG
--HG--
extra : rebase_source : 6406571849afb1d3dcec176f68ef4d3d122a1abf
Adjust the grid outline in the Inspector's Layout panel as needed to match the
writing mode and text direction of the grid container.
MozReview-Commit-ID: Ggcp1e4ZipE
--HG--
extra : rebase_source : e9acadc8837ad3c05c038a2156272c9eff8c7330
The `getCurrentMatrix` function is used by grid and other highlighters to
account for the element's position, transforms, etc. Here we extend it with
extra logic to account for the element's writing mode and text direction.
MozReview-Commit-ID: AZT4cJySLwk
--HG--
extra : rebase_source : 55504705fba929f6209ac8c76a000fd26cd8dd3e
Now the quads are always relative to the boundary window.
I also reduce a bit the maths to check if the quads are different.
MozReview-Commit-ID: 93zXH0Um3Ck
--HG--
extra : rebase_source : 8ffa757ece273e614b2cf0e66809c6c6ec8e3891
Now the quads are always relative to the boundary window; I also forced the
update during the scrolling for the box-model, since for element with position
fixed this is still needed.
I also reduce a bit the maths to check if the quads are different.
MozReview-Commit-ID: 93zXH0Um3Ck
--HG--
extra : rebase_source : 26c1c06f7a983784bf0ddb08a23c4b2054fa3dbb
Used the new chrome-only API to obtain the transformation matrix of the current
node, relative to the inspected window's root element.
That also includes all the transformations from the element's ancestor; plus
the method is more robust and we can simplify the current code, removing also
some hack.
Deleted also the test for dom_matrix_2d, since one of the method was testing
now doesn't exist anymore, and the second it's just a map to native method
that has its own tests on platform.
MozReview-Commit-ID: 35rs34RSMYA
Used the new chrome-only API to obtain the transformation matrix of the current
node, relative to the inspected window's root element.
That also includes all the transformations from the element's ancestor; plus
the method is more robust and we can simplify the current code, removing also
some hack.
MozReview-Commit-ID: 35rs34RSMYA
- Fixed a bug on `getNodeBounds` that would makes the calculation wrong in case
of nested frames.
- Centralized all the transformation in `updateCurrentMatrix` function,
including the scaling due the zoom and display's pixel ratio, and the
translation to the top left corner of the node inspected.
- Added the transformation from the inspected node to the `currentMatrix`.
- Added `drawLine` and `drawRect` functions, that takes a matrix as argument.
- Position the line's number to the grid itself even when we've infinite lines
(it's not a regression, it is intended since if a grid is transformed, we
could have weird results otherwise, so we decided to uniform the behaviors).
MozReview-Commit-ID: 7OUfb6u63Qj
The patch of bug 1353005 removed by mistake a leading dot in a css class, and
the `encodeURIComponent` calls (so the # in the color definition was considered
the hash part in the url).
Also, it appears autoland rejected the last commit from Bug 1353005, so this
patch includes those changes as well.
MozReview-Commit-ID: 2aVW3hYHhSr
A virtual canvas is basically a canvas that seems bigger than is actually is.
The technique consists in moving a fixed sized canvas during the scrolling, when
is needed, to give the illusion that it always covers the entire document.
MozReview-Commit-ID: Hp4cUZaBdm8
--HG--
extra : rebase_source : 536891732a6247103734d60f9d8720dc2131815f
- Added `getViewportDimensions`
- Added `getComputedStylePropertyValue` to `CanvasFrameAnonymousContentHelper`
- Refactored totally `moveInfobar` to works with both APZ enabled and new
positioned absolutely highlighters
- Updated `AutoRefreshHighlighter` for having a `scrollUpdate` method.
- Updated tests
MozReview-Commit-ID: 5m31ZzRzLXr
--HG--
extra : rebase_source : c5abac64217ee0b86413594461fb6a50d5df655e
- Added `getViewportDimensions`
- Added `getComputedStylePropertyValue` to `CanvasFrameAnonymousContentHelper`
- Refactored totally `moveInfobar` to works with both APZ enabled and new
positioned absolutely highlighters
- Updated `AutoRefreshHighlighter` for having a `scrollUpdate` method.
- Updated tests
MozReview-Commit-ID: 5m31ZzRzLXr
--HG--
extra : rebase_source : 8c599a323ff51f1e032405fae47674b695c75b86