1read 100read
2012年6月プログラム525: Geckoベースのブラウザを作ろう。 (919) TOP カテ一覧 スレ一覧 2ch元 削除依頼
OpenWatcom C++ (715)
サウンドプログラミング5 (628)
おまいら最強の麻雀プログラムしてみろよ Part6 (404)
【上流社会】MSDNサブスクリプション総合【最先端】 (617)
【次世代】 Jxtaお勉強スレッド 【P2P】 (600)
C#, C♯, C#相談室 Part73 (819)

Geckoベースのブラウザを作ろう。


1 :02/06/08 〜 最終レス :12/07/03
Mozillaも1.0がでてAPIが固定されたことだし、ここいらでGeckoベースのブラウザを開発してみませんか?


2 :
IEでいいよ。
☆★☆★☆★☆★☆★☆★☆ 糸冬 了 ★☆★☆★☆★☆★☆★☆★

3 :
まだ結構実装されてない機能が多いらしいんだけど、どうよ。

4 :
次世代レンダリングエンジン Gikko 搭載。Mac だろーが X11 だろーが
崩れないアスキーアート、半角カナマンセーな奴作ってくれ。

5 :
>>1
XUL スレとややかぶりぎみ。
Mozillaでプログラミング(XUL)
http://pc.2ch.net/test/read.cgi/tech/1019704370/
あと思いつきで立てるんじゃなくて関連リンクくらいはろうよ。
Mozilla Embedding project page
http://www.mozilla.org/catalog/libraries/embed/
Gecko Embedding API Reference
http://www.mozilla.org/projects/embedding/embedapiref/embeddingapiTOC.html
gecko ベースブラウザ
http://galeon.sourceforge.net/
http://www.kmeleon.org/
http://chimera.mozdev.org/

6 :
gecko ベースブラウザに追加
http://www.zawameki.net/izmi/prog/glu.html

7 :
Applications Based on Mozilla Source
http://dmoz.org/Computers/Software/Internet/Clients/WWW/Browsers/Mozilla/Applications_Based_on_Mozilla_Source/

8 :
>5
すいません。たしかに、関連リンクを張っとくべきでした。
gecko ベースブラウザに追加
http://zero.s2.xrea.com/
Delphiでモジラをいじる
http://www02.so-net.ne.jp/~rando/mozilla/
あと、XULベースではないものの開発を考えています。
たとえば、コンポーネントブラウザもしくあgaleonのようなタイプです。
ただ、現在あるコンポーネントブラウザは不完全な部分が多いので新規に作る必要があると思います。
まあ、現在のコンポーネントでとりあえず作って、不満がある部分を次第に改良していくという手もありますが。

9 :
>>1よ、Delphiで作りたいのか?

10 :
BorlandのC++で作ってみたいなあ
でも、COM知らないんだよね<だめじゃん

11 :
私としてはDelphi希望。
でも、c++を希望する人が多ければそっちでも良いです。
Delphiしか自分は分からないけど。

12 :
>>11
DelphiでやるならActiveXコンポーネントを使おうなんて思わないこと。
あれは実装されていない機能が多すぎる。
XPCOMはDelphiのInterface型でそのまま使えるから、
全部移植するくらいのつもりで。

13 :
galeonがあるじゃん。

14 :
>>12
ActiveXコンポーネントが不完全なのはGeckoのコンポーネントブラウザ開発してるので身にしみてます。
>XPCOMはDelphiのInterface型でそのまま使えるから、
>全部移植するくらいのつもりで。
たしかに。ただ、私の知識だけだと、とうてい無理なのでみなさんの強力が不可欠になりますが。
>>13
galeonはLinuxですから。Win版が作りたいですね。理想はクロスプラットフォームなのかもしれませんがとりあえずは。

15 :
人数集めたいならC++でAPIぶったたきだと思うが。
1がDelphiしか使えないならDelでやったほうがいいな。
1が動かんことには意味が無いし。

16 :
Del厨が混じると破綻すると思う

17 :
c++でも良いんですけど、そうするとDelphiでするよりさらに人任せになりそうですし……。
まあ、DelphiもDel厨と呼ばれる程度の技術かもしれませんが、他の言語よりは分かりますから。

18 :
煽りに反応するなって。

19 :
>>14
ならVCLかCLXに移植するの?
個人的にはCLXキボンヌ。

20 :
Winで動くgaleonのバイナリは無いの?

21 :
ブラウザって、2chブラウザ?
まぁ、タブブラウザでシームレスにやると便利だと思うけど。
Delphiなら、参加します。 C++は、VCしかないので無理っす。

22 :
>>21
なるほど。Geckoエンジン搭載のホットゾヌみたいなもん?(藁
それも(・∀・)イイ!!かもしれんね。
まぁ作るとなれば、俺はBCB6買いに逝こうかと。金欠だけど。

23 :
>>19
CLXが一番だとは思いますが、私のDelphi5では使えない。たしか、Delphi6のパーソナルも使えませんよね?
>>20
無いと思います。まあ、K-Meleonやmfcembed、またはGLUなどが似たような感じだと思います。
>>21
べつに、2chブラウザってわけじゃないです。ただ、VCLもしくはCLXのコンポーネントが作れれば一番良いかと。汎用性が広がるので。

24 :
>>21
>ブラウザって、2chブラウザ?
きょうびブラウザと一口に言っても HTML を表示するだけじゃないしね。
1 の目標は何なのかな。

25 :
multizillaでいいやん

26 :
>>23
ならVCLで書くってことかな?
とりあえずMozillaのソース落としてきまふ。

27 :
>>24
確かに、既存の物と同じ物を作っても仕方ないね。
まず仕様を決めないといけないね。
個人的には、連続スレや関連スレをまとめておけるような
機能と、自動巡回がほしいな。

28 :
どうも、2chブラウザ派とタブブラウザ派に別れてますね。
でも、どちらにしろXPCOMをラッピング?したものが必要になるのでそれを開発すると言うことでどうでしょう?
で、その後にそれぞれの開発を行うという形で。

29 :
通常のブラウザの機能の上に、2ch閲覧機能を付けるってのはどかな?
もち2chブラウザはホットゾヌ程度の機能が欲しいな。
しかし >>24さん、自動巡回は避けた方がいいのでは?鯖負担かかるし。

30 :
>>28
そうですね。現在Mozillaのソースをダウソ中なんで何とも言えないんすが、
C++コードをObject Pascalに書き換えることになるすか?
(違う?)

31 :
>>30
MozillaをObjectPascalで書き直すのか!?

32 :
>>31
それは>>1さんに聞いてくれYo。

33 :
>>29
そういうのも良いですね。
>>30
一応そういうイメージです。ただ、MozillaはデカいしXULでUIが記述されているのでK-Meleonかmfcembed当たりが妥当ですね。
で、その後コンポーネント化(VCL)しようかと。

34 :
となると大変だなオイ。
まぁ、ソースのダウソ終わるの待って戻ってきまふ。

35 :
C++ → ObjectPascal の文法変換補助ツール作った方がよさそうだね。
バグも入り込まないし、バージョンアップにも対応できるし。
多重継承なんかを移植するためのポリシーとか、決めないと保守
できなくなりそう。

36 :
MozillaのブラウザエンジンはそのままC++でコンパイルして、
XPCOMクライアントをObjectPascalで書くんじゃないの?
Mozillaを書き直すって壮大なネタとしか思えないんだが。

37 :
んー、どっちかといえば >>36 に賛成っぽく。
うぅ・・・寝る[w

38 :
>>34-36
? 
べつに33はMozillaそのものを書き直すって意味じゃないですよ。
むしろ、mfcembedの変換です。
誤解を招くような表現をしていたのならすみません。

39 :
>MozillaのブラウザエンジンはそのままC++でコンパイルして、
>XPCOMクライアントをObjectPascalで書くんじゃないの?
と言ってることは同じだと思います。

40 :

    ∧,,∧  
   ミ,,゚Д゚彡
    ミ つ旦)~~
  〜と,,,~),,~) 
VCLで書いたものCLXに書き直しくらいなら
お手伝いできるかも。
WinAPIは使えないけどね。

41 :
>>40
たぶん、XPCOM自体がクロスプラットフォームを意識したものなのでWinAPIを使わなくても出来る……、はず。

42 :
IEコンポーネントをペタリ、で完成。

43 :
今MozillaのIDLをMakefile順に手作業でObjectPascalに変換してるんだけど、
neckoの順番に鳴ったあたりでウトゥ。
いつも2段で使ってるタスクバーにスクロールバーが(;´Д`)
手作業だから絶対ミスはいるだろうしなぁ…
XPIDL2PAS(仮名)は作ったほうが絶対いいと思う。

44 :

    ∧,,∧  
   ミ,,゚Д゚彡
    ミ つ旦)~~
  〜と,,,~),,~) 
 おっと、失敗。
CLXを使うなら
WinAPIを使っちゃ意味ないけど。
ってことが言いたいでした。
>>1さんには伝わってるかな。

45 :
>>44
あっ、そういうことでしたか。

46 :
Gackt 仕様

47 :
んじゃ、>>36の方針でいいんすね。
ブラウザエンジンならお手伝いできますが。忙しくなければ。[w
僕はC++屋なんで・・。

48 :
XPCOM http://www.mozilla.org/projects/xpcom/
とりあえず、勉強しぃつつコードで遊んでおこうかと。

49 :
とりあえず、XPCOMに関する日本語テキストがあったので載っけときます。
http://www-6.ibm.com/jp/developerworks/components/010824/j_co-xpcom.html
http://www-6.ibm.com/jp/developerworks/components/010824/j_co-xpcom2.html
http://www-6.ibm.com/jp/developerworks/components/010824/j_co-xpcom3.html
http://www-6.ibm.com/jp/developerworks/components/010824/j_co-xpcom4.html

50 :
>49
訂正。URL間違えてました。
http://www-6.ibm.com/jp/developerworks/components/010907/j_co-xpcom2.html
http://www-6.ibm.com/jp/developerworks/components/010824/j_co-xpcom.html
http://www-6.ibm.com/jp/developerworks/components/010907/j_co-xpcom2.html
http://www-6.ibm.com/jp/developerworks/components/010907/j_co-xpcom3.html
http://www-6.ibm.com/jp/developerworks/components/010928/j_co-xpcom4.html

51 :
XPCOMなんて調べてる暇があったら、COM+に精通した方が、相当マシ。

52 :
COM+なんて調べてる暇があったら、WindowsDNAに精通した方が、相当マシ。

53 :
WindowsDNAなんて調べてる暇があったら、JUST Windowsに精通した方が、相当マシ。

54 :
ここは窓厨のたまり場ですか?

55 :
JUST Windows なんて調べてる暇があったら、MS-DOS 非公開システムコールに精通した方が、相当マシ。

56 :
結論:
XPCOMなんて調べてる暇があったら、MS-DOS 非公開システムコールに精通した方が、相当マシ。
ということでよろしいか?

57 :
52->56
を要約するとwindowsに精通するならLinuxシステムコール
に精通したほうが相当マシっていうことでよろしいか?

58 :
>>50
thx。マターリ読んでみるよ。
しかしこのMozilla、コンパイルだけでも面倒だなぁ。
俺なりに色々いじってみようかと。>>1さんも試されては(藁

59 :
>>58
っていかフリーコンパイラ(gccやbcc)でコンパイル出来ないのが致命的だ。
vc++を誰かから借りてこないと。

60 :
借りるな、ライセンス違反だ。
MSから.NET Framework SDKとPlatformSDKを落としてこい。

61 :
おもしろそうなスレだと思ったが>>1が割れだと知って急に萎えた

62 :
>>59
それは自己開拓で逝こうYo。
IDE使えば楽だし。
しかしソースにPerl混じってるなぁ・・・。これ何だろ。(藁

63 :
自己開拓ってなんだよ?
割れ応援か?

64 :
あっ、そういや、友達に焼いてもらうのも割れになるな。
ってことは、gccとかでやる方法を見つけるしかないのか。
まあ、UNIX系はgccだと思うから、原理的には出来そうな気もするけど。
とりあえず、色々考えてみます。

65 :
不当なほどに高い金をゲイシに払ってVCを買った住人たちが怒っています

66 :
>>64
>>60

67 :
1は真性

68 :
誰かActiveXにしてくれ。

69 :
現在、NET Framework SDKをDL中。
これの存在には気づかなかった、っていうか、よく知らなかった。
正直、MSの.NETはあまり自分に関係ないと思ってたから。(別に他意はありません)
とりあえず、コンパイラがないことにははじまらんからな。>>60サンクスです。

70 :
ちょっと誤解あったっぽかったかな。
要はVC以外のIDE上でMozilla-embeddingを作ろうかと。
何もmakefile書けとは言わんし、VCは使いたくないし。
embeddingができればVCLに起こせる、と。
>>68
既出。(藁

71 :
ちょっと情報として
http://bugzilla.mozilla.org/show_bug.cgi?id=62773
Make Mozilla buildable with Borland free compiler
http://bugzilla.mozilla.org/show_bug.cgi?id=134113
make mozilla build on win32 using GCC
後者は cygwin 使って NSPR の build までは行ったんだが4月でとまってしもた。あと一息なのに〜

72 :
暇な時にマターリと実験中。
いつできるかは不明。
ところで、>>1さん、何か進展は?

73 :
とりあえず、cのコンパイルができんのでk−melonのソースを眺めて研究中。
カメのごとき歩みなので、いつ形になるかは不明。マターリいきましょう。

74 :
>>73
k-meleonは大きすぎるからmfcembedかwinembedから始めたほうがいいよ。
自分はDelphiでNS_InitEmbeddingを「実行」までは出来た。
まだListener関連がほとんど出来てないからブラウザまでは程遠いけど…。
ていうか、XPIDL2PASを作ったほうマジでいいかも。

75 :
関連リンクを抜き出してまとめてみました。
http://users.hoops.jp/foolish-guy/
たいしたことじゃないのでsageで書きます。

76 :
僕が作ってるブラウザもUPしときました。未完成ですけどw
ホントに最小限のブラウジング機能のみです。
ソース(Delphi)もつけているので参考になれば良いんですけど…
>>8
Delphiでモジラをいじる
http://www02.so-net.ne.jp/~rando/mozilla/
で紹介されているコンポを使用しています。

77 :
>>75
関連スレとして
Mozillaでプログラミング(XUL)
も挙げてるけど、一応ここの主旨とは違うと思われ。
ま、ここの人間が決めることだけど。。。

78 :
>>76
で、一応落としてみたけど、なんかいきなり強制終了したYo!
「Delphiでモジラをいじる」にあるコンポを
自分で導入しなきゃならないのかな。。。
とりあえず、期待してるのでもうしばらく様子をうかがってみる。

79 :
>>75さんありがd。
Mozilla ソースに本格的に当たりたいが、今ちょっと時間ないモード。
こっちもビルド出来次第ageまふ。
>>77
(・∀・)イイ!!と思うよ。MozillaとXULは深い関係だし。

80 :
>>74
そうですね。確かにそっちの方が基本だから良いですね。
>XPIDL2PASを作ったほうマジでいいかも。
たしかに、これは考えた方が良いかも

81 :
FoolishGuyさん、関連リンクを抜き出してくださりどうもです。
ちょうど、>>76の記事が出る前にDLしたので、もうこのレベルのものが出来たのかと驚きました。
あと、「Delphiでモジラをいじる」あるコンポ、つまり、TMOZILLABrowserを利用してるなら以下の作業をしないと利用出来ません。
>レジストリの「HKEY_LOCAL_MACHINE\Software」に「BinDirectoryPath」と言うキーを作り、値にMozillaのあるPathをDirectoryに指定しなさい。(場合によっては必要ない作業です)
> cd "mozctl.dllのある場所(おそらくMozilla.exeのあるディレクトリ)"
> regsvr32 mozctlx.dllとしてmozctl.dllを登録してください。そうしないとエンジンを gecko にすると、「クラス名が登録されていません」とエラーが出ます。
※Win98は「フォルダ移動後C:\WINDOWS\SYSTEM\regsvr32 mozctlx.dll」
あと、私もTMOZILLABROWSERで作ったヤツならあるんだけど、一応UPした方が良いかな?

82 :
mazilla mozilla
ttp://www.symphonyinc.co.jp/mozilla/mazmoz/mazmoz_j/index.html
MacでEmbedを行っているサイトのようです。Winで作る際にも参考になるのではと思います。

83 :
ゲームにうつつを抜かしてレスが遅れました。申し訳ない。
>>77
関連スレ -> 参考スレ にしたほうがいいかな?
て、もう直してるけどw
>>79
>Mozilla ソースに本格的に当たりたいが、今ちょっと時間ないモード。
>こっちもビルド出来次第ageまふ。
楽しみにしてます。がんばってください。
>>81
勝手ながら利用法をコピペさせていただきました。
もし不都合があれば言ってください。
>あと、私もTMOZILLABROWSERで作ったヤツならあるんだけど、一応UPした方が良いかな?
是非UPしてもらいたいです。
僕のじゃヘタレ過ぎて参考にならない可能性が高いですからw
>>82
参考URLに追加させて頂きました。

84 :
一応、TMozillaBrowserのサンプルをUPしときます。
最低限、これ以上のものを目指して頑張りましょう!
ttp://jp.y42.briefcase.yahoo.co.jp/bc/erbx2002/lst?&.dir=/&.src=bc&.view=l&.last=1

85 :
>>84
おぉ、MDI形式ですか。
IEエンジンとGeckoエンジンを使い分けれるようになっているんですね。凄いです。
TWebBrowserをインストールしていなかったのでコンパイルはできませんでしたがw
それと、成果物のリンクに追加させて頂きました。
不都合があれば言ってください。
あと、TMozillaBrowserについて。
どうもスラッシュドットジャパンに行こうとすると落ちるようですね。
(´-`).。oO(原因はなんだろう....)

86 :
言い忘れてたことが一つ。
僕、Delphiに関しては素人同然です。
今回のサンプルを作る時に初めて触りました。
なので、今後はC/C++のプロジェクトが立ち上がればそっちに移りたいな〜とか
考えたりしてます。
Delphiが好きな人、ゴメンナサイ。
C/C++が好きな人、ヨロシクお願いします。
ま〜、当分はDelphiでやっていくことになりそうな雰囲気ですがw

87 :
IEベースなら厨房でも簡単に作れるのに。
やっぱ使い物にならんな、Geckoはよ。

88 :
>>87
IEコンポーネントブラウザも立ち上がりは似たようなもんだったさね。
>>all
がんがって下さいね。応援してます。そして期待しています。

89 :
>>87
厨房がクソソフトばらまくのは、VB が出た時だけで十分

90 :
>>87
MS に Solaris 版 IE の開発を再開しろと言ってくれ。
Sparc Solaris と Intel Solaris 混在環境なので、
どっち版もリリースされている Mozilla は漏れにとって非常にありがたい。

91 :
もうちょっと勉強してからソースに当たろうかと思うこの頃。
STLが混じってることに気づいて・・・。(汗
その辺の本探してこようかと。
>>90
Solarisユーザさんですか・・・。
僕もSolaris試してみたいんだけど、メディアキットしか無い・・・。
おっと。スレ違いかな。<俺
>>86
C++屋さんですかー。よろしくっス。
そらそうと、Mozilla-embed のコンパイルしたことあります?
俺はちょっと苦戦気味で・・・。

92 :
>>91
すいません、無いです、、、
今度、暇があれば挑戦してみようかな。

93 :
ただいま、資料を読んで勉強中。
でも、cのしかないんだよね……。
そういえば、74さん、どうやってNS_InitEmbeddingを「実行」したんですか?
出来れば、参考に教えてください。

94 :
>>93
extern "C"指令のついている関数は、external 'xx.dll'で大体使えます。
で、まずはNS_InitXPCOM2、NS_ShutdownXPCOM、NS_GetComponentManagerあたりを使えるようにします。
つぎに、do_CreateInstanceをC++のソースからPascalに移植。
続いてNS_InitEmbedding、NS_TermEmbeddingも移植。
あとは、必要なIDLをPascalに変換。
これで実行できます。
こいつで取得したインターフェースはちゃんとas演算子も機能します。
#Mozillaって900近いIDLがあったのか…。やっぱりXPIDL2PAS作らないと…

95 :
>>94
どうもありがとうございました。
ちと、自分にはレベルが高い部分もあるので、理解するのに時間がかかりそうですが、やってみようと思います。

96 :
xpidlを改造してPascalに暫定対応。
#ただ、OPの言語仕様上そのままコンパイルを通るものは作れませんでした。
constでの動作が怪しいけど、その辺は勘弁。
適当なファイルにコピペして使ってください。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1024228628
あと、手抜きのnsXPCOM.pasも上げました。
Delphiの人は使ってみてできればバグレポートしてください。

97 :
>>96
成果物のリンクに追加させて頂きました。
問題があればご連絡を。
これからはヒッソリ更新して逝くので、気が向いたら見に来てください。
運が良ければ更新されてるかも。

98 :
FoolishGuyさんのサイトに張ってあるリンク
Make Mozilla buildable with Borland free compiler
これ、つまりどーなってるんでしょうか
えーご苦手なんでわかりません
誰か教えて

99 :
>>98
正直言って、僕も英語は苦手ですw
BCCでMozillaをBuildしよう!的な内容だとは思うのですが、
やり方まではちょっと…
検討違いなこと言ってるかもしれません。
間違ってたらご指摘ください。>分る人

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
C#は糞2.0 (797)
C#は糞2.0 (797)
機械語なら俺に質問しろ! (924)
プログラムできないやつが適当に話を合わせるスレ (753)
【コボル】COBOL不要論【ただのDSLだよね?】 (331)
最近の若者はUNIX/LINUXを使えなさ過ぎる (375)
--log9.info------------------
この旨さやめられないぜ☆JPS 8箱目 (273)
zippoの燃料何を使っている? (782)
■■ヘビースモーカースレッド■■ (415)
アークロイヤルスレッド 八箱目 (453)
HOPE (ホープ)−4 (526)
100円ライター (336)
電子タバコのグリセリンが危険だと主張するスレ (592)
噛みタバコ(コペンハーゲン) (373)
両切り煙草総合スレ (251)
Caster キャスター 総合スレッド 6箱目 (599)
マーベラスを語ろう (639)
アメスピ【無添加&無着香】マニトウ (698)
【電子タバコ】Blue Cig Japan 3本目【ショップ】 (847)
【義務】パイプとタバコの海外通販 vol.5【上等】 (834)
1日5本以下しか吸わない人が淡々と語り合うスレ6 (630)
パイプたばこ談話・非着香3 (485)
--log55.com------------------
紅白出場者予想スレ 2
【ハスキー】青江三奈を語るスレ【ボイス】
団塊世代がいなくなる頃には演歌も終わる
=■☆●市川由紀乃さん復帰してほしい!●☆■=
紫艶スレ
【美熟女】石原詢子【48歳】
愛煙家
香西かおり