setIcon method

  1. @override
Future<String> setIcon({
  1. required String icon,
  2. String oldIcon = '',
  3. String appleTouchIcon = '',
})
override

sets favicon of webpage

Implementation

@override
Future<String> setIcon(
    {required String icon, String oldIcon = '', String appleTouchIcon = ''}) {
  LinkElement? link = querySelector("link[rel~='icon']") as LinkElement?;

  if (appleTouchIcon != '') {
    LinkElement? linkAppleTouchIcon =
        querySelector("link[rel~='apple-touch-icon']") as LinkElement?;
    if (linkAppleTouchIcon == null) {
      linkAppleTouchIcon = LinkElement()..rel = 'apple-touch-icon';
      querySelector('head')?.children.add(linkAppleTouchIcon);
    }
    linkAppleTouchIcon.href = appleTouchIcon;
  }

  if (link == null) {
    link = LinkElement()..rel = 'icon';
    querySelector('head')?.children.add(link);
    return Future(() => icon);
  }
  link.href = icon;
  return Future(() => icon);
}