2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * src/ContextMenuClientImpl.cpp:
        (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
        * src/FrameLoaderClientImpl.cpp:
        (WebKit::FrameLoaderClientImpl::finishedLoading):
        * src/WebFrameImpl.cpp:
        (WebKit::WebFrameImpl::encoding):
        (WebKit::WebFrameImpl::commitDocumentData):
        * src/WebPageSerializerImpl.cpp:
        (WebKit::WebPageSerializerImpl::preActionBeforeSerializeOpenTag):
        (WebKit::WebPageSerializerImpl::serialize):
        * src/WebSearchableFormData.cpp:
        (WebCore::GetFormEncoding):
        * src/WebViewImpl.cpp:
        (WebKit::WebViewImpl::pageEncoding):
2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * WebCoreSupport/FrameLoaderClientQt.cpp:
        (WebCore::FrameLoaderClientQt::finishedLoading):
        (WebCore::FrameLoaderClientQt::setMainDocumentError):
        (WebCore::FrameLoaderClientQt::committedLoad):
        (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::committedLoad):
        (WebKit::FrameLoaderClient::finishedLoading):
        * webkit/webkitwebview.cpp:
        (webkit_web_view_get_encoding):
2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebFrameLoaderClient::receivedData):
2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * WebKitSupport/FrameLoaderClientWx.cpp:
        (WebCore::FrameLoaderClientWx::committedLoad):
2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * WebView/WebFrame.mm:
        (-[WebFrame _canProvideDocumentSource]):
        (-[WebFrame _receivedData:textEncodingName:]):
2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * WebCoreSupport/FrameLoaderClientHaiku.cpp:
        (WebCore::FrameLoaderClientHaiku::committedLoad):
2010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57468.
        http://trac.webkit.org/changeset/57468
        https://bugs.webkit.org/show_bug.cgi?id=37433

        Broke the world...  Must have applied the patch wrong
        (Requested by abarth on #webkit).

        * Android.mk:
        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * dom/Document.cpp:
        (WebCore::Document::close):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElementData::scriptCharset):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestPreload):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        * loader/DocumentWriter.cpp: Removed.
        * loader/DocumentWriter.h: Removed.
        * loader/FrameLoader.cpp:
        (WebCore::canReferToParentFrameEncoding):
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::replaceDocument):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::responseMIMEType):
        (WebCore::FrameLoader::setResponseMIMEType):
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::write):
        (WebCore::FrameLoader::end):
        (WebCore::FrameLoader::endIfNotLoadingMainResource):
        (WebCore::FrameLoader::encoding):
        (WebCore::FrameLoader::setEncoding):
        (WebCore::FrameLoader::addData):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        * loader/FrameLoader.h:
        * loader/MediaDocument.cpp:
        (WebCore::MediaDocument::replaceMediaElementTimerFired):
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::createDocumentStructure):
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::dataEncoding):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/loader/FrameLoader.h b/WebCore/loader/FrameLoader.h
index 1d71eb4..ed4ff66 100644
--- a/WebCore/loader/FrameLoader.h
+++ b/WebCore/loader/FrameLoader.h
@@ -32,7 +32,6 @@
 #define FrameLoader_h
 
 #include "CachePolicy.h"
-#include "DocumentWriter.h"
 #include "FrameLoaderTypes.h"
 #include "HistoryController.h"
 #include "PolicyCallback.h"
@@ -100,7 +99,6 @@
     PolicyChecker* policyChecker() const { return &m_policyChecker; }
     HistoryController* history() const { return &m_history; }
     ResourceLoadNotifier* notifier() const { return &m_notifer; }
-    DocumentWriter* writer() const { return &m_writer; }
 
     // FIXME: This is not cool, people. There are too many different functions that all start loads.
     // We should aim to consolidate these into a smaller set of functions, and try to reuse more of
@@ -228,16 +226,24 @@
 
     void didExplicitOpen();
 
-    // Callbacks from DocumentWriter
-    void didBeginDocument(bool dispatchWindowObjectAvailable);
-    void didEndDocument();
-    void willSetEncoding();
-
     KURL iconURL();
     void commitIconURLToIconDatabase(const KURL&);
 
     KURL baseURL() const;
 
+    void replaceDocument(const String&);
+
+    void begin();
+    void begin(const KURL&, bool dispatchWindowObjectAvailable = true, SecurityOrigin* forcedSecurityOrigin = 0);
+
+    void write(const char* string, int length = -1, bool flush = false);
+    void write(const String&);
+    void end();
+    void endIfNotLoadingMainResource();
+
+    void setEncoding(const String& encoding, bool userChosen);
+    String encoding() const;
+
     void tokenizerProcessedData();
 
     void handledOnloadEvents();
@@ -277,8 +283,8 @@
 
     const KURL& url() const { return m_URL; }
 
-    // setURL is a low-level setter and does not trigger loading.
-    void setURL(const KURL&);
+    void setResponseMIMEType(const String&);
+    const String& responseMIMEType() const;
 
     bool allowPlugins(ReasonForCallingAllowPlugins);
     bool containsPlugins() const;
@@ -297,7 +303,6 @@
     KURL completeURL(const String& url);
 
     void cancelAndClear();
-    void clear(bool clearWindowProperties = true, bool clearScriptObjects = true, bool clearFrameView = true);
 
     void setTitle(const String&);
 
@@ -342,8 +347,6 @@
 
     static ObjectContentType defaultObjectContentType(const KURL& url, const String& mimeType);
 
-    bool isDisplayingInitialEmptyDocument() const { return m_isDisplayingInitialEmptyDocument; }
-
 private:
     bool canCachePageContainingThisFrame();
 #ifndef NDEBUG
@@ -408,6 +411,8 @@
 
     void updateHistoryAfterClientRedirect();
 
+    void clear(bool clearWindowProperties = true, bool clearScriptObjects = true, bool clearFrameView = true);
+
     bool shouldReloadToHandleUnreachableURL(DocumentLoader*);
 
     void dispatchDidCommitLoad();
@@ -460,7 +465,6 @@
     mutable PolicyChecker m_policyChecker;
     mutable HistoryController m_history;
     mutable ResourceLoadNotifier m_notifer;
-    mutable DocumentWriter m_writer;
 
     FrameState m_state;
     FrameLoadType m_loadType;
@@ -484,6 +488,8 @@
 
     bool m_isExecutingJavaScriptFormAction;
 
+    String m_responseMIMEType;
+
     bool m_didCallImplicitClose;
     bool m_wasUnloadEventEmitted;
     bool m_unloadEventBeingDispatched;
@@ -501,6 +507,11 @@
     bool m_cancellingWithLoadInProgress;
 
     bool m_needsClear;
+    bool m_receivedData;
+
+    bool m_encodingWasChosenByUser;
+    String m_encoding;
+    RefPtr<TextResourceDecoder> m_decoder;
 
     bool m_containsPlugIns;