Commit d7582f30 authored by Bo Liu's avatar Bo Liu
Browse files

Merge from Chromium at DEPS revision 37.0.2062.76

This commit was generated by merge_to_master.py.

Change-Id: I167d28401e65e520fca24a7cd89b56027205c775
parent 476b3870
......@@ -93,7 +93,7 @@
<translation id="5437452584883783369">プレビューを終了して再起動</translation>
<translation id="7392118418926456391">ウイルス スキャンに失敗しました</translation>
<translation id="1156689104822061371">キーボード レイアウト:</translation>
<translation id="4764776831041365478"><ph name="URL"/> のウェブページは一時的に停止しているか、新しい URL に移動した可能性があります。</translation>
<translation id="4764776831041365478"><ph name="URL"/> のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。</translation>
<translation id="6156863943908443225">スクリプト キャッシュ</translation>
<translation id="4274187853770964845">同期エラー: 同期を停止してからもう一度開始してください。</translation>
<translation id="6499114579475440437">ログインして Google ウォレットで支払う</translation>
......@@ -1841,7 +1841,7 @@
<translation id="2902382079633781842">ブックマークが追加されました</translation>
<translation id="5436510242972373446"><ph name="SITE_NAME"/> を検索:</translation>
<translation id="3800764353337460026">記号のスタイル</translation>
<translation id="1278049586634282054">ビューを調査:</translation>
<translation id="1278049586634282054">ビューを検証:</translation>
<translation id="3254434849914415189"><ph name="FILE_TYPE"/> ファイルのデフォルト アプリを選択:</translation>
<translation id="4991420928586866460">キーボードの最上段のキーをファンクション キーとして使用する</translation>
<translation id="4350019051035968019">このデバイスは、別のドメインの管理対象として指定されているため、現在のアカウントの所属先ドメインに登録することはできません。</translation>
......@@ -2912,7 +2912,7 @@
<translation id="7347751611463936647">この拡張機能を使用するには、「<ph name="EXTENSION_KEYWORD"/>」と入力して Tab キーを押してからコマンドまたは検索キーワードを入力してください。</translation>
<translation id="878431691778285679">この名前でユーザーを既に管理しているようです。<ph name="LINE_BREAK"/><ph name="BEGIN_LINK"/>このデバイスに <ph name="PROFILE_NAME"/> をインポート<ph name="END_LINK"/>しますか?</translation>
<translation id="2912905526406334195"><ph name="HOST"/> がマイクへのアクセスを求めています。</translation>
<translation id="2805756323405976993">Apps</translation>
<translation id="2805756323405976993">アプリ</translation>
<translation id="5151511998946489774">このウェブサイトの識別情報は <ph name="ISSUER"/> により確認済みで、公開監査が可能です。</translation>
<translation id="1608626060424371292">このユーザーを削除</translation>
<translation id="2779552785085366231">このページをアプリ ランチャーに追加できます</translation>
......
......@@ -2924,7 +2924,7 @@ Google Chrome മൊബൈൽ ഡാറ്റ ഉപയോഗിക്കും.
<translation id="7347751611463936647">ഈ വിപുലീകരണം ഉപയോഗിക്കുക, &quot;<ph name="EXTENSION_KEYWORD"/>&quot; ടൈപ്പുചെയ്യുക, തുടര്‍ന്ന് TAB, തുടര്‍ന്ന് നിങ്ങളുടെ കമാന്‍റ് അല്ലെങ്കില്‍ തിരയല്‍.</translation>
<translation id="878431691778285679">നിങ്ങൾ ഇതിനകം ആ പേരിൽ ഒരു ഉപയോക്താവിനെ നിയന്ത്രിക്കുന്നതുപോലെ തോന്നുന്നു.<ph name="LINE_BREAK"/>ഈ ഉപകരണത്തിലേക്ക് <ph name="BEGIN_LINK"/><ph name="PROFILE_NAME"/> ഇമ്പോർട്ടുചെയ്യുന്നതിന് നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടോ<ph name="END_LINK"/>?</translation>
<translation id="2912905526406334195"><ph name="HOST"/> എന്നതിന് ഒരു മൈക്രോഫോൺ ഉപയോഗിക്കണം.</translation>
<translation id="2805756323405976993">പ്ലിക്കേഷന്‍സ്</translation>
<translation id="2805756323405976993">പ്സ്</translation>
<translation id="5151511998946489774">ഈ വെബ്സൈറ്റിന്റെ ഐഡന്റിറ്റി <ph name="ISSUER"/> സ്ഥിരീകരിച്ചതും എല്ലാവർക്കും ഓഡിറ്റുചെയ്യാനാവുന്നതുമാണ്.</translation>
<translation id="1608626060424371292">ഈ ഉപയോക്താവിനെ നീക്കംചെയ്യുക</translation>
<translation id="2779552785085366231">ഈ പേജ് അപ്ലിക്കേഷൻ ലോഞ്ചറിലേക്ക് ചേർക്കാം</translation>
......
......@@ -121,7 +121,7 @@
<translation id="4654488276758583406">Veldig liten</translation>
<translation id="6647228709620733774">Nettadresse for tilbakekalling av Netscape-autoritetssertifikat</translation>
<translation id="546411240573627095">Talltastaturstil</translation>
<translation id="2310216585920710503">Konfigurer enkel opplåsing</translation>
<translation id="2310216585920710503">Konfigurer Enkel opplåsing</translation>
<translation id="8425213833346101688">Endre</translation>
<translation id="2972581237482394796">Gjø&amp;r om</translation>
<translation id="5895138241574237353">Start på nytt</translation>
......@@ -519,7 +519,7 @@ Sjekk e-posten din på <ph name="ACCOUNT_EMAIL"/> for instruksjoner om dette og
<translation id="413121957363593859">Komponenter</translation>
<translation id="715487527529576698">Opprinnelig kinesisk modus er forenklet kinesisk</translation>
<translation id="6522350652862471760">Slå på Google-profilnavn og -ikon</translation>
<translation id="6181259999130430430">Slå på enkel opplåsing for denne enheten.</translation>
<translation id="6181259999130430430">Slå på Enkel opplåsing for denne enheten.</translation>
<translation id="8703575177326907206">Tilkoblingen til <ph name="DOMAIN"/> er ikke kryptert.</translation>
<translation id="6135622770221372891">ID-er for kanal</translation>
<translation id="8472623782143987204">maskinvarestøttet</translation>
......@@ -712,7 +712,7 @@ Alle brukere må logge av for å fortsette.</translation>
<translation id="3984921062031549150">Gjengivelsen slutter å fungere</translation>
<translation id="7925285046818567682">Venter på <ph name="HOST_NAME"/>...</translation>
<translation id="1079766198702302550">Blokkér alltid bruk av kameraet</translation>
<translation id="2964845078799970531">Med enkel opplåsing kan du låse opp Chromebooken når den er i nærheten av telefonen din.</translation>
<translation id="2964845078799970531">Med Enkel opplåsing kan du låse opp Chromebooken når den er i nærheten av telefonen din.</translation>
<translation id="5053803681436838483">Ny leveringsadresse</translation>
<translation id="5952256601775839173">Aktivér trefingerklikk for styreflaten.</translation>
<translation id="3280237271814976245">L&amp;agre som...</translation>
......@@ -1289,7 +1289,7 @@ Forresten: Inkognitomodus (<ph name="SHORTCUT_KEY"/>) kan være kjekt neste gang
<translation id="9033857511263905942">&amp;Lim inn</translation>
<translation id="1028690605877243613">Bruk den alternative hylleutformingen.</translation>
<translation id="6736045498964449756">Beklager. Passordene samsvarer ikke!</translation>
<translation id="4558985768677321342">Aktiver enkel opplåsing.</translation>
<translation id="4558985768677321342">Aktiver Enkel opplåsing.</translation>
<translation id="1221825588892235038">Bare utvalg</translation>
<translation id="2227939492629426903">Aktiverer den nye brukerbildemenyen. Når den kombineres med ny profiladministrasjon, vises den nye brukerbildemenyen for administrasjon av profiler. I andre tilfeller viser den en brukerbildemeny med ny utforming, men med samme funksjonalitet som den gamle menyen. I tillegg vises et veiledningskort øverst som ber brukeren om å prøve det nye grensesnittet for administrasjon av profiler.</translation>
<translation id="5582883434676861778"><ph name="PRODUCT_NAME"/> har blokkert tilgangen til <ph name="HOST_NAME"/>. Dette nettstedet har blitt rapportert som et nettfiskingsnettsted.</translation>
......@@ -3323,7 +3323,7 @@ Pass på at du ikke deler privat informasjon.</translation>
<translation id="5917011688104426363">Fokuser adressefelt i søkemodus</translation>
<translation id="3269101346657272573">Skriv inn personlig kode.</translation>
<translation id="2822854841007275488">Arabisk</translation>
<translation id="6559948977408379772">Dette ikonet vises når du og telefonen din er i nærheten og enkel opplåsing er tilgjengelig. Bare klikk for å åpne – ingen passord kreves.</translation>
<translation id="6559948977408379772">Dette ikonet vises når du og telefonen din er i nærheten og Enkel opplåsing er tilgjengelig. Bare klikk for å åpne – ingen passord kreves.</translation>
<translation id="5857090052475505287">Ny mappe</translation>
<translation id="7450732239874446337">Nettverks-IO er sperret.</translation>
<translation id="4003393903129308792">Aktiver én-kopis rasterenhet</translation>
......@@ -3439,7 +3439,7 @@ Pass på at du ikke deler privat informasjon.</translation>
<translation id="1526560967942511387">Dokument uten tittel</translation>
<translation id="3979748722126423326">Aktiver <ph name="NETWORKDEVICE"/></translation>
<translation id="7819857487979277519">PSK (WPA eller RSN)</translation>
<translation id="7561031016893995297">Administrer enheter med enkel opplåsing i kontoinnstillingene dine.</translation>
<translation id="7561031016893995297">Administrer enheter med Enkel opplåsing i kontoinnstillingene dine.</translation>
<translation id="2238379619048995541">Data om frekvenstilstand</translation>
<translation id="4367133129601245178">K&amp;opier bildeadressen</translation>
<translation id="6326175484149238433">Fjern fra Chrome</translation>
......@@ -4439,7 +4439,7 @@ Pass på at du ikke deler privat informasjon.</translation>
<translation id="8148264977957212129">Pinyin inndatametode</translation>
<translation id="2288278176040912387">Platespiller</translation>
<translation id="7772032839648071052">Bekreft passord</translation>
<translation id="3676582787770338561">Slå på enkel opplåsing for denne <ph name="DEVICE_TYPE"/>-enheten.</translation>
<translation id="3676582787770338561">Slå på Enkel opplåsing for denne <ph name="DEVICE_TYPE"/>-enheten.</translation>
<translation id="2871813825302180988">Denne kontoen er allerede i bruk på denne enheten.</translation>
<translation id="1642505962779453775">Det siste kvartalet</translation>
<translation id="3323235640813116393">Gjør det mulig å lagre sider som MHTML – én enkelt tekstfil som inneholder HTML og alle underressurser.</translation>
......
......@@ -3341,7 +3341,7 @@
<translation id="87377425248837826">Включение панелей</translation>
<translation id="2805707493867224476">Разрешить открытие всплывающих окон на всех сайтах</translation>
<translation id="3561217442734750519">Входное значение закрытого ключа должно предоставлять собой допустимый путь.</translation>
<translation id="3582930987043644930">Укажите имя</translation>
<translation id="3582930987043644930">Добавьте имя</translation>
<translation id="2984337792991268709">Сегодня, <ph name="TODAY_DAYTIME"/></translation>
<translation id="5227808808023563348">Найти предыдущий текст</translation>
<translation id="4561162271279554092">Отключить нумерацию устройств средствами WebRTC.</translation>
......
......@@ -2909,7 +2909,7 @@
<translation id="7347751611463936647">Да бисте користили овај додатак, унесите „<ph name="EXTENSION_KEYWORD"/>“ и притисните тастер TAB, а затим унесите команду или обавите претрагу.</translation>
<translation id="878431691778285679">Изгледа да већ управљате корисником са тим именом.<ph name="LINE_BREAK"/>Да ли сте желели да <ph name="BEGIN_LINK"/>увезете корисника <ph name="PROFILE_NAME"/> на овај уређај<ph name="END_LINK"/>?</translation>
<translation id="2912905526406334195"><ph name="HOST"/> жели да користи микрофон.</translation>
<translation id="2805756323405976993">Apps</translation>
<translation id="2805756323405976993">Апликације</translation>
<translation id="5151511998946489774">Идентитет овог веб-сајта је верификовао/ла <ph name="ISSUER"/> и он може јавно да се провери.</translation>
<translation id="1608626060424371292">Уклони овог корисника</translation>
<translation id="2779552785085366231">Ову страницу можете да додате у Покретач апликација</translation>
......
......@@ -2912,7 +2912,7 @@ Lämna inte ut känsliga uppgifter.</translation>
<translation id="7347751611463936647">Om du vill använda det här tillägget skriver du ”<ph name="EXTENSION_KEYWORD"/>”, trycker på tabbtangenten och anger kommandot eller sökningen.</translation>
<translation id="878431691778285679">Det ser ut som om du redan hanterar en användare med det namnet.<ph name="LINE_BREAK"/>Ville du <ph name="BEGIN_LINK"/>importera <ph name="PROFILE_NAME"/> till den här enheten<ph name="END_LINK"/>?</translation>
<translation id="2912905526406334195"><ph name="HOST"/> försöker använda din mikrofon.</translation>
<translation id="2805756323405976993">Apps</translation>
<translation id="2805756323405976993">Appar</translation>
<translation id="5151511998946489774">Webbplatsens identitet har verifierats av <ph name="ISSUER"/> och kan granskas offentligt.</translation>
<translation id="1608626060424371292">Ta bort den här användaren</translation>
<translation id="2779552785085366231">Den här sidan kan läggas till i startprogrammet för appar</translation>
......
......@@ -900,7 +900,7 @@ Maelezo yako ya kuingia katika akaunti yamepitwa na wakati.</translation>
<translation id="2849936225196189499">Muhimu</translation>
<translation id="9001035236599590379">Aina ya MIME</translation>
<translation id="7238207184783103780">Google Wallet haipatikani kwa sasa.</translation>
<translation id="3451859089869683931">Nambari batili ya simu. Tafadhali angalia na ujaribu tena.</translation>
<translation id="3451859089869683931">Nambari ya simu si sahihi. Tafadhali angalia na ujaribu tena.</translation>
<translation id="3464868340187708956">Ongeza Mtumiaji Mpya</translation>
<translation id="7986039047000333986">Usasishaji maalum wa usalama kwa <ph name="PRODUCT_NAME"/> umetekelezwa hivi karibuni; unastahili kuanzisha upya sasa ili uanze kufanya kazi (tutarejesha upya vichupo vyako).</translation>
<translation id="2787591391657537328">Ruhusu vipakuliwa ambavyo vimekatizwa kuendelea au kuanzishwa tena, kwa kutumia kipengee cha menyu ya maudhui cha Endelea.</translation>
......@@ -1699,7 +1699,7 @@ Baada ya kuunda mtumiaji mpya anayesimamiwa, unaweza kusimamia mipangilio yake w
<translation id="4343792725927556911">Mipangilio mipya ya kamera na maikrofoni itaanza kufanya kazi baada ya kupakia upya ukurasa.</translation>
<translation id="3847089579761895589">Unapewa usaidizi. Je, unataka kuendelea?</translation>
<translation id="5634367113401639867">Lo! Kuna kitu kimeharibika wakati wa kusajili kiotomatiki kifaa hiki. Tafadhali jaribu tena kutoka kwenye skrini ya kuingia katika akaunti ukitumia vitufe vya Ctrl-Alt-E kwa pamoja, ua wasiliana na mhudumu wako wa usaidizi.</translation>
<translation id="8452588990572106089">Nambari batili ya kadi. Tafadhali angalia na ujaribu tena.</translation>
<translation id="8452588990572106089">Nambari ya kadi si sahihi. Tafadhali angalia na ujaribu tena.</translation>
<translation id="7701869757853594372">Mishiko ya MTUMIAJI</translation>
<translation id="5714678912774000384">Amilisha kichupo cha mwisho</translation>
<translation id="7654972694106903394">Zima upangaji wa chapa kwa kujaribu ugongaji.</translation>
......@@ -3377,7 +3377,7 @@ Baada ya kuunda mtumiaji mpya anayesimamiwa, unaweza kusimamia mipangilio yake w
<translation id="7317938878466090505"><ph name="PROFILE_NAME"/> (sasa)</translation>
<translation id="6774230405643443657">Inawezesha usimbaji wa picha zinazotofautiana.</translation>
<translation id="2148999191776934271">Inachaji
<ph name="HOUR"/>:<ph name="MINUTE"/> hadi ijae</translation>
Imebakisha <ph name="HOUR"/>:<ph name="MINUTE"/> ijae</translation>
<translation id="6007237601604674381">Kusogezwa kumeshindika. <ph name="ERROR_MESSAGE"/></translation>
<translation id="907841381057066561">Imeshindwa kuunda faili ya muda ya zip wakati wa kufungasha.</translation>
<translation id="1064912851688322329">Tenganisha Akaunti yako ya Google</translation>
......
......@@ -2911,7 +2911,7 @@
<translation id="7347751611463936647">ఈ పొడిగింపును ఉపయోగించడానికి, &quot;<ph name="EXTENSION_KEYWORD"/>&quot; టైప్ చేసి, ఆపై టాబ్ చేసి, ఆపై మీ ఆదేశం లేదా శోధనను టైప్ చెయ్యండి.</translation>
<translation id="878431691778285679">మీరు ఇప్పటికే ఆ పేరుతో ఒక వినియోగదారుని నిర్వహిస్తున్నట్లు కనిపిస్తోంది.<ph name="LINE_BREAK"/>మీరు <ph name="BEGIN_LINK"/><ph name="PROFILE_NAME"/>ని ఈ పరికరానికి దిగుమతి చేయాలనుకుంటున్నారా<ph name="END_LINK"/>?</translation>
<translation id="2912905526406334195"><ph name="HOST"/> మీ మైక్రోఫోన్‌ను ఉపయోగించాలని ఆశిస్తుంది.</translation>
<translation id="2805756323405976993">Apps</translation>
<translation id="2805756323405976993">యాప్స్</translation>
<translation id="5151511998946489774">ఈ వెబ్‌సైట్ యొక్క గుర్తింపు <ph name="ISSUER"/> ద్వారా ధృవీకరించబడింది మరియు బహిరంగంగా పరిశీలించవచ్చు.</translation>
<translation id="1608626060424371292">ఈ వినియోగదారుని తీసివేయండి</translation>
<translation id="2779552785085366231">ఈ పేజీని అనువర్తన లాంచర్‌కి జోడించవచ్చు</translation>
......
......@@ -2871,7 +2871,7 @@
<translation id="7347751611463936647">ในการใช้ส่วนขยายนี้ ให้พิมพ์ &quot;<ph name="EXTENSION_KEYWORD"/>&quot; แล้วกด TAB ตามด้วยคำสั่งหรือการค้นหาของคุณ</translation>
<translation id="878431691778285679">ดูเหมือนว่าคุณกำลังจัดการผู้ใช้ที่ชื่อนั้นอยู่แล้ว<ph name="LINE_BREAK"/>คุณต้องการ <ph name="BEGIN_LINK"/>นำเข้า <ph name="PROFILE_NAME"/> มายังอุปกรณ์นี้<ph name="END_LINK"/>ไหม</translation>
<translation id="2912905526406334195"><ph name="HOST"/> ต้องการใช้ไมโครโฟนของคุณ</translation>
<translation id="2805756323405976993">แอปพลิเคชัน</translation>
<translation id="2805756323405976993">แอป</translation>
<translation id="5151511998946489774">เว็บไซต์นี้ได้รับการยืนยันตัวตนโดย <ph name="ISSUER"/> และสามารถตรวจสอบได้แบบสาธารณะ</translation>
<translation id="1608626060424371292">ลบผู้ใช้รายนี้</translation>
<translation id="2779552785085366231">สามารถเพิ่มหน้านี้ลงในเครื่องเรียกใช้งานแอป</translation>
......
......@@ -441,9 +441,9 @@
<translation id="3855676282923585394">导入书签和设置...</translation>
<translation id="1116694919640316211">关于</translation>
<translation id="8381977081675353473">斯洛伐克语</translation>
<translation id="2849866606957084126">已创建名为<ph name="NEW_PROFILE_NAME"/>的受监管用户。要设置该用户可以浏览哪些网站,您可以访问<ph name="BEGIN_LINK"/>www.chrome.com/manage<ph name="END_LINK"/>,在其中配置相应限制和设置。如果您更改默认设置,<ph name="NEW_PROFILE_NAME"/>将可以浏览所有网站。
<translation id="2849866606957084126">已创建名为<ph name="NEW_PROFILE_NAME"/>的受监管用户。要设置该用户可以浏览哪些网站,您可以访问<ph name="BEGIN_LINK"/>www.chrome.com/manage<ph name="END_LINK"/>,在其中配置相应限制和设置。如果您更改默认设置,<ph name="NEW_PROFILE_NAME"/>将可以浏览所有网站。
有关详细说明,请查看<ph name="ACCOUNT_EMAIL"/>中的电子邮件。</translation>
有关详细说明,请查看<ph name="ACCOUNT_EMAIL"/>中的电子邮件。</translation>
<translation id="4422347585044846479">修改此页的书签</translation>
<translation id="1965624977906726414">无需特殊权限。</translation>
<translation id="2452539774207938933">切换到用户:<ph name="PROFILE_NAME"/></translation>
......@@ -588,7 +588,7 @@
<ph name="PRODUCT_NAME"/>”不会使用不安全的连接。</translation>
<translation id="7851858861565204677">来自其他设备的同步</translation>
<translation id="1662837784918284394">(无)</translation>
<translation id="2573269395582837871">选择照片和名</translation>
<translation id="2573269395582837871">选择照片和名</translation>
<translation id="5910363049092958439">图片存储为(&amp;V)...</translation>
<translation id="8793975580333839911">运行此插件</translation>
<translation id="1864146862702347178">启用滚动联想查询</translation>
......@@ -4172,7 +4172,7 @@
<translation id="1317502925920562130">这是您想要的主页吗?</translation>
<translation id="7763146744708046348">请勿汇总数据 - 这可能会使速度变慢!</translation>
<translation id="8616352574453019203">ID为“<ph name="IMPORT_ID"/>”的共享模块未列入白名单,无法导入。</translation>
<translation id="5626134646977739690"></translation>
<translation id="5626134646977739690"></translation>
<translation id="4899837262951879307">触摸滚动模式。</translation>
<translation id="5854409662653665676">如果您经常遇到问题,可以试着用以下方法解决此模块存在的问题:</translation>
<translation id="3776796446459804932">此扩展程序违反了 Chrome 网上应用店政策。</translation>
......@@ -4852,7 +4852,7 @@
<translation id="3807747707162121253">取消(&amp;C)</translation>
<translation id="202352106777823113">下载时间过长,网络已停止下载。</translation>
<translation id="6155817405098385604">在无法使用 GPU 的情况下,不改用 3D 软件光栅器。</translation>
<translation id="3306897190788753224">暂时停用个性化转化、基于历史记录的建议以及用户典。</translation>
<translation id="3306897190788753224">暂时停用个性化转化、基于历史记录的建议以及用户典。</translation>
<translation id="8941882480823041320">上一个字</translation>
<translation id="2489435327075806094">指针速度:</translation>
<translation id="2574102660421949343">允许来自 <ph name="DOMAIN"/> 的 Cookie。</translation>
......
......@@ -158,7 +158,7 @@
<ph name="ADVANCED_TITLE"/>
पर जाएं और &quot;<ph name="NO_PREFETCH_DESCRIPTION"/>&quot; का चयन रद्द करें.
यदि इससे समस्या का समाधान नहीं होता, तो हम बेहतर प्रदर्शन के लिए इस
विकल्प को पुन: चुनने की अनुशंसा करते हैं.</translation>
विकल्प को पुन: चुनने की सुझाव देते हैं.</translation>
<translation id="6235018212288296708">mDNS ट्रैफ़िक की अनुमति देने के लिए Google Chrome हेतु इनबाउंड नियम.</translation>
<translation id="61852838583753520">&amp;Chrome OS को अपडेट करें</translation>
<translation id="5028489144783860647">Google Chrome आपका डेटा समन्‍वयित नहीं कर सका. कृपया अपना समन्‍वयन पासफ़्रेज़ अपडेट करें.</translation>
......
......@@ -30,6 +30,7 @@
#include "chrome/browser/chromeos/app_mode/kiosk_mode_idle_app_name_notification.h"
#include "chrome/browser/chromeos/boot_times_loader.h"
#include "chrome/browser/chromeos/dbus/cros_dbus_service.h"
#include "chrome/browser/chromeos/device/input_service_proxy.h"
#include "chrome/browser/chromeos/events/event_rewriter.h"
#include "chrome/browser/chromeos/events/event_rewriter_controller.h"
#include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h"
......@@ -769,6 +770,9 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() {
g_browser_process->platform_part()->oom_priority_manager()->Stop();
// Early wake-up of HID device service.
InputServiceProxy::WarmUp();
// Destroy the application name notifier for Kiosk mode.
KioskModeIdleAppNameNotification::Shutdown();
......
......@@ -4,6 +4,7 @@
#include "chrome/browser/chromeos/device/input_service_proxy.h"
#include "base/bind_helpers.h"
#include "base/task_runner_util.h"
#include "content/public/browser/browser_thread.h"
......@@ -100,6 +101,14 @@ InputServiceProxy::~InputServiceProxy() {
base::Unretained(service_observer_.release())));
}
// static
void InputServiceProxy::WarmUp() {
content::BrowserThread::PostTask(
content::BrowserThread::FILE,
FROM_HERE,
base::Bind(base::IgnoreResult(&InputServiceLinux::GetInstance)));
}
void InputServiceProxy::AddObserver(Observer* observer) {
DCHECK(thread_checker_.CalledOnValidThread());
if (observer)
......
......@@ -37,6 +37,9 @@ class InputServiceProxy {
InputServiceProxy();
~InputServiceProxy();
// Used for early init for cashing info about available HID.
static void WarmUp();
void AddObserver(Observer* observer);
void RemoveObserver(Observer* observer);
......
......@@ -19,55 +19,60 @@ namespace {
// Apps/extensions explicitly whitelisted for use in public sessions.
const char* kPublicSessionWhitelist[] = {
// Public sessions in general:
"cbkkbcmdlboombapidmoeolnmdacpkch", // Chrome RDP
"djflhoibgkdhkhhcedjiklpkjnoahfmg", // User Agent Switcher
"iabmpiboiopbgfabjmgeedhcmjenhbla", // VNC Viewer
// Retail mode:
"ehcabepphndocfmgbdkbjibfodelmpbb", // Angry Birds demo
"kgimkbnclbekdkabkpjhpakhhalfanda", // Bejeweled demo
"joodangkbfjnajiiifokapkpmhfnpleo", // Calculator
"fpgfohogebplgnamlafljlcidjedbdeb", // Calendar demo
"hfhhnacclhffhdffklopdkcgdhifgngh", // Camera
"cdjikkcakjcdjemakobkmijmikhkegcj", // Chrome Remote Desktop demo
"jkoildpomkimndcphjpffmephmcmkfhn", // Chromebook Demo App
"ielkookhdphmgbipcfmafkaiagademfp", // Custom bookmarks
"kogjlbfgggambihdjcpijgcbmenblimd", // Custom bookmarks
"ogbkmlkceflgpilgbmbcfbifckpkfacf", // Custom bookmarks
"pbbbjjecobhljkkcenlakfnkmkfkfamd", // Custom bookmarks
"jkbfjmnjcdmhlfpephomoiipbhcoiffb", // Custom bookmarks
"dgmblbpgafgcgpkoiilhjifindhinmai", // Custom bookmarks
"iggnealjakkgfofealilhkkclnbnfnmo", // Custom bookmarks
"lplkobnahgbopmpkdapaihnnojkphahc", // Custom bookmarks
"lejnflfhjpcannpaghnahbedlabpmhoh", // Custom bookmarks
"ebkhfdfghngbimnpgelagnfacdafhaba", // Deezer demo
"npnjdccdffhdndcbeappiamcehbhjibf", // Docs.app demo
"iddohohhpmajlkbejjjcfednjnhlnenk", // Evernote demo
"bjdhhokmhgelphffoafoejjmlfblpdha", // Gmail demo
"mdhnphfgagkpdhndljccoackjjhghlif", // Google Drive demo
"dondgdlndnpianbklfnehgdhkickdjck", // Google Keep demo
"fgjnkhlabjcaajddbaenilcmpcidahll", // Google+ demo
"ifpkhncdnjfipfjlhfidljjffdgklanh", // Google+ Photos demo
"cgmlfbhkckbedohgdepgbkflommbfkep", // Hangouts.app demo
"edhhaiphkklkcfcbnlbpbiepchnkgkpn", // Helper.extension demo
"diehajhcjifpahdplfdkhiboknagmfii", // Kindle demo
"nhpmmldpbfjofkipjaieeomhnmcgihfm", // Menu.app demo
"onbhgdmifjebcabplolilidlpgeknifi", // Music.app demo
"kkkbcoabfhgekpnddfkaphobhinociem", // Netflix demo
"adlphlfdhhjenpgimjochcpelbijkich", // New York Times demo
"cgefhjmlaifaamhhoojmpcnihlbddeki", // Pandora demo
"kpjjigggmcjinapdeipapdcnmnjealll", // Pixlr demo
"aleodiobpjillgfjdkblghiiaegggmcm", // Quickoffice demo
"nifkmgcdokhkjghdlgflonppnefddien", // Sheets demo
"hdmobeajeoanbanmdlabnbnlopepchip", // Slides demo
"dgohlccohkojjgkkfholmobjjoledflp", // Spotify demo
"dhmdaeekeihmajjnmichlhiffffdbpde", // Store.app demo
"jeabmjjifhfcejonjjhccaeigpnnjaak", // TweetDeck demo
"pbdihpaifchmclcmkfdgffnnpfbobefh", // YouTube demo
// Testing extensions:
"ongnjlefhnoajpbodoldndkbkdgfomlp", // Show Managed Storage
// Public sessions in general:
"cbkkbcmdlboombapidmoeolnmdacpkch", // Chrome RDP
"djflhoibgkdhkhhcedjiklpkjnoahfmg", // User Agent Switcher
"iabmpiboiopbgfabjmgeedhcmjenhbla", // VNC Viewer
// Libraries:
"aclofikceldphonlfmghmimkodjdmhck", // Ancoris login component
"eilbnahdgoddoedakcmfkcgfoegeloil", // Ancoris proxy component
"ceehlgckkmkaoggdnjhibffkphfnphmg", // Libdata login
// Retail mode:
"ehcabepphndocfmgbdkbjibfodelmpbb", // Angry Birds demo
"kgimkbnclbekdkabkpjhpakhhalfanda", // Bejeweled demo
"joodangkbfjnajiiifokapkpmhfnpleo", // Calculator
"fpgfohogebplgnamlafljlcidjedbdeb", // Calendar demo
"hfhhnacclhffhdffklopdkcgdhifgngh", // Camera
"cdjikkcakjcdjemakobkmijmikhkegcj", // Chrome Remote Desktop demo
"jkoildpomkimndcphjpffmephmcmkfhn", // Chromebook Demo App
"ielkookhdphmgbipcfmafkaiagademfp", // Custom bookmarks
"kogjlbfgggambihdjcpijgcbmenblimd", // Custom bookmarks
"ogbkmlkceflgpilgbmbcfbifckpkfacf", // Custom bookmarks
"pbbbjjecobhljkkcenlakfnkmkfkfamd", // Custom bookmarks
"jkbfjmnjcdmhlfpephomoiipbhcoiffb", // Custom bookmarks
"dgmblbpgafgcgpkoiilhjifindhinmai", // Custom bookmarks
"iggnealjakkgfofealilhkkclnbnfnmo", // Custom bookmarks
"lplkobnahgbopmpkdapaihnnojkphahc", // Custom bookmarks
"lejnflfhjpcannpaghnahbedlabpmhoh", // Custom bookmarks
"ebkhfdfghngbimnpgelagnfacdafhaba", // Deezer demo
"npnjdccdffhdndcbeappiamcehbhjibf", // Docs.app demo
"iddohohhpmajlkbejjjcfednjnhlnenk", // Evernote demo
"bjdhhokmhgelphffoafoejjmlfblpdha", // Gmail demo
"mdhnphfgagkpdhndljccoackjjhghlif", // Google Drive demo
"dondgdlndnpianbklfnehgdhkickdjck", // Google Keep demo
"fgjnkhlabjcaajddbaenilcmpcidahll", // Google+ demo
"ifpkhncdnjfipfjlhfidljjffdgklanh", // Google+ Photos demo
"cgmlfbhkckbedohgdepgbkflommbfkep", // Hangouts.app demo
"edhhaiphkklkcfcbnlbpbiepchnkgkpn", // Helper.extension demo
"diehajhcjifpahdplfdkhiboknagmfii", // Kindle demo
"nhpmmldpbfjofkipjaieeomhnmcgihfm", // Menu.app demo
"onbhgdmifjebcabplolilidlpgeknifi", // Music.app demo
"kkkbcoabfhgekpnddfkaphobhinociem", // Netflix demo
"adlphlfdhhjenpgimjochcpelbijkich", // New York Times demo
"cgefhjmlaifaamhhoojmpcnihlbddeki", // Pandora demo
"kpjjigggmcjinapdeipapdcnmnjealll", // Pixlr demo
"aleodiobpjillgfjdkblghiiaegggmcm", // Quickoffice demo
"nifkmgcdokhkjghdlgflonppnefddien", // Sheets demo
"hdmobeajeoanbanmdlabnbnlopepchip", // Slides demo
"dgohlccohkojjgkkfholmobjjoledflp", // Spotify demo
"dhmdaeekeihmajjnmichlhiffffdbpde", // Store.app demo
"jeabmjjifhfcejonjjhccaeigpnnjaak", // TweetDeck demo
"pbdihpaifchmclcmkfdgffnnpfbobefh", // YouTube demo
// Testing extensions:
"ongnjlefhnoajpbodoldndkbkdgfomlp", // Show Managed Storage
};
} // namespace
......
......@@ -120,15 +120,19 @@ InputMethodEngine::InputMethodEngine()
composition_cursor_(0),
candidate_window_(new ui::CandidateWindow()),
window_visible_(false),
sent_key_event_(NULL) {}
sent_key_event_(NULL),
profile_(NULL) {
}
InputMethodEngine::~InputMethodEngine() {
if (start_time_.ToInternalValue())
RecordHistogram("WorkingTime", (end_time_ - start_time_).InSeconds());
input_method::InputMethodManager::Get()->RemoveInputMethodExtension(imm_id_);
input_method::InputMethodManager::Get()->RemoveInputMethodExtension(profile_,
imm_id_);
}
void InputMethodEngine::Initialize(
Profile* profile,
scoped_ptr<InputMethodEngineInterface::Observer> observer,
const char* engine_name,
const char* extension_id,
......@@ -139,6 +143,8 @@ void InputMethodEngine::Initialize(
const GURL& input_view) {
DCHECK(observer) << "Observer must not be null.";
profile_ = profile;
// TODO(komatsu): It is probably better to set observer out of Initialize.
observer_ = observer.Pass();
engine_id_ = engine_id;
......@@ -170,7 +176,7 @@ void InputMethodEngine::Initialize(
// TODO(komatsu): It is probably better to call AddInputMethodExtension
// out of Initialize.
manager->AddInputMethodExtension(imm_id_, this);
manager->AddInputMethodExtension(profile, imm_id_, this);
}
const input_method::InputMethodDescriptor& InputMethodEngine::GetDescriptor()
......
......@@ -13,6 +13,8 @@
#include "chromeos/ime/input_method_descriptor.h"
#include "url/gurl.h"
class Profile;
namespace ui {
class CandidateWindow;
class KeyEvent;
......@@ -38,7 +40,8 @@ class InputMethodEngine : public InputMethodEngineInterface {
virtual ~InputMethodEngine();
void Initialize(scoped_ptr<InputMethodEngineInterface::Observer> observer,
void Initialize(Profile* profile,
scoped_ptr<InputMethodEngineInterface::Observer> observer,
const char* engine_name,
const char* extension_id,
const char* engine_id,
......@@ -162,6 +165,9 @@ class InputMethodEngine : public InputMethodEngineInterface {
// The start & end time of using this input method. This is for UMA.
base::Time start_time_;
base::Time end_time_;
// User profile that owns this method.
Profile* profile_;
};
} // namespace chromeos
......
......@@ -175,7 +175,8 @@ class InputMethodEngineTest : public testing::Test {
engine_.reset(new InputMethodEngine());
observer_ = new TestObserver();
scoped_ptr<InputMethodEngineInterface::Observer> observer_ptr(observer_);
engine_->Initialize(observer_ptr.Pass(),
engine_->Initialize(NULL /* profile */,
observer_ptr.Pass(),
"",
whitelisted ? kTestExtensionId : kTestExtensionId2,
kTestImeEngineId,
......
......@@ -478,6 +478,7 @@ void InputMethodManagerImpl::ActivateInputMethodMenuItem(
}
void InputMethodManagerImpl::AddInputMethodExtension(
Profile* profile,
const std::string& id,
InputMethodEngineInterface* engine) {
if (state_ == STATE_TERMINATING)
......@@ -485,7 +486,7 @@ void InputMethodManagerImpl::AddInputMethodExtension(
DCHECK(engine);
profile_engine_map_[GetProfile()][id] = engine;
profile_engine_map_[profile][id] = engine;
if (id == current_input_method_.id()) {
IMEBridge::Get()->SetCurrentEngineHandler(engine);
......@@ -514,7 +515,8 @@ void InputMethodManagerImpl::AddInputMethodExtension(
}
}
void InputMethodManagerImpl::RemoveInputMethodExtension(const std::string& id) {
void InputMethodManagerImpl::RemoveInputMethodExtension(Profile* profile,
const std::string& id) {
if (!extension_ime_util::IsExtensionIME(id))
DVLOG(1) << id << " is not a valid extension input method ID.";
......@@ -524,7 +526,7 @@ void InputMethodManagerImpl::RemoveInputMethodExtension(const std::string& id) {
active_input_method_ids_.erase(i);
extra_input_methods_.erase(id);
EngineMap& engine_map = profile_engine_map_[GetProfile()];
EngineMap& engine_map = profile_engine_map_[profile];
if (IMEBridge::Get()->GetCurrentEngineHandler() == engine_map[id])
IMEBridge::Get()->SetCurrentEngineHandler(NULL);
engine_map.erase(id);
......
......@@ -70,9 +70,11 @@ class InputMethodManagerImpl : public InputMethodManager,
virtual void ChangeInputMethod(const std::string& input_method_id) OVERRIDE;
virtual void ActivateInputMethodMenuItem(const std::string& key) OVERRIDE;
virtual void AddInputMethodExtension(
Profile* profile,
const std::string& id,
InputMethodEngineInterface* instance) OVERRIDE;
virtual void RemoveInputMethodExtension(const std::string& id) OVERRIDE;
virtual void RemoveInputMethodExtension(Profile* profile,
const std::string& id) OVERRIDE;
virtual void GetInputMethodExtensions(
InputMethodDescriptors* result) OVERRIDE;
virtual void SetEnabledExtensionImes(std::vector<std::string>* ids) OVERRIDE;
......@@ -106,6 +108,8 @@ class InputMethodManagerImpl : public InputMethodManager,
scoped_ptr<ComponentExtensionIMEManagerDelegate> delegate);
private:
friend class InputMethodManagerImplTest;
// CandidateWindowController::Observer overrides:
virtual void CandidateClicked(int index) OVERRIDE;
virtual void CandidateWindowOpened() OVERRIDE;
......@@ -167,6 +171,9 @@ class InputMethodManagerImpl : public InputMethodManager,
void ReconfigureIMFramework();
// Gets the current active user profile.
// Note: this method is deprecated as ActiveUserProfile might change
// during asynchronous operations that leads to strange crashes.
// Use with caution!
Profile* GetProfile() const;
scoped_ptr<InputMethodDelegate> delegate_;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment