Bug 1363361 - Update expected reflows on window open now that we're using nsIDOMWindowUtils to dirty the frame tree. r=florian

MozReview-Commit-ID: 13NQn1618mR

--HG--
extra : rebase_source : eb0c73f7cb2aa966ff15a0d41f9f3974ecd278a3
This commit is contained in:
Mike Conley 2017-07-05 13:57:57 -07:00
Родитель 6549fe80ab
Коммит d920f99fa1
1 изменённых файлов: 100 добавлений и 13 удалений

Просмотреть файл

@ -20,21 +20,26 @@ const EXPECTED_REFLOWS = [
], ],
]; ];
if (Services.appinfo.OS == "Darwin") { if (Services.appinfo.OS == "Linux") {
// TabsInTitlebar._update causes a reflow on OS X trying to do calculations if (gMultiProcessBrowser) {
// since layout info is already dirty. This doesn't seem to happen before EXPECTED_REFLOWS.push(
// MozAfterPaint on Linux. [
EXPECTED_REFLOWS.push( "handleEvent@chrome://browser/content/tabbrowser.xml",
[ "EventListener.handleEvent*tabbrowser-tabs_XBL_Constructor@chrome://browser/content/tabbrowser.xml",
"rect@chrome://browser/content/browser-tabsintitlebar.js", ],
"_update@chrome://browser/content/browser-tabsintitlebar.js", );
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js", } else {
"handleEvent@chrome://browser/content/tabbrowser.xml", EXPECTED_REFLOWS.push(
], [
); "handleEvent@chrome://browser/content/tabbrowser.xml",
"inferFromText@chrome://browser/content/browser.js",
"handleEvent@chrome://browser/content/browser.js",
],
);
}
} }
if (Services.appinfo.OS == "WINNT" || Services.appinfo.OS == "Darwin") { if (Services.appinfo.OS == "Darwin") {
EXPECTED_REFLOWS.push( EXPECTED_REFLOWS.push(
[ [
"handleEvent@chrome://browser/content/tabbrowser.xml", "handleEvent@chrome://browser/content/tabbrowser.xml",
@ -44,11 +49,93 @@ if (Services.appinfo.OS == "WINNT" || Services.appinfo.OS == "Darwin") {
); );
} }
if (Services.appinfo.OS == "WINNT") {
EXPECTED_REFLOWS.push(
[
"verticalMargins@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
[
"verticalMargins@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
[
"handleEvent@chrome://browser/content/tabbrowser.xml",
"inferFromText@chrome://browser/content/browser.js",
"handleEvent@chrome://browser/content/browser.js",
],
[
"handleEvent@chrome://browser/content/tabbrowser.xml",
"EventListener.handleEvent*tabbrowser-tabs_XBL_Constructor@chrome://browser/content/tabbrowser.xml",
],
);
}
if (Services.appinfo.OS == "WINNT" || Services.appinfo.OS == "Darwin") {
EXPECTED_REFLOWS.push(
[
"rect@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
[
"rect@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
[
"rect@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
[
"rect@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
[
"verticalMargins@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
[
"verticalMargins@chrome://browser/content/browser-tabsintitlebar.js",
"_update@chrome://browser/content/browser-tabsintitlebar.js",
"updateAppearance@chrome://browser/content/browser-tabsintitlebar.js",
"handleEvent@chrome://browser/content/tabbrowser.xml",
],
);
}
/* /*
* This test ensures that there are no unexpected * This test ensures that there are no unexpected
* uninterruptible reflows when opening new windows. * uninterruptible reflows when opening new windows.
*/ */
add_task(async function() { add_task(async function() {
// Flushing all caches helps to ensure that we get consistent
// behaviour when opening a new window, even if windows have been
// opened in previous tests.
Services.obs.notifyObservers(null, "startupcache-invalidate");
Services.obs.notifyObservers(null, "chrome-flush-skin-caches");
Services.obs.notifyObservers(null, "chrome-flush-caches");
let win = OpenBrowserWindow(); let win = OpenBrowserWindow();
await withReflowObserver(async function() { await withReflowObserver(async function() {