Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
L. David Baron 552f835723 Bug 1479859 patch 2 - Send nsChangeHint_UpdateContainingBlock when containing block-ness changes due to one property change, while another property that might trigger containing block-ness doesn't do so because of the frame type. r=emilio
This fixes a rather subtle bug.  What the underlying code here is trying
to do is remove nsChangeHint_UpdateContainingBlock when some properties
that influence whether a frame is a containing block for absolutely
positioned or fixed positioned elements have changed, but the final
calculation of being a containing block has not changed.  However, the
old code was using a function that tested whether the style could
*possibly* lead to a frame being a containing block.  Some of the
properties (like the transform properties) that lead to being a
containing block, for example, don't apply to non-replaced inlines.
Some, however, do (such as 'filter').  So if there's a dynamic change
adding or removing a filter, on an inline that also has an *ignored*
transform property (like 'transform' or 'perspective') set, then the
code prior to this patch causes us to remove the UpdateContainingBlock
hint.

This patch fixes things by testing whether being a containing block
could have changed for *any* type of frame, by separately testing the
changes.

The added tests fail without the patch and pass with the patch, viewed
in isolation.  However, without the previous patch, test 003 passes.

Test 003 also fails in Chrome (but 001 and 002 pass).

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

--HG--
extra : rebase_source : 0a5dbb15a058cf4a43d989bf53f042c5b718e24d
2018-08-07 15:02:07 -07:00
.cargo Bug 1468950 - Update serde_derive patch for changes in WR PR 2819. r=Gankro 2018-06-21 08:15:40 -04:00
.vscode
accessible Bug 1480058 part 3: Support accessible selection retrieval methods for XUL tabs with aria-multiselectable. r=surkov 2018-08-03 13:31:43 +10:00
browser Bug 1481021: Part 2 - Stop loading SpecialPowers into frame script scopes. r=bz,jmaher,aswan 2018-08-07 14:03:21 -07:00
build Bug 1481378 - Simplify mozconfig.linux32. r=ted 2018-08-07 19:40:52 +09:00
caps Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
chrome Backed out changeset 85fd8d212397 (bug 1479544) for windows build bustages CLOSED TREE 2018-08-03 19:24:41 +03:00
config Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-02 12:03:09 +03:00
db Bug 1467121 - Upgrade to SQLite 3.24.0. r=mak 2018-06-06 09:52:32 -04:00
devtools Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz 2018-08-07 14:13:06 -07:00
docshell Bug 1481021: Part 2 - Stop loading SpecialPowers into frame script scopes. r=bz,jmaher,aswan 2018-08-07 14:03:21 -07:00
dom Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz 2018-08-07 14:13:06 -07:00
editor Bug 1478604 - Fix RepaintSelectionRunner so that it does something for non-presShell impls. r=masayuki 2018-08-07 12:55:21 +00:00
embedding
extensions Bug 1480699 - Use IPDL's promise instead in PRemoteSpellcheckEngine. r=masayuki 2018-07-31 16:36:43 +09:00
gfx Bug 1480433 - Update for API changes in WR PR 2948. r=jrmuizel 2018-08-07 14:46:56 -04:00
gradle/wrapper Bug 1476165 - Part 2: Update Android Gradle plugin to version 3.1.0. r=nalexander,snorp 2018-07-17 13:20:19 +01:00
hal Bug 1480177 Lowercase includes to fix MinGW Build Errors r=froydnj 2018-07-30 22:43:24 -05:00
image Bug 1474900: Assert there are no pending locks when destroying the image proxy. r=tnikkel 2018-08-07 12:54:15 +02:00
intl Bug 1480881 - Upgrade Gecko to Fluent 0.6. r=stas 2018-08-07 00:08:29 +00:00
ipc Backed out changeset 1e9ecba54e7b (bug 1348273) for failing on widget/tests/test_bug1123480.xul 2018-08-04 12:39:40 +03:00
js Bug 1481021: Part 1 - Fix tests that rely on permissive COWs or SpecialPowers side-effects in frame script scopes. r=bz 2018-08-07 14:13:06 -07:00
layout Bug 1479859 patch 2 - Send nsChangeHint_UpdateContainingBlock when containing block-ness changes due to one property change, while another property that might trigger containing block-ness doesn't do so because of the frame type. r=emilio 2018-08-07 15:02:07 -07:00
media Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
memory Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
mfbt Bug 1481005 - Explicitly delete dtor of AlignmentFinder::Alinger to avoid MSVC warning breaking debug builds. r=froydnj 2018-08-07 17:58:39 +00:00
mobile Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-08 00:58:40 +03:00
modules Bug 1481176 - P4. Make CanHandleMediaType usable off the main thread. r=bryce 2018-08-07 19:21:59 +02:00
mozglue Bug 1481433 - ifdef-out the entire TestDLLEject.cpp. r=froydnj 2018-08-08 03:24:46 +09:00
netwerk Bug 1481373 - Work around clang miscompilation of a non-virtual thunk to HttpChannelChild::AsyncCall on x86. r=valentin 2018-08-08 06:31:40 +09:00
nsprpub Bug 1477680, land NSPR 4.20 beta snapshot 607196c7ef66, r=me 2018-07-23 16:05:53 +02:00
other-licenses Bug 1478568 part 1: Update IAccessible2 so we can use new roles (IA2_ROLE_BLOCK_QUOTE, etc.). r=MarcoZ 2018-07-27 10:27:44 +10:00
parser Bug 1478823: Add a chrome DOM event signalling that the head element's children have been parsed. r=bzbarsky 2018-08-03 21:16:04 +00:00
python Bug 1480313 - Set check_unchanged for cargo build script rules in the Tup build. r=mshal 2018-08-01 21:24:51 -07:00
security Merge inbound to mozilla-central. a=merge 2018-08-07 00:58:13 +03:00
services Bug 1480327: Part 2 - Modernize what's left of Log.jsm a bit. r=Mossop 2018-08-01 23:23:34 -07:00
servo No bug - Fixup some indentation. r=me 2018-08-07 20:32:19 +02:00
startupcache Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
storage Backed out changeset 1e9ecba54e7b (bug 1348273) for failing on widget/tests/test_bug1123480.xul 2018-08-04 12:39:40 +03:00
taskcluster No Bug, taskcluster/docker/funsize-update-generator pipfile-update. r=bhearsum 2018-08-07 12:50:52 +00:00
testing Bug 1479859 patch 2 - Send nsChangeHint_UpdateContainingBlock when containing block-ness changes due to one property change, while another property that might trigger containing block-ness doesn't do so because of the frame type. r=emilio 2018-08-07 15:02:07 -07:00
third_party Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-08 00:58:40 +03:00
toolkit Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-08 00:58:40 +03:00
tools Backed out changeset acde419e016e (bug 1475573) for breaking Android builds 2018-08-04 10:12:40 +03:00
uriloader Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
view Bug 1462784 - Remove EVENTS category. r=njn 2018-05-18 17:36:30 -04:00
widget Bug 1475875 - Use ScreenManager on Android r=esawin,jchen 2018-08-07 14:14:32 -05:00
xpcom Bug 1441059 - Make nsILoadURIDelegate async to preserve the order of GeckoSession.loadUri() calls. r=snorp,bz 2018-08-07 13:42:07 -05:00
xpfe/appshell Bug 1479570. Get Add a getter to get a docshell from nsIWindowlessBrowser. r=kmag 2018-08-03 00:05:07 +00:00
.arcconfig Bug 1460463 - Update .arcconfig to make history mutable; r=gps 2018-05-09 23:49:52 +00:00
.clang-format
.clang-format-ignore Bug 1464452 - Add richtext to the list of thirdparties r=andi 2018-05-25 09:01:11 -07:00
.cron.yml Bug 1477021 - Schedule pipfile updates to run once per week. r=sfraser 2018-07-27 15:12:36 +00:00
.eslintignore Bug 1474414 - Move most of browser/extensions/activity-stream to browser/components/newtab r=Mardak 2018-07-26 20:50:49 -07:00
.eslintrc.js Bug 1436303 - Enable mozilla/no-define-cc-etc for some DevTools files;r=ochameau,standard8 2018-06-08 16:46:59 +02:00
.flake8 Bug 1473951: Add infer to taskcluster and build. r=gps 2018-07-06 17:37:16 +01:00
.gdbinit
.gdbinit_python
.gitignore Bug 1475904 - Add .swp files (for open, unnamed vim buffers) to .gitignore. r=froydnj 2018-07-16 12:26:13 +10:00
.hgignore Bug 1469801 - Add gcov-related files to .hgignore. r=jmaher (DONTBUILD) 2018-06-20 11:05:46 +01:00
.hgtags No bug - Tagging mozilla-central 4f6e597104dabedfecfafa2ab63dc79fd7f8bc7a with FIREFOX_NIGHTLY_62_END a=release DONTBUILD CLOSED TREE 2018-06-25 09:31:32 -07:00
.inferconfig
.lldbinit
.mailmap NO BUG - Use ato's new address. r=me 2018-02-26 15:59:29 +00:00
.taskcluster.yml Bug 1470886 - only produce tasks for recognized tasks_for; r=tomprince 2018-07-03 18:07:42 +00:00
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS Bug 1459852 - Get rid of the AUTHORS list r=mossop 2018-05-08 10:37:41 +02:00
build.gradle Bug 1473313 - Part 1: Set up geckoview build config for androidTest coverage runs. r=nalexander 2018-07-24 11:44:24 +01:00
Cargo.lock Bug 1480433 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel 2018-08-07 14:46:40 -04:00
Cargo.toml Bug 1474871 - Link dump_syms against rustc-demangle. r=ted 2018-07-12 10:23:12 +09:00
client.mk Bug 1461836 - Write out complete configure dependencies from configure for consumption by make and non-make backends. r=mshal 2018-05-21 14:01:50 -07:00
client.py
CLOBBER Bug 1435409 - use our own clang rather than the NDK clang to build Android; r=nalexander 2018-07-27 09:52:53 -05:00
configure.in
configure.py Bug 1461836 - Write out complete configure dependencies from configure for consumption by make and non-make backends. r=mshal 2018-05-21 14:01:50 -07:00
GNUmakefile
gradle.properties Bug 1453413 - Use aapt2 to build Firefox for Android. r=mcomella 2018-04-11 09:59:22 -07:00
gradlew
LEGAL
LICENSE
mach
Makefile.in Backed out changeset 7a3882f27aa3 (bug 1341525) for failing win Sa builds on a CLOSED TREE 2018-08-02 02:26:13 +03:00
moz.build Bug 1346026 - Vendor pipenv 2018.5.18 and transient dependencies; r=ahal 2018-05-17 19:06:20 +01:00
moz.configure Bug 1444141 - part 4 - make the JS engine depend on Rust; r=chmanchester,glandium,jorendorff 2018-08-02 11:00:21 -05:00
mozilla-config.h.in Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted 2018-05-22 20:36:39 -07:00
old-configure.in Bug 1480553 - part 2 - add a case for aarch64* when setting MIDL_FLAGS; r=glandium 2018-08-02 21:40:40 -04:00
package-lock.json Bug 1471540 - Update eslint-plugin-react to 7.10.0. r=ahal 2018-07-25 18:09:41 +00:00
package.json Bug 1471540 - Update eslint-plugin-react to 7.10.0. r=ahal 2018-07-25 18:09:41 +00:00
Pipfile Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal 2018-06-29 15:37:31 +01:00
Pipfile.lock Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal 2018-06-29 15:37:31 +01:00
README.txt Bug 1460030 - Update the nightly URL in the README.txt file r=kohei 2018-05-08 21:22:10 +02:00
settings.gradle Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen 2018-02-22 16:11:14 -08:00
test.mozbuild

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly