ICEfaces
  1. ICEfaces
  2. ICE-6986

Regression: Errors on IE when closing browser after panelTooltip is shown

    Details

    • Assignee Priority:
      P1

      Description

      An error, Stack overflow in IE7 or Out of Memory in IE8, is shown when the browser window is closed after a panelTooltip that uses hideOn="none" is shown. This doesn't seem to be a JavaScript error and there is no stack trace shown in the server logs. These errors are only seen with the ICEfaces EE 1.8.2 P03 release. Other releases are working fine.

        Activity

        Arran Mccullough created issue -
        Hide
        Arran Mccullough added a comment -

        Attached screen shots of errors and test case. The test case has two pages, plainPage.xhtml will reproduce the error.

        Steps to reproduce issue:

        • Load test case.
        • Hover over the blue box, a tooltip is shown.
        • Close browser, error is shown.

        It doesn't seem to matter if the tooltip is closed or open, it throws the error after its been shown.

        Show
        Arran Mccullough added a comment - Attached screen shots of errors and test case. The test case has two pages, plainPage.xhtml will reproduce the error. Steps to reproduce issue: Load test case. Hover over the blue box, a tooltip is shown. Close browser, error is shown. It doesn't seem to matter if the tooltip is closed or open, it throws the error after its been shown.
        Arran Mccullough made changes -
        Field Original Value New Value
        Attachment outofmemoryIE8.JPG [ 13327 ]
        Attachment stackoverflowIE7.JPG [ 13328 ]
        Attachment Case10256Example.war [ 13329 ]
        Hide
        Arran Mccullough added a comment -

        Using hideOn="mouseout" seems to work fine.

        Show
        Arran Mccullough added a comment - Using hideOn="mouseout" seems to work fine.
        Arran Mccullough made changes -
        Salesforce Case [5007000000Gx82G]
        Ken Fyten made changes -
        Summary Errors on IE when closing browser after panelTooltip is shown Regression: Errors on IE when closing browser after panelTooltip is shown
        Fix Version/s EE-1.8.2.GA_P04 [ 10280 ]
        Assignee Priority P1
        Assignee Mircea Toma [ mircea.toma ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24980 Fri Jul 08 07:28:14 MDT 2011 mircea.toma ICE-6986 Associate no-op handler when using 'none' tooltip configuration to conform to the type of tests Prototype 1.7 is using in Event.stopObserving function.
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/bridge/lib/extras/tooltip_panelpopup.js
        Hide
        Mircea Toma added a comment -

        The new Prototype 1.7 library seems to be using a simplified test for the existence of the event handlers in Event.stopObserving function:
        Prototype 1.6.* -> if (Object.isUndefined(handler)) { ...
        Prototype 1.7 -> if (!handler) { ...

        When this function is called on page unload to clear the cached handlers (PrototypeJS code) it calls itself recursively when invoked without parameters. The stack overflow occurs when the handler passed in, when Event.observe method is invoked by the tooltip JS code, is the empty string. Event.stopObserving will evaluate it to false and go into an infinite recursive loop.

        Show
        Mircea Toma added a comment - The new Prototype 1.7 library seems to be using a simplified test for the existence of the event handlers in Event.stopObserving function: Prototype 1.6.* -> if (Object.isUndefined(handler)) { ... Prototype 1.7 -> if (!handler) { ... When this function is called on page unload to clear the cached handlers (PrototypeJS code) it calls itself recursively when invoked without parameters. The stack overflow occurs when the handler passed in, when Event.observe method is invoked by the tooltip JS code, is the empty string. Event.stopObserving will evaluate it to false and go into an infinite recursive loop.
        Hide
        Mircea Toma added a comment -

        The fix modifies tooltip JS code to associate a no-op handler instead of '' when using 'none' tooltip configuration to conform to the type of tests Prototype 1.7 is using in Event.stopObserving function.

        Show
        Mircea Toma added a comment - The fix modifies tooltip JS code to associate a no-op handler instead of '' when using 'none' tooltip configuration to conform to the type of tests Prototype 1.7 is using in Event.stopObserving function.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Ken Fyten added a comment -

        Adding icefaces 2 targets.

        Show
        Ken Fyten added a comment - Adding icefaces 2 targets.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Ken Fyten made changes -
        Fix Version/s EE-2.0.0.GA_P01 [ 10271 ]
        Fix Version/s 2.1 [ 10241 ]
        Affects Version/s 2.0.2 [ 10273 ]
        Affects Version/s EE-2.0.0.GA [ 10263 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #25027 Wed Jul 13 15:20:26 MDT 2011 mircea.toma ICE-6986 Associate no-op handler when using 'none' tooltip configuration to conform to the type of tests Prototype 1.7 is using in Event.stopObserving function.
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #25028 Wed Jul 13 15:24:41 MDT 2011 mircea.toma ICE-6986 Associate no-op handler when using 'none' tooltip configuration to conform to the type of tests Prototype 1.7 is using in Event.stopObserving function.
        Files Changed
        Commit graph MODIFY /icefaces2/branches/icefaces-2.0.x-maintenance/icefaces/compat/core/src/main/javascript/extras/extras.js
        Hide
        Mircea Toma added a comment -

        Applied fix to ICEfaces 2 trunk and maintenance branch.

        Show
        Mircea Toma added a comment - Applied fix to ICEfaces 2 trunk and maintenance branch.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 2.1-Beta [ 10291 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: