improving the biceps of getStyle(). Now if you pass it a null object, it will not die. r=cr5 (Closes #1051)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@7888 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
euzuro
2008-08-29 00:46:45 +00:00
parent 27526e6a0c
commit ec2b9b5289
3 changed files with 23 additions and 23 deletions

View File

@@ -215,7 +215,10 @@ OpenLayers.Element = {
*/
getStyle: function(element, style) {
element = OpenLayers.Util.getElement(element);
var value = element.style[OpenLayers.String.camelize(style)];
var value = null;
if (element && element.style) {
value = element.style[OpenLayers.String.camelize(style)];
if (!value) {
if (document.defaultView &&
document.defaultView.getComputedStyle) {
@@ -233,6 +236,7 @@ OpenLayers.Element = {
(OpenLayers.Element.getStyle(element, 'position') == 'static')) {
value = 'auto';
}
}
return value == 'auto' ? null : value;
}

View File

@@ -1066,12 +1066,7 @@ OpenLayers.Util.pagePosition = function(forElement) {
while(element) {
if(element == document.body) {
// FIXME: IE, when passed 'window' as the forElement, treats it as
// equal to document.body, but window.style fails, so getStyle
// fails, so we are paranoid and check this here. This check should
// probably move into element.getStyle in 2.6.
if(child && child.style &&
OpenLayers.Element.getStyle(child, 'position') == 'absolute') {
if(OpenLayers.Element.getStyle(child, 'position') == 'absolute') {
break;
}
}

View File

@@ -219,13 +219,14 @@
}
function test_Element_getStyle(t) {
t.plan(4);
t.plan(5);
//tests for this function are not 100% complete... there is some funky
// business going on in there with
// * document.defaultView (moz/ff I believe)
// but I cant seem to find a good way to test them.
//
t.ok(OpenLayers.Element.getStyle(null, null) == null, "passing null values in to getStyle() doesnt bomb, returns null");
var elem = document.getElementById("elemID");
elem.style.chickenHead = {}