History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: LPP-5033
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: P1 P1
Assignee: Unassigned
Reporter: André Bargull
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
OpenLaszlo

DHTML-Debugger issues

Created: 03/Nov/07 07:07 AM   Updated: 12/Aug/08 09:06 AM
Component/s: Debugger
Affects Version/s: RingDing (4.1)
Fix Version/s: KrispyKreme (4.2 Beta)

Time Tracking:
Not Specified

Severity: Minor
Fixed in Change#: 10,661
Runtime: DHTML
Fix in hand: False


 Description  « Hide
Different behaviour for debugger across runtimes and browsers.

to reproduce:
type into the debugger-panel:
  canvas.dtext=new LzDataText("test");
then ask for this object:
  canvas.dtext

-----
SWF:
«LzDataText(0)#0| test»

DHTML-FF2:
test

DHTML-IE6:
«LzDataText(0)| [object Object]»

-----
inspecting this object:

SWF:
«LzDataText(0)#0| test» {
    constructor: LzDataText
    data: 'test'
}«LzDataText(0)#0| test»


DHTML-FF2:
«LzDataText(0)#0| test» {
    constructor: LzDataText
    data: 'test'
}
test


DHTML-IE6:
«LzDataText(0)#0| [object Object]» {
    data: 'test'
}«LzDataText(0)| [object Object]»

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
André Bargull - 03/Nov/07 07:14 AM
"Debug.__String(..)" is called two times in DHTML-FF2:
1st time, it's returning at l. 374 => returning pretty output => therefore we see in DHTML-FF2 just "test" as the output
2nd time, it's returning at l. 402 => returning non-pretty-output => we expect this value, but it's never printed on the debug-window

P T Withington - 03/Nov/07 09:13 AM
This may be related to LPP-4997, where I discovered that in IE (JScript) no toString methods will ever be defined by our current class framework...

André Bargull - 05/Nov/07 09:30 AM
The changeset for LPP-4997 fixes IE, but FF-output is still erroneous.

P T Withington - 05/Nov/07 09:37 AM
I'm looking at the FF behaviour now.

André Bargull - 05/Nov/07 03:37 PM
"constructor" does also belong to the "victims" of the DontEnum-Bug in IE. Do you want to omit this field in IE or do you want to add an extra step for all fields which are hidden in IE?

André Bargull - 11/Aug/08 12:27 PM
Just some updates:

[0] canvas.dtext (eval in the debugger)
[1] Debug.write(canvas.dtext)
[2] Debug.format("%w", canvas.dtext)
[3] Debug.inspect(canvas.dtext)

[0] FF3 does not match SWF, but IE matches SWF, because of a bug (see [2], Debug.displayResult(..) in "kernel.js")
«LzDataText(0)#0| test» (SWF)
test (DHTML - FF3)
«LzDataText(0)| test» (DHTML - IE6)

[1] OK
«LzDataText(0)#0| test» (SWF)
«LzDataText(0)#0| test» (DHTML - FF3)
«LzDataText(0)#0| test» (DHTML - IE6)

[2] IE does not format properly
test (SWF)
test (DHTML - FF3)
«LzDataText(0)| test» (DHTML - IE6)

[3] IE does not show "constructor" (DontEnum-Bug)
«LzDataText(0)#0| test» { (SWF)
constructor: LzDataText
data: 'test'
nodeType: 3
}
«LzDataText(0)#0| test» { (DHTML - FF3)
constructor: LzDataText
data: 'test'
nodeType: 3
}
«LzDataText(0)#0| test» { (DHTML - IE6)
data: 'test'
nodeType: 3
}

André Bargull - 11/Aug/08 12:32 PM
> [0] FF3 does not match SWF, but IE matches SWF, because of a bug (see [2], Debug.displayResult(..) in "kernel.js")
> «LzDataText(0)| test» (DHTML - IE6)

Ups, IE matches 'almost' SWF (it misses the id-for-object stuff)

André Bargull - 11/Aug/08 12:37 PM
Let's summarize the open issues:
- Debug.displayResult(..) should use [Debug.format("%#w", result)] instead of [Debug.format("%w", result);] to match SWF
- IE has got a bug in Debug.format(..), see [2]
- IE does not list 'constructor' (but this is DontEnum, which is another story..)

André Bargull - 11/Aug/08 12:40 PM
Concerning [2]:
Try "Debug.__String(canvas.dtext, true, Infinity, false)" and compare FF3 vs IE

André Bargull - 11/Aug/08 12:51 PM
"(thing instanceof HTMLElement)" throws an error in IE, because 'HTMLElement' is undefined!

André Bargull - 12/Aug/08 09:06 AM
------------------------------------------------------------------------
r10661 | bargull | 2008-08-12 18:05:43 +0200 (Tue, 12 Aug 2008) | 30 lines
Ge?\195?\164nderte Pfade:
   M /openlaszlo/trunk/WEB-INF/lps/lfc/debugger/platform/dhtml/LzDebug.js
   M /openlaszlo/trunk/WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js

Change 20080811-bargull-FAg by bargull@dell--p4--2-53 on 2008-08-11 23:18:43
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: harmonize debugger output + add IE stuff

New Features:

Bugs Fixed: LPP-5033, LPP-5407

Technical Reviewer: ptw
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Format display-results with "%#w" to show same output as in SWF (LPP-5033).
Don't "with (global)" to support Opera (LPP-5407) (I'm running with this fix since February without any problems)
IE fixes: - don't use 'HTMLElement' - it's not defined
            - instead I'm using an IE-particularity: HTMLElements are objects (typeof returns 'object'), but they haven't got a constructor-
property
          - don't use 'Node' - it's not defined, too
            - instead use the constant directly


Tests:


------------------------------------------------------------------------