hogashi.*

日記から何から

GoogleChrome拡張機能「twitter画像原寸ボタン」ver. 2.0.5公開

 随分長くかかってしまいました、GoogleChrome拡張機能twitter画像原寸ボタン」更新です。

 今回の更新で変更した点で、権限を追加したため、拡張機能が一旦無効となるようです。chromeの右上の横棒三本メニューから「設定」→「拡張機能」と進み、twitter画像原寸ボタンを有効にしてください。
 その際「権限を付与~」などと表示されます。表示にはありますが、閲覧履歴の読み取りはしません(後述)。お使い頂ける方は許可してください。

 またその部分で大分不安な感じになってしまったようで申し訳ありませんでした。その辺りも説明しながら書きます。

 取り急ぎ質問したい!などありましたら、

どちらでもどうぞ。

 あと、やっとFirefoxにも対応しました。次の記事に詳しいので、ご確認ください。
拡張機能「twitter画像原寸ボタンforGreaseTampermonkey」ver.2.0.5公開 - hogashi.*

更新内容

権限

 まず「新たに権限を付与する必要」「閲覧履歴の読み取り」などと出てしまう点ですが、下記の変更点の3番目に使う権限でした。
 閲覧履歴を読み取る訳ではないのですが、タブの操作をするための権限(tabs)が、「閲覧履歴の読み取り」と表示されるようです*1

 この拡張機能は閲覧履歴を読み取ることはしません。
 また「twitter.com 上にある自分のデータの読み取りと変更」も、画像URLを取得してOriginalボタンを表示するくらいなものです。

 総括すると、「個々人のデータを何処かへ送信する」とか「データを悪用する」などといったことはしていません*2

 確認不足で不安なお気持ちにさせてしまったことをお詫びします。申し訳ありませんでした。
 どうしても不安な方は削除なさってください。今までありがとうございました。

主な変更点

 今回は以下3点の更新です。

  1. 画像ツイートにリプライするとき、改行のためにEnterキーを押すと画像が開いてしまって厄介
  2. 画像をクリックしたときのポップアップにはボタンが表示されない
  3. タイムラインにボタンが表示されない

 1つ目。リプライ欄にカーソルがあるうちは、Enterを押しても画像が開かないようになりました。他の場所をクリックしたりして、リプライ欄にカーソルが出ない状態なら、Enterキーで画像が開きます。

 2つ目。画像をクリックした際のポップアップにもOriginalボタンを表示しました。複数画像ツイートのうちの1枚だった場合は、そのツイートのすべての画像が開きます。

 3つ目。ボタン表示周りの挙動を少し改善してみました。目に見えて変わったわけではないのですが、長時間の連続使用でも大丈夫になったのではないかな、と思います(ただこちらでその症状を確認できていないので、絶対直ったとも言えないのが現状です)。
 詳しい説明としては、

  1. 長時間放置したタイムラインでOriginalボタンが表示されないおそれがある
  2. その原因として「ボタン設置時に設定項目を毎度毎度確認していたら、確認に使う機能がエラーを起こして止まっていた」ことが考えられる
  3. よって、設定ページで「設定を保存」ボタンを押した時だけ設定を確認することにする
  4. そのために、設定ページの「設定を保存」ボタンを押したことを、開いているタブへ通知するようにした

 ここでタブ操作の権限(tabs)が必要になったということです。

 権限(tabs)を追加したため、「新たに権限を付与する必要があります」と表示されます。
 このとき、これがなぜか「閲覧履歴の読み取り」という文言で表示されます。
 Googleの公式な文書は以下しか見つかりませんが、「Access your browsing activity」が「閲覧履歴の読み取り」と訳されているものと思います。誤訳な気がしますが……。
Permission Warnings - Google Chrome

 (追記[2016/03/23]:) ご指摘を頂いたので訂正します。
 「閲覧履歴の読み取り」は「Access your browsing activity」の誤訳ではなく、以下のような理由からの文言だったということです(ソース: Read your browsing history permission - Google グループ)。

「タブ操作の権限を使えば、『ユーザが今ブラウズしているページのURLを知ることができる』から、それは"Read your browsing history"(閲覧履歴の読み取り)と言っていいからです」

 つまり、「今までの閲覧履歴は読み取ることはできないが、これからの閲覧情報は読み取ることが可能だ(しかし書き換えはできないためあくまで『読み取り』)」ということです。

 いずれにしても私は、「閲覧履歴の読み取り含めデータの悪用などは一切しません」と主張します。
 権限としては、閲覧履歴の読み取りが可能、ということになってしまいましたので、根拠はソースコードを読んで頂くしかなくなりました……。
 ここで逆に、ソースコードを読んで「閲覧履歴の読み取りをしているじゃないか!」とご指摘頂ける方がいらっしゃいましたらお願い致します。もしそのような場合、それは完全に意図せぬものであり、お詫びとともに対処致します。

 慎重を期す方は、拡張機能の削除をお願いします。ありがとうございました。(追記[2016/03/23]ここまで)

不安な方へ

 chromeにインストールされた拡張機能ソースコードは、実際に見ることが出来ます。

ソースコードの場所

 以下の場所にソースコードが存在します。

  • Windows([ユーザ名]は自分のユーザ名に置き換える):
"C:\Users\[ユーザ名]\AppData\Local\Google\Chrome\User Data\Default\Extensions\kmcomcgcopagkhcbmcmcfhpcmdolfijg"
"~/Library/Application Support/Google/Chrome/kmcomcgcopagkhcbmcmcfhpcmdolfijg"
# "~/.config/google-chrome/kmcomcgcopagkhcbmcmcfhpcmdolfijg" # 古い情報
"~/.config/google-chrome/Default/Extensions/kmcomcgcopagkhcbmcmcfhpcmdolfijg"
 # (修正[2016/03/29])

 「kmcomcgcopagkhcbmcmcfhpcmdolfijg」は、この拡張機能twitter画像原寸ボタン」の拡張機能IDです。
 このIDはChrome拡張機能の一覧で、「デベロッパーモード」をチェックすると確認することが出来ます。もちろん他の拡張機能も同じようにできます。

確認するポイント

 「manifest.json」というテキストファイルに、以下(7~9行目)のように拡張機能で使いたい権限を記載します。

"permissions": [
  "tabs"
]

 これによりその権限を要求します。この拡張機能は「tabs」、タブ操作についての権限を記載しています。
 先述の通り、これはGoogleの文書によれば、英語では「Access your browsing activity」と表示するはずですが、日本語で「閲覧履歴の読み取り」と表示されたようです。

 ちなみに、閲覧履歴の読み書きをするには「history」か「topSites」という権限をここに記載する必要があります。もちろんこの拡張機能には記載していません。
 Googleの文書を再掲します。
Permission Warnings - Google Chrome

見通し

 いくつか頂いていた「保存時の挙動改善」の要望ですが、個人的なポリシーとしてあまり保存機能を付けたくない、というのが現状です。

 画像の保存をスムーズにするには、

のいずれかが良いのではないかと思います。
 特に後者の「Twitter 原寸びゅー」は、画像の保存までできるようです。

 これからもお使い頂ける方はよろしくお願いします。
 これまでとされる方はありがとうございました。

使い方

 twitterの、タイムラインツイート詳細画面画像ツイートに、「Originalボタン」を表示します。
 タイムラインでは、表示されたOriginalボタンを押すと、ツイートに含まれる画像の原寸を新しいタブで表示します。

 ツイート詳細ページでは、表示されたOriginalボタンを押す or Enterキー で、ツイートに含まれる画像の原寸を新しいタブで表示します。

 ※画像の原寸:画像URL「https://pbs.twimg.com/media/(文字列).jpg」の末尾に「:orig」ってつけるのと同じです。
 複数画像のツイートは、一番右から順に1,2,3,4枚目と開きます(最初に1枚目が見えることになります)。

 また、それぞれの機能のオン/オフを設定することができます。

をクリックで、設定画面が開きます。チェックボックスで設定を決め、「設定を保存」ボタンで保存してください。

諸々

 GitHubに公開しています。どんどん改善してください(ご報告頂けるとさらに嬉しいです)。
GitHub - hogashi/twitterOpenOriginalImage: Opens original image to new tab. It's an extension of GoogleChrome.

 この拡張機能による動作の保証はできません。ただ、不具合などありましたらお言い付けください。なるがたけ改善します。
chrome拡張機能「twitter画像原寸表示」の不具合? - hogashi.*

更新履歴

2016.03.19 | ver. 2.0.5 リプライ中はEnterキーで画像が開かないように修正、画像をクリックしたポップアップにもOriginalボタンを表示、タイムラインでのOriginalボタンの表示を安定化
2016.02.06 | ver. 2.0.4 タイムライン上のOriginalボタンを押してもツイートがポップアップしないよう修正
2016.01.22 | ver. 2.0.3 設定項目「Enterキーで画像を開く」を追加
2016.01.13 | ver. 2.0.2 画像URLの「:」以降が何であっても「:orig」と出来るよう改善
2016.01.13 | ver. 2.0.1 画像URLが「:orig:orig」となる不具合を修正
2016.01.01 | ver. 2.0 タイムラインへOriginalボタンの表示、設定画面の追加
2015.12.09 | ver. 1.6.1 twiter公式のツイート及び画像の表示の更新への対応((また)完全に何も動作しない症状を改善)
2015.10.28 | ver. 1.6 twiter公式のツイート及び画像の表示の更新への対応(完全に何も動作しない症状を改善)
2015.10.20 | ver. 1.5.2 Originalボタンが下に入り込んでいたのを公式の操作ボタンと横並びにした
2015.08.02 | ver. 1.5.1 twitter公式の画像表示の更新への対応(画像ツイートへの複数画像ツイートリプライにおける画像が正しく取得されない症状を改善)
2015.07.20 | ver. 1.5 twitter公式の画像表示の更新への対応(複数画像が1枚しか出ない症状を改善)
2015.05.14 | ver. 1.3 画像ツイートに対するリプライ画像ツイートに対応
 2015.03.24 | readme.txtの内容を修正
2015.03.19 | ver. 1.2 動作の改良、複数画像ツイートに対応
2015.02.16 | ver. 1.1 動作の改良、操作方法の追加(Enterキー)
2015.02.15 | ver. 1.0 公開

        • -

*1:historyは使ってないのに……

*2:googleが何をしているかはわかりません。少なくとも私はしていません。