/// <summary> /// Create a Page object for the specified web response. /// </summary> /// <param name="webResponse">the response from the server</param> /// <param name="webWindow">the window that this page will be loaded into</param> /// <returns>the new page object</returns> public IPage CreatePage(WebResponse webResponse, IWebWindow webWindow) { String contentType = DetermineContentType(webResponse.GetContentType().ToLower(), // TODO : Locale.ENGLISH webResponse.GetContentAsStream()); PageType pageType = DeterminePageType(contentType); switch (pageType) { case PageType.HTML: return(CreateHtmlPage(webResponse, webWindow)); case PageType.JAVASCRIPT: return(CreateJavaScriptPage(webResponse, webWindow)); case PageType.XML: SgmlPage sgmlPage = CreateXmlPage(webResponse, webWindow); DomElement doc = sgmlPage.getDocumentElement(); if (doc != null && HTMLParser.XHTML_NAMESPACE.equals(doc.getNamespaceURI())) { return(CreateXHtmlPage(webResponse, webWindow)); } return(sgmlPage); case PageType.TEXT: return(CreateTextPage(webResponse, webWindow)); default: return(CreateUnexpectedPage(webResponse, webWindow)); } }