@@ -919,7 +919,7 @@ public int getPosX() {
919919 webWindow .getComputedStyle (element .getDomNodeOrDie (), null );
920920 cumulativeOffset += style .getBorderLeftValue ();
921921 }
922- element = element .getOffsetParentInternal (false ). getScriptableObject ( );
922+ element = element .getOffestParentElement (false );
923923 }
924924 return cumulativeOffset ;
925925 }
@@ -939,7 +939,7 @@ public int getPosY() {
939939 webWindow .getComputedStyle (element .getDomNodeOrDie (), null );
940940 cumulativeOffset += style .getBorderTopValue ();
941941 }
942- element = element .getOffsetParentInternal (false ). getScriptableObject ( );
942+ element = element .getOffestParentElement (false );
943943 }
944944 return cumulativeOffset ;
945945 }
@@ -1063,7 +1063,15 @@ public int getOffsetLeft() {
10631063 @ JsxGetter (propertyName = "offsetParent" )
10641064 public HtmlUnitScriptable getOffsetParent_js () {
10651065 final boolean feature = getBrowserVersion ().hasFeature (JS_OFFSET_PARENT_NULL_IF_FIXED );
1066- return getOffsetParentInternal (feature ).getScriptableObject ();
1066+ return getOffestParentElement (feature );
1067+ }
1068+
1069+ private HTMLElement getOffestParentElement (final boolean returnNullIfFixed ) {
1070+ final HtmlElement html = getOffsetParentInternal (returnNullIfFixed );
1071+ if (html == null ) {
1072+ return null ;
1073+ }
1074+ return html .getScriptableObject ();
10671075 }
10681076
10691077 private HtmlElement getOffsetParentInternal (final boolean returnNullIfFixed ) {
@@ -1120,7 +1128,7 @@ public ClientRect getBoundingClientRect() {
11201128 int top = getPosY ();
11211129
11221130 // account for any scrolled ancestors
1123- Node parentNode = getOffsetParentInternal (false ). getScriptableObject ( );
1131+ Node parentNode = getOffestParentElement (false );
11241132 while ((parentNode instanceof HTMLElement )
11251133 && !(parentNode instanceof HTMLBodyElement )) {
11261134 final HTMLElement elem = (HTMLElement ) parentNode ;
0 commit comments