Commit Graph

28 Commits

Author SHA1 Message Date
Jamie Nicol
45bdc72d64 Bug 1200729 - Recompute FrameLayerBuilder item visibility if dirty region changes. r=mwoodrow
Make the FrameLayerBuilder remember for what region it has calculated
display item visibility, then recompute the visibility whenever the
dirty region it is passed to DrawPaintedLayer changes.

This means that the caller does not have to know the entire dirty region
that will be drawn for the transaction, but we can still optimise cases
where it knows some of the dirty region in advance.

This fixes a regression where MultiTiledContentClient's low-res display
port would not be painted if a smaller region of its high-res buffer had
already been painted that transaction, since the FrameLayerBuilder
had decided that most of the larger low-res region was invisible.
2015-09-15 14:41:42 +01:00
Jed Davis
e32b5dab07 Bug 1101100 - Multiprocess-enable nsWebBrowserPersist. r=billm
The high-level overview is that the parts of nsWebBrowserPersist which
access the DOM have been factored out (as WebBrowserPersistLocalDocument)
and abstracted (nsIWebBrowserPersistDocument) such that they can be
implemented in the cross-process case using IPC.
2015-08-05 14:25:39 -07:00
Jamie Nicol
6e0e1d166c Bug 1187619 - Only optmimize FrameLayerBuilder visibility calculations if correct. r=mattwoodrow
Bug 1176077 introduced the parameter aDirtyRegion to
DrawPaintedLayerCallback, which allows the callback to recompute the
visibility of all items to be painted in that transaction in a single
go. However, this parameter can not always be determined correctly
when using RotatedBuffer, and using an incorrect value was causing
graphical glitches.

Make the parameter optional, and on null values do not perform the
optimisation. Pass null from ClientPaintedLayer, which uses
RotatedBuffer and was causing problems, but continue to pass the
correct value from other Layer implementations. This optimisation was
most important for tiled layers using progressive paint, so this is
okay.
2015-08-03 04:07:00 -04:00
Jamie Nicol
a1feb12475 Bug 1176077 - Only recompute PaintedLayer item visibility when display list has changed. r=mattwoodrow
FrameLayerManager::RecomputeItemsVisibility() was being called on every
call to FrameLayerBuilder::DrawPaintedLayer(), each time for the region
to be painted by that paint call. This is inefficient when progressive
paint is enabled. Change it so that we compute the visibility of all the
layer's items within the total region to be painted, but only on the
first paint after the display list has been modified.
2015-07-21 09:19:25 +01:00
Eric Rahm
697e06726e Bug 1179069 - Remove docshell warnings in embedding. r=bz 2015-07-20 20:16:27 -07:00
Juan Gomez
89035d527e Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Ryan VanderMeulen
7aba9d7002 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
7323e89a40 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-06-24 14:11:00 -04:00
Birunthan Mohanathas
711bf0e486 Bug 1130096 - Convert embedding/browser/ to Gecko style. r=mccr8 2015-05-11 12:35:13 -07:00
Alex Verstak
4e554d8cf6 Bug 1113431 - Expose referrer policy to UI code via Document and nsIWebNavigation. r=jst, sr=bz 2015-01-05 09:42:31 -08:00
Robert O'Callahan
0021805640 Bug 1129774. Part 5: Remove aContext parameter from nsIWidget::Create. r=jmathies 2015-02-05 20:35:25 +13:00
Andrew McCreight
815dc6b626 Bug 1127430, part 3 - Fix even more braces in nsWebBrowser. r=smaug 2015-02-04 15:15:12 -08:00
Andrew McCreight
09f039e29b Bug 1127430, part 2 - Fix indentation in nsWebBrowser. r=smaug 2015-02-04 15:15:12 -08:00
Andrew McCreight
8eaad80f6f Bug 1127430, part 1 - Tuck more braces in nsWebBrowser. r=smaug 2015-02-04 15:15:12 -08:00
Andrew McCreight
95045c9521 Bug 1064439, part 16 - Eliminate indirection in nsWebBrowser::mListenerArray. r=jst
Incidentally, this fixes a leak in nsWebBrowser::RemoveWebBrowserListener.
2014-12-16 09:18:02 -08:00
Andrew McCreight
f1a698fd9e Bug 1064439, part 15 - Convert nsWebBrowser::mListenerArray to an nsAutoPtr. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
fd484321ba Bug 1064439, part 14 - Turn nsWebBrowser::mStream into an nsRefPtr and eliminate mStreamGuard. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
13e5b69b6c Bug 1064439, part 13 - Use nsAutoPtr for nsWebBrowser::mInitInfo. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
39ed20d89b Bug 1064439, part 12 - Use nullptr in nsWebBrowser. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
3b7b036a59 Bug 1064439, part 11 - Make nsWebBrowser::mDocShellTreeOwner into an nsRefPtr. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
88bd13f892 Bug 1064439, part 10 - Take advantage of infallible alloc in nsWebBrowser. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
9aaf929513 Bug 1064439, part 9 - Get rid of a take in nsWebBrowser. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
c0e83f424b Bug 1064439, part 8b - Fix if( in nsWebBrowser.cpp. r=jst 2014-12-16 09:18:02 -08:00
Andrew McCreight
bfe6aa3a87 Bug 1064439, part 8a - Get rid of trailing whitespace in nsWebBrowser. r=jst 2014-12-16 09:18:01 -08:00
Jonathan Watt
0377162314 Bug 1103623 - Port most remaining gfxContext::Fill() calls to Moz2D. r=mattwoodrow 2014-11-24 00:04:33 +00:00
Sid Stamm
7327eccdb3 Bug 704320 - Add referrer policy support for nsIWebBrowserPersist and its consumers. (r=jst) 2014-11-18 08:47:14 -05:00
Markus Stange
a15e939a69 Bug 1073103 - Rename ThebesLayer to PaintedLayer. r=roc 2014-09-26 13:06:08 -04:00
Birunthan Mohanathas
d5075b37ec Bug 1054703 - Part 8: Flatten embedding/browser/webBrowser/ into parent directory. r=bsmedberg 2014-08-20 10:27:17 -07:00