Просмотр исходного кода

LibWeb: Implement HTMLImageElement.loading

Removes some console noise while loading mmu.ac.uk :)
Jamie Mansfield 1 год назад
Родитель
Сommit
9ee061ea14

+ 5 - 0
Tests/LibWeb/Text/expected/HTML/img-element-loading.txt

@@ -0,0 +1,5 @@
+   loading = eager
+
+loading = lazy
+
+loading = eager

+ 18 - 0
Tests/LibWeb/Text/input/HTML/img-element-loading.html

@@ -0,0 +1,18 @@
+<img id="testImg">
+<script src="../include.js"></script>
+<script>
+    test(() => {
+        const img = document.getElementById('testImg');
+
+        println(`loading = ${img.loading}`);
+        println('');
+
+        img.loading = 'lazy';
+
+        println(`loading = ${img.loading}`);
+        println('');
+
+        img.loading = 'invalid-value';
+        println(`loading = ${img.loading}`);
+    });
+</script>

+ 2 - 1
Userland/Libraries/LibWeb/HTML/HTMLImageElement.idl

@@ -1,4 +1,5 @@
 #import <HTML/HTMLElement.idl>
+#import <HTML/Scripting/Fetching.idl>
 
 // https://html.spec.whatwg.org/multipage/embedded-content.html#htmlimageelement
 [Exposed=Window, LegacyFactoryFunction=Image(optional unsigned long width, optional unsigned long height)]
@@ -21,7 +22,7 @@ interface HTMLImageElement : HTMLElement {
     [FIXME] readonly attribute USVString currentSrc;
     [FIXME, CEReactions] attribute DOMString referrerPolicy;
     [FIXME, CEReactions] attribute DOMString decoding;
-    [FIXME, CEReactions] attribute DOMString loading;
+    [CEReactions, Enumerated=LazyLoadingAttribute, Reflect] attribute DOMString loading;
     [FIXME, CEReactions] attribute DOMString fetchPriority;
 
     [FIXME] Promise<undefined> decode();