Bug 20154

Summary: nested framesets do not appear to be loading javascript libraries (oracle)
Product: WebKit Reporter: Steve Alex <salex>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Major CC: ap
Priority: P2    
Version: 525.x (Safari 3.1)   
Hardware: Mac   
OS: OS X 10.5   
URL: http://orad.aidt.edu:8030
Attachments:
Description Flags
Zip file of textedit document with screen shot png's none

Steve Alex
Reported 2008-07-24 04:33:03 PDT
Our organization (www.aidt.edu) is implementing Oracle E-Business Suite. Our requirement was that it worked with W3C compliant browsers. While Oracle has some really crappy code, for the most part Safari has had only minor problems - but we've uncovered a severe problem that is probably going to force use to tell our users to use Firefox. I have filed a service request with Oracle, but it looks like the problem is with webkit and how it handles frames. There were several old bugs file (3588) in frames that may be related to the problem. Hopefully I will be able to upload a PDF with some screen shots that will help explain the behavior as the url listed above is behind a firewall and has controlled access. The scenario is that we have a page loaded that has a link that opens up a child/popup window that allows you to search and modify parts of accounting code. The child window opens fine and uses frameset: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html dir="ltr" lang="en-US"> <head> <script type="text/javascript"> var _UixWindowOpenError='A popup window blocker has been detected in your browser. Popup blockers interfere with the operation of this application. Please disable your popup blocker or allow popups from this site.' </script> <script src="/OA_HTML/cabo/jsLibs/Common2_3_6_2.js" type="text/javascript"> </script> <script language="javascript" type="text/javascript"> document.onkeydown=_noReload;var _blockReload=1; </script> <title></title> </head> <frameset title="Content" border="0" rows="100%,*" onload="window.document.title=window.frames[0].document.title; _sizeWin(window.frames[0],0,25)" onunload="_checkUnload(event)"> <frame title="Content" marginwidth="5" frameborder="0" marginheight="0" noresize src="/OA_HTML/OA.jsp?_rc=/oracle/apps/fnd/framework/webui/OAKFFLOVRG&amp;_ri=0&amp;amUsageMode=1&amp;addBreadCrumb=S&amp;baseAppMod=oracle.apps.icx.por.req.server.RequisitionAM&amp;_ti=1420605581&amp;lovTableName=AccountsDistsAdvTable&amp;lovRowNum=0&amp;regionCode=ChargeAccountFlex&amp;regionAppId=178&amp;lovBaseItemName=ChargeAccountFlex_COMBINATION&amp;lovLabel=GL_COA_ACCOUNTING_FLEXFIELD&amp;oapc=23&amp;lovMainCriteria=CodeCombination%3A%3A1.64000.504.224404.0.000.00000&amp;configName=OAConfig" longdesc="#"> <noframes> <body> <p> Your browser does not support frames. Frames support is required for this functionality </p> </body> </noframes> </frameset> </html> The structure of the frame source is below. Only the head elements are list as it describes what I see in web inspector: <!-- METADATA_SOURCE - JRAD --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html dir="ltr" lang="en-US-ORACLE9I"> <head> <title> Oracle iProcurement: Checkout </title> <meta name="generator" content="Oracle UIX"> <link rel="stylesheet" charset="UTF-8" type="text/css" href="/OA_HTML/cabo/styles/cache/swan-desktop-custom-2_3_6_2-en.css"> <script type="text/javascript"> var _UixWindowOpenError='A popup window blocker has been detected in your browser. Popup blockers interfere with the operation of this application. Please disable your popup blocker or allow popups from this site.' </script> <script src="/OA_HTML/cabo/jsLibs/Common2_3_6_2.js" type="text/javascript"> </script> <script type="text/javascript"> _defaultTZ() </script> <script language="javascript" src="/OA_HTML/cabo/oajsLibs/oafcoreR12RUP3.js" type="text/javascript"> </script> <script language="javascript" type="text/javascript"> function AccountsDistsAdvTableChargeAccountFlex_COMBINATION(row){var p={};var c={};lov('/oracle/apps/fnd/framework/webui/OAKFFLOVRG','0','ChargeAccountFlex','178','ChargeAccountFlex_COMBINATION','oracle.apps.icx.por.req.server.RequisitionAM','GL_COA_ACCOUNTING_FLEXFIELD','CodeCombination',1,null,0,'1420605581',row,'AccountsDistsAdvTable','DefaultFormName',c,p);} </script> <script language="javascript" type="text/javascript"> function clearFlexChildren(){lovClearValue(document.DefaultFormName.ChargeAccountFlex_COMBINATION);} </script> </head> <body class="xg" onload="_checkLoad(event,'DefaultFormName')" onunload="_checkUnload(event)"> .... </body> </html> In Web Inspector there are no errors on the initial load but clicking on the javascript files loaded does not display any source. There is also two copies of Common2_3_6_2.js . I assume one sourced in a.jsp (frameset) and one in OA.jsp. There is source in the .jsp files. The child window has input fields that break down the account code segments and a search icon that brings up what they call a List of Values (lov) window so we have a parent window, a child window, and if it worked, another child window. Clicking on the search icon and changing the field generates a javascript error calling a function that is in Common2_3_6_2.js . and reloads the window. When the window reloads there is now two copies of the frame source (oa.jsp), three copies of Common2_3_6_2.js and two copies of the other .js files. The third copy of Common2_3_6_2.js now has code in it, but clicking on the search icon will still generate an error and then reload a new copy of all files. The source of the search icon <a> is: <a onclick="return _LovInputVTF('kff_container3',0,document.forms['_LOVResFrm']['kff_container3'],1,1,{'F':'_LOVResFrm','N':'kff_container3','L':'kff_container3','D':'/OA_HTML/OA.jsp?region=/oracle/apps/fnd/framework/webui/OAFlexLOVRG&amp;regionCode=kff_container&amp;regionAppId=0&amp;lovBaseItemName=kff_container3&amp;fndOAJSPinEmbeddedMode=y&amp;_ti=1328927845&amp;label=Project&amp;formName=_LOVResFrm&amp;addBreadCrumb=S&amp;baseAppMod=oracle.apps.icx.por.req.server.RequisitionAM&amp;amUsageMode=1&amp;lovMainCriteria=FlexDisplay&amp;Criteria=kff_container3.FlexDisplay&amp;PassiveCriteria=&amp;retainAM=Y&amp;Selector=N&amp;lovMultiSelectDelimiter=%3B&amp;baseToLovKey=/oracle/apps/fnd/framework/webui/OAKFFLOVRG.kff_container3_/oracle/apps/fnd/framework/webui/OAFlexLOVRG&amp;lovLevel=2&amp;baseCompMode=11.5.10&amp;oapc=23','S':OnLovSelect,'M':1,'P':1});" href="#"><img src="/OA_HTML/cabo/images/cache/clovi.gif" width="24" height="24" border="0" title="Search for Project" align="absmiddle"></a> Why WebKit shows the initial .js files as empty is unknown to me. It does execute onload code that is in the file in the frameset, but seems to loose its reference to the file when it loads the frame. I'd be more than glad to open up a hole in the firewall and allow access to the pages, open up an ARD session or whatever. I really don't want to force users to use Firefox - we let them make their own choice, but I may not have a choice. I've put their code through W3C validation and while there are hundreds of errors, none seem major. If you see an error that is causing this problem, I'll add it to the Oracle Service request.
Attachments
Zip file of textedit document with screen shot png's (308.73 KB, application/zip)
2008-07-24 06:25 PDT, Steve Alex
no flags
Steve Alex
Comment 1 2008-07-24 06:25:13 PDT
Created attachment 22465 [details] Zip file of textedit document with screen shot png's These are a couple of screen shots of web inspector and the web page pointing out the behavior. As an added not, opening the activity window and opening up the child window url, the search function works - just not connected to the parent window.
Steve Alex
Comment 2 2008-07-25 02:43:53 PDT
I will probably mark this as resolved - invalid in a few days. We discovered that if we set Safari's user agent to Firefox the pop up page works. I'm waiting for Oracle to admit the problem is with their software. I assume it is in their Javascript, but I saw no error. It could be in the data that was submitted. Their code is littered with _agent.isIE _agent.isNav, _agent.isGecko type booleans.
Alexey Proskuryakov
Comment 3 2008-07-25 12:26:27 PDT
Thank you for updating the bug with this new information!
Steve Alex
Comment 4 2008-08-12 02:42:28 PDT
I still have not gotten Oracle to admit they have a problem. This has been going on for a couple weeks with them asking me the same questions over and over (what version of Safari, what version of Mac OS X) they have no idea what they are doing. Regardless of their status, I know it is an issue with their Javascript and not Safari. I anyone would like to help me with an answer to this incorrect statement: "The use of the RETURN (ENTER) or SPACE key to invoke the action on a submit button does not work due to a bug in Safari." That is in their release notes. They have a login screen with a login and cancel button and unless you click the button, it will not work. Their code looks for the button name and if not found refreshes the screen. The standards say "HTML standards says that a form "should" be submitted if the return key is entered in a form that only has one input field." Safari does this, but not do it by simulating clicking the first submit button as IE and Firefox does. I'd like to file a bug report on Oracle pointing out that Firefox and IE are the ones that have a bug. Steve
Alexey Proskuryakov
Comment 5 2008-08-12 03:16:44 PDT
(In reply to comment #4) > I anyone would like to help me with an answer to this incorrect statement: I'm confused - is this still related to the original issue? I don't see the relationship. > Safari does this, but not do > it by simulating clicking the first submit button as IE and Firefox does. This sounds like something we may want to fix, even if it isn't required by HTML4. I haven't been able to re-create the problem from the description though - could you please explain it in more detail, ideally by attaching a test case that shows the difference?
Steve Alex
Comment 6 2008-08-12 08:00:56 PDT
(In reply to comment #5) > (In reply to comment #4) > > I anyone would like to help me with an answer to this incorrect statement: > > I'm confused - is this still related to the original issue? I don't see the > relationship. Sorry, it is not related - just my frustration with Oracle Service Request/bug reporting. I can't seem to get anything out of them except more requests for information trying to prove it is not their fault. > > > Safari does this, but not do > > it by simulating clicking the first submit button as IE and Firefox does. > > This sounds like something we may want to fix, even if it isn't required by > HTML4. I haven't been able to re-create the problem from the description though > - could you please explain it in more detail, ideally by attaching a test case > that shows the difference? > Below is a short piece of html code that emulates Oracle's eBusiness suite login screen and demonstrates the problem. I'd be glad to open up another bug report if you think it is a problem. Well it is a problem for us - or at least an irritation. Filling in the username and password then entering the enter/return key just submits the form in Safari. (no javascript is called) Clicking either button simulates their javascript submitForm function. In Firefox, and I assume IE, filling in the username and password then entering the enter/return key seems to do a submit by clicking the first button/input with the type "submit" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>untitled</title> <script type="text/javascript" charset="utf-8"> function submitForm(a0,a1,a2){ alert(a1) //assume they do a submit in their function } </script> </head> <body> <form action="" method="get" accept-charset="utf-8"> <p> Username <input id="usernameField" title="User Name" class=".LoginText" onkeypress="return _submitOnEnter(event, 'DefaultFormName');" onchange="" name="usernameField" size="0" type="text" value="" /> <p> Password <input id="passwordField" title="Password" class=".LoginText" onchange="" name="passwordField" size="0" type="password" /> </p> <button id="SubmitButton" title="Login" class="x7g" onclick="submitForm('DefaultFormName',1,{'_FORM_SUBMIT_BUTTON':'SubmitButton'});return false" type="submit">Login</button> <button id="Cancel" title="Cancel" class="x7g" onclick=submitForm('DefaultFormName',0,{'_FORM_SUBMIT_BUTTON':'Cancel'});return false" type="submit">Cancel</button> </form> </body> </html>
Alexey Proskuryakov
Comment 7 2008-08-12 08:50:15 PDT
Yes, I think that this is a bug we'll want to eventually fix - please do file a bug report! There are several related reports in Bugzilla, but nothing that looks like a duplicate to me.
Note You need to log in before you can comment on or make changes to this bug.