2011-05-24 Jay Civelli <jcivelli@chromium.org>
authorjcivelli@chromium.org <jcivelli@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 May 2011 19:32:03 +0000 (19:32 +0000)
committerjcivelli@chromium.org <jcivelli@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 May 2011 19:32:03 +0000 (19:32 +0000)
commitedfa30c8ae40fa1d19fc1b248d935d291a3b2ecc
tree947431f33c37c8638ef6d35faf284dba23a80a60
parentbcb3f6502da3cdb7c3528eaa0905ebdb640c949d
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * configure.ac:
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * mhtml/frame_0.html_original: Added.
        * mhtml/frame_1.html_original: Added.
        * mhtml/frame_2.html_original: Added.
        * mhtml/frame_4.html_original: Added.
        * mhtml/multi_frames.html_original: Added.
        * mhtml/multi_frames_ie.mht: Added.
        * mhtml/multi_frames_unmht.mht: Added.
        * mhtml/page_with_css_and_js.html_original: Added.
        * mhtml/page_with_css_and_js_ie.mht: Added.
        * mhtml/page_with_css_and_js_unmht.mht: Added.
        * mhtml/page_with_image.html_original: Added.
        * mhtml/page_with_image_ie.mht: Added.
        * mhtml/page_with_image_unmht.mht: Added.
        * mhtml/resources/red_square.png: Added.
        * mhtml/simple_page.html_original: Added.
        * mhtml/simple_page_ie.mht: Added.
        * mhtml/simple_page_unmht.mht: Added.
        * platform/chromium/mhtml/multi_frames_ie-expected.txt: Added.
        * platform/chromium/mhtml/multi_frames_unmht-expected.txt: Added.
        * platform/chromium/mhtml/page_with_css_and_js_ie-expected.txt: Added.
        * platform/chromium/mhtml/page_with_css_and_js_unmht-expected.txt: Added.
        * platform/chromium/mhtml/page_with_image_ie-expected.txt: Added.
        * platform/chromium/mhtml/page_with_image_unmht-expected.txt: Added.
        * platform/chromium/mhtml/simple_page_ie-expected.txt: Added.
        * platform/chromium/mhtml/simple_page_unmht-expected.txt: Added.
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support. That required some basic MIME header parsing.
        Modified DocumentLoader to keep a reference to the currently Archive loaded,
        so we can have different policies for loading subresources depending on the
        archive type.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * features.pri:
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::commitLoad):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::popArchiveForSubframe):
        (WebCore::DocumentLoader::scheduleArchiveLoad):
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame):
        (WebCore::FrameLoader::loadArchive):
        (WebCore::FrameLoader::stopAllLoaders):
        (WebCore::FrameLoader::finishedLoadingDocument):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::archive):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::continueAfterContentPolicy):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::start):
        * loader/archive/Archive.cpp: Added.
        * loader/archive/Archive.h:
        (WebCore::Archive::mainResource):
        * loader/archive/ArchiveFactory.cpp:
        (WebCore::archiveFactoryCreate):
        (WebCore::archiveMIMETypes):
        (WebCore::ArchiveFactory::create):
        (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
        * loader/archive/ArchiveFactory.h:
        * loader/archive/ArchiveResourceCollection.cpp:
        (WebCore::ArchiveResourceCollection::addAllResources):
        (WebCore::ArchiveResourceCollection::popSubframeArchive):
        * loader/archive/ArchiveResourceCollection.h:
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):
        (WebCore::LegacyWebArchive::type):
        * loader/archive/cf/LegacyWebArchive.h:
        * loader/archive/mhtml/MHTMLArchive.cpp: Added.
        * loader/archive/mhtml/MHTMLArchive.h: Added.
        * loader/archive/mhtml/MHTMLParser.cpp: Added.
        * loader/archive/mhtml/MHTMLParser.h: Added.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedNonImageMimeTypes):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::documentFragment):
        * platform/network/MIMEHeader.cpp: Added.
        * platform/network/MIMEHeader.h: Added.
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=7168

       * features.gypi:
2011-05-24  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Adam Barth.

        Adding MHTML reading support.
        https://bugs.webkit.org/show_bug.cgi?id=7168

        * Scripts/build-webkit:
        * Scripts/old-run-webkit-tests:
        * Scripts/webkitperl/features.pm:
        * Scripts/webkitpy/layout_tests/port/test_files.py:
        * Scripts/webkitpy/layout_tests/port/webkit.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@87189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
68 files changed:
ChangeLog
LayoutTests/ChangeLog
LayoutTests/mhtml/frame_0.html_original [new file with mode: 0644]
LayoutTests/mhtml/frame_1.html_original [new file with mode: 0644]
LayoutTests/mhtml/frame_2.html_original [new file with mode: 0644]
LayoutTests/mhtml/frame_4.html_original [new file with mode: 0644]
LayoutTests/mhtml/multi_frames.html_original [new file with mode: 0644]
LayoutTests/mhtml/multi_frames_ie.mht [new file with mode: 0755]
LayoutTests/mhtml/multi_frames_unmht.mht [new file with mode: 0755]
LayoutTests/mhtml/page_with_css_and_js.html_original [new file with mode: 0755]
LayoutTests/mhtml/page_with_css_and_js_ie.mht [new file with mode: 0755]
LayoutTests/mhtml/page_with_css_and_js_unmht.mht [new file with mode: 0755]
LayoutTests/mhtml/page_with_image.html_original [new file with mode: 0644]
LayoutTests/mhtml/page_with_image_ie.mht [new file with mode: 0755]
LayoutTests/mhtml/page_with_image_unmht.mht [new file with mode: 0755]
LayoutTests/mhtml/resources/red_square.png [new file with mode: 0644]
LayoutTests/mhtml/simple_page.html_original [new file with mode: 0644]
LayoutTests/mhtml/simple_page_ie.mht [new file with mode: 0755]
LayoutTests/mhtml/simple_page_unmht.mht [new file with mode: 0755]
LayoutTests/platform/chromium/mhtml/multi_frames_ie-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/mhtml/multi_frames_unmht-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/mhtml/page_with_css_and_js_ie-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/mhtml/page_with_css_and_js_unmht-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/mhtml/page_with_image_ie-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/mhtml/page_with_image_unmht-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/mhtml/simple_page_ie-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/mhtml/simple_page_unmht-expected.txt [new file with mode: 0644]
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am
Source/WebCore/WebCore.gyp/WebCore.gyp
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.pro
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/features.pri
Source/WebCore/loader/DocumentLoader.cpp
Source/WebCore/loader/DocumentLoader.h
Source/WebCore/loader/FrameLoader.cpp
Source/WebCore/loader/FrameLoader.h
Source/WebCore/loader/MainResourceLoader.cpp
Source/WebCore/loader/ResourceLoader.cpp
Source/WebCore/loader/archive/Archive.cpp [new file with mode: 0644]
Source/WebCore/loader/archive/Archive.h
Source/WebCore/loader/archive/ArchiveFactory.cpp
Source/WebCore/loader/archive/ArchiveFactory.h
Source/WebCore/loader/archive/ArchiveResourceCollection.cpp
Source/WebCore/loader/archive/ArchiveResourceCollection.h
Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp
Source/WebCore/loader/archive/cf/LegacyWebArchive.h
Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp [new file with mode: 0644]
Source/WebCore/loader/archive/mhtml/MHTMLArchive.h [new file with mode: 0644]
Source/WebCore/loader/archive/mhtml/MHTMLParser.cpp [new file with mode: 0644]
Source/WebCore/loader/archive/mhtml/MHTMLParser.h [new file with mode: 0644]
Source/WebCore/platform/MIMETypeRegistry.cpp
Source/WebCore/platform/mac/PasteboardMac.mm
Source/WebCore/platform/network/MIMEHeader.cpp [new file with mode: 0644]
Source/WebCore/platform/network/MIMEHeader.h [new file with mode: 0644]
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/features.gypi
Tools/ChangeLog
Tools/Scripts/build-webkit
Tools/Scripts/old-run-webkit-tests
Tools/Scripts/webkitperl/features.pm
Tools/Scripts/webkitpy/layout_tests/port/test_files.py
configure.ac