diff --git a/DEPS b/DEPS index a2b0c98eb78ac..3880e21e182b3 100644 --- a/DEPS +++ b/DEPS @@ -18,7 +18,7 @@ vars = { 'llvm_git': 'https://llvm.googlesource.com', # OCMock is for testing only so there is no google clone 'ocmock_git': 'https://github.com/erikdoe/ocmock.git', - 'skia_revision': '9ffd5ef9a9ed8c7eea136be4764778089f04d9df', + 'skia_revision': 'ca69b04f7dd2350167ebebdd72b5459538e89e7e', # WARNING: DO NOT EDIT canvaskit_cipd_instance MANUALLY # See `lib/web_ui/README.md` for how to roll CanvasKit to a new version. diff --git a/ci/licenses_golden/licenses_skia b/ci/licenses_golden/licenses_skia index c4de22aad4976..ff84010f000b0 100644 --- a/ci/licenses_golden/licenses_skia +++ b/ci/licenses_golden/licenses_skia @@ -1,4 +1,4 @@ -Signature: b56f7251840fccf9795705be0801d720 +Signature: 32cbc0a3bf68ee78d0a90df13dd96ab0 ==================================================================================================== LIBRARY: etc1 diff --git a/lib/web_ui/lib/src/engine/platform_views/content_manager.dart b/lib/web_ui/lib/src/engine/platform_views/content_manager.dart index 0b0e35270ff66..222e349e0910d 100644 --- a/lib/web_ui/lib/src/engine/platform_views/content_manager.dart +++ b/lib/web_ui/lib/src/engine/platform_views/content_manager.dart @@ -4,9 +4,7 @@ import 'package:ui/ui_web/src/ui_web.dart' as ui_web; -import '../browser_detection.dart'; import '../dom.dart'; -import '../embedder.dart'; import '../util.dart'; import 'slots.dart'; @@ -161,38 +159,11 @@ class PlatformViewManager { /// Removes a PlatformView by its `viewId` from the manager, and from the DOM. /// - /// Once a view has been cleared, calls [knowsViewId] will fail, as if it had + /// Once a view has been cleared, calls to [knowsViewId] will fail, as if it had /// never been rendered before. void clearPlatformView(int viewId) { // Remove from our cache, and then from the DOM... - final DomElement? element = _contents.remove(viewId); - _safelyRemoveSlottedElement(element); - } - - // We need to remove slotted elements like this because of a Safari bug that - // gets triggered when a slotted element is removed in a JS event different - // than its slot (after the slot is removed). - // - // TODO(web): Cleanup https://github.com/flutter/flutter/issues/85816 - void _safelyRemoveSlottedElement(DomElement? element) { - if (element == null) { - return; - } - if (browserEngine != BrowserEngine.webkit) { - element.remove(); - return; - } - final String tombstoneName = "tombstone-${element.getAttribute('slot')}"; - // Create and inject a new slot in the shadow root - final DomElement slot = domDocument.createElement('slot') - ..style.display = 'none' - ..setAttribute('name', tombstoneName); - flutterViewEmbedder.glassPaneShadow.append(slot); - // Link the element to the new slot - element.setAttribute('slot', tombstoneName); - // Delete both the element, and the new slot - element.remove(); - slot.remove(); + _contents.remove(viewId)?.remove(); } /// Attempt to ensure that the contents of the user-supplied DOM element will diff --git a/lib/web_ui/test/engine/platform_views/content_manager_test.dart b/lib/web_ui/test/engine/platform_views/content_manager_test.dart index 6de84dbb3ab99..445094c5bccc1 100644 --- a/lib/web_ui/test/engine/platform_views/content_manager_test.dart +++ b/lib/web_ui/test/engine/platform_views/content_manager_test.dart @@ -51,13 +51,14 @@ void testMain() { test('forgets viewIds after clearing them', () { contentManager.registerFactory(viewType, (int id) => createDomHTMLDivElement()); - contentManager.renderContent(viewType, viewId, null); + final DomElement view = contentManager.renderContent(viewType, viewId, null); expect(contentManager.knowsViewId(viewId), isTrue); contentManager.clearPlatformView(viewId); expect(contentManager.knowsViewId(viewId), isFalse); + expect(view.parentNode, isNull); }); }); diff --git a/shell/platform/android/image_external_texture.cc b/shell/platform/android/image_external_texture.cc index c8a7129e22fc1..439fb95e13d57 100644 --- a/shell/platform/android/image_external_texture.cc +++ b/shell/platform/android/image_external_texture.cc @@ -42,7 +42,7 @@ void ImageExternalTexture::Paint(PaintContext& context, flutter::DlCanvas::SrcRectConstraint::kStrict // enforce edges ); } else { - FML_LOG(ERROR) << "No DlImage available for ImageExternalTexture to paint."; + FML_LOG(INFO) << "No DlImage available for ImageExternalTexture to paint."; } }