Commit Graph

247 Commits

Author SHA1 Message Date
Timothy Nikkel
4e5f04dcaf Bug 1259246. Move nsIPresShell::GetRealPrimaryFrameFor to nsLayoutUtils::GetRealPrimaryFrameFor. r=dholbert
The function doesn't need to be a non-static member of nsIPresShell: it only checks if the document of the passed in element matches the presshell's document, and then the remaining code could be static. It has only one user, nsDocumentViewer::FindContainerView, and it doesn't care about the specific presshell, it just wants the primary frame, so it doesn't need the document check.

This lets us simplify nsDocumentViewer::FindContainerView because it had to jump through hoops to get the presshell.
2016-04-04 02:59:15 -05:00
chunminchang
f61dd5906c Bug 1110030 - part3 - Interface between PresShell and HardwareKeyHandler. r=masayuki, r=smaug 2016-03-21 14:20:59 +08:00
Seth Fowler
0f24c44100 Bug 1157546 - Replace the image visibility API with a more general API that tracks visibility for any kind of frame. r=mstange 2016-03-25 14:49:43 -07:00
Seth Fowler
f989c0c02b Bug 1257315 (Part 1) - Add a visualization of visibility tracking to the APZ minimap. r=botond,mattwoodrow 2016-03-18 18:38:57 -07:00
Timothy Nikkel
bd7583dd90 Bug 1251150. Add crash annotations if image visibility is re-entering. r=mats 2016-03-14 22:59:02 -05:00
Kartikaya Gupta
389444e383 Bug 1242690 - Make sure that synthetic mouse events have a reasonable guid so that the callback transform can get unapplied properly. r=botond
MozReview-Commit-ID: FYnSEGAZLyO
2016-03-10 18:25:49 -05:00
Timothy Nikkel
730e5c0a9b Bug 1251150. Add some crash annotations to try to track down a crash bug. r=dholbert 2016-03-10 00:37:19 -06:00
Nathan Froyd
5e6fb5ddfb Bug 1253007 - part 2 - pass a const& to PaintRangePaintInfo; rs=dholbert 2016-03-02 16:40:24 -05:00
Nathan Froyd
d286c17b7f Bug 1253007 - part 1 - use UniquePtr for RangePaintInfo in nsPresShell.cpp; r=dholbert 2016-01-20 16:24:28 -05:00
Seth Fowler
7f3c4ce92b Bug 1171371 - On memory-pressure, remove any stale images from the visible images list. r=tn 2015-06-04 11:08:19 -07:00
Cameron McCormack
c0e9a631c2 Bug 1244074 - Part 4: Use StyleSheetHandle instead of concrete style sheet class in most places. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
8a879b8032 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Kartikaya Gupta
423eb91d86 Back out 3 csets from bug 1242690 for causing bug 1244549. r=backout 2016-01-31 14:44:58 -05:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Kartikaya Gupta
cb52534815 Bug 1242690 - Make sure that synthetic mouse events have a reasonable guid so that the callback transform can get unapplied properly. r=botond 2016-01-29 16:31:15 -05:00
Nicholas Nethercote
d573148d5a Re-backout c216ff19d690 (bug 1059014 part 3) because the removed code is less dead than it first appears. 2016-01-20 22:55:37 -08:00
George Wright
5b521873c4 Bug 1234049 - Ensure we always invalidate new PresShells that are created for an inactive DocShell upon reactivating them. r=smaug 2016-01-13 17:00:15 -05:00
Randall Barker
6f6307e2d7 Bug 1229752 - When C++ APZ scroll offset diverges from the Gecko scroll offset, it is not being applied properly to the event position r=botond,tnikkel 2016-01-11 16:06:14 -08:00
Nicholas Nethercote
44ff3e796f Bug 1232852 (part 5) - Remove some unused parameters in and around layout/base/. r=heycam. 2016-01-05 16:08:17 -08:00
Ting-Yu Lin
c4c4aa42d2 Bug 1221459 - Remove TouchCaret and SelectionCarets. r=mtseng, r=roc
All the files modified are straightforward deletion except TouchManager
and ZoomConstraintsClient. I add some includes and wrap TouchManager by
mozilla namespace to fix build errors due to the removal of TouchCaret.
2015-12-22 14:14:12 +08:00
Nigel Babu
db46f1d573 Backed out changeset 9f30d3caa231 (bug 1221459) 2015-12-22 14:03:21 +05:30
Ting-Yu Lin
c4d155eb8e Bug 1221459 - Remove TouchCaret and SelectionCarets. r=mtseng,roc
All the files modified are straightforward deletion except TouchManager
and ZoomConstraintsClient. I add some includes and wrap TouchManager by
mozilla namespace to fix build errors due to the removal of TouchCaret.
2015-12-22 14:14:12 +08:00
Kartikaya Gupta
f1c08fd765 Bug 1228597 - Clean up code paths that (un)apply a pres shell resolution. r=tn,botond
A clear separation is introduced between paths that deal with a root
document resolution (at the process boundary in e10s setups) and paths
that deal with a non-root document resolution (elsewhere in Layout code).

This allows both code paths to run on all platforms.
2015-11-30 19:13:20 -05:00
Mark Capella
33a6284906 Bug 1215959 - (GeckoCaret2) Remove experimental bits added to Touch/Selection carets, r=tylin 2015-12-01 15:25:06 -05:00
Randall Barker
35c2ae702a Bug 1224015 - Part 1: nsLayoutUtils functions do not account for nsPresShell resolution r=tnikkel 2015-11-26 20:51:13 -06:00
Nicholas Nethercote
be66ede6bb Bug 1059014 (part 3) - Remove support for pausing and resuming painting. r=dbaron.
This reverts much of part 2 of bug 878935, except for the Android browser.js
changes which have already been reverted elsewhere.

The revert caused mass b2g Gij test bustages
2015-11-24 16:09:04 +05:30
Nicholas Nethercote
6805d49fb9 Backout 3ad33d09825a (bug 1059014 part 3) because the removed code is less dead than it first appears. 2015-11-23 14:13:48 -08:00
Kartikaya Gupta
a58e442256 Bug 1226872 - Stop keeping a copy of the resolution in the root scrollframe. r=roc
The only reason we had this in the scrollframe at all was so that it could be
saved/restored as part of the frame state when leaving a page and then going
back to it. However we can accomplish this by just reading/writing the resolution
from/to the presshell instead, so there's no need to keep a second copy of it.
2015-11-23 09:14:15 -05:00
Cameron McCormack
654179bc68 Bug 990250 - Fold nsIStyleSheet into CSSStyleSheet. r=dbaron 2015-11-17 17:04:09 +11:00
George Wright
1fa75f94b8 Bug 1098131 - Don't invalidate layers when simply changing SizeMode r=smaug,jimm 2015-11-09 21:38:21 -05:00
Masayuki Nakano
0d951d5d4d Bug 1218032 part.4 Notify IMEContentObserver of enough safe timing to notify IME of something r=smaug 2015-11-10 11:49:05 +09:00
sajitk
3af487f614 Bug 1219470 - Replace PRLogModuleInfo with LazyLogModule. r=roc 2015-11-05 23:35:03 +01:00
Nicholas Nethercote
3c19d2348d Bug 1059014 (part 3) - Remove support for pausing and resuming painting. r=dbaron.
This reverts much of part 2 of bug 878935, except for the Android browser.js
changes which have already been reverted elsewhere.
2015-11-04 20:55:32 -08:00
Nicholas Nethercote
6a2267013b Bug 1059014 (part 2) - Remove support for reflow on zoom event pending. r=dbaron.
This basically reverts part 2 of bug 836565.
2015-11-04 20:55:16 -08:00
Sebastian Hengst
b1d1ec100c Backed out changeset c780a165dca1 (bug 1098131) for bc7 failures, at least on Linux. r=backout
browser_backButtonFitts.js | uncaught exception - TypeError: this.mCurrentBrowser.docShell is null at chrome://browser/content/tabbrowser.xml:4004
2015-11-04 20:41:16 +01:00
George Wright
87e27360d6 Bug 1098131 - Don't invalidate layers when simply changing SizeMode r=smaug 2015-11-04 13:23:03 -05:00
Cameron McCormack
b5fd6acd46 Bug 1216043 - Rename nsStyleSheet::sheetType and make it an enum class. r=dbaron
The only substantive change here, apart from a few variables changing in
size from uint16_t to uint8_t, is FontFaceSet's use of SheetType::Unknown
(0xFF) instead of 0 for FontFaceRecords for script-created FontFaces.
2015-10-20 10:16:20 +11:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Kartikaya Gupta
9d91cdaaf1 Bug 1185747 part 3 - Rip out code to explicitly override the CSS viewport. r=tn 2015-09-01 16:47:52 -04:00
Kartikaya Gupta
23f4538421 Bug 1178354 - Ensure we fire a before-first-paint event for printing as well. r=tn 2015-07-23 17:53:32 -04:00
Kartikaya Gupta
064fc767ff Bug 1178847 - Add a MobileViewportManager to manage setting the CSS viewport on B2G. r=botond,tn
The MobileViewportManager ("MVM") is responsible for setting the CSS viewport on
any of the following events:
- a page is painted for the first time (on the before-first-paint event)
- a meta-viewport tag is added (on the DOMMetaAdded event)
- the full-zoom is changed (on the FullZoomChanged event)
- if the window is resized (ResizeReflow gets called as part of normal layout
  processing, and this will pick up a new CSS viewport from MVM)

If the CSS viewport changes or if it is the initial paint, the MVM additionally
calls SetResolutionAndScaleTo on the presShell to update the displayed zoom.
The APZ code in AsyncPanZoomController::NotifyLayersUpdated already has
corresponding code to accept this updated zoom when the CSS viewport changes.
2015-07-21 10:51:55 -04:00
Carsten "Tomcat" Book
8ee59042e8 Backed out changeset 313ea7f814d3 (bug 1178847) 2015-07-21 08:34:57 +02:00
Kartikaya Gupta
1e07d34a09 Bug 1178847 - Add a MobileViewportManager to manage setting the CSS viewport on B2G. r=botond,tn
The MobileViewportManager ("MVM") is responsible for setting the CSS viewport on
any of the following events:
- a page is painted for the first time (on the before-first-paint event)
- a meta-viewport tag is added (on the DOMMetaAdded event)
- the full-zoom is changed (on the FullZoomChanged event)
- if the window is resized (ResizeReflow gets called as part of normal layout
  processing, and this will pick up a new CSS viewport from MVM)

If the CSS viewport changes or if it is the initial paint, the MVM additionally
calls SetResolutionAndScaleTo on the presShell to update the displayed zoom.
The APZ code in AsyncPanZoomController::NotifyLayersUpdated already has
corresponding code to accept this updated zoom when the CSS viewport changes.
2015-07-20 18:19:40 -04:00
Alex Henrie
043f3878d9 Bug 941858 - Do not scale down elements passed to setDragImage. r=roc 2015-07-11 10:15:19 -06:00
Nathan Froyd
92a8124fef Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
L. David Baron
a4a54f3788 Bug 1169440 patch 6 - Add parameter to nsIFrame::FrameNeedsReflow to control handling of target being a reflow root. r=dholbert 2015-06-20 21:54:15 -07:00
David Anderson
b57de80569 Add an observer service notification for the first widget paint message. (bug 1173117 part 2, r=roc) 2015-06-18 13:42:39 -07:00
Kartikaya Gupta
f8ae55b733 Bug 1055557 - Add a ZoomConstraintsClient class to manage pushing zoom constraints updates to the APZ code. r=botond
Original patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>.
2015-06-17 12:32:42 -04:00
Cameron McCormack
55338d31e4 Bug 1169514 - Part 3: Use a shared preference style sheet across all pres contexts. r=jwatt 2015-06-16 11:34:48 +10:00
Cameron McCormack
8765417a37 Bug 1169514 - Part 2: Move noframes rules from the preferences style sheet to a cached UA style sheet. r=jwatt 2015-06-16 11:34:47 +10:00