Fix: handle styleAdded message in popup
This commit is contained in:
		
							parent
							
								
									81f3e69574
								
							
						
					
					
						commit
						f85d4de39b
					
				|  | @ -25,7 +25,7 @@ | |||
|     if (/^url:/i.test(query)) { | ||||
|       matchUrl = query.slice(query.indexOf(':') + 1).trim(); | ||||
|       if (matchUrl) { | ||||
|         return styleManager.getStylesByUrl(matchUrl, true) | ||||
|         return styleManager.getStylesByUrl(matchUrl) | ||||
|           .then(results => results.map(r => r.data.id)); | ||||
|       } | ||||
|     } | ||||
|  |  | |||
|  | @ -277,15 +277,17 @@ const styleManager = (() => { | |||
|   } | ||||
| 
 | ||||
|   // get styles matching a URL, including sloppy regexps and excluded items.
 | ||||
|   function getStylesByUrl(url, noCode = false) { | ||||
|   function getStylesByUrl(url, id = null) { | ||||
|     // FIXME: do we want to cache this? Who would like to open popup rapidly
 | ||||
|     // or search the DB with the same URL?
 | ||||
|     const result = []; | ||||
|     for (const style of styles.values()) { | ||||
|     const datas = !id ? styles.values.map(s => s.data) : | ||||
|       styles.has(id) ? [styles.get(id).data] : []; | ||||
|     for (const data of datas) { | ||||
|       let excluded = false; | ||||
|       let sloppy = false; | ||||
|       let sectionMatched = false; | ||||
|       const match = urlMatchStyle(url, style.data); | ||||
|       const match = urlMatchStyle(url, data); | ||||
|       // TODO: enable this when the function starts returning false
 | ||||
|       // if (match === false) {
 | ||||
|         // continue;
 | ||||
|  | @ -293,7 +295,7 @@ const styleManager = (() => { | |||
|       if (match === 'excluded') { | ||||
|         excluded = true; | ||||
|       } | ||||
|       for (const section of style.data.sections) { | ||||
|       for (const section of data.sections) { | ||||
|         if (styleCodeEmpty(section.code)) { | ||||
|           continue; | ||||
|         } | ||||
|  | @ -308,7 +310,7 @@ const styleManager = (() => { | |||
|       } | ||||
|       if (sectionMatched) { | ||||
|         result.push({ | ||||
|           data: noCode ? getStyleWithNoCode(style.data) : style.data, | ||||
|           data: getStyleWithNoCode(data), | ||||
|           excluded, | ||||
|           sloppy | ||||
|         }); | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ getActiveTab() | |||
|   ) | ||||
|   .then(url => Promise.all([ | ||||
|     (tabURL = URLS.supported(url) ? url : '') && | ||||
|       API.getStylesByUrl(tabURL, true), | ||||
|       API.getStylesByUrl(tabURL), | ||||
|     onDOMready().then(initPopup), | ||||
|   ])) | ||||
|   .then(([results]) => { | ||||
|  | @ -506,18 +506,13 @@ function handleUpdate(style) { | |||
|   } | ||||
|   if (!tabURL) return; | ||||
|   // Add an entry when a new style for the current url is installed
 | ||||
|   // FIXME: what does this do?
 | ||||
|   // API.getStyles({
 | ||||
|     // matchUrl: tabURL,
 | ||||
|     // stopOnFirst: true,
 | ||||
|     // omitCode: true,
 | ||||
|   // }).then(([style]) => {
 | ||||
|     // if (style) {
 | ||||
|       // document.body.classList.remove('blocked');
 | ||||
|       // $$.remove('.blocked-info, #no-styles');
 | ||||
|       // createStyleElement({style, check: true});
 | ||||
|     // }
 | ||||
|   // });
 | ||||
|   API.getStylesByUrl(tabURL, style.id).then(([style]) => { | ||||
|     if (style) { | ||||
|       document.body.classList.remove('blocked'); | ||||
|       $$.remove('.blocked-info, #no-styles'); | ||||
|       createStyleElement({style, check: true}); | ||||
|     } | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user