Sorry for double posting, I
figure that not all squeakland people visit squeak-dev and vice versa.
I've been looking at the npsqueak source at: http://squeakvm.org/ and have a couple of questions. First, I know nothing about how to make a browser plugin, but I'd like to learn. Second, I noticed that npsqueak exists only for unix and only for the Netscape browser. I didn't see the code under any other platform, or browser plugin for other browsers. Why is that? How can squeak execute on other platforms and other browsers (Opera excluded as I heard that it uses the same plugin architecture as Mozilla) with out a plugin? I guess that's a good place to start my questions. If there is documentation that you can point me to, I'd appreciate it. I see that Bert placed a comment in npunix.c: * At the official Netscape site there's only the PluginSDK30b5 for unix: * * !!! I had to add the missing URLNotify stuff here. If you find an official * !!! version of this file which has it, use it instead. * !!! April 2000, Bert Freudenberg which seems to strongly imply that there is little documentation. So, any help is much obliged. thanks, brad |
Am 02.06.2006 um 02:07 schrieb Brad Fuller:
> Sorry for double posting, I figure that not all squeakland people > visit squeak-dev and vice versa. Cross-posting to vm-dev would make a lot more sense than squeakland. > I've been looking at the npsqueak source at: http://squeakvm.org/ > and have a couple of questions. > First, I know nothing about how to make a browser plugin, but I'd > like to learn. So you actually just want to write your own plugin, which has nothing to do with Squeak? > Second, I noticed that npsqueak exists only for unix and only for > the Netscape browser. I didn't see the code under any other > platform, or browser plugin for other browsers. Why is that? How > can squeak execute on other platforms and other browsers (Opera > excluded as I heard that it uses the same plugin architecture as > Mozilla) with out a plugin? Can't say for other platforms, I only wrote the unix plugin. All browsers on unix adhere to the Netscape plugin specification. So one plugin should wok for all, and indeed it does (modulo bugs in either the browser or the plugin). > I guess that's a good place to start my questions. If there is > documentation that you can point me to, I'd appreciate it. I see > that Bert placed a comment in npunix.c: > * At the official Netscape site there's only the PluginSDK30b5 for > unix: > * > * !!! I had to add the missing URLNotify stuff here. If you find > an official > * !!! version of this file which has it, use it instead. > * !!! April 2000, Bert Freudenberg > > which seems to strongly imply that there is little documentation. > So, any help is much obliged. Well, Netscape simply stopped developer support a long time ago. I haven't checked if that has gotten better, though. There is documentation available at http://www.mozilla.org/projects/plugins/ and you might get answers in their forums. - Bert - |
Bert Freudenberg wrote:
> Am 02.06.2006 um 02:07 schrieb Brad Fuller: >> Sorry for double posting, I figure that not all squeakland people >> visit squeak-dev and vice versa. > Cross-posting to vm-dev would make a lot more sense than squeakland. I had a plugin question answered there so it seemed logical, especially since the plugin comes from the Squeakland download I get your point though, makes a lot of sense. >> First, I know nothing about how to make a browser plugin, but I'd >> like to learn. I've been looking at the npsqueak source at: >> http://squeakvm.org/ and have a couple of questions. > So you actually just want to write your own plugin, which has nothing > to do with Squeak? I want to learn more about the browser plugins for Squeak. I'd like to see if streaming is possible. I don't know why squeak would be any different than other plugins for streaming. I noticed that you return -1 for streaming in npsqueak (I assume NPP_WriteReady() is for streaming). Any technical reason? > >> Second, I noticed that npsqueak exists only for unix and only for the >> Netscape browser. I didn't see the code under any other platform, or >> browser plugin for other browsers. Why is that? How can squeak >> execute on other platforms and other browsers (Opera excluded as I >> heard that it uses the same plugin architecture as Mozilla) with out >> a plugin? > > Can't say for other platforms, I only wrote the unix plugin. All > browsers on unix adhere to the Netscape plugin specification. So one > plugin should wok for all, and indeed it does (modulo bugs in either > the browser or the plugin). Squeakland.com (viewpoints) wrote the plugin? I replied to your msg there asking this question (don't want these threads to become complicated ;-) so I just asked that particular question and kept the technical questions here as you suggest.) > >> I guess that's a good place to start my questions. If there is >> documentation that you can point me to, I'd appreciate it. I see that >> Bert placed a comment in npunix.c: >> * At the official Netscape site there's only the PluginSDK30b5 for >> unix: >> * >> * !!! I had to add the missing URLNotify stuff here. If you find an >> official >> * !!! version of this file which has it, use it instead. >> * !!! April 2000, Bert Freudenberg >> >> which seems to strongly imply that there is little documentation. So, >> any help is much obliged. > > Well, Netscape simply stopped developer support a long time ago. I > haven't checked if that has gotten better, though. There is > documentation available at > > http://www.mozilla.org/projects/plugins/ > > and you might get answers in their forums. as you mentioned. I'm sure I'll have more questions as I look thru the docs and your code. Thanks for the reply! brad |
Am 02.06.2006 um 17:51 schrieb Brad Fuller:
> I want to learn more about the browser plugins for Squeak. I'd like to > see if streaming is possible. I don't know why squeak would be any > different than other plugins for streaming. I noticed that you > return -1 > for streaming in npsqueak (I assume NPP_WriteReady() is for > streaming). > Any technical reason? No, except that downloading the whole file and giving its handle to Squeak is a lot simpler. This way, we reuse the existing file support. To learn how the plugin works, it might be best to recompile with the debug logging enabled (I'm not sure if that's the case in recent builds), then set the debug env var, run the browser, and trace the log along with the sources. You can ignore npunix.c, it's just the glue code from Netscapes SDK. The meat is in npsqueak.c (plugin) and sqUnixMozilla.c (vm). - Bert - |
Hi,
mirrors are copies of classes that have prefix Xxx and don't have own data like shared pools. If you have got such classes for whole system, you may modify, study and shrink them. If you prepare source codes for new system in the mirror's world, you can replace current souce codes in your image with codes of mirrors and recompile it. This is the way how to prepare very small images with no user interface and this self-bootstrapping environment creates one. It was just announced and this is only the updated version. -- Pavel |
Bad: condenseChanges fix doesn't work well. If you try to find some string
in source codes, it fails. Good: I have created ChangeSet subclass, that enables to file-out mirrors (it has to get rid of inicialization of classes). So everybody can create own version of mirrors now. Bad: Now I'm not able to publish that, I'm on the official trip. Maybe on Monday... Good: I have created special versions of MCPackageInfo and MCPackage that can produce Monticello package for mirrors so I hope that we will be able to use public SqueakSource repository for this project. Bad: If I try to load the generated package into the fresh image, it fails in half. It seems that there's some problem with WideString because error message shows half on the problematic method well and half of the method with 4 bytes per character. The behaviour is same if I unzip the package and try to load sources directly. I notice that the compressed package has cca 2MB. Bad: Currently I don't know how to get rid of inicialization part of classes in package. If we solve this problems, we can close phase 1) and we may start with kernel cleanup. There's no feedback from the leaders (only from Stef) so I have to ask: is this the way how we want to develop Squeak 3.10? -- Pavel |
> Bad: condenseChanges fix doesn't work well. If you try to find some > string > in source codes, it fails. apparently there is a fix on mantis. But until the 7 of June I have no time at all for havretsing > > Good: I have created ChangeSet subclass, that enables to file-out > mirrors > (it has to get rid of inicialization of classes). So everybody can > create > own version of mirrors now. > > Bad: Now I'm not able to publish that, I'm on the official trip. > Maybe on > Monday... > > Good: I have created special versions of MCPackageInfo and > MCPackage that > can produce Monticello package for mirrors so I hope that we will > be able > to use public SqueakSource repository for this project. > > Bad: If I try to load the generated package into the fresh image, > it fails > in half. It seems that there's some problem with WideString because > error > message shows half on the problematic method well and half of the > method > with 4 bytes per character. The behaviour is same if I unzip the > package > and try to load sources directly. I notice that the compressed > package has > cca 2MB. > > Bad: Currently I don't know how to get rid of inicialization part of > classes in package. > > If we solve this problems, we can close phase 1) and we may start with > kernel cleanup. > There's no feedback from the leaders (only from Stef) so I have to > ask: is > this the way how we want to develop Squeak 3.10? Ideally it would be good to declare to be uncompatible and remove a lot of stuff that get in our way: - Etoy for example. After the problem is really who has the time to do it and is willing to participate. > > -- Pavel > |
Free forum by Nabble | Edit this page |