Commit Graph

27 Commits

Author SHA1 Message Date
Tom Tung
dc2648e8f2 Bug 1348050 - Part 3: Mark channel as urgent-start for loading image. r=baku,mayhemer
This part is mainly to mark the channel as urgent-start if src related
attributes in HTMLImageElement and HTMLInputElement is set and the channel is
open due to user interaction. Unfortunately, we cannot just check the event
state just after creating channel since some loading image tasks will be queue
and execute in stable state. Thus, I store the event state in elements and
pass it to the place where create the channel.

MozReview-Commit-ID: GBdAkPfVzsn
2017-04-25 09:17:38 +08:00
Timothy Nikkel
f049521b53 Bug 1346501. Remove mFrameCreateCalled from nsImageLoadingContent, it is now unused. r=mats 2017-03-22 00:32:50 -05:00
Timothy Nikkel
3d9218756c Bug 1346501. Don't mark every image as visible when a frame is created for it. r=mats
This is a bug from https://hg.mozilla.org/mozilla-central/rev/2d171d75b746 (bug 1157546). It took a shortcut in trying to get around one of the downsides of tracking visibility on frames instead of content nodes.

We cannot get our primary frame during FrameCreate calls because FrameCreate is called during the frame's Init() function, which happens before the primary frame pointer is set.

So when TrackImage is called from FrameCreate |frame| will be null but mFrameCreateCalled will be true. So we won't hit the early return that tries to detect nonvisible images.

The comment being removed is just wrong. We can obtain a frame for <feImage> just as well as any other image type.

The thing that is different about <feImage> is that it calls IncApproximateVisibleCount() followed by FrameCreated() in the frame's Init() function. This means that the frame is marked visible at the time of the FrameCreated, and there will be no further calls to TrackImage (because there are no further changes). So the FrameCreated call is the last chance to mark this image visible. The regressing changeset tries to get around this by just considering the image visible whenever we know a frame exists (because of mFrameCreateCalled) but can't access it. This ends up affecting all types of images, not just <feImage>.

The above paragraph is also true for SVG <image> that are non-display.
2017-03-22 00:32:48 -05:00
Boris Zbarsky
26af9e4884 Bug 1347639. Add nsImageLoadingContent::AsContent to make getting the relevant nsIContent* faster. r=qdot
MozReview-Commit-ID: 9sE3pbHwYbV
2017-03-16 17:43:34 -04:00
Edgar Chen
f1406505a9 Bug 1308069 - Clear pending error event fired by src="" case if src changed before it fired. r=bz
MozReview-Commit-ID: B8f975mZNN9
2016-10-06 12:30:35 +08:00
Ben Tian
bf7bc48edb Bug 1264769 - Patch 2: Dispatch loadstart event for image loading, r=hsivonen 2016-10-05 10:06:27 +08:00
Boris Zbarsky
ea2a869fda Bug 1304515. Remove the unused WebIDL version of ImageLoadingContent.loadImageWithChannel. r=ehsan 2016-09-22 16:58:35 +01:00
Iris Hsiao
9904feaf40 Backed out changeset ee163e1d915a (bug 1264769) for fixing regression of bug 1298725
CLOSED TREE
2016-08-31 10:46:27 +08:00
Ben Tian
aadbae7903 Bug 1264769 - Part 2: Dispatch loadstart event for image loading. r=hsivonen 2016-07-12 10:56:42 +08:00
Ben Tian
e93649f7b1 Bug 1264769 - Part 1: Dispatch loadend event for image loading. r=hsivonen 2016-08-16 12:01:12 +08:00
Wes Kocher
035bf451ff Backed out 2 changesets (bug 1264769) for invalid-src.html wpt failures a=backout
Backed out changeset 7b9d3d0c09f5 (bug 1264769)
Backed out changeset 780f7036c084 (bug 1264769)
2016-08-15 13:35:46 -07:00
Ben Tian
8b8d8e14ab Bug 1264769 - Part 2: Dispatch loadstart event for image loading. r=hsivonen 2016-07-12 10:56:42 +08:00
Ben Tian
6e58bfa7cd Bug 1264769 - Part 1: Dispatch loadend event for image loading. r=hsivonen 2016-07-20 11:01:46 +08:00
Jonathan Watt
9c5b8de022 Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01: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
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
Seth Fowler
e043206210 Bug 1177587 - Detect use of <img> elements for animation and use sync decoding to reduce flicker. r=tn 2015-07-07 14:00:08 -07:00
Franziskus Kiefer
7a586a418e Bug 1166910 - Referrer attribute for img tag. r=ckerschb, r=hsivonen, r=bz 2015-06-05 15:25:24 -07:00
Carsten "Tomcat" Book
cb8e2da810 Backed out changeset f5f3827ffcf1 (bug 1166910) for bustage 2015-07-01 08:19:28 +02:00
Franziskus Kiefer
76b5864bfa Bug 1166910 - referrer attribute for img tag. r=hsivonen 2015-06-05 15:25:24 -07:00
Seth Fowler
6fba5c9934 Bug 1174923 - Stop delaying the document load event until images are decoded. r=tn a=kwierso 2015-06-19 15:55:12 -07:00
Muhsin A. Steiman
e8b97dd76c Bug 1170799 - removes unused declaration setBlockingOnLoad. r=smaug 2015-06-03 05:01:00 +02:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Andrea Marchesini
26e004fd3c Bug 1156632 - Remove unused forward class declarations - patch 1 - dom/base, r=ehsan 2015-04-22 08:29:15 +02:00
Seth Fowler
20f8c6542b Bug 1125490 (Part 2) - Use an enumeration instead of a boolean to request discarding in nsIImageLoadingContent. r=tn 2015-02-06 02:51:12 -08:00
Seth Fowler
3f90d6455e Bug 1098202 (Part 1) - Rename imgINotificationObserver handlers to be consistent with the notifications they handle. r=tn 2014-11-17 14:29:56 -08:00
Birunthan Mohanathas
e9068bbc4f Bug 946065 - Part 12: Move content/base/ to dom/ and flatten subdirectories. r=peterv 2014-10-25 20:25:22 +03:00