Bug 237660

Summary: Main document is leaking on haaretz.co.il due to lazy image loading
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: Page LoadingAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, beidson, bfulgham, darin, ews-watchlist, ggaren, japhet, rbuis, simon.fraser, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=237619
https://bugs.webkit.org/show_bug.cgi?id=208094
https://bugs.webkit.org/show_bug.cgi?id=237672
Bug Depends on: 241921    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Chris Dumez
Reported 2022-03-09 08:58:04 PST
Main document is leaking on haaretz.co.il due to lazy image loading.
Attachments
Patch (8.04 KB, patch)
2022-03-09 09:17 PST, Chris Dumez
no flags
Patch (10.84 KB, patch)
2022-03-09 11:41 PST, Chris Dumez
no flags
Patch (10.81 KB, patch)
2022-03-10 07:58 PST, Chris Dumez
no flags
Patch (11.94 KB, patch)
2022-03-10 09:10 PST, Chris Dumez
no flags
Patch (12.18 KB, patch)
2022-03-10 11:16 PST, Chris Dumez
no flags
Patch (13.72 KB, patch)
2022-03-10 11:49 PST, Chris Dumez
no flags
Patch (13.70 KB, patch)
2022-03-10 13:35 PST, Chris Dumez
no flags
Radar WebKit Bug Importer
Comment 1 2022-03-09 08:58:33 PST
Chris Dumez
Comment 2 2022-03-09 09:17:58 PST
Chris Dumez
Comment 3 2022-03-09 11:41:43 PST
Chris Dumez
Comment 4 2022-03-10 07:58:20 PST
Chris Dumez
Comment 5 2022-03-10 09:10:19 PST
Chris Dumez
Comment 6 2022-03-10 11:16:29 PST
Chris Dumez
Comment 7 2022-03-10 11:49:00 PST
Chris Dumez
Comment 8 2022-03-10 13:35:48 PST
Geoffrey Garen
Comment 9 2022-03-10 16:31:33 PST
Comment on attachment 454394 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=454394&action=review r=me > Source/WebCore/loader/ImageLoader.cpp:183 > + auto inUpdateFromElementScope = makeScopeExit([this] { I'm curious: Are you required to put a scope exit in a local variable?
Chris Dumez
Comment 10 2022-03-10 17:40:03 PST
(In reply to Geoffrey Garen from comment #9) > Comment on attachment 454394 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=454394&action=review > > r=me > > > Source/WebCore/loader/ImageLoader.cpp:183 > > + auto inUpdateFromElementScope = makeScopeExit([this] { > > I'm curious: Are you required to put a scope exit in a local variable? I don't understand the question, do you mean call makeScopeExit() and then not store the return value in a local variable? If so, definitely not and this is why makeScopeExit() is marked as WARN_UNUSED_RETURN. Something needs to control the lifetime of the "scope". Also note that I usually would have used a simpler SetForScope<bool> for this. However, it turns out that it didn't work here because m_inUpdateFromElementScope is a bitfield (Apparently it is not valid C++ to have a reference to a bitfield data member).
EWS
Comment 11 2022-03-10 18:05:30 PST
Committed r291141 (248301@main): <https://commits.webkit.org/248301@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 454394 [details].
Geoffrey Garen
Comment 12 2022-03-11 10:12:30 PST
> I don't understand the question, do you mean call makeScopeExit() and then > not store the return value in a local variable? If so, definitely not and > this is why makeScopeExit() is marked as WARN_UNUSED_RETURN. Something needs > to control the lifetime of the "scope". Got it. > Also note that I usually would have used a simpler SetForScope<bool> for > this. However, it turns out that it didn't work here because > m_inUpdateFromElementScope is a bitfield (Apparently it is not valid C++ to > have a reference to a bitfield data member). Yeah, an unfortunate wart in the language.
Brent Fulgham
Comment 13 2022-05-26 14:54:11 PDT
This fix shipped with Safari 15.5 (all platforms).
Note You need to log in before you can comment on or make changes to this bug.