You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@shindig.apache.org by "Mat Mannion (JIRA)" <ji...@apache.org> on 2010/09/06 10:57:33 UTC

[jira] Created: (SHINDIG-1421) dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit

dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit
-------------------------------------------------------------------------------------------------------------

                 Key: SHINDIG-1421
                 URL: https://issues.apache.org/jira/browse/SHINDIG-1421
             Project: Shindig
          Issue Type: Bug
          Components: Javascript 
    Affects Versions: 2.0.0-RC2
         Environment: WebKit
            Reporter: Mat Mannion
            Priority: Minor
             Fix For: 2.0.0


In WebKit, the dynamic-height feature has a special-case calculation that takes each element in turn and finds the maximal value of the offsetTop and the scrollHeight, in an attempt to find the lowest point of the gadgets' content. This calculation is only run in WebKit browsers, and only when a specific height isn't passed to gadgets.io.adjustHeight()

The problem with this is when there is an element in the gadget which clips the y-overflow (i.e. that has any value other than 'visible') and also specifies the height. In this situation, scrollHeight returns the _actual_ height of the content, not the height as it is displayed. If an element has 300px worth of content but has overflow: auto and height: 200px, it will display as a 200px element on the page with a vertical scrollbar, but element.scrollHeight will still return a value of 300px.

The fix for this is two-fold. Firstly, we should use offsetHeight instead of scrollHeight, and secondly we should not consider elements that are children of a clipped-overflow element for determining the maximal height of the content (as elements that are below the scroll fold are considered).

Patch forthcoming.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (SHINDIG-1421) dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit

Posted by "Paul Lindner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SHINDIG-1421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Lindner updated SHINDIG-1421:
----------------------------------

    Fix Version/s: 3.0.0
                       (was: 2.0.0)

> dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: SHINDIG-1421
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-1421
>             Project: Shindig
>          Issue Type: Bug
>          Components: Javascript 
>    Affects Versions: 2.0.0-RC2
>         Environment: WebKit
>            Reporter: Mat Mannion
>            Priority: Minor
>             Fix For: 3.0.0
>
>         Attachments: shindig-1421.patch
>
>
> In WebKit, the dynamic-height feature has a special-case calculation that takes each element in turn and finds the maximal value of the offsetTop and the scrollHeight, in an attempt to find the lowest point of the gadgets' content. This calculation is only run in WebKit browsers, and only when a specific height isn't passed to gadgets.io.adjustHeight()
> The problem with this is when there is an element in the gadget which clips the y-overflow (i.e. that has any value other than 'visible') and also specifies the height. In this situation, scrollHeight returns the _actual_ height of the content, not the height as it is displayed. If an element has 300px worth of content but has overflow: auto and height: 200px, it will display as a 200px element on the page with a vertical scrollbar, but element.scrollHeight will still return a value of 300px.
> The fix for this is two-fold. Firstly, we should use offsetHeight instead of scrollHeight, and secondly we should not consider elements that are children of a clipped-overflow element for determining the maximal height of the content (as elements that are below the scroll fold are considered).
> Patch forthcoming.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (SHINDIG-1421) dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit

Posted by "Mat Mannion (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SHINDIG-1421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mat Mannion updated SHINDIG-1421:
---------------------------------

    Attachment: shindig-1421.patch

Patch available for code review at http://codereview.appspot.com/2120042/

> dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: SHINDIG-1421
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-1421
>             Project: Shindig
>          Issue Type: Bug
>          Components: Javascript 
>    Affects Versions: 2.0.0-RC2
>         Environment: WebKit
>            Reporter: Mat Mannion
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: shindig-1421.patch
>
>
> In WebKit, the dynamic-height feature has a special-case calculation that takes each element in turn and finds the maximal value of the offsetTop and the scrollHeight, in an attempt to find the lowest point of the gadgets' content. This calculation is only run in WebKit browsers, and only when a specific height isn't passed to gadgets.io.adjustHeight()
> The problem with this is when there is an element in the gadget which clips the y-overflow (i.e. that has any value other than 'visible') and also specifies the height. In this situation, scrollHeight returns the _actual_ height of the content, not the height as it is displayed. If an element has 300px worth of content but has overflow: auto and height: 200px, it will display as a 200px element on the page with a vertical scrollbar, but element.scrollHeight will still return a value of 300px.
> The fix for this is two-fold. Firstly, we should use offsetHeight instead of scrollHeight, and secondly we should not consider elements that are children of a clipped-overflow element for determining the maximal height of the content (as elements that are below the scroll fold are considered).
> Patch forthcoming.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (SHINDIG-1421) dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit

Posted by "Henry Saputra (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SHINDIG-1421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Henry Saputra resolved SHINDIG-1421.
------------------------------------

    Resolution: Fixed

Patch applied with svn commit: r1021919 - /shindig/trunk/features/src/main/javascript/features/dynamic-height/dynamic-height.js

> dynamic-height feature overestimates the height of gadgets that have elements with clipped overflow in Webkit
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: SHINDIG-1421
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-1421
>             Project: Shindig
>          Issue Type: Bug
>          Components: Javascript 
>    Affects Versions: 2.0.0-RC2
>         Environment: WebKit
>            Reporter: Mat Mannion
>            Priority: Minor
>             Fix For: 3.0.0
>
>         Attachments: shindig-1421.patch
>
>
> In WebKit, the dynamic-height feature has a special-case calculation that takes each element in turn and finds the maximal value of the offsetTop and the scrollHeight, in an attempt to find the lowest point of the gadgets' content. This calculation is only run in WebKit browsers, and only when a specific height isn't passed to gadgets.io.adjustHeight()
> The problem with this is when there is an element in the gadget which clips the y-overflow (i.e. that has any value other than 'visible') and also specifies the height. In this situation, scrollHeight returns the _actual_ height of the content, not the height as it is displayed. If an element has 300px worth of content but has overflow: auto and height: 200px, it will display as a 200px element on the page with a vertical scrollbar, but element.scrollHeight will still return a value of 300px.
> The fix for this is two-fold. Firstly, we should use offsetHeight instead of scrollHeight, and secondly we should not consider elements that are children of a clipped-overflow element for determining the maximal height of the content (as elements that are below the scroll fold are considered).
> Patch forthcoming.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.