ãã®è¨äºã¯Eject Advent Calendar 20133æ¥ç®ã®è¨äºã§ããã¡ãªã¿ã«ä»æ¥ã¯åã®èªçæ¥ã§ã
ãã¤ã¦ä¸ä¸ã風é¡ãä¸çä¸ã®Chromeã¦ã¼ã¶ã¼ãç é¢éãã«ããCD-ROM ãã¬ã¤ãåãåºãã Chromeæ¡å¼µããchrome-ejectãã§ãããå é¨ã§NPAPIã使ã£ã¦ããããã«è¿ãå°æ¥ç¢ºå®ã«åããªããªãã¾ãã
ããã§äººé¡ãå¹³åã«æ®ãããããEjectã§ãã代æ¿æªç½®ãæ¢ãå¿ è¦ã«é§ãããé常ã«éå®çãªããChromeããEjectããæ¹æ³ã確ç«ããChrome-eject2ã¨ãã¦ãªãªã¼ã¹ãã¾ããã®ã§Advent Calendarã®è¨äºã¨ãã¦è¨ã次第ã§ãã
ä¸è¨ã¹ã©ã¤ãå
ã«ãæ¸ãã¦ããã¨ãããChromeæ¡å¼µã§ã¯ chrome.system.storage.ejectDevice ã¨ããã¾ãã« Eject ã®ããã®APIãç¨æããã¦ããã®ã§ãããæ®å¿µãªããç¾å¨ã¯ãã¾ãCD-ROMãejectã§ãã¦ãã¾ãããã
Windowsçã®Chromeã§ã¯ã
- CD-ROMãã©ã¤ãã«å¯¾ãã chrome.system.storage.getInfo ã§ã¯ãStorageUnitInfo.capacity ã0ãªã®ã§ã対象ããã¤ã¹ãCD-ROMã§ãããã¨ã¯ç°¡åã«å¤æã§ãã
- ã¨ã¯ãããã®ã®ãCD-ROMãã©ã¤ãã«å¯¾ããStorageUnitInfo.type ã"fixed" ã§ãã£ã¦ "removable" ã§ã¯ãªã
- ãã®ãã(?)CD-ROMãã©ã¤ãã«å¯¾ãã chrome.system.storage.ejectDevice ã "failure" ã¨ãªãEjectã§ããªãã
ã¨ããç¶æ³ã§ã(ãã®ããããè¦ãã¨ãCD-ROMã¯removableæ±ãããã¦ããªãæãã§ãâ¦)ã
Linuxçã®Chromeã§ã¯ããã«åé¡ããã(Debian GNU/Linux on x86ã§ç¢ºèª)ã
- chrome.system.storage.getInfoã§åæã§ããããã¤ã¹ã®ä¸è¦§ã¯Chromeèµ·åæç¹ã®ã¹ãããã·ã§ããã§ããChromeèµ·åå¾ã«å¤æ´ãããããã¤ã¹ã®ç¶æ ã¯åæ ããã¦ããªã
- CD-ROMãã©ã¤ãã«å¯¾ãã StorageUnitInfo.type 㯠"removable" ã§ãããã®ã®ãchrome.system.storage.getInfo ã§ã¯ StorageUnitInfo.capacity ã0ã§ã¯ãªããããããããã©ã®ããã¤ã¹ãCD-ROMãªã®ãå¤æã§ããªã
- CD-ROMãã©ã¤ãã«å¯¾ãã¦chrome.system.storage.ejectDeviceããå ´åã«ã¯root権éã§ãªãããã«umountã«å¤±æãã
ã¨ããç¶æ³ã§ãã
(ããã«ä½è«ã§ãããchrome.system.stora.getAvailableCapacity ã¨ããAPIã¯Chrome betaçã§ãã¾ã å®è£
ããã¦ããªãããã§ãã)
ãã®ãããªããã§ãWindowsä¸ã§ã¯æ¡å¼µå ã«Ejectããããã®VBScriptãã¡ã¤ã«ãå«ãã¦ããããããæ¡å¼µå ã§èªããã¦ã³ãã¼ããã¦å®è¡ãããã¨ã«ããEjectããã¨ããå¼·å¼ãªææ³ãæ¡ã£ã¦ãã¾ãããLinuxçã§ã¯ãªããªããã¾ãæ¹æ³ãã¾ã è¦ã¤ãã£ã¦ãã¾ããããããªããã§ãæ©ãLinuxã§ã(☝ ՞ਊ ՞)☝ã¦ã¤ã¼ã³ã§ããæ¥ãæ¥ããããæ¥ã ç²¾é²ããã°ã¨æ°ãå¼ãç· ããæ¯æ¥ã§ãã
Eject Advent Calendarãææ¥ã¯â¦ã ãï¼