firefoxのlinux版の黒歴史のお陰か
全くfirefox osに興味が湧きません
というわけでfirefox osのいい話を聞かせて
xperia eで通信できる様になったら起こしてくれ。
0034login:Penguin2013/08/15(木) NY:AN:NY.ANID:h/a1EoSw
Xperia E、俺もポチッた
スマホ板に該当スレがなさげなのがオツやね
0036login:Penguin2013/08/18(日) NY:AN:NY.ANID:wUt34ZZM
ゲソー
ZTE製スマートフォンに「異例のバックドア」の疑い - 米国で問題に
ttp://wirelesswire.jp/Watching_World/201205221253.html
ZTE Score M デバイス上の Android 用 ZTE sync_agent プログラムにおける権限を取得される脆弱性
ttp://jvndb.jvn.jp/ja/contents/2012/JVNDB-2012-002572.html
中国通信機器2社は「安全保障上の脅威」、米下院情報委の報告書草案
ttp://www.afpbb.com/article/politics/2906549/9652941
華為技術(Huawei)製品に中国政府によるスパイ機能が仕組まれるか
ttp://finalvent.cocolog-nifty.com/fareastblog/2012/10/huawei-4fcb.html
確かにゲソー
0041login:Penguin2014/02/11(火) 12:23:56.19ID:6qOkAJQg
共存共栄
0043login:Penguin2014/02/15(土) 20:31:29.81ID:Y5Q/dah1
Flameは国内だといくらするんだろうな
輸入物の方が得だとかいうのは勘弁
ご存知の通り、Firefox 19以降にはPDFビューアが付属しています。
FxOS 1.3はFx28のGeckoを使っているのでPDFを見れるのでは?と
思って試してみました。
Fxに付属のPDFビューアは「pdf.js」というWebアプリで、
下記からデモを試せます。
http://mozilla.github.io/pdf.js/
FxOS 1.3のシミュレータでBrowserを立ち上げ、
上記のデモを試してみたところ、見事、PDFの表示ができました。
ところが、他のサイトのPDFを表示しようとするとFxで見慣れた、
ファイルの処理方法を選択するダイアログが表示されます。
しかも、シミュレータのウインドウの外側で。
1.4のシミュレータではダイアログこそ出てこないものの、
PDFがBrowser内で表示されず、ダウンロードされてしまいます。
まだ上手く動かないのかなぁと思っていたところに、
WebActivityの紹介記事を目にしました。
https://dev.mozilla.jp/2013/01/introducing-web-activities/ 紹介記事を見る限り、WebActivityというのはWindowsの関連付けとか、
DDEに似た何かっぽい感じです。
紹介記事ではWebActivityの仕組みを使ってCameraアプリを呼び出し、
カメラで撮影された画像を取得する例が示されています。
キーになるのはMozActivityというインタフェース。
こいつのコンストラクタに下記のようなオブジェクトを渡してやると
対応するハンドラが起動するようです。
{
name: 'pick',
data: {
type: ['image/png', 'image/jpg', 'image/jpeg']
}
}
ここで、nameが「何をしたいか」を意味している模様。
Windowの関連付けだとopenとかeditとかのアレ。
そしてdata.typeはあからさまにMIMEタイプ。
つまり、とあるタイプのデータに、とある操作をしたいよと
FxOSにお願いすると、しかるべきアプリを呼んで頂ける、と。
ということは、WebActivityを使ってpdf.jsを呼べばいいんじゃね
と思いついちゃったわけです。
思いついたら止まらない。
FxOS先生にお願いする前に、まずはGoogle先生に聞いてみます。
キーワードは「WebActivity」。
公式のAPIリファレンス的なページが引っかかりました。
https://developer.mozilla.org/en-US/docs/Web/API/Web_Activities
うぁ、英語だ・・・
とりあえず、ページ内を「PDF」で検索。
あった。
どうやら nameにview、data.typeにapplication/pdfを
指定してやればよさげ。まんまですな。
でも、表示するPDFを指定する方法が書いてない。
紹介記事では、「URLを開く」の場合、data.urlに対象のURLを
文字列で指定してる。たぶん、これでBrowerが呼ばれるんだろう。
Videoもurlを指定するっぽいし、とりあえずurlで試してみよう。
ということで、Fx33(beta)のWebIDEを起動し、
新規作成ウィザードでアプリのスケルトンを作る。楽だ。 WebIDEが生成するスケルトンはprivilegedなアプリになります。
特権アプリって奴です。
本来はマーケットの登録審査をパスし、
マーケットからインスコすると特権がもらえるらしいですが、
今回はシミュレータを使うので、その辺はスルーっぽいです。
(正確には、マーケットの審査+ユーザの許可で特権付与)
FxOSでアプリを起動したときに読み込まれるHTMLは
manifest.webappのlaunch_pathに書いてあります。
デフォルトでは /index.html です。まんまです。
WebIDEでプロジェクトを開くと、ファイルの一式が
ツリー表示されますが、そのルートにあります。
特権アプリはHTMLの中にスクリプトを書いちゃダメらしく、
スケルトンではエントリポイントになるjsが用意されています。
/js/app.js
大外にはjs使いにはおなじみのおまじないが付いてます。
start()がエントリポイントになってるっぽいので、
ここに追記していくことにしました。
いきなり冷水に飛び込むと心臓麻痺を起こすので、
まずは温め(と思われる)Browserからいってみました。
紹介記事のまんまです。
というか、紹介記事より簡単だった。
紹介記事ではカメラを起動した後、撮影した画像を取得するために
イベントハンドラを使っています。XHR風味です。
一方、Browserの場合、起動しておしまいなのでハンドラの登録とか、
多分不要です。一応、つけときましたが。
ぶっちゃけ、MozActivityをnewするだけ。
さて、いよいよ、本題です。
といっても、違いはdata.typeをapplication/pdfにして、
data.urlをPDFのURLに変えるだけ。
どきどきしつつ、アプリを起動・・・、おお、表示された。
ていうか、字がちっちぇwww (拡大できます)
なんだ簡単じゃん。<びびってたくせに
とりあえず、当初の目的は達成されたわけですが、
人間の欲望には限りがありません。
これでウェブのPDFは見れるけど、SDカードとかに保存したPDFも
見れたらいいよねとふと思ってしまいました。
ちら見した感じでは、SDカードに保存したファイルは
DeviceStorage APIという奴でFileの形で取れるっぽいです。
FileというのはHTMLのinput要素で指定されるあれです。
Fileの中身を読むのに使うのがFileReaderです。まんまです。
FileReaderにはreadAsDataURL()なるメソッドがあります。
data URLはデータをまるっとbase64してURI形式にした文字列。
曲がりなりにもURLなら、こいつを渡して表示させられるかも。
思いついたら止まりません。
とはいえ、DeviceStorage APIの勉強をするのもメンドイので、
馴染み深いXHRで代用してしまいます。
XHRことXMLHttpRequestはAjaxの中核コンポーネントっていうか、
そのものなもので、XMLとかJSONとかHTTPで取得するのに使います。
歴史的経緯で頭にXMLがついていますが、HTTPなら何でも取れます。
単純にHTTPのクライアントです。XMLとか無視しておkです。
XHRは便利なんですが、jsのダウンロード元と同じドメインとしか
通信できません。サーバが応答を返してもGeckoがブロックしやがります。
サーバー側でCORSに対応してくれれば良いんですが、そんなん無理。
2ちゃんのdatが採りたかったら、ひろゆきに頼むのかよって感じです。
使えねーす。これが Same Origin Policy という奴です。
ちなみにこれ、クライアント側のセキュリティとはほぼ無関係と思われ。
攻撃側のサーバを開いておけば通信できちゃうので。
たぶん、サービス提供者側の勝手に使うなという主張に沿った感じの
何かではないかと思われます。ああ、不自由。
ここまでが普通のWebアプリの話。
FxOSではアプリにsystemXHRという特権を与えてやれば
ドメインの壁を抜けられます。
アプリ側ではXHRのコンストラクタに{ mozSystem : true }を渡します。
これでどこでもアクセスし放題。2ちゃんのdatも取れます。
ユーザーの立場の時は、アプリにsystemXHRを要求されたら、
それ本当に必要?とちょっと考えた方が無難です。多分。
XHRは超有名なので使い方は端折りますが、
今回は、send()の前に responseType = 'blob' とやって、
onsuccess で受け取る response をBlobにします。
BlobはFileの汎化で、FileReaderはBlobもFileと同じように読めます。
処理の流れは、XHR→FileReader→MozActivityです。
やってみたら上手くいきました。さくっと。
これら3つが3つともXHR風味なのが素敵なところですが、
それ即ちコールバック使いまくりということなので、
jsに慣れてない人が見るとうんざりかもしれません。
ここまできてなんですが、この方法ではウェブのPDFしかみれません。
XHRの部分をDeviceStorage APIに置き換える必要があります。
あと一歩ですが、眠いのでここまでにします。ごめんね。
そんな分かりきった事を長々やってんなよ
チラシの裏に書いてろチクショウ
Win7(x64)でもブラウザのFirefoxならWebGLが使えるもんだから、
シミュレータの問題だと確信を持つまで時間くった。
Geckoのビルドオプションとか違んだろうけど、そこまで追いきれんわ。
改造といっても、大したことはしていません。
まず、長押しで表示される入力候補文字を定義します。
修正するのは、Keyboardアプリの js/layout/jp-kanji.js です。
alt というプロパティを追加するだけです。
英語入力用の en.js からパクりました。
次に、長押し入力された文字の処理をIMEに追加します。
修正するのは、js/imes/jskanji/jskanji.js です。
VKBのキーが押されると、IMEのclick()という関数が呼び出され、
click()→qNext()→handleNormalKey()と順に呼び出されています。
入力された文字は _inputBuf という配列に格納されます。
handleInputBuf()という関数から呼び出される queryDict()という関数で、
_inputBuf を入力として変換候補が選出されます。
ユーザーが変換候補を選択して未確の入力(の一部)を確定すると、
選択した文字列(漢字など)がinput要素に送られ、それとともに、
当該部分が _inputBuf から掃き出されます。
今回の改造はかな入力の部分だけで変換処理はそのまま流用できるので、
変更するのはhandleNormalKey()のみです。
handleNormalKey()はVKBで押されたキーに対応する文字を _inputBuf に
格納しています。
この際、前回入力されたキーと今回入力されたキーが同じ場合は、
_inputBuf の末尾の文字を50音の次の文字に変更します。
例えば、最初に「あ」が入力されると、_inputBuf には「あ」が格納され、
続いて再度「あ」が入力されると _inputBuf に格納されていた「あ」が
「い」に変化するといった具合です。
一方、最初が「あ」で次が「か」なら _inputBuf は「あか」になります。
長押しで入力された文字は単純に _inputBuf の末尾に追加すれば良いの
ですが、「あ」の列(あ、か、さ、・・・)についてはガラケー方式と
同様の処理になるように細工しています。
これは、IMEに渡されるのは入力された文字だけで、それが単純に
タップで入力されたのか、長押しで入力されたのかの区別がつかない
ためです。このため、入力文字に対応するキートップの文字を
逆引きするためのテーブルを追加して既存の処理とのつじつまを
合わせています。
この辺の処理はガラケー方式での入力は不要と割り切れば捨てられますが、
長押しよりガラケー打ちの方が早く入力できる人がいそうな予感が
したので残してあります。
やっておいてなんですが、やっぱり、長押しではフリック入力には
遠く及ばない感じです。
Keyboardアプリ関連のTipsを1つ。
FxOSアプリのjsでconsole.log()を呼ぶと引数で渡した文字列が
Webコンソールに表示されます。
これを使うとprintfデバッグのようなことができて便利です。
Webコンソールを使うにはまずデバッグ対象のアプリに
アタッチする必要があります。
WebIDEで普通のアプリをデバッグする場合は、
WebIDEからアプリを起動後、画面上部中央にあるコンセントの
アイコンをクリックすればアプリのデバッグが開始し、
Webコンソールが開きます。
さて、Keyboard関連の場合はというと、シミュレータの場合、
インストール済みアプリの一覧が表示できるので、
その中から「System」を選びます。
これで通常のアプリと同様にデバッグができるようになります。
「Build-in Keyboard」なんていうのもありますが、
そっちはキーボードの設定画面なので、console.log()で
IMEの処理を追いかけたい場合は「System」を選ぶ必要があります。
(最初、これが分からなくてちょっと時間をくった)
なお、実機の場合、デフォルトではSystemなどの組み込みアプリは
一覧に出てこないようですが、端末内の定義ファイルを書き換えれば
シミュレータ同様にデバッグできるようです。
0063login:Penguin2014/11/17(月) 18:15:26.84ID:A9HBbE6x
osをアッブデートしたら、起動でこけるようになってしまった。
0064login:Penguin2014/12/15(月) 08:40:27.22ID:+PkPYCda
期待はしてる。
iWnn試用期間切れちゃったけど、Flame使ってる人はどうしているの?
0068login:Penguin2015/11/08(日) 22:09:22.73ID:xM9pV40E
0071login:Penguin2016/02/05(金) 15:36:05.34ID:5rjO6gzO
0075login:Penguin2017/12/29(金) 15:52:19.45ID:S/CsVkMC
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
90JQRQUCH7
0076login:Penguin2018/05/22(火) 09:40:44.66ID:Czl6p0FW
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
37C2R
0077login:Penguin2018/06/13(水) 02:32:06.54ID:OgMFaD2j
FOR-NEXT 10億回ループまとめw追加&補正 Linux版Firefox60.0.2更新記念編
JavaScript(Core i7 8700K、IE11)....................................... 1.271秒 [Win10p64] + (*3)
JavaScript(Pentium Gold G5400、Firefox60.0.2) ..... 1.308秒 [Linux....64] # New ! (*1)
JavaScript(Core i7 8700K、edge)........................................1.329秒 [Win10p64] + (*4)
JavaScript(Core i7 4770K、IE11)....................................... 1.581秒 [Win10. 64] +
JavaScript(Pentium Gold G5400、IE11)......................... 1.589秒 [Win10. 64]
JavaScript(Pentium Gold G5400、edge)..........................1.613秒 [Win10. 64]
JavaScript(Core i7 4770K、edge)........................................2.102秒 [Win10. 64] +
JavaScript(Celeron G1820、IE11) .................................... 2.272秒 [Win10. 64]
JavaScript(Celeron G1820、edge)..................................... 2.992秒 [Win10. 64]
JavaScript(Atom x5-z8300、IE11) ................................... 8.372秒 [Win10. 64] (*2)
JavaScript(Atom x5-z8300、edge).................................... 9.070秒 [Win10. 64] (*2)
JavaScript(Tegra3 1.3GHz、Chrome).............................36.480秒 [Nexus7.....]
JavaScript(Cortex-A9 800MHz、Safari).......................36.521秒 [iPhone4S]
JavaScript(PS4Slim、Netfront) .................................... 130.0. . 秒 [PS4 .] (*5)
# クリーンインストールによる再計測、10秒未満の項目については10回計測の平均値
+ 8700K、4770Kはturbo boostあり
(*1) Linux Mint 18.3 Cinnamon 64bit版
(*2) ドンキ2in1
(*3) IE11 - Internet Explorer 11
(*4) edge - Microsoft Edge
(*5) PlayStation4、CPUリソース割り当てが極端に少ないか、サブCPU担当と予想される
[Win10p64] Windows10pro 64bit版
[Win10. 64] Windows10 64bit版
[Linux....64] Linux Mint 18.3 Cinnamon 64bit版
[PS4 .] PlayStation4
[Nexus7.....] Nexus7-2012
[iPhone4S] iPhone4S
0078login:Penguin2018/07/17(火) 18:16:12.44ID:k1+jS8Iy
これってパソコンにインストールできますか?Andorid-x86 みたいに
0079login:Penguin2018/11/11(日) 17:44:50.76ID:Bd07N8s0
flame向けの最新B2G OSビルドしてみたいが、flameが手に入らない
0083login:Penguin2023/05/09(火) 14:30:24.06ID:PioYU1Aw
好きに情報を抜かせないブラウザを排斥する流れに見えていたが
llvm からも排除され始まったのか?w