Commit Graph

1384 Commits

Author SHA1 Message Date
Olli Pettay
c96e061efc Bug 1596958 - Synchronize layouthistorystate to parent process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D53288
2019-12-05 20:30:45 +00:00
Brindusan Cristian
571f63a42b Backed out changeset 69ac0bf82505 (bug 1596958) for assertion failures at nsSHEntry.cpp. CLOSED TREE 2019-12-05 21:01:02 +02:00
Olli Pettay
5387a9b735 Bug 1596958 - Synchronize layouthistorystate to parent process, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D53288
2019-12-05 17:33:48 +00:00
Boris Zbarsky
2df1df0176 Bug 1517588. Use nsIPrincipal::IsSystemPrincipal instead of nsContentUtils::IsSystemPrincipal r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53067
2019-12-05 04:44:32 +00:00
Emilio Cobos Álvarez
6952f7d153 Bug 1599161 - Rename nsLayoutStylesheetCache to GlobalStyleSheetCache. r=boris
It's a better name, and will avoid confusion when I add other stylesheet caches
outside of the CSS loader.

Depends on D54556

Differential Revision: https://phabricator.services.mozilla.com/D54557
2019-11-25 22:08:43 +00:00
Ehsan Akhgari
c5ab356460 Bug 1592599 - Switch nsIDocShell.getDocShellEnumerator() away from using nsISimpleEnumerator; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D51100
2019-11-18 20:11:58 +00:00
Ting-Yu Lin
759bf8f4bf Bug 1590185 Part 2 - Support paged mode layout in layout debugger. r=dbaron
This patch adds a menu item in "Toggle" -> "Paged Mode". If the item is
toggled, after finishing loading the document, the document will be
forced into paged mode.

The print settings in `nsLayoutDebuggingTools::SetPagedMode()` are
similar to `setupPrintMode()` in reftest-content.js.

Remove the hack in nsDocumentViewer::InitInternal() because we don't
want to set a new document when mIsPageMode = false.

Differential Revision: https://phabricator.services.mozilla.com/D49993
2019-10-29 19:51:42 +00:00
Brad Werth
abed8b2a58 Bug 1561227 Part 1: Make nsDocumentViewer send a new event before setting full zoom levels on the pres contexts. r=emilio
The PreFullZoomChange event gives listeners an opportunity to capture
state before the viewport full zoom changes. Responsive Design Mode uses
this to save and later restore the resolution of the RDM pane.

Differential Revision: https://phabricator.services.mozilla.com/D48621
2019-10-25 21:05:42 +00:00
Ciure Andrei
33bb767c54 Backed out 8 changesets (bug 1561227) for causing browser_viewport_resizing_scrollbar.js to permafail CLOSED TREE
Backed out changeset aa00b1b62ea7 (bug 1561227)
Backed out changeset b22440a67078 (bug 1561227)
Backed out changeset 4776cec83ae8 (bug 1561227)
Backed out changeset ac88bbefb95f (bug 1561227)
Backed out changeset aef3cfa2f539 (bug 1561227)
Backed out changeset a3759e1a04e2 (bug 1561227)
Backed out changeset cfcf79794049 (bug 1561227)
Backed out changeset 97be65338edf (bug 1561227)
2019-10-26 00:00:48 +03:00
Brad Werth
a6dccdd7ec Bug 1561227 Part 1: Make nsDocumentViewer send a new event before setting full zoom levels on the pres contexts. r=emilio
The PreFullZoomChange event gives listeners an opportunity to capture
state before the viewport full zoom changes. Responsive Design Mode uses
this to save and later restore the resolution of the RDM pane.

Differential Revision: https://phabricator.services.mozilla.com/D48621
2019-10-24 23:42:50 +00:00
Csoregi Natalia
3cb82c8733 Backed out 8 changesets (bug 1561227) for failures on browser_viewport_resizing_scrollbar.js. CLOSED TREE
Backed out changeset 8117cafb3a20 (bug 1561227)
Backed out changeset 635534927ffc (bug 1561227)
Backed out changeset 693b0dd88f2b (bug 1561227)
Backed out changeset 257bc09f49af (bug 1561227)
Backed out changeset 1b63d555c6c1 (bug 1561227)
Backed out changeset 677da957ddcb (bug 1561227)
Backed out changeset f8b8e593316f (bug 1561227)
Backed out changeset 849e1cf51a8f (bug 1561227)
2019-10-25 02:35:11 +03:00
Brad Werth
fb7f827869 Bug 1561227 Part 1: Make nsDocumentViewer send a new event before setting full zoom levels on the pres contexts. r=emilio
The PreFullZoomChange event gives listeners an opportunity to capture
state before the viewport full zoom changes. Responsive Design Mode uses
this to save and later restore the resolution of the RDM pane.

Differential Revision: https://phabricator.services.mozilla.com/D48621
2019-10-24 16:48:14 +00:00
Emilio Cobos Álvarez
6722ffea60 Bug 1585778 - Validate the input of nsDocumentViewer::GetContentSize to not violate the precondition of PresShell::ResizeReflow. r=dholbert
For huge sizes we may end up with an unconstrained isize. Just avoid sizing the
window to that.

Differential Revision: https://phabricator.services.mozilla.com/D49062
2019-10-12 16:11:32 +00:00
Emilio Cobos Álvarez
c1bd815761 Bug 1583534 - Further simplify PresShell::ResizeReflow. r=botond
In particular, not let ResizeReflow take the old and new size. Most of the
callers pass dummy values anyway.

Instead, use the old size of the layout viewport. This ensures we fire resize
events only if the layout viewport actually changes.

This is important because the first resize of the mobile viewport manager
after a navigation has an "old size" of 0x0, even though the layout viewport
is initialized on presshell initialization to the right size.

Thus, we fire resize events unnecessarily in that case, which is the root cause
for bug 1528052.

To do this, we need to shuffle a bit of code in nsDocumentViewer that deals with
delayed resizes, to set the visible area _and_ invalidate layout, rather than
setting the visible area and _then_ relying on doing a resize reflow.

Further cleanup is possible, though not required for my android resizing fix, so
will do separately.

Differential Revision: https://phabricator.services.mozilla.com/D46944
2019-09-25 19:12:44 +00:00
Andrew Creskey
eedede5894 Bug 1575938 Convert dom/JSEnvironment GC timing constants to StaticPref r=edgar
Converted the following to StaticPrefs so that we can easily test variations:

NS_GC_DELAY
NS_SHRINK_GC_BUFFERS_DELAY
NS_FIRST_GC_DELAY
NS_FULL_GC_DELAY
NS_INTERSLICE_GC_DELAY

NS_USER_INTERACTION_INTERVAL

Differential Revision: https://phabricator.services.mozilla.com/D43112
2019-08-26 15:51:01 +00:00
Timothy Nikkel
4c508938dc Bug 1574016. Fix logic error in patch from bug 1547277. r=bradwerth
The fixed still worked because we get another SetBounds call right after with the same bounds. But it does mean we are doing some useless invalidation.

Differential Revision: https://phabricator.services.mozilla.com/D42059
2019-08-15 01:28:11 +00:00
Brendan Dahl
121428ad45 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

Differential Revision: https://phabricator.services.mozilla.com/D41238
2019-08-09 19:57:50 +00:00
Nika Layzell
8f12a56d0d Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656
2019-08-08 16:07:12 +00:00
Emilio Cobos Álvarez
271567e558 Bug 1570721 - Add a content viewer API to emulate color scheme. r=heycam
MANUAL PUSH: Reordering stacks is a pain (https://bugzilla.mozilla.org/show_bug.cgi?id=1481539)

Differential Revision: https://phabricator.services.mozilla.com/D40250
2019-08-02 15:18:41 +02:00
Emilio Cobos Álvarez
c8478466fd Bug 1570721 - Remove a bit of duplication in nsDocumentViewer.cpp. r=bzbarsky
Not happy with all these void pointer stuff, but I think this is slightly nicer
to read.

Also not happy with what clang-format has done to my code ;)

I've removed the comment about zoom because it's not clear to me it is still
relevant, but I've preserved the order because, should we have similar stuff
going on, it seems slightly better, and I'm moderately sure the rest of the
callers don't really care.

I think closures coerced to function pointers are nicer (I considered putting
this on a template or using std::function, maybe, this was less code specially
given some callers of EnumerateExternalResources may or may not be hot...),
but if you want me to keep stuff out of line, or move the whole thing to
std::function<> or templates let me know.

Differential Revision: https://phabricator.services.mozilla.com/D40249
2019-08-02 15:18:30 +02:00
Emilio Cobos Álvarez
4f4484015b Bug 1570721 - Simplify emulated medium setup in nsPresContext. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40246
2019-08-02 15:18:19 +02:00
Emilio Cobos Álvarez
92ee3dac62 Bug 1570721 - Make nsDocumentViewer::CallChildren callbacks get an nsDocumentViewer rather than an nsIContentViewer. r=bzbarsky
It's the only implementation, and this will simplify future patches.

Differential Revision: https://phabricator.services.mozilla.com/D40279
2019-08-02 15:18:15 +02:00
Timothy Nikkel
6b742901ac Bug 1565922. When the document viewer loses it prescontext pointer we need to make sure that any potential subdocument display items get rebuilt. r=mattwoodrow
If the subdocument display item gets created when the subdocument doesn't have a root frame it'll be based on the subdocument frame in the parent document. This means that the prescontext pointer on the document viewer of the subdocument can go away without the subdocument display item getting any kind of invalidation. So we make sure the subdocument display item gets rebuilt if that happens. The reason the prescontext pointer is important is that is what nsSubDocumentFrame::GetSubdocumentPresShellForPainting uses (via nsDocShell::GetPresShell) to get the subdocument presshell. So it will fail to get a presshell and RetainedDisplayListBuilder::IncrementSubDocPresShellPaintCount will crash.

Differential Revision: https://phabricator.services.mozilla.com/D39310
2019-07-29 09:56:14 +00:00
Kannan Vijayan
c690c1925f Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378
2019-07-26 16:48:31 +00:00
Ciure Andrei
555c0eb5a5 Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE
Backed out changeset 644ceb2fe568 (bug 1523638)
Backed out changeset 27647ee7a927 (bug 1523638)
Backed out changeset 96f1ccb95570 (bug 1523638)
Backed out changeset b60a17ea716a (bug 1523638)
Backed out changeset 507e63186c5f (bug 1523638)
Backed out changeset 33255408ca61 (bug 1523638)
Backed out changeset d97b2d223616 (bug 1523638)
Backed out changeset eba2a0514cde (bug 1523638)
Backed out changeset d7065174c5c4 (bug 1523638)
Backed out changeset c21b361e175d (bug 1523638)
2019-07-23 05:13:32 +03:00
Nika Layzell
5c29b58c34 Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656
2019-07-18 19:38:22 +00:00
Bogdan Tara
8aef5e7fca Backed out 9 changesets (bug 1523638) for browser_contextmenu.js failures CLOSED TREE
Backed out changeset 0a584a07b696 (bug 1523638)
Backed out changeset 8c5af2289900 (bug 1523638)
Backed out changeset 40ed1bd64b09 (bug 1523638)
Backed out changeset 9a99a0391979 (bug 1523638)
Backed out changeset 07fb4748b91a (bug 1523638)
Backed out changeset 49047c3ebae9 (bug 1523638)
Backed out changeset d606d072126c (bug 1523638)
Backed out changeset 76dc1937fc77 (bug 1523638)
Backed out changeset c784c14b5d5d (bug 1523638)
2019-07-16 23:40:47 +03:00
Nika Layzell
5cc63b3949 Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656
2019-07-16 18:47:56 +00:00
Sylvestre Ledru
3bf4f867df Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D38057
2019-07-16 07:33:44 +00:00
Emilio Cobos Álvarez
9b6e807979 Bug 1218456 - Remove nsILinkHandler. r=smaug
Interfaces with just one implementation don't seem very useful.

Differential Revision: https://phabricator.services.mozilla.com/D37406
2019-07-09 23:08:05 +02:00
Emilio Cobos Álvarez
2113328e15 Bug 1218456 - Allow navigating when there's no pres context. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37404
2019-07-09 23:07:29 +02:00
Dorel Luca
7a5944a08d Backed out 5 changesets (bug 1218456) for Crashtest failures on dom/l10n/tests/mochitest/dom_localization/test_overlay.html. CLOSED TREE
Backed out changeset 31afe89c2d42 (bug 1218456)
Backed out changeset 8bd57ebc4528 (bug 1218456)
Backed out changeset e5d37afff36a (bug 1218456)
Backed out changeset e3da86278ecf (bug 1218456)
Backed out changeset 343046089f8e (bug 1218456)
2019-07-09 22:04:13 +03:00
Emilio Cobos Álvarez
19f9994690 Bug 1218456 - Remove nsILinkHandler. r=smaug
Interfaces with just one implementation don't seem very useful.

Differential Revision: https://phabricator.services.mozilla.com/D37406
2019-07-09 16:17:47 +00:00
Emilio Cobos Álvarez
851bb098fd Bug 1218456 - Allow navigating when there's no pres context. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37404
2019-07-09 16:17:27 +00:00
Sylvestre Ledru
90f14f282a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35622
2019-07-06 08:18:28 +00:00
Sean Feng
2631e9c2fb Bug 1560328 - Fix a bug where mDocument could be null to cause crashes r=smaug,emilio
Differential Revision: https://phabricator.services.mozilla.com/D35567
2019-06-24 15:05:36 +00:00
Dorel Luca
eda6b02f65 Merge mozilla-inbound to mozilla-central. a=merge 2019-06-12 15:05:58 +03:00
Sean Feng
60f4bc3ba6 Bug 1512388 - Add loading cross domain iframes in background r=smaug
This patch adds the ability to load cross domain iframes in the
background to make the top level documents finish earlier.

This is an experiment feature that we'll keep it disabled by default.

Differential Revision: https://phabricator.services.mozilla.com/D24938
2019-06-11 20:43:40 +00:00
Jonathan Watt
910b6974b7 Bug 1558349. Stop calling SetIsPrintPreview in nsDocumentViewer::PrepareToStartLoad. r=bobowen
This code predates our use of a static clone to print.  Nowadays we never
navigate in the (dedicated) print preview tab.

Differential Revision: https://phabricator.services.mozilla.com/D34433
2019-06-04 22:53:09 +01:00
Jonathan Watt
af77d20f0f Bug 1558071. Rename nsIWebBrowserPrint.printPreviewNavigate to printPreviewScrollToPage. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D34297
2019-06-03 12:48:21 +01:00
Jonathan Watt
d4e1aff7d4 Bug 1558072. Inline the nsDocumentViewer::ReturnToGalleyPresentation code to its single caller. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D34296
2019-06-03 10:10:42 +01:00
Jonathan Watt
0d8517dfbe Bug 1557878. Replace nsIWebBrowserPrint::enumerateDocumentNames with a getter for the top document's name. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D34260
2019-05-30 11:43:16 +01:00
Jonathan Watt
7717044591 Bug 1557681. Rename nsPrintJob::Cancelled() to Cancel(). r=bobowen
"Cancelled" sounds like it's a query and should return a bool.  In fact this
method sets state in response to a nsIWebBrowserPrint.cancel() being called.

Differential Revision: https://phabricator.services.mozilla.com/D34137
2019-05-29 07:14:46 +01:00
Jonathan Watt
d17e754362 Bug 1557104. Merge nsIPageSequenceFrame and nsSimplePageSequenceFrame. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D33817
2019-05-22 13:01:33 +01:00
Mihai Alexandru Michis
8f961dd3e2 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-06-05 12:59:10 +03:00
sotaro
ff17f423af Bug 1537586 - Address build failure with --disable-printing r=bobowen,froydnj
Make nsIWebBrowserPrint included unconditionally for addressing nsIDocShell.rs build failure.

Remove direct_call of PPrinting and PRemotePrintJob. Their ipdl are built unconditionally, but their derived classes are not built with --disable-printing.

Differential Revision: https://phabricator.services.mozilla.com/D33391
2019-06-05 01:25:36 +00:00
Jonathan Watt
5881d3faab Bug 1552785. Remove printing related isFramesetDocument and isFramesetFrameSelected code. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D33696
2019-05-21 23:25:57 +01:00
Edgar Chen
ea9872bc1b Bug 1554122 - Rename nsAutoPopupStatePusher* to AutoPopupStatePusher; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32457
2019-05-24 12:42:29 +00:00
Jonathan Watt
653e19464a Bug 1553081. Set nsPrintJob::mDisallowSelectionPrint during Initialize(). r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D31975
2019-05-10 16:01:33 +01:00
Jonathan Watt
805f7cd9fd Bug 1552969. Pass the document to print through to nsPrintJob::Print. r=bobowen
...and have nsPrintJob::Print use that instead of mOriginalDoc, which we want
to get rid of.

When nsPrintJob::Print is called and mPrtPreview is nullptr, we know that we
have been called to print a page directly without print preview.  In that case
we know that we're printing the nsPrintJob's docViewer's document.  I.e. the
document of the caller of nsPrintJob::Print.  So in this case mOriginalDoc and
the passed doc are always the same thing.

Differential Revision: https://phabricator.services.mozilla.com/D31874
2019-05-10 09:38:11 +01:00