1 :デフォルトの名無しさん:02/06/08 23:31
Mozillaも1.0がでてAPIが固定されたことだし、ここいらでGeckoベースのブラウザを開発してみませんか?


5 :デフォルトの名無しさん:02/06/08 23:51
>>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/

8 :1:02/06/09 00:14
>5
すいません。たしかに、関連リンクを張っとくべきでした。

gecko ベースブラウザに追加
http://zero.s2.xrea.com/
Delphiでモジラをいじる
http://www02.so-net.ne.jp/~rando/mozilla/

あと、XULベースではないものの開発を考えています。
たとえば、コンポーネントブラウザもしくあgaleonのようなタイプです。
ただ、現在あるコンポーネントブラウザは不完全な部分が多いので新規に作る必要があると思います。
まあ、現在のコンポーネントでとりあえず作って、不満がある部分を次第に改良していくという手もありますが。


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

21 :デフォルトの名無しさん:02/06/09 21:17
ブラウザって、2chブラウザ?
まぁ、タブブラウザでシームレスにやると便利だと思うけど。
Delphiなら、参加します。 C++は、VCしかないので無理っす。

24 :デフォルトの名無しさん:02/06/09 21:35
>>21
>ブラウザって、2chブラウザ?
きょうびブラウザと一口に言っても HTML を表示するだけじゃないしね。
1 の目標は何なのかな。


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

49 :1:02/06/10 22:47
とりあえず、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 :1:02/06/10 22:56
>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

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

74 :デフォルトの名無しさん:02/06/14 00:32
>>73
k-meleonは大きすぎるからmfcembedかwinembedから始めたほうがいいよ。

自分はDelphiでNS_InitEmbeddingを「実行」までは出来た。
まだListener関連がほとんど出来てないからブラウザまでは程遠いけど…。
ていうか、XPIDL2PASを作ったほうマジでいいかも。

75 :FoolishGuy:02/06/14 17:46
関連リンクを抜き出してまとめてみました。

http://users.hoops.jp/foolish-guy/

たいしたことじゃないのでsageで書きます。

76 :FoolishGuy:02/06/14 18:22
僕が作ってるブラウザもUPしときました。未完成ですけどw
ホントに最小限のブラウジング機能のみです。
ソース(Delphi)もつけているので参考になれば良いんですけど…

>>8
Delphiでモジラをいじる
http://www02.so-net.ne.jp/~rando/mozilla/
で紹介されているコンポを使用しています。

93 :1:02/06/16 00:26
ただいま、資料を読んで勉強中。
でも、cのしかないんだよね……。

そういえば、74さん、どうやってNS_InitEmbeddingを「実行」したんですか?
出来れば、参考に教えてください。

113 :1:02/06/25 21:35
私生活が急に忙しくなって、パソコンに触れる時間が激減中。
とりあえず、暇のあるときにxpcomの勉強してます。

288 :デフォルトの名無しさん:03/03/02 15:07
Geckoベースの2chブラウザをだれも作らない辺りに、
その使い難さが如実に表れてるな。

292 :デフォルトの名無しさん:03/03/02 19:21
嫌ならこのスレチェックしなきゃいいのに。

308 :デフォルトの名無しさん:03/03/04 03:05
ここ最近だと

>>288-291が、ソース再利用の難しさの指摘、

>>292-301がそれに対する反応

だろ?

361 :はしのえみ好きー:03/04/16 00:35
あ、こっちにリンク貼ってなかったですね。
あんまり大したこと無いページでアレなんですが。
http://www004.upp.so-net.ne.jp/rcl/program/gecko/

Delphiの人はこっちがいいよ。
ttp://foolish-guy.hp.infoseek.co.jp/

個人ではLinuxでもソースコードの変更無し・コンパイル無しで
動かしたいのでJava+Webclient+Swingでちまちま作ってます。

362 :デフォルトの名無しさん:03/04/16 02:24
>>361
そのページ、Geckoを使うメリットに言及されては如何でしょう?

417 :デフォルトの名無しさん:03/06/18 19:11
C++でGeckoをやり始めたんですが、
NS_InitXPCOM2は成功するのにNS_InitEmbeddedが失敗します。
質問というより報告ですが、何か心当たりがある方は情報いただけると嬉しいです。

438 :デフォルトの名無しさん:03/07/01 22:47
Geckoを使って、モジラよりショボイWebブラウザ作って何がしたいのだろう。

440 :デフォルトの名無しさん:03/07/02 00:03
>>438
別にブラウザしか作れないわけじゃないだろう。
Geckoはブラウザじゃなくてただのレンダリングエンジン。

443 :デフォルトの名無しさん:03/07/03 23:08
>>440
Geckoを使った、Webブラウザ以外のAPって何かある?

453 :デフォルトの名無しさん:03/07/14 04:58
windows2000でMinGW-3.0.0-rc-1, gecko-sdk-win32-1.4, mozilla-source-1.4を用いて
ttp://www004.upp.so-net.ne.jp/rcl/program/gecko/cpp/MinimumGecko.html
にある最小のソースをコンパイルしてみたのですが失敗しました。
ディレクトリ構成は以下のようにしています。
gecko-sdk/
mozilla/
MinimumGecko/ ここでmakeしています。

Makefileに不備があるのでしょうか。分かる方、お願いします。
以下にMakefileとエラーを示します。

455 :453:03/07/14 05:02
以下コンパイルエラーです。
In file included from ../gecko-sdk/string/include/nsAString.h:36,
from ../gecko-sdk/xpcom/include/nsILocalFile.h:20,
from ../gecko-sdk/embed_base/include/nsEmbedAPI.h:28,
from main.cpp:2:
../gecko-sdk/string/include/nsCharTraits.h:383: ISO C++ forbids declaration of `difference_type' with no type
../gecko-sdk/string/include/nsCharTraits.h:383: `::difference_type' is not a valid declarator
../gecko-sdk/string/include/nsCharTraits.h:383: parse error before `;' token
../gecko-sdk/string/include/nsCharTraits.h:409: ISO C++ forbids declaration of `value_type' with no type
../gecko-sdk/string/include/nsCharTraits.h:409: `::value_type' is not a valid declarator
../gecko-sdk/string/include/nsCharTraits.h:409: parse error before `*' token
../gecko-sdk/string/include/nsCharTraits.h:417: type specifier omitted for parameter `difference_type'
../gecko-sdk/string/include/nsCharTraits.h:417: parse error before `)' token
../gecko-sdk/string/include/nsCharTraits.h:418: ISO C++ forbids defining types within return type
../gecko-sdk/string/include/nsCharTraits.h:418: two or more data types in declaration of `advance'
../gecko-sdk/string/include/nsCharTraits.h:418: semicolon missing after declaration of `struct nsCharSourceTraits<InputIterator>'
../gecko-sdk/string/include/nsCharTraits.h:421: parse error before `}' token
../gecko-sdk/string/include/nsCharTraits.h:473: non-template type ` nsCharSourceTraits' used as a template
../gecko-sdk/string/include/nsCharTraits.h:474: confused by earlier errors, bailing out
make: *** [main.o]

459 :デフォルトの名無しさん:03/07/15 02:02
mingw の場合は一度 mozilla を build するとできる mozilla/dist/sdk 内を
使えばいいのかも。

embed_base_s.lib -> libembed_base_s.a
embedstring.lib -> libembedstring.a
plc4.lib -> plc4.dll
xpcom.lib -> xpcom.dll

と思われるので注意(つーか自信ない、やってみるべか…)


480 :デフォルトの名無しさん:03/07/22 07:57
nsCOMPtr.hにあるdo_QueryInterface(nsI***)をしようとすると、
「Link2005 nsQueryInterface::nsQueryInterfaceは既に定義されています。」というエラーが出ます。
要するに、embed_base_s.libと、xpcom.lib(xpcom.dll)の両方にあるのが問題なんでしょうが、
なんかいい方法ないですかね。

481 :はしのえみ好き??&rlo;ッ゜ホ(`Д´*)&lro;:03/07/22 10:29
>>480
XPCOM_GLUEを定義していませんか?
gecko-sdkのバイナリを使う時はこれを定義してはいけないようです。

http://www004.upp.so-net.ne.jp/rcl/program/gecko/cpp/init_term.html
のTipsにも一応書いてあります。

483 :デフォルトの名無しさん:03/07/22 14:00
>>481
素早いお返事ありがとうございます。
でも、きっかけが、geckoSDKだけでなんとかならないかな?
ってことだったので、XPCOM_GLUEを外してしまうと意味がないのです。

nsIBaseWindow.hとnsIWebNavigationはちょっと敷居が高いので諦めて拾ってきましたが、
nsComponentManagerUtils.hはなくても大丈夫なようですね。

If文の中身がこんな感じになりましたが、無事動いてます。

::ShowWindow(hWnd, SW_SHOW);
nsIWebBrowser* webBrowser;
nsCOMPtr<nsIComponentManager> compMgr;
nsresult status = NS_GetComponentManager(getter_AddRefs(compMgr));
if (compMgr){
status = compMgr->CreateInstanceByContractID("@mozilla.org/embedding/browser/nsWebBrowser;1",
nsnull,
NS_GET_IID(nsIWebBrowser),
(void**)&webBrowser);
}
else if (NS_SUCCEEDED(status))status = NS_ERROR_UNEXPECTED;

if ( NS_FAILED(status) )::MessageBox(hWnd,"error!","minibrowser", MB_OK);

nsIBaseWindow* baseWindow;
(nsISupports *)webBrowser -> QueryInterface(NS_GET_IID(nsIBaseWindow),(void**) &baseWindow);
RECT r; // ちょっと色気を出してGeckoをクライアント領域の大きさに合わせてみる
::GetClientRect(hWnd, &r);  ・・・・・・・・・・・

613 :デフォルトの名無しさん:04/01/04 01:32
おや?こんなところまでくるのかw

637 :デフォルトの名無しさん:04/01/23 23:17
大変恐縮なのですが、教えていただきたいことがあります。

Geckoを使ったブラウザは、軽いのから重いもまでいくつかありますよね。
でも、実際に使ってみた実感として、
起動速度の違いはあるものの、
描画速度に関しては似たり寄ったりのような気がします。
(epiphanyとfirebirdを比べてみました。)

ブラウザの描画の仕組みを知らないのですが、描画速度というものは、
完全に描画エンジンによって決定されるものなのでしょうか?

つまり、Geckoを使ったブラウザで軽いとか重いとかいうのは
起動の時の話のみを言っているのでしょうか?

ちょっとスレ違いかもしれませんが、よろしくお願いします。

653 :デフォルトの名無しさん:04/02/07 16:20
LinuxZaurusで動くGeckoブラウザって作れるかな?
てか、最小でどのくらいのサイズに出来る? DLLも含めて。

666 :デフォルトの名無しさん:04/04/20 11:37
JavaにGeckoを叩き込むやり方を、わかりやすく解説してる所はありますか?
そもそも叩き込めますか?

681 :デフォルトの名無しさん:04/07/17 18:19
http://www.kamasoftware.com/gdfoverview.php
...?

708 :681:04/08/08 02:37

ありがとうございます!
早速使ってみましたがCtrl+Cなどが効くようになっていますね。
プロファイルを指定しなくても動くのがいい感じです。

ところで、GeckoBrowserを二個作ろうとすると失敗するのは現在の仕様でしょうか。
CallbackInterfaces.pasのInitWindowCreatorの
sWindowCreatorInitialized := True;
creator := TWindowCreator.Create;
付近でおかしくなっているようですが…

#夢が膨らみますね。OpenJaneG、とか…
#そういえば実はもう既にJaneうpろだにGeckoActiveXControlを使った実験版がかつてあったらしいですよ。

709 :74:04/08/08 10:46
>>708
確認しました。
CallbackInterfaces.pasの102行目以降を次のように変更すればうまくいくはずです。

????Result??:=??False;
????if??not??sWindowCreatorInitialized??then
????try
????????sWindowCreatorInitialized??:=??True;
????????creator??:=??TWindowCreator.Create;
????????sWindowCreator??:=??creator;
????except
????end;
????if??not??Assigned(sWindowCreator)??then??Exit;


762 :デフォルトの名無しさん:04/09/15 13:55:40
bagel_p11_src.zipを元にTGeckoBrowserの使い方の勉強を始めたけど、結構めどいな。
ieコンポーネントのように楽ができる代わりに縛りが多いのとは対照的で、色々できる
代わりに学ぶことも多いという。

763 :681:04/09/15 16:54:48
http://tkms31.xrea.com/xul/bagel_p57_src.zip
あれからいろいろ手を加えたので、よろしければどうぞ。といってもTGeckoBrowser自体には
contentDocument、contentWindow、docShellぐらいしか加えていないですが。
コメントがほとんど無いので見苦しいのですがお許しを。

私はXULでめんどくさくないコードでMozillaに触れていましたから、そう苦労は無かったですが…
やはり初見の人にはそうもいかないですよね。

766 :デフォルトの名無しさん:04/09/16 17:57:59
>>681
大変初歩的な質問で申し訳ないのですが、これを実行するにはmozilla or firefoxに環境変数を通すだけではだめなのでしょうか?
Error: GRE_Startup()が発生して起動に失敗するのですが。

783 :デフォルトの名無しさん:04/11/15 12:29:38
firefoxのエンジンを使った一番簡単なブラウザの書き方が解説してあるサイトを教えてください

799 :デフォルトの名無しさん:04/12/05 14:54:27
XUL を使った firefox の拡張機能の作り方は探せばあるけれど、 C++ を使った XPCOM コンポーネントを含んだ拡張機能の作り方の解説ページとかって見つからないなぁ。

914 :天使 ◆uL5esZLBSE :2011/07/04(月) 17:24:53.09
2011年、Ruby,Perl,PHP,Pythonって並べたときにさ
ここで、Ruby以外を選ぶ奴ってマジでなんなんだろうな


しねよ


http://hibari.2ch.net/test/read.cgi/tech/1023546699/l50人気ブログランキングへ