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
Перейти к файлу
L. David Baron d6baba5dd5 Bug 1308876 - Avoid initiating special-height reflow as a result of new paginated non-dirty reflows. r=dholbert
Previously, in paginated mode, all reflows were dirty reflows, since
tables do not split outside of printing, and prior to the primary patch
in bug 1308876, all reflows during printing are dirty reflows.  (The
isPaginated test here is actually for real pages, not fragmentation in
general.  However, the use here is appropriate for the meaning of
whether it's possible for the table to fragment.)

The fact that all reflows were dirty reflows meant that the
NS_FRAME_CONTAINS_RELATIVE_BSIZE flag was always cleared immediately
before reflow in ReflowInput::InitResizeFlags (which might also have set
the flag on *ancestors*).  This meant that, prior to the primary patch
in bug 1308876, the initial value of needToInitiateSpecialReflow that
was initialized from the presence of the
NS_FRAME_CONTAINS_RELATIVE_BSIZE flag was always false.  This patch
preserves that initialization in the presence of the change in the
primary patch in bug 1308876.

This caused a failure in a single test in our test suite, and in a
rather complicated way.  The test was
layout/base/crashtests/470851-1.xhtml, in which there was both a
difference in assertion count (due to the bogus assertion "data loss -
incomplete row needed more height than available, on top of page" in
nsTableRowGroupFrame::SplitRowGroup, whose companion assertion "data
loss - complete row needed more height than available, on top of page"
is already just an NS_WARNING) that caused a test failure, and a
difference in layout (the test split across 3 pages rather than 2) that
did not cause a test failure.

This patch fixes the difference in layout.  The immediate cause of the
layout difference was that a cell (the second outermost) on the second
page had a height, computed in CalcUnpaginatedBSize, that was large
enough to cause it to need to continue onto the third page.  This height
came (via nsTableRowFrame::GetUnpaginatedBSize) from the
UnpaginatedHeightProperty stored on the first-in-flow of its row, on the
first page, stored by CacheRowBSizesForPrinting called in
nsTableRowGroupFrame::ReflowChildren during the reflow of its row group
on the first page, in a special height reflow initiated during the
second-pass constrained-height reflow of the table (still,
second-outermost) on the first page, due to the change being fixed in
this patch.

MozReview-Commit-ID: 3E84VwdXuPs

--HG--
extra : transplant_source : m%DF%D2L%7B%E7%DD%98.zzI%07%14w%8A%15J%F5%16
2017-06-27 15:17:21 -07:00
.cargo Bug 1277338 - Part 1: Turn js/src into the mozjs-sys crate; r=sfink 2016-10-13 16:12:42 -07:00
.vscode Add some task definitions to run mach from VSCode (bug 1323308). r=gps 2017-05-04 18:03:54 +03:00
accessible Bug 1375590: Replace NS_ERROR + IPC_FAIL_NO_REASON with IPC_FAIL in DocAccessibleParent; r=eeejay 2017-06-27 11:52:55 -07:00
addon-sdk Bug 1374282 - script generated patch to remove Task.jsm calls, r=Mossop. 2017-06-22 12:51:42 +02:00
browser Bug 1374972 - Remove half-baked title capitalization from "Restore all Windows and Tabs". r=dao 2017-06-27 20:33:32 +02:00
build merge mozilla-inbound to mozilla-central a=merge 2017-06-22 12:47:40 +02:00
caps Bug 1368456 - remove Promise.jsm imports in tests, r=mconley. 2017-06-23 11:25:52 +02:00
chrome Bug 1319111 - Expose 'result principal URI' on LoadInfo as a source for NS_GetFinalChannelURI (removes some use of LOAD_REPLACE flag). r=bz, r=mikedeboer 2017-05-30 18:07:59 +02:00
config Bug 1376057 - Replace MSVC wrappers with std::exception::_Set_raise_handler. - r=froydnj 2017-06-27 11:51:34 -07:00
db Bug 1371364 - Upgrade to SQLite 3.19.3. r=mak 2017-06-08 15:23:34 -04:00
devtools Merge m-c to m-i 2017-06-26 20:35:27 -07:00
docshell merge mozilla-inbound to mozilla-central a=merge 2017-06-27 10:56:41 +02:00
dom Bug 1376293 part 2 - Use Lookup instead of Get+Remove, to avoid unnecessary hashtable lookups. r=froydnj 2017-06-28 01:03:15 +02:00
editor merge mozilla-inbound to mozilla-central a=merge 2017-06-27 10:56:41 +02:00
embedding Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
extensions Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
gfx Bug 1376464 - Use nsRefPtrHashtable for mRenderTextures then use Remove instead of Get+Remove. Replace Get().get() with GetWeak() in assertions. r=froydnj 2017-06-28 01:03:16 +02:00
gradle/wrapper Bug 1300094 - Update Gradle to 2.14.1 and Gradle Plugin to 2.1.3 r=sebastian 2016-09-22 14:31:01 -07:00
hal Bug 1366356 - Decrease the process priority of content processes that are not running a foreground tab - part 2 - enabled if the platform specific code is ready, r=smaug 2017-06-07 09:59:00 +02:00
image Bug 1376468 - Use Lookup instead of Get+Remove to avoid unnecessary hashtable lookups. r=froydnj 2017-06-28 01:03:17 +02:00
intl Backed out changeset 7235d05662b0 (bug 1373984) for Android bustage. r=backout on a CLOSED TREE 2017-06-25 18:30:13 +02:00
ipc Bug 1350633 - Remove the Msg_GetWidgetNativeData sync IPC, r=billm, r=jimm 2017-06-27 16:24:48 -04:00
js Bug 1169745 - Support JSOP_GETELEM_SUPER in Baseline. r=jandem 2017-06-27 18:50:22 -04:00
layout Bug 1308876 - Avoid initiating special-height reflow as a result of new paginated non-dirty reflows. r=dholbert 2017-06-27 15:17:21 -07:00
media Bug 1355947 - Use TestNrSocket to build a fake ICE implementation for testing; r=drno 2017-04-18 06:54:34 -04:00
memory Bug 1376057 - Replace MSVC wrappers with std::exception::_Set_raise_handler. - r=froydnj 2017-06-27 11:51:34 -07:00
mfbt Initial import of Advanced Layers. (bug 1365879 part 20, r=bas) 2017-06-23 14:23:12 -07:00
mobile merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
modules Bug 1351783 part 16 - Perform async scrolling for keyboard events when possible. r=kats,botond,dvander 2017-06-05 19:46:06 -05:00
mozglue Bug 1375299 (part 1) - Reduce usage of MOZ_GECKO_PROFILER. r=mstange. 2017-06-22 06:26:16 +10:00
netwerk Bug 1376469 - Use LookupForAdd instead of Get+Put to avoid unnecessary hashtable lookups. r=froydnj 2017-06-28 01:03:17 +02:00
nsprpub Bug 1372579, uplift NSPR_4_16_BETA1, r=me 2017-06-23 15:52:30 +02:00
other-licenses Bug 1374697 - Add ATK support for aria-details and aria-errormessage. r=surkov 2017-06-21 15:53:00 -04:00
parser Bug 1366241 - Change memory layout of element name and attribute name hashes in HTML parser from sorted to level order BST in order to take advantage of cache during lookup. r=hsivonen 2017-06-27 13:48:25 -07:00
probes Bug 1344878 - add BUG_COMPONENT to probes/* files. r=Ms2ger 2017-03-24 09:50:48 -04:00
python merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
rdf Backed out changeset 7235d05662b0 (bug 1373984) for Android bustage. r=backout on a CLOSED TREE 2017-06-25 18:30:13 +02:00
security Bug 1374281. r=jld 2017-06-19 20:07:38 +02:00
services Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
servo servo: Merge #17514 - deny_public_fields: display field identifier in help message (from HarveyHunt:deny-public-fields-error-message); r=jdm 2017-06-25 10:45:42 -07:00
startupcache Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange. 2017-06-22 17:08:53 +10:00
storage merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
taskcluster merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
testing Bug 1376502 - Check command exit code r=mtabara a=release DONTBUILD 2017-06-27 15:58:02 -07:00
third_party No bug - Revendor rust dependencies 2017-06-23 00:47:46 +00:00
toolkit Bug 1376471 - Just use Put rather than Get+Remove+Put when an entry already exist. r=froydnj 2017-06-28 01:03:17 +02:00
tools merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
uriloader Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
view Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
widget Bug 1367850 - Move Android UI thread runnable queue from AndroidBridge to AndroidUiThread r=jchen 2017-06-27 14:42:15 -07:00
xpcom Bug 1376127 - Use LookupForAdd instead of Get+Put in CycleCollectedJSRuntime::DeferredFinalize to avoid unnecessary hashtable lookups. r=froydnj 2017-06-28 01:03:18 +02:00
xpfe Bug 1376491 - Use Lookup instead of Get+Remove to avoid unnecessary hashtable lookups. r=froydnj 2017-06-28 01:03:17 +02:00
.clang-format Bug 1322321 - Update the clang format file to match more our coding style r=ehsan 2016-12-06 17:43:17 -10:00
.clang-format-ignore Bug 1374720 - Refresh .clang-format-ignore with the recent update of thirdparty libs r=andi 2017-06-20 19:33:12 +02:00
.clang-tidy Bug 1319396 - Update the list of checkers in the .clang-tidy file r=Ehsan 2016-11-22 12:30:19 +01:00
.cron.yml Bug 1374422 - Enable OSX Cross Compiled Nightlies. r=kmoir 2017-06-21 12:49:05 -04:00
.eslintignore Bug 1375678 - Enable lint on testing/modules - mechanical changes; r=standard8 2017-06-23 15:08:02 -06:00
.eslintrc.js Bug 1359011 - Make the mozilla/recommended eslint configuration the default for the whole tree. r=mossop 2017-04-25 20:12:21 +01:00
.flake8 Bug 1288432 - Use new mozlint configuration for flake8 linter, r=bc 2017-06-02 09:46:01 -04:00
.gdbinit Bug 1317802 - don't stop for SIGSYS in .gdbinit; r=jld 2016-11-16 01:13:22 -05:00
.gdbinit_python Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.gitignore Bug 1367041 - Add |mach wpt| support for Chrome, Edge and Servo, r=AutomatedTester 2017-05-31 15:45:47 +01:00
.hgignore Bug 1364410 - Fix quantum-pageload test so it runs locally on windows via mach; r=jmaher 2017-06-05 14:51:06 -04:00
.hgtags No bug - Tagging mozilla-central f9605772a0c9098ed1bcaa98089b2c944ed69e9b with FIREFOX_BETA_55_BASE a=release DONTBUILD CLOSED TREE 2017-06-12 12:50:30 +01:00
.inferconfig Bug 1357629 - Add httpclientandroidlib to .inferconfig ignore list r=nalexander,njpark 2017-04-18 20:05:25 -07:00
.lldbinit Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.taskcluster.yml Bug 591688 - Notify when decision task fails r=dustin,gps 2017-04-12 21:01:46 -07:00
.ycm_extra_conf.py
AUTHORS Bug 1111333 - Enable double-tap-drag to zoom. r=kats 2017-05-23 19:53:06 +02:00
Android.mk
CLOBBER Bug 1341285: rollup of changes for webrtc after applying webrtc.org v57 update r=ng,jesup,pehrsons,drno,dminor,cpearce,jya,glandium,dmajor 2017-06-13 01:54:13 -04:00
GNUmakefile
LEGAL
LICENSE
Makefile.in Bug 1371871 - Run the artifact tier during a tup artifact build. r=mshal 2017-06-21 16:20:18 -07:00
README.txt Bug 1349108 - Update links in README.txt to HTTPS r=RyanVM 2017-03-21 00:11:02 -04:00
aclocal.m4 Bug 1363992 - Remove jemalloc 4. r=njn 2017-05-11 13:23:07 +09:00
build.gradle Bug 1318823 - Use com.getkeepsafe.dexcount in Gradle builds. r=sebastian 2016-11-18 18:28:58 -08:00
client.mk Bug 1317778 - Emit a depfile with python configure dependencies so Make will know when to re-run configure. r=glandium 2016-12-02 10:05:57 -08:00
client.py
configure.in Bug 1295751 - Make it possible to copy configure.in to configure. r=gps 2016-08-16 19:35:00 -07:00
configure.py Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal 2016-12-21 16:28:28 -08:00
gradle.properties
gradlew
mach Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal 2016-12-21 16:28:28 -08:00
moz.build bug 1370176, generic configuration for l10n, r=flod,gps 2017-06-05 10:28:33 +02:00
moz.configure Bug 1354581 - Move MOZILLA_OFFICIAL to python configure. r=cmanchester+432261 2017-06-21 10:20:31 +09:00
mozilla-config.h.in Bug 1371266 - libpng should be built with -std=c89. r=glennrp 2017-06-08 06:29:03 -07:00
npm-shrinkwrap.json Bug 1371669 - Add support for npm 5. r=standard8 2017-06-09 17:18:52 +03:00
old-configure.in Bug 1354581 - Move MOZILLA_OFFICIAL to python configure. r=cmanchester+432261 2017-06-21 10:20:31 +09:00
package.json Bug 1371669 - Add support for npm 5. r=standard8 2017-06-09 17:18:52 +03:00
settings.gradle Backed out 2 changesets (bug 1355625) for causing bustage a=backout 2017-06-22 12:05:56 -07:00
test.mozbuild

README.txt

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://nightly.mozilla.org/