Skip to content

Commit 583d2f0

Browse files
committed
Consolidate lazy-load observers
https://bugs.webkit.org/show_bug.cgi?id=309078 Reviewed by NOBODY (OOPS!). Consolidates LazyLoadImageObserver, LazyLoadFrameObserver, and LazyLoadModelObserver to a single LazyLoadElementObserver. * Source/WebCore/Modules/model-element/HTMLModelElement.cpp: (WebCore::HTMLModelElement::~HTMLModelElement): (WebCore::HTMLModelElement::stop): (WebCore::HTMLModelElement::insertedIntoAncestor): (WebCore::HTMLModelElement::removedFromAncestor): (WebCore::HTMLModelElement::lazyLoadIntersectionCallbackInvoked): (WebCore::HTMLModelElement::viewportIntersectionChanged): Deleted. * Source/WebCore/Modules/model-element/HTMLModelElement.h: * Source/WebCore/Modules/model-element/LazyLoadModelObserver.cpp: Removed. * Source/WebCore/Modules/model-element/LazyLoadModelObserver.h: Removed. * Source/WebCore/Modules/webtransport/WebTransportDatagramsWritable.h: * Source/WebCore/SaferCPPExpectations/NoDeleteCheckerExpectations: * Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations: * Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations: * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/dom/Document.cpp: (WebCore::Document::lazyLoadElementObserver): (WebCore::Document::lazyLoadImageObserver): Deleted. (WebCore::Document::lazyLoadModelObserver): Deleted. * Source/WebCore/dom/Document.h: * Source/WebCore/html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::attributeChanged): (WebCore::HTMLIFrameElement::referrerPolicy const): (WebCore::HTMLIFrameElement::shouldLoadFrameLazily): (WebCore::HTMLIFrameElement::isLazyLoadObserverActive const): (WebCore::HTMLIFrameElement::loadDeferredFrame): (WebCore::HTMLIFrameElement::lazyLoadIntersectionCallbackInvoked): (WebCore::HTMLIFrameElement::lazyLoadFrameObserver): Deleted. * Source/WebCore/html/HTMLIFrameElement.h: * Source/WebCore/html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::lazyLoadIntersectionCallbackInvoked): * Source/WebCore/html/HTMLImageElement.h: * Source/WebCore/html/LazyLoadElementObserver.cpp: Renamed from Source/WebCore/html/LazyLoadImageObserver.cpp. (WebCore::LazyLoadElementObserver::observe): (WebCore::LazyLoadElementObserver::unobserve): (WebCore::LazyLoadElementObserver::intersectionObserver): (WebCore::LazyLoadElementObserver::isObserved const): * Source/WebCore/html/LazyLoadElementObserver.h: Renamed from Source/WebCore/html/LazyLoadImageObserver.h. * Source/WebCore/html/LazyLoadFrameObserver.cpp: Removed. * Source/WebCore/html/LazyLoadFrameObserver.h: Removed. * Source/WebCore/html/Origin.cpp: * Source/WebCore/html/shadow/ProgressShadowElement.cpp: * Source/WebCore/loader/ImageLoader.cpp: (WebCore::ImageLoader::didUpdateCachedImage): (WebCore::ImageLoader::notifyFinished): (WebCore::ImageLoader::resetLazyImageLoading):
1 parent e5eb16d commit 583d2f0

23 files changed

+104
-457
lines changed

Source/WebCore/Modules/model-element/HTMLModelElement.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
#include "JSHTMLModelElementCamera.h"
5858
#include "LayoutRect.h"
5959
#include "LayoutSize.h"
60-
#include "LazyLoadModelObserver.h"
60+
#include "LazyLoadElementObserver.h"
6161
#include "LegacySchemeRegistry.h"
6262
#include "Logging.h"
6363
#include "MIMETypeRegistry.h"
@@ -152,7 +152,7 @@ HTMLModelElement::~HTMLModelElement()
152152
}
153153
#endif
154154

155-
LazyLoadModelObserver::unobserve(*this, protect(document()));
155+
LazyLoadElementObserver::unobserve(*this, protect(document()));
156156

157157
m_loadModelTimer = nullptr;
158158

@@ -1620,7 +1620,7 @@ void HTMLModelElement::stop()
16201620
{
16211621
RELEASE_LOG(ModelElement, "%p - HTMLModelElement::stop()", this);
16221622

1623-
LazyLoadModelObserver::unobserve(*this, protect(document()));
1623+
LazyLoadElementObserver::unobserve(*this, protect(document()));
16241624

16251625
m_loadModelTimer = nullptr;
16261626

@@ -1709,7 +1709,7 @@ Node::InsertedIntoAncestorResult HTMLModelElement::insertedIntoAncestor(Insertio
17091709
document->incrementModelElementCount();
17101710
#endif
17111711
m_modelPlayerProvider = protect(document->page())->modelPlayerProvider();
1712-
LazyLoadModelObserver::observe(*this);
1712+
LazyLoadElementObserver::observe(*this);
17131713
}
17141714

17151715
return insertResult;
@@ -1725,7 +1725,7 @@ void HTMLModelElement::removedFromAncestor(RemovalType removalType, ContainerNod
17251725
#if ENABLE(MODEL_PROCESS)
17261726
document->decrementModelElementCount();
17271727
#endif
1728-
LazyLoadModelObserver::unobserve(*this, document);
1728+
LazyLoadElementObserver::unobserve(*this, document);
17291729

17301730
m_loadModelTimer = nullptr;
17311731

@@ -1792,7 +1792,7 @@ void HTMLModelElement::sourceRequestResource()
17921792
m_resource->addClient(*this);
17931793
}
17941794

1795-
void HTMLModelElement::viewportIntersectionChanged(bool isIntersecting)
1795+
void HTMLModelElement::lazyLoadIntersectionCallbackInvoked(bool isIntersecting)
17961796
{
17971797
if (isIntersecting == m_isIntersectingViewport)
17981798
return;

Source/WebCore/Modules/model-element/HTMLModelElement.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ class HTMLModelElement final : public HTMLElement, private CachedRawResourceClie
199199
#endif
200200

201201
bool isIntersectingViewport() const { return m_isIntersectingViewport; }
202-
void viewportIntersectionChanged(bool isIntersecting);
202+
void lazyLoadIntersectionCallbackInvoked(bool isIntersecting);
203203

204204
WEBCORE_EXPORT String modelElementStateForTesting() const;
205205

Source/WebCore/Modules/model-element/LazyLoadModelObserver.cpp

Lines changed: 0 additions & 111 deletions
This file was deleted.

Source/WebCore/Modules/model-element/LazyLoadModelObserver.h

Lines changed: 0 additions & 52 deletions
This file was deleted.

Source/WebCore/Modules/webtransport/WebTransportDatagramsWritable.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class WebTransportDatagramsWritable : public WritableStream {
4141
~WebTransportDatagramsWritable();
4242

4343
const RefPtr<WebTransportSendGroup>& NODELETE sendGroup();
44-
void NODELETE setSendGroup(WebTransportSendGroup*);
44+
void setSendGroup(WebTransportSendGroup*);
4545

4646
int64_t NODELETE sendOrder();
4747
void NODELETE setSendOrder(int64_t);

Source/WebCore/SaferCPPExpectations/NoDeleteCheckerExpectations

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
[ macOS ] Modules/streams/ReadableByteStreamController.cpp
33
[ macOS ] Modules/streams/ReadableStreamBYOBRequest.cpp
44
[ macOS ] Modules/webauthn/cbor/CBORValue.cpp
5-
[ macOS ] Modules/webtransport/WebTransportDatagramsWritable.cpp
65
[ macOS ] css/CSSComputedStyleDeclaration.cpp
76
[ macOS ] css/PropertySetCSSDescriptors.cpp
87
[ macOS ] css/StyleSheetList.cpp

Source/WebCore/SaferCPPExpectations/UncheckedCallArgsCheckerExpectations

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,6 @@ html/HTMLOptionsCollection.cpp
175175
html/HTMLPlugInElement.cpp
176176
html/HTMLTextFormControlElement.cpp
177177
html/ImageBitmap.cpp
178-
html/LazyLoadFrameObserver.cpp
179-
html/LazyLoadImageObserver.cpp
180178
html/MediaElementSession.cpp
181179
html/ModelDocument.cpp
182180
html/ValidatedFormListedElement.cpp

Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,8 +308,7 @@ html/HTMLPlugInElement.cpp
308308
html/HTMLTextFormControlElement.cpp
309309
html/HTMLVideoElement.cpp
310310
html/ImageBitmap.cpp
311-
html/LazyLoadFrameObserver.cpp
312-
html/LazyLoadImageObserver.cpp
311+
html/LazyLoadElementObserver.cpp
313312
html/LinkIconCollector.cpp
314313
html/MediaController.cpp
315314
html/MediaElementSession.cpp

Source/WebCore/Sources.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,6 @@ Modules/mediastream/UserMediaController.cpp
299299
Modules/mediastream/UserMediaRequest.cpp
300300
Modules/mediastream/VideoTrackGenerator.cpp
301301
Modules/model-element/HTMLModelElement.cpp
302-
Modules/model-element/LazyLoadModelObserver.cpp
303302
Modules/model-element/ModelPlayer.cpp
304303
Modules/model-element/ModelPlayerAnimationState.cpp
305304
Modules/model-element/ModelPlayerClient.cpp
@@ -1640,8 +1639,7 @@ html/InputMode.cpp
16401639
html/InputType.cpp
16411640
html/InputTypeNames.cpp
16421641
html/LabelsNodeList.cpp
1643-
html/LazyLoadFrameObserver.cpp
1644-
html/LazyLoadImageObserver.cpp
1642+
html/LazyLoadElementObserver.cpp
16451643
html/LinkIconCollector.cpp
16461644
html/LinkRelAttribute.cpp
16471645
html/MediaController.cpp

Source/WebCore/WebCore.xcodeproj/project.pbxproj

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3524,7 +3524,6 @@
35243524
8AE7A4442A6A6D2200614A30 /* NVShaderNoperspectiveInterpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AE7A4422A6A6D1600614A30 /* NVShaderNoperspectiveInterpolation.h */; };
35253525
8AF4E55611DC5A36000ED3DE /* PerformanceNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AF4E55311DC5A36000ED3DE /* PerformanceNavigation.h */; };
35263526
8AF4E55C11DC5A63000ED3DE /* PerformanceTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AF4E55911DC5A63000ED3DE /* PerformanceTiming.h */; };
3527-
8B5216F72DEE4E75003BC21B /* LazyLoadModelObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B5216F42DEE4E75003BC21B /* LazyLoadModelObserver.h */; };
35283527
8E4C96DD1AD4483500365A50 /* JSFetchResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E4C96D91AD4483500365A50 /* JSFetchResponse.h */; };
35293528
9001774112E0347800648462 /* OESStandardDerivatives.h in Headers */ = {isa = PBXBuildFile; fileRef = 9001773E12E0347800648462 /* OESStandardDerivatives.h */; };
35303529
9001788112E0370700648462 /* JSOESStandardDerivatives.h in Headers */ = {isa = PBXBuildFile; fileRef = 9001787F12E0370700648462 /* JSOESStandardDerivatives.h */; };
@@ -7404,6 +7403,8 @@
74047403
024E5F7429844DBD009CC5FC /* ScrollerPairMac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScrollerPairMac.h; sourceTree = "<group>"; };
74057404
025F62A92DD69A8700573F15 /* AutoplayPolicy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AutoplayPolicy.h; sourceTree = "<group>"; };
74067405
029D57A92C506F5900AD086B /* UserGestureTokenIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserGestureTokenIdentifier.h; sourceTree = "<group>"; };
7406+
04A1ED5A2F56606E009A61E2 /* LazyLoadElementObserver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LazyLoadElementObserver.h; sourceTree = "<group>"; };
7407+
04A1ED5B2F56606E009A61E2 /* LazyLoadElementObserver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LazyLoadElementObserver.cpp; sourceTree = "<group>"; };
74077408
054E3A33256C3BD90072C5B9 /* ShadowRootInit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShadowRootInit.h; sourceTree = "<group>"; };
74087409
054E3A33256C3BD90072C5BF /* GetHTMLOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GetHTMLOptions.h; sourceTree = "<group>"; };
74097410
054E3A35256C3BD90072C5B9 /* ShadowRootInit.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = ShadowRootInit.idl; sourceTree = "<group>"; };
@@ -11343,8 +11344,6 @@
1134311344
44355FD82AF29A0B001FC319 /* RenderSVGResourceMasker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGResourceMasker.cpp; sourceTree = "<group>"; };
1134411345
44355FD92AF29A0B001ED218 /* RenderSVGResourceMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSVGResourceMarker.h; sourceTree = "<group>"; };
1134511346
44355FD92AF29A0B001FC319 /* RenderSVGResourceMasker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSVGResourceMasker.h; sourceTree = "<group>"; };
11346-
4437C4A724E2AE5F00095128 /* LazyLoadFrameObserver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LazyLoadFrameObserver.h; sourceTree = "<group>"; };
11347-
4437C4A924E2AE5F00095128 /* LazyLoadFrameObserver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LazyLoadFrameObserver.cpp; sourceTree = "<group>"; };
1134811347
443877E3271681F600FD3E33 /* CaptionUserPreferencesMediaAFCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CaptionUserPreferencesMediaAFCocoa.mm; sourceTree = "<group>"; };
1134911348
443BFDC627BB372C0001245F /* EventHandlerCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = EventHandlerCocoa.mm; sourceTree = "<group>"; };
1135011349
443F04260E75C8FB007E5407 /* NetworkStateNotifierIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkStateNotifierIOS.mm; sourceTree = "<group>"; };
@@ -15533,8 +15532,6 @@
1553315532
8AF4E55411DC5A36000ED3DE /* PerformanceNavigation.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PerformanceNavigation.idl; sourceTree = "<group>"; };
1553415533
8AF4E55911DC5A63000ED3DE /* PerformanceTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerformanceTiming.h; sourceTree = "<group>"; };
1553515534
8AF4E55A11DC5A63000ED3DE /* PerformanceTiming.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PerformanceTiming.idl; sourceTree = "<group>"; };
15536-
8B5216F42DEE4E75003BC21B /* LazyLoadModelObserver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LazyLoadModelObserver.h; sourceTree = "<group>"; };
15537-
8B5216F52DEE4E75003BC21B /* LazyLoadModelObserver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = LazyLoadModelObserver.cpp; sourceTree = "<group>"; };
1553815535
8E4C96D81AD4483500365A50 /* JSFetchResponse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFetchResponse.cpp; sourceTree = "<group>"; };
1553915536
8E4C96D91AD4483500365A50 /* JSFetchResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSFetchResponse.h; sourceTree = "<group>"; };
1554015537
8E4E11F4E1E66A6928D671C6 /* PseudoElementUtilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PseudoElementUtilities.h; sourceTree = "<group>"; };
@@ -17713,8 +17710,6 @@
1771317710
AACC83D62316569E00EB6BF5 /* HTMLOrForeignElement.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = HTMLOrForeignElement.idl; sourceTree = "<group>"; };
1771417711
AACC83D72316576A00EB6BF5 /* JSHTMLOrForeignElement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JSHTMLOrForeignElement.h; sourceTree = "<group>"; };
1771517712
AACC83D82316576B00EB6BF5 /* JSHTMLOrForeignElement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLOrForeignElement.cpp; sourceTree = "<group>"; };
17716-
AAD9D0B121DFA80C001B11C7 /* LazyLoadImageObserver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LazyLoadImageObserver.cpp; sourceTree = "<group>"; };
17717-
AAD9D0B321DFA80E001B11C7 /* LazyLoadImageObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LazyLoadImageObserver.h; sourceTree = "<group>"; };
1771817713
AADEFE4325AF4FCB0040DD67 /* FocusOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FocusOptions.h; sourceTree = "<group>"; };
1771917714
AAE27B7416CBFC0D00623043 /* PlatformSpeechSynthesizerMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlatformSpeechSynthesizerMock.cpp; sourceTree = "<group>"; };
1772017715
AAE27B7516CBFC0D00623043 /* PlatformSpeechSynthesizerMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformSpeechSynthesizerMock.h; sourceTree = "<group>"; };
@@ -31139,8 +31134,6 @@
3113931134
71A3D17F2562B8240064E2A6 /* HTMLModelElement.idl */,
3114031135
7177AD5627429590002F103B /* HTMLModelElementCamera.h */,
3114131136
7177AD542742952F002F103B /* HTMLModelElementCamera.idl */,
31142-
8B5216F52DEE4E75003BC21B /* LazyLoadModelObserver.cpp */,
31143-
8B5216F42DEE4E75003BC21B /* LazyLoadModelObserver.h */,
3114431137
BC2B41142732F06200A2D191 /* ModelPlayer.cpp */,
3114531138
BC2B41132732F06200A2D191 /* ModelPlayer.h */,
3114631139
BC46307D2E9C197000EA911F /* ModelPlayerAccessibilityChildren.h */,
@@ -32533,10 +32526,8 @@
3253332526
C348612215FDE21E007A1CC9 /* InputTypeNames.h */,
3253432527
A456FA2411AD4A830020B420 /* LabelsNodeList.cpp */,
3253532528
A456FA2511AD4A830020B420 /* LabelsNodeList.h */,
32536-
4437C4A924E2AE5F00095128 /* LazyLoadFrameObserver.cpp */,
32537-
4437C4A724E2AE5F00095128 /* LazyLoadFrameObserver.h */,
32538-
AAD9D0B121DFA80C001B11C7 /* LazyLoadImageObserver.cpp */,
32539-
AAD9D0B321DFA80E001B11C7 /* LazyLoadImageObserver.h */,
32529+
04A1ED5B2F56606E009A61E2 /* LazyLoadElementObserver.cpp */,
32530+
04A1ED5A2F56606E009A61E2 /* LazyLoadElementObserver.h */,
3254032531
1A4DA41F1CDD3A8300F4473C /* LinkIconCollector.cpp */,
3254132532
1A4DA4201CDD3A8300F4473C /* LinkIconCollector.h */,
3254232533
1A250E0C1CDD632000D0BE63 /* LinkIconType.h */,
@@ -45811,7 +45802,6 @@
4581145802
11310CF220BA4A320065A8D0 /* LayoutTreeBuilder.h in Headers */,
4581245803
141DC0481648348F00371E5A /* LayoutUnit.h in Headers */,
4581345804
E451C6312394027900993190 /* LayoutUnits.h in Headers */,
45814-
8B5216F72DEE4E75003BC21B /* LazyLoadModelObserver.h in Headers */,
4581545805
CDE555242405CCF2008A3DDB /* LegacyCDM.h in Headers */,
4581645806
CDE555252405CCF2008A3DDB /* LegacyCDMPrivate.h in Headers */,
4581745807
CD318623199F1E2A0030A0F7 /* LegacyCDMPrivateAVFObjC.h in Headers */,

0 commit comments

Comments
 (0)