[X3D-Public] Web3D.org Front Page
John Carlson
john.carlson3 at sbcglobal.net
Tue Jun 23 21:28:24 PDT 2009
I hope this is all getting back to the HTML5 folks so they can provide
a standard for all browsers?
John
On Jun 23, 2009, at 9:23 PM, Joe D Williams wrote:
>
>
>>>> <object data="your.wrl" ... >
>>>> <param name="src" value="your.wrl" >
>>>> </object>
>>>>
>>>
>>> The duplication of data="your.wrl"
>>> and
>>> name="your.wrl"
>>> is just due to the fact that BS didn't recognize the src param.
>>
>> Presumably you mean "that BS didn't recognize the data attribute".
>
> No, @data is standard and everybody accepts that.
> The <param> src, or whatever the X3D browsers makers decide, is the
> one missing last time I checked.
> In fact, the last time I looked, Flux was the only one that accepted
> the url via a <param>.
>
>>
>>> Flux
>>> did, so we used both to cover all.
>>> I haven't checked now whether BS or Octaga, and Instant will
>>> recognize
>>> the src param.
>>>
>>> Anyway in the big view, it is better for a plugin to use the
>>> <param> and
>>> drop using @data, if possible. One reasin is that the host browser
>>> may
>>> treat the content differently if requested in data attr rather
>>> than the
>>> src param.
>>
>> Er, no.
>>
>> If you don't use the "data" attribute, there's nothing to indicate
>> to the Web browser that it should start the plug-in. .)
>
> Uh no, what actually happens, usually, is that if data is empty the
> the plugin will be started on the stregth of finding a registered
> palyer for the mime in @type.
>
>> Some current and historic implementations might use the "type"
>> attribute for this purpose; but this is unreliable as the "type"
>> attribute is technically only a hint. (That is, the Web browser
>> could opt not to fetch the data at all if the media type given in
>> "type" were unsupported
>
> http://www.ietf.org/internet-drafts/draft-abarth-mime-sniff-01.txt
>
> is in work now, but they are mostly skipping the hard parts.
>
> True, if the media type is not supported the host won't even try.
> There are other problems is the server doesn't provide a matching
> content type.
>
>>
>> I haven't tested it yet, but recent bugzilla.mozilla.org activity
>> leads me to suspect that Firefox 3.5 might finally be implementing
>> this more-or-less to spec.
>
> Yes, hard to tell what the spec is because they are sort of honoring
> classid.
>
> http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-0.html#the-object-element
>
>>
>>> In particular, the browser may try to 'sniff' content type or other
>>> aspects of the file, as well as download the complete file before
>>> sending it to the plugin when data is used.
>>
>> Aside from the "classid" attribute, *the server-provided media type
>> is the only specified means to indicate what plug-in should be
>> started*. That means that a correct implementation cannot start the
>> plug-in until *after* the resource specified in "data" has started
>> downloading.
>
> Fortunately that is not true. Prefereably the host will start the
> plugin if it recognizes the mime even if the @data is blank and the
> is not a <param> with a url.
> This is desired because then you can wait to see if the plugin is
> running before sending it a url.
>
> The progblem is that (and I have to keep checking this) is tht IE
> and other browsers won't let you send in a new @data value via the
> DOM. You have to rewrite the entire <object> tag to change the URL.
> This is not ture with a player that accepts a url via the <param>
> (Flux) because you can always send in a new url via the src <param>
>
>
>>> On the other hand, if src
>>> param is used, then the url is sent to the plug when it is ready and
>>> then the plugin asks for the content when it is ready.
>>
>> A correctly written NPAPI plug-in will be ready for an initial
>> stream. Period. There is absolutely nothing about VRML or X3D that
>> would make implementing this especially problematic.
>
> Right, The host gets the plugin running, then when the plugin is
> ready, the host sends attributes and params. It is nice that the
> browser can start the plugin without a content file. However, unless
> the plugin can accept a url cvai a param, the object tag si a bit
> dificult to program.
>
>>
>>> In the <param>
>>> case, the host browser is probably less involved in the loading
>>> process.
>>
>> Well, it's not involved at all in that case--except potentially
>> though its cache. That is, the browser is going to fetch the
>> resource specified in "data" *no matter what*. If the plug-in
>> subsequently uses NPAPI facilities to fetch the resource associated
>> with a "src" param, one can hope that this will just be a cache hit.
>
> These are separate operations, not the same. The process the browser
> uses to get content specified with @data is different than the
> proces when the src <param> is used. THis is why it is important
> that X3D browser makers get cnsensue on what param to use. Since
> Flux used src, so should all the rest, I think. Or pick somehting
> else. This is not important until you understand little details
> about how object works.
>
>>
>> Keep in mind, though, that in such a case, the NPAPI call will
>> provide no different media type information than it would have for
>> the initial stream.
>>
>> As you suggest, it *is* possible for the plug-in to provide its own
>> resource fetching machinery. But there are a lot of downsides to
>> that--and not many upsides as far as I can tell:
>
> Sure, it can run 'standalone'.
>
>>
>> * The Web browser's fetch of the initial stream becomes entirely
>> wasted.
>> * You end up writing a lot of code for facilities that are provided
>> by the host Web browser. If you provide a sophisticated cache like
>> modern Web browsers do, we're talking about *quite* a lot of code.
>> So, more initial development time, more cost to maintain, and more
>> potential for bugs.
>
> Right, it is just one way to do it. Some X3D browsers want to be
> very self-sufficient.
>
>> * You lose the potential to share cached data with other services
>> provided by the Web browser. For instance, consider an image
>> referenced from an HTML page that subsequently gets used as a
>> texture in an X3D world.
>
> If the URL is the same, then there may be some chance of reusing it.
>
>>
>> If the plug-in just uses the NPAPI facilities for resource
>> fetching, it gets to take advantage of pretty thoroughly tested
>> code that includes a sophisticated cache. I'm just not sure why a
>> plug-in developer would turn that down.
>
> One whose second choice is be be hosted in a web page?
>
> Thanks and Best Regards,
> Joe
>
>>
>> --
>> Braden McDaniel e-mail: <braden at endoframe.com>
>> <http://endoframe.com> Jabber: <braden at jabber.org>
>>
>> _______________________________________________
>> X3D-Public mailing list
>> X3D-Public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
>
> _______________________________________________
> X3D-Public mailing list
> X3D-Public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
More information about the X3D-Public
mailing list