[HtmlUnit] SVN: [15376] trunk/htmlunit/src
rbri--- via HtmlUnit-develop <[email protected]>
| Newsgroups | gmane.comp.java.htmlunit.devel |
|---|---|
| Message-ID | <[email protected]> |
Revision: 15376
http://sourceforge.net/p/htmlunit/code/15376
Author: rbri
Date: 2018-06-21 16:36:25 +0000 (Thu, 21 Jun 2018)
Log Message:
-----------
ff60 support (wip)
Modified Paths:
--------------
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java
trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest.java
trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest2Test.java
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2018-06-21 16:12:46 UTC (rev 15375)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2018-06-21 16:36:25 UTC (rev 15376)
@@ -1529,9 +1529,13 @@
@BrowserFeature(IE)
WINDOW_EXECUTE_EVENTS,
- /** XMLHttpRequest.getAllResponseHeaders() has a trailing CrLf. */
+ /** XMLHttpRequest.getAllResponseHeaders() uses only Lf as separator. */
+ @BrowserFeature({FF60, IE})
+ XHR_ALL_RESPONSE_HEADERS_SEPARATE_BY_LF,
+
+ /** XMLHttpRequest.getAllResponseHeaders() has a trailing separator. */
@BrowserFeature(IE)
- XHR_ALL_RESPONSE_HEADERS_APPEND_CRLF,
+ XHR_ALL_RESPONSE_HEADERS_APPEND_SEPARATOR,
/** XMLHttpRequest triggers the opened event at the beginning of the send method again. */
@BrowserFeature(IE)
Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest.java 2018-06-21 16:12:46 UTC (rev 15375)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest.java 2018-06-21 16:36:25 UTC (rev 15376)
@@ -14,7 +14,8 @@
*/
package com.gargoylesoftware.htmlunit.javascript.host.xml;
-import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.XHR_ALL_RESPONSE_HEADERS_APPEND_CRLF;
+import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.XHR_ALL_RESPONSE_HEADERS_APPEND_SEPARATOR;
+import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.XHR_ALL_RESPONSE_HEADERS_SEPARATE_BY_LF;
import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.XHR_FIRE_STATE_OPENED_AGAIN_IN_ASYNC_MODE;
import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.XHR_IGNORE_PORT_FOR_SAME_ORIGIN;
import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.XHR_LENGTH_COMPUTABLE;
@@ -460,10 +461,18 @@
if (webResponse_ != null) {
final StringBuilder builder = new StringBuilder();
for (final NameValuePair header : webResponse_.getResponseHeaders()) {
- builder.append(header.getName()).append(": ").append(header.getValue()).append("\r\n");
+ builder.append(header.getName()).append(": ").append(header.getValue());
+
+ if (!getBrowserVersion().hasFeature(XHR_ALL_RESPONSE_HEADERS_SEPARATE_BY_LF)) {
+ builder.append('\r');
+ }
+ builder.append('\n');
}
- if (getBrowserVersion().hasFeature(XHR_ALL_RESPONSE_HEADERS_APPEND_CRLF)) {
- builder.append("\r\n");
+ if (getBrowserVersion().hasFeature(XHR_ALL_RESPONSE_HEADERS_APPEND_SEPARATOR)) {
+ if (!getBrowserVersion().hasFeature(XHR_ALL_RESPONSE_HEADERS_SEPARATE_BY_LF)) {
+ builder.append('\r');
+ }
+ builder.append('\n');
}
return builder.toString();
}
Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest2Test.java
===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest2Test.java 2018-06-21 16:12:46 UTC (rev 15375)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest2Test.java 2018-06-21 16:36:25 UTC (rev 15376)
@@ -15,6 +15,7 @@
package com.gargoylesoftware.htmlunit.javascript.host.xml;
import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME;
+import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60;
import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE;
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -950,10 +951,10 @@
+ "Transfer-Encoding: chunked\r\n"
+ "Server: Jetty(XXX)\r\n"},
IE = {"", "",
- "Date XYZ GMT\r\n"
- + "Content-Type: text/xml;charset=iso-8859-1\r\n"
- + "Transfer-Encoding: chunked\r\n"
- + "Server: Jetty(XXX)\r\n\r\n"},
+ "Date XYZ GMT\n"
+ + "Content-Type: text/xml;charset=iso-8859-1\n"
+ + "Transfer-Encoding: chunked\n"
+ + "Server: Jetty(XXX)\n\n"},
CHROME = {"", "",
"date XYZ GMT\r\n"
+ "server: Jetty(XXX)\r\n"
@@ -964,7 +965,7 @@
+ "Date XYZ GMT\n"
+ "Server: Jetty(XXX)\n"
+ "Transfer-Encoding: chunked\n"})
- @NotYetImplemented(CHROME)
+ @NotYetImplemented({CHROME, FF60})
public void getAllResponseHeaders() throws Exception {
final String html =
"<html>\n"
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot