Grammalecte  Hex Artifact Content

Artifact d7a3e529e862da73514b427a21994098f6443859063c7effcc524659bb0eeb00:


0000: 2f 2f 20 4d 61 69 6e 20 70 61 6e 65 6c 0a 0a 22  // Main panel.."
0010: 75 73 65 20 73 74 72 69 63 74 22 3b 0a 0a 0a 66  use strict";...f
0020: 75 6e 63 74 69 6f 6e 20 73 68 6f 77 45 72 72 6f  unction showErro
0030: 72 20 28 65 29 20 7b 0a 20 20 20 20 63 6f 6e 73  r (e) {.    cons
0040: 6f 6c 65 2e 65 72 72 6f 72 28 65 2e 66 69 6c 65  ole.error(e.file
0050: 4e 61 6d 65 20 2b 20 22 5c 6e 22 20 2b 20 65 2e  Name + "\n" + e.
0060: 6e 61 6d 65 20 2b 20 22 5c 6e 6c 69 6e 65 3a 20  name + "\nline: 
0070: 22 20 2b 20 65 2e 6c 69 6e 65 4e 75 6d 62 65 72  " + e.lineNumber
0080: 20 2b 20 22 5c 6e 22 20 2b 20 65 2e 6d 65 73 73   + "\n" + e.mess
0090: 61 67 65 29 3b 0a 7d 0a 0a 2f 2f 20 43 68 72 6f  age);.}..// Chro
00a0: 6d 65 20 64 6f 6e e2 80 99 74 20 66 6f 6c 6c 6f  me don...t follo
00b0: 77 20 74 68 65 20 57 33 43 20 73 70 65 63 69 66  w the W3C specif
00c0: 69 63 61 74 69 6f 6e 3a 0a 2f 2f 20 68 74 74 70  ication:.// http
00d0: 73 3a 2f 2f 62 72 6f 77 73 65 72 65 78 74 2e 67  s://browserext.g
00e0: 69 74 68 75 62 2e 69 6f 2f 62 72 6f 77 73 65 72  ithub.io/browser
00f0: 65 78 74 2f 0a 6c 65 74 20 62 43 68 72 6f 6d 65  ext/.let bChrome
0100: 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 74 79   = false;.if (ty
0110: 70 65 6f 66 28 62 72 6f 77 73 65 72 29 20 21 3d  peof(browser) !=
0120: 3d 20 22 6f 62 6a 65 63 74 22 29 20 7b 0a 20 20  = "object") {.  
0130: 20 20 76 61 72 20 62 72 6f 77 73 65 72 20 3d 20    var browser = 
0140: 63 68 72 6f 6d 65 3b 0a 20 20 20 20 62 43 68 72  chrome;.    bChr
0150: 6f 6d 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a  ome = true;.}...
0160: 2f 2a 0a 20 20 20 20 45 76 65 6e 74 73 0a 2a 2f  /*.    Events.*/
0170: 0a 77 69 6e 64 6f 77 2e 61 64 64 45 76 65 6e 74  .window.addEvent
0180: 4c 69 73 74 65 6e 65 72 28 0a 20 20 20 20 22 63  Listener(.    "c
0190: 6c 69 63 6b 22 2c 0a 20 20 20 20 66 75 6e 63 74  lick",.    funct
01a0: 69 6f 6e 20 28 78 45 76 65 6e 74 29 20 7b 0a 20  ion (xEvent) {. 
01b0: 20 20 20 20 20 20 20 6c 65 74 20 78 45 6c 65 6d         let xElem
01c0: 20 3d 20 78 45 76 65 6e 74 2e 74 61 72 67 65 74   = xEvent.target
01d0: 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 78 45  ;.        if (xE
01e0: 6c 65 6d 2e 69 64 29 20 7b 0a 20 20 20 20 20 20  lem.id) {.      
01f0: 20 20 20 20 20 20 69 66 20 28 78 45 6c 65 6d 2e        if (xElem.
0200: 69 64 20 3d 3d 3d 20 22 74 65 78 74 5f 74 6f 5f  id === "text_to_
0210: 74 65 73 74 5f 62 75 74 74 6f 6e 22 29 20 7b 0a  test_button") {.
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0230: 62 72 6f 77 73 65 72 2e 72 75 6e 74 69 6d 65 2e  browser.runtime.
0240: 73 65 6e 64 4d 65 73 73 61 67 65 28 7b 0a 20 20  sendMessage({.  
0250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0260: 20 20 73 43 6f 6d 6d 61 6e 64 3a 20 22 74 65 78    sCommand: "tex
0270: 74 54 6f 54 65 73 74 22 2c 0a 20 20 20 20 20 20  tToTest",.      
0280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 50                dP
0290: 61 72 61 6d 3a 20 7b 73 54 65 78 74 3a 20 64 6f  aram: {sText: do
02a0: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  cument.getElemen
02b0: 74 42 79 49 64 28 22 74 65 78 74 5f 74 6f 5f 74  tById("text_to_t
02c0: 65 73 74 22 29 2e 76 61 6c 75 65 2c 20 73 43 6f  est").value, sCo
02d0: 75 6e 74 72 79 3a 20 22 46 52 22 2c 20 62 44 65  untry: "FR", bDe
02e0: 62 75 67 3a 20 74 72 75 65 2c 20 62 43 6f 6e 74  bug: true, bCont
02f0: 65 78 74 3a 20 66 61 6c 73 65 7d 2c 0a 20 20 20  ext: false},.   
0300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0310: 20 64 49 6e 66 6f 3a 20 7b 7d 0a 20 20 20 20 20   dInfo: {}.     
0320: 20 20 20 20 20 20 20 20 20 20 20 7d 29 3b 0a 20             });. 
0330: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20             }.   
0340: 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66           else if
0350: 20 28 78 45 6c 65 6d 2e 69 64 20 3d 3d 3d 20 22   (xElem.id === "
0360: 66 75 6c 6c 74 65 73 74 73 5f 62 75 74 74 6f 6e  fulltests_button
0370: 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ") {.           
0380: 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 2e 67 65       document.ge
0390: 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 74 65  tElementById("te
03a0: 73 74 73 5f 72 65 73 75 6c 74 22 29 2e 74 65 78  sts_result").tex
03b0: 74 43 6f 6e 74 65 6e 74 20 3d 20 22 56 65 75 69  tContent = "Veui
03c0: 6c 6c 65 7a 20 70 61 74 69 65 6e 74 65 72 e2 80  llez patienter..
03d0: a6 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20  .";.            
03e0: 20 20 20 20 62 72 6f 77 73 65 72 2e 72 75 6e 74      browser.runt
03f0: 69 6d 65 2e 73 65 6e 64 4d 65 73 73 61 67 65 28  ime.sendMessage(
0400: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
0410: 20 20 20 20 20 20 73 43 6f 6d 6d 61 6e 64 3a 20        sCommand: 
0420: 22 66 75 6c 6c 54 65 73 74 73 22 2c 0a 20 20 20  "fullTests",.   
0430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0440: 20 64 50 61 72 61 6d 3a 20 7b 7d 2c 0a 20 20 20   dParam: {},.   
0450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0460: 20 64 49 6e 66 6f 3a 20 7b 7d 0a 20 20 20 20 20   dInfo: {}.     
0470: 20 20 20 20 20 20 20 20 20 20 20 7d 29 3b 0a 20             });. 
0480: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20             }.   
0490: 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66           else if
04a0: 20 28 78 45 6c 65 6d 2e 69 64 20 3d 3d 3d 20 22   (xElem.id === "
04b0: 64 65 66 61 75 6c 74 5f 6f 70 74 69 6f 6e 73 5f  default_options_
04c0: 62 75 74 74 6f 6e 22 29 20 7b 0a 20 20 20 20 20  button") {.     
04d0: 20 20 20 20 20 20 20 20 20 20 20 62 72 6f 77 73             brows
04e0: 65 72 2e 72 75 6e 74 69 6d 65 2e 73 65 6e 64 4d  er.runtime.sendM
04f0: 65 73 73 61 67 65 28 7b 0a 20 20 20 20 20 20 20  essage({.       
0500: 20 20 20 20 20 20 20 20 20 20 20 20 73 43 6f 6d              sCom
0510: 6d 61 6e 64 3a 20 22 72 65 73 65 74 4f 70 74 69  mand: "resetOpti
0520: 6f 6e 73 22 2c 0a 20 20 20 20 20 20 20 20 20 20  ons",.          
0530: 20 20 20 20 20 20 20 20 20 64 50 61 72 61 6d 3a           dParam:
0540: 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20   {},.           
0550: 20 20 20 20 20 20 20 20 64 49 6e 66 6f 3a 20 7b          dInfo: {
0560: 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  }.              
0570: 20 20 7d 29 3b 0a 20 20 20 20 20 20 20 20 20 20    });.          
0580: 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20    }.            
0590: 65 6c 73 65 20 69 66 20 28 78 45 6c 65 6d 2e 69  else if (xElem.i
05a0: 64 2e 73 74 61 72 74 73 57 69 74 68 28 22 6f 70  d.startsWith("op
05b0: 74 69 6f 6e 5f 22 29 29 20 7b 0a 20 20 20 20 20  tion_")) {.     
05c0: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 78             if (x
05d0: 45 6c 65 6d 2e 64 61 74 61 73 65 74 2e 6f 70 74  Elem.dataset.opt
05e0: 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20  ion) {.         
05f0: 20 20 20 20 20 20 20 20 20 20 20 62 72 6f 77 73             brows
0600: 65 72 2e 72 75 6e 74 69 6d 65 2e 73 65 6e 64 4d  er.runtime.sendM
0610: 65 73 73 61 67 65 28 7b 0a 20 20 20 20 20 20 20  essage({.       
0620: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0630: 20 73 43 6f 6d 6d 61 6e 64 3a 20 22 73 65 74 4f   sCommand: "setO
0640: 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20  ption",.        
0650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0660: 64 50 61 72 61 6d 3a 20 7b 73 4f 70 74 4e 61 6d  dParam: {sOptNam
0670: 65 3a 20 78 45 6c 65 6d 2e 64 61 74 61 73 65 74  e: xElem.dataset
0680: 2e 6f 70 74 69 6f 6e 2c 20 62 56 61 6c 75 65 3a  .option, bValue:
0690: 20 78 45 6c 65 6d 2e 63 68 65 63 6b 65 64 7d 2c   xElem.checked},
06a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
06b0: 20 20 20 20 20 20 20 20 20 64 49 6e 66 6f 3a 20           dInfo: 
06c0: 7b 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {}.             
06d0: 20 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 20         });.     
06e0: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20             }.   
06f0: 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20           }.     
0700: 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28         else if (
0710: 78 45 6c 65 6d 2e 69 64 2e 65 6e 64 73 57 69 74  xElem.id.endsWit
0720: 68 28 22 5f 64 69 63 22 29 29 20 7b 0a 20 20 20  h("_dic")) {.   
0730: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
0740: 28 78 45 6c 65 6d 2e 64 61 74 61 73 65 74 2e 64  (xElem.dataset.d
0750: 69 63 74 69 6f 6e 61 72 79 29 20 7b 0a 20 20 20  ictionary) {.   
0760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0770: 20 73 74 6f 72 65 53 43 4f 70 74 69 6f 6e 73 28   storeSCOptions(
0780: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
0790: 20 20 20 20 20 20 20 62 72 6f 77 73 65 72 2e 72         browser.r
07a0: 75 6e 74 69 6d 65 2e 73 65 6e 64 4d 65 73 73 61  untime.sendMessa
07b0: 67 65 28 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ge({.           
07c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 43 6f               sCo
07d0: 6d 6d 61 6e 64 3a 20 22 73 65 74 44 69 63 74 69  mmand: "setDicti
07e0: 6f 6e 61 72 79 4f 6e 4f 66 66 22 2c 0a 20 20 20  onaryOnOff",.   
07f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0800: 20 20 20 20 20 64 50 61 72 61 6d 3a 20 7b 73 44       dParam: {sD
0810: 69 63 74 69 6f 6e 61 72 79 3a 20 78 45 6c 65 6d  ictionary: xElem
0820: 2e 64 61 74 61 73 65 74 2e 64 69 63 74 69 6f 6e  .dataset.diction
0830: 61 72 79 2c 20 62 41 63 74 69 76 61 74 65 3a 20  ary, bActivate: 
0840: 78 45 6c 65 6d 2e 63 68 65 63 6b 65 64 7d 2c 0a  xElem.checked},.
0850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0860: 20 20 20 20 20 20 20 20 64 49 6e 66 6f 3a 20 7b          dInfo: {
0870: 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  }.              
0880: 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 20 20        });.      
0890: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20            }.    
08a0: 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20          }.      
08b0: 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 78        else if (x
08c0: 45 6c 65 6d 2e 69 64 2e 73 74 61 72 74 73 57 69  Elem.id.startsWi
08d0: 74 68 28 22 75 69 5f 6f 70 74 69 6f 6e 5f 22 29  th("ui_option_")
08e0: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  ) {.            
08f0: 20 20 20 20 73 74 6f 72 65 55 49 4f 70 74 69 6f      storeUIOptio
0900: 6e 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20  ns();.          
0910: 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20    }.            
0920: 65 6c 73 65 20 69 66 20 28 78 45 6c 65 6d 2e 69  else if (xElem.i
0930: 64 2e 73 74 61 72 74 73 57 69 74 68 28 22 6c 69  d.startsWith("li
0940: 6e 6b 5f 22 29 29 20 7b 0a 20 20 20 20 20 20 20  nk_")) {.       
0950: 20 20 20 20 20 20 20 20 20 62 72 6f 77 73 65 72           browser
0960: 2e 74 61 62 73 2e 63 72 65 61 74 65 28 7b 75 72  .tabs.create({ur
0970: 6c 3a 20 78 45 6c 65 6d 2e 64 61 74 61 73 65 74  l: xElem.dataset
0980: 2e 75 72 6c 7d 29 3b 0a 20 20 20 20 20 20 20 20  .url});.        
0990: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20      }.          
09a0: 20 20 65 6c 73 65 20 69 66 20 28 78 45 6c 65 6d    else if (xElem
09b0: 2e 69 64 20 3d 3d 20 22 63 6f 6e 6a 5f 62 75 74  .id == "conj_but
09c0: 74 6f 6e 22 29 20 7b 0a 20 20 20 20 20 20 20 20  ton") {.        
09d0: 20 20 20 20 20 20 20 20 6f 70 65 6e 43 6f 6e 6a          openConj
09e0: 75 67 75 65 75 72 54 61 62 28 29 3b 0a 20 20 20  ugueurTab();.   
09f0: 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20           }.     
0a00: 20 20 20 7d 20 65 6c 73 65 20 69 66 20 28 78 45     } else if (xE
0a10: 6c 65 6d 2e 63 6c 61 73 73 4e 61 6d 65 2e 73 74  lem.className.st
0a20: 61 72 74 73 57 69 74 68 28 22 73 65 6c 65 63 74  artsWith("select
0a30: 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20  ")) {.          
0a40: 20 20 73 68 6f 77 50 61 67 65 28 78 45 6c 65 6d    showPage(xElem
0a50: 2e 64 61 74 61 73 65 74 2e 70 61 67 65 29 3b 0a  .dataset.page);.
0a60: 20 20 20 20 20 20 20 20 7d 2f 2a 20 65 6c 73 65          }/* else
0a70: 20 69 66 20 28 78 45 6c 65 6d 2e 74 61 67 4e 61   if (xElem.tagNa
0a80: 6d 65 20 3d 3d 3d 20 22 41 22 29 20 7b 0a 20 20  me === "A") {.  
0a90: 20 20 20 20 20 20 20 20 20 20 6f 70 65 6e 55 52            openUR
0aa0: 4c 28 78 45 6c 65 6d 2e 67 65 74 41 74 74 72 69  L(xElem.getAttri
0ab0: 62 75 74 65 28 22 68 72 65 66 22 29 29 3b 0a 20  bute("href"));. 
0ac0: 20 20 20 20 20 20 20 7d 2a 2f 0a 20 20 20 20 7d         }*/.    }
0ad0: 2c 0a 20 20 20 20 66 61 6c 73 65 0a 29 3b 0a 0a  ,.    false.);..
0ae0: 0a 2f 2a 20 0a 20 20 20 20 4d 65 73 73 61 67 65  ./* .    Message
0af0: 20 73 65 6e 64 65 72 0a 20 20 20 20 61 6e 64 20   sender.    and 
0b00: 72 65 73 70 6f 6e 73 65 20 68 61 6e 64 6c 69 6e  response handlin
0b10: 67 0a 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 68 61  g.*/.function ha
0b20: 6e 64 6c 65 52 65 73 70 6f 6e 73 65 20 28 6f 52  ndleResponse (oR
0b30: 65 73 70 6f 6e 73 65 29 20 7b 0a 20 20 20 20 63  esponse) {.    c
0b40: 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 60 5b 50 61 6e  onsole.log(`[Pan
0b50: 65 6c 5d 20 72 65 63 65 69 76 65 64 3a 60 29 3b  el] received:`);
0b60: 0a 20 20 20 20 63 6f 6e 73 6f 6c 65 2e 6c 6f 67  .    console.log
0b70: 28 6f 52 65 73 70 6f 6e 73 65 29 3b 0a 7d 0a 0a  (oResponse);.}..
0b80: 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45  function handleE
0b90: 72 72 6f 72 20 28 65 72 72 6f 72 29 20 7b 0a 20  rror (error) {. 
0ba0: 20 20 20 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 60     console.log(`
0bb0: 5b 50 61 6e 65 6c 5d 20 45 72 72 6f 72 3a 60 29  [Panel] Error:`)
0bc0: 3b 0a 20 20 20 20 63 6f 6e 73 6f 6c 65 2e 6c 6f  ;.    console.lo
0bd0: 67 28 65 72 72 6f 72 29 3b 0a 7d 0a 0a 66 75 6e  g(error);.}..fun
0be0: 63 74 69 6f 6e 20 73 65 6e 64 4d 65 73 73 61 67  ction sendMessag
0bf0: 65 41 6e 64 57 61 69 74 52 65 73 70 6f 6e 73 65  eAndWaitResponse
0c00: 20 28 6f 44 61 74 61 29 20 7b 0a 20 20 20 20 6c   (oData) {.    l
0c10: 65 74 20 78 50 72 6f 6d 69 73 65 20 3d 20 62 72  et xPromise = br
0c20: 6f 77 73 65 72 2e 72 75 6e 74 69 6d 65 2e 73 65  owser.runtime.se
0c30: 6e 64 4d 65 73 73 61 67 65 28 6f 44 61 74 61 29  ndMessage(oData)
0c40: 3b 0a 20 20 20 20 78 50 72 6f 6d 69 73 65 2e 74  ;.    xPromise.t
0c50: 68 65 6e 28 68 61 6e 64 6c 65 52 65 73 70 6f 6e  hen(handleRespon
0c60: 73 65 2c 20 68 61 6e 64 6c 65 45 72 72 6f 72 29  se, handleError)
0c70: 3b 20 20 0a 7d 0a 0a 0a 2f 2a 0a 20 20 20 20 4d  ;  .}.../*.    M
0c80: 65 73 73 61 67 65 73 20 72 65 63 65 69 76 65 64  essages received
0c90: 0a 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 68 61 6e  .*/.function han
0ca0: 64 6c 65 4d 65 73 73 61 67 65 20 28 6f 4d 65 73  dleMessage (oMes
0cb0: 73 61 67 65 2c 20 78 53 65 6e 64 65 72 2c 20 73  sage, xSender, s
0cc0: 65 6e 64 52 65 73 70 6f 6e 73 65 29 20 7b 0a 20  endResponse) {. 
0cd0: 20 20 20 6c 65 74 20 7b 73 41 63 74 69 6f 6e 44     let {sActionD
0ce0: 6f 6e 65 2c 20 72 65 73 75 6c 74 2c 20 64 49 6e  one, result, dIn
0cf0: 66 6f 2c 20 62 45 6e 64 2c 20 62 45 72 72 6f 72  fo, bEnd, bError
0d00: 7d 20 3d 20 6f 4d 65 73 73 61 67 65 3b 0a 20 20  } = oMessage;.  
0d10: 20 20 73 77 69 74 63 68 28 73 41 63 74 69 6f 6e    switch(sAction
0d20: 44 6f 6e 65 29 20 7b 0a 20 20 20 20 20 20 20 20  Done) {.        
0d30: 63 61 73 65 20 22 74 65 78 74 54 6f 54 65 73 74  case "textToTest
0d40: 22 3a 0a 20 20 20 20 20 20 20 20 63 61 73 65 20  ":.        case 
0d50: 22 66 75 6c 6c 54 65 73 74 73 22 3a 0a 20 20 20  "fullTests":.   
0d60: 20 20 20 20 20 20 20 20 20 73 68 6f 77 54 65 73           showTes
0d70: 74 52 65 73 75 6c 74 28 72 65 73 75 6c 74 29 3b  tResult(result);
0d80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65  .            bre
0d90: 61 6b 3b 0a 20 20 20 20 20 20 20 20 63 61 73 65  ak;.        case
0da0: 20 22 72 65 73 65 74 4f 70 74 69 6f 6e 73 22 3a   "resetOptions":
0db0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73  .            dis
0dc0: 70 6c 61 79 47 43 4f 70 74 69 6f 6e 73 28 72 65  playGCOptions(re
0dd0: 73 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 20  sult);.         
0de0: 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20     break;.      
0df0: 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20    default:.     
0e00: 20 20 20 20 20 20 20 63 6f 6e 73 6f 6c 65 2e 6c         console.l
0e10: 6f 67 28 22 47 52 41 4d 4d 41 4c 45 43 54 45 2e  og("GRAMMALECTE.
0e20: 20 55 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e 64   Unknown command
0e30: 3a 20 22 20 2b 20 73 41 63 74 69 6f 6e 44 6f 6e  : " + sActionDon
0e40: 65 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f  e);.    }.    //
0e50: 73 65 6e 64 52 65 73 70 6f 6e 73 65 28 7b 73 43  sendResponse({sC
0e60: 6f 6d 6d 61 6e 64 3a 20 22 6e 6f 6e 65 22 2c 20  ommand: "none", 
0e70: 72 65 73 75 6c 74 3a 20 22 64 6f 6e 65 22 7d 29  result: "done"})
0e80: 3b 0a 7d 0a 0a 62 72 6f 77 73 65 72 2e 72 75 6e  ;.}..browser.run
0e90: 74 69 6d 65 2e 6f 6e 4d 65 73 73 61 67 65 2e 61  time.onMessage.a
0ea0: 64 64 4c 69 73 74 65 6e 65 72 28 68 61 6e 64 6c  ddListener(handl
0eb0: 65 4d 65 73 73 61 67 65 29 3b 0a 0a 0a 2f 2a 0a  eMessage);.../*.
0ec0: 20 20 20 20 41 63 74 69 6f 6e 73 0a 2a 2f 0a 0a      Actions.*/..
0ed0: 66 75 6e 63 74 69 6f 6e 20 73 68 6f 77 50 61 67  function showPag
0ee0: 65 20 28 73 50 61 67 65 4e 61 6d 65 29 20 7b 0a  e (sPageName) {.
0ef0: 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20      try {.      
0f00: 20 20 2f 2f 20 68 69 64 65 20 74 68 65 6d 20 61    // hide them a
0f10: 6c 6c 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28  ll.        for (
0f20: 6c 65 74 20 78 4e 6f 64 65 50 61 67 65 20 6f 66  let xNodePage of
0f30: 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65   document.getEle
0f40: 6d 65 6e 74 73 42 79 43 6c 61 73 73 4e 61 6d 65  mentsByClassName
0f50: 28 22 70 61 67 65 22 29 29 20 7b 0a 20 20 20 20  ("page")) {.    
0f60: 20 20 20 20 20 20 20 20 78 4e 6f 64 65 50 61 67          xNodePag
0f70: 65 2e 73 74 79 6c 65 2e 64 69 73 70 6c 61 79 20  e.style.display 
0f80: 3d 20 22 6e 6f 6e 65 22 3b 0a 20 20 20 20 20 20  = "none";.      
0f90: 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 73    }.        // s
0fa0: 68 6f 77 20 74 68 65 20 73 65 6c 65 63 74 65 64  how the selected
0fb0: 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 64 6f 63   one.        doc
0fc0: 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74  ument.getElement
0fd0: 42 79 49 64 28 73 50 61 67 65 4e 61 6d 65 29 2e  ById(sPageName).
0fe0: 73 74 79 6c 65 2e 64 69 73 70 6c 61 79 20 3d 20  style.display = 
0ff0: 22 62 6c 6f 63 6b 22 3b 0a 20 20 20 20 20 20 20  "block";.       
1000: 20 69 66 20 28 73 50 61 67 65 4e 61 6d 65 20 3d   if (sPageName =
1010: 3d 20 22 67 63 5f 6f 70 74 69 6f 6e 73 5f 70 61  = "gc_options_pa
1020: 67 65 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20  ge") {.         
1030: 20 20 20 64 69 73 70 6c 61 79 47 43 4f 70 74 69     displayGCOpti
1040: 6f 6e 73 4c 6f 61 64 65 64 46 72 6f 6d 53 74 6f  onsLoadedFromSto
1050: 72 61 67 65 28 29 3b 0a 20 20 20 20 20 20 20 20  rage();.        
1060: 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 69  }.        else i
1070: 66 20 28 73 50 61 67 65 4e 61 6d 65 20 3d 3d 20  f (sPageName == 
1080: 22 75 69 5f 6f 70 74 69 6f 6e 73 5f 70 61 67 65  "ui_options_page
1090: 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ") {.           
10a0: 20 64 69 73 70 6c 61 79 55 49 4f 70 74 69 6f 6e   displayUIOption
10b0: 73 4c 6f 61 64 65 64 46 72 6f 6d 53 74 6f 72 61  sLoadedFromStora
10c0: 67 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a  ge();.        }.
10d0: 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20          else if 
10e0: 28 73 50 61 67 65 4e 61 6d 65 20 3d 3d 20 22 73  (sPageName == "s
10f0: 63 5f 6f 70 74 69 6f 6e 73 5f 70 61 67 65 22 29  c_options_page")
1100: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64   {.            d
1110: 69 73 70 6c 61 79 53 43 4f 70 74 69 6f 6e 73 4c  isplaySCOptionsL
1120: 6f 61 64 65 64 46 72 6f 6d 53 74 6f 72 61 67 65  oadedFromStorage
1130: 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20  ();.        }.  
1140: 20 20 7d 0a 20 20 20 20 63 61 74 63 68 20 28 65    }.    catch (e
1150: 29 20 7b 0a 20 20 20 20 20 20 20 20 73 68 6f 77  ) {.        show
1160: 45 72 72 6f 72 28 65 29 3b 0a 20 20 20 20 7d 0a  Error(e);.    }.
1170: 7d 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 73 68 6f  }...function sho
1180: 77 54 65 73 74 52 65 73 75 6c 74 20 28 73 54 65  wTestResult (sTe
1190: 78 74 29 20 7b 0a 20 20 20 20 64 6f 63 75 6d 65  xt) {.    docume
11a0: 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79 49  nt.getElementByI
11b0: 64 28 22 74 65 73 74 73 5f 72 65 73 75 6c 74 22  d("tests_result"
11c0: 29 2e 74 65 78 74 43 6f 6e 74 65 6e 74 20 3d 20  ).textContent = 
11d0: 73 54 65 78 74 3b 0a 7d 0a 0a 66 75 6e 63 74 69  sText;.}..functi
11e0: 6f 6e 20 6f 70 65 6e 43 6f 6e 6a 75 67 75 65 75  on openConjugueu
11f0: 72 54 61 62 20 28 29 20 7b 0a 20 20 20 20 69 66  rTab () {.    if
1200: 20 28 62 43 68 72 6f 6d 65 29 20 7b 0a 20 20 20   (bChrome) {.   
1210: 20 20 20 20 20 62 72 6f 77 73 65 72 2e 74 61 62       browser.tab
1220: 73 2e 63 72 65 61 74 65 28 7b 0a 20 20 20 20 20  s.create({.     
1230: 20 20 20 20 20 20 20 75 72 6c 3a 20 62 72 6f 77         url: brow
1240: 73 65 72 2e 65 78 74 65 6e 73 69 6f 6e 2e 67 65  ser.extension.ge
1250: 74 55 52 4c 28 22 70 61 6e 65 6c 2f 63 6f 6e 6a  tURL("panel/conj
1260: 75 67 75 65 75 72 2e 68 74 6d 6c 22 29 0a 20 20  ugueur.html").  
1270: 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 20 20        });.      
1280: 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 7d 0a    return;.    }.
1290: 20 20 20 20 6c 65 74 20 78 43 6f 6e 6a 54 61 62      let xConjTab
12a0: 20 3d 20 62 72 6f 77 73 65 72 2e 74 61 62 73 2e   = browser.tabs.
12b0: 63 72 65 61 74 65 28 7b 0a 20 20 20 20 20 20 20  create({.       
12c0: 20 75 72 6c 3a 20 62 72 6f 77 73 65 72 2e 65 78   url: browser.ex
12d0: 74 65 6e 73 69 6f 6e 2e 67 65 74 55 52 4c 28 22  tension.getURL("
12e0: 70 61 6e 65 6c 2f 63 6f 6e 6a 75 67 75 65 75 72  panel/conjugueur
12f0: 2e 68 74 6d 6c 22 29 0a 20 20 20 20 7d 29 3b 0a  .html").    });.
1300: 20 20 20 20 78 43 6f 6e 6a 54 61 62 2e 74 68 65      xConjTab.the
1310: 6e 28 6f 6e 43 72 65 61 74 65 64 2c 20 6f 6e 45  n(onCreated, onE
1320: 72 72 6f 72 29 3b 0a 7d 0a 0a 66 75 6e 63 74 69  rror);.}..functi
1330: 6f 6e 20 6f 70 65 6e 43 6f 6e 6a 75 67 75 65 75  on openConjugueu
1340: 72 54 61 62 20 28 29 20 7b 0a 20 20 20 20 69 66  rTab () {.    if
1350: 20 28 62 43 68 72 6f 6d 65 29 20 7b 0a 20 20 20   (bChrome) {.   
1360: 20 20 20 20 20 62 72 6f 77 73 65 72 2e 74 61 62       browser.tab
1370: 73 2e 63 72 65 61 74 65 28 7b 0a 20 20 20 20 20  s.create({.     
1380: 20 20 20 20 20 20 20 75 72 6c 3a 20 62 72 6f 77         url: brow
1390: 73 65 72 2e 65 78 74 65 6e 73 69 6f 6e 2e 67 65  ser.extension.ge
13a0: 74 55 52 4c 28 22 70 61 6e 65 6c 2f 63 6f 6e 6a  tURL("panel/conj
13b0: 75 67 75 65 75 72 2e 68 74 6d 6c 22 29 0a 20 20  ugueur.html").  
13c0: 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 20 20        });.      
13d0: 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 7d 0a    return;.    }.
13e0: 20 20 20 20 6c 65 74 20 78 43 6f 6e 6a 54 61 62      let xConjTab
13f0: 20 3d 20 62 72 6f 77 73 65 72 2e 74 61 62 73 2e   = browser.tabs.
1400: 63 72 65 61 74 65 28 7b 0a 20 20 20 20 20 20 20  create({.       
1410: 20 75 72 6c 3a 20 62 72 6f 77 73 65 72 2e 65 78   url: browser.ex
1420: 74 65 6e 73 69 6f 6e 2e 67 65 74 55 52 4c 28 22  tension.getURL("
1430: 70 61 6e 65 6c 2f 63 6f 6e 6a 75 67 75 65 75 72  panel/conjugueur
1440: 2e 68 74 6d 6c 22 29 0a 20 20 20 20 7d 29 3b 0a  .html").    });.
1450: 20 20 20 20 78 43 6f 6e 6a 54 61 62 2e 74 68 65      xConjTab.the
1460: 6e 28 6f 6e 43 72 65 61 74 65 64 2c 20 6f 6e 45  n(onCreated, onE
1470: 72 72 6f 72 29 3b 0a 7d 0a 0a 0a 2f 2a 0a 20 20  rror);.}.../*.  
1480: 20 20 55 49 20 6f 70 74 69 6f 6e 73 0a 2a 2f 0a    UI options.*/.
1490: 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79  function display
14a0: 55 49 4f 70 74 69 6f 6e 73 4c 6f 61 64 65 64 46  UIOptionsLoadedF
14b0: 72 6f 6d 53 74 6f 72 61 67 65 20 28 29 20 7b 0a  romStorage () {.
14c0: 20 20 20 20 69 66 20 28 62 43 68 72 6f 6d 65 29      if (bChrome)
14d0: 20 7b 0a 20 20 20 20 20 20 20 20 62 72 6f 77 73   {.        brows
14e0: 65 72 2e 73 74 6f 72 61 67 65 2e 6c 6f 63 61 6c  er.storage.local
14f0: 2e 67 65 74 28 22 75 69 5f 6f 70 74 69 6f 6e 73  .get("ui_options
1500: 22 2c 20 64 69 73 70 6c 61 79 55 49 4f 70 74 69  ", displayUIOpti
1510: 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 72 65  ons);.        re
1520: 74 75 72 6e 3b 0a 20 20 20 20 7d 0a 20 20 20 20  turn;.    }.    
1530: 6c 65 74 20 78 50 72 6f 6d 69 73 65 20 3d 20 62  let xPromise = b
1540: 72 6f 77 73 65 72 2e 73 74 6f 72 61 67 65 2e 6c  rowser.storage.l
1550: 6f 63 61 6c 2e 67 65 74 28 22 75 69 5f 6f 70 74  ocal.get("ui_opt
1560: 69 6f 6e 73 22 29 3b 0a 20 20 20 20 78 50 72 6f  ions");.    xPro
1570: 6d 69 73 65 2e 74 68 65 6e 28 64 69 73 70 6c 61  mise.then(displa
1580: 79 55 49 4f 70 74 69 6f 6e 73 2c 20 73 68 6f 77  yUIOptions, show
1590: 45 72 72 6f 72 29 3b 0a 7d 0a 0a 66 75 6e 63 74  Error);.}..funct
15a0: 69 6f 6e 20 64 69 73 70 6c 61 79 55 49 4f 70 74  ion displayUIOpt
15b0: 69 6f 6e 73 20 28 64 4f 70 74 69 6f 6e 73 29 20  ions (dOptions) 
15c0: 7b 0a 20 20 20 20 69 66 20 28 21 64 4f 70 74 69  {.    if (!dOpti
15d0: 6f 6e 73 2e 68 61 73 4f 77 6e 50 72 6f 70 65 72  ons.hasOwnProper
15e0: 74 79 28 22 75 69 5f 6f 70 74 69 6f 6e 73 22 29  ty("ui_options")
15f0: 29 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73  ) {.        cons
1600: 6f 6c 65 2e 6c 6f 67 28 22 6e 6f 20 75 69 20 6f  ole.log("no ui o
1610: 70 74 69 6f 6e 73 20 66 6f 75 6e 64 22 29 3b 0a  ptions found");.
1620: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a          return;.
1630: 20 20 20 20 7d 0a 20 20 20 20 64 4f 70 74 69 6f      }.    dOptio
1640: 6e 73 20 3d 20 64 4f 70 74 69 6f 6e 73 2e 75 69  ns = dOptions.ui
1650: 5f 6f 70 74 69 6f 6e 73 3b 0a 20 20 20 20 66 6f  _options;.    fo
1660: 72 20 28 6c 65 74 20 73 4f 70 74 20 69 6e 20 64  r (let sOpt in d
1670: 4f 70 74 69 6f 6e 73 29 20 7b 0a 20 20 20 20 20  Options) {.     
1680: 20 20 20 69 66 20 28 64 6f 63 75 6d 65 6e 74 2e     if (document.
1690: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22  getElementById("
16a0: 75 69 5f 6f 70 74 69 6f 6e 5f 22 2b 73 4f 70 74  ui_option_"+sOpt
16b0: 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  )) {.           
16c0: 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65   document.getEle
16d0: 6d 65 6e 74 42 79 49 64 28 22 75 69 5f 6f 70 74  mentById("ui_opt
16e0: 69 6f 6e 5f 22 2b 73 4f 70 74 29 2e 63 68 65 63  ion_"+sOpt).chec
16f0: 6b 65 64 20 3d 20 64 4f 70 74 69 6f 6e 73 5b 73  ked = dOptions[s
1700: 4f 70 74 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a  Opt];.        }.
1710: 20 20 20 20 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f      }.}..functio
1720: 6e 20 73 74 6f 72 65 55 49 4f 70 74 69 6f 6e 73  n storeUIOptions
1730: 20 28 29 20 7b 0a 20 20 20 20 62 72 6f 77 73 65   () {.    browse
1740: 72 2e 73 74 6f 72 61 67 65 2e 6c 6f 63 61 6c 2e  r.storage.local.
1750: 73 65 74 28 7b 22 75 69 5f 6f 70 74 69 6f 6e 73  set({"ui_options
1760: 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78  ": {.        tex
1770: 74 61 72 65 61 3a 20 64 6f 63 75 6d 65 6e 74 2e  tarea: document.
1780: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22  getElementById("
1790: 75 69 5f 6f 70 74 69 6f 6e 5f 74 65 78 74 61 72  ui_option_textar
17a0: 65 61 22 29 2e 63 68 65 63 6b 65 64 2c 0a 20 20  ea").checked,.  
17b0: 20 20 20 20 20 20 65 64 69 74 61 62 6c 65 6e 6f        editableno
17c0: 64 65 3a 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74  de: document.get
17d0: 45 6c 65 6d 65 6e 74 42 79 49 64 28 22 75 69 5f  ElementById("ui_
17e0: 6f 70 74 69 6f 6e 5f 65 64 69 74 61 62 6c 65 6e  option_editablen
17f0: 6f 64 65 22 29 2e 63 68 65 63 6b 65 64 0a 20 20  ode").checked.  
1800: 20 20 7d 7d 29 3b 0a 7d 0a 0a 0a 2f 2a 0a 20 20    }});.}.../*.  
1810: 20 20 53 43 20 4f 70 74 69 6f 6e 73 0a 2a 2f 0a    SC Options.*/.
1820: 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79  function display
1830: 53 43 4f 70 74 69 6f 6e 73 4c 6f 61 64 65 64 46  SCOptionsLoadedF
1840: 72 6f 6d 53 74 6f 72 61 67 65 20 28 29 20 7b 0a  romStorage () {.
1850: 20 20 20 20 69 66 20 28 62 43 68 72 6f 6d 65 29      if (bChrome)
1860: 20 7b 0a 20 20 20 20 20 20 20 20 62 72 6f 77 73   {.        brows
1870: 65 72 2e 73 74 6f 72 61 67 65 2e 6c 6f 63 61 6c  er.storage.local
1880: 2e 67 65 74 28 22 73 63 5f 6f 70 74 69 6f 6e 73  .get("sc_options
1890: 22 2c 20 64 69 73 70 6c 61 79 53 43 4f 70 74 69  ", displaySCOpti
18a0: 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 72 65  ons);.        re
18b0: 74 75 72 6e 3b 0a 20 20 20 20 7d 0a 20 20 20 20  turn;.    }.    
18c0: 6c 65 74 20 78 50 72 6f 6d 69 73 65 20 3d 20 62  let xPromise = b
18d0: 72 6f 77 73 65 72 2e 73 74 6f 72 61 67 65 2e 6c  rowser.storage.l
18e0: 6f 63 61 6c 2e 67 65 74 28 22 73 63 5f 6f 70 74  ocal.get("sc_opt
18f0: 69 6f 6e 73 22 29 3b 0a 20 20 20 20 78 50 72 6f  ions");.    xPro
1900: 6d 69 73 65 2e 74 68 65 6e 28 64 69 73 70 6c 61  mise.then(displa
1910: 79 53 43 4f 70 74 69 6f 6e 73 2c 20 73 68 6f 77  ySCOptions, show
1920: 45 72 72 6f 72 29 3b 0a 7d 0a 0a 66 75 6e 63 74  Error);.}..funct
1930: 69 6f 6e 20 64 69 73 70 6c 61 79 53 43 4f 70 74  ion displaySCOpt
1940: 69 6f 6e 73 20 28 64 4f 70 74 69 6f 6e 73 29 20  ions (dOptions) 
1950: 7b 0a 20 20 20 20 69 66 20 28 21 64 4f 70 74 69  {.    if (!dOpti
1960: 6f 6e 73 2e 68 61 73 4f 77 6e 50 72 6f 70 65 72  ons.hasOwnProper
1970: 74 79 28 22 73 63 5f 6f 70 74 69 6f 6e 73 22 29  ty("sc_options")
1980: 29 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73  ) {.        cons
1990: 6f 6c 65 2e 6c 6f 67 28 22 6e 6f 20 73 63 20 6f  ole.log("no sc o
19a0: 70 74 69 6f 6e 73 20 66 6f 75 6e 64 22 29 3b 0a  ptions found");.
19b0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a          return;.
19c0: 20 20 20 20 7d 0a 20 20 20 20 64 4f 70 74 69 6f      }.    dOptio
19d0: 6e 73 20 3d 20 64 4f 70 74 69 6f 6e 73 2e 73 63  ns = dOptions.sc
19e0: 5f 6f 70 74 69 6f 6e 73 3b 0a 20 20 20 20 2f 2f  _options;.    //
19f0: 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d  document.getElem
1a00: 65 6e 74 42 79 49 64 28 22 65 78 74 65 6e 64 65  entById("extende
1a10: 64 5f 64 69 63 22 29 2e 63 68 65 63 6b 65 64 20  d_dic").checked 
1a20: 3d 20 64 4f 70 74 69 6f 6e 73 2e 65 78 74 65 6e  = dOptions.exten
1a30: 64 65 64 5f 64 69 63 3b 0a 20 20 20 20 2f 2f 64  ded_dic;.    //d
1a40: 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65  ocument.getEleme
1a50: 6e 74 42 79 49 64 28 22 63 6f 6d 6d 75 6e 69 74  ntById("communit
1a60: 79 5f 64 69 63 22 29 2e 63 68 65 63 6b 65 64 20  y_dic").checked 
1a70: 3d 20 64 4f 70 74 69 6f 6e 73 2e 63 6f 6d 6d 75  = dOptions.commu
1a80: 6e 69 74 79 5f 64 69 63 3b 0a 20 20 20 20 64 6f  nity_dic;.    do
1a90: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  cument.getElemen
1aa0: 74 42 79 49 64 28 22 70 65 72 73 6f 6e 61 6c 5f  tById("personal_
1ab0: 64 69 63 22 29 2e 63 68 65 63 6b 65 64 20 3d 20  dic").checked = 
1ac0: 64 4f 70 74 69 6f 6e 73 2e 70 65 72 73 6f 6e 61  dOptions.persona
1ad0: 6c 3b 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 73  l;.}..function s
1ae0: 74 6f 72 65 53 43 4f 70 74 69 6f 6e 73 20 28 29  toreSCOptions ()
1af0: 20 7b 0a 20 20 20 20 62 72 6f 77 73 65 72 2e 73   {.    browser.s
1b00: 74 6f 72 61 67 65 2e 6c 6f 63 61 6c 2e 73 65 74  torage.local.set
1b10: 28 7b 22 73 63 5f 6f 70 74 69 6f 6e 73 22 3a 20  ({"sc_options": 
1b20: 7b 0a 20 20 20 20 20 20 20 20 65 78 74 65 6e 64  {.        extend
1b30: 65 64 3a 20 66 61 6c 73 65 2c 0a 20 20 20 20 20  ed: false,.     
1b40: 20 20 20 63 6f 6d 6d 75 6e 69 74 79 3a 20 66 61     community: fa
1b50: 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 70 65 72  lse,.        per
1b60: 73 6f 6e 61 6c 3a 20 64 6f 63 75 6d 65 6e 74 2e  sonal: document.
1b70: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 22  getElementById("
1b80: 70 65 72 73 6f 6e 61 6c 5f 64 69 63 22 29 2e 63  personal_dic").c
1b90: 68 65 63 6b 65 64 0a 20 20 20 20 7d 7d 29 3b 0a  hecked.    }});.
1ba0: 7d 0a 0a 0a 2f 2a 0a 20 20 20 20 47 43 20 6f 70  }.../*.    GC op
1bb0: 74 69 6f 6e 73 0a 2a 2f 0a 66 75 6e 63 74 69 6f  tions.*/.functio
1bc0: 6e 20 64 69 73 70 6c 61 79 47 43 4f 70 74 69 6f  n displayGCOptio
1bd0: 6e 73 4c 6f 61 64 65 64 46 72 6f 6d 53 74 6f 72  nsLoadedFromStor
1be0: 61 67 65 20 28 29 20 7b 0a 20 20 20 20 69 66 20  age () {.    if 
1bf0: 28 62 43 68 72 6f 6d 65 29 20 7b 0a 20 20 20 20  (bChrome) {.    
1c00: 20 20 20 20 62 72 6f 77 73 65 72 2e 73 74 6f 72      browser.stor
1c10: 61 67 65 2e 6c 6f 63 61 6c 2e 67 65 74 28 22 67  age.local.get("g
1c20: 63 5f 6f 70 74 69 6f 6e 73 22 2c 20 5f 64 69 73  c_options", _dis
1c30: 70 6c 61 79 47 43 4f 70 74 69 6f 6e 73 29 3b 0a  playGCOptions);.
1c40: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a          return;.
1c50: 20 20 20 20 7d 0a 20 20 20 20 6c 65 74 20 78 50      }.    let xP
1c60: 72 6f 6d 69 73 65 20 3d 20 62 72 6f 77 73 65 72  romise = browser
1c70: 2e 73 74 6f 72 61 67 65 2e 6c 6f 63 61 6c 2e 67  .storage.local.g
1c80: 65 74 28 22 67 63 5f 6f 70 74 69 6f 6e 73 22 29  et("gc_options")
1c90: 3b 0a 20 20 20 20 78 50 72 6f 6d 69 73 65 2e 74  ;.    xPromise.t
1ca0: 68 65 6e 28 5f 64 69 73 70 6c 61 79 47 43 4f 70  hen(_displayGCOp
1cb0: 74 69 6f 6e 73 2c 20 73 68 6f 77 45 72 72 6f 72  tions, showError
1cc0: 29 3b 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 5f  );.}..function _
1cd0: 64 69 73 70 6c 61 79 47 43 4f 70 74 69 6f 6e 73  displayGCOptions
1ce0: 20 28 64 53 61 76 65 64 4f 70 74 69 6f 6e 73 29   (dSavedOptions)
1cf0: 20 7b 0a 20 20 20 20 69 66 20 28 64 53 61 76 65   {.    if (dSave
1d00: 64 4f 70 74 69 6f 6e 73 2e 68 61 73 4f 77 6e 50  dOptions.hasOwnP
1d10: 72 6f 70 65 72 74 79 28 22 67 63 5f 6f 70 74 69  roperty("gc_opti
1d20: 6f 6e 73 22 29 29 20 7b 0a 20 20 20 20 20 20 20  ons")) {.       
1d30: 20 64 69 73 70 6c 61 79 47 43 4f 70 74 69 6f 6e   displayGCOption
1d40: 73 28 64 53 61 76 65 64 4f 70 74 69 6f 6e 73 2e  s(dSavedOptions.
1d50: 67 63 5f 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20  gc_options);.   
1d60: 20 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 64   }.}..function d
1d70: 69 73 70 6c 61 79 47 43 4f 70 74 69 6f 6e 73 20  isplayGCOptions 
1d80: 28 6f 4f 70 74 69 6f 6e 73 29 20 7b 0a 20 20 20  (oOptions) {.   
1d90: 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 66   try {.        f
1da0: 6f 72 20 28 6c 65 74 20 73 50 61 72 61 6d 20 69  or (let sParam i
1db0: 6e 20 6f 4f 70 74 69 6f 6e 73 29 20 7b 0a 20 20  n oOptions) {.  
1dc0: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 64 6f            if (do
1dd0: 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e  cument.getElemen
1de0: 74 42 79 49 64 28 22 6f 70 74 69 6f 6e 5f 22 2b  tById("option_"+
1df0: 73 50 61 72 61 6d 29 29 20 7b 0a 20 20 20 20 20  sParam)) {.     
1e00: 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d             docum
1e10: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
1e20: 49 64 28 22 6f 70 74 69 6f 6e 5f 22 2b 73 50 61  Id("option_"+sPa
1e30: 72 61 6d 29 2e 63 68 65 63 6b 65 64 20 3d 20 6f  ram).checked = o
1e40: 4f 70 74 69 6f 6e 73 5b 73 50 61 72 61 6d 5d 3b  Options[sParam];
1e50: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20  .            }. 
1e60: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20         }.    }. 
1e70: 20 20 20 63 61 74 63 68 20 28 65 29 20 7b 0a 20     catch (e) {. 
1e80: 20 20 20 20 20 20 20 73 68 6f 77 45 72 72 6f 72         showError
1e90: 28 65 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e  (e);.        con
1ea0: 73 6f 6c 65 2e 6c 6f 67 28 6f 4f 70 74 69 6f 6e  sole.log(oOption
1eb0: 73 29 3b 0a 20 20 20 20 7d 0a 7d 0a              s);.    }.}.