Closed Bug 51068 Opened 24 years ago Closed 23 years ago

# fragments in URL's don't always reach the plugin

Categories

(Core Graveyard :: Plug-ins, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: kmcclusk, Assigned: peterlubczynski-bugs)

References

()

Details

Attachments

(2 files)

A test plugin which illustrates whether the browser correctly handles passing 
the "#" fragments to plug-ins works on N4.x but does not work with N6. 

The # fragment case is an important high use scenario for Web graphics, so we 
don't want to miss the opportunity to verify or fix 6.0.
Nominating for nsbeta3.
Severity: normal → major
Keywords: nsbeta3
Kevin, could you please supply more details about:
- what "# fragments" are
- what purpose they serve
- how they are passed, and from what to what (content to plug-in? JS to 
plug-in?)
- what plugins depend on them (Flash? Real?)
My understanding is the # fragments are used to allow the plugin to jump to a 
particular location with the file referenced by the URL. 

All we need to support is passing the # through to the plugin. The plugin will 
take care of jumping to the fragment.

At this point all this bug is about is trying to verify that the # is passed 
through to the plugin. The verification is being done using a test plugin. The 
problem is the test plugin does not work with N6 for some reason. It works fine 
on N4.x.



Nominating as dogfood as this bug appears to be blocking eng/QA from running a 
test plug-in used to verify correction functioning of the Mozilla Plug-in API.
Keywords: dogfood
Putting on [dogfood+] radar.
Whiteboard: [dogfood+]
Clearing the dogfood+, for reconsideration. The test plugin is not blocking
Netscape eng/QA. It is blocking an outside contributor from verifying that we
handle the # fragment correctly.
Whiteboard: [dogfood+]
Putting on [dogfood+] radar.  blocking QA
Severity: major → blocker
Whiteboard: [dogfood+] BLOCKS QA
Kevin, I still don't understand what is passed where. What should I do to see 
the problem myself? Do you have the actual plugin?
Status: NEW → ASSIGNED
I've asked ull@gtsgral.com to provide info on getting the plugin.
from  ull@gtsgral.com 

Attached you will find a zip file containing a simple HTML page and two 
connected CGM files.  Please unzip the file and put the contents into an 
arbitrary directory.
 
Now download our MetaWeb distribution from www.ematek.com/01frame.htm.  Execute 
the mwsetup.exe and install all three components (stand-alone, ActiveX, 
Plug-In).  You have to make a choice during the installation and due to a 
recent problem in the setup only all three components work together.  We will 
fix that ASAP.  In any case, choose NetScape as the default viewer for CGM files 
when prompted for.
 
Once the installation is done launch the test.html test page and click on the 
links to the two CGM files.  The Plug-In will load them (at least, in NN 4.7x) 
and highlight a certain graphical object while processing the #-fragment.  If 
you try to do the same in NN 6.0 beta the Plug-In will not even be launched. 
That is our major problem right now.
 
We are working on a simplified Plug-In, which only shows the received linkURI's 
plus the fragments and then terminates.  We will prepare a more sophisticated 
test case for this Plug-In and then pass it on to the CGMOpen group in source 
code form.  But for the moment, to get this thing started,  please use our full 
product.  Please feel free to place the according deliverables where ever you 
want.
Attached file test html file
Attached file zipped test files
Changing summary from:
Important test plugin does not work with N6
to:
CGM plugin does not work with N6.

Clearing [dogfood+] BLOCKS QA for reconsideration. QA is NOT blocked by this 
bug.
Summary: Important test plugin does not work with N6 → CGM plugin does not work with N6.
Whiteboard: [dogfood+] BLOCKS QA
If QA is not blocked, I don't see this as preventing usage, so marking
dogfood-minus.

..that said... plugins are quite crucial to utility of N6, and loosing a major
aspect of plug-in support (see prior comments) is Very Bad (TM).  Hopefully this
can get a beta3-plus and be dealt with in short order.  It would probably be a
P1 or P2 level issue.

If the comments above about support "#"stuff are in error, and this feature is
NOT common to many plugins, then that info should be added to the bug.

Thanks,

Jim
Whiteboard: [dogfood-]
The CGM data format isn't widely used on the web (no offense, CGM fans) so this 
isn't a critical issue for ordinary consumers. The greater concerns here are (1) 
are we failing to be b.c. with # (2) how many other plug-ins use # (3) is this 
exposing more fundamental lack-of-backward-compatibility issues in the Mozilla 
Plug-in API?

So if the problem is specific to this plug-in in particular, we could live with 
it for RTM and fix later; but if this # issue will affect other plug-ins (can 
anyone give examples) it's of greater concern.
Keywords: 4xp
Marking nsbeta3-.
Whiteboard: [dogfood-] → [dogfood-] [nsbeta3-]
CGM isn't widely used, true. Just some little users like the entire Aeronautics, 
Automotive, and Defense industries. And of course the # bug (which is in both NS 
and IE) has limited adoption of WebCGM.

The fragment is used for the same sort of things that the fragment in HTML is 
used for - navigating to somewhere other than the root of the resourse. In HTML, 
that means moving to some other part of the document. In WebCGM, it means 
selecting which picture to display (CGM files can contain multiple pictures), 
what part of it (CGMs can be zoomed and panned) and what parts to hilight. SVG 
has similar needs, navigating to particular views or portions of the graphic.

The problem itself is *not* specific to CGM. It also affects any other format 
that has need of internal addressing - and will apply more and more as we see 
more XML usage.

And all that needs to happen is that the browser re-attaches the fragment and 
sends it on t the plugin, rather than stripping it off.
Why is this bug listed as PC only and NT only? OS and platform should both be 
*all*, no?
Changing platform/OS to ALL
OS: Windows NT → All
Hardware: PC → All
Hi chris, many thanks for all the info! There are many more bugs that we would 
like to fix than we will be able to fix for RTM. So that you understand our 
triage process: Netscape 6 RTM is targeted at intermediate consumers rather than 
enterprise customers, so the specific industries you mentioned would make this 
bug a priority to fix for a future enterprise-targeted release rather than for 
RTM.

The question then becomes: "What plug-ins other than WebCGM require this 
functionality?" In particular, "Do any plug-ins widely used by consumers require 
this functionality?" Marking FUTURE until we get proof that this must really be 
fixed for RTM.
Summary: CGM plugin does not work with N6. → # fragments stripped off, so CGM plugin does not work with N6.
Target Milestone: --- → Future
Hi, I'd like to add a comment to the 10/2 exchange between Chris and 'ekrock'.  
Specifically, to amplify Chris's comment on the bug's effect on XML content:  
the bug will prevent object addressing and linking between SVG content and any 
other Web content type (e.g., HTML).  SVG is nearing completion, and it looks 
likely to be a huge end-user standard (not limited to enterprise clients).  Its 
target clientele -- most places that GIF and JPEG are used now.  Also this 
should be clarified:  it is uncertain whether the beta 6.0 release suffers from 
the bug, because the investigators (same team that verified and fixed it in IE 
-- see message from 'ull') have not been able to get (several) successful 4.73 
plugins to even load with beta 6.0.  That is the first hurdle.  Then it can be 
ascertained whether there is or is not a "#" fragment bug in 6.0.  
At General Motors we are introducing CGM graphics for our service literature, 
which will be delivered via the Web to our retailers and service technicians.  
Most of our service information is very heavily graphics based and we use a 
large number of links in the graphics to navigate to secondary information. The 
support for the CGM fragment identifier "#" is crucial to the successful launch 
of our wiring diagram application and we cannot do without this linking 
functionality.
Hi Lofton -- Many thanks for the info! So this issue (if it's real) is a blocker 
for SVG support in the browser. Netscape 6.0 RTM won't support SVG, so that's 
not a blocker for Netscape 6.0 RTM, but we will need to be sure to get this 
fixed in time for any future release of Netscape 6.x that includes SVG support.

John -- Are you planning on using the first release of Netscape 6.0 at GM as 
your enterprise client? Please feel free to contact Kevin Murray at Netscape 
(kmurray@netscape.com) for information on enterprise-specific functionality.
ekrock said "Netscape 6.0 RTM won't support SVG, so that's not a blocker" which 
is incorrect;  NS 6.0 won't have native support (true) but that means that it 
has to rely on a plugin (such as the Adobe plugin that works now with NS 4.x) 
and that plugin has now and will continue to have problems due to the # 
fragments being stripped, until the bug is fixed. Once there *is* native 
support, then it becomes irrelevant (for SVG) whether plugins have a problem 
....
To Ekrock and Netscape and all other interested in object addressing.  The Navy 
an other DOD activities are moving toward placing documentation on the web.  
This documentation is created internally and by major DOD suppliers such as 
Boeing and Raytheon.  Both DOD and our large commercial partners use much 
smaller organization to create and modify this documentation.  For 2-D vector 
graphics many are/or will be mandated to follow new Navy policy requiring use of
open standards such as webCGM.  We are following the graphic standards from the 
W3C and watching the development of SVG.  We have previously worked with the 
other major browser manufacturer to help allow implementation of the # symbol 
to allow for object addressing.  We also need this to work in your browser.
spam -- test
Keywords: dogfoodnsdogfood
The problem description needs clarification.  Indeed, a 4.73 plugin could not be
successfully adapted and made to function on 6.0, and this still remains a
problem.  It might be inferred from the description and bug thread so far, that
4.73 correctly handles "#" fragments.  This is incorrect.  We have verified
this mishandling:  in the case that the base URL is unchanged, but the fragment
specifier (following the "#") changes, NN 4.73 does not communicate the new
URL+fragment to the plugin.  WebCGM and SVG both use object addressing syntax of
the general form:  <baseURL>#<objectID>.  Therefore one cannot, for example from
HTML, successfully consecutively address two different objects within the same
picture in a WebCGM or SVG content.  -Lofton.
Ok, peterl@netscape.com and I just looked at this problem.

We believe the solution is to go to the document and retrieve the src attribute
instead of using the URL passed to the plugin. On 6.x this can be done using the
new plugin API. you can retrieve the src attribute in it's raw form from the
document using a GetAttribute call.

For info on the new plugin API look at
http://www.mozilla.org/docs/plugin.html#nsiplugintaginfo

The nsIPluginTagInfo has a GetAttribute method that you should be able to use to
get the src attribute's content which will include the raw URL with.

For 4.x based browsers the solution is similiar. Instead of using the new plugin
API you will have to use LiveConnect to retrieve the src attribute from the
document.
Here is the URL for documentation related to liveconnect plugins in 4.x
http://home.netscape.com/eng/mozilla/3.0/handbook/plugins/
You will need to create a Java class to get the src attribute out of the
document. Using LiveConnect you can access the JavaClass from your plugin.

There is also an adapter which allows you to write plugins with are compatible
with both 4.x and 6.0.
Keywords: nsdogfood-
Keywords: nsdogfood
I think you are talking about named anchor support (url#namedanchor)?

Perhaps it is byte range support looking for, something which Acrobat uses. 
Please see bug 53353.

What does the spec say if anything about passing these along to plugins?

Chrisn, what is the current status with the CGM plugin?
Keywords: nsenterprise
I think we are getting offtrack. I just took a closer look at this bug, and
here's the recap of the problem:

Mozilla seems to think when clicking on an anchor link element, that:
src=http://host.domain.tld/myplugin.cgm
is the same as
src=http://host.domain.tld/myplugin.cgm#fragment

The expected result is the complete url being passed off to the plugin.
Clearing milestone for re-triage and rephrasing the summary from:
# fragments stripped off, so CGM plugin and others do not work with N6.

So, this goes down the full-page plugin route, so I wonder how
nsPluginViewer.cpp is getting the URL. I'd break in the debugger, but I can't
find a CGM plugin to reproduce. The one I downloaded is not working with Mozilla.

Could someone point me where I can download a CGM plugin that works with
Mozilla? Thanks!
Summary: # fragments stripped off, so CGM plugin does not work with N6. → # fragments in URL's don't always reach the plugin
Whiteboard: [dogfood-] [nsbeta3-] → [CGM plugin does not work][used by SVG plugin]
Target Milestone: Future → ---
Depends on: 90525
-->peterl
Assignee: av → peterlubczynski
Status: ASSIGNED → NEW
Whiteboard: [CGM plugin does not work][used by SVG plugin]
Closing this bug out by marking WORKSFORME. 

Tested using the WebCGM plugin from:
http://www.ematek.com/downmweb.htm 
As far as I can tell, the plugin now works fine in Mozilla and I am able to
verify that all # fragments do get sent. We reload for each # request correctly.
This is not a bug Mozilla or Netscape 6.1, however it still is a bug in Nav 4.x.
However, this is a Mozilla-only bugbase.

Also note that with fixing bug 90256, full-page plugins will be scriptable as
their embedded counterparts which should provide greater flexibility.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → WORKSFORME
verifed wfm.
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: