2011-02-03 Joone Hur <joone.hur@collabora.co.uk>
authorjoone.hur@collabora.co.uk <joone.hur@collabora.co.uk@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Feb 2011 05:03:08 +0000 (05:03 +0000)
committerjoone.hur@collabora.co.uk <joone.hur@collabora.co.uk@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Feb 2011 05:03:08 +0000 (05:03 +0000)
commitd4a3bba3ca0544e2924d1181f0bb54c37683bde5
treef0ce59b24b4f081b087bd8df3d7cf2ba085dbe30
parentb0f2f8de445592abcb6e5706975383cf5fe98090
2011-02-03  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [Gtk] No need to set text encoding in the provisional phase
        https://bugs.webkit.org/show_bug.cgi?id=53487

        According to changeset 67253, setEncoding could be called multiple times from
        committedLoad, finishedLoading, dispatchDidFailLoading, and setMainDocumentError
        in FrameLoaderClient. To fix this, the relevant code was removed from
        FrameLoaderClient and moved to DocumentLoader::commitData. However, that
        code was not removed from FrameLoaderClient::finishedLoading in WebKitGtk+.

        Due to this reason, after loading a html document, other ports initialize the
        text encoding from FrameLoaderClient::finishedLoading, but WebKitGtk+ sets
        the same encoding again, even tries to set encoding in the provisional phase.
        This causes unnecessary encoding setting.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::FrameLoaderClient::FrameLoaderClient): Set m_hasRepresentation to false.
        (WebKit::FrameLoaderClient::makeRepresentation): Set m_hasRepresentation to true.
        (WebKit::FrameLoaderClient::revertToProvisionalState): Set m_hasRepresentation to true.
        (WebKit::FrameLoaderClient::finishedLoading): Skip the encoding setting when
        m_hasRepresentation is false.
        * WebCoreSupport/FrameLoaderClientGtk.h: Added m_hasRepresentation.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77596 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/gtk/ChangeLog
Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h