From: <rb...@us...> - 2013-05-25 09:38:24
|
Revision: 8302 http://sourceforge.net/p/htmlunit/code/8302 Author: rbri Date: 2013-05-25 09:38:20 +0000 (Sat, 25 May 2013) Log Message: ----------- Adjust the window.outherHeight for the newer FF versions. Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebWindowImpl.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-05-25 07:52:01 UTC (rev 8301) +++ trunk/htmlunit/src/changes/changes.xml 2013-05-25 09:38:20 UTC (rev 8302) @@ -8,6 +8,9 @@ <body> <release version="2.13" date="???" description="Bugfixes"> + <action type="fix" dev="rbri"> + Adjust the window.outherHeight for the newer FF versions. + </action> <action type="fix" dev="rbri" issue="1488"> Use the correct frame/iframe for a given target if more than one exists for the given name. </action> Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-05-25 07:52:01 UTC (rev 8301) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-05-25 09:38:20 UTC (rev 8302) @@ -131,6 +131,10 @@ @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) DISPLAYED_COLLAPSE, + /** FF 3.6 has a much lager menu bar. */ + @BrowserFeature({ @WebBrowser(value = FF, minVersion = 3.6f, maxVersion = 3.6f) }) + DISPLAY_LARGE_MENU_BAR, + /** */ @BrowserFeature(@WebBrowser(IE)) DOCTYPE_4_0_TRANSITIONAL_STANDARDS, Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebWindowImpl.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebWindowImpl.java 2013-05-25 07:52:01 UTC (rev 8301) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/WebWindowImpl.java 2013-05-25 09:38:20 UTC (rev 8302) @@ -14,6 +14,8 @@ */ package com.gargoylesoftware.htmlunit; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.DISPLAY_LARGE_MENU_BAR; + import java.util.ArrayList; import java.util.List; import java.util.ListIterator; @@ -53,7 +55,7 @@ private boolean closed_; private int innerHeight_ = 605; - private int outerHeight_ = innerHeight_ + 150; + private int outerHeight_ = innerHeight_ + 111; private int innerWidth_ = 1256; private int outerWidth_ = innerWidth_ + 8; @@ -74,6 +76,11 @@ WebAssert.notNull("webClient", webClient); webClient_ = webClient; jobManager_ = BackgroundJavaScriptFactory.theFactory().createJavaScriptJobManager(this); + + // adjust inner height for ff 3.6 + if (webClient.getBrowserVersion().hasFeature(DISPLAY_LARGE_MENU_BAR)) { + outerHeight_ = innerHeight_ + 166; + } } /** Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-05-25 07:52:01 UTC (rev 8301) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-05-25 09:38:20 UTC (rev 8302) @@ -629,15 +629,16 @@ */ @Test @Browsers(FF) - @Alerts(FF = { "true", "true", "true", "true", "true", "true" }, - FF10 = { "true", "true", "false", "true", "true", "true" }) + @Alerts(DEFAULT = { "true", "true", "false", "true", "true", "true", "true" }, + FF3_6 = { "true", "true", "true", "false", "true", "true", "true" }) public void heightsAndWidths() throws Exception { final String html = "<html><body onload='test()'><script>\n" + "function test() {\n" + " alert(window.innerHeight > 0);\n" + " alert(window.innerHeight == document.body.clientHeight);\n" - + " alert(window.outerHeight == window.innerHeight + 150);\n" + + " alert(window.outerHeight == window.innerHeight + 166);\n" // FF 3.6 + + " alert(window.outerHeight == window.innerHeight + 111);\n" + " alert(window.innerWidth > 0);\n" + " alert(window.innerWidth == document.body.clientWidth);\n" + " alert(window.outerWidth == window.innerWidth + 8);\n" |