We have existing table reftests that fails without this fix
when the pref layout.display-list.improve-fragmentation is
enabled.
Differential Revision: https://phabricator.services.mozilla.com/D97831
Precomputing the skipBEnd bit is odd / wrong. Using the PreReflow
version causes no regression, and allows us to simplify the code.
It also reverts the test annotations added to bug 1675376 which were
caused by the extra argument to GetLogicalSkipSides() somehow.
Differential Revision: https://phabricator.services.mozilla.com/D97418
I'd like to handle aspect-ratio in those code block, so it'd be better
to always handle unconstrained block-size on the writing mode of the current
block. Besides, we move it as a method of ReflowInput.
Differential Revision: https://phabricator.services.mozilla.com/D97515
We add a new file, AspectRatio.cpp, to definte the method,
ComputeRatioDependentSize. So we don't have to move this function to
WritingModes.h
Besides, we miss the forward declaration of IPC::ParamTraits, so add it
into AspectRatio.h.
Differential Revision: https://phabricator.services.mozilla.com/D95822
`keyup` event of `Alt` key should be fired in content process even if it'll
activate the menubar, and it should be cancelable as same as before enabling
e10s.
Unfortunately, the new test is complicated even they test simple things.
The reason is, this test requires the window running it is the active window.
However, the window may become inactive on Linux, therefore, this test
needs to manage window state by itself.
And another reason is, after inactivating the menubar, somebody keeps
consuming keyboard events in chrome. Although, popups shouldn't be
opened by this test, but waiting all popups hidden makes the remaining
intermittent failure gone. Therefore, this patch waits all popups become
hidden after inactivating the menubar and before new test.
Differential Revision: https://phabricator.services.mozilla.com/D95984
This reduces the chance that we accidentally introduce more
side-effect-producing code into this function. It doesn't remove
the side effects already in this function though.
Depends on D97624
Differential Revision: https://phabricator.services.mozilla.com/D97625
This removes one const_cast but also adds two new ones. I think
the new ones are reasonable - conceptually the function does not
modify the input, so the input should be const. If that input
is returned as the output then we need to strip the const because
the return value shouldn't be const (because the caller should be
free to modify it if desired).
Depends on D97622
Differential Revision: https://phabricator.services.mozilla.com/D97623
There's a couple of uses of const_cast here, but I think they are
reasonable. Conceptually the input parameter is a const (in that it
is not modified) but the output shouldn't be const (because the
caller is free to modify it if it wants to). If we're returning the
input as output then we should strip the const attribute, hence
the const_cast.
Depends on D97621
Differential Revision: https://phabricator.services.mozilla.com/D97622
REMOVED
-------
layout/generic/test/test_invalidate_during_plugin_paint.html
Bug 564991
Test plugin Invalidating in the midst of painting.
layout/generic/test/test_plugin_focus.html
Bug 520462
Test plugin focus properly set by mouse click.
layout/generic/test/test_plugin_mouse_coords.html
Bug 506304
Test plugin properly receives mouse events.
layout/generic/test/test_plugin_clipping.xhtml
layout/generic/test/test_plugin_clipping_2.xhtml
layout/generic/test/test_plugin_clipping_table.xhtml
layout/generic/test/test_plugin_clipping_transformed.xhtml
Test plugin clipping. "It includes tests for plugins partially covered by opaque HTML content, tests for clip region changes due to scrolling, tests for clip region changes due to z-index changes, and tests for correct plugin clip regions in the presence of subpixel geometry." Also in the presence of tables and moz-transforms.
Differential Revision: https://phabricator.services.mozilla.com/D95914
UPDATED
-------
layout/base/tests/test_bug629838.html
bug 629838
Make sure MozPaintCount and MozAfterPaint are in sync, even with empty transactions
Switch to a <div> and use CSS. MozPaintCount is otherwise largely untested.
layout/base/tests/test_mozPaintCount.html
bug 563864
Test MozPaintCount.
Switch to a <div> and use CSS.
REMOVED
-------
layout/base/tests/chrome/test_chrome_over_plugin.xhtml
Test that plugins are properly clipped wrt translucent chrome elements and not by translucent content elements.
Differential Revision: https://phabricator.services.mozilla.com/D95913
The browser currently only enables plugin behavior for Flash and our internal test plugins. This patch replaces support for those plugins with a simple fallback that shows a transparent region where the plugin would have been. It removes the file system search(es) for the plugin dynamic libraries and short-circuits the logic to determine if plugins should do something special -- all implementations now behave the same in the presence of plugin elements.
The new behavior is:
1. If the <object> or <embed> element lists a type of something other than "x-shockwave-flash" or "x-test" then the behavior is unchanged. This means that non-plugin types behave properly and unknown types (for example, typos) are also unaffected (they reduce to 0x0 elements).
2. If the <object> element has an HTML fallback in the DOM (see spec for <object> elements) then the fallback is always shown.
3. Otherwise, the element is shown as a transparent region with the size specified in attributes.
Differential Revision: https://phabricator.services.mozilla.com/D95902
That avoids going all the way to the first continuation to call ResolveBidi on
it. This shaves a bunch of time when there are a lot of pages.
This is more problematic than it seems specially when there's no bidi, because
in the "bidi not enabled" case we never remove the flag, which is bad. When
bidi is actually enabled we usually have done the resolution already.
Differential Revision: https://phabricator.services.mozilla.com/D97358