Commit Graph

89 Commits

Author SHA1 Message Date
Brad Werth
e890c12f86 Bug 1457532 Part 2: Change ImageLoader::AssociateRequestToFrame to kickoff decode for images that block onload. r=tnikkel
MozReview-Commit-ID: DpBqTzMLQXo
2018-05-08 14:13:56 -07:00
Brad Werth
2dfce525d7 Bug 1457532 Part 1: Narrow ImageLoader::OnLoadComplete to only unblock onload in response to an error status on the image request. r=tnikkel
MozReview-Commit-ID: 929PTrT9iP1
2018-04-27 12:00:35 -07:00
Bogdan Tara
baf8d3d554 Backed out changeset 754824066ed0 (bug 1457532) for failing layout/style/test/test_value_cloning.html CLOSED TREE 2018-05-08 21:04:34 +03:00
Brad Werth
8219a9b4c1 Bug 1457532: Narrow ImageLoader::OnLoadComplete to only unblock onload in response to an error status on the image request. r=tnikkel
MozReview-Commit-ID: 929PTrT9iP1
2018-04-27 12:00:35 -07:00
Ting-Yu Lin
53f9fd2dce Bug 1404222 Part 3: Block onload when shape-outside images are requested for a frame, and keep it blocked until the frame is removed, the image fails to load, or reflow is complete. r=dbaron,dholbert
When we finish decoding an image frame, we need to trigger reflow for the
frame containing a float with shape-outside: <image>, and delay the firing
of the document's onload event until that reflow is complete.
2018-01-25 14:56:43 +08:00
Brad Werth
6d0847d01a Bug 1404222 Part 2: Extend ImageLoader to associate flags with each request-frame relationship. r=dbaron 2018-03-16 11:01:57 -07:00
Ryan VanderMeulen
93ffd60378 Backed out 11 changesets (bug 1404222) for static analysis failures on a CLOSED TREE.
Backed out changeset a6a99136300c (bug 1404222)
Backed out changeset 7183b8104399 (bug 1404222)
Backed out changeset a1e4294c1c59 (bug 1404222)
Backed out changeset b79d6e8318db (bug 1404222)
Backed out changeset 0450620fdabd (bug 1404222)
Backed out changeset 026c74a92d04 (bug 1404222)
Backed out changeset 50ac4167f702 (bug 1404222)
Backed out changeset 59038f2db68a (bug 1404222)
Backed out changeset f6b9096da915 (bug 1404222)
Backed out changeset 4e0baffdd79b (bug 1404222)
Backed out changeset 57eeb849ab88 (bug 1404222)
2018-04-02 17:57:27 -04:00
Ting-Yu Lin
e4c387c16b Bug 1404222 Part 3: Block onload when shape-outside images are requested for a frame, and keep it blocked until the frame is removed or reflow is complete. r=dbaron,dholbert
When we finish decoding an image frame, we need to trigger reflow for the
frame containing a float with shape-outside: <image>, and delay the firing
of the document's onload event until that reflow is complete.
2018-01-25 14:56:43 +08:00
Brad Werth
4f05a96fef Bug 1404222 Part 2: Extend ImageLoader to associate flags with each request-frame relationship. r=dbaron 2018-03-16 11:01:57 -07:00
Jeff Muizelaar
ce6a6c616b Bug 1388842. Add blob invalidation. r=mstange
MozReview-Commit-ID: 5xwqlULUbZe
2018-03-27 17:31:04 -04:00
Jeff Muizelaar
3370a80065 Bug 1439006. Allow multiple kinds of WebRenderUserData on a DisplayItem. r=mstange
Currently we can only have one type of WebRenderUserData on an Item. We already
have a hash table of WebRenderUserData so it's not hard to include type in the
hash to support one per type.

MozReview-Commit-ID: geJ0BeWv8b
2018-03-16 19:15:27 -04:00
Chris Peterson
20b28f1d54 Bug 1443402 - Fix some -Wmissing-prototypes warnings in layout. r=dholbert
-Wmissing-prototypes is a new optional warning available in clang ToT. It warns about global functions that have no previous function declaration (e.g. from an #included header file). These functions can probably be made static (allowing the compiler to better optimize them) or they may be unused.

Confusingly, clang's -Wmissing-prototypes is equivalent to gcc's -Wmissing-declarations, not gcc's -Wmissing-prototypes. A function prototype is a function declaration that specifies the function's argument types. C++ requires that all function declarations specify their argument types, but C does not. As such, gcc's -Wmissing-prototypes is a C-only warning about C functions that have no previous function *prototypes* (with argument types), even if a previous function *declaration* (without argument types) was seen.

MozReview-Commit-ID: FGKVLzeQ2oK
2018-02-22 21:03:45 -08:00
Hiroyuki Ikezoe
b1da8534e8 Bug 1417354 - Introduce nsIDocument::GetPresContext(). r=smaug
It would be convenient to get nsPresContext from nsIDocument.

MozReview-Commit-ID: Ei6V3UE8XGr
2018-02-21 07:00:10 +09:00
Brad Werth
2a492fb008 Bug 1418930 Part 2: Extend ImageLoader with a parameter to add anonymous CORS headers. r=bz,emilio
MozReview-Commit-ID: LobEEXmuNZ2
2018-01-25 14:14:13 -08:00
Andreea Pavel
d12d04aff1 Backed out 5 changesets (bug 1418930) for failing web platform tests at /service-workers/service-worker/fetch-request-css-images.https.html on a CLOSED TREE
Backed out changeset c0f673033e66 (bug 1418930)
Backed out changeset b39948ba905b (bug 1418930)
Backed out changeset 8008a54aba9a (bug 1418930)
Backed out changeset 105c81284dba (bug 1418930)
Backed out changeset 27eb8c7f8025 (bug 1418930)
2018-02-03 00:18:27 +02:00
Brad Werth
60680d8182 Bug 1418930 Part 2: Extend ImageLoader with a parameter to add anonymous CORS headers. r=bz,emilio
MozReview-Commit-ID: LobEEXmuNZ2
2018-01-25 14:14:13 -08:00
Markus Stange
98d7305105 Bug 1431483 - Add a pseudo stack frame with the image URL to ImageLoader::Notify. r=aosmond
MozReview-Commit-ID: F3KU0qpmHx6
2018-01-18 14:02:30 -05:00
Ting-Yu Lin
adebc19780 Bug 1429979 Part 3 - Use nsClassHashtable::Get() which directly returns the value. r=heycam
MozReview-Commit-ID: 7yVbVxMqEde
2018-01-11 18:08:51 +08:00
Ting-Yu Lin
12d4dff923 Bug 1429979 Part 2 - Use ranged-based for loop to iterate FrameSet. r=heycam
MozReview-Commit-ID: I1aP3Kpqebf
2018-01-11 18:03:23 +08:00
Ting-Yu Lin
5f12797886 Bug 1429979 Part 1 - Use LookupForAdd() to avoid explicit new nsAutoPtr. r=heycam
MozReview-Commit-ID: 2LaQVRhPGPB
2018-01-11 17:53:08 +08:00
Matt Woodrow
05469de36a Bug 1419021 - Part 1: Invalidate display items when we get a size for decoded images since this can change the display items we build. r=tnikkel
This breaks rendering when we try do a sync decode paint since we might not have created the nsDisplayImage/nsDisplayBackgroundImage yet (or cached the empty size) and so we never get to the actual paint call.
2017-12-14 17:37:56 -06:00
Ethan Lin
999872e141 Bug 1422013 - Invalidate image items for webrender. r=mattwoodrow
MozReview-Commit-ID: 701MZhcrf4l
2017-12-04 11:12:25 +08:00
Andrew Osmond
aa5a774352 Bug 1404422 - Part 4. Remove imgIOnloadBlocker and related from tree as redundant. r=tnikkel 2017-11-01 06:59:10 -04:00
Daniel Holbert
8fea3c215f Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK
2017-10-27 10:33:53 -07:00
Kershaw Chang
c4c64cf6ee Bug 1247843 - Part 3: Set request context ID to the http channel created in imgLoader::LoadImage. r=baku
In order to let necko postpone the load of favicon, we have to set request context ID to the http channel that is created to load favicon.
This patch starts with passing a request context ID to nsContentUtils::LoadImage and makes other necessary changes to set the request context ID to the channel.
2017-09-20 20:09:00 -04:00
Jonathan Watt
e3204e3c0c Bug 1401356, part 2 - Rename nsSVGEffects to SVGObserverUtils. r=longsonr 2017-08-30 15:58:31 +01:00
Jonathan Watt
7428c44f4d Bug 1401356, part 1 - Rename nsSVGEffects.h/.cpp to SVGObserverUtils.h/.cpp. r=longsonr 2017-08-30 14:14:46 +01:00
Matt Woodrow
8370362323 Bug 1388162 - Add a Destroy function to nsDisplayItem to use instead of manually invoking the destructor, this will allow us to recycle them in the future. r=mstange
* * *
[mq]: fix

MozReview-Commit-ID: LUXZAIL73BJ
2017-08-07 16:07:43 +12:00
Sebastian Hengst
1e52933103 Backed out changeset e9985564e081 (bug 1388162) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:20 +02:00
Matt Woodrow
b0bdae09c7 Bug 1388162 - Add a Destroy function to nsDisplayItem to use instead of manually invoking the destructor, this will allow us to recycle them in the future. r=mstange 2017-08-07 16:07:43 +12:00
Andrew Osmond
0bae6517a7 Bug 1359833 - Part 5. Callers pass the loading document to imgRequestProxy::SyncClone and GetStaticRequest. r=tnikkel 2017-07-19 14:15:11 -04:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Mats Palmgren
64658a0f83 Bug 1376498 part 4 - Make all nsClassHashtable::RemoveAndForget() consumers use Remove() instead. r=froydnj
MozReview-Commit-ID: G64YQLlgm6r
2017-07-05 02:01:45 +02:00
Mats Palmgren
dd5298e9b8 Bug 1372317 part 2 - Replace LookupRemoveIf() calls with Lookup() + entry.Remove() where needed. r=froydnj
MozReview-Commit-ID: AoRNdbzh66c
2017-06-18 17:07:54 +02:00
Mats Palmgren
67383b8446 Bug 1367207 part 4 - Use LookupRemoveIf() to avoid a second hashtable lookup for Remove(). r=dholbert
MozReview-Commit-ID: 6EYkiKpLHvI
2017-06-07 15:22:41 +02:00
Mats Palmgren
cc91aa6d32 Bug 1367207 part 2 - Update mFrameToRequestMap/mRequestToFrameMap more efficiently on frame removal. r=dholbert
Specifically:
* Factor out updating mFrameToRequestMap/mRequestToFrameMap to helper functions.
* Deal with mFrameToRequestMap directly in DropRequestsForFrame to avoid
  a second hashtable Get().
* Use RemoveAndForget() to remove the entry upfront and iterate that instead of
  making an nsTArray copy.  And don't remove entries from the array while
  iterating - the array will be deleted when the nsAutoPtr goes out of scope.

MozReview-Commit-ID: 7Z7FMXMvM14
2017-06-07 15:22:41 +02:00
Mats Palmgren
fa252d11ac Bug 1367207 part 1 - Add a nsIFrame bool:1 member to track whether the frame has some image requests associated with it. Skip the call to DropRequestsForFrame() on frame destruction if the bit isn't set. r=dholbert
MozReview-Commit-ID: 5CLpsQgJkCv
2017-06-07 15:22:41 +02:00
Bas Schouten
6e09ac7b95 Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow
MozReview-Commit-ID: 8zVPIVSslVA
2017-05-10 05:07:37 +02:00
Carsten "Tomcat" Book
9b24d799ff Backed out changeset 9483bb6d8ce6 (bug 1330570) for test failures in test_selection_move_commands.html | cmd_scrollBottom - -300 should equal -300 2017-05-10 12:11:11 +02:00
Bas Schouten
3881f359c9 Bug 1330570: Allocate DisplayItemData into the PresShell Arena. r=mattwoodrow
MozReview-Commit-ID: 8zVPIVSslVA
2017-05-10 05:07:37 +02: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
Christoph Kerschbaumer
2fdf936e15 Bug 1206961 - Use channel->AsyncOpen2() for imageLoader; Remove security checks from callsites (r=bz) 2016-04-27 19:41:13 +02:00
Christoph Kerschbaumer
8ffee19dd7 Bug 1256999 - Pass the right context to new channels for image loads. r=bz r=seth 2016-04-11 10:58:03 +02: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
Nathan Froyd
fa9b239f05 Bug 968923 - part 5b - add nsIDOMWindowUtils::forceUseCounterFlush; r=bz
Use counter submission normally happens at document destruction.  For
testing use counters, however, we need to have use counters updated in
telemetry at deterministic points.  Therefore, we provide a method on
nsIDOMWindowUtils that forces use counters out to telemetry so we can
examine them.
2015-03-17 15:25:35 -04:00
Cameron McCormack
e13f913db1 Bug 968923 - part 3b - propagating use counters from SVG images into owning/parent documents; r=seth 2015-06-03 13:42:07 -04:00
Kyle Huey
45c48e976c Bug 1186780: ifdef DEBUG fixes on a CLOSED TREE. r=me 2015-07-30 14:01:49 -07:00
Kyle Huey
7823ad2422 Bug 1186780: Replace EnumerateRead with new iterators in ImageLoader. r=dbaron 2015-07-30 13:48:10 -07:00
Cameron McCormack
37ecbf8cf1 Bug 1182964 - Replace use of nsTHashtable::EnumerateEntries with nsTHashtable::Iterator in layout/{style,svg}/. r=njn 2015-07-14 10:13:32 +10:00
Timothy Nikkel
7667b7f0d1 Bug 1114526 - Make sure that CSS image invalidation also notifies rendering observers even if the image isn't visible (because the rendering observers might be visible). r=mattwoodrow
There is no retained rendering data for non-visible images, so FrameLayerBuilder::IterateRetainedData never calls it's callback, the callback is the only thing that calls nsSVGEffects::InvalidateDirectRenderingObservers. We need to call nsSVGEffects::InvalidateDirectRenderingObservers always.
2015-06-25 13:46:00 -04:00