Closed
Bug 100117
Opened 24 years ago
Closed 24 years ago
datek.com - Cancel button doesn't appear on page
Categories
(Tech Evangelism Graveyard :: English US, defect, P1)
Tech Evangelism Graveyard
English US
Tracking
(Not tracked)
VERIFIED
FIXED
Dec
People
(Reporter: bnesse, Assigned: bnesse)
References
()
Details
(Keywords: ecommerce, Whiteboard: [ETA 10/5/2001])
Attachments
(9 files)
I submitted a trade order at Datek Online, which I later went to the "open
orders" page to cancel. The cancel page shows up, with the checkboxes to select
the order(s) to be canceled, but the submit button does not appear on the page.
Numerous attachments coming, including screen shots and the page source (which
does appear to contain the cancel button when the other on screen graphics are
not available (just cancel through the log-in requests.)
Assignee | ||
Comment 1•24 years ago
|
||
Assignee | ||
Comment 2•24 years ago
|
||
Assignee | ||
Comment 3•24 years ago
|
||
Assignee | ||
Comment 4•24 years ago
|
||
Assignee | ||
Updated•24 years ago
|
Comment 5•24 years ago
|
||
There aren't any comments on this bug since the 17th of
Sept. Can QA regess against the Netscape commercial builds and determine if
this is still a valid bug? If so, and we can get fixes/reviews in the next day
or two, please mark as nsbranch+ which will get this on the PDT radar. Else,
mark is as nsbranch-. Also, can someone comment in the bug how serious you think
this is? PDT is only accepting "stop ship" bugs such as data loss and loss of
major functionality. From reading the comments this seems to fit into that
category of bugs.
Keywords: topembed
Assignee | ||
Comment 6•24 years ago
|
||
I can verify that this still occurs with the 2001-09-24-05 Mac branch bits.
As to how serious it is... I can only say that it's a blocker for me. I won't be
using Netscape 6.x to do my online trading until it is fixed.
Comment 8•24 years ago
|
||
In the 4th attachment, I see (on a 9/24 Win2K debug m0.9.4 branch build and
a 9/20 debug Win2K trunk build) the "cancel checked orders" button but not the
broken image below it which is an anchor. The reason the broken image is not
showing up is because we (unlike other browsers) don't show broken images in
these situations. But it sounds like bnesse is not even seeing the "cancel
checked orders" button on Mac, so maybe this is a mac only problem. Well, for
either problem --> attinasi.
Assignee: karnaze → attinasi
Assignee | ||
Comment 9•24 years ago
|
||
If I open the 4th attachment on the Mac I do see the "cancel checked orders"
button. When I am live on the site however I see nothing (as per the 2nd
attachment.)
Comment 11•24 years ago
|
||
Testcase works fine using the 09-25 Mozilla nightly build. Karnaze said it
worked on the Win branch build from 09-24, so confirming that this is a Mac only
problem.
Does topembed apply to Mac only bugs? Anyway, it is serious so I'll look into it
right away.
Assignee | ||
Comment 12•24 years ago
|
||
Assignee | ||
Comment 13•24 years ago
|
||
Sorry, not Mac only. See attachment #5 [details] taken on Win2K with this mornings branch
build... no Cancel Orders button. Please don't consider attachment #4 [details] [diff] [review] a test
case, it is not, it always generates the button. I simply posted the source
incase it might be useful in debugging. I may have a lead on another, more
readily accessible, page with exibits the same problem...looking in to it.
OS: Mac System 9.x → All
Hardware: Macintosh → All
Assignee | ||
Comment 14•24 years ago
|
||
Secondary test case turned out to be a bust. I'll keep looking...
Comment 15•24 years ago
|
||
what are the chances of getting this fixed for the 0.9.4 branch?
Whiteboard: [ETA ?]
Assignee | ||
Comment 16•24 years ago
|
||
Jamie, that might be difficult. Marc doesn't really have a testcase to work from
(unless he's secretly a Datek customer) and I don't have the layout knowledge to
debug it in a short period of time.
Marc, if you have some ideas as to what might be causing this to fail, I'm
certainly willing to attempt some remote debugging for you. Otherwise I have had
one other thought as to how I might be able to put together a workable test case
for you... I'll give that a shot this morning.
Comment 18•24 years ago
|
||
I don't have a Datek account. I'm looking at the HTML source hoping to see some
pattern that might account for the problem. One thing I am thinking is that the
image is simply not coming in, or is coming in late and we are not then
displaying it. Maybe a rule in hml.css like
img { border: 3px solid red; }
might help us to see if the image is even being layed-out. Just a shot in the
dark... My hope lies in Brian coming up with a testcase, but I'll keep looking
in the meantime.
Comment 19•24 years ago
|
||
heh - ignore that, the button is just a button (why did I think it was an image?)
Assignee | ||
Comment 20•24 years ago
|
||
Maybe because there is supposed to be an image to the right of the button? :)
I pulled down the various css, js, and gif files referenced in the page and
built my own little web page. Oddly enough, it basically seems to work... If I
remove the preceeding "/" character from the src descriptor for the image I see
the image and the button. With the "/" in place, the image doesn't appear but
the button does. I have uploaded it to
http://blues/users/bnesse/publish/DatekTest/ if you're curious.
The only other thing I can think of is that the Datek server is secure...
Comment 21•24 years ago
|
||
Brian, one possible way to help is to bring up the page in viewer, then dump the
content and frame models. I'd love to see if that button is getting a frame at
all, if there is a coordinate problem, if the content includes it...
Probably have to use WIndows for that though...
Assignee | ||
Comment 22•24 years ago
|
||
So far, I don't seem to be able to get to the login screen using viewer.
Clicking on the OK button to login just does nothing. Sort of like viewer can't
bring up the login dialog or something.
Comment 23•24 years ago
|
||
Do you have an SSL-enabled build? Another option is to dump the frames in the
code in Mozilla. There is a static method on the nsIFrameDebug called
RootFrameList and you can call that from almost anywhere to dump the current
frame tree. If you can find a clever way to call it once the page is loaded, we
might get the info we want. Maybe you can call it after every page load and then
dredge through the output for the correct page?
Assignee | ||
Comment 25•24 years ago
|
||
I am building with psm. I will see if I can produce anything useful with
nsIFrameDebug.
Assignee | ||
Comment 26•24 years ago
|
||
Assignee | ||
Comment 27•24 years ago
|
||
Attached output from RootFrameList(). I also generate the following 3 warnings
when loading the page.
###!!! ASSERTION: getElementById(""), fix caller?: '!aElementId.IsEmpty()', file
nsHTMLDocument.cpp, line 2534
###!!! ASSERTION: getElementById(""), fix caller?: '!aElementId.IsEmpty()', file
nsHTMLDocument.cpp, line 2534
###!!! ASSERTION: bad parent frame pointer: 'parentFrame == (nsIFrame*)this',
file nsContainerFrame.cpp, line 1102
Comment 28•24 years ago
|
||
Thanks for the frame dump - now if only we could get the content dump too.
I am trying to compare the frame dump with the content in the testcase but it
appears that something is different. In any case, I do see some possible problems.
Look at the forms first: in the markup there is a FORM inside of the TABLE,
before the TR. You can find this in the frame dump pretty easily too as it is
the first form in the dump. Now look for the next form in the frame dump. It is
also directiy under a TABLE, before a TR, but the markup does not show this
form. Also, that form is the last one to appear before the series of hidden
forms at the end of the page (4 forms each with 4 hidden fields).
So, from the frame dump it looks like the forms that contains the button in
question is missing totally.
I also searched from the last SUP down looking for the form and button but could
nto find it - also foudn some frames that I did not expect from teh markup I am
using. Any chance we can get a more accurate page?
Assignee | ||
Comment 29•24 years ago
|
||
Unfortunately that page is generated. When you select Open Orders in the top
frame, it does a <OPTION value="document.order.submit()">Open Orders. This
causes it to spit out a generated page (the original contained my account number
in half a dozen places).
I can't get logged into Datek right now. Their server(s) don't appear to be
responding. I will attempt to re-grab the source, but I don't expect it to look
any different.
Assignee | ||
Comment 30•24 years ago
|
||
I finally got back into the Datek site. Now, unfortunately, I can't figure out
how I grabbed the page I originally posted. Attaching the only thing I can get now.
Assignee | ||
Comment 31•24 years ago
|
||
Comment 32•24 years ago
|
||
Optimistic ETA of 10/5 set - still very little progress here in understanding
the frame dump that Brian got.
Whiteboard: [ETA 10/1/2001] → [ETA 10/5/2001]
Comment 33•24 years ago
|
||
Brian, I'm looking at some code in Viewer that dumps the content model. Is it
possible for you to put that snippet in your build where you dump the frame
tree? It is pretty simple, check this link and tell me what you think:
http://lxr.mozilla.org/seamonkey/source/webshell/tests/viewer/nsBrowserWindow.cpp#2565
I'd be happy to move that code into the Document too, for general use, like the
RootFrameList method.
Assignee | ||
Comment 34•24 years ago
|
||
Yeah, that looks like it would be pretty straightforward to hack in... my stuff
is in nsPresShell already... I'll see what I can do...
Assignee | ||
Comment 35•24 years ago
|
||
Grrr. After my build finally finished and I had a chance to test it last night
it turned out that my pull from yesterday wouldn't render any Datek page past
the login screen. I'll pull fresh this morning and try it again.
Assignee | ||
Comment 36•24 years ago
|
||
Comment 37•24 years ago
|
||
Thanks Brian - I foudn the button in the content model dump - trying to
reconcile it with the frame dump now.
Comment 38•24 years ago
|
||
OK, the button in question is in the frame dump, but the frame dump is BEFORE
the initial reflow (notice that the x,y,width,height values are all 0 for the
frames).
I started to question the style rules for the cancel button (class=cb) in case
its visibility is changed by script or something, and that led me to tearing
apart the content looking for script. I found this very interesting and
suspicious script block in the content dump:
<!--
//kluge
if(!(is_nav5up||is_ie5up)) {
if(isCancels) {
var cancelString = "";
cancelString += "<FORM name=\"cbutton\">\n";
cancelString += "<input type=\"button\" value=\"Cancel checked orders";
if(isExpress) cancelString+= " immediately!";
cancelString += "\" name=\"cancelbutton\" class=\"cb\"
onClick=\"document.cancel.submit()\"> \n";
cancelString += "<a
href=\"javascript:popWin('/help/noquicktog.htm','sorry',300,300,0,0)\"
onClick=\"window.status='Learn more...';
return true;\">
<img align=\"absmiddle\" src=\"/images/quicktoggle.gif\" width=\"96\"
height=\"21\" border=\"0\" alt=\"\"></a>\n";
cancelString += "</FORM>\n";
document.writeln(cancelString);
}
else {
//major kluge.
document.write("<SPAN ID=\"main_menu\" style=\"visibility:hidden\">");
document.write("<TABLE cellpadding=0 cellspacing=0 border=0>");
document.write("<FORM name=\"cbutton\">");
document.write("<TR class=menurow>");
document.write("<TD><input type=\"button\" name=\"cancelbutton\" class=\"cb\"
onClick=\"document.cancel.submit()\"></TD>");
tdocument.write("<TD bgcolor=\"#ffffff\"> </TD>");
document.write("<TD class=\"menubuttonmain\"
onClick=\"cBombObj['sub_menu'].toggleVis();cBombObj['sub_menu'].manageChecked();window.status='Click
to view or hide your Cancel options'; return false;\"
onMouseOver=\"window.status='Click to view or hide your Cancel options'; return
true;\" onMouseOut=\"window.status=''; return true\">");
document.write("<a href=\"#\"
style=\"color:#003366;text-decoration:none\">QuickToggle</a> </TD>");
document.write("<TD class=\"menubutton\" align=center
onClick=\"cBombObj['sub_menu'].toggleVis();cBombObj['sub_menu'].manageChecked();window.status='Click
to view or hide your Cancel options';return false;\"
onMouseOver=\"window.status='Click to view or hide your Cancel options'; return
true;\" onMouseOut=\window.status=''; return true\">");
document.write("<a href=\"#\" class=\"menubuttonlink\">±</a></TD>");
document.write("</TR>");
document.write("</FORM>");
document.write("<TR><TD> </TD><TD> </TD><TD align=right
colspan=2><SPAN id=\"sub_menu\"
style=\"position:relative;visibility:hidden;\"> </SPAN></TD></TR>");
document.write("</TABLE>");
document.write("</SPAN>");
}
//-->
the 'kluge' and 'major kluge' comments are pretty telling, and also I see that
the cancel button is being monkey'd with here. My guess is that we have an
evangelism issue here. Brian, what do you think?
(sorry about the formatting of that script - it was a real mess in the content
dump and I did my best to make it readable, but then pasting it into bugzilla
messed it up further. I'll attach it as a text file.)
Comment 39•24 years ago
|
||
Comment 40•24 years ago
|
||
In particular, notice this snippet:
//major kluge.
document.write("<SPAN ID=\"main_menu\" style=\"visibility:hidden\">");
This sets the span that contains the table that contains the cancel button to
hidden. ack. Not sure if we are hitting that else block though, some more
reverse-engineering of their script may be necessary unless we can open a dialog
with their developer(s).
Updated•24 years ago
|
Whiteboard: [ETA 10/5/2001] → [ETA 10/5/2001] [PDT]
Updated•24 years ago
|
Component: Compositor → Layout
Priority: -- → P1
Target Milestone: --- → mozilla0.9.6
Assignee | ||
Comment 41•24 years ago
|
||
It is quite possible that we are ending up in that else block. In some of the
html that I pulled down (and posted to my publish folder) I believe was the js
which sets these variables. It appeared to me that the is_nav5up variable would
be set if running Mozilla/Netscape6. I'll see if I can remember how to use the
spoof stuff and see if I can convince it that I'm running I.E.
Assignee | ||
Comment 42•24 years ago
|
||
I was unable to get the button to appear by changing my user agent string. I
used the following:
pref("general.useragent.override", "MSIE/5.0 (Macintosh)");
Of course, I couldn't convince netscape.com that I wasn't using "Communicator
5.0" either. So I may just not know what I'm doing here...
Comment 43•24 years ago
|
||
From Marc's comment about the suspicious script which hides the cancel button,
this bug really looks like an evangelism issue.
Reassigning to Evangelism.
Assignee: attinasi → bclary
Status: ASSIGNED → NEW
Component: Layout → English: US
Product: Browser → Tech Evangelism
QA Contact: petersen → zach
Version: other → unspecified
Comment 44•24 years ago
|
||
if this is an evangelism issue, and is not a client fix, can we remove the
nsbranch+?
Comment 45•24 years ago
|
||
removing keywords nsbranch+, topembed.
I recommend that all queries related to releases depending on keywords etc,
exclude the Tech Evangelism product since the Tech Evangelism product has
nothing to do with what is actually going into the product Browser.
Comment 46•24 years ago
|
||
removing [PDT] as this is an evangelism issue.
Whiteboard: [ETA 10/5/2001] [PDT] → [ETA 10/5/2001]
Comment 47•24 years ago
|
||
site not available although www.datek.com is...
Summary: Cancel button doesn't appear on page → datek.com - Cancel button doesn't appear on page
Target Milestone: Nov → Dec
Assignee | ||
Comment 48•24 years ago
|
||
https://investment.datek.com/ is the investment site. You have to be logged in
(and therefore a customer) to get there. You log in via
http://www.datek.com/investcenter/login.html
Comment 49•24 years ago
|
||
Brian, since you are already a customer and I am not, I am assigning this bug to
you. Write them a note telling them about the problem, then mark this bug
assigned and set the milestone to the next calendar month for followup. If they
refuse to fix the problem, then mark it wont fix.
Assignee: bclary → bnesse
Comment 50•24 years ago
|
||
Brian, I have contacted datek about this and bug 110085. I will keep you informed.
Assignee | ||
Comment 51•24 years ago
|
||
Datek has apparently finally fixed their source. This now works correctly.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•