“他のウェブサイトからの拡張機能の追加
Google では、より安全にウェブを閲覧できる方法を常に追求しています。そのため今回、Chrome ウェブストア以外からブラウザに拡張機能を追加する方法を変更しました。以前は、どのウェブサイトでも、ブラウザに拡張機能を追加するように指示することができました。しかし、Google Chrome の最新版では、[拡張機能] ページを通じて拡張機能を追加することにより、これらをインストールするようにユーザーが Chrome に明示することになります。
変更した理由
ウェブ上でのユーザーの安全を確保するため、ウェブストアにある拡張機能はすべて、Google のアナリストとエンジニアのチームが詳細に調査しています。このチームは、悪意のあるアプリケーションや拡張機能を検出して、ウェブストアからインストールされるのを阻止することを使命としています。他のウェブサイトから指示される拡張機能のセキュリティを、Google が保証することはできません。たとえば、オンライン ハッカーが、悪意のある拡張機能のインストールを自動的に起動するウェブサイトを作成することがあります。こうした拡張機能は、ユーザーがウェブに入力する情報を秘密裏に追跡するように設計されていることが多く、ハッカーはその情報を悪用することができます。
今回のインストール プロセスの更新により、拡張機能のインストールをウェブサイトが自動的に起動することはできなくなり、Chrome に追加する拡張機能のユーザーによる管理が強化されました。
(中略)
他のウェブサイトから拡張機能を追加する手順
信頼できるウェブサイトからのみ拡張機能を追加することをおすすめします。Chrome に他のウェブサイトの拡張機能を追加する手順は次のとおりです:
そのウェブサイトから拡張機能ファイルをダウンロードし、パソコンに保存します。
”
ブラウザのツールバーにあるレンチ アイコンをクリックします。
[ツール] > [拡張機能] を選択します。
パソコンに保存した拡張機能ファイルを探し、[拡張機能] ページにファイルをドラッグします。
表示されるダイアログで、拡張機能への許可のリストを確認します。インストールする場合は、[インストール] をクリックします。
“Q5 「You Tube」などの動画投稿サイトの閲覧についても、その際にキャッシュが作成されるため、違法になるのですか。
違法ではなく、刑罰の対象とはなりません。動画投稿サイトにおいては、データをダウンロードしながら再生するという仕組みのものがあり、この場合、動画の閲覧に際して、複製(録音又は録画)が伴うことになります。しかしながら、このような複製(キャッシュ)に関しては、第47条の8(電子計算機における著作物利用に伴う複製)の規定が適用されることにより著作権侵害には該当せず、「著作権又は著作隣接権を侵害した」という要件を満たしません。
”
“—まずは全体像から伺います。なぜChromeを構築したのですか。最初の発表以来、Googleの動機に変化はありましたか。
Pichai氏:そもそもは、Googleがウェブを基盤に構築されている、ということに端を発していました。われわれはウェブから多くの恩恵を受けていました。Google検索は重要であり、ウェブにおいて今までで最も重要なアプリケーションの1つでした。人々はブラウザを通してあらゆるものにアクセスしていました。そして、そこに選択肢を持つことは、われわれにとって重要でした。
われわれが(ウェブ)アプリの記述に着手した2004年の話をしましょう。「Gmail」が登場し、「Google Maps」が登場しました。われわれがアプリケーションを本当に牽引するためには、その基盤となる素晴らしいプラットフォーム、そして、ある場合には基盤となるハードウェアとの深い部分での統合が必要だ、ということに気づきました。われわれにとって、その基盤となるプラットフォームはブラウザでした。そして、そこで発言権を持つことは極めて重要でした。われわれは「Gears」に取り組んでおり、これに影響を及ぼすはるかに強力な手段はブラウザを開発することだと悟りました。
Chromeという旅を続ける中で、それはより大きな意味を持つようになった、と私は考えています。ユーザーはオンラインやクラウド上にいますが、扱わなければならないデバイスの数がとても多くなっています。われわれが取り組んでいるChromeとクラウドアプリはいずれも、それを結びつけて、ユーザーがシームレスなオンライン体験を持てるように助けます。Chromeはそこで途方もなく大きな役割を果たします。Chromeは、あらゆるプラットフォームで動作するように設計された数少ない製品の1つです。開発者の立場から言うと、一度だけ記述して、インストールベース全体に展開することが可能なブラウザベースアプリへのショートカットをユーザーに提供できます。
”
“Q2:YouTubeやニコニコ動画などのストリーミングサービスを閲覧するとPC内にキャッシュが生成されるので処罰対象?
A2:最終的には裁判所の判断ですが、その可能性は低いと思います。
解説:今回の刑罰化の条文をおさらいしましょう。処罰対象は、「1)有償の著作物等の、2)著作権・著作隣接権を侵害する自動公衆送信を、3)受信して行うデジタル方式の録音・録画を、4)そうと知りながら行って著作権等を侵害した者」です(新119条3項)。そもそもアップが適法だったプロモーション動画などの場合、2)「著作権・著作隣接権を侵害する自動公衆送信」ではない。よって、個人利用のためにそれを無許可ダウンロードしても処罰対象になりません(お勧めはしませんが)。他方、アップ自体が無許可でされたいわゆる「違法動画」の場合、それがストリーミングサービスであっても2)「自動公衆送信」には違いないので、対象動画にはなります。
問題は、いわゆる「ストリーミング」視聴の場合には、ユーザー側で恒久的な保存は通常されず、キャッシュ保存程度ですね。ですから、ブラウザー視聴に技術的に伴うデータ保存などでも3)「録音・録画」にあたるかが、疑問として指摘されました。
ただ、著作権法には別な箇所で、まさにこうした場合を想定したコンピューターでのデータ保存を認める例外規定があります(47条の8)。そして、「ダウンロード刑罰化」の規定には、著作権法の他の条文で適法と認められる利用まで処罰対象にするような効力はない。
文化庁も従前から、YouTubeなどの視聴は違法でないという立場です。今回の立法過程でも、見る限り「視聴」の取り締まりは議論されておらず、ストリーミング閲覧まで取り締まるとすれば不意打ち以外の何者でもないでしょう。
人に刑罰を課す以上、法の条文は明確でなければならないという「罪刑法定主義」からすれば、「ストリーミング的な視聴」も処罰したいならそうはっきりわかる条文にすべきだし、逆にいえば今回の条文で刑事責任を問うのは難しいと思います。無論、そういった誤った逮捕や起訴がされないように、注視して行くことも大切ですね。
”
“プログラミング = innerHTML 仮説
冒頭の JS 出身 WebKit 開発者にとってプログラミングとは何なのだろうとよく考える. JS でさわる DOM はツリーだから, 結局はツリー操作だというかもしれない. 私もそう思っていたけれど, 最近は気が変わりつつある.
DOM には innerHTML があり, innerHTML がプログラミングモデルに与えている影響は大きい. jQuery を見てもわかるように, HTML 断片と DOM の変換は一部の JS プログラマにとって 欠くことのできない重要なプリミティブになっている. Rails の partial update など サーバ側のフレームワークも innerHTML を前提に作られている. 私の感覚だと innerHTML はものすごい大技で, できれば近づきたくないものに見える. でも HTML フラグメントと DOM の上で育ったプログラマにとっての innerHTML は, 私にとってのポインタ演算みたいなものかもしれない. ポインタに “*” や “&” をつけるとき私がいちいちキャッシュミスやアラインメントを気にしないように, innerHTML を使う彼らの脳裏に HTML パーサの字句解析や文字列連結がよぎることはない, 気がする.
そんな彼らにしてみれば, 私にとってアクロバティックな DOM の操作も jQuery のワンライナーに毛がはえたようなもの. そう考えると件の WebKit 開発者による怒涛の変更も納得できる. 彼は DOM まわりで色々なバグを直している. そして WebKit のややこしい部分では DOM と文字列の往復がたびたびおこる. 彼はまず頭の中で JavaScript を書き, それを C++ に変換しているのかもしれない. その境地からほど遠い身には憶測しかできないけれど.
”
“use strict”
niw:
最近、仕事場が引っ越をしました。
結果、自宅からはちょっと徒歩で通うのは色々な意味で困難になったので毎日路面電車に乗っているのですが、なんていうか路面電車が走っている、坂のある街に住んでるっていうところだけ切り取ると、魔女の宅急便のようなあるいは港町の風光明媚な日常が勝手に想起されるのですが、実際にはどう見ても麻薬の売買です本当にありがとうござました、のような車窓の路面電車だったり、路駐の車が道路に対して横向きにしないとずり落ちる程の坂だったりします。
それはさておき、最近のモダンな JavaScript では、必ず
"use strict"というのが書かれていると思います。この使い方を雰囲気ではわかってるけど、正しく理解していない場合が自分も含めて多いと思ったので書きとめたいと思います。
ちなみに、
"use strict"でググると Perl のそれが出てきますが、Perl の話はしません。あとセミコロンの話もしません。
"use strect"とはそもそもなにか
"use strict"は、Use Strict Directiveと呼ばれています。 これは ECMA-262 の 14.1 Directive Prologues and the Use Strict Directive によって示されています。A Use Strict Directive is an ExpressionStatement in a Directive Prologue whose StringLiteral is either the exact character sequences
"use strict"or'use strict'. A Use Strict Directive may not contain an EscapeSequence or LineContinuation.つまり、
Directive PrologueのなかのExpressionStatementで、そのStringLiteralが完全に"use strict"か'use strict'に一致するもの、という事ですね。エスケープとか入ってちゃダメよ、とも書いてあります。じゃあ
Directive Prologueとは、となります。それは ECMA-262 の同じセクションで示されています。A Directive Prologue is the longest sequence of ExpressionStatement productions occurring as the initial SourceElement productions of a Program or FunctionBody and where each ExpressionStatement in the sequence consists entirely of a StringLiteral token followed a semicolon. The semicolon may appear explicitly or may be inserted by automatic semicolon insertion. A Directive Prologue may be an empty sequence.
第二文はみんな大好きセミコロンの話なので横においておくと、この無茶苦茶に長い第一文が
Directive Prologueとは何かについて語っています。で、長いのですが注意深く読むと、プログラムや関数の最初に連続して現れる文字列たちのことだとわかります。
"use strict"の例つまり、各々のプログラムや、関数なかの最初にある複数ありうる文字列の中で
"use strict"か'use strict'に完全に一致する文字列がUse Strict Directiveとなります。ということは次のような例が挙げられます。
プログラムの先頭にある
"use strict" // Use Strict Directive var a = 1 …関係ない文字列があってもOK
"use puni puni" "use strict" // Use Strict Directive var a = 1 ...コメントがあっても、スペースがあってもOK
// Comment "use strict" // Use Strict Directive var a = 1 ...
FunctionBodyの中でもOKfunction f() { "use strict" var a = 1 ... }でもこれはダメ
var a = 1 "use strict" // NOT Use Strict Directive ...こういうのもダメ
"us\145 strict" // NOT Use Strict Directive var a = 1 ...
"use strict"があるとどうなるのか
Use Strict Directiveがあると、ECMA-262 の 10.1.1 Strict Mode Code に記載のある通り、文法が Strict Mode になります。ふんわか解釈するとこんな感じです。
- Global code is strict global code if it begins with a Directive Prologue that contains a Use Strict Directive (see 14.1).
プログラムの先頭の
Directive PrologueにUse Strict Directiveがあればそのコード全体が Strict Mode になります。
- Eval code is strict eval code if it begins with a Directive Prologue that contains a Use Strict Directive or if the call to eval is a direct call (see 15.1.2.1.1) to the eval function that is contained in strict mode code.
evalのコードの先頭のDirective PrologueにUse Strict Directiveがあるか、Strict Mode のコードから直接呼び出されるevalのコードは Strict Mode になります。
- Function code that is part of a FunctionDeclaration, FunctionExpression, or accessor PropertyAssignment is strict function code if its FunctionDeclaration, FunctionExpression, or PropertyAssignment is contained in strict mode code or if the function code begins with a Directive Prologue that contains a Use Strict Directive.
- Function code that is supplied as the last argument to the built-in Function constructor is strict function code if the last argument is a String that when processed as a FunctionBody begins with a Directive Prologue that contains a Use Strict Directive.
関数のコードの先頭の
Directive PrologueにUse Strict Directiveがあればその関数全体が Strict Mode になります。あるいは、その関数を定義する場所が Strict Mode であればその場合も Strict Mode になります。
"use strict"の意地悪な例
"use strict"の含まれるコードやevalの中身、関数の中身はその全体が Strict Mode になるところがポイントです。 ですので、わりと稀有なというかかなり意地悪な例としてはこんなのが考えられます。"us\145 puni puni" "use strict" // Use Strict Directive var a = 1 ...まずプログラムの先頭の文字列たちのなかにあるので、
"use strict"は正しいUse Strict Directiveです。ですのでコード全体が Strict Mode になります。 しかし Strict Mode では文字列中での\nnnによる8進数のエスケープは許されませんから、1行目の\145は SyntaxError です。ということで以下のありがちな思い込みは誤りです。
"use strict"は先頭にないといけない"use strict"と書いた以降が Strict Mode になる最近一部で有名なあの言語のソースでも誤って使われていたりするので気をつけましょう。 これは Strict Mode な気分でコード書いてんねんで、っていう意思表示には十分ですが、機能していません。
"use strict"があるとどうなるのか手抜きなのですが、ECMA-262 の Annex C - The Strict Mode of ECMAScript に詳しいです。全部列挙するのは大変なので原文に目をお通しください。
間違いや typo の指摘やアドバイスは @niw まで是非!
では、
"use strict"を使って楽しい JavaScript ライフを!
“BitTorrent は Torque のライブラリとクライアントをアルファ版としてリリースするとともに、開発者サイト Torque Labs を開設してアプリケーションのデモを公開しています。現在公開中のアプリは、.torrent を通常のダウンロードと同様に扱える Chromeプラグイン 「OneClick」、サークル状の UI にドラッグ&ドロップするだけで特定の相手や Twitter / Facebook 経由でファイルを共有できる PaddleOver の2本。”
私の文章に適当な間隔でシャネルとかヴィトンとかはさまってる記事があった。なにこれこわい。
私の記事の転載の、転載であることを明記した文章までそのままに記号的なブランド名+買取、みたいな語を挿入しているので、ある程度のアクセスのある記事を抜き出してコピーして検索されそうな語を入れるロボットなんだろうけど、なにしろ見た目がいやだ。肌を虫が這うおぞましさ。文章は皮膚で書くものだからそれはほとんど生理的な感覚だ。文章のコピーも死ぬと蛆が湧くんだなー。
私の書いたものはなんだかずいぶんたくさんコピーされているので(私はTumblr出身だからそれ自体に悪い印象はない。むしろ愉快だ。役にもたたない他人の駄文をボタンひとつでコピーする手軽で無益でごくごく薄い所有欲)その大半が死んで一部に蛆が沸くのは、私のブログのエントリが更新された後十数分のタイムラグで誰かがまるで私であるかのように更新通知を流し続けるのは、あるいは誰かがそれは自分から盗んだと主張し謝罪と賠償を求めるのは、あるいは改変して古いSNSのコミュニティに自分の文章として掲載するのは、あるいは私の性別と年齢それから子どもを産んでいないことを根拠として文章の公表を止めるよう要求するのは、たくさん読んでもらった税金みたいなものだ、なんて、これっぽっちも思わないね。
それは端的に醜悪な欲望だし、それが延々と存在し続けているのは技術とサービスの不備だ。税金なんて立派そうなものじゃない。税金は合意と手続きの上に成り立っていて蛆の湧いたコピーやなりすましや言いがかりはただの個人の気持ち悪い感情の露出だ。だから私はそれを不当だと言う。インターネットの誰でも読めるところで言う。
インターネットにおける自由の宣言
前文
私たちは自由で開かれたインターネットがよりより世界をもたらすと信じます。インターネットを自由で開かれたものとして維持するために、私たちはコミュニティ、企業、そして国家に対して下記の原則を認識するよう求めます。これらの原則は更なる創造性、イノベーション、そして開かれた社会をもたらすと信じています。
私たちは私たちの自由を守るために国際的な運動に参加します。なぜならこの自由には、そのために戦う価値があると信じるからです。
これらの原則について議論しましょう。賛成でも反対でも、討論を行い、翻訳して、自分自身のものとして、あなたの属するコミュニティとの対話に広げてください。インターネットのみがこの伝播を可能にします。
自由で開かれたインターネットを守る運動に参加してください。
宣言
私たちは自由で開かれたインターネットを支持します。
私たちはインターネット政策を作るに当たって透明で参加型のプロセスを支援し、次の5つの原則を制定します:
- 表現: インターネットを検閲しないこと。
- アクセス: 高速で誰にでも利用可能なネットワークへの万人のアクセスを推進すること。
- オープン性: インターネットを、誰でも自由に接続し、交流し、書き、読み、見て、話し、聴き、作り、イノベーションを起こせるオープンなネットワークとして維持すること。
- イノベーション: 許可を得ることなく革新を起こし、創造する自由を保護すること。新しい技術を妨害しないこと、利用者の行動を技術者に押し付けて罰しないこと。
- プライバシー: プライバシーを保護し、誰もが自分のデータやデバイスがどのように使われるかを制御できるようにすること。
“Declaration of Internet Freedom”
Translated to Japanese By Dominique Chen @dominickchen
私のGit活用術 2012年編
いらないブランチが増えすぎた
$ git branch | grep -v master | xargs git branch -dいらないリモートブランチが増えすぎた
最新のコミットをパッチにしてSkypeで送る
ペアプログラミングで便利。
$ git commit -a -m WIP $ git format-patch HEAD~1 $ open . $ # Skypeのチャットにdrag & drop受け取った人は
$ git am ~/Downloads/0001-WIP.patchDropboxに共有フォルダを作っておくと更に楽です。
前のコミットにブチ込みたい
最近加えたGitのalias: fixup=commit —amend -C HEAD
— Daisuke Goto (@idesaku) May 28, 2012無精者のalias
~/.zshrcにてalias g='git' alias s='git status' alias d='git diff' alias m='git checkout master'
sは特にお勧め。リモートブランチ使いが激しい人向け
~/.gitconfigにて[alias] f = fetch fu = fetch upstream mum = merge upstream/master rum = rebase upstream/master
upstreamを本流にしてる人は便利なはず。リベースの小技
git rebase -i中にどうしてもsで別れてくれない行があるときはeするとパッチ形式で直接編集できる。このブランチをあのブランチにpushしたい
$ git push origin kono_branch:ano_branch俺、最近どんなコミットしたっけ…?
$ git log -p --author=fujimura2つ前までのcommit hashが欲しい
$ git log -2 --pretty='%h'
“iGoogle は 16 か月後の 2013 年 11 月 1 日をもって廃止される予定です。モバイル バージョンは 2012 年 7 月 31 日に廃止されます。
この決定に至った理由
”
最初に iGoogle を発表した 2005 年当時は、パーソナライズされた情報をウェブ アプリやモバイル アプリを使用してリアルタイムで簡単に操作できる日が来ようとは誰も想像していませんでした。Chrome や Android などのプラットフォームで動作する最近のアプリでは、iGoogle のようなサービスの必要性が徐々に失われてきたため、2013 年 11 月 1 日をもって iGoogle を廃止することになりました。16 か月間は iGoogle のデータを簡単に調整、エクスポートできます。
僕も1、2年ぐらい前まで利用してたなー。だいたい天気、時事、野球のニュース、ニコニコ動画のガジェットとかを表示して定期的に見てた。ブラウザーのホームページとしても一時期は利用してたかな? 今は常用してるパソコンのスペックが上がったおかげで、Chromeで、Gmail、Google Reader、livedoor Reader、Google+、Twitter、Qiita、read.crx 2を固定タブとして表示してるのでホームページ自体使わなくなってる。
“そろそろ潮時? 最近ロダの Premium コストは上がった。もしや Paypal のヤンデれによって、 月 Premium しか買えない。 来月の予定は、ロダの Premium だけでなく (どうせ売れない)、VPN のアフィも試したいです。 友人は面白い計画を作った: 俺と友たちのグループの倉庫を VPN 経由で開放 (約 100T ゲームとアニメと同人と音楽)、 ネットの暗号化あり、プライベートIPの匿名性あり、 ひとつひとつファイルを UP する面倒なし、 ファイルの保存期も自分を決められる。 それと、安い VPN のプロバイダーはいっぱいある。速度も悪くない筈。 みんなどうおもう?”
“ミニテルは、1978年にフランス国営郵便電話通信会社によって実験的サービスが開始され、1982年までにはフランス全土でサービスが開始されていた。キーボード付きのブラウン管ディスプレイのターミナル端末が無料で配布されたことにより、電話利用者は企業や一般家庭を問わず、誰でもミニテルを利用した経験を持つとされる。
ミニテルでは、電話帳の検索、飛行機や電車のチケット購入、通信販売、各種データベースの検索、メールやチャットまで使用できた。そのためフランス国内で独自のネットワーク文化が花開いていた。
”
インタラクティブなJavaScriptテストフレームワークTestem
インタラクティブにテストを実行できるの目的として上げてるテスティングフレームワークのtestemがリリースされた。
機能としてはJsTestDriverやBuster.JSのようにサーバをたちあげてブラウザでキャプチャURLにアクセスして実行させる仕組みや、テストの構文も既存のJasmine(デフォルト)やQUnitやMochaと言ったものがアダプタ的に使えるようになっていて、ファイルを保存したら自動でテストを実行して結果を表示する機能や
testem ciを使うことでTAP形式で出力することもできる。機能としては目新しい感じはしないけけど、使い始めてテストを書き始めるまでの短さやテストを書いてすぐその結果が見えるところに作者の意図があるテストフレームワークなのかなと思いました。
実際にtestemを使うには、インストールしてtestemを実行してテストを保存するだけ。
$ npm install testem -g $ testemnpmでインストールしてtestemを実行して、同じディレクトリに.jsファイルにテストを書けば保存する度に自動で実行されて結果が表示される。(.jsファイルは自動的に検出されるが、設定でJsTDやBusterJSのように細かな読み込み方法を書ける)
デフォルトのテストライブラリはJasmineみたいだけど、設定ファイルに書くことでQUnitやMocha等もアダプタで使用できるようになっている。
テストの実行環境はPhantomJSがインストールされてる場合はデフォルトでPhantomJS使われている、JsTDやBusterJSのようにブラウザをキャプチャさせるURLにアクセスさせることで複数のブラウザでテストを実行されて表示される。(CLI上で矢印キーで結果表示の移動ができる)細かな事は作者のスクリーンキャストやReadmeなどを見るといい。
roadmapにはBunyipのようにBrowserStackを利用してテストが実行出来るようにすることや、Travis CI との連携やBuster.JS の構文も使えるようにするなどについてが書かれていて、最近行われてきてたようなことを取り入れてる感じが見られる。
個々の機能は革新的では無いかもしれないけど、個人的にはテストを書いてみようと思ってそれを実行するまでに色々手順が必要だったりして面倒な感じなのが取っ払われていて、インストールしてテストを書いて保存してたら自動で実行されて結果が表示されるというのは、テストへの障壁が減って良い気がします。
直ぐにテストを書き始められるのでテストと対話して書いていける感じになっていて、目的が現れていて今後どうなっていくのか少し気になる感じです。
Chrome for iOSを使う意味は現時点では見出せない
本日 GoogleよりiOS向けのGoogle Chrome (以後 Chrome for iOS) がApp Storeにて配信されました。なので早速ダウンロードして使ってみたのですがiOSを使う人間があえて使う意味はないと感じました。
Google Chromeを使う旨味というのはJavaScriptエンジンであるv8の性能の良さにあると私は感じています。ですがChrome for iOSではv8は使われていません。AppleによるiOS向けアプリ用SDKで提供されているUIWebViewをそのまま使っているだけと思われます。またiOS向けに限らずSafariではNitroと呼ばれるJITに対応しているJavaScriptエンジンが搭載されていますが、UIWebViewではJITは無効にされています。なのでiOS向けのSafari (以後 Safari for iOS) と比較してChrome for iOSはJavaScriptの動作が遙かに遅くならざるを得なくなってしまっています。
もちろんBlobBuilderやWeb NotificationsといったGNU/LinuxやMac OS Xで動作するGoogle Chromeがサポートしている少し新しめの技術もChrome for iOSでは使うことが出来ません。WebKitのバージョンもSafari for iOSと同じ物になるので
Function.prototype.bindも使用することができません。当然のようにファイルのアップロードも対応していません。動作がSafari for iOSと全く同じであり、またUser-Agentヘッダーを通じて渡す値もSafari for iOSと似通っているということもありウェブ製作の面で困る点はおそらくではありますが存在しないと思います。ですが、また同時にユーザーとして使う意味も見出せません。また現時点でのiOSは標準で使用するウェブブラウザを変更することができません。なので他のアプリとの連携がまったく出来なくなってしまっています。Safari for iOSで一度開き、ロケーションバーに入れられているURIをコピーして、Chrome for iOSを改めて起動してロケーションバーにそのURIをペーストしなければなりません。これはあまりにも不便です。
GNU/LinuxやMac OS XのGoogle Chromeと情報の共有が出来るという利点もないわけではありません。ですがiOSを使っている人の多くはMac OS Xのユーザーで同様にそちらでもSafariを使っているでしょう。なのでGoogle Chromeと情報の共有が出来るという利点はiOSユーザーに対しては訴求力はまったくないことでしょう。
AppleがApp Storeでの独自エンジンによるウェブブラウザの提供を認めてくれるようになれば速度の面に関しては問題がなくなるのでしょうが、Opera社が何度 求めてもその態度を改めていないので今後も厳しいことでしょう。残念な限りです。


