Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 2f8e460

Browse files
committed
testing 4, testing 3 passes
1 parent ca783c9 commit 2f8e460

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

lib/web_ui/lib/src/engine/dom.dart

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,8 @@ class DomElement extends DomNode {}
162162
DomElement createDomElement(String tag) => domDocument.createElement(tag);
163163

164164
extension DomElementExtension on DomElement {
165+
DomHTMLCollection get childrenT =>
166+
js_util.getProperty(this, 'children') as DomHTMLCollection;
165167
List<DomElement> get children =>
166168
js_util.getProperty<List<Object?>>(this, 'children').cast<DomElement>();
167169
external String get id;
@@ -497,6 +499,15 @@ extension DomResponseExtension on DomResponse {
497499
js_util.promiseToFuture(js_util.callMethod(this, 'text', <Object>[]));
498500
}
499501

502+
@JS()
503+
@staticInterop
504+
class DomHTMLCollection {}
505+
506+
extension DomHTMLCollectionExtension on DomHTMLCollection {
507+
external int get length;
508+
external DomNode? item(int index);
509+
}
510+
500511
Object? domGetConstructor(String constructorName) =>
501512
js_util.getProperty(domWindow, constructorName);
502513

lib/web_ui/lib/src/engine/html/bitmap_canvas.dart

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,20 +1069,22 @@ class BitmapCanvas extends EngineCanvas {
10691069
_canvasPool.endOfPaint();
10701070
_elementCache?.commitFrame();
10711071
// Wrap all elements in translate3d (workaround for webkit paint order bug).
1072-
/*if (_contains3dTransform && browserEngine == BrowserEngine.webkit) {
1073-
for (final DomElement element in rootElement.children) {
1074-
final DomHTMLDivElement paintOrderElement = createDomHTMLDivElement()
1075-
..style.transform = 'translate3d(0,0,0)';
1076-
paintOrderElement.append(element);
1077-
rootElement.append(paintOrderElement);
1078-
_children.add(paintOrderElement as html.DivElement);
1079-
}
1080-
}*/
1072+
//if (_contains3dTransform && browserEngine == BrowserEngine.webkit) {
1073+
// for (final html.Element element in (rootElement as html.Element).children) {
1074+
// final DomHTMLDivElement paintOrderElement = createDomHTMLDivElement()
1075+
// ..style.transform = 'translate3d(0,0,0)';
1076+
// paintOrderElement.append(element as DomElement);
1077+
// rootElement.append(paintOrderElement);
1078+
// _children.add(paintOrderElement as html.DivElement);
1079+
// }
1080+
//}
10811081
if (_contains3dTransform && browserEngine == BrowserEngine.webkit) {
1082-
for (final html.Element element in (rootElement as html.Element).children) {
1082+
final int childrenLength = rootElement.childrenT.length;
1083+
for (int i = 0; i < childrenLength; i++) {
10831084
final DomHTMLDivElement paintOrderElement = createDomHTMLDivElement()
10841085
..style.transform = 'translate3d(0,0,0)';
1085-
paintOrderElement.append(element as DomElement);
1086+
final DomElement element = rootElement.childrenT.item(i)! as DomElement;
1087+
paintOrderElement.append(element);
10861088
rootElement.append(paintOrderElement);
10871089
_children.add(paintOrderElement as html.DivElement);
10881090
}

0 commit comments

Comments
 (0)