MCPcopy Create free account
hub / github.com/MicrosoftEdge/WebView2Browser / updateFaviconURI

Function updateFaviconURI

wvbrowser_ui/controls_ui/tabs.js:136–175  ·  view source on GitHub ↗
(tabId, src)

Source from the content-addressed store, hash-verified

134}
135
136function updateFaviconURI(tabId, src) {
137 let tab = tabs.get(tabId);
138 if (tab.favicon != src) {
139 let img = new Image();
140
141 // Update favicon element on successful load
142 img.onload = () => {
143 console.log('Favicon loaded');
144 tab.favicon = src;
145
146 if (tabId == activeTabId) {
147 updatedFaviconURIHandler(tabId, tab);
148 }
149 };
150
151 if (src) {
152 // Try load from root on failed load
153 img.onerror = () => {
154 console.log('Cannot load favicon from link, trying with root');
155 updateFaviconURI(tabId, '');
156 };
157 } else {
158 // No link for favicon, try loading from root
159 try {
160 let tabURI = new URL(tab.uri);
161 src = `${tabURI.origin}/favicon.ico`;
162 } catch(e) {
163 console.log(`Could not parse tab ${tabId} URI`);
164 }
165
166 img.onerror = () => {
167 console.log('No favicon in site root. Using default favicon.');
168 tab.favicon = 'img/favicon.png';
169 updatedFaviconURIHandler(tabId, tab);
170 };
171 }
172
173 img.src = src;
174 }
175}
176
177function updatedFaviconURIHandler(tabId, tab) {
178 updateNavigationUI(commands.MG_UPDATE_FAVICON);

Callers 1

messageHandlerFunction · 0.85

Calls 1

updatedFaviconURIHandlerFunction · 0.85

Tested by

no test coverage detected