2012-01-21  Priit Laes  <plaes@plaes.org>

        [GTK][PATCH] Enable MathML support by default
        https://bugs.webkit.org/show_bug.cgi?id=76790

        Reviewed by Martin Robinson.

        * configure.ac: Enable MathML by default.

2012-01-20  Marc-Andre Decoste  <mad@chromium.org>

        Add proper offset to position right click to simulate a context menu invocation.
        https://bugs.webkit.org/show_bug.cgi?id=76421

        Reviewed by Ojan Vafai.

        * ManualTests/win/contextmenu-key3.html: Added.

2012-01-20  Kinuko Yasuda  <kinuko@chromium.org>

        Unreviewed; Windows buildbot update failure fix.

        * ../ManualTests/data-transfer-items-file-dragout.html: Removed the notion of test:lorem-text.html.
        * ../ManualTests/resources/test:lorem-text.html: Removed as this doesn't work on Windows.

2012-01-20  Kinuko Yasuda  <kinuko@chromium.org>

        Add DataTransferItems support for drag-and-drop'ed files and texts
        https://bugs.webkit.org/show_bug.cgi?id=76367

        Reviewed by Tony Chang.

        * ManualTests/data-transfer-items-file-dragout.html: Added.
        * ManualTests/test:lorem-text.html: Added.

2012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>

        [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
        https://bugs.webkit.org/show_bug.cgi?id=72589

        Reviewed by Martin Robinson.

        New optional dependency for WK2's accessibility unit test: AT-SPI2.

        * configure.ac: Check for AT-SPI2 when building with WK2 support.

2012-01-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        [Qt] Public API watch dog auto test.
        https://bugs.webkit.org/show_bug.cgi?id=73922

        Reviewed by Simon Hausmann.

        This test aims to prevent unintended/unapproved
        modifications to the public QML API.

        * Source/tests.pri:

2012-01-19  Gustavo Noronha Silva  <gns@gnome.org>

        Rubber-stamped by Martin Robinson.

        * Source/autotools/symbols.filter: try to fix the 32 bits release
        bot by also adding the symbol it generates

2012-01-19  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Make build-webkit always do safe incremental builds after update-webkit

        When building against Qt5 with GCC we would just run 'make' in the build dir,
        and rely on the dependency files output by GCC (-MD) to handle dependency
        tracking, but that fails for special-cases like adding a Q_OBJECT macro
        to a header.

        To guarantee that an incrmental build will work, we have to run 'make qmake',
        which we now do on every build-webkit that's followed by a successful run
        of update-webkit. The reasoning is that update-webkit can result in such
        potential corner-cases being applied, and since we can't know for sure
        unless we inspect the diff and account for all the corner cases we assume
        the worst and always run 'make qmake'.

        After a succesful run of build-webkit we proceed to do just 'make' for any
        subsequent runs, since we assume that the developer knows what kind of
        changes he/she is doing, and when a 'make qmake' is needed.

        Reviewed by Simon Hausmann.

        * .gitignore:

2012-01-18  Dirk Pranke  <dpranke@chromium.org>

        [chromium] move Tools.gyp, switch build-webkit --chromium to All.gyp
        https://bugs.webkit.org/show_bug.cgi?id=76505

        Reviewed by Tony Chang.

        Update with newly-generated files.

        * .gitignore:

2012-01-18  Eric Carlson  <eric.carlson@apple.com>

        Provide access to user's list of preferred languages
        https://bugs.webkit.org/show_bug.cgi?id=76138

        Reviewed by Alexey Proskuryakov.

        * Source/autotools/symbols.filter: List the new functions.

2012-01-18  Luciano Wolf  <luciano.wolf@openbossa.org>

        [Qt][WK2] Broken build with undefined reference to shm_open and shm_unlink
        https://bugs.webkit.org/show_bug.cgi?id=76538

        Reviewed by Tor Arne Vestbø.

        The -lrt parameter was coming before -lWebKit2 during linkage.

        Moved rt lib inclusion from Source/api.pri to WebKit2.pri as it should be aware
        of its own dependencies instead of letting WebKit guess about. Letting
        it on api.pri can lead to a wrong parameter's order during linker phase.
        Ubuntu 11.10 was giving errors about SharedMemory (shm_open and
        shm_unlink undefined symbols).

        * Source/api.pri:

2012-01-18  Balazs Kelemen  <kbalazs@webkit.org>

        [Qt] Consolidate layout test crash logging
        https://bugs.webkit.org/show_bug.cgi?id=75088

        Reviewed by Simon Hausmann.

        Move backtrace generating logic into WTFReportBacktrace
        and add a way to deinstall signal handlers if we know
        that we have already printed the backtrace.

        * Source/qtwebkit-export.map:

2012-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Move OTHER_FILES from WebKit.pro to Tools.pro

        Reviewed by Simon Hausmann.

        * WebKit.pro:

2012-01-18  Shinya Kawanaka  <shinyak@google.com>

        Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
        https://bugs.webkit.org/show_bug.cgi?id=76241

        Reviewed by Dimitri Glazkov.

        * Source/autotools/symbols.filter: Exposed necessary symbols.

2012-01-18  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r105245.

        * Source/autotools/symbols.filter: Fix symbol name.

2012-01-17  Hajime Morrita  <morrita@chromium.org>

        [Internals] Should be able to access corresponding Document object.
        https://bugs.webkit.org/show_bug.cgi?id=76425

        Added exported symbols.

        Reviewed by Adam Barth.

        * Source/autotools/symbols.filter:

2012-01-17  Stephen Chenney  <schenney@chromium.org>

        NULL ptr in WebCore::RenderSVGInlineText::localCaretRect
        https://bugs.webkit.org/show_bug.cgi?id=75851

        Reviewed by Ryosuke Niwa.

        Added a check for null box in localCaretRect, to match test in other
        implementations. Adding a manual test because the crash is not
        reproducible in DRT.

        * ManualTests/svg-modify-deleted-selection.svg: Added.

2012-01-17  Raul Hudea  <rhudea@adobe.com>

        Move tests out of WebCore/manual-tests to toplevel ManualTests.
        It looks like the manual-tests folder wasn't noticed by git (or me :).

        Move some SVG manual tests from deprecated WebCore/manual-tests to toplevel ManualTests
        https://bugs.webkit.org/show_bug.cgi?id=76437

        Reviewed by Daniel Bates.

        * ManualTests/svg-animation-css-transform.html: Renamed from Source/WebCore/manual-tests/svg-animation-css-transform.html.
        * ManualTests/svg-css-animate-compound.html: Renamed from Source/WebCore/manual-tests/svg-css-animate-compound.html.
        * ManualTests/svg-css-transition-compound.html: Renamed from Source/WebCore/manual-tests/svg-css-transition-compound.html.

2012-01-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Add more files to project-files for easier navigation in Qt Creator

        Reviewed by Simon Hausmann.

        * WebKit.pro:

2012-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Update NEWS and configure.ac for 1.7.4 release
        https://bugs.webkit.org/show_bug.cgi?id=76375

        Reviewed by Philippe Normand.

        * configure.ac: Bumped version number.

2012-01-16  Shinya Kawanaka  <shinyak@google.com>

        [crash] Renderer crashes when spell checking a disabled input field.
        https://bugs.webkit.org/show_bug.cgi?id=75941

        Reviewed by Hajime Morita.

        * ManualTests/editing-disabled-node-replace-crash.html: Added.

2012-01-13  Simon Fraser  <simon.fraser@apple.com>

        Unmatched transparency layer begin/end on a filtered element with an opacity ancestor
        https://bugs.webkit.org/show_bug.cgi?id=76329

        Reviewed by Dan Bernstein.
        
        Manual test with a filtered element as a descendant of an element with
        opacity. Doing a Find is necessary to exercise the test.

        * ManualTests/filters/opacity-above-filter.html: Added.

2012-01-13  Eli Fidler  <efidler@rim.com>

        GCC compiler version is not detected properly for QNX qcc variant
        https://bugs.webkit.org/show_bug.cgi?id=76288

        Reviewed by Rob Buis.

        Provide an alternative way of getting the compiler version for GCC variants
        that don't support -dumpversion (such as qcc).

        * Source/cmake/WebKitHelpers.cmake:

2012-01-13  Gregg Tavares  <gman@google.com>

        Add WebGLContextGroup as step toward sharing WebGL resources
        https://bugs.webkit.org/show_bug.cgi?id=75906

        The WebGL Working Group will soon add the ability to share
        WebGL resources among WebGL contexts. This is the necessary
        prep work. NO API changes.

        Added WebGLSharedObject for objects that are shared vs
        WebGLContextObject for objects that are not.

        Reviewed by Kenneth Russell.

        No new tests. No change in behavior.

        * GNUmakefile.list.am:
        * WebCore.gypi:
        * html/canvas/OESVertexArrayObject.cpp:
        (WebCore::OESVertexArrayObject::createVertexArrayOES):
        (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
        (WebCore::OESVertexArrayObject::isVertexArrayOES):
        (WebCore::OESVertexArrayObject::bindVertexArrayOES):
        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::WebGLBuffer):
        (WebCore::WebGLBuffer::~WebGLBuffer):
        (WebCore::WebGLBuffer::deleteObjectImpl):
        * html/canvas/WebGLBuffer.h:
        * html/canvas/WebGLContextGroup.cpp: Added.
        (WebCore::WebGLContextGroup::create):
        (WebCore::WebGLContextGroup::WebGLContextGroup):
        (WebCore::WebGLContextGroup::~WebGLContextGroup):
        (WebCore::WebGLContextGroup::getAGraphicsContext3D):
        (WebCore::WebGLContextGroup::addContext):
        (WebCore::WebGLContextGroup::removeContext):
        (WebCore::WebGLContextGroup::removeObject):
        (WebCore::WebGLContextGroup::addObject):
        (WebCore::WebGLContextGroup::detachAndRemoveAllObjects):
        (WebCore::WebGLContextGroup::loseContextGroup):
        * html/canvas/WebGLContextGroup.h: Copied from Source/WebCore/html/canvas/WebGLShader.h.
        * html/canvas/WebGLContextObject.cpp: Copied from Source/WebCore/html/canvas/WebGLShader.cpp.
        (WebCore::WebGLContextObject::WebGLContextObject):
        (WebCore::WebGLContextObject::~WebGLContextObject):
        (WebCore::WebGLContextObject::detachContext):
        (WebCore::WebGLContextObject::getAGraphicsContext3D):
        * html/canvas/WebGLContextObject.h: Copied from Source/WebCore/html/canvas/WebGLShader.h.
        (WebCore::WebGLContextObject::context):
        (WebCore::WebGLContextObject::validate):
        (WebCore::WebGLContextObject::hasGroupOrContext):
        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
        (WebCore::WebGLFramebuffer::~WebGLFramebuffer):
        (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
        (WebCore::WebGLFramebuffer::getAttachment):
        (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
        (WebCore::WebGLFramebuffer::checkStatus):
        (WebCore::WebGLFramebuffer::onAccess):
        (WebCore::WebGLFramebuffer::deleteObjectImpl):
        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLObject.cpp:
        (WebCore::WebGLObject::WebGLObject):
        (WebCore::WebGLObject::~WebGLObject):
        (WebCore::WebGLObject::deleteObject):
        (WebCore::WebGLObject::detach):
        (WebCore::WebGLObject::onDetached):
        * html/canvas/WebGLObject.h:
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::WebGLProgram):
        (WebCore::WebGLProgram::~WebGLProgram):
        (WebCore::WebGLProgram::deleteObjectImpl):
        (WebCore::WebGLProgram::cacheActiveAttribLocations):
        * html/canvas/WebGLProgram.h:
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::~WebGLRenderbuffer):
        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
        (WebCore::WebGLRenderbuffer::deleteObjectImpl):
        * html/canvas/WebGLRenderbuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::clearIfComposited):
        (WebCore::WebGLRenderingContext::checkObjectToBeBound):
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::createBuffer):
        (WebCore::WebGLRenderingContext::createFramebuffer):
        (WebCore::WebGLRenderingContext::createTexture):
        (WebCore::WebGLRenderingContext::createProgram):
        (WebCore::WebGLRenderingContext::createRenderbuffer):
        (WebCore::WebGLRenderingContext::createShader):
        (WebCore::WebGLRenderingContext::deleteObject):
        (WebCore::WebGLRenderingContext::deleteRenderbuffer):
        (WebCore::WebGLRenderingContext::deleteTexture):
        (WebCore::WebGLRenderingContext::detachShader):
        (WebCore::WebGLRenderingContext::validateElementArraySize):
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
        (WebCore::WebGLRenderingContext::validateWebGLObject):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::useProgram):
        (WebCore::WebGLRenderingContext::removeSharedObject):
        (WebCore::WebGLRenderingContext::addSharedObject):
        (WebCore::WebGLRenderingContext::removeContextObject):
        (WebCore::WebGLRenderingContext::addContextObject):
        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
        (WebCore::WebGLRenderingContext::initVertexAttrib0):
        (WebCore::WebGLRenderingContext::loseContext):
        (WebCore::WebGLRenderingContext::loseContextImpl):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::contextGroup):
        * html/canvas/WebGLShader.cpp:
        (WebCore::WebGLShader::WebGLShader):
        (WebCore::WebGLShader::~WebGLShader):
        (WebCore::WebGLShader::deleteObjectImpl):
        * html/canvas/WebGLShader.h:
        * html/canvas/WebGLSharedObject.cpp: Copied from Source/WebCore/html/canvas/WebGLRenderbuffer.cpp.
        (WebCore::WebGLSharedObject::WebGLSharedObject):
        (WebCore::WebGLSharedObject::~WebGLSharedObject):
        (WebCore::WebGLSharedObject::detachContextGroup):
        (WebCore::WebGLSharedObject::getAGraphicsContext3D):
        * html/canvas/WebGLSharedObject.h: Copied from Source/WebCore/html/canvas/WebGLShader.h.
        (WebCore::WebGLSharedObject::contextGroup):
        (WebCore::WebGLSharedObject::isBuffer):
        (WebCore::WebGLSharedObject::isFramebuffer):
        (WebCore::WebGLSharedObject::isProgram):
        (WebCore::WebGLSharedObject::isRenderbuffer):
        (WebCore::WebGLSharedObject::isShader):
        (WebCore::WebGLSharedObject::isTexture):
        (WebCore::WebGLSharedObject::validate):
        (WebCore::WebGLSharedObject::hasGroupOrContext):
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::WebGLTexture):
        (WebCore::WebGLTexture::~WebGLTexture):
        (WebCore::WebGLTexture::deleteObjectImpl):
        * html/canvas/WebGLTexture.h:
        * html/canvas/WebGLVertexArrayObjectOES.cpp:
        (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
        (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
        (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
        * html/canvas/WebGLVertexArrayObjectOES.h:

2012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r104805.
        http://trac.webkit.org/changeset/104805
        https://bugs.webkit.org/show_bug.cgi?id=76180

        Breaks apple win compilation. (Requested by vsevik on
        #webkit).

        * Source/autotools/symbols.filter:

2012-01-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Make the new WTF module build on Qt
        https://bugs.webkit.org/show_bug.cgi?id=76163

        Reviewed by Tor Arne Vestbø.

        * WebKit.pro: Build the new WTF instead of the old one.

2012-01-12  Shinya Kawanaka  <shinyak@google.com>

        ShadowContentElement should be able to use query.
        https://bugs.webkit.org/show_bug.cgi?id=75302

        Reviewed by Hajime Morita.

        * Source/autotools/symbols.filter: Exposed necessary symbols.

2012-01-11  Ulan Degenbaev  <ulan@chromium.org>

        [v8] Int16Array.set(array, offset) fails on first execution
        https://bugs.webkit.org/show_bug.cgi?id=76040

        Reviewed by Kenneth Russell.

        * LayoutTests/fast/canvas/webgl/array-set-with-offset-expected.txt: Added.
        * LayoutTests/fast/canvas/webgl/array-set-with-offset.html: Added.
        * Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
        * Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.h:

2012-01-11  Eli Fidler  <efidler@rim.com>

        Fix OpenGL dependency in CMake build system
        https://bugs.webkit.org/show_bug.cgi?id=73559

        Reviewed by Daniel Bates.

        Apparently the EFL port uses desktop OpenGL to implement WebGL, but
        other ports such as BlackBerry use other libraries like OpenGL ES 2.0 or
        ANGLE.

        * Source/cmake/OptionsCommon.cmake:
        * Source/cmake/OptionsEfl.cmake:

2012-01-09  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [AC] Simplify accelerated compositing build options
        https://bugs.webkit.org/show_bug.cgi?id=75518

        Reviewed by Gustavo Noronha Silva.

        * configure.ac: Remove the --enable-3d-rendering option. It's enabled by
        default now when accelerated compositing is enabled.
        * GNUmakefile.am: Automatically enable 3D rendering when accelerated compositing
        is turned on.

2012-01-04  Jon Lee  <jonlee@apple.com>

        Clicking on the cancel button on readonly and disabled search fields darkens as if the search field was editable
        https://bugs.webkit.org/show_bug.cgi?id=69886
        <rdar://problem/10070187>

        Reviewed by Adele Peterson.

        * ManualTests/search-cancel-button.html: Added.

2012-01-06  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Fix compilation of app code against QtWebKit master header file

        Unreviewed trivial build fix.

        * Source/sync.profile: Exclude util.h and testwindow.h from the master header
        file, because it cannot be used outside of the WebKit source tree.

2012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Move listing of include paths and libs to pri files in sources

        Includepaths are sometimes modified by non-Qt contributors so keeping
        them in files inside Sources makes it more likely that they are updated
        along with project files for the other ports.

        Using pri files instead of prf files for this also has the benefit that
        the include() from the main target file can be parsed and followed by
        Qt Creator -- something that does not work with load().

        Dependency from a target to a library through the WEBKIT variable are
        handled through forwarding-files in Tools/qmake/mkspecs/modules, which
        set the source root of the module and include the right pri file.

        Ideally we'd use the variant of include() that takes an optional
        namespace to read the variables into, or the fromfile() function,
        but both of these add an overhead of about 40% on the total qmake
        runtime, due to making a deep copy of all the variables in the
        project or re-reading all the prf files from scratch.

        Reviewed by Simon Hausmann.
        Reviewed by Ossy.

        * WebKit.pro:

2012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Add a few more files ot OTHER_FILES

        Rubber-stamped by Simon Hausmann.

        * WebKit.pro:

2012-01-05  Ulan Degenbaev  <ulan@chromium.org>

        [v8] Null pointer exception if a typed array constructor set to a primitive value.
        https://bugs.webkit.org/show_bug.cgi?id=75532

        Make sure that V8ArrayBufferViewCustomScript.js does not throw exception.

        Reviewed by Kenneth Russell.

        * LayoutTests/fast/canvas/webgl/array-buffer-view-crash-when-reassigned-expected.txt: Added.
        * LayoutTests/fast/canvas/webgl/array-buffer-view-crash-when-reassigned.html: Added.
        * Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
        * Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustomScript.js:

2012-01-05  Zeno Albisser  <zeno@webkit.org>

        [Qt][WK2] Implement custom URL schemes defined in QML.
        https://bugs.webkit.org/show_bug.cgi?id=74931

        Add new classes to the export map.

        Reviewed by Kenneth Rohde Christiansen.

        * Source/qtwebkit-export.map:

2012-01-05  Fady Samuel  <fsamuel@chromium.org>

        Move scalePageBy from eventSender to window.internals
        https://bugs.webkit.org/show_bug.cgi?id=64512

        Reviewed by Simon Fraser.

        * Source/autotools/symbols.filter:

2012-01-04  James Robinson  <jamesr@chromium.org>

        [chromium] Move WebMimeRegistry and dependencies to Source/Platform
        https://bugs.webkit.org/show_bug.cgi?id=74583

        Reviewed by Darin Fisher.

        Update .gitignore for Source/Platform/Platform.gyp/ generated project files.

        * .gitignore:

2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies

        The custom qmake variable 'WEBKIT' is used for signaling that a
        target depends in some way on other subproject of the WebKit
        project. For now this is limited to the set of intermediate
        libraries: wtf, javascriptcore, webcore, and webkit2.

        This replaces the previous convension of using load(foo) for
        just include paths, and CONFIG += foo to also link against foo.

        Adding a dependency results in additional include paths being
        available, and potentially linking to the library. This is
        decided by the build system based on conditions such as what
        kind of target is being built and the general build config.

        An advantage to his approach is that it simplifies the individual
        foo.prf files, for example by allowing us to use INCLUDEPATH +=
        and LIBS += as normal instead of prepending.

        Reviewed by Simon Hausmann.

        * Source/api.pri:

2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Move use of $$qtLibraryTarget() to a single place

        Reviewed by Kenneth Rohde Christiansen.

        * Source/api.pri:

2012-01-04  Mary Wu  <mary.wu@torchmobile.com.cn>

        Enable DOWNLOAD_ATTRIBUTE in BlackBerry porting
        https://bugs.webkit.org/show_bug.cgi?id=75238

        Reviewed by Antonio Gomes.

        * Source/cmakeconfig.h.cmake: Modified to add a new cmakedefine ENABLE_DOWNLOAD_ATTRIBUTE.

2012-01-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Clean up detection of fontconfig

        We decide in features.prf whether or not fontconfig is available, and
        set the HAVE_FONTCONFIG define accordingly. All leaf project files
        should use this define to decide whether or not to link against
        fontconfig, not do their own detection.

        We don't need to add link_pkgconfig to CONFIG in each project file,
        as we selectivly enable that configuration in defaults_post when
        needed.

        Reviewed by Ossy.

        * Source/api.pri:

2012-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add a way to change web view settings in MiniBrowser
        https://bugs.webkit.org/show_bug.cgi?id=71568

        Reviewed by Philippe Normand.

        * GNUmakefile.am: Initialize minibrowser_built_sources.

2011-12-28  ChangSeok Oh  <shivamidow@gmail.com>

        [GTK] Fix compilation issue when selecting opengl for Accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=75309

        Reviewed by Martin Robinson.

        Replace WTF_USE_TEXTURE_MAPPER_OPENGL to WTF_USE_TEXTURE_MAPPER_GL

        * GNUmakefile.am:

2011-12-28  Dan Bernstein  <mitz@apple.com>

        Entering "make" in Source builds only JavaScriptGlue and ANGLE
        https://bugs.webkit.org/show_bug.cgi?id=75318

        Reviewed by Anders Carlsson.

        * Makefile: Changed to make Source and Tools.
        * Source/Makefile: Changed to make all projects in Source.

2011-12-27  Kentaro Hara  <haraken@chromium.org>

        WIP: Enable the [Supplemental] IDL on Gtk
        https://bugs.webkit.org/show_bug.cgi?id=74972

        Reviewed by Adam Barth.

        This patch adds dom_binding_idls, which is used in Source/WebCore/GNUmakefile.list.am.

        * GNUmakefile.am:

2011-12-22  Leo Yang  <leo.yang@torchmobile.com.cn>

        [BlackBerry] Enable blob for the BlackBerry porting
        https://bugs.webkit.org/show_bug.cgi?id=75074

        Reviewed by George Staikos.

        * Source/cmake/OptionsBlackBerry.cmake:

2011-12-22  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Add an option to build WebKit2.
        https://bugs.webkit.org/show_bug.cgi?id=61999

        Reviewed by Eric Seidel.

        * Source/cmake/OptionsEfl.cmake: Set WebKit2_LIBRARY_NAME.

2011-12-22  Daniel Jalkut  <jalkut@red-sweater.com>

        ManualTests HTML template should be simplified
        https://bugs.webkit.org/show_bug.cgi?id=75025

        Reviewed by Ryosuke Niwa.

        * ManualTests/template.html:

2011-12-22  Daniel Jalkut  <jalkut@red-sweater.com>

        WebKit editing throws exception when monochrome color dragged onto text
        https://bugs.webkit.org/show_bug.cgi?id=74775

        Reviewed by Ryosuke Niwa.

        * ManualTests/drag-color-to-contenteditable.html: Added.

2011-12-21  Daniel Bates  <dbates@webkit.org>

        Add CMake option to only build JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=74979

        Reviewed by Rob Buis.

        Towards adding CMake support to script Tools/Scripts/build-jsc, add a CMake
        option to only build JavaScriptCore.

        * CMakeLists.txt: Defined ENABLE_WEBCORE to build WebCore. If the option
        ONLY_BUILD_JAVASCRIPTCORE is specified then don't build WebCore, WebKit, or WebKit2.
        * Source/CMakeLists.txt:
        * Source/cmake/WebKitFS.cmake:

2011-12-20  Ilya Tikhonovsky  <loislo@chromium.org>

        emacs: unreviewed. add settings for editing js files.

        * .dir-locals.el:

2011-12-20  Rafael Brandao  <rafael.lobo@openbossa.org>

        [Qt][WK2] Implement favicon support
        https://bugs.webkit.org/show_bug.cgi?id=71082

        Reviewed by Simon Hausmann.

        * Source/qtwebkit-export.map: Added new classes.

2011-12-18  Simon Hausmann  <simon.hausmann@nokia.com>

        Rename EditCommandQt to UndoStepQt
        https://bugs.webkit.org/show_bug.cgi?id=74754

        Reviewed by Ryosuke Niwa.

        * Source/api.pri:

2011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>

        De-virtualize destructors
        https://bugs.webkit.org/show_bug.cgi?id=74331

        Reviewed by Geoffrey Garen.

        * Source/autotools/symbols.filter: Removed symbol no longer present.

2011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Update NEWS and configure.ac for 1.7.3 release
        https://bugs.webkit.org/show_bug.cgi?id=74699

        Reviewed by Philippe Normand.

        * configure.ac: Bumped version number.

2011-12-15  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Remove ENABLE_DATAGRID from the buildsystem.
        https://bugs.webkit.org/show_bug.cgi?id=74640

        Reviewed by Antonio Gomes.

        r84991 removed Datagrid from the tree, but the options in CMake were
        kept.

        * Source/cmake/OptionsBlackBerry.cmake:
        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:

2011-12-15  Ulan Degenbaev  <ulan@chromium.org>

        Web Inspector: [Chromium]  Call LowMemoryNotification instead of IdleNotification
        https://bugs.webkit.org/show_bug.cgi?id=71821

        Reviewed by Yury Semikhatsky.

        * Source/WebCore/bindings/v8/ScriptProfiler.cpp:

2011-12-15  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Don't add WebCoreSupport and WebKit APIs to include WebCore's include path

        Reviewed Simon Hausmann.

        * Source/api.pri:

2011-12-15  Michael Brüning  <michael.bruning@nokia.com>

        [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt.
        https://bugs.webkit.org/show_bug.cgi?id=72893

        Reviewed by Kenneth Rohde Christiansen.

        This patch extends QQuickWebViewExperimental by a property named
        viewportInfo, which contains the viewport scalability and
        layout and contents size information. This property is exposed to
        QML through the experimental extension for QQuickWebView.

        * Source/qtwebkit-export.map:

2011-12-14  Ryosuke Niwa  <rniwa@webkit.org>

        Add a manual test for caret blinking during forward deletion
        https://bugs.webkit.org/show_bug.cgi?id=74494

        Reviewed by Dan Bernstein.

        Add a test to forward delete 200 characters. Caret should not blink during the deletion.
        This is a follow up for r102413.

        * ManualTests/caret-blink-during-forward-delete.html: Added.

2011-12-14  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Rollout r102769, because it broke Qt-4.8 builds.

        * Source/api.pri:

2011-12-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Don't add WebCoreSupport and WebKit APIs to include WebCore's include path

        Followup to r102679

        https://bugs.webkit.org/show_bug.cgi?id=74413

        Reviewed by Simon Hausmann.

        * Source/api.pri:

2011-12-14  Alexander Færøy  <alexander.faeroy@nokia.com>

        [Qt] Fix compilation of QtWebKit with --orientation-events without ENABLE_DEVICE_ORIENTATION
        https://bugs.webkit.org/show_bug.cgi?id=74492

        Reviewed by Simon Hausmann.

        * Source/api.pri:

2011-12-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Qt] [WK2] Linking fails if GStreamer not installed after r102493
        https://bugs.webkit.org/show_bug.cgi?id=74412

        Reviewed by Simon Hausmann.

        Add -lrt to fix WK2 linking when gstreamer is not used.

        * Source/api.pri:

2011-12-14  Alexander Færøy  <alexander.faeroy@nokia.com>

        [Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock
        https://bugs.webkit.org/show_bug.cgi?id=74417

        Reviewed by Simon Hausmann.

        Based on original patch by Kenneth Christiansen.

        * Source/api.pri:

2011-12-14  Jacky Jiang  <zhajiang@rim.com>

        [BlackBerry] Switch to libjpeg for decoding
        https://bugs.webkit.org/show_bug.cgi?id=74475

        Reviewed by Daniel Bates.

        Find libjpeg instead of libimg.

        * Source/cmake/OptionsBlackBerry.cmake:

2011-12-13  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Get rid of layering violations in includes

        WebKit/qt/API and WebKit/qt/WebCoreSupport should not be included
        in the webcore.prf, but rather in each target that specificly needs
        headers in these location. We used to include them directly in webcore
        since we had layering violations between WebCore and WebKit, but now
        that they are gone there's no reason to do that.

        Reviewed by Simon Hausmann.

        * Source/api.pri:

2011-12-12  Andy Wingo  <wingo@igalia.com>

        Simplify autotools configure.ac
        https://bugs.webkit.org/show_bug.cgi?id=74312

        Reviewed by Martin Robinson.

        * configure.ac: Don't AC_DEFINE so many things.  Many of the
        defines were stale (ENABLE_YARR, ENABLE_JIT_OPTIMIZE_CALL, etc),
        and with Platform.h we don't need to make an explicit decision
        here.  If the user does pass --enable-jit or --disable-jit, effect
        that choice via setting JSC_CPPFLAGS.

2011-12-12  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt][WK2] History is not accessible in QML.
        https://bugs.webkit.org/show_bug.cgi?id=73016

        Reviewed by Simon Hausmann.

        Add the new QWebNavigationHistory in the map file.

        * Source/qtwebkit-export.map:

2011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        [Qt] request parameter of QQuickWebView::navigationRequested is not a registered type
        https://bugs.webkit.org/show_bug.cgi?id=73826

        Reviewed by Tor Arne Vestbø.

        * Source/qtwebkit-export.map: Adding QWebNavigationRequest

2011-12-09  Joone Hur  <joone.hur@collabora.co.uk>

        [GTK] Initial implementation of Accelerated Compositing using Clutter
        https://bugs.webkit.org/show_bug.cgi?id=73319

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.am: Export new compilation macros.
        * configure.ac: Add clutter backend for Accelerated Compositing.

2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r102323.
        http://trac.webkit.org/changeset/102323
        https://bugs.webkit.org/show_bug.cgi?id=74069

        Caused Chromium and GTK build failure (Requested by bashi on
        #webkit).

        * Source/autotools/symbols.filter:

2011-12-08  Fady Samuel  <fsamuel@chromium.org>

        Move scalePageBy from eventSender to window.internals
        https://bugs.webkit.org/show_bug.cgi?id=64512

        Reviewed by Simon Fraser.

        * Source/autotools/symbols.filter:

2011-12-06  Dirk Pranke  <dpranke@chromium.org>

        Add Tools/Tool.xcodeproj,
        Source/WebKit/chromium/WebKitUnitTests.xcodeproj,
        Source/WebKit/chromium/All.xcodeproj to .gitignore

        https://bugs.webkit.org/show_bug.cgi?id=73823

        Reviewed by Tony Chang.

        * .gitignore:

2011-12-06  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] build-jsc script doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=73910

        Reviewed by Tor Arne Vestbø.

        * WebKit.pro: Move WTF SUBDIR stuff out of here and
        straight into JavaScriptCore/JavaScriptCore.pro.
        Unconditionally "recurse" into JavaScriptCore now,
        as we'll do the v8 scoping there to only build WTF.

2011-12-05  Alexander Færøy  <alexander.faeroy@nokia.com>

        [Qt] Add Source/qtwebkitversion.h to .gitignore
        https://bugs.webkit.org/show_bug.cgi?id=73823

        Reviewed by Tor Arne Vestbø.

        * .gitignore:

2011-12-03  Dan Winship  <danw@gnome.org>

        [GTK] Update required libsoup version
        https://bugs.webkit.org/show_bug.cgi?id=71611

        Reviewed by Martin Robinson.

        * configure.ac: require libsoup 2.37.2.1 for SoupRequestHTTP API
        changes

2011-12-02  Fady Samuel  <fsamuel@chromium.org>

        When page scaling is in use position:fixed has incorrect results
        https://bugs.webkit.org/show_bug.cgi?id=68617

        Reviewed by Simon Fraser.

        * Source/autotools/symbols.filter:

2011-12-02  Martin Robinson  <mrobinson@igalia.com>

        Try to fix the GTK+ debug bot. As discussed with other GTK+
        hackers recently. It makes sense to just remove G_DISABLE_DEPRECATIONS
        now in WebKit. The flag itself is now deprecated in GLib in favor of
        the gcc attribute.

        * GNUmakefile.am: Remove G_DISABLE_DEPRECATED.

2011-12-02  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fixes for Windows build.

        * wscript:

2011-12-02  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Fix TextureMapperCairo compilation
        https://bugs.webkit.org/show_bug.cgi?id=73655

        Reviewed by Martin Robinson.

        * GNUmakefile.am: The variables need the USE part in the name.
        * configure.ac: We can not define the variable twice.

2011-12-02  Raphael Kubo da Costa  <kubo@profusion.mobi>

        Unreviewed, revert r101347.
        https://bugs.webkit.org/show_bug.cgi?id=73580

        It breaks the linking of Tools/ targets due to missing functions.

        * Source/cmake/OptionsEfl.cmake:

2011-12-02  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Improve  C++0x compat warnings check
        https://bugs.webkit.org/show_bug.cgi?id=73642

        Reviewed by Martin Robinson.

        * configure.ac:

2011-12-01  Nayan Kumar K  <nayankk@motorola.com>

        [GTK] Add compilation options to enable/disable Accelerated Compositing and to choose texture mapper implementation.
        https://bugs.webkit.org/show_bug.cgi?id=73458

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Export new compilation macros.
        * configure.ac: Provide option to choose accelerated compositing and texture mapper variations.

2011-12-01  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Make the feature defines for DOM names explicit
        https://bugs.webkit.org/show_bug.cgi?id=72812

        Reviewed by Daniel Bates.

        Preprocessor defines used in WebCore/dom/make_names.pl are set via WEBKIT_FEATURE
        for every port in the correspondig platform file. Pass an explicit list of defines
        to the CMake macro, so we need to maintain the list only once.

        * Source/cmake/OptionsBlackBerry.cmake:
        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmake/WebKitFeatures.cmake:

2011-11-30  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Add accelerated compositing compilation option
        https://bugs.webkit.org/show_bug.cgi?id=73298

        Compile whatever we have inside the USE(ACCELERATED_COMPOSITING)
        define. Add the build compilation option
        --with-accelerated-compositing and use it in the makefile.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:
        * configure.ac:

2011-11-30  Mary Wu  <mary.wu@torchmobile.com.cn>

        remove buildinformation from BlackBerry porting build system
        https://bugs.webkit.org/show_bug.cgi?id=73276

        Reviewed by Daniel Bates.

        * Source/cmake/OptionsBlackBerry.cmake: remove script file generate-buildinfo

2011-11-30  Andrew Wason  <rectalogic@rectalogic.com>

        Replace Qt QThread threading back-end with pthread/Win32 threading back-ends
        https://bugs.webkit.org/show_bug.cgi?id=72155

        Reviewed by Simon Hausmann.

        Add additional WebCoreSupport files for Qt.

        * Source/api.pri:

2011-11-30  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>

        [Qt][WK2] Implement permission API for Qt port
        https://bugs.webkit.org/show_bug.cgi?id=59200

        Permission API hookup for Geolocation, it allows to receive in WebView
        a signal when a permission request is done (e.g. to grant permission
        for accessing geolocation information) and set it accordingly.

        Reviewed by Simon Hausmann.

        * Source/qtwebkit-export.map:

2011-11-29  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix for Leopard compilation.

        * wscript:

2011-11-29  Philippe Normand  <pnormand@igalia.com>

        [GTK] hide WebAudio build option until support for FFTW is removed
        https://bugs.webkit.org/show_bug.cgi?id=73295

        Reviewed by Martin Robinson.

        * configure.ac: Disable WebAudio until the FFTW dependency is removed.

2011-11-29  Hyowon Kim  <hw1008.kim@samsung.com>

        [Texmap][EFL] Accelerated compositing support using TextureMapper on EFL port
        https://bugs.webkit.org/show_bug.cgi?id=73111

        Add feature define for TextureMapper and OpenGL package.

        Reviewed by Noam Rosenthal.

        * Source/cmake/OptionsEfl.cmake:

2011-11-29  Roland Steiner  <rolandsteiner@chromium.org>

        <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=72848

        Add flag and description.

        Reviewed by Dimitri Glazkov.

        * configure.ac:

2011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Build system fixes against V8.

        Reviewed by Tor Arne Vestbø.

        * Source/api.pri: Get rid of old v8 cruft.
        * WebKit.pro: Don't build JavaScriptCore when configured with v8.

2011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] WTF should be built as separate static library
        https://bugs.webkit.org/show_bug.cgi?id=73201

        Reviewed by Tor Arne Vestbø.

        * Source/api.pri: Require wtf.
        * WebKit.pro: Build WTF.

2011-11-17  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Integrate build-gtkdoc into build-webkit and make
        https://bugs.webkit.org/show_bug.cgi?id=72626

        Reviewed by Philippe Normand.

        * GNUmakefile.am: Remove references to old gtkdoc files. Update
        the dist-hook to include copying documentation into the distribution.
        This also means that the build will fail if documentation hasn't been
        generated before 'make dist.'
        * configure.ac: Ditto.

2011-11-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Re-generate QtWebKit API forwarding headers when API changes

        The forwarding headers are generated by syncqt, and syncqt is run by qmake,
        so we need sync.profile to live in the same directory as the project file
        that will be touched when adding/removing API (api.pri in our case).

        Since the WebKit2 APIs live in a separate static library, we have to
        add the project file for WebKit2 as a dependency of the api.pri file
        as well, so that any changes to the WebKit2 API will still trigger a
        run of qmake (and then syncqt).

        Lastly, we use the new QMAKE_SYNCQT_OUTDIR variable in Qt 5 to ensure
        that the forwarding headers are still generated in the root build dir,
        not in the Source dir along with the internal forwarding headers.

        Reviewed by Andreas Kling.

        * Source/QtWebKit.pro:
        * Source/api.pri:
        * Source/sync.profile: Renamed from sync.profile.

2011-11-23  Halton Huo  <halton.huo@intel.com>

        [EFL] Add zlib depend when freetype is used.
        https://bugs.webkit.org/show_bug.cgi?id=66365

        Unreviewed build fix.

        When freetype is enabled, uncompress() function is used by
        WOFFFileFormat.cpp. Since zlib is not required by freetype, we need to
        add libz as dependency for fix linking issue.

        * Source/cmake/OptionsEfl.cmake: search for ZLIB

2011-10-08  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Enable WebGL by default
        https://bugs.webkit.org/show_bug.cgi?id=69706

        Reviewed by Xan Lopez.

        * configure.ac: Enable WebGL by default if the build target is X11.

2011-11-23  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Move the top-level logic to the top-level directory.
        https://bugs.webkit.org/show_bug.cgi?id=72685

        Reviewed by Brent Fulgham.

        Move most of the top-level code in Source/CMakeLists.txt to
        CMakeLists.txt. This allows us to replace some INCLUDE() hacks with
        proper ADD_SUBDIRECTORY() calls, and actually moves non-Source related
        to a non-Source directory.

        * CMakeLists.txt: Copied from Source/CMakeLists.txt.

2011-11-22  Adam Klein  <adamk@chromium.org>

        Add new WebKit/chromium/dbus directory to .gitignore.

        * .gitignore:

2011-11-22  Adam Klein  <adamk@chromium.org>

        Ignore more gyp-generated build files in WTF.gyp.

        * .gitignore:

2011-11-22  Andy Wingo  <wingo@igalia.com>

        Fix .dir-locals.el to only apply to specific modes
        https://bugs.webkit.org/show_bug.cgi?id=72963

        Reviewed by Xan Lopez.

        * .dir-locals.el: Remove `nil' block, as it was causing
        makefile-mode not to insert tabs.

2011-11-21  Adam Klein  <adamk@chromium.org>

        Add GYP-generated WTF.xcodeproj to .gitignore after r100851.

        * .gitignore:

2011-11-21  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        [Qt] [WK2] WebKitTestRunner doesn't build in debug
        https://bugs.webkit.org/show_bug.cgi?id=72827

        Reviewed by Andreas Kling.

        Add exports to fix WebKitTestRunner debug build.

        * Source/qtwebkit-export.map:

2011-11-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        [Qt] Add WebView.view attached property support for dialogs in QML
        https://bugs.webkit.org/show_bug.cgi?id=72825

        Reviewed by Simon Hausmann.

        Export QQuickWebViewAttached.

        * Source/qtwebkit-export.map:

2011-11-21  Noel Gordon  <noel.gordon@gmail.com>

        Update .gitignore for latest WebKitLibraries
        https://bugs.webkit.org/show_bug.cgi?id=72851

        Reviewed by Andreas Kling.

        * .gitignore: updates to silence 'git status' about WebKitLibraries files.

2011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Update NEWS and configure.ac for 1.7.2 release
        https://bugs.webkit.org/show_bug.cgi?id=72868

        Reviewed by Xan Lopez.

        * configure.ac: Bumped version number.

2011-11-19  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix after GeneratedImage refactoring.

        * wscript:

2011-11-19  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Add the map file symbols export as a dependency of the final qmake target.
        https://bugs.webkit.org/show_bug.cgi?id=72740

        Reviewed by Simon Hausmann.

        Add the symbols file part of the target dependencies.

        * Source/api.pri:

2011-11-18  Daniel Bates  <dbates@rim.com>

        Add CMake build infrastructure for the BlackBerry port
        https://bugs.webkit.org/show_bug.cgi?id=72768

        Reviewed by Adam Barth and Antonio Gomes.

        * Source/CMakeLists.txt: Add the BlackBerry port and support for building on QNX.
        * Source/cmake/OptionsBlackBerry.cmake: Added.
        * Source/cmake/OptionsCommon.cmake: Add QNX QCC-variant of CODE_GENERATOR_PREPROCESSOR.
          We may be able to fold this into the non-MSVC CODE_GENERATOR_PREPROCESSOR.

2011-11-18  Adam Barth  <abarth@webkit.org>

        Prepare to move manual-tests out of WebCore
        https://bugs.webkit.org/show_bug.cgi?id=72782

        Reviewed by Eric Seidel.

        Update these files to refer to the new location of ManualTests.

        * .gitattributes:
        * Source/cmake/WebKitPackaging.cmake:

2011-11-18  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Add possibility to overwrite WEBKIT_PORT_DIR in platform specific files
        https://bugs.webkit.org/show_bug.cgi?id=72710

        Reviewed by Brent Fulgham.

        * Source/CMakeLists.txt:

2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Unreviewed build fix: Export QQuickWebPage/Preferences private API
        needed for the qml plugin.

        * Source/qtwebkit-export.map:

2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Unreviewed build fix: Export QQuickWebViewExperimental private API
        that was added since I made the export patch.

        * Source/qtwebkit-export.map:

2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] WTR and InjectedBundle should not link statically against JSC/WTF
        https://bugs.webkit.org/show_bug.cgi?id=72697

        Reviewed by Kenneth Rohde Christiansen.

        * Source/api.pri: On Linux, use a GNU LD version script to manage the
        symbol exports, which includes the public WK1/WK2 API as well as a bunch
        of private WTF symbols needed for WTR and the Injected Bundle.
        * Source/qtwebkit-export.map: Added.

2011-11-17  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Clean up the use of DATA_DIR in the buildsystem
        https://bugs.webkit.org/show_bug.cgi?id=72681

        Reviewed by Daniel Bates.

        * Source/cmake/OptionsEfl.cmake: Rename DATA_DIR to DATA_INSTALL_DIR
        and add it to the cache; add a variable with the path of the generated
        theme and remove the -DDATA_DIR definition, it was moved to
        PlatformEFL.cmake in WebCore.

2011-11-17  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Add ENABLE_CLIENT_BASED_GEOLOCATION to cmakeconfig.h
        https://bugs.webkit.org/show_bug.cgi?id=72643

        Reviewed by Brent Fulgham.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:

2011-11-17  Kelly Norton  <knorton@google.com>

       Several void functions in FrameView and RenderObject actually return values.
       https://bugs.webkit.org/show_bug.cgi?id=72640

        Reviewed by Adam Barth.

        * ../../Source/WebCore/page/FrameView.cpp:
        * ../../Source/WebCore/rendering/RenderObject.cpp:

2011-11-17  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Make CODE_GENERATOR_PREPROCESSOR more useable
        https://bugs.webkit.org/show_bug.cgi?id=72516

        Reviewed by Brent Fulgham.

        On windows some code generators fail, if the path to the preprocessor contains spaces.
        Use only the executable name to avoid this issue for now.

        * Source/cmake/OptionsCommon.cmake:

2011-11-17  Jochen Eisinger  <jochen@chromium.org>

        [chromium] add gyp-mac-tool to .gitignore
        https://bugs.webkit.org/show_bug.cgi?id=72603

        Reviewed by Tony Gentilcore.

        This file is generated by the make-based build of the chromium/mac port

        * .: Modified property svn:ignore.
        * .gitignore:

2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Move WebKit2 C++ APIs to private API and build QML extension plugin on top of that

        A new extension object has been added to QQuickWebView (the same approach should be used
        for other API classes that need experimental APIs). The QML extension mechanism is then
        built on top of the experimental object.

        https://bugs.webkit.org/show_bug.cgi?id=72522

        Reviewed by Simon Hausmann.

        * Source/QtWebKit.pro:
        * Source/api.pri:

2011-11-11  Adrienne Walker  <enne@google.com>

        [chromium] Expose mock scrollbars to window.internals
        https://bugs.webkit.org/show_bug.cgi?id=72195

        Reviewed by James Robinson.

        * Source/autotools/symbols.filter:

2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions

        Reviewed by Tor Arne Vestbø.

        * Source/api.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.

2011-11-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Fix path to module file in root project file

        Reviewed by Simon Hausmann.

        * WebKit.pro:

2011-11-16  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed, rolling out r100266.
        http://trac.webkit.org/changeset/100266

        Broke WTR.

        * Source/api.pri:

2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions

        Reviewed by Tor Arne Vestbø.

        * Source/api.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.

2011-11-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Move the QtWebKit module file to match the layout of Qt's mkspecs

        Reviewed by Simon Hausmann.

        * Source/api.pri:

2011-11-12  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Use MAIN_DEPENDENCY in GENERATE_* macros
        https://bugs.webkit.org/show_bug.cgi?id=71365

        Reviewed by Daniel Bates.

        Use the MAIN_DEPENDENCY instead of DEPENDS in the custom build commands.
        This adds better IDE support for such targets.

        * Source/cmake/WebKitMacros.cmake:

2011-11-11  Shinya Kawanaka  <shinyak@google.com>

        Implement legacy text check emulation in unified text check interface.
        https://bugs.webkit.org/show_bug.cgi?id=70299

        Reviewed by Hajime Morita.

        * Source/autotools/symbols.filter:

2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Build fix of the private QML module with --no-webkit2.
        https://bugs.webkit.org/show_bug.cgi?id=67707

        Reviewed by Tor Arne Vestbø.

        * Source/QtWebKit.pro:

2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Add a way to have experimental features in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=67707

        Reviewed by Kenneth Rohde Christiansen.

        Add the new private QML module in the build.

        * Source/QtWebKit.pro:

2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>

        [Qt] X11 plugins need to be reworked for Qt5
        https://bugs.webkit.org/show_bug.cgi?id=70023

        Reviewed by Simon Hausmann.

        Rework our basic plugin support in a way that does
        not need a bridge between Qt and X. The solution is
        based on getting the content drawed by the plugin
        from the server as an image and creating a QImage
        from it.

        * Source/api.pri: Link to xlib if necessary.

2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Clean up build system

        Reviewed by Tor Arne Vestbø.

        * Source/api.pri: Eliminate use of WebKit2.pri.

2011-11-10  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Merge QTouchWebView and QDesktopWebView into one class
        https://bugs.webkit.org/show_bug.cgi?id=71355

        Reviewed by Kenneth Rohde Christiansen.

        Remove old tests and merge them into the new QQuickWebView directory.

        * Source/tests.pri:

2011-11-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Change semantics of the haveQt() function to match API promises

        Having Qt 5 does not imply that we have Qt 4, from an API point of
        view, as a major version can in theory break BC/SC. Our minimum
        version of Qt 4 will always be the latest released version of Qt 4,
        so the only place we should use haveQt(4, x) is when checking for
        the minimum requirements.

        Reviewed by Simon Hausmann.

        * Source/QtWebKit.pro:

2011-11-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Make sure headers.pri has the right relative paths for install

        The install rules are generated from api.pri which lives in Source,
        which means the paths in headers.pri, which is the basis for the
        install rules, needs to be relative to Source as well.

        We were also installing the headers from the forwarding headers
        directory, which was wrong, as those headers contained relative paths.

        We now install the actual headers, by using headers.pri as a basis.

        https://bugs.webkit.org/show_bug.cgi?id=71697

        Reviewed by Simon Hausmann.

        * Source/QtWebKit.pro:
        * Source/api.pri:
        * sync.profile:

2011-11-09  Shinya Kawanaka  <shinyak@google.com>

        Internals.markerRangeForNode should be able to take markers by specifying a marker type.
        https://bugs.webkit.org/show_bug.cgi?id=71792

        Reviewed by Hajime Morita.

        * Source/autotools/symbols.filter: Exposed necessary symbols.

2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Update project files.

        * wscript:

2011-11-09  Philippe Normand  <pnormand@igalia.com>

        [GTK][DRT] window internals object is not reset after each test
        https://bugs.webkit.org/show_bug.cgi?id=71890

        Reviewed by Martin Robinson.

        * Source/autotools/symbols.filter: Revert un-needed symbol.

2011-11-09  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, attempt to fix GTK 32-bits Release build after r99691.

        * Source/autotools/symbols.filter: Add the missing symbol for resetInternalsObject.

2011-11-09  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Only copy framework headers once when debug_and_release is enabled

        Otherwise we might end up in a race condition where we try to symlink
        the headers directory in the makefile for debug and release at the same
        time.

        Reviewed by Simon Hausmann.

        * Source/api.pri:

2011-11-08  Martin Robinson  <mrobinson@igalia.com>

        Take another stab at fixing the GTK+ build.

        * Source/autotools/symbols.filter: The symbols.filter file was missing a semicolon.

2011-11-08  Daniel Bates  <dbates@webkit.org>

        Attempt to fix the GTK build after <http://trac.webkit.org/changeset/99613>
        (https://bugs.webkit.org/show_bug.cgi?id=71840)

        * Source/autotools/symbols.filter: Add symbol _ZN7WebCore4Page13setPaginationERKNS0_10PaginationE.

2011-11-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Use qmake's builtin rules for copying framework headers on Mac OS

        Now that we generate the forwarding headers eiher as part of QtWebKit.pro
        (for Qt 4.8), or as part of the root project file (for Qt 5), we can assume
        that the files are there and use $$files() to list the files to be copied.

        Reviewed by Csaba Osztrogonác.

        * Source/api.pri:

2011-11-08  Yuqiang Xian  <yuqiang.xian@intel.com>

        Enable DFG JIT by default on X86 Linux and Mac platforms
        https://bugs.webkit.org/show_bug.cgi?id=71686

        Reviewed by Filip Pizlo.

        Remove the DFG cmake option for Efl port as we'll determine whether to
        switch on DFG or not based on build target platforms.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmakeconfig.h.cmake:

2011-11-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Ensure forwarding headers are generated before generating install rules

        The install rule for headers depends on qmake being able to walk the list of
        headers in the $build_root/include/QtWebKit directory, but this directory is
        empty until we've generated the forwarding headers. So we need to make sure
        the forwarding headers are generated _before_ we run qmake on the api project
        file. This applies to Qt 4.8 only, as Qt 5 will run synqt as part of the
        root project file (due to the sync.profile file).

        https://bugs.webkit.org/show_bug.cgi?id=71697

        Reviewed by Simon Hausmann.

        * Source/QtWebKit.pro:
        * Source/api.pri:

2011-11-07  ChangSeok Oh  <shivamidow@gmail.com>

        [EFL] Support requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=67112

        Reviewed by Andreas Kling.

        Add build-option for requestAnimationFrame feature.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmakeconfig.h.cmake:

2011-11-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Ensure we always export symbols for the QtWebKit API when building WebKit

        Reviewed-by Simon Hausmann.

        * Source/api.pri:

2011-11-04  Philippe Normand  <pnormand@igalia.com>

        [GTK] Disable VIDEO_TRACK for now
        https://bugs.webkit.org/show_bug.cgi?id=71547

        Reviewed by Gustavo Noronha Silva.

        * configure.ac: VIDEO_TRACK is still a moving target, it's best to
        disable it for now.

2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Don't build all of webkit when running build-jsc

        In case the whole webkit project was built, but we then subsequently
        want to build only JSC, we need to run make in the proper subdirectory.

        This also means the incremental target needs to be added to all
        makefiles.

        Reviewed by Simon Hausmann.

        * WebKit.pro:

2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Refactor and clean up the qmake build system

        The qmake build system has accumulated a bit of cruft and redundancy
        over time. There's also a fairly tight coupling between how to build
        the various targets, and _what_ to build, making it harder to add new
        rules or sources. This patch aims to elevate these issues somewhat.

        This is a short-list of the changes:

          * The rules for how to build targets are now mostly contained as
            prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
            allows us to do pre- and post-processing of each project file,
            which helps to clean up the actual project files.

          * Derived sources are no longer generated as a separate make-step
            but is part of each target's project file as a subdir. Makefile
            rules are used to ensure that we run make on the derived sources
            before running qmake on the actual target makefile. This makes
            it easier to keep a proper dependency between derived sources
            and the target.

          * We use GNU make and the compiler to generate dependencies on
            UNIX-based systems running Qt 5. This allows us to lessen the
            need to run qmake, which should reduce compile time.

          * WebKit2 is now build by default if building with Qt 5. It can
            be disabled by passing --no-webkit2 to build-webkit.

        The result of these changes are hopefully a cleaner and easier
        build system to modify, and faster build times due to no longer
        running qmake on every single build. It's also a first step
        towards possibly generating the list of sources using another
        build system.

        https://bugs.webkit.org/show_bug.cgi?id=71222

        Reviewed by Simon Hausmann.

        * Source/DerivedSources.pro: Removed.
        * Source/QtWebKit.pro: Added.
        * Source/WebKit.pri: Removed.
        * Source/WebKit.pro: Removed.
        * Source/api.pri: Added.
        * Source/tests.pri: Added.
        * WebKit.pro: Added.
        * sync.profile: Renamed from Source/sync.profile.

2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt] Remove Maemo specific code paths
        https://bugs.webkit.org/show_bug.cgi?id=71476

        Reviewed by Kenneth Rohde Christiansen.

        * Source/WebKit.pri:

2011-11-03  Dongwoo Im  <dw.im@samsung.com>

        [EFL] Enable the Page Visibility API.
        https://bugs.webkit.org/show_bug.cgi?id=69127

        Reviewed by Adam Barth.

        Build system changes to support ENABLE(PAGE_VISIBILITY_API) on EFL port.

        * Source/cmake/OptionsEfl.cmake: Add enabled ENABLE_PAGE_VISIBILITY_API definition.
        * Source/cmakeconfig.h.cmake: ditto.

2011-10-28  Adam Barth  <abarth@webkit.org>

        Rename ExceptionCodeDescription.in to DOMExceptions.in
        https://bugs.webkit.org/show_bug.cgi?id=71157

        Reviewed by Eric Seidel.

        * Source/cmake/WebKitMacros.cmake:

2011-10-28  Adam Barth  <abarth@webkit.org>

        ExceptionCode.cpp shouldn't need to know about every feature that throws exceptions
        https://bugs.webkit.org/show_bug.cgi?id=70890

        Reviewed by Eric Seidel.

        Add a code generation step.

        * Source/cmake/WebKitMacros.cmake:

2011-10-27  Priit Laes  <plaes@plaes.org>

        [GTK] Create .xz tarballs during distcheck
        https://bugs.webkit.org/show_bug.cgi?id=71001

        Reviewed by Martin Robinson.

        * configure.ac: Switched tarballs to use .xz compression.

2011-10-27  Daniel Bates  <dbates@rim.com>

        CMake: Add support to optionally install the built JavaScript shell
        https://bugs.webkit.org/show_bug.cgi?id=71062

        Reviewed by Antonio Gomes.

        Adds a CMake option, called SHOULD_INSTALL_JS_SHELL, that when
        defined will generate an installation rule to install the built
        JavaScript shell into /bin (with respect to the prefix path).

        By default, we don't define this option and hence don't generate
        an installation rule for the JavaScript shell.

        * Source/CMakeLists.txt:

2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r98556.
        http://trac.webkit.org/changeset/98556
        https://bugs.webkit.org/show_bug.cgi?id=71031

        The test added by the patch doesn't pass on Snow Leopard
        (Requested by rniwa on #webkit).

        * Source/autotools/symbols.filter:

2011-10-27  Shinya Kawanaka  <shinyak@google.com>

        Implement legacy text check emulation in unified text check interface.
        https://bugs.webkit.org/show_bug.cgi?id=70299

        Reviewed by Hajime Morita.

        * Source/autotools/symbols.filter:

2011-10-27  Philippe Normand  <pnormand@igalia.com> and Zan Dobersek  <zandobersek@gmail.com>

        [GStreamer] WebAudio AudioFileReader implementation
        https://bugs.webkit.org/show_bug.cgi?id=69834

        Reviewed by Martin Robinson.

        * configure.ac: Check for libfftw and gstreamer-audio if WebAudio
        build is enabled.

2011-10-26  Alejandro G. Castro  <alex@igalia.com>

        [GTK] Update NEWS and configure.ac for 1.7.1 release
        https://bugs.webkit.org/show_bug.cgi?id=70932

        Reviewed by Martin Robinson.

        * configure.ac: Bumped version number.

2011-10-26  Alejandro G. Castro  <alex@igalia.com>

        [GTK] [WK2] Add WebKit2 distcheck support
        https://bugs.webkit.org/show_bug.cgi?id=70933

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Added WebKit2 compilation to the distcheck.
        * configure.ac: Removed WebKit2 doc generation for the moment.

2011-10-21  Simon Hausmann  <simon.hausmann@nokia.com>

        Remove QtScript source code from WebKit.
        https://bugs.webkit.org/show_bug.cgi?id=64088

        Reviewed by Tor Arne Vestbø.

        Removed dead code that isn't developed anymore.

        * Source/WebKit.pro:

2011-10-19  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] Streamline wk1 documentation build
        https://bugs.webkit.org/show_bug.cgi?id=70447

        Reviewed by Martin Robinson.

        * GNUmakefile.am: include the documentation's GNUmakefile.am;
        * autogen.sh: we no longer call gtkdocize, since we now ship
          a modified gtk-doc.make;
        * configure.ac: no longer generate a separate GNUmakefile for
          the documentation build.

2011-10-18  Adam Barth  <abarth@webkit.org>

        Always enable ENABLE(XPATH)
        https://bugs.webkit.org/show_bug.cgi?id=70217

        Reviewed by Eric Seidel.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-10-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Merge QML plugin for WebKit2 with the original WebKit1 plugin

        We don't need a sepearate plugin, as we no longer expose the WK2
        APIs under QtWebKit.experimental, but now use QtWebKit. The version
        was also changed to 3.0 instead of 5.0, as the original plugin was
        versioned 1.0, and bumping to 3.0 fits the scheme used by QtWebKit releases.

        Reviewed by Andreas Kling.

        * Source/WebKit.pro:

2011-10-18  Zan Dobersek  <zandobersek@gmail.com>

        [Gtk] Support for client-based geolocation
        https://bugs.webkit.org/show_bug.cgi?id=64970

        Reviewed by Martin Robinson.

        Remove flag for enabling client-based geolocation since
        it is used by default on Gtk port and hence not configurable.

        * configure.ac:

2011-10-17  Leandro Pereira  <leandro@profusion.mobi>

        Unreviewed; actually enable/disable microdata support in CMake.

        Follow-up to r97471, which did not plug the option to enable/disable
        microdata into the buildsystem.

        * Source/cmake/OptionsEfl.cmake: Add ENABLE_MICRODATA feature, turned off by default.
        * Source/cmake/OptionsWinCE.cmake: Ditto.
        * Source/cmakeconfig.h.cmake: Add ENABLE_MICRODATA #cmakedefine.

2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>

        GTK build fix patch by Gustavo Noronha Silva.

        * Source/autotools/symbols.filter:

2011-10-17  Vamshikrishna Yellenki  <vamshi@motorola.com>

        [webkit]Debug Build Bot failure
        https://bugs.webkit.org/show_bug.cgi?id=70222

        Reviewed by Xan Lopez.

        * Source/autotools/symbols.filter: Corrected the filter name for getLocationAndLengthFronRange

2011-10-16  Adam Barth  <abarth@webkit.org>

        Always enable ENABLE(DOM_STORAGE)
        https://bugs.webkit.org/show_bug.cgi?id=70189

        Reviewed by Eric Seidel.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-10-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        [Qt] [Symbian] Remove support for the Symbian platform for the QtWebKit port
        https://bugs.webkit.org/show_bug.cgi?id=69920

        Reviewed by Kenneth Rohde Christiansen.

        * Source/WebKit.pri:
        * Source/WebKit.pro:

2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>

        Rename virtual put to putVirtual
        https://bugs.webkit.org/show_bug.cgi?id=69851

        Reviewed by Darin Adler.

        Renamed virtual versions of put to putVirtual in prepration for 
        adding the static put to the MethodTable in ClassInfo since the 
        compiler gets mad if the virtual and static versions have the same 
        name.

        * Source/autotools/symbols.filter:

2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>

        Rename virtual put to putVirtual
        https://bugs.webkit.org/show_bug.cgi?id=69851

        Reviewed by Darin Adler.

        Renamed virtual versions of put to putVirtual in prepration for 
        adding the static put to the MethodTable in ClassInfo since the 
        compiler gets mad if the virtual and static versions have the same 
        name.

        * Source/autotools/symbols.filter:

2011-10-13  Arko Saha  <arko@motorola.com>

        Microdata: Basic implementation of document.getItems() method.
        https://bugs.webkit.org/show_bug.cgi?id=68610

        Reviewed by Ryosuke Niwa.

        Added ENABLE(MICRODATA) feature flag.

        * configure.ac:

2011-10-14  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [EFL] Add DumpRenderTreeSupportEfl
        https://bugs.webkit.org/show_bug.cgi?id=68458

        Reviewed by Kenneth Rohde Christiansen.

        * Source/cmake/eflsymbols.filter: Export DumpRenderTreeSupportEfl
        symbols so that DumpRenderTree can link to them.

2011-10-12  Adam Barth  <abarth@webkit.org>

        Remove ENABLE(XHTMLMP) and associated code
        https://bugs.webkit.org/show_bug.cgi?id=69729

        Reviewed by David Levin.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-10-12  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Fix build with GLib 2.31
        https://bugs.webkit.org/show_bug.cgi?id=69840

        Reviewed by Martin Robinson.

        * configure.ac: add check for pthread rwlock support.

2011-10-10  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [WebKit2] Make adding another unit test easier
        https://bugs.webkit.org/show_bug.cgi?id=69409

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.am: Include the new testing makefile.

2011-10-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Remove all references to QTDIR_build and standalone_package

        Qt is now modularized, which means we no longer import WebKit into
        the Qt source tree. Instead we use git submodules, and building
        QtWebKit as "part of Qt" is really building QtWebKit as from trunk.

        To decrease the number of buildsystem configurations we also remove
        the standalone_package code-path used when we were providing tarballs
        with the derived sources pre-generated.

        Reviewed by Simon Hausmann.

        * Source/WebKit.pri:
        * Source/WebKit.pro:

2011-10-06  Fady Samuel  <fsamuel@chromium.org>

        Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
        https://bugs.webkit.org/show_bug.cgi?id=69009

        Reviewed by Simon Fraser.

        * Source/autotools/symbols.filter:

2011-10-06  Simon Hausmann  <simon.hausmann@nokia.com>

        [Qt][Wk2] Fix build with Qt 5 when QtScript is built as standalone module
        https://bugs.webkit.org/show_bug.cgi?id=69520

        Reviewed by Csaba Osztrogonác.

        * Source/WebKit.pri: Introduce convenience qt5 scope.
        * Source/WebKit.pro: Replace QT_MAJOR_VERSION stuff with qt5 scope.

2011-10-06  Nayan Kumar K  <nayankk@motorola.com>

        Provide configure option to switch between JSC and V8.
        https://bugs.webkit.org/show_bug.cgi?id=69469

        Reviewed by Philippe Normand.

        This is first of the patches to support building of V8 with
        WebKit GTK. With this patch, new command line switch named
        '--with-jsengine' is introduced, using which we can choose to
        build either jsc or v8.

        * GNUmakefile.am:
        * configure.ac:

2011-10-04  Scott Graham  <scottmg@chromium.org>

        Add GAMEPAD feature flag
        https://bugs.webkit.org/show_bug.cgi?id=66859

        Reviewed by Darin Fisher.

        * configure.ac:

2011-10-04  Varun Jain  <varunjain@chromium.org>

        Fix position check for double tap gesture detection. A double tap
        should not be detected if the two taps are far from each other.
        https://bugs.webkit.org/show_bug.cgi?id=69270

        Reviewed by Darin Fisher.

        Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp

        * platform/chromium/GestureRecognizerChromium.cpp:
        (WebCore::GestureRecognizerChromium::isSecondClickInsideManhattanSquare):
        (WebCore::GestureRecognizerChromium::updateValues):
        (WebCore::GestureRecognizerChromium::click):
        * platform/chromium/GestureRecognizerChromium.h:

2011-10-04  Nayan Kumar K  <nayankk@motorola.com>

        [WebKit2][gtk] Generate gtk-doc for WebKit2-GTK.
        https://bugs.webkit.org/show_bug.cgi?id=69325

        Reviewed by Gustavo Noronha Silva.

        Documentation generation for WebKit2-GTK+ APIs
        using gtk-doc.

        * configure.ac:

2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
        https://bugs.webkit.org/show_bug.cgi?id=69332

        Reviewed by Pavel Feldman.

        * Source/autotools/symbols.filter:

2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi

        QWidget and friends now live in the QtWidgets library. We update
        includes in implementation files and private headers to us the
        non-module-prefixed path, and leave the lookup for the include
        path. For public headers we have to ifdef the includes as the
        user might now have the modules we need in his QT config.

        Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
        have to update our code and use windowHandle() for setting the
        parent relationships.

        https://bugs.webkit.org/show_bug.cgi?id=68687

        Reviewed by Andreas Kling.

        * Source/WebKit.pro:

2011-09-29  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] Bump version to 1.7.0
        https://bugs.webkit.org/show_bug.cgi?id=69082

        Reviewed by Martin Robinson.

        Apart from bumping the library version to 1.7.0 this patch also
        sets the libtool version to the same one we have for the stable
        branch.

        * configure.ac:

2011-09-28  Martin Robinson  <mrobinson@igalia.com>

        Fix the WebKit2 WebGL build.

        * configure.ac: Add -ldl to the OPENGL_LIBS.

2011-09-28  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Bump minimum requirement for eina.
        https://bugs.webkit.org/show_bug.cgi?id=68994

        Reviewed by Ryosuke Niwa.

        * Source/cmake/FindEFL.cmake:

2011-09-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix a build error in WebKit EFL.

        When web socket is disabled, there is a build break in WebKit EFL port.
        Currently, web socket is enabled by default in build-webkit script.
        Thus, the web socket is also enabled in EFL script of cmake build system for now.
        Because, WebKit EFL developers can't work on latest WebKit trunk.

        However, IMO, we should fix build errors when web socket is disabled.

        * Source/cmake/OptionsEfl.cmake:

2011-09-27  Ulan Degenbaev  <ulan@chromium.org>

        [v8] Code calling the typed array optimization script is fragile, depends on typed array hierarchy.

        Install the flag, which indicates whether or not the optimization
        script was executed, on the global object.

        https://bugs.webkit.org/show_bug.cgi?id=68890

        Reviewed by Kenneth Russell.

        * Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:

2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r96108, r96111, r96113, and r96116.
        http://trac.webkit.org/changeset/96108
        http://trac.webkit.org/changeset/96111
        http://trac.webkit.org/changeset/96113
        http://trac.webkit.org/changeset/96116
        https://bugs.webkit.org/show_bug.cgi?id=68913

        Wait for working Qt5 (Requested by ossy on #webkit).

        * Source/WebKit.pro:

2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi

        QWidget and friends now live in the QtWidgets library. We update
        includes in implementation files and private headers to us the
        non-module-prefixed path, and leave the lookup for the include
        path. For public headers we have to ifdef the includes as the
        user might now have the modules we need in his QT config.

        Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
        have to update our code and use windowHandle() for setting the
        parent relationships.

        https://bugs.webkit.org/show_bug.cgi?id=68687

        Reviewed by Andreas Kling.

        * Source/WebKit.pro:

2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Reorganize header files
        https://bugs.webkit.org/show_bug.cgi?id=65616

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Initialize $libwebkitgtkincludedir to
        $(prefix)/include/webkitgtk-<api-version>

2011-09-26  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Remove FindFreetype.cmake
        https://bugs.webkit.org/show_bug.cgi?id=68778

        Reviewed by Adam Barth.

        CMake has provided its own FindFreetype.cmake forever, so there is no
        need to have another implementation in WebKit.

        * Source/cmake/FindCairo.cmake: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS}
        instead of Freetype_{LIBRARIES,INCLUDE_DIRS}.
        * Source/cmake/FindFreetype.cmake: Removed.
        * Source/cmake/FindPango.cmake: Use FREETYPE_{LIBRARIES,INCLUDE_DIRS}
        instead of Freetype_{LIBRARIES,INCLUDE_DIRS}.
        * Source/cmake/OptionsEfl.cmake: Remove minimum required version
        check, it has never been checked and Freetype 2.1.10 from 2005 is
        already > 9.0.

2011-09-26  Alejandro G. Castro  <alex@igalia.com>

        [GTK] pot file is not properly remove during distcheck
        https://bugs.webkit.org/show_bug.cgi?id=68797

        Defined DOMAIN variable before DISTCLEANFILES because we are using
        it there to identify the .pot file.

        Reviewed by Martin Robinson.

        * GNUmakefile.am:

2011-09-26  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Detect the operating system in a more generic way.
        https://bugs.webkit.org/show_bug.cgi?id=67482

        Reviewed by Adam Barth.

        So far the buildsystem only considered Windows, Linux and Mac OS X as
        valid operating systems, but any Unix (or at least the BSDs) should also
        work fine.

        By using the OS values CMake itself defines we can check for Unix
        systems in a more generic fashion.

        * Source/CMakeLists.txt:

2011-09-26  Jay Soffian  <jaysoffian@gmail.com>

        chrome.dll!WebCore::ApplyStyleCommand::applyBlockStyle ReadAV@NULL (64db547804532a84be2e53721e499e9e)
        https://bugs.webkit.org/show_bug.cgi?id=51639

        Reviewed by Ryosuke Niwa.

        Add missing window.layoutTestController.dumpAsText so that test output matches expectation.

        * LayoutTests/editing/style/justify-without-enclosing-block.xhtml:

2011-09-25  Adam Barth  <abarth@webkit.org>

        Finish removing PLATFORM(BREWMP) by removing associated code
        https://bugs.webkit.org/show_bug.cgi?id=68779

        Reviewed by Sam Weinig.

        * Source/cmake/WebKitPackaging.cmake:
        * wscript:

2011-09-25  Adam Barth  <abarth@webkit.org>

        Remove PLATFORM(HAIKU) and associated code
        https://bugs.webkit.org/show_bug.cgi?id=68774

        Reviewed by Sam Weinig.

        * Source/cmake/WebKitPackaging.cmake:
        * wscript:

2011-09-25  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Remove FindLibXlst.cmake
        https://bugs.webkit.org/show_bug.cgi?id=68770

        Reviewed by Adam Barth.

        This file should have never been committed -- the library it looks for
        is called libxslt, not libxlst, so it has never really been used. When
        the buildsystem looked for libxslt, it used CMake's own LibXslt.cmake
        instead.

        * Source/cmake/FindLibXlst.cmake: Removed.

2011-09-24  Adam Barth  <abarth@webkit.org>

        Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
        https://bugs.webkit.org/show_bug.cgi?id=68767

        Reviewed by Eric Seidel.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-09-24  Adam Barth  <abarth@webkit.org>

        Remove ENABLE(WCSS) and associated code
        https://bugs.webkit.org/show_bug.cgi?id=68759

        Reviewed by Darin Adler.

        * configure.ac:

2011-09-23  Yuqiang Xian  <yuqiang.xian@intel.com>

        Add JSVALUE32_64 support to DFG JIT
        https://bugs.webkit.org/show_bug.cgi?id=67460

        Reviewed by Gavin Barraclough.

        Add cmake options to enable DFG JIT compilation for EFL port

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmakeconfig.h.cmake:

2011-09-23  Raphael Kubo da Costa  <kubo@profusion.mobi>

        [CMake] Detect amd64 as a valid 64-bit architecture.
        https://bugs.webkit.org/show_bug.cgi?id=67481

        Reviewed by Oliver Hunt.

        Some operating systems (generally the BSDs) use amd64 instead of x86_64
        to report they're running on 64 bits, so consider it a valid value.

        * Source/CMakeLists.txt:

2011-09-23  Adam Klein  <adamk@chromium.org>

        Add ENABLE_MUTATION_OBSERVERS feature flag
        https://bugs.webkit.org/show_bug.cgi?id=68732

        Reviewed by Ojan Vafai.

        This flag will guard an implementation of the "Mutation Observers" proposed in
        http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html

        * configure.ac:

2011-09-23  Varun Jain  <varunjain@google.com>

        Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests
        https://bugs.webkit.org/show_bug.cgi?id=68198

        Reviewed by Dimitri Glazkov.

        * Source/autotools/symbols.filter:

2011-09-23  Mark Hahnenberg  <mhahnenberg@apple.com>

        Add static version of JSCell::visitChildren
        https://bugs.webkit.org/show_bug.cgi?id=68404

        Reviewed by Darin Adler.

        In this patch we just extract the bodies of the virtual visitChildren methods
        throughout the JSCell inheritance hierarchy out into static methods, which are 
        now called from the virtual methods.  This is an intermediate step in trying to 
        move the virtual-ness of visitChildren into our own custom vtable stored in 
        ClassInfo.  We need to convert the methods to static methods in order to be 
        able to more easily store and refer to them in our custom vtable since normal 
        member methods store some implicit information in their types, making it 
        impossible to store them generically in ClassInfo.

        * Source/autotools/symbols.filter:

2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>

        Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
        https://bugs.webkit.org/show_bug.cgi?id=68133

        Reviewed by Darin Adler.

        * Source/autotools/symbols.filter: Added the mangled symbols needed for window.internals

2011-09-21  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: compare strings without decoding
        https://bugs.webkit.org/show_bug.cgi?id=68554

        Reviewed by Tony Chang.

        Resolves a FIXME in IndexedDB that was also identified as a hotspot
        during profiling. Yields a small performance improvement.

        * Source/WebCore/storage/IDBLevelDBCoding.cpp:
        * Source/WebCore/storage/IDBLevelDBCoding.h:
        * Source/WebKit/chromium/tests/IDBLevelDBCodingTest.cpp:

011-09-21  Leandro Pereira  <leandro@profusion.mobi>

        Unreviewed. Remove unused ENABLE_AS_IMAGE flag after r95234 from
        Options{Efl,WinCE}.cmake.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:

2011-09-20  ChangSeok Oh  <shivamidow@gmail.com>

        [GTK] requestAnimationFrame support for gtk port
        https://bugs.webkit.org/show_bug.cgi?id=66280

        Reviewed by Martin Robinson.

        * configure.ac: Add an option to enable requestAnimationFrame for gtk port.

2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Update NEWS and configure.ac for 1.5.90 release

        Reviewed by Martin Robinson.

        * configure.ac:

2011-09-19  Adam Barth  <abarth@webkit.org>

        Always enable ENABLE(EVENTSOURCE)
        https://bugs.webkit.org/show_bug.cgi?id=68414

        Reviewed by Eric Seidel.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-09-17  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Bump minimum requirement for cairo to 1.10.
        https://bugs.webkit.org/show_bug.cgi?id=68226

        Reviewed by Adam Barth.

        * Source/cmake/FindCairo.cmake: Check required version.
        * Source/cmake/OptionsEfl.cmake:

2011-09-16  Ulan Degenbaev  <ulan@chromium.org>

        [V8] REGRESSION(94783): calling the binding script during V8 context creation slows down page loads
        https://bugs.webkit.org/show_bug.cgi?id=68237

        Reviewed by Kenneth Russell.

        Call the binding script lazily on the first run of the set() method of
        a typed array.

        * ../../Source/WebCore/WebCore.gypi:
        * ../../Source/WebCore/bindings/v8/V8BindingScripts.cpp: Removed.
        * ../../Source/WebCore/bindings/v8/V8BindingScripts.h: Removed.
        * ../../Source/WebCore/bindings/v8/V8DOMWindowShell.cpp:
        * ../../Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp:
        * ../../Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
        * ../../Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.h:
        * ../../Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustomScript.js:

2011-09-16  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit
        https://bugs.webkit.org/show_bug.cgi?id=68178

        Reviewed by Xan Lopez.

        * configure.ac: Do not build WebKit2 by default. Re-add pkgconfig support
        for WebKit2.

2011-09-15  Adam Barth  <abarth@webkit.org>

        Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
        https://bugs.webkit.org/show_bug.cgi?id=68205

        Reviewed by Eric Seidel.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-09-15  Varun Jain  <varunjain@google.com>

        Add method to scroll current node to specific position in Chromium WebKit API
        https://bugs.webkit.org/show_bug.cgi?id=68192

        Reviewed by Dimitri Glazkov.

        *  Source/WebKit/chromium/public/WebView.h:
        *  Source/WebKit/chromium/src/WebViewImpl.cpp:
        *  Source/WebKit/chromium/src/WebViewImpl.h:

2011-09-15  Eric Seidel  <eric@webkit.org>

        Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
        https://bugs.webkit.org/show_bug.cgi?id=68182

        Reviewed by Adam Barth.

        * configure.ac:

2011-09-15  Eric Seidel  <eric@webkit.org>

        Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
        https://bugs.webkit.org/show_bug.cgi?id=68022

        Reviewed by Ryosuke Niwa.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-09-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r95163.
        http://trac.webkit.org/changeset/95163
        https://bugs.webkit.org/show_bug.cgi?id=68180

        [Qt] The QT_GCC_X variables were removed in Qt5 by accident.
        (Requested by darktears on #webkit).

        * Source/WebKit.pri:

2011-09-14  Alexis Menard  <alexis.menard@openbossa.org>

        [Qt] Replace QT_GCC_X as they don't exist in Qt5 anymore.
        https://bugs.webkit.org/show_bug.cgi?id=68114

        Reviewed by Kenneth Rohde Christiansen.

        Replace QT_GCC_X variables, they have been removed in Qt5. It was
        actually wrong to use them because they tell about which GCC version
        Qt has been compiled, not the current version of GCC use to build webkit.
        I use gcc -dumpversion to get it.

        * Source/WebKit.pri:

2011-09-14  Ulan Degenbaev  <ulan@chromium.org>

        [v8] Improve performance of typed array copy constructor taking Array
        https://bugs.webkit.org/show_bug.cgi?id=68015

        Reviewed by Kenneth Russell.

        Invoke the 'set' method of the constructed array instead of
        copying the elements of the source array one by one.

        Copy constructor tests already exist.

        * ../../Source/WebCore/WebCore.gypi:
        * ../../Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Added.
        * ../../Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustom.h:

2011-09-14  Csaba Osztrogonác  <ossy@webkit.org>

        [GTK] Unreviewed buildfix after r95107.

        * configure.ac:

2011-09-13  Eric Seidel  <eric@webkit.org>

        Remove ENABLE_SVG_USE as <use> is required by HTML5
        https://bugs.webkit.org/show_bug.cgi?id=68019

        Reviewed by Ryosuke Niwa.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-09-13  Eric Seidel  <eric@webkit.org>

        Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
        https://bugs.webkit.org/show_bug.cgi?id=68018

        Reviewed by Ryosuke Niwa.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

2011-09-09  Rafael Antognolli  <antognolli@profusion.mobi>

        Add replacement functions for gdk ones.
        https://bugs.webkit.org/show_bug.cgi?id=66323

        Reviewed by Martin Robinson.

        * Source/cmake/FindPango.cmake:

2011-09-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        [Qt] Remove common.pri
        https://bugs.webkit.org/show_bug.cgi?id=67814

        Reviewed by Andreas Kling.

        * Source/WebKit.pri: Move rules from common.pri to WebKit.pri.
        * Source/common.pri: Removed.

2011-09-08  Mark Pilgrim  <pilgrim@chromium.org>

        Test how HTMLAnchorElement.getParameter reacts to too few arguments
        https://bugs.webkit.org/show_bug.cgi?id=66522

        Reviewed by Adam Barth.

        * LayoutTests/fast/dom/HTMLAnchorElement/get-parameter-expected.txt: Added.
        * LayoutTests/fast/dom/HTMLAnchorElement/get-parameter.html: Added.

2011-09-08  Varun Jain  <varunjain@google.com>

        Implement double tap detection in GestureRecognizerChromium
        https://bugs.webkit.org/show_bug.cgi?id=67709

        Reviewed by Dimitri Glazkov.

        *  Source/WebCore/page/EventHandler.cpp:
        *  Source/WebCore/platform/PlatformGestureEvent.h:

2011-09-08  Ulan Degenbaev  <ulan@chromium.org>

        [v8] Improve performance of typed array set() taking Array
        https://bugs.webkit.org/show_bug.cgi?id=63644

        Reviewed by Kenneth Russell.

        Overwrite the native 'set' method of the type arrays with JS
        implementation after initialization of the global context.

        Add tests for invalid and boundary offsets. No performance tests.

        * LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt:
        * LayoutTests/fast/canvas/webgl/array-unit-tests.html:
        * Source/WebCore/WebCore.gyp/WebCore.gyp:
        * Source/WebCore/WebCore.gypi:
        * Source/WebCore/bindings/v8/V8BindingScripts.cpp: Added.
        * Source/WebCore/bindings/v8/V8BindingScripts.h: Added.
        * Source/WebCore/bindings/v8/V8DOMWindowShell.cpp:
        * Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp:
        * Source/WebCore/bindings/v8/custom/V8ArrayBufferViewCustomScript.js: Added.

2011-09-08  Varun Jain  <varunjain@google.com>

        Split Tap gesture detection into TapDown and Tap.
        We need this distinction to highlight links when they are first touched. The link is
        followed only if the tap is completed, otherwise, if a scroll is detected, the highlight
        goes away.
        https://bugs.webkit.org/show_bug.cgi?id=67645

        Reviewed by Dimitri Glazkov.

        *  Source/WebCore/page/EventHandler.cpp:
        *  Source/WebCore/platform/PlatformGestureEvent.h:

2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>

        Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
        https://bugs.webkit.org/show_bug.cgi?id=67511

        Reviewed by Dimitri Glazkov.

        * Source/autotools/symbols.filter:

2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
        https://bugs.webkit.org/show_bug.cgi?id=67453

        Reviewed by Kent Tamura.

        Add symbols for internals.

        * Source/autotools/symbols.filter:

2011-09-04  Robin Dunn  <robin@alldunn.com>

        [wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than GTK.
        https://bugs.webkit.org/show_bug.cgi?id=67577

        Reviewed by Kevin Ollivier.

        * wscript:

2011-08-30  Aaron Colwell  <acolwell@chromium.org>

        Add MediaSource API to HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=64731

        Reviewed by Eric Carlson.

        * configure.ac:

2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>

        Cleanup after r94050 and r94054.

        * Source/autotools/symbols.filter:

2011-08-30  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, another attempt to fix GTK build after r94038.

        * Source/autotools/symbols.filter:

2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>

        Build fix attempt after r94038.

        * Source/autotools/symbols.filter:

2011-08-26  Varun Jain  <varunjain@google.com>

        WebViewImpl::selectionRange should return range in the right order.
        https://bugs.webkit.org/show_bug.cgi?id=66973

        Reviewed by Darin Fisher.

        *  Source/WebKit/chromium/public/WebWidget.h:
        *  Source/WebKit/chromium/src/WebViewImpl.cpp:

2011-08-25  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Switch to GTK+ 3.x by default
        https://bugs.webkit.org/show_bug.cgi?id=63047

        * configure.ac: Modify the default value of the --with-gtk option to be 3.0.

2011-08-24  Philippe Normand  <pnormand@igalia.com>

        [GTK] bump GStreamer requirement to 0.10.30
        https://bugs.webkit.org/show_bug.cgi?id=66860

        Reviewed by Martin Robinson.

        * configure.ac:

2011-08-23  Steve Block  <steveblock@google.com>

        Remove all mention of removed Android files from build scripts
        https://bugs.webkit.org/show_bug.cgi?id=66755

        Reviewed by Tony Gentilcore.

        * Source/cmake/WebKitPackaging.cmake:

2011-08-19  MORITA Hajime  <morrita@google.com>

        Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
        https://bugs.webkit.org/show_bug.cgi?id=65902

        Reviewed by Ryosuke Niwa.
        
        Add export for window.internals object.

        * Source/autotools/symbols.filter:

2011-08-16  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Need AtomicStrings for the various font family names
        https://bugs.webkit.org/show_bug.cgi?id=28024

        * Source/cmake/WebKitMacros.cmake: Add new macro.

2011-08-11  Xan Lopez  <xlopez@igalia.com>

        [GTK] Update NEWS and configure.ac for 1.5.2 release

        Reviewed by Gustavo Noronha.

        * configure.ac: update for release.

2011-08-10  Varun Jain  <varunjain@google.com>

        WebViewImpl::selectionRange should return false if there is no selection
        https://bugs.webkit.org/show_bug.cgi?id=66012

        Reviewed by Darin Fisher.

        *  Source/WebKit/chromium/src/WebViewImpl.cpp:

2011-08-10  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Do not build LocaleToScriptMappingICU.cpp for now
        as ICU on Leopard is too old to build this.
        
        * wscript:

2011-08-08  Adrienne Walker  <enne@google.com>

        Add testing for --force-compositing-mode to windows.internal
        https://bugs.webkit.org/show_bug.cgi?id=65777

        Reviewed by Adam Barth.

        Add exports for Document::settings().

        * Source/autotools/symbols.filter:

2011-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r92683.
        http://trac.webkit.org/changeset/92683
        https://bugs.webkit.org/show_bug.cgi?id=65921

         "Breaks Qt --minimal build. Revert pending update of the Qt
        minimal configuration" (Requested by simathur on #webkit).

        * Source/WebKit.pri:

2011-08-09  Siddharth Mathur  <siddharth.mathur@nokia.com>

        [Qt] Simplify code by removing QT_NO_DESKTOPSERVICES and QT_NO_NETWORKDISKCACHE
        https://bugs.webkit.org/show_bug.cgi?id=65880

        Reviewed by Andreas Kling.

        QDesktopServices and QNetworkDiskCache have been around for a while now. Kill flags which 
        check for their feature flags. Assume that any reasonable Qt build provides them. 

        * Source/WebKit.pri:

2011-08-06  Aron Rosenberg  <arosenberg@logitech.com>

        Reviewed by Benjamin Poulain.

        [Qt] Fix build with Intel compiler on Windows
        https://bugs.webkit.org/show_bug.cgi?id=65088

        Disable Intel Compiler warning 873 - function "" has no corresponding operator
        delete (to be called if an exception is thrown during initialization of an
        allocated object).

        * Source/WebKit.pri:

2011-08-03  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix after gesture recognizer changes.

        * wscript:

2011-08-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        [Qt] [WK2] Expose web view classes to QML
        https://bugs.webkit.org/show_bug.cgi?id=65339

        Reviewed by Benjamin Poulain.

        * Source/WebKit.pro: Include QML plugin subdir in the build system for WK2.

2011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Install web and plugin processes in libexecdir instead of bindir
        https://bugs.webkit.org/show_bug.cgi?id=65600

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Initialize libexec_PROGRAMS, only used by
        WebKit2 in this moment.

2011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Reorganize pkg-config files
        https://bugs.webkit.org/show_bug.cgi?id=65548

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Initialize pkgconfigdir and pkgconfig_DATA which
        are common to all libraries.
        * configure.ac: Update pkg-config files.

2011-08-02  Varun Jain  <varunjain@google.com>

        Missing null check in WebViewImpl::selectionRange
        https://bugs.webkit.org/show_bug.cgi?id=65561

        Reviewed by Darin Fisher.

        *  Source/WebKit/chromium/src/WebViewImpl.cpp:

2011-08-01  Scott Graham  <scottmg@chromium.org>

        REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
        https://bugs.webkit.org/show_bug.cgi?id=61006

        Reviewed by Antti Koivisto.

        Update exports for test harness.

        * Source/autotools/symbols.filter:

2011-08-01  Hayato Ito  <hayato@chromium.org>

        Add support for getting an element in shadow root by its id into a window.internals object.
        https://bugs.webkit.org/show_bug.cgi?id=64587

        Reviewed by Hajime Morita.

        * Source/autotools/symbols.filter:

2011-08-01  Neil Roberts  <neil@linux.intel.com>

        build: Fix finding the headers for GStreamer

        The cmake files to find the various GStreamer packages were all
        checking for the header gst/gst.h. However if gst-plugins-base is
        installed into a separate prefix from gstreamer then all of these
        tests would only pick up the gstreamer include path so the build
        would fail. This patch changes it to try and find a file
        appropriate to each package.

        https://bugs.webkit.org/show_bug.cgi?id=64933

        Reviewed by Martin Robinson.

        * Source/cmake/FindGStreamer-App.cmake:
        * Source/cmake/FindGStreamer-Base.cmake:
        * Source/cmake/FindGStreamer-Interfaces.cmake:
        * Source/cmake/FindGStreamer-Pbutils.cmake:
        * Source/cmake/FindGStreamer-Plugins-Base.cmake:
        * Source/cmake/FindGStreamer-Video.cmake:

2011-07-31  Daniel Bates  <dbates@webkit.org>

        Add missing semicolons to build fix attempt in <http://trac.webkit.org/changeset/92080>.

        * Source/autotools/symbols.filter:

2011-07-31  Daniel Bates  <dbates@webkit.org>

        Some more fixes to the GTK build after r92059 (https://bugs.webkit.org/show_bug.cgi?id=65419).

        * Source/autotools/symbols.filter: Export symbols needed by Internals.

2011-07-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        [Qt] Fix build in Qt 5 of QDeclarativeWebView
        https://bugs.webkit.org/show_bug.cgi?id=65258

        Reviewed by Andreas Kling.

        In Qt 5, the QGraphicsView-based classes for QtQuick are in the
        qtquick1 module, including QDeclarativeItem and QDeclarativeView.

        * Source/WebKit.pro:

2011-07-26  Andras Becsi  <abecsi@webkit.org>

        [Qt] [WK2] Disable the build with Qt versions older than 5.0
        https://bugs.webkit.org/show_bug.cgi?id=65189

        Reviewed by Csaba Osztrogonác.

        * Source/WebKit.pro: Abort if not using Qt5.

2011-07-20  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Qt5 Build Fix: Disable the legacy mac assert macros.

        This is done in order to prevent collision with the recently
        introduced function QSslCertificate::verify() in Qt5.

        https://bugs.webkit.org/show_bug.cgi?id=64855

        Reviewed by Simon Hausmann.

        * Source/WebKit.pri:

2011-07-19  Robert Sesek  <rsesek@chromium.org>

        [Chromium] Need to remove app/ from DEPS
        https://bugs.webkit.org/show_bug.cgi?id=64750

        Reviewed by Tony Chang.

        Remove Source/WebKit/chromium/app/ from .gitignore.

        * .gitignore:

2011-07-18  MORITA Hajime  <morrita@google.com>

        [ShadowContentElement] forwarded node should be able to access its hosting content element.
        https://bugs.webkit.org/show_bug.cgi?id=64251

        Reviewed by Dimitri Glazkov.

        Added GTK symbols for new window.internals methods.
        
        * Source/autotools/symbols.filter:

2011-07-15  Martin Robinson  <mrobinson@igalia.com>

        Build fixes for WebKit2. Ensure that all generated sources are
        on nodist primaries, that they are on forward declared variables
        so that BUILT_SOURCES is calculated properly and that zlib is 
        included during linking (for WOFF support).

        * GNUmakefile.am:
        * Source/autotools/webkit.m4: Include test for zlib.

2011-07-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Build plugin process by default when building WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=64592

        Reviewed by Philippe Normand.

        * configure.ac:

2011-07-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Implement Plugin Process
        https://bugs.webkit.org/show_bug.cgi?id=60546

        * configure.ac: Always check for gtk2 when building the plugin
        process.

2011-07-14  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r90976, r90981, and r90985.
        http://trac.webkit.org/changeset/90976
        http://trac.webkit.org/changeset/90981
        http://trac.webkit.org/changeset/90985
        https://bugs.webkit.org/show_bug.cgi?id=64251

        build break

        * Source/autotools/symbols.filter:

2011-07-14  MORITA Hajime <morrita@google.com>

        Unreviewed attempt to build fix.
        
        * Source/autotools/symbols.filter:

2011-07-13  MORITA Hajime  <morrita@google.com>

        [ShadowContentElement] forwarded node should be able to access its hosting content element.
        https://bugs.webkit.org/show_bug.cgi?id=64251

        Reviewed by Dimitri Glazkov.

        Added GTK symbols for new window.internals methods.
        
        * Source/autotools/symbols.filter:

2011-07-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Add Fullscreen API feature
        https://bugs.webkit.org/show_bug.cgi?id=63975

        This is just to add disabled ENABLE_FULLSCREEN_API to OptionEFl.cmake.
        ENABLE_FULLSCREEN_API will be enabled after finishing missing implementations.

        Reviewed by Adam Barth.

        * Source/cmake/OptionsEfl.cmake: Add disabled ENABLE_FULLSCREEN_API feature.
        * Source/cmakeconfig.h.cmake: ditto.

2011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Show content for plugin requests in network panel.
        https://bugs.webkit.org/show_bug.cgi?id=30080

        Added GTK symbols for new window.internals methods.

        Reviewed by Pavel Feldman.

        * Source/autotools/symbols.filter:

2011-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r90373.
        http://trac.webkit.org/changeset/90373
        https://bugs.webkit.org/show_bug.cgi?id=63917

        Breaks Qt Linux Release minimal (Requested by vsevik on
        #webkit).

        * Source/autotools/symbols.filter:

2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Show content for plugin requests in network panel.
        https://bugs.webkit.org/show_bug.cgi?id=30080

        Reviewed by Pavel Feldman.

        * Source/autotools/symbols.filter:

2011-07-01  Tony Chang  <tony@chromium.org>

        Add chromium sql directory to git ignore.

        * .gitignore:

2011-07-01  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Daniel Bates.

        [CMake] Add cpu detection for MIPS
        https://bugs.webkit.org/show_bug.cgi?id=63693

        * Source/CMakeLists.txt:

2011-07-01  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Add DeviceOrientation feature
        https://bugs.webkit.org/show_bug.cgi?id=63720

        Add configure option to enable/disable DeviceOrientation feature.

        * configure.ac:

2011-06-28  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Rename 3D transforms to 3D rendering
        https://bugs.webkit.org/show_bug.cgi?id=63508

        WebKitGtk+ provides the 3D transforms feature, but it was
        renamed to 3D Rendering. This features supports CSS 3D trasnforms.

        * configure.ac: Rename ENABLE_3D_TRANSFORMS to ENABLE_3D_RENDERING.

2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove Phonon MediaPlayer from the tree.
        https://bugs.webkit.org/show_bug.cgi?id=63448

        Remvove from the build.

        * Source/WebKit.pri:

2011-06-24  Dominic Cooney  <dominicc@chromium.org>

        Reviewed by Dimitri Glazkov.

        Convert shadow DOM-related tests to use window.internals
        https://bugs.webkit.org/show_bug.cgi?id=61671

        * Source/autotools/symbols.filter: Export symbols for GTK.

2011-06-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Add more debug options to compilation
        https://bugs.webkit.org/show_bug.cgi?id=63318

        Add --enable-debug-symbols to enable/disable compilation with
        debug symbols and --enable-debug-features to enable/disable debug
        features. Both options are unconditionally enabled for debug
        builds.

        * configure.ac:

2011-06-23  Oliver Hunt  <oliver@apple.com>

        Qt build-fix: remove warning that no other platform appears to use.
        Someone can add it back if they really feel it's needed.

        * Source/WebKit.pri:

2011-06-22  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Add an option to enable Device Orientation Event.
        https://bugs.webkit.org/show_bug.cgi?id=63120

        ADD ENABLE_DEVICE_ORIENTATION.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmakeconfig.h.cmake:

2011-06-22  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Add symbols required for window.internals.
        https://bugs.webkit.org/show_bug.cgi?id=62066

        * Source/autotools/symbols.filter:

2011-06-22  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Adam Roben.

        [GTK] Implement pixel dump support for WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=58242

        * GNUmakefile.am: Reference the new ImageDiff GNUmakefile.

2011-06-21  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r89401 and r89403.
        http://trac.webkit.org/changeset/89401
        http://trac.webkit.org/changeset/89403
        https://bugs.webkit.org/show_bug.cgi?id=62970

        Breaks mac build and mistakenly enables the spellcheck API

        * configure.ac:

2011-06-20  MORITA Hajime <morrita@google.com>

        Reviewed by Kent Tamura.
        
        Spellcheck API should be build-able.
        https://bugs.webkit.org/show_bug.cgi?id=62970

        * configure.ac:

2011-06-20  MORITA Hajime  <morrita@google.com>

        Unreviewed GTK build fix.
        This change corrected syntax error on symbols.filter.

        * Source/autotools/symbols.filter:

2011-06-19  MORITA Hajime <morrita@google.com>

        Unreviewed GTK build fix.

        * Source/autotools/symbols.filter:

2011-06-19  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        The internals object should have createShadowContentElement()
        https://bugs.webkit.org/show_bug.cgi?id=62432

        * Source/autotools/symbols.filter: Added some more symbols necessary for
        window.internals to function to the global symbol list.
        

2011-06-19  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Martin Robinson.

        [GTK] Enable Media Stream feature and make it default on
        https://bugs.webkit.org/show_bug.cgi?id=60394

        * configure.ac:

2011-06-17  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Replace GdkRectangle by cairo_rectangle_int_t
        https://bugs.webkit.org/show_bug.cgi?id=60687

        Replace GdkRectangle by cairo_rectangle_int_t.

        * configure.ac: Check whether Cairo version is higher than 1.10.

2011-06-16  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [CMAKE] Enable METER_TAG of HTML5
        https://bugs.webkit.org/show_bug.cgi?id=62697

        Support for meter tag of html5 in CMake build system. However, this feature is
        only enabled on EFL port now. 

        * Source/cmake/OptionsEfl.cmake: Add ENABLE_METER_TAG.
        * Source/cmakeconfig.h.cmake:ditto.

2011-06-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Remove support for GTK+2 in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=62794

        * configure.ac: Make WebKit2 require GTK+ 3.x.

2011-06-15  Ryuan Choi  <ryuan.choi@samsung.com>

        Rubber stamped by Eric Seidel.

        [CMAKE][WK2] Add an option to build webkit2.
        https://bugs.webkit.org/show_bug.cgi?id=62260

        Add ENABLE_WEBKIT2 to build WebKit2 using CMake and ENABLE_WEBKIT to disable
        WebKit.

        * Source/CMakeLists.txt:
        * Source/cmake/WebKitFS.cmake:

2011-06-14  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Eric Seidel.

        [CMAKE] Add ENABLE_TOUCH_ICON_LOADING feature.
        https://bugs.webkit.org/show_bug.cgi?id=62604

        Add feature to enable or disable ENABLE_TOUCH_ICON which supports
        apple-touch-icon and apple-touch-icon-precomposed in link tag.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmakeconfig.h.cmake:

2011-06-13  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Add configure option to enable/disable register protocol handler
        https://bugs.webkit.org/show_bug.cgi?id=62534

        This patch just adds configure option to enable/disable register protocol handler.
        So, it needs more code to use register protocol handler.

        * configure.ac: Add configure option to enable/disable register protocol handler.

2011-06-13  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Need to report whether touch icon loading is enabled
        https://bugs.webkit.org/show_bug.cgi?id=62532

        It needs to report whether touch icon loading is enabled.

        * configure.ac: Updated option parsing code for loading touch icons.

2011-06-13  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Eric Seidel.

        [CMAKE] Conditionally generate DerivedSources
        https://bugs.webkit.org/show_bug.cgi?id=62277

        Speedup build by not generating DerivedSources of features that are
        disabled. This was already been done for some features like ENABLE_SVG
        and now it's extended the following features: ENABLE_DATABASE,
        ENABLE_INDEXED_DATABASE, ENABLE_DOM_STORAGE, ENABLE_XPATH,
        ENABLE_OFFLINE_WEB_APPLICATIONS, ENABLE_WEB_SOCKETS,
        ENABLE_DATA_TRANSFER_ITEMS.

        * Source/cmakeconfig.h.cmake: add definition for INDEXED_DATABASE

2011-06-10  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [CMAKE] Add generic support for building with WebGL
        https://bugs.webkit.org/show_bug.cgi?id=62376

        Add files that need to be compiled in every port for supporting WebGL.
        Each port still needs to add its specific files to
        CMakeLists${PORT}.txt. Therefore we do not enable WebGL in any port
        yet.

        * Source/CMakeLists.txt: Add files needed to support WebGL.
        * Source/cmake/OptionsCommon.cmake: Find required OpenGL package.
        * Source/cmakeconfig.h.cmake: define ENABLE_WEBGL this feature is
        enabled.

2011-06-09  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [CMAKE] Never let USER_AGENT defined to nothing
        https://bugs.webkit.org/show_bug.cgi?id=62410

        This patch is similar to r88342, but sets WEBKIT_USER_AGENT_*
        definitions only if that port defined it. A port might prefer to set it
        in other place, e.g. a header that is part of the public API (like GTK
        does).

        By using #cmakedefine instead of #define, if that variable is not set
        in CMake it will expand to:

        /* #define WEBKIT_USER_AGENT_MAJOR_VERSION */

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmakeconfig.h.cmake:

2011-06-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Enable PROGRESS_TAG feature
        https://bugs.webkit.org/show_bug.cgi?id=62212

        * Source/cmake/OptionsEfl.cmake: Turn on PROGRESS_TAG by default.

2011-06-08  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [CMAKE] Never let a WTF_FEATURE defined to nothing
        https://bugs.webkit.org/show_bug.cgi?id=60820

        If a port doesn't want to give the user some configure options,
        nevertheless it would have to define this feature as OFF. Otherwise
        there's a build error because the generated cmakeconfig.h is not
        parsed correctly by ENABLE macro, which expects each feature to be
        either undefined or defined to TRUE/FALSE.

        * Source/cmake/WebKitFeatures.cmake: Use a variable with the same name
        of the feature, which allows CONFIGURE_FILE() to replace it in the new
        cmakeconfig.h.cmake.
        * Source/cmakeconfig.h.cmake: use #cmakedefine01 instead of #define
        with another variable. This way the feature will always be 0 or 1 and
        it will never be left undefined.

2011-06-07  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Remove Ecore_X bits from PlatformScreenEfl
        https://bugs.webkit.org/show_bug.cgi?id=61649

        Remove the need for Ecore_X and some X calls by always using
        new functions available in EFL to get the screen size.

        * Source/cmake/FindEFL.cmake: Bump ecore and ecore-evas versions.

2011-06-07  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Fix Symbian build with RVCT 2.x
        https://bugs.webkit.org/show_bug.cgi?id=62205

        RVCT 2.x doesn't support (or need) the --signed_bitfields command-line
        option, so restrict it to version 4.x of the compiler.

        * Source/WebKit.pri:

2011-06-06  Martin Robinson  <mrobinson@igalia.com>

        Fix the GTK+ build by ensuring that the autogenerated sources
        necessary for libWebCoreInternals are recorded in a predeclared
        variable before assigning to BUILT_SOURCES.

        * GNUmakefile.am: Assign libWebCoreInternals built sources to
        libwebcoreinternals_built_sources before adding to the source list
        and to BUILT_SOURCES.

2011-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix the GTK+ build.

        * GNUmakefile.am: Add javascriptcore_cflags variable.

2011-06-04  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Restore the PPC build and allow users to specify architectures
        to build on Mac.

        * wscript:

2011-06-04  Adam Barth  <abarth@webkit.org>

        Configure new commit-queue instance.  (Please ignore.)

2011-06-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Dimitri Glazkov.

        Teach Gtk build about window.internals
        https://bugs.webkit.org/show_bug.cgi?id=61071

        * Source/autotools/symbols.filter: Added some symbols necessary for
        window.internals to function to the global symbol list.

2011-06-03  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Benjamin Poulain.

        [Qt] Build fix of QtWebKit 2.2 when inside Qt tree with GCC 4.6.
        https://bugs.webkit.org/show_bug.cgi?id=61957

        When building inside the Qt source tree, qmake always append the mkspecs
        defines after ours. We have to workaround and make sure that we append
        our flags after the qmake variable used inside Qt. This workaround was provided
        by our qmake folks. We need to append in both case because qmake behave differently
        when called with -spec or via SUBDIR+=.

        * Source/WebKit.pri:

2011-06-02  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Build fix of QtWebKit 2.2 when inside Qt tree with GCC 4.6.
        https://bugs.webkit.org/show_bug.cgi?id=61957

        When building inside the Qt source tree, qmake always append the mkspecs
        defines after ours. We have to workaround and make sure that we append 
        our flags after the qmake variable used inside Qt. This workaround was provided 
        by our qmake folks.

        * Source/WebKit.pri:

2011-03-30  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Adam Roben.

        [GTK] [WebKit2] Implement a basic WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=57068

        * GNUmakefile.am: Added reference to WebKitTestRunner GNUmakefile.

2011-05-31  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Bump version to 1.5.1.

        * configure.ac:

2011-05-25  Gregg Tavares  <gman@chromium.org>

        Reviewed by Kenneth Russell.

        Add 'noExtensions' option to Web/GraphicsContext3D attributes.
        https://bugs.webkit.org/show_bug.cgi?id=61460

        * Source/WebCore/html/canvas/WebGLRenderingContext.cpp:
        * Source/WebCore/platform/graphics/GraphicsContext3D.h:
        * Source/WebKit/chromium/public/WebGraphicsContext3D.h:
        * Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp:

2011-05-24  Keishi Hattori  <keishi@webkit.org>

        Reviewed by Kent Tamura.

        Disable textfield implementation of <input type=color>. Add INPUT_COLOR feature flag. Add input color sanitizer.
        https://bugs.webkit.org/show_bug.cgi?id=61273

        * configure.ac: Added INPUT_COLOR feature flag.

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-23  Ryuan Choi  <ryuan.choi@samsung.com>

        Rubber stamped by Eric Seidel.

        [CMAKE] Refactoring wtf related code.
        https://bugs.webkit.org/show_bug.cgi?id=60146

        Move WTF_INCLUDE_DIRECTORIES to Source/JavaScriptCore/wtf/CMakeLists.txt.

        * Source/cmake/OptionsCommon.cmake:
        * Source/cmake/OptionsEfl.cmake:

2011-05-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed. Fix build break.

        * Source/cmake/WebKitMacros.cmake: Add -i option in order to include Lookup.h

2011-05-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Enable building GTK port with ENABLE_PLUGIN_PROCESS=1
        https://bugs.webkit.org/show_bug.cgi?id=58223

        * configure.ac: Add configure option to enable/disable plugin
        process.

2011-05-12  Gregg Tavares  <gman@chromium.org>

        Reviewed by Kenneth Russell.

        Add option to select GraphicsContext3D implementation.
        https://bugs.webkit.org/show_bug.cgi?id=60297

        * Source/WebKit/chromium/DEPS:
        * Tools/DumpRenderTree/chromium/DumpRenderTree.cpp:

2011-05-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [CMAKE] Add option to unconditionally enable/disable a feature
        https://bugs.webkit.org/show_bug.cgi?id=60643

        Create an argument to be used in WEBKIT_FEATURE macro, allowing a port
        to enable a feature without showing to user that it can be disabled.
        This is useful if a port needs an option to be always ON/OFF and
        changing it will break the build.

        This way it's possible to add mandatory features to each port without
        touching the cmakeconfig.cmake file.

        * Source/cmake/WebKitFeatures.cmake:

2011-05-11  Dmitry Lomov  <dslomov@google.com>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=59561
        Switch TestWebKitAPI to GTest

        Fixes Makefiles and WinCairo build as well

        * Source/ThirdParty/gtest/README.WebKit:
        * Source/ThirdParty/gtest/msvc/gtest-md.vcproj:
        * Source/ThirdParty/gtest/xcode/Config/General.xcconfig:
        * Source/ThirdParty/gtest/xcode/Makefile: Added.

2011-05-09  Dmitry Lomov  <dslomov@google.com>

        Reviewed by Sam Weinig.
        
        Switch TestWebKitAPI to GTest
        https://bugs.webkit.org/show_bug.cgi?id=59561

        * Source/ThirdParty/gtest/README.WebKit:
        * Source/ThirdParty/gtest/msvc/gtest-md.vcproj:

2011-05-09  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Fix logic in GCC version detection, it was reversed.

        * configure.ac:

2011-05-09  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Andreas Kling.

        [Qt] Fix the build on Embedded Linux.
        https://bugs.webkit.org/show_bug.cgi?id=60347

        qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
        still be used in order to build properly.

        * Source/WebKit.pri:

2011-05-05  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Add LocalizedDateNone.cpp to the build.

        * wscript:

2011-05-05  Prasanth Ullattil  <prasanth.ullattil@nokia.com>

        Reviewed by Simon Hausmann.

        Install correct header files for webkit.

        Since WebKit is no longer inside Qt, we can remove the detection for
        that.

        [Qt] Install targets are not working correctly for modularized Qt and QtWebkit
        https://bugs.webkit.org/show_bug.cgi?id=57621

        * Source/sync.profile:

2011-05-05  Adam Barth  <abarth@webkit.org>

        Remove a couple stray mentions of WML that I missed before.

        * configure.ac:

2011-05-05  Alexis Menard  <alexis.menard@openbossa.org>

        Reviewed by Benjamin Poulain.

        [Qt] Make QtWebKit build when using gcc 4.6.0
        https://bugs.webkit.org/show_bug.cgi?id=60265

        If QtWebKit is compiled with gcc 4.6.0 and the build is not done
        with c++0x support we need to deactivate warnings about compatibility.
        Some WebKit types have names which conflicts with upcoming c++0x
        types. If QtWebKit is built with c++0x support, WebKit has code to
        fallback to the standard type rather than the WebKit implementation.
        For example nullptr will be the one of the std if build options turns on
        c++0x support.

        * Source/WebKit.pri:

2011-05-04  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fix warnings in webkit.m4 with autoconf 2.68
        https://bugs.webkit.org/show_bug.cgi?id=60189

        Use AC_LANG_SOURCE when passing source code to AC_COMPILE_IFELSE
        to remove warnings.

        * Source/autotools/webkit.m4: ditto.

2011-05-04  Martin Robinson  <mrobinson@igalia.com>

        Fix the WebKitGTK+ build.

        * configure.ac: Added option parsing code for loading touch icons.

2011-05-03  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Xan Lopez.

        [CMAKE] Remove C++0x compat mode warnings for GCC >= 4.6.0
        https://bugs.webkit.org/show_bug.cgi?id=60041

        Hardcode -Wno-c++0x-compat for the default compiler (if version >=
        4.6.0) until our codebase is ready. This is the same as done for
        autotools.

        * Source/cmake/WebKitHelpers.cmake: ditto.

2011-05-03  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed, rolling out r85624.
        http://trac.webkit.org/changeset/85624

        The same command is used also for make_names.pl, which breaks
        the build.

        * Source/cmake/OptionsCommon.cmake: ditto.

2011-05-03  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix for NETWORK_BACKEND=curl.

        Force linking with zlib so that uncompress() exists.

        * Source/cmake/OptionsEfl.cmake: Find zlib.

2011-05-03  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        [CMAKE] Unreviewed build fix for gcc >= 4.6

        Same fix as done in r84123. CMake explicitly pass the arguments to
        make_names.pl, so let's make them the same.

        * Source/cmake/OptionsCommon.cmake: ditto.

2011-05-02  Adam Klein  <adamk@chromium.org>

        Reviewed by Tony Chang.

        Roll chromium DEPS to r83722, add new crypto directory to DEPS
        https://bugs.webkit.org/show_bug.cgi?id=59992

        * .gitignore:
        Ignore new chromium/crypto directory.

2011-05-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] Build webkit1 even when webkit2 is enabled
        https://bugs.webkit.org/show_bug.cgi?id=59695

        * GNUmakefile.am:
        * configure.ac:

2011-05-01  ojab  <ojab@ojab.ru>

        Reviewed by Eric Seidel.

        --disable-video-track if --disable-video
        https://bugs.webkit.org/show_bug.cgi?id=59605

        * configure.ac:

2011-04-29  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Add ENABLE macro for WebKitAnimation
        https://bugs.webkit.org/show_bug.cgi?id=59729

        Add new feature to toggle WebKit Animation API.

        * configure.ac:

2011-04-29  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Unreviewed build fix. Fix library copying logic for wxMSW 2.9.x.

        * wscript:

2011-04-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Remove WML
        https://bugs.webkit.org/show_bug.cgi?id=59678

        Remove WML configuration option from the CMake build system.

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:

2011-04-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] Split JSC and WebCore builds
        https://bugs.webkit.org/show_bug.cgi?id=19428

        Add a pkg-config file for JavaScriptCoreGTK+.

        * configure.ac: generate the final pkg-config file from our .in
        file.

2011-04-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] Split JSC and WebCore builds
        https://bugs.webkit.org/show_bug.cgi?id=19428

        Build JavaScriptCore as a libtool shared library instead of a
        private convenience library.

        * GNUmakefile.am: remove convenience library definition for jsc.

2011-04-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Remove C++0x compat mode warnings for GCC >= 4.6.0
        https://bugs.webkit.org/show_bug.cgi?id=59718

        Hardcode -Wno-c++0x-compat for the default compiler (if version >=
        4.6.0) until our codebase is ready.

        * configure.ac: do that.

2011-04-27  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Upstream Symbian platform plugin
        https://bugs.webkit.org/show_bug.cgi?id=58435

        Upstream Symbian platform plugin.

        * Source/WebKit.pro: Add platformplugin path to the SUBDIRS.

2011-04-27  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Remove Android build system
        https://bugs.webkit.org/show_bug.cgi?id=48111

        This is to avoid the maintenance burden until the Android port is
        fully upstreamed.

        * Source/Android.mk: Removed.

2011-04-26  Kevin Ollivier  <kevino@theolliviers.com>

        Rubberstamped by Eric Seidel.

        Enable waf to be used to build other ports
        https://bugs.webkit.org/show_bug.cgi?id=58213

        * wscript:

2011-04-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r84627.
        http://trac.webkit.org/changeset/84627
        https://bugs.webkit.org/show_bug.cgi?id=59271

        It broke Symbian build (Requested by Ossy on #webkit).

        * Source/WebKit.pro:

2011-04-22  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Upstream Symbian platform plugin
        https://bugs.webkit.org/show_bug.cgi?id=58435

        Upstream Symbian platform plugin.

        * Source/WebKit.pro: Add platformplugin path to the SUBDIRS.

2011-04-21  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Roben.

        Add a feature define to allow <details> and <summary> to be disabled
        https://bugs.webkit.org/show_bug.cgi?id=59118
        <rdar://problem/9257045>

        * configure.ac:

2011-04-18  Evan Martin  <evan@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] expose title direction to webkit client
        https://bugs.webkit.org/show_bug.cgi?id=58823

        *  Tools/DumpRenderTree/chromium/LayoutTestController.cpp:
        *  Tools/DumpRenderTree/chromium/LayoutTestController.h:
        Adapt to new API.  Expose title direction to JS so it can be tested.

        *  Tools/DumpRenderTree/chromium/WebViewHost.cpp:
        *  Tools/DumpRenderTree/chromium/WebViewHost.h:
        Provide new API.

2011-04-18  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        LevelDB backend for IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=57372

        Add LevelDB wrappers to Android.mk.

        * Source/Android.mk:

2011-04-18  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Pavel Feldman.

        REGRESSION (r81479): generate-inspector-idl fails on native win32
        https://bugs.webkit.org/show_bug.cgi?id=58315

        Disable git autocrlf for Inspector.json.

        * .gitattributes:

2011-04-16  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Eric Seidel.

        Rename PLATFORM(CAIRO) to USE(CAIRO)
        https://bugs.webkit.org/show_bug.cgi?id=55192

        * Source/cmake/OptionsEfl.cmake:

2011-04-15  Shishir Agrawal  <shishir@chromium.org>

        Reviewed by James Robinson.

        Add a flag to guard Page Visibility API changes.
        https://bugs.webkit.org/show_bug.cgi?id=58464

        Initial draft at:
        http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0175.html

        * configure.ac:

2011-04-15  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * configure.ac: bump to 1.5.0, 1.4.0 will be released from a
        branch and was already cut off.

2011-04-15  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Renaming TRACK feature define to VIDEO_TRACK
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * configure.ac:

2011-04-13  Dmitry Lomov  <dslomov@google.com>

        Reviewed by David Levin.

        Add GTest unit-testing framework to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=58507

        * Source/ThirdParty/gtest/CHANGES: Added.
        * Source/ThirdParty/gtest/CMakeLists.txt: Added.
        * Source/ThirdParty/gtest/CONTRIBUTORS: Added.
        * Source/ThirdParty/gtest/COPYING: Added.
        * Source/ThirdParty/gtest/Makefile.am: Added.
        * Source/ThirdParty/gtest/README: Added.
        * Source/ThirdParty/gtest/README.WebKit: Added.
        * Source/ThirdParty/gtest/codegear/gtest.cbproj: Added.
        * Source/ThirdParty/gtest/codegear/gtest.groupproj: Added.
        * Source/ThirdParty/gtest/codegear/gtest_all.cc: Added.
        * Source/ThirdParty/gtest/codegear/gtest_link.cc: Added.
        * Source/ThirdParty/gtest/codegear/gtest_main.cbproj: Added.
        * Source/ThirdParty/gtest/codegear/gtest_unittest.cbproj: Added.
        * Source/ThirdParty/gtest/configure.ac: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest-death-test.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest-message.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest-param-test.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest-param-test.h.pump: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest-spi.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest-test-part.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest-typed-test.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest_pred_impl.h: Added.
        * Source/ThirdParty/gtest/include/gtest/gtest_prod.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-death-test-internal.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-filepath.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-internal.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-linked_ptr.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h.pump: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-port.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-string.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h.pump: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-type-util.h: Added.
        * Source/ThirdParty/gtest/include/gtest/internal/gtest-type-util.h.pump: Added.
        * Source/ThirdParty/gtest/m4/acx_pthread.m4: Added.
        * Source/ThirdParty/gtest/m4/gtest.m4: Added.
        * Source/ThirdParty/gtest/make/Makefile: Added.
        * Source/ThirdParty/gtest/msvc/gtest-md.sln: Added.
        * Source/ThirdParty/gtest/msvc/gtest-md.vcproj: Added.
        * Source/ThirdParty/gtest/msvc/gtest.sln: Added.
        * Source/ThirdParty/gtest/msvc/gtest.vcproj: Added.
        * Source/ThirdParty/gtest/msvc/gtest_main-md.vcproj: Added.
        * Source/ThirdParty/gtest/msvc/gtest_main.vcproj: Added.
        * Source/ThirdParty/gtest/msvc/gtest_prod_test-md.vcproj: Added.
        * Source/ThirdParty/gtest/msvc/gtest_prod_test.vcproj: Added.
        * Source/ThirdParty/gtest/msvc/gtest_unittest-md.vcproj: Added.
        * Source/ThirdParty/gtest/msvc/gtest_unittest.vcproj: Added.
        * Source/ThirdParty/gtest/run_tests.py: Added.
        * Source/ThirdParty/gtest/samples/prime_tables.h: Added.
        * Source/ThirdParty/gtest/samples/sample1.cc: Added.
        * Source/ThirdParty/gtest/samples/sample1.h: Added.
        * Source/ThirdParty/gtest/samples/sample10_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample1_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample2.cc: Added.
        * Source/ThirdParty/gtest/samples/sample2.h: Added.
        * Source/ThirdParty/gtest/samples/sample2_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample3-inl.h: Added.
        * Source/ThirdParty/gtest/samples/sample3_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample4.cc: Added.
        * Source/ThirdParty/gtest/samples/sample4.h: Added.
        * Source/ThirdParty/gtest/samples/sample4_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample5_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample6_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample7_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample8_unittest.cc: Added.
        * Source/ThirdParty/gtest/samples/sample9_unittest.cc: Added.
        * Source/ThirdParty/gtest/scripts/fuse_gtest_files.py: Added.
        * Source/ThirdParty/gtest/scripts/gen_gtest_pred_impl.py: Added.
        * Source/ThirdParty/gtest/scripts/gtest-config.in: Added.
        * Source/ThirdParty/gtest/scripts/pump.py: Added.
        * Source/ThirdParty/gtest/scripts/test/Makefile: Added.
        * Source/ThirdParty/gtest/scripts/upload.py: Added.
        * Source/ThirdParty/gtest/scripts/upload_gtest.py: Added.
        * Source/ThirdParty/gtest/src/gtest-all.cc: Added.
        * Source/ThirdParty/gtest/src/gtest-death-test.cc: Added.
        * Source/ThirdParty/gtest/src/gtest-filepath.cc: Added.
        * Source/ThirdParty/gtest/src/gtest-internal-inl.h: Added.
        * Source/ThirdParty/gtest/src/gtest-port.cc: Added.
        * Source/ThirdParty/gtest/src/gtest-test-part.cc: Added.
        * Source/ThirdParty/gtest/src/gtest-typed-test.cc: Added.
        * Source/ThirdParty/gtest/src/gtest.cc: Added.
        * Source/ThirdParty/gtest/src/gtest_main.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-death-test_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-filepath_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-linked_ptr_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-listener_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-message_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-options_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-param-test2_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-param-test_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-param-test_test.h: Added.
        * Source/ThirdParty/gtest/test/gtest-port_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-test-part_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-tuple_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-typed-test2_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-typed-test_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest-typed-test_test.h: Added.
        * Source/ThirdParty/gtest/test/gtest-unittest-api_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_all_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_break_on_failure_unittest.py: Added.
        * Source/ThirdParty/gtest/test/gtest_break_on_failure_unittest_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_color_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_color_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_env_var_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_env_var_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_environment_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_filter_unittest.py: Added.
        * Source/ThirdParty/gtest/test/gtest_filter_unittest_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_help_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_help_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_list_tests_unittest.py: Added.
        * Source/ThirdParty/gtest/test/gtest_list_tests_unittest_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_main_unittest.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_nc.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_nc_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_no_test_unittest.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_output_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_output_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_output_test_golden_lin.txt: Added.
        * Source/ThirdParty/gtest/test/gtest_output_test_golden_win.txt: Added.
        * Source/ThirdParty/gtest/test/gtest_pred_impl_unittest.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_prod_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_repeat_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_shuffle_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_shuffle_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_sole_header_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_stress_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_test_utils.py: Added.
        * Source/ThirdParty/gtest/test/gtest_throw_on_failure_ex_test.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_throw_on_failure_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_throw_on_failure_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_uninitialized_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_uninitialized_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_unittest.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_xml_outfile1_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_xml_outfile2_test_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_xml_outfiles_test.py: Added.
        * Source/ThirdParty/gtest/test/gtest_xml_output_unittest.py: Added.
        * Source/ThirdParty/gtest/test/gtest_xml_output_unittest_.cc: Added.
        * Source/ThirdParty/gtest/test/gtest_xml_test_utils.py: Added.
        * Source/ThirdParty/gtest/test/production.cc: Added.
        * Source/ThirdParty/gtest/test/production.h: Added.
        * Source/ThirdParty/gtest/test/run_tests_util.py: Added.
        * Source/ThirdParty/gtest/test/run_tests_util_test.py: Added.
        * Source/ThirdParty/gtest/xcode/Config/DebugProject.xcconfig: Added.
        * Source/ThirdParty/gtest/xcode/Config/FrameworkTarget.xcconfig: Added.
        * Source/ThirdParty/gtest/xcode/Config/General.xcconfig: Added.
        * Source/ThirdParty/gtest/xcode/Config/ReleaseProject.xcconfig: Added.
        * Source/ThirdParty/gtest/xcode/Config/StaticLibraryTarget.xcconfig: Added.
        * Source/ThirdParty/gtest/xcode/Config/TestTarget.xcconfig: Added.
        * Source/ThirdParty/gtest/xcode/Resources/Info.plist: Added.
        * Source/ThirdParty/gtest/xcode/Samples/FrameworkSample/Info.plist: Added.
        * Source/ThirdParty/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj: Added.
        * Source/ThirdParty/gtest/xcode/Samples/FrameworkSample/runtests.sh: Added.
        * Source/ThirdParty/gtest/xcode/Samples/FrameworkSample/widget.cc: Added.
        * Source/ThirdParty/gtest/xcode/Samples/FrameworkSample/widget.h: Added.
        * Source/ThirdParty/gtest/xcode/Samples/FrameworkSample/widget_test.cc: Added.
        * Source/ThirdParty/gtest/xcode/Scripts/runtests.sh: Added.
        * Source/ThirdParty/gtest/xcode/Scripts/versiongenerate.py: Added.
        * Source/ThirdParty/gtest/xcode/gtest.xcodeproj/project.pbxproj: Added.

2011-04-13  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [CMAKE] Separate DerivedSources.
        https://bugs.webkit.org/show_bug.cgi?id=58427

        Seperate DerivedSources/ to DerivedSources/WebCore and
        DerivedSources/JavaScriptCore.

        * Source/CMakeLists.txt:
        * Source/cmake/OptionsCommon.cmake:
        * Source/cmake/WebKitFS.cmake:
        * Source/cmake/WebKitHelpers.cmake:
        * Source/cmake/WebKitMacros.cmake:

2011-04-13  Tony Chang  <tony@chromium.org>

        Ignore files generated from glu.gyp.

        * .gitignore:

2011-03-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Kenneth Russell.

        Move libtess from WebCore/thirdparty to ThirdParty
        https://bugs.webkit.org/show_bug.cgi?id=57288

        We're putting third party code in Source/ThirdParty these days.

        * Source/ThirdParty/glu: Copied from Source/WebCore/thirdparty/glu.
        * Source/ThirdParty/glu/glu.gyp: Added.

2011-04-12  Thouraya ANDOLSI  <thouraya.andolsi@st.com>

        Reviewed by Eric Seidel.

        [QT] Enable JIT build for SH4 platforms.
        https://bugs.webkit.org/show_bug.cgi?id=58317
        add disable_uitools for SH4 platforms.

        * Source/WebKit.pri:

2011-04-11  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * configure.ac:

2011-04-11  Varun Jain  <varunjain@chromium.org>

        Reviewed by Darin Fisher.

        Resolving FIXME to make new WebWidget method pure virtual since all downstream classes have implemented the method.
        https://bugs.webkit.org/show_bug.cgi?id=58245

        *  Source/WebKit/chromium/public/WebWidget.h:

2011-04-11  Thouraya ANDOLSI  <thouraya.andolsi@st.com>

        Reviewed by Oliver Hunt.

        SH4 JIT SUPPORT.
        https://bugs.webkit.org/show_bug.cgi?id=44329

        Enable JIT support for SH4 platforms.

        * configure.ac:

2011-04-11  Andreas Kling  <andreas.kling@nokia.com>

        Unreviewed Qt build fix, QT_CONFIG doesn't have uitools on bots.

        * Source/WebKit.pri:

2011-04-09  Keith Kyzivat  <keith.kyzivat@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Don't link against fontconfig or X11 if embedded
        https://bugs.webkit.org/show_bug.cgi?id=58104

        * Source/WebKit.pri: Add qpa=>embedded as it should be across all builds.

2011-04-08  Alpha Lam  <hclam@chromium.org>

        Unreviewed, rolling out r83335.
        http://trac.webkit.org/changeset/83335
        https://bugs.webkit.org/show_bug.cgi?id=53556

        GTK and QT bots are broken.

        * configure.ac:

2011-04-08  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Remove modular references after support for the flag was removed.
        https://bugs.webkit.org/show_bug.cgi?id=57018

        Removed modular references after support for the flag was removed.

        Support was removed because the Qt Modularization project decided we
        don't need it. It's better to base decisions on the available
        information, as demonstrated in the patch by checking
        QT.phonon.includes.

        * Source/WebKit.pri:

2011-04-07  Anna Cavender  <annacc@chromium.org>

        Reviewed by Eric Carlson.

        Setup ENABLE(TRACK) feature define
        https://bugs.webkit.org/show_bug.cgi?id=53556

        * configure.ac:

2011-04-08  Varun Jain  <varunjain@chromium.org>

        Reviewed by Darin Fisher.

        Need to extend WebKit chromium API to access text selection
        https://bugs.webkit.org/show_bug.cgi?id=57888

        *  Source/WebKit/chromium/public/WebFrame.h:
        *  Source/WebKit/chromium/public/WebWidget.h:
        *  Source/WebKit/chromium/src/WebFrameImpl.cpp:
        *  Source/WebKit/chromium/src/WebFrameImpl.h:
        *  Source/WebKit/chromium/src/WebPopupMenuImpl.h:
        *  Source/WebKit/chromium/src/WebViewImpl.cpp:
        *  Source/WebKit/chromium/src/WebViewImpl.h:
        *  Source/WebKit/chromium/tests/PopupMenuTest.cpp:

2011-04-08  Jon Lee  <jonlee@apple.com>

        Reviewed by David Levin.

        adding *.vcproj.*.user to .gitignore for Visual Studio development
        https://bugs.webkit.org/show_bug.cgi?id=58097

        * .gitignore:

2011-04-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add stub support for generating Gtk build system from gyp
        https://bugs.webkit.org/show_bug.cgi?id=58086

        This adds support for a new --port argument and plumbs through
        the necessary paths to allow generating for a port other than Mac.

        * Source/gyp/configure:

2011-04-07  Andrew Scherkus  <scherkus@chromium.org>

        Revert ENABLE_TRACK patch due to compile failures.

        * configure.ac:

2011-04-06  Dai Mikurube  <dmikurube@chromium.org>

        Reviewed by David Levin.

        Add QUOTA build flag for unified quota API
        https://bugs.webkit.org/show_bug.cgi?id=57918

        * configure.ac: Added QUOTA build flag

2011-04-04  Martin Robinson  <mrobinson@igalia.com>

        Build fix for GTK+ after r82876.

        * Source/autotools/symbols.filter: Update the symbol filter to include new symbols
        from WTF that DRT uses.

2011-04-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] WebGL support
        https://bugs.webkit.org/show_bug.cgi?id=31517

        * configure.ac: Update configure.ac to ensure that GL/GLX headers exist.

2011-04-04  Jon Lee  <jonlee@apple.com>

        Reviewed by Eric Seidel.

        add some directories to .gitignore (and svn:ignore) when opening projects in xcode4
        https://bugs.webkit.org/show_bug.cgi?id=57646

        * .gitignore: added xcode 4 related project and workspace directories that are not needed for checkin

2011-03-31  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Link explicitly with XRender on Linux/Unix
        https://bugs.webkit.org/show_bug.cgi?id=57558

        Some linkers, like GNU Gold, require explicit linkage of all the
        libraries used instead of relying on our dependencies to bring
        them in. In this case, the build fails because we use XRender in
        the plugin code but don't link directly to it.

        * configure.ac: check for XRender on UNIX.

2011-03-31  Vamshikrishna.Yellenki  <vamshi@motorola.com> and Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        Implement MiniBrowser for Gtk port.
        https://bugs.webkit.org/show_bug.cgi?id=48512

        Initial implementation of the Gtk MiniBrowser.

        * GNUmakefile.am:

2011-03-30  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Typo fix, remove an accidentally added line.

        * Source/WebKit.pri:

2011-03-30  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Rollout r82240 and r82232, because they broke 2 plugin tests.

        * Source/WebKit.pri:

2011-03-29  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Andreas Kling.

        [Qt] Remove modular references after support for the flag was removed.
        https://bugs.webkit.org/show_bug.cgi?id=57018

        Symbian buildfix after r82232.

        * Source/WebKit.pri: Readd uitools option.

2011-03-29  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Andreas Kling.

        Removed modular references after support for the flag was removed.

        Support was removed because the Qt Modularization project decided we
        don't need it. It's better to base decisions on the available
        information, as demonstrated in the patch by checking
        QT.phonon.includes.

        In addition, remove the reference to uitools. It has been moved to
        QtKernel now, and therefore is always available.

        [Qt] Remove modular references after support for the flag was removed.
        https://bugs.webkit.org/show_bug.cgi?id=57018

        * Source/WebKit.pri:

2011-03-28  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
        https://bugs.webkit.org/show_bug.cgi?id=57087

        Enable QT_ASCII_CAST_WARNINGS by default in webkit.pri to catch the errors early on.

        * Source/WebKit.pri:

2011-03-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        We shouldn't bother running GYP if the generated files are newer than the GYP files
        https://bugs.webkit.org/show_bug.cgi?id=57146

        In the common case, this check will avoid any overhead from processing
        the GYP files.  Another approach to doing this is to add the feature to
        GYP directly, but GYP's approach to this problem is to compute the
        output in its entirety and compare it byte-for-byte against the output
        file.  In the future, it might make sense to add this approach as an
        alternative approach for GYP itself.

        I also removed JavaScriptGlue from the script because we're not really
        going to change JavaScriptGlue over to GYP.  We were using
        JavaScriptGlue as a learning experience.

        * Source/gyp/configure:

2011-03-25  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, don't use the new FPD implementation yet, until we can merge ours with it.

        * wscript:

2011-03-23  George Guo  <George.Guo@nokia.com>

        Reviewed by Darin Adler.

        Webkit warning: converting to 'unsigned int' from 'double'
        https://bugs.webkit.org/show_bug.cgi?id=56865

        With -Werr enabled, this cause the build failure on RedHat Linux. 
        Add a cast helped.  

        * Source/JavaScriptCore/runtime/TimeoutChecker.cpp:
        (JSC::getCPUTime):

2011-03-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        GYP build should default to Production configuration
        https://bugs.webkit.org/show_bug.cgi?id=56899

        * Source/gyp/common.gypi:

2011-03-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        gyp/configure shouldn&apos;t require GYP to be in your path
        https://bugs.webkit.org/show_bug.cgi?id=56873

        Now that GYP is on Source/ThirdParty/gyp, we can just use that copy
        instead of requiring GYP to be in the user's path.

        * Source/gyp/configure:

2011-03-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add GYP to Source/ThirdParty
        https://bugs.webkit.org/show_bug.cgi?id=56870

        We probably don't need all the test files, but it seems cleaner to just
        check in the whole GYP tree.  GYP is BSD licensed, so it is compatible
        with the WebKit license.

        * Source/ThirdParty/gyp: Added.

2011-03-21  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] 1.3.13 release bump
        https://bugs.webkit.org/show_bug.cgi?id=56795

        Version bump for 1.3.13 and updated NEWS file with release notes.

        * configure.ac:

2011-03-21  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [CMAKE] Add exception handling when PORT was missing.
        https://bugs.webkit.org/show_bug.cgi?id=56728

        * Source/CMakeLists.txt:

2011-03-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Text layout is broken on Symbian
        https://bugs.webkit.org/show_bug.cgi?id=56046

        Change integers included into bitfields to be signed by default on RVCT
        compiler as a lot of other compilers do (gcc, msvc, winsc).
        There are a lot of places in webkit where integers included in bitfield
        are assumed to be signed.

        * Source/WebKit.pri:

2011-03-10  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed, fixed Efl compilation after r80744.

        * Source/cmake/OptionsEfl.cmake:

2011-03-10  Martin Robinson  <mrobinson@igalia.com>

        Fixed the help message for WebGL support on GTK+ to reflect the fact that
        it's turned off by default and is experimental.

        * configure.ac: Fix WebGL help message.

2011-03-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Adam Barth.

        Add skeletal WebCore.gyp
        https://bugs.webkit.org/show_bug.cgi?id=55802

        * Source/gyp/configure: Added WebCore.

2011-03-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Add a basic configure script for the GYP build
        https://bugs.webkit.org/show_bug.cgi?id=55791

        This script just calls GYP on the various gyp projects.  As we add more
        build systems, this script should be able to select which of them you'd
        like to generate the project for.

        * Source/gyp/configure: Added.

2011-03-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Use target_defaults to reduce boilerplate in GYP build system
        https://bugs.webkit.org/show_bug.cgi?id=55790

        This file contains GYP declarations that are shared by all the modules.
        Currently, we use this to set up the configurations, albeit primitively.

        * Source/gyp/common.gypi: Added.

2011-03-03  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix. Ensure the ICU include dir comes before JavaScriptCore/wtf on Win
        to make sure the proper unicode/utf8.h header is included.

        * wscript:

2011-03-02  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, don't use LocalizedNumberICU.cpp yet, headers that it needs are not
        included in the ICU headers used by WebKit.

        * wscript:

2011-03-02  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by David Levin.

        Add feature define for data transfer items
        https://bugs.webkit.org/show_bug.cgi?id=55510

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:
        * configure.ac:

>>>>>>> .r80188
2011-03-02  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Laszlo Gombos.

        [Qt][WK2] generate-forwarding-headers.pl should generate paths with framework names
        https://bugs.webkit.org/show_bug.cgi?id=55478

        On case insensitive systems the generated forwarding headers cause build problems.

        * Source/WebKit.pri: Adjust INCLUDEPATH for the project.

2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r80079.
        http://trac.webkit.org/changeset/80079
        https://bugs.webkit.org/show_bug.cgi?id=55547

        "Broke the Win debug build?" (Requested by dcheng on #webkit).

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:

2011-03-01  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by David Levin.

        Add feature define for data transfer items
        https://bugs.webkit.org/show_bug.cgi?id=55510

        * Source/cmake/OptionsEfl.cmake:
        * Source/cmake/OptionsWinCE.cmake:
        * Source/cmakeconfig.h.cmake:

2011-03-01  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] Clean up the project files and move common options to WebKit.pri.

        Mac related changes suggested by Prasanth Ullattil <prasanth.ullattil@nokia.com>

        * Source/WebKit.pri: Common options should be here.
        Also move Mac options to this file to fix the Mac build.

2011-03-01  Andras Becsi  <abecsi@webkit.org>

        Unreviewed build fix.

        [Qt] Fix minimal build.

        * Source/WebKit.pri: Move the XP_UNIX define back to WebCore.pri.

2011-02-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Teach JavaScriptGlue gyp build about DEPTH
        https://bugs.webkit.org/show_bug.cgi?id=55421

        Moves the previously JavaScriptGlue-specific GYP helper shell scripts
        to the gyp directory in Source, where they can be shared by multiple
        frameworks.

        * Source/gyp: Added.
        * Source/gyp/remove-headers-if-needed.sh: Copied from Source/JavaScriptGlue/gyp/remove-headers-if-needed.sh.
        * Source/gyp/run-if-exists.sh: Copied from Source/JavaScriptGlue/gyp/run-if-exists.sh.
        * Source/gyp/update-info-plist.sh: Copied from Source/JavaScriptGlue/gyp/update-info-plist.sh.

2011-02-28  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt][WK2] Add a way to test the WebKit 2 APIs
        https://bugs.webkit.org/show_bug.cgi?id=55408

        Add the build file for test to the build system.

        * Source/WebKit.pri: Add the include path for WebKit 2 APIs.
        * Source/WebKit.pro: Add the dependency to build the new test project.

2011-02-28  Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Anders Carlsson.

        [Qt][WK2] Plugin initialization
        https://bugs.webkit.org/show_bug.cgi?id=48127

        * Source/WebKit.pri: Lift the definition of the XP_UNIX macro
        from WebCore.pri to WebKit.pri to apply it to WebKit2 as well.

2011-02-28  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Andreas Kling.

        Added full webkit module profile and a syncqt profile.

        This is for modularized Qt.

        [Qt] WebKit patches required to work with a modularized version of Qt
        https://bugs.webkit.org/show_bug.cgi?id=53916

        * Source/sync.profile: Added.

2011-02-26  Dihan Wickremasuriya  <dihan.wickremasuriya@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] [Symbian] Disable dependency to a specific version of a Qt package for
        non-production builds.
        https://bugs.webkit.org/show_bug.cgi?id=55313

        * Source/WebKit.pri:

2011-02-24  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Martin Robinson.

        Fixed compilation after r79537, added a bug to solve webkit2
        translations:
        https://bugs.webkit.org/show_bug.cgi?id=55153

        * GNUmakefile.am:

2011-02-24  Christian Dywan  <christian@lanedo.com>

        Rubber-stamped by Eric Seidel.

        [GTK] webkitgtk 1.3.7 build without translations
        https://bugs.webkit.org/show_bug.cgi?id=50612

        * GNUmakefile.am: Require stamp-po target for all-local so
            that po files are built before they install.

2011-02-22  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] 1.3.12 release preparation
        https://bugs.webkit.org/show_bug.cgi?id=54967

        Version bump for 1.3.12 and updated NEWS file with release notes.
        Also bumped libsoup requirement to 2.33.6 as agreed with Sergio
        and Martin.

        * Source/WebKit/gtk/NEWS:
        * configure.ac:

2011-02-22  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Laszlo Gombos.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 2.

        Build WebCore as a static library, compile the WebKit API and WebKit2 API
        in a final step and link to WebKit2, WebCore and JSC libraries to fix
        linking issues resulting from stripped away symbols.

        * Source/WebKit.pri: Add common include paths
        * Source/WebKit.pro: Add new project file to SUBDIRS

2011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Bump GTK+3 dependency to 3.0
        https://bugs.webkit.org/show_bug.cgi?id=54394

        * configure.ac:

2011-02-19  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Martin Robinson.

        [GTK] Remove mandatory Enchant dependency
        https://bugs.webkit.org/show_bug.cgi?id=51587

        Add enable-spellcheck option which decides whether to use enchant.
        If disabled, WebKitGTK+ will not use enchant library.

        * configure.ac:

2011-02-18  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Martin Robinson.

        [Gtk] Re-enable meter tag support
        https://bugs.webkit.org/show_bug.cgi?id=54762

        Enable meter tag support in the configure.ac. This feature was
        previously enabled by default in the makefile, but should be
        enabled here after changes in r78981.

        * configure.ac:

2011-02-18  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Avoided UiTools dependency if the module is not present.

        [Qt] WebKit patches required to work with a modularized version of Qt
        https://bugs.webkit.org/show_bug.cgi?id=53916

        * Source/WebKit.pri:

2011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Kent Tamura.

        [EFL] Remove GDK dependency.
        https://bugs.webkit.org/show_bug.cgi?id=53978

        Remove checking GDK library.

        * Source/cmake/OptionsEfl.cmake:

2011-02-18  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, build fix after r78981

        * configure.ac: datagrid is datagrid, it is not database. Also
        meter is not progress. Fixed copy/paste mistakes.

2011-02-18  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] minimal build unrecognized options
        https://bugs.webkit.org/show_bug.cgi?id=50890

        * configure.ac: added new configure options to enable/disable the
        meter element, progress element, datagrid and client-based
        geolocation support.

2011-02-17  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix after introduction of JavaScriptCore/collector.
        
        * wscript:

2011-02-17  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Laszlo Gombos.

        Updated include paths for phonon.

        [Qt] WebKit patches required to work with a modularized version of Qt
        https://bugs.webkit.org/show_bug.cgi?id=53916

        * Source/WebKit.pri:

2011-02-13  Hayato Ito  <hayato@chromium.org>

        Reviewed by Kent Tamura.

        Update .gitignore to ignore files which Ninja build system generates.

        https://bugs.webkit.org/show_bug.cgi?id=54378

        * .gitignore:

2011-02-10  Peter Varga  <pvarga@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Remove PCRE source from trunk
        https://bugs.webkit.org/show_bug.cgi?id=54188

        * Source/cmake/WebKitFS.cmake:

2011-02-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Steve Block.

        Move Android.mk into Source
        https://bugs.webkit.org/show_bug.cgi?id=53751

        A somewhat blind attempt to move Android.mk into the Source directory.
        I'm sure I've goofed this up in some way.  The Android folks have
        kindly volunteered to fix this up once they merge past this revision.

        * Android.mk: Removed.
        * Source/Android.mk: Copied from Android.mk.

2011-02-08  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        WebKit2 GTK Fails to Build #include nested too deeply
        https://bugs.webkit.org/show_bug.cgi?id=52219

        Removed the __STDC_FORMAT_MACROS definition, it is already defined
        in the file where PRIxx64 is used before the inclusion so we are
        safe.

        * configure.ac:

2011-02-08  Kristian Amlie  <kristian.amlie@nokia.com>

        Reviewed by Eric Seidel.

        Added include paths for QtScript.

        WebKit patches required to work with a modularized version of Qt
        https://bugs.webkit.org/show_bug.cgi?id=53916

        * Source/WebKit.pri:

2011-02-03  Martin Robinson  <mrobinson@igalia.com>

        Fix GTK+ WebGL build after r76600.

        * configure.ac: Make sure to respect configure.ac conventions 
        consistently when it comes to capitalization. Remove an old
        reference to enable_3d_canvas.

2011-02-02  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        Bump the WebKitGTK+ versions in preparation for development release.

        * configure.ac: Bump the library, libtool and user agent version.

2011-02-02  Steve Lacey  <sjl@chromium.org>

        Reviewed by Eric Carlson.

        Implement basic media statistics on media elements.
        https://bugs.webkit.org/show_bug.cgi?id=53322

        * configure.ac:

2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes for wxWebKit.

        * wscript:

2010-01-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-01-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-01-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2011-01-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] REGRESSION:  http/tests/media/video-{cookie,referer}.html failing
        https://bugs.webkit.org/show_bug.cgi?id=53379

        Remove left over mentions of HAVE_SOUP_2_29_90, and apply the
        dependency on newer soup to efl as well.

        * Source/cmake/OptionsEfl.cmake:

2011-01-29  Daniel Bates  <dbates@rim.com>

        Reviewed by Maciej Stachowiak.

        Remove reference to ${CMAKE_SOURCE_DIR}/Source in CMake files
        https://bugs.webkit.org/show_bug.cgi?id=53382

        Our file system hierarchy ensures that CMAKE_SOURCE_DIR is defined to be /Source.
        So, ${CMAKE_SOURCE_DIR}/Source evaluates to the non-existent directory /Source/Source.
        Therefore, we should remove such references.

        * Source/cmake/OptionsCommon.cmake:

2011-01-29  Daniel Bates  <dbates@rim.com>

        Reviewed by Eric Seidel.

        Move wince/mt19937ar.c to ThirdParty and make it a policy choice
        https://bugs.webkit.org/show_bug.cgi?id=53253

        Move implementation of Mersenne Twister pseudorandom number generator to
        ThirdParty since it is a third party library.

        * Source/ThirdParty/mt19937ar.c: Copied from Source/JavaScriptCore/wtf/wince/mt19937ar.c.

2011-01-29  Dan Winship  <danw@gnome.org>

        Reviewed by Xan Lopez.

        [GTK] Require the latest glib and libsoup, and remove conditional
        support for older versions
        https://bugs.webkit.org/show_bug.cgi?id=50675

        * autotools/webkit.m4: use AM_PATH_GLIB_2_0 rather than doing
        basically the same work by hand
        * configure.ac:

2011-01-28  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Build failure with --enable-indexed-database
        https://bugs.webkit.org/show_bug.cgi?id=50954

        Build fix for IndexedDB support.

        * configure.ac: Change the autogen.sh option --enable-indexeddb to
        --enable-indexed-database to match the build-webkit option.

2010-01-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-01-28  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2011-01-26  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt][Symbian] Fix --minimal build
        https://bugs.webkit.org/show_bug.cgi?id=52839

        Move definition of USE_SYSTEM_MALLOC out of pri file.
        Put it in platform.h instead.

        * Source/WebKit.pri:

2011-01-26  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Fix qt_minimal build
        https://bugs.webkit.org/show_bug.cgi?id=53172

        * Source/WebKit.pri:

2011-01-25  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Move main CMakeLists.txt into Source directory
        https://bugs.webkit.org/show_bug.cgi?id=52888

        * CMakeLists.txt: Removed.
        * Source/CMakeLists.txt: Copied from CMakeLists.txt.
        * Source/cmakeconfig.h.cmake: Copied from cmakeconfig.h.cmake.
        * cmakeconfig.h.cmake: Removed.

2011-01-24  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Eric Seidel.

        Change ENABLE_3D_CANVAS to ENABLE_WEBGL
        https://bugs.webkit.org/show_bug.cgi?id=53041

        * configure.ac:
        
2011-01-24  Peter Gal  <galpeter@inf.u-szeged.hu>

        Rubber-stamped by Csaba Osztrogonác.

        * runtime: Removed. It was accidentally created by r76457.

2011-01-24  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] Move project files into Source
        https://bugs.webkit.org/show_bug.cgi?id=52891

        * Source/DerivedSources.pro: Copied from DerivedSources.pro.
        * Source/WebKit.pri: Renamed from WebKit.pri.
        * Source/WebKit.pro: Added.
        * Source/common.pri: Renamed from common.pri.
        * WebKit.pro: Removed.

2011-01-20  Siddharth Mathur  <siddharth.mathur@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt][Symbian] Smaller debug symbol size when using RVCT 4.x
        https://bugs.webkit.org/show_bug.cgi?id=52835

        * WebKit.pri: Use --remove_unneeded_entities for RVCT 4.x compilers

2011-01-20  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Andreas Kling.

        [GTK] Fix typo in the webkit2 section of the configure.ac file
        https://bugs.webkit.org/show_bug.cgi?id=52801

        Fixed typo in the GTK WebKit2 compilation.

        * configure.ac:

2011-01-19  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>

        Reviewed by Andreas Kling.

        Enable usage of Google ld if it exist but is not on by default.

        [Qt] Enable the google ld if it exist but is not on by default
        https://bugs.webkit.org/show_bug.cgi?id=52625

        * common.pri: flip the test.

2011-01-18  Mihai Parparita  <mihaip@chromium.org>

        Unreviewed. Update .gitignore to reflect that WebKit is now in Source.
        
        * .gitignore:

2011-01-18  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>

        Reviewed by Simon Fraser.

        Support background-clip: content-box
        https://bugs.webkit.org/show_bug.cgi?id=48771

        Addded content-box as a valid background-clip value.

        * WebCore/css/CSSParser.cpp:
        (WebCore::parseBackgroundClip):

2011-01-18  Hayato Ito  <hayato@chromium.org>

        Reviewed by Kent Tamura.

        Update .gitignore file to reflect a recent WebKit directory movement.

        https://bugs.webkit.org/show_bug.cgi?id=52618

        * .gitignore:

2011-01-16  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move WebKit into Source
        https://bugs.webkit.org/show_bug.cgi?id=52530

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.pro:
        * GNUmakefile.am:
        * Makefile:
        * WebKit.pri:
        * WebKit.pro:
        * configure.ac:
        * wscript:

2011-01-15  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move WebKit2 into Source
        https://bugs.webkit.org/show_bug.cgi?id=52438

        Update reference to WebKit2.

        * DerivedSources.pro:
        * GNUmakefile.am:
        * Makefile:
        * Source/cmake/WebKitPackaging.cmake:
        * WebKit.pro:
        * configure.ac:

2011-01-14  Ahmad Sharif  <asharif.tools@gmail.com>

        Reviewed by Darin Fisher.

        When inlining is performed, the progress variable is
        declared as uninitialized.
        https://bugs.webkit.org/show_bug.cgi?id=51084

        * WebCore: Copied from WebCore.
        * WebCore/page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
        (WebCore::KeyframeAnimation::getAnimatedStyle):

2011-01-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Csaba Osztrogonác.

        [Qt] Add QT_NO_CONCURRENT to the qt_minimal configuration
        https://bugs.webkit.org/show_bug.cgi?id=52223

        Add QT_NO_CONCURRENT to the qt_minimal configuration to make sure
        that QtWebKit builds with QT_NO_CONCURRENT defined.

        * WebKit.pri:

2011-01-11  Mihai Parparita  <mihaip@chromium.org>

        Unreviewed. Update .gitignore with new Chromium dependency.
        
        ui/ was added with http://crrev.com/70743, we picked that up with a
        Chromium roll in r75311.
        
        Also alphabetizes the dependency list.

        * .gitignore:

2011-01-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Csaba Osztrogonác.

        [Qt] Baseline qt_minimal configuration
        https://bugs.webkit.org/show_bug.cgi?id=51313

        * WebKit.pri: List the supported QT_NO_FEATURE flags
        under qt_minimal configuration.

2011-01-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Eric Seidel.

        [EFL] Enable JIT for WebKit EFL
        https://bugs.webkit.org/show_bug.cgi?id=52140

        Enable JIT option for WebKit EFL. Enabled JIT's JS performance is 
        3 ~ 6 times faster than before.

        * Source/cmake/OptionsEfl.cmake:

2011-01-10  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump the WebKitGTK+ versions in preparation for development release.

        * configure.ac: Bump the library, libtool and user agent version.

2011-01-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Create intermediate libWebCore library
        https://bugs.webkit.org/show_bug.cgi?id=52116

        * GNUmakefile.am: add XP_UNIX to the global CPP flags, since it's
        used by both libWebCore and libwebkitgtk now.

2011-01-08  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed wx build fix for r75313.

        * wscript: Added missing brace.

2011-01-07  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move WebCore to Source
        https://bugs.webkit.org/show_bug.cgi?id=52050

        Update build files and metadata to point to WebCore's new location.

        * .gitattributes:
        * .gitignore:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.pro:
        * GNUmakefile.am:
        * Makefile:
        * Source/autotools/webkit.m4:
        * Source/cmake/OptionsEfl.cmake:
        * WebKit.pri:
        * WebKit.pro:
        * configure.ac:
        * wscript:

2011-01-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] Initial build support for WebGL
        https://bugs.webkit.org/show_bug.cgi?id=51716

        * configure.ac: Add a configure option for WebGL.

2011-01-06  Michael Saboff  <msaboff@apple.com>

        Reviewed by Gavin Barraclough.

        Enhancement: Add Regexp Debug Compare between JIT and Interpreter
        https://bugs.webkit.org/show_bug.cgi?id=51834

        * JavaScriptCore: Copied from JavaScriptCore.

2011-01-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Enable blob support by default
        https://bugs.webkit.org/show_bug.cgi?id=51994

        * configure.ac: Enable Blob support by default.

2011-01-05  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Fix the usage of SOURCE_GROUP
        https://bugs.webkit.org/show_bug.cgi?id=51739

        * Source/cmake/WebKitMacros.cmake:

2011-01-05  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [WINCE] Remove CMake warning
        https://bugs.webkit.org/show_bug.cgi?id=51921

        * Source/cmake/WebKitHelpers.cmake:

2011-01-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by David Levin.

        .gitignore should be updated to reflect Sources rename to Source
        https://bugs.webkit.org/show_bug.cgi?id=51893

        * .gitignore: Change all paths that reference the "Sources" directory to say "Source".

2011-01-04  Dihan Wickremasuriya  <dihan.wickremasuriya@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] [Symbian] Build system cleanup

        After r74811 special handling for the Symbian build is no longer needed.
        This patch reverts r58756.

        * WebKit.pri:

2011-01-03  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * autogen.sh: also pass $ACLOCAL_FLAGS for tools that set that env
        variable (like jhbuild).

2011-01-03  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Darin Adler.

        [WINCE] Provide third party directory via environment variable
        https://bugs.webkit.org/show_bug.cgi?id=51643

        * Source/cmake/OptionsWinCE.cmake:

2011-01-03  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Use autoreconf instead of calling manually all the usual commands.

        * autogen.sh: call autoreconf instead of
        aclocal/autoheader/autoconf/automake/libtoolize.

2011-01-03  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Disable superfluous GNU make built-in implicit rules
        https://bugs.webkit.org/show_bug.cgi?id=51826

        GNU make ships some superflous built-in rules that we never use
        and that end up adding up to a very significant portion of our
        total Makefile processing time. Disable them completely by
        defining the rule without any recipe, as suggested by the GNU make
        manual (10.5.6, Cancelling Implicit Rules).

        In my system the null-build goes from:

        make  43.51s user 12.77s system 99% cpu 56.628 total

        to:

        make  31.45s user 11.59s system 99% cpu 43.227 total

        * GNUmakefile.am: disable implicit built-in rules.

2011-01-03  Mihai Parparita  <mihaip@chromium.org>

        Unreviewed. Update .gitignore with new JavaScriptCore location.

        * .gitignore:

2011-01-02  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Unreviewed build fix.

        * CMakeLists.txt:
        * Source/cmake/OptionsCommon.cmake:

2011-01-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move JavaScriptCore to Source
        https://bugs.webkit.org/show_bug.cgi?id=51604

        Update references to JavaScriptCore to point to the new location.

        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.pro:
        * GNUmakefile.am:
        * Makefile:
        * WebKit.pri:
        * WebKit.pro:
        * wscript:

2011-01-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move Sources to Source
        https://bugs.webkit.org/show_bug.cgi?id=51794

        Update build files to point to the new location.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * Makefile:
        * autogen.sh:
        * configure.ac:

2010-12-31  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move HTML and XML parser benchmarks into PerformanceTests/Parser
        https://bugs.webkit.org/show_bug.cgi?id=51772

        Actually move the directory.

        * PerformanceTests/Parser: Copied from WebCore/benchmarks/parser.

2010-12-31  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move PageLoadTests to PerformanceTests/PageLoad
        https://bugs.webkit.org/show_bug.cgi?id=51771

        Actually move the directory.

        * PageLoadTests: Removed.
        * PageLoadTests/svg: Removed.
        * PageLoadTests/svg/LICENSES: Removed.
        * PageLoadTests/svg/files: Removed.
        * PageLoadTests/svg/files/33041-Samurai.svg: Removed.
        * PageLoadTests/svg/files/42450-under the see.svg: Removed.
        * PageLoadTests/svg/files/42470-flower_from_my_garden_v2.svg: Removed.
        * PageLoadTests/svg/files/44057-drops on a blade.svg: Removed.
        * PageLoadTests/svg/files/Harvey_Rayner.svg: Removed.
        * PageLoadTests/svg/files/az-lizard_benji_park_01.svg: Removed.
        * PageLoadTests/svg/files/bamboo_01.svg: Removed.
        * PageLoadTests/svg/files/cacuts_01.svg: Removed.
        * PageLoadTests/svg/files/cowboy.svg: Removed.
        * PageLoadTests/svg/files/crawfish2_ganson.svg: Removed.
        * PageLoadTests/svg/files/deb9frac1.svg: Removed.
        * PageLoadTests/svg/files/food_leif_lodahl_01.svg: Removed.
        * PageLoadTests/svg/files/france.svg: Removed.
        * PageLoadTests/svg/files/francobollo_gnome_ezechi_02.svg: Removed.
        * PageLoadTests/svg/files/gearflowers.svg: Removed.
        * PageLoadTests/svg/files/hereGear4.svg: Removed.
        * PageLoadTests/svg/files/mtsthelens.svg: Removed.
        * PageLoadTests/svg/files/mtsthelens0.jpg: Removed.
        * PageLoadTests/svg/files/world-iso.svg: Removed.
        * PageLoadTests/svg/files/worldcup.svg: Removed.
        * PageLoadTests/svg/svg.pltsuite: Removed.
        * PerformanceTests/PageLoad: Copied from PageLoadTests.
        * Sources/cmake/WebKitPackaging.cmake:

2010-12-31  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move SunSpider into PerformanceTests
        https://bugs.webkit.org/show_bug.cgi?id=51769

        Actually move the directory.

        * PerformanceTests: Added.
        * PerformanceTests/SunSpider: Copied from SunSpider.
        * Sources/cmake/WebKitPackaging.cmake:
        * SunSpider: Removed.
        * SunSpider/SunSpider.make: Removed.
        * SunSpider/TODO: Removed.
        * SunSpider/UNCOVERED: Removed.
        * SunSpider/hosted: Removed.
        * SunSpider/hosted/json2.js: Removed.
        * SunSpider/hosted/sunspider.css: Removed.
        * SunSpider/hosted/sunspider.html: Removed.
        * SunSpider/hosted/versions.html: Removed.
        * SunSpider/make-hosted: Removed.
        * SunSpider/resources: Removed.
        * SunSpider/resources/TEMPLATE.html: Removed.
        * SunSpider/resources/driver-TEMPLATE.html: Removed.
        * SunSpider/resources/results-TEMPLATE.html: Removed.
        * SunSpider/resources/sunspider-analyze-results.js: Removed.
        * SunSpider/resources/sunspider-compare-results.js: Removed.
        * SunSpider/resources/sunspider-standalone-compare.js: Removed.
        * SunSpider/resources/sunspider-standalone-driver.js: Removed.
        * SunSpider/sunspider: Removed.
        * SunSpider/sunspider-compare-results: Removed.
        * SunSpider/tests: Removed.
        * SunSpider/tests/parse-only: Removed.
        * SunSpider/tests/parse-only/LIST: Removed.
        * SunSpider/tests/parse-only/concat-jquery-mootools-prototype.js: Removed.
        * SunSpider/tests/parse-only/jquery-1.3.2.js: Removed.
        * SunSpider/tests/parse-only/mootools-1.2.2-core-nc.js: Removed.
        * SunSpider/tests/parse-only/prototype-1.6.0.3.js: Removed.
        * SunSpider/tests/sunspider-0.9: Removed.
        * SunSpider/tests/sunspider-0.9.1: Removed.
        * SunSpider/tests/sunspider-0.9.1/3d-cube.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/3d-morph.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/3d-raytrace.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/LIST: Removed.
        * SunSpider/tests/sunspider-0.9.1/access-binary-trees.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/access-fannkuch.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/access-nbody.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/access-nsieve.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/bitops-3bit-bits-in-byte.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/bitops-bits-in-byte.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/bitops-bitwise-and.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/bitops-nsieve-bits.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/controlflow-recursive.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/crypto-aes.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/crypto-md5.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/crypto-sha1.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/date-format-tofte.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/date-format-xparb.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/math-cordic.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/math-partial-sums.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/math-spectral-norm.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/regexp-dna.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/string-base64.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/string-fasta.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/string-tagcloud.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/string-unpack-code.js: Removed.
        * SunSpider/tests/sunspider-0.9.1/string-validate-input.js: Removed.
        * SunSpider/tests/sunspider-0.9/3d-cube.js: Removed.
        * SunSpider/tests/sunspider-0.9/3d-morph.js: Removed.
        * SunSpider/tests/sunspider-0.9/3d-raytrace.js: Removed.
        * SunSpider/tests/sunspider-0.9/LIST: Removed.
        * SunSpider/tests/sunspider-0.9/access-binary-trees.js: Removed.
        * SunSpider/tests/sunspider-0.9/access-fannkuch.js: Removed.
        * SunSpider/tests/sunspider-0.9/access-nbody.js: Removed.
        * SunSpider/tests/sunspider-0.9/access-nsieve.js: Removed.
        * SunSpider/tests/sunspider-0.9/bitops-3bit-bits-in-byte.js: Removed.
        * SunSpider/tests/sunspider-0.9/bitops-bits-in-byte.js: Removed.
        * SunSpider/tests/sunspider-0.9/bitops-bitwise-and.js: Removed.
        * SunSpider/tests/sunspider-0.9/bitops-nsieve-bits.js: Removed.
        * SunSpider/tests/sunspider-0.9/controlflow-recursive.js: Removed.
        * SunSpider/tests/sunspider-0.9/crypto-aes.js: Removed.
        * SunSpider/tests/sunspider-0.9/crypto-md5.js: Removed.
        * SunSpider/tests/sunspider-0.9/crypto-sha1.js: Removed.
        * SunSpider/tests/sunspider-0.9/date-format-tofte.js: Removed.
        * SunSpider/tests/sunspider-0.9/date-format-xparb.js: Removed.
        * SunSpider/tests/sunspider-0.9/math-cordic.js: Removed.
        * SunSpider/tests/sunspider-0.9/math-partial-sums.js: Removed.
        * SunSpider/tests/sunspider-0.9/math-spectral-norm.js: Removed.
        * SunSpider/tests/sunspider-0.9/regexp-dna.js: Removed.
        * SunSpider/tests/sunspider-0.9/string-base64.js: Removed.
        * SunSpider/tests/sunspider-0.9/string-fasta.js: Removed.
        * SunSpider/tests/sunspider-0.9/string-tagcloud.js: Removed.
        * SunSpider/tests/sunspider-0.9/string-unpack-code.js: Removed.
        * SunSpider/tests/sunspider-0.9/string-validate-input.js: Removed.
        * SunSpider/tests/ubench: Removed.
        * SunSpider/tests/ubench/LIST: Removed.
        * SunSpider/tests/ubench/function-closure.js: Removed.
        * SunSpider/tests/ubench/function-correct-args.js: Removed.
        * SunSpider/tests/ubench/function-empty.js: Removed.
        * SunSpider/tests/ubench/function-excess-args.js: Removed.
        * SunSpider/tests/ubench/function-missing-args.js: Removed.
        * SunSpider/tests/ubench/function-sum.js: Removed.
        * SunSpider/tests/ubench/loop-empty-resolve.js: Removed.
        * SunSpider/tests/ubench/loop-empty.js: Removed.
        * SunSpider/tests/ubench/loop-sum.js: Removed.
        * SunSpider/tests/v8-v4: Removed.
        * SunSpider/tests/v8-v4/LIST: Removed.
        * SunSpider/tests/v8-v4/v8-crypto.js: Removed.
        * SunSpider/tests/v8-v4/v8-deltablue.js: Removed.
        * SunSpider/tests/v8-v4/v8-earley-boyer.js: Removed.
        * SunSpider/tests/v8-v4/v8-raytrace.js: Removed.
        * SunSpider/tests/v8-v4/v8-regexp.js: Removed.
        * SunSpider/tests/v8-v4/v8-richards.js: Removed.
        * SunSpider/tests/v8-v4/v8-splay.js: Removed.
        * SunSpider/tests/v8-v5: Removed.
        * SunSpider/tests/v8-v5/LIST: Removed.
        * SunSpider/tests/v8-v5/v8-crypto.js: Removed.
        * SunSpider/tests/v8-v5/v8-deltablue.js: Removed.
        * SunSpider/tests/v8-v5/v8-earley-boyer.js: Removed.
        * SunSpider/tests/v8-v5/v8-raytrace.js: Removed.
        * SunSpider/tests/v8-v5/v8-regexp.js: Removed.
        * SunSpider/tests/v8-v5/v8-richards.js: Removed.
        * SunSpider/tests/v8-v5/v8-splay.js: Removed.
        * SunSpider/tests/v8-v6: Removed.
        * SunSpider/tests/v8-v6/LIST: Removed.
        * SunSpider/tests/v8-v6/v8-crypto.js: Removed.
        * SunSpider/tests/v8-v6/v8-deltablue.js: Removed.
        * SunSpider/tests/v8-v6/v8-earley-boyer.js: Removed.
        * SunSpider/tests/v8-v6/v8-raytrace.js: Removed.
        * SunSpider/tests/v8-v6/v8-regexp.js: Removed.
        * SunSpider/tests/v8-v6/v8-richards.js: Removed.
        * SunSpider/tests/v8-v6/v8-splay.js: Removed.
        * SunSpider/xcopy.excludes: Removed.

2010-12-30  Konstantin Tokarev  <annulen@yandex.ru>

        Reviewed by David Kilzer.

        [Qt] Don't build wtf/TCSystemAlloc.cpp if --system-malloc option is
        used
        https://bugs.webkit.org/show_bug.cgi?id=51672

        * WebKit.pri: Replaced USE_SYSTEM_MALLOC with USE_SYSTEM_MALLOC=1

2010-12-29  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] minimal build fails at link time due to missing sqlite3 symbols
        https://bugs.webkit.org/show_bug.cgi?id=51327

        * configure.ac: Error out if SQLite3 wasn't found while at least
        one of the features depending on it has been enabled.

2010-12-29  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed. Use gcc as default preprocessor.

        * Sources/cmake/OptionsCommon.cmake:

2010-12-27  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by David Levin.

        [EFL] Change path of eflsymbols.filter
        https://bugs.webkit.org/show_bug.cgi?id=51659

        * Sources/cmake/OptionsEfl.cmake: 

2010-12-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Siedel.

        Move autotools into Sources
        https://bugs.webkit.org/show_bug.cgi?id=51630

        * .gitignore:
        * GNUmakefile.am:
        * Sources/autotools: Copied from autotools.
        * autogen.sh:
        * autotools: Removed.
        * autotools/acinclude.m4: Removed.
        * autotools/dolt.m4: Removed.
        * autotools/gsettings.m4: Removed.
        * autotools/symbols.filter: Removed.
        * autotools/webkit.m4: Removed.
        * configure.ac:

2010-12-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move cmake into Sources
        https://bugs.webkit.org/show_bug.cgi?id=51631

        * CMakeLists.txt:
        * Sources/cmake: Copied from cmake.
        * cmake: Removed.
        * cmake/FindCFLite.cmake: Removed.
        * cmake/FindCairo.cmake: Removed.
        * cmake/FindEFL.cmake: Removed.
        * cmake/FindFontconfig.cmake: Removed.
        * cmake/FindFreetype.cmake: Removed.
        * cmake/FindGDK-PixBuf.cmake: Removed.
        * cmake/FindGDK.cmake: Removed.
        * cmake/FindGIO.cmake: Removed.
        * cmake/FindGStreamer-App.cmake: Removed.
        * cmake/FindGStreamer-Base.cmake: Removed.
        * cmake/FindGStreamer-Interfaces.cmake: Removed.
        * cmake/FindGStreamer-Pbutils.cmake: Removed.
        * cmake/FindGStreamer-Plugins-Base.cmake: Removed.
        * cmake/FindGStreamer-Video.cmake: Removed.
        * cmake/FindGStreamer.cmake: Removed.
        * cmake/FindGlib.cmake: Removed.
        * cmake/FindGperf.cmake: Removed.
        * cmake/FindGthread.cmake: Removed.
        * cmake/FindICU.cmake: Removed.
        * cmake/FindLibSoup2.cmake: Removed.
        * cmake/FindLibXlst.cmake: Removed.
        * cmake/FindPango.cmake: Removed.
        * cmake/FindSqlite.cmake: Removed.
        * cmake/LibFindMacros.cmake: Removed.
        * cmake/OptionsCommon.cmake: Removed.
        * cmake/OptionsEfl.cmake: Removed.
        * cmake/OptionsWinCE.cmake: Removed.
        * cmake/OptionsWindows.cmake: Removed.
        * cmake/WebKitEfl.cmake: Removed.
        * cmake/WebKitFS.cmake: Removed.
        * cmake/WebKitFeatures.cmake: Removed.
        * cmake/WebKitHelpers.cmake: Removed.
        * cmake/WebKitMacros.cmake: Removed.
        * cmake/WebKitPackaging.cmake: Removed.
        * cmake/eflsymbols.filter: Removed.

2010-12-26  Adam Barth  <abarth@webkit.org>

        Fix some references to the old location of the WebKit website in git
        metadata files.

        * .gitattributes:

2010-12-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move ANGLE to Sources/ThirdParty
        https://bugs.webkit.org/show_bug.cgi?id=51605

        Actually move ANGLE and update the Makefile.

        * ANGLE: Removed.
        * ANGLE/ANGLE.xcodeproj: Removed.
        * ANGLE/ANGLE.xcodeproj/project.pbxproj: Removed.
        * ANGLE/Configurations: Removed.
        * ANGLE/Configurations/ANGLE.xcconfig: Removed.
        * ANGLE/Configurations/Base.xcconfig: Removed.
        * ANGLE/Configurations/DebugRelease.xcconfig: Removed.
        * ANGLE/Makefile: Removed.
        * ANGLE/include: Removed.
        * ANGLE/include/EGL: Removed.
        * ANGLE/include/EGL/egl.h: Removed.
        * ANGLE/include/EGL/eglext.h: Removed.
        * ANGLE/include/EGL/eglplatform.h: Removed.
        * ANGLE/include/GLES2: Removed.
        * ANGLE/include/GLES2/gl2.h: Removed.
        * ANGLE/include/GLES2/gl2ext.h: Removed.
        * ANGLE/include/GLES2/gl2platform.h: Removed.
        * ANGLE/include/GLSLANG: Removed.
        * ANGLE/include/GLSLANG/ShaderLang.h: Removed.
        * ANGLE/include/KHR: Removed.
        * ANGLE/include/KHR/khrplatform.h: Removed.
        * ANGLE/src: Removed.
        * ANGLE/src/build_angle.xcodeproj: Removed.
        * ANGLE/src/build_angle.xcodeproj/project.pbxproj: Removed.
        * ANGLE/src/common: Removed.
        * ANGLE/src/common/angleutils.h: Removed.
        * ANGLE/src/common/debug.cpp: Removed.
        * ANGLE/src/common/debug.h: Removed.
        * ANGLE/src/compiler: Removed.
        * ANGLE/src/compiler/BaseTypes.h: Removed.
        * ANGLE/src/compiler/CodeGenGLSL.cpp: Removed.
        * ANGLE/src/compiler/CodeGenHLSL.cpp: Removed.
        * ANGLE/src/compiler/Common.h: Removed.
        * ANGLE/src/compiler/ConstantUnion.h: Removed.
        * ANGLE/src/compiler/InfoSink.cpp: Removed.
        * ANGLE/src/compiler/InfoSink.h: Removed.
        * ANGLE/src/compiler/Initialize.cpp: Removed.
        * ANGLE/src/compiler/Initialize.h: Removed.
        * ANGLE/src/compiler/InitializeDll.cpp: Removed.
        * ANGLE/src/compiler/InitializeDll.h: Removed.
        * ANGLE/src/compiler/InitializeGlobals.h: Removed.
        * ANGLE/src/compiler/InitializeParseContext.h: Removed.
        * ANGLE/src/compiler/IntermTraverse.cpp: Removed.
        * ANGLE/src/compiler/Intermediate.cpp: Removed.
        * ANGLE/src/compiler/MMap.h: Removed.
        * ANGLE/src/compiler/OutputGLSL.cpp: Removed.
        * ANGLE/src/compiler/OutputGLSL.h: Removed.
        * ANGLE/src/compiler/OutputHLSL.cpp: Removed.
        * ANGLE/src/compiler/OutputHLSL.h: Removed.
        * ANGLE/src/compiler/ParseHelper.cpp: Removed.
        * ANGLE/src/compiler/ParseHelper.h: Removed.
        * ANGLE/src/compiler/PoolAlloc.cpp: Removed.
        * ANGLE/src/compiler/PoolAlloc.h: Removed.
        * ANGLE/src/compiler/QualifierAlive.cpp: Removed.
        * ANGLE/src/compiler/QualifierAlive.h: Removed.
        * ANGLE/src/compiler/RemoveTree.cpp: Removed.
        * ANGLE/src/compiler/RemoveTree.h: Removed.
        * ANGLE/src/compiler/ShHandle.h: Removed.
        * ANGLE/src/compiler/ShaderLang.cpp: Removed.
        * ANGLE/src/compiler/SymbolTable.cpp: Removed.
        * ANGLE/src/compiler/SymbolTable.h: Removed.
        * ANGLE/src/compiler/TranslatorGLSL.cpp: Removed.
        * ANGLE/src/compiler/TranslatorGLSL.h: Removed.
        * ANGLE/src/compiler/TranslatorHLSL.cpp: Removed.
        * ANGLE/src/compiler/TranslatorHLSL.h: Removed.
        * ANGLE/src/compiler/Types.h: Removed.
        * ANGLE/src/compiler/UnfoldSelect.cpp: Removed.
        * ANGLE/src/compiler/UnfoldSelect.h: Removed.
        * ANGLE/src/compiler/debug.cpp: Removed.
        * ANGLE/src/compiler/debug.h: Removed.
        * ANGLE/src/compiler/glslang.l: Removed.
        * ANGLE/src/compiler/glslang.y: Removed.
        * ANGLE/src/compiler/intermOut.cpp: Removed.
        * ANGLE/src/compiler/intermediate.h: Removed.
        * ANGLE/src/compiler/localintermediate.h: Removed.
        * ANGLE/src/compiler/osinclude.h: Removed.
        * ANGLE/src/compiler/ossource_posix.cpp: Removed.
        * ANGLE/src/compiler/ossource_win.cpp: Removed.
        * ANGLE/src/compiler/parseConst.cpp: Removed.
        * ANGLE/src/compiler/preprocessor: Removed.
        * ANGLE/src/compiler/preprocessor/atom.c: Removed.
        * ANGLE/src/compiler/preprocessor/atom.h: Removed.
        * ANGLE/src/compiler/preprocessor/compile.h: Removed.
        * ANGLE/src/compiler/preprocessor/cpp.c: Removed.
        * ANGLE/src/compiler/preprocessor/cpp.h: Removed.
        * ANGLE/src/compiler/preprocessor/cppstruct.c: Removed.
        * ANGLE/src/compiler/preprocessor/memory.c: Removed.
        * ANGLE/src/compiler/preprocessor/memory.h: Removed.
        * ANGLE/src/compiler/preprocessor/parser.h: Removed.
        * ANGLE/src/compiler/preprocessor/preprocess.h: Removed.
        * ANGLE/src/compiler/preprocessor/scanner.c: Removed.
        * ANGLE/src/compiler/preprocessor/scanner.h: Removed.
        * ANGLE/src/compiler/preprocessor/slglobals.h: Removed.
        * ANGLE/src/compiler/preprocessor/symbols.c: Removed.
        * ANGLE/src/compiler/preprocessor/symbols.h: Removed.
        * ANGLE/src/compiler/preprocessor/tokens.c: Removed.
        * ANGLE/src/compiler/preprocessor/tokens.h: Removed.
        * ANGLE/src/compiler/tools: Removed.
        * ANGLE/src/compiler/unistd.h: Removed.
        * ANGLE/src/libEGL: Removed.
        * ANGLE/src/libEGL/Config.cpp: Removed.
        * ANGLE/src/libEGL/Config.h: Removed.
        * ANGLE/src/libEGL/Display.cpp: Removed.
        * ANGLE/src/libEGL/Display.h: Removed.
        * ANGLE/src/libEGL/Surface.cpp: Removed.
        * ANGLE/src/libEGL/Surface.h: Removed.
        * ANGLE/src/libEGL/libEGL.cpp: Removed.
        * ANGLE/src/libEGL/libEGL.def: Removed.
        * ANGLE/src/libEGL/libEGL.vcproj: Removed.
        * ANGLE/src/libEGL/main.cpp: Removed.
        * ANGLE/src/libEGL/main.h: Removed.
        * ANGLE/src/libGLESv2: Removed.
        * ANGLE/src/libGLESv2/Blit.cpp: Removed.
        * ANGLE/src/libGLESv2/Blit.h: Removed.
        * ANGLE/src/libGLESv2/Buffer.cpp: Removed.
        * ANGLE/src/libGLESv2/Buffer.h: Removed.
        * ANGLE/src/libGLESv2/Context.cpp: Removed.
        * ANGLE/src/libGLESv2/Context.h: Removed.
        * ANGLE/src/libGLESv2/Framebuffer.cpp: Removed.
        * ANGLE/src/libGLESv2/Framebuffer.h: Removed.
        * ANGLE/src/libGLESv2/Program.cpp: Removed.
        * ANGLE/src/libGLESv2/Program.h: Removed.
        * ANGLE/src/libGLESv2/RefCountObject.cpp: Removed.
        * ANGLE/src/libGLESv2/RefCountObject.h: Removed.
        * ANGLE/src/libGLESv2/Renderbuffer.cpp: Removed.
        * ANGLE/src/libGLESv2/Renderbuffer.h: Removed.
        * ANGLE/src/libGLESv2/ResourceManager.cpp: Removed.
        * ANGLE/src/libGLESv2/ResourceManager.h: Removed.
        * ANGLE/src/libGLESv2/Shader.cpp: Removed.
        * ANGLE/src/libGLESv2/Shader.h: Removed.
        * ANGLE/src/libGLESv2/Texture.cpp: Removed.
        * ANGLE/src/libGLESv2/Texture.h: Removed.
        * ANGLE/src/libGLESv2/geometry: Removed.
        * ANGLE/src/libGLESv2/geometry/IndexDataManager.cpp: Removed.
        * ANGLE/src/libGLESv2/geometry/IndexDataManager.h: Removed.
        * ANGLE/src/libGLESv2/geometry/VertexDataManager.cpp: Removed.
        * ANGLE/src/libGLESv2/geometry/VertexDataManager.h: Removed.
        * ANGLE/src/libGLESv2/geometry/backend.cpp: Removed.
        * ANGLE/src/libGLESv2/geometry/backend.h: Removed.
        * ANGLE/src/libGLESv2/geometry/dx9.cpp: Removed.
        * ANGLE/src/libGLESv2/geometry/dx9.h: Removed.
        * ANGLE/src/libGLESv2/geometry/vertexconversion.h: Removed.
        * ANGLE/src/libGLESv2/libGLESv2.cpp: Removed.
        * ANGLE/src/libGLESv2/libGLESv2.def: Removed.
        * ANGLE/src/libGLESv2/libGLESv2.vcproj: Removed.
        * ANGLE/src/libGLESv2/main.cpp: Removed.
        * ANGLE/src/libGLESv2/main.h: Removed.
        * ANGLE/src/libGLESv2/mathutil.h: Removed.
        * ANGLE/src/libGLESv2/utilities.cpp: Removed.
        * ANGLE/src/libGLESv2/utilities.h: Removed.
        * Makefile:
        * Sources/ThirdParty: Added.
        * Sources/ThirdParty/ANGLE: Copied from ANGLE.

2010-12-26  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE buildfix after r74626.

        * cmake/OptionsWinCE.cmake:

2010-12-24  Darin Adler  <darin@apple.com>

        Updated makefiles used by Apple engineers to fix build with the
        new JavaScriptGlue location.

        * Makefile: Told this to build JavaScriptGlue. Some day we might
        want it to descend into Sources instead and use the Makefile there,
        but there are problems with sequencing the project builds, so that
        can wait.
        * Sources/Makefile.shared: Added.

2010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Add option to enable Touch Events.
        https://bugs.webkit.org/show_bug.cgi?id=49125

        Add ENABLE_TOUCH_EVENTS option.

        * cmake/OptionsEfl.cmake:
        * cmakeconfig.h.cmake:

2010-12-23  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move JavaScriptGlue into Sources
        https://bugs.webkit.org/show_bug.cgi?id=51583

        Actually perform the move.

        * JavaScriptGlue: Removed.
        * JavaScriptGlue/Configurations: Removed.
        * JavaScriptGlue/Configurations/Base.xcconfig: Removed.
        * JavaScriptGlue/Configurations/DebugRelease.xcconfig: Removed.
        * JavaScriptGlue/Configurations/JavaScriptGlue.xcconfig: Removed.
        * JavaScriptGlue/Configurations/Version.xcconfig: Removed.
        * JavaScriptGlue/English.lproj: Removed.
        * JavaScriptGlue/English.lproj/InfoPlist.strings: Removed.
        * JavaScriptGlue/ForwardingHeaders: Removed.
        * JavaScriptGlue/ForwardingHeaders/masm: Removed.
        * JavaScriptGlue/ForwardingHeaders/masm/X86Assembler.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/profiler: Removed.
        * JavaScriptGlue/ForwardingHeaders/profiler/Profiler.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/runtime: Removed.
        * JavaScriptGlue/ForwardingHeaders/runtime/CallFrame.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/ASCIICType.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/AlwaysInline.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Assertions.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Atomics.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Bitmap.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/CurrentTime.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/DateMath.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/FastAllocBase.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/FastMalloc.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/FixedArray.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Forward.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/HashCountedSet.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/HashFunctions.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/HashMap.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/HashSet.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/HashTraits.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/ListHashSet.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/ListRefPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Locker.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/MainThread.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/MathExtras.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Noncopyable.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/NotFound.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/OSAllocator.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/OwnArrayPtrCommon.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/OwnFastMallocPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/OwnPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PageAllocation.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PageBlock.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PageReservation.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PassRefPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Platform.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PossiblyNull.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/RandomNumber.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/RefCounted.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/RefPtr.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/StackBounds.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/StdLibExtras.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/StringHasher.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Threading.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/UnusedParam.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/VMTags.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/ValueCheck.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/Vector.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/VectorTraits.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/WTFThreadData.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/text: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/text/CString.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/text/StringHash.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/text/StringImpl.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/text/StringImplBase.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/text/TextPosition.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/text/WTFString.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/unicode: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/unicode/icu: Removed.
        * JavaScriptGlue/ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
        * JavaScriptGlue/Info.plist: Removed.
        * JavaScriptGlue/JSBase.cpp: Removed.
        * JavaScriptGlue/JSBase.h: Removed.
        * JavaScriptGlue/JSObject.cpp: Removed.
        * JavaScriptGlue/JSObject.h: Removed.
        * JavaScriptGlue/JSRun.cpp: Removed.
        * JavaScriptGlue/JSRun.h: Removed.
        * JavaScriptGlue/JSUtils.cpp: Removed.
        * JavaScriptGlue/JSUtils.h: Removed.
        * JavaScriptGlue/JSValueWrapper.cpp: Removed.
        * JavaScriptGlue/JSValueWrapper.h: Removed.
        * JavaScriptGlue/JavaScriptGlue.cpp: Removed.
        * JavaScriptGlue/JavaScriptGlue.exp: Removed.
        * JavaScriptGlue/JavaScriptGlue.h: Removed.
        * JavaScriptGlue/JavaScriptGlue.xcodeproj: Removed.
        * JavaScriptGlue/JavaScriptGlue.xcodeproj/project.pbxproj: Removed.
        * JavaScriptGlue/LICENSE: Removed.
        * JavaScriptGlue/Makefile: Removed.
        * JavaScriptGlue/UserObjectImp.cpp: Removed.
        * JavaScriptGlue/UserObjectImp.h: Removed.
        * JavaScriptGlue/config.h: Removed.
        * JavaScriptGlue/icu: Removed.
        * JavaScriptGlue/icu/LICENSE: Removed.
        * JavaScriptGlue/icu/README: Removed.
        * JavaScriptGlue/icu/unicode: Removed.
        * JavaScriptGlue/icu/unicode/platform.h: Removed.
        * JavaScriptGlue/icu/unicode/putil.h: Removed.
        * JavaScriptGlue/icu/unicode/uchar.h: Removed.
        * JavaScriptGlue/icu/unicode/ucnv.h: Removed.
        * JavaScriptGlue/icu/unicode/ucnv_err.h: Removed.
        * JavaScriptGlue/icu/unicode/uconfig.h: Removed.
        * JavaScriptGlue/icu/unicode/uenum.h: Removed.
        * JavaScriptGlue/icu/unicode/uiter.h: Removed.
        * JavaScriptGlue/icu/unicode/umachine.h: Removed.
        * JavaScriptGlue/icu/unicode/urename.h: Removed.
        * JavaScriptGlue/icu/unicode/ustring.h: Removed.
        * JavaScriptGlue/icu/unicode/utf.h: Removed.
        * JavaScriptGlue/icu/unicode/utf16.h: Removed.
        * JavaScriptGlue/icu/unicode/utf8.h: Removed.
        * JavaScriptGlue/icu/unicode/utf_old.h: Removed.
        * JavaScriptGlue/icu/unicode/utypes.h: Removed.
        * JavaScriptGlue/icu/unicode/uversion.h: Removed.
        * JavaScriptGlue/testjsglue.cpp: Removed.
        * Makefile:
        * Sources: Added.
        * Sources/JavaScriptGlue: Copied from JavaScriptGlue.
        * Sources/Makefile: Added.

2010-12-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Fix ContextMenu removal
        https://bugs.webkit.org/show_bug.cgi?id=51530

        Fix ContextMenu removal

        In r74207 the support for ContextMenu was removed from EFL while the
        code is being ported to the new CROSS_PLATFORM_MENUS due to build
        breakage.  However there were some missing removals in the shutdown
        logic that introduced a bug, leading to a segmentation fault when
        ContexController was destroyed.

        The best way to effectively disable the ContextMenu is to conditionally
        compile the meaningful stuff by surrounding with "#if
        ENABLE(CONTEXT_MENUS)" and then disabling it in CMake.

        * cmake/OptionsEfl.cmake: Disable ContextMenu and don't pretend we
        implement CROSS_PLATFORM_MENUS yet.

2010-12-22  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        * configure.ac: bump version to 1.3.9.

2010-12-22  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Compilation fixes with GTK+ 2.91.7
        https://bugs.webkit.org/show_bug.cgi?id=51487

        * configure.ac: depend on GTK+ 2.91.7 when using GTK+ 3.x.

2010-12-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Sets default user agent
        https://bugs.webkit.org/show_bug.cgi?id=47903

        Add macros for WebKit EFL and User Agent.

        * cmake/OptionsEfl.cmake:
        * cmakeconfig.h.cmake:

2010-12-20  Adam Barth  <abarth@webkit.org>

        Move web sites to Websites directory
        https://bugs.webkit.org/show_bug.cgi?id=51323

        This patch was never officially reviewed (because it was too large to
        upload to bugs.webkit.org), but it was discussed on webkit-dev and Mark
        Rowe gave me the green light.

        * BugsSite: Removed.
        * BugsSite/.cvsignore: Removed.
        * BugsSite/.htaccess: Removed.
        * BugsSite/Bugzilla: Removed.
        * BugsSite/Bugzilla.pm: Removed.
        * BugsSite/Bugzilla/.cvsignore: Removed.
        * BugsSite/Bugzilla/.htaccess: Removed.
        * BugsSite/Bugzilla/Attachment: Removed.
        * BugsSite/Bugzilla/Attachment.pm: Removed.
        * BugsSite/Bugzilla/Attachment/PatchReader.pm: Removed.
        * BugsSite/Bugzilla/Auth: Removed.
        * BugsSite/Bugzilla/Auth.pm: Removed.
        * BugsSite/Bugzilla/Auth/Login: Removed.
        * BugsSite/Bugzilla/Auth/Login.pm: Removed.
        * BugsSite/Bugzilla/Auth/Login/CGI.pm: Removed.
        * BugsSite/Bugzilla/Auth/Login/Cookie.pm: Removed.
        * BugsSite/Bugzilla/Auth/Login/Env.pm: Removed.
        * BugsSite/Bugzilla/Auth/Login/Stack.pm: Removed.
        * BugsSite/Bugzilla/Auth/Login/WWW: Removed.
        * BugsSite/Bugzilla/Auth/Login/WWW/CGI: Removed.
        * BugsSite/Bugzilla/Auth/Persist: Removed.
        * BugsSite/Bugzilla/Auth/Persist/Cookie.pm: Removed.
        * BugsSite/Bugzilla/Auth/Verify: Removed.
        * BugsSite/Bugzilla/Auth/Verify.pm: Removed.
        * BugsSite/Bugzilla/Auth/Verify/DB.pm: Removed.
        * BugsSite/Bugzilla/Auth/Verify/LDAP.pm: Removed.
        * BugsSite/Bugzilla/Auth/Verify/RADIUS.pm: Removed.
        * BugsSite/Bugzilla/Auth/Verify/Stack.pm: Removed.
        * BugsSite/Bugzilla/Bug.pm: Removed.
        * BugsSite/Bugzilla/BugMail.pm: Removed.
        * BugsSite/Bugzilla/CGI.pm: Removed.
        * BugsSite/Bugzilla/Chart.pm: Removed.
        * BugsSite/Bugzilla/Classification.pm: Removed.
        * BugsSite/Bugzilla/Component.pm: Removed.
        * BugsSite/Bugzilla/Config: Removed.
        * BugsSite/Bugzilla/Config.pm: Removed.
        * BugsSite/Bugzilla/Config/Admin.pm: Removed.
        * BugsSite/Bugzilla/Config/Attachment.pm: Removed.
        * BugsSite/Bugzilla/Config/Auth.pm: Removed.
        * BugsSite/Bugzilla/Config/BugChange.pm: Removed.
        * BugsSite/Bugzilla/Config/BugFields.pm: Removed.
        * BugsSite/Bugzilla/Config/BugMove.pm: Removed.
        * BugsSite/Bugzilla/Config/Common.pm: Removed.
        * BugsSite/Bugzilla/Config/Core.pm: Removed.
        * BugsSite/Bugzilla/Config/DependencyGraph.pm: Removed.
        * BugsSite/Bugzilla/Config/GroupSecurity.pm: Removed.
        * BugsSite/Bugzilla/Config/LDAP.pm: Removed.
        * BugsSite/Bugzilla/Config/MTA.pm: Removed.
        * BugsSite/Bugzilla/Config/PatchViewer.pm: Removed.
        * BugsSite/Bugzilla/Config/Query.pm: Removed.
        * BugsSite/Bugzilla/Config/RADIUS.pm: Removed.
        * BugsSite/Bugzilla/Config/ShadowDB.pm: Removed.
        * BugsSite/Bugzilla/Config/UserMatch.pm: Removed.
        * BugsSite/Bugzilla/Constants.pm: Removed.
        * BugsSite/Bugzilla/DB: Removed.
        * BugsSite/Bugzilla/DB.pm: Removed.
        * BugsSite/Bugzilla/DB/Mysql.pm: Removed.
        * BugsSite/Bugzilla/DB/Oracle.pm: Removed.
        * BugsSite/Bugzilla/DB/Pg.pm: Removed.
        * BugsSite/Bugzilla/DB/Schema: Removed.
        * BugsSite/Bugzilla/DB/Schema.pm: Removed.
        * BugsSite/Bugzilla/DB/Schema/Mysql.pm: Removed.
        * BugsSite/Bugzilla/DB/Schema/Oracle.pm: Removed.
        * BugsSite/Bugzilla/DB/Schema/Pg.pm: Removed.
        * BugsSite/Bugzilla/Error.pm: Removed.
        * BugsSite/Bugzilla/Field.pm: Removed.
        * BugsSite/Bugzilla/Flag.pm: Removed.
        * BugsSite/Bugzilla/FlagType.pm: Removed.
        * BugsSite/Bugzilla/Group.pm: Removed.
        * BugsSite/Bugzilla/Hook.pm: Removed.
        * BugsSite/Bugzilla/Install: Removed.
        * BugsSite/Bugzilla/Install.pm: Removed.
        * BugsSite/Bugzilla/Install/CPAN.pm: Removed.
        * BugsSite/Bugzilla/Install/DB.pm: Removed.
        * BugsSite/Bugzilla/Install/Filesystem.pm: Removed.
        * BugsSite/Bugzilla/Install/Localconfig.pm: Removed.
        * BugsSite/Bugzilla/Install/Requirements.pm: Removed.
        * BugsSite/Bugzilla/Install/Util.pm: Removed.
        * BugsSite/Bugzilla/Keyword.pm: Removed.
        * BugsSite/Bugzilla/Mailer.pm: Removed.
        * BugsSite/Bugzilla/Milestone.pm: Removed.
        * BugsSite/Bugzilla/Object.pm: Removed.
        * BugsSite/Bugzilla/Product.pm: Removed.
        * BugsSite/Bugzilla/Search: Removed.
        * BugsSite/Bugzilla/Search.pm: Removed.
        * BugsSite/Bugzilla/Search/Quicksearch.pm: Removed.
        * BugsSite/Bugzilla/Search/Saved.pm: Removed.
        * BugsSite/Bugzilla/Series.pm: Removed.
        * BugsSite/Bugzilla/Status.pm: Removed.
        * BugsSite/Bugzilla/Template: Removed.
        * BugsSite/Bugzilla/Template.pm: Removed.
        * BugsSite/Bugzilla/Template/Parser.pm: Removed.
        * BugsSite/Bugzilla/Template/Plugin: Removed.
        * BugsSite/Bugzilla/Template/Plugin/Bugzilla.pm: Removed.
        * BugsSite/Bugzilla/Template/Plugin/Hook.pm: Removed.
        * BugsSite/Bugzilla/Template/Plugin/User.pm: Removed.
        * BugsSite/Bugzilla/Token.pm: Removed.
        * BugsSite/Bugzilla/Update.pm: Removed.
        * BugsSite/Bugzilla/User: Removed.
        * BugsSite/Bugzilla/User.pm: Removed.
        * BugsSite/Bugzilla/User/Setting: Removed.
        * BugsSite/Bugzilla/User/Setting.pm: Removed.
        * BugsSite/Bugzilla/User/Setting/Lang.pm: Removed.
        * BugsSite/Bugzilla/User/Setting/Skin.pm: Removed.
        * BugsSite/Bugzilla/Util.pm: Removed.
        * BugsSite/Bugzilla/Version.pm: Removed.
        * BugsSite/Bugzilla/WebService: Removed.
        * BugsSite/Bugzilla/WebService.pm: Removed.
        * BugsSite/Bugzilla/WebService/Bug.pm: Removed.
        * BugsSite/Bugzilla/WebService/Bugzilla.pm: Removed.
        * BugsSite/Bugzilla/WebService/Constants.pm: Removed.
        * BugsSite/Bugzilla/WebService/Product.pm: Removed.
        * BugsSite/Bugzilla/WebService/User.pm: Removed.
        * BugsSite/PrettyPatch: Removed.
        * BugsSite/PrettyPatch/PrettyPatch.rb: Removed.
        * BugsSite/PrettyPatch/diff.rb: Removed.
        * BugsSite/PrettyPatch/prettify.rb: Removed.
        * BugsSite/QUICKSTART: Removed.
        * BugsSite/README: Removed.
        * BugsSite/UPGRADING: Removed.
        * BugsSite/UPGRADING-pre-2.8: Removed.
        * BugsSite/admin.cgi: Removed.
        * BugsSite/attachment.cgi: Removed.
        * BugsSite/buglist.cgi: Removed.
        * BugsSite/bugzilla.dtd: Removed.
        * BugsSite/chart.cgi: Removed.
        * BugsSite/checksetup.pl: Removed.
        * BugsSite/code-review.js: Removed.
        * BugsSite/colchange.cgi: Removed.
        * BugsSite/collectstats.pl: Removed.
        * BugsSite/committers-autocomplete.js: Removed.
        * BugsSite/config.cgi: Removed.
        * BugsSite/contrib: Removed.
        * BugsSite/contrib/README: Removed.
        * BugsSite/contrib/bugzilla-submit: Removed.
        * BugsSite/contrib/bugzilla-submit/README: Removed.
        * BugsSite/contrib/bugzilla-submit/bugdata.txt: Removed.
        * BugsSite/contrib/bugzilla-submit/bugzilla-submit: Removed.
        * BugsSite/contrib/bugzilla-submit/bugzilla-submit.xml: Removed.
        * BugsSite/contrib/bugzilla_ldapsync.rb: Removed.
        * BugsSite/contrib/bz_webservice_demo.pl: Removed.
        * BugsSite/contrib/bzdbcopy.pl: Removed.
        * BugsSite/contrib/cmdline: Removed.
        * BugsSite/contrib/cmdline/bugcount: Removed.
        * BugsSite/contrib/cmdline/bugids: Removed.
        * BugsSite/contrib/cmdline/buglist: Removed.
        * BugsSite/contrib/cmdline/bugs: Removed.
        * BugsSite/contrib/cmdline/bugslink: Removed.
        * BugsSite/contrib/cmdline/makequery: Removed.
        * BugsSite/contrib/cmdline/query.conf: Removed.
        * BugsSite/contrib/cvs-update.pl: Removed.
        * BugsSite/contrib/gnats2bz.pl: Removed.
        * BugsSite/contrib/gnatsparse: Removed.
        * BugsSite/contrib/gnatsparse/README: Removed.
        * BugsSite/contrib/gnatsparse/gnatsparse.py: Removed.
        * BugsSite/contrib/gnatsparse/magic.py: Removed.
        * BugsSite/contrib/gnatsparse/specialuu.py: Removed.
        * BugsSite/contrib/jb2bz.py: Removed.
        * BugsSite/contrib/merge-users.pl: Removed.
        * BugsSite/contrib/mysqld-watcher.pl: Removed.
        * BugsSite/contrib/recode-overrides.txt: Removed.
        * BugsSite/contrib/recode.pl: Removed.
        * BugsSite/contrib/sendbugmail.pl: Removed.
        * BugsSite/contrib/sendunsentbugmail.pl: Removed.
        * BugsSite/contrib/syncLDAP.pl: Removed.
        * BugsSite/contrib/yp_nomail.sh: Removed.
        * BugsSite/createaccount.cgi: Removed.
        * BugsSite/data: Removed.
        * BugsSite/data/.htaccess: Removed.
        * BugsSite/data/attachments: Removed.
        * BugsSite/data/attachments/.htaccess: Removed.
        * BugsSite/data/duplicates: Removed.
        * BugsSite/data/mail: Removed.
        * BugsSite/data/mimedump-tmp: Removed.
        * BugsSite/data/mining: Removed.
        * BugsSite/data/params: Removed.
        * BugsSite/data/template: Removed.
        * BugsSite/data/webdot: Removed.
        * BugsSite/data/webdot/.htaccess: Removed.
        * BugsSite/describecomponents.cgi: Removed.
        * BugsSite/describekeywords.cgi: Removed.
        * BugsSite/docs: Removed.
        * BugsSite/docs/en: Removed.
        * BugsSite/docs/en/.cvsignore: Removed.
        * BugsSite/docs/en/README.docs: Removed.
        * BugsSite/docs/en/images: Removed.
        * BugsSite/docs/en/images/bzLifecycle.png: Removed.
        * BugsSite/docs/en/images/bzLifecycle.xml: Removed.
        * BugsSite/docs/en/images/callouts: Removed.
        * BugsSite/docs/en/images/callouts/1.gif: Removed.
        * BugsSite/docs/en/images/callouts/2.gif: Removed.
        * BugsSite/docs/en/images/callouts/3.gif: Removed.
        * BugsSite/docs/en/images/caution.gif: Removed.
        * BugsSite/docs/en/images/note.gif: Removed.
        * BugsSite/docs/en/images/tip.gif: Removed.
        * BugsSite/docs/en/images/warning.gif: Removed.
        * BugsSite/docs/en/rel_notes.txt: Removed.
        * BugsSite/docs/en/xml: Removed.
        * BugsSite/docs/en/xml/.cvsignore: Removed.
        * BugsSite/docs/en/xml/Bugzilla-Guide.xml: Removed.
        * BugsSite/docs/en/xml/about.xml: Removed.
        * BugsSite/docs/en/xml/administration.xml: Removed.
        * BugsSite/docs/en/xml/conventions.xml: Removed.
        * BugsSite/docs/en/xml/customization.xml: Removed.
        * BugsSite/docs/en/xml/gfdl.xml: Removed.
        * BugsSite/docs/en/xml/glossary.xml: Removed.
        * BugsSite/docs/en/xml/index.xml: Removed.
        * BugsSite/docs/en/xml/installation.xml: Removed.
        * BugsSite/docs/en/xml/integration.xml: Removed.
        * BugsSite/docs/en/xml/introduction.xml: Removed.
        * BugsSite/docs/en/xml/modules.xml: Removed.
        * BugsSite/docs/en/xml/patches.xml: Removed.
        * BugsSite/docs/en/xml/requiredsoftware.xml: Removed.
        * BugsSite/docs/en/xml/security.xml: Removed.
        * BugsSite/docs/en/xml/troubleshooting.xml: Removed.
        * BugsSite/docs/en/xml/using.xml: Removed.
        * BugsSite/docs/html: Removed.
        * BugsSite/docs/html/api: Removed.
        * BugsSite/docs/images: Removed.
        * BugsSite/docs/images/callouts: Removed.
        * BugsSite/docs/lib: Removed.
        * BugsSite/docs/lib/Pod: Removed.
        * BugsSite/docs/lib/Pod/Simple: Removed.
        * BugsSite/docs/lib/Pod/Simple/HTML: Removed.
        * BugsSite/docs/lib/Pod/Simple/HTML/Bugzilla.pm: Removed.
        * BugsSite/docs/lib/Pod/Simple/HTMLBatch: Removed.
        * BugsSite/docs/lib/Pod/Simple/HTMLBatch/Bugzilla.pm: Removed.
        * BugsSite/docs/makedocs.pl: Removed.
        * BugsSite/docs/pdf: Removed.
        * BugsSite/docs/style.css: Removed.
        * BugsSite/docs/txt: Removed.
        * BugsSite/docs/xml: Removed.
        * BugsSite/duplicates.cgi: Removed.
        * BugsSite/editclassifications.cgi: Removed.
        * BugsSite/editcomponents.cgi: Removed.
        * BugsSite/editfields.cgi: Removed.
        * BugsSite/editflagtypes.cgi: Removed.
        * BugsSite/editgroups.cgi: Removed.
        * BugsSite/editkeywords.cgi: Removed.
        * BugsSite/editmilestones.cgi: Removed.
        * BugsSite/editparams.cgi: Removed.
        * BugsSite/editproducts.cgi: Removed.
        * BugsSite/editsettings.cgi: Removed.
        * BugsSite/editusers.cgi: Removed.
        * BugsSite/editvalues.cgi: Removed.
        * BugsSite/editversions.cgi: Removed.
        * BugsSite/editwhines.cgi: Removed.
        * BugsSite/editworkflow.cgi: Removed.
        * BugsSite/email_in.pl: Removed.
        * BugsSite/enter_bug.cgi: Removed.
        * BugsSite/extensions: Removed.
        * BugsSite/extensions/example: Removed.
        * BugsSite/extensions/example/code: Removed.
        * BugsSite/extensions/example/code/bug-end_of_update.pl: Removed.
        * BugsSite/extensions/example/code/buglist-columns.pl: Removed.
        * BugsSite/extensions/example/code/colchange-columns.pl: Removed.
        * BugsSite/extensions/example/code/config.pl: Removed.
        * BugsSite/extensions/example/code/flag-end_of_update.pl: Removed.
        * BugsSite/extensions/example/code/install-before_final_checks.pl: Removed.
        * BugsSite/extensions/example/code/product-confirm_delete.pl: Removed.
        * BugsSite/extensions/example/code/webservice-error_codes.pl: Removed.
        * BugsSite/extensions/example/code/webservice.pl: Removed.
        * BugsSite/extensions/example/disabled: Removed.
        * BugsSite/extensions/example/info.pl: Removed.
        * BugsSite/extensions/example/lib: Removed.
        * BugsSite/extensions/example/lib/ConfigExample.pm: Removed.
        * BugsSite/extensions/example/lib/WSExample.pm: Removed.
        * BugsSite/extensions/example/template: Removed.
        * BugsSite/extensions/example/template/en: Removed.
        * BugsSite/extensions/example/template/en/default: Removed.
        * BugsSite/extensions/example/template/en/default/admin: Removed.
        * BugsSite/extensions/example/template/en/default/admin/params: Removed.
        * BugsSite/extensions/example/template/en/default/admin/params/example.html.tmpl: Removed.
        * BugsSite/extensions/example/template/en/global: Removed.
        * BugsSite/extensions/example/template/en/global/user-error-errors.html.tmpl: Removed.
        * BugsSite/graphs: Removed.
        * BugsSite/images: Removed.
        * BugsSite/images/favicon.ico: Removed.
        * BugsSite/images/padlock.png: Removed.
        * BugsSite/importxml.pl: Removed.
        * BugsSite/index.cgi: Removed.
        * BugsSite/install-module.pl: Removed.
        * BugsSite/js: Removed.
        * BugsSite/js/TUI.js: Removed.
        * BugsSite/js/attachment.js: Removed.
        * BugsSite/js/expanding-tree.js: Removed.
        * BugsSite/js/field.js: Removed.
        * BugsSite/js/help.js: Removed.
        * BugsSite/js/params.js: Removed.
        * BugsSite/js/productform.js: Removed.
        * BugsSite/js/util.js: Removed.
        * BugsSite/js/yui: Removed.
        * BugsSite/js/yui/calendar.js: Removed.
        * BugsSite/js/yui/yahoo-dom-event.js: Removed.
        * BugsSite/lib: Removed.
        * BugsSite/lib/.htaccess: Removed.
        * BugsSite/lib/README: Removed.
        * BugsSite/long_list.cgi: Removed.
        * BugsSite/mod_perl.pl: Removed.
        * BugsSite/page.cgi: Removed.
        * BugsSite/post_bug.cgi: Removed.
        * BugsSite/process_bug.cgi: Removed.
        * BugsSite/query.cgi: Removed.
        * BugsSite/quips.cgi: Removed.
        * BugsSite/relogin.cgi: Removed.
        * BugsSite/report.cgi: Removed.
        * BugsSite/reports.cgi: Removed.
        * BugsSite/request.cgi: Removed.
        * BugsSite/robots.txt: Removed.
        * BugsSite/runtests.pl: Removed.
        * BugsSite/sanitycheck.cgi: Removed.
        * BugsSite/sanitycheck.pl: Removed.
        * BugsSite/search_plugin.cgi: Removed.
        * BugsSite/show_activity.cgi: Removed.
        * BugsSite/show_bug.cgi: Removed.
        * BugsSite/showattachment.cgi: Removed.
        * BugsSite/showdependencygraph.cgi: Removed.
        * BugsSite/showdependencytree.cgi: Removed.
        * BugsSite/sidebar.cgi: Removed.
        * BugsSite/skins: Removed.
        * BugsSite/skins/.cvsignore: Removed.
        * BugsSite/skins/contrib: Removed.
        * BugsSite/skins/contrib/Dusk: Removed.
        * BugsSite/skins/contrib/Dusk/.cvsignore: Removed.
        * BugsSite/skins/contrib/Dusk/IE-fixes.css: Removed.
        * BugsSite/skins/contrib/Dusk/admin.css: Removed.
        * BugsSite/skins/contrib/Dusk/buglist.css: Removed.
        * BugsSite/skins/contrib/Dusk/create_attachment.css: Removed.
        * BugsSite/skins/contrib/Dusk/dependency-tree.css: Removed.
        * BugsSite/skins/contrib/Dusk/duplicates.css: Removed.
        * BugsSite/skins/contrib/Dusk/editusers.css: Removed.
        * BugsSite/skins/contrib/Dusk/global.css: Removed.
        * BugsSite/skins/contrib/Dusk/help.css: Removed.
        * BugsSite/skins/contrib/Dusk/index.css: Removed.
        * BugsSite/skins/contrib/Dusk/panel.css: Removed.
        * BugsSite/skins/contrib/Dusk/params.css: Removed.
        * BugsSite/skins/contrib/Dusk/release-notes.css: Removed.
        * BugsSite/skins/contrib/Dusk/show_bug.css: Removed.
        * BugsSite/skins/contrib/Dusk/show_multiple.css: Removed.
        * BugsSite/skins/contrib/Dusk/summarize-time.css: Removed.
        * BugsSite/skins/contrib/Dusk/voting.css: Removed.
        * BugsSite/skins/contrib/Dusk/yui: Removed.
        * BugsSite/skins/contrib/Dusk/yui/calendar.css: Removed.
        * BugsSite/skins/custom: Removed.
        * BugsSite/skins/custom/IE-fixes.css: Removed.
        * BugsSite/skins/custom/admin.css: Removed.
        * BugsSite/skins/custom/buglist.css: Removed.
        * BugsSite/skins/custom/create_attachment.css: Removed.
        * BugsSite/skins/custom/dependency-tree.css: Removed.
        * BugsSite/skins/custom/duplicates.css: Removed.
        * BugsSite/skins/custom/editusers.css: Removed.
        * BugsSite/skins/custom/global.css: Removed.
        * BugsSite/skins/custom/help.css: Removed.
        * BugsSite/skins/custom/index.css: Removed.
        * BugsSite/skins/custom/opendarwin.gif: Removed.
        * BugsSite/skins/custom/panel.css: Removed.
        * BugsSite/skins/custom/params.css: Removed.
        * BugsSite/skins/custom/release-notes.css: Removed.
        * BugsSite/skins/custom/show_bug.css: Removed.
        * BugsSite/skins/custom/show_multiple.css: Removed.
        * BugsSite/skins/custom/summarize-time.css: Removed.
        * BugsSite/skins/custom/voting.css: Removed.
        * BugsSite/skins/custom/yui: Removed.
        * BugsSite/skins/custom/yui/calendar.css: Removed.
        * BugsSite/skins/standard: Removed.
        * BugsSite/skins/standard/IE-fixes.css: Removed.
        * BugsSite/skins/standard/admin.css: Removed.
        * BugsSite/skins/standard/buglist.css: Removed.
        * BugsSite/skins/standard/create_attachment.css: Removed.
        * BugsSite/skins/standard/dependency-tree: Removed.
        * BugsSite/skins/standard/dependency-tree.css: Removed.
        * BugsSite/skins/standard/dependency-tree/bug-item.png: Removed.
        * BugsSite/skins/standard/dependency-tree/tree-closed.png: Removed.
        * BugsSite/skins/standard/dependency-tree/tree-open.png: Removed.
        * BugsSite/skins/standard/dependency-tree/tree.png: Removed.
        * BugsSite/skins/standard/duplicates.css: Removed.
        * BugsSite/skins/standard/editusers.css: Removed.
        * BugsSite/skins/standard/global: Removed.
        * BugsSite/skins/standard/global.css: Removed.
        * BugsSite/skins/standard/global/body-back.gif: Removed.
        * BugsSite/skins/standard/global/calendar.png: Removed.
        * BugsSite/skins/standard/global/header.png: Removed.
        * BugsSite/skins/standard/help.css: Removed.
        * BugsSite/skins/standard/index: Removed.
        * BugsSite/skins/standard/index.css: Removed.
        * BugsSite/skins/standard/index/front.png: Removed.
        * BugsSite/skins/standard/panel.css: Removed.
        * BugsSite/skins/standard/params.css: Removed.
        * BugsSite/skins/standard/release-notes.css: Removed.
        * BugsSite/skins/standard/show_bug.css: Removed.
        * BugsSite/skins/standard/show_multiple.css: Removed.
        * BugsSite/skins/standard/summarize-time.css: Removed.
        * BugsSite/skins/standard/voting.css: Removed.
        * BugsSite/skins/standard/yui: Removed.
        * BugsSite/skins/standard/yui/calendar.css: Removed.
        * BugsSite/skins/standard/yui/sprite.png: Removed.
        * BugsSite/summarize_time.cgi: Removed.
        * BugsSite/t: Removed.
        * BugsSite/t/001compile.t: Removed.
        * BugsSite/t/002goodperl.t: Removed.
        * BugsSite/t/003safesys.t: Removed.
        * BugsSite/t/004template.t: Removed.
        * BugsSite/t/005no_tabs.t: Removed.
        * BugsSite/t/006spellcheck.t: Removed.
        * BugsSite/t/007util.t: Removed.
        * BugsSite/t/008filter.t: Removed.
        * BugsSite/t/009bugwords.t: Removed.
        * BugsSite/t/010dependencies.t: Removed.
        * BugsSite/t/011pod.t: Removed.
        * BugsSite/t/012throwables.t: Removed.
        * BugsSite/t/Support: Removed.
        * BugsSite/t/Support/Files.pm: Removed.
        * BugsSite/t/Support/Systemexec.pm: Removed.
        * BugsSite/t/Support/Templates.pm: Removed.
        * BugsSite/template: Removed.
        * BugsSite/template/.cvsignore: Removed.
        * BugsSite/template/.htaccess: Removed.
        * BugsSite/template/en: Removed.
        * BugsSite/template/en/.cvsignore: Removed.
        * BugsSite/template/en/custom: Removed.
        * BugsSite/template/en/custom/account: Removed.
        * BugsSite/template/en/custom/account/auth: Removed.
        * BugsSite/template/en/custom/account/email: Removed.
        * BugsSite/template/en/custom/account/password: Removed.
        * BugsSite/template/en/custom/account/prefs: Removed.
        * BugsSite/template/en/custom/admin: Removed.
        * BugsSite/template/en/custom/admin/classifications: Removed.
        * BugsSite/template/en/custom/admin/components: Removed.
        * BugsSite/template/en/custom/admin/fieldvalues: Removed.
        * BugsSite/template/en/custom/admin/flag-type: Removed.
        * BugsSite/template/en/custom/admin/groups: Removed.
        * BugsSite/template/en/custom/admin/keywords: Removed.
        * BugsSite/template/en/custom/admin/milestones: Removed.
        * BugsSite/template/en/custom/admin/products: Removed.
        * BugsSite/template/en/custom/admin/products/groupcontrol: Removed.
        * BugsSite/template/en/custom/admin/settings: Removed.
        * BugsSite/template/en/custom/admin/users: Removed.
        * BugsSite/template/en/custom/admin/versions: Removed.
        * BugsSite/template/en/custom/attachment: Removed.
        * BugsSite/template/en/custom/attachment/content-types.html.tmpl: Removed.
        * BugsSite/template/en/custom/attachment/create.html.tmpl: Removed.
        * BugsSite/template/en/custom/attachment/created.html.tmpl: Removed.
        * BugsSite/template/en/custom/attachment/edit.html.tmpl: Removed.
        * BugsSite/template/en/custom/attachment/list.html.tmpl: Removed.
        * BugsSite/template/en/custom/attachment/review.html.tmpl: Removed.
        * BugsSite/template/en/custom/attachment/reviewform.html.tmpl: Removed.
        * BugsSite/template/en/custom/attachment/rietveldreview.html.tmpl: Removed.
        * BugsSite/template/en/custom/bug: Removed.
        * BugsSite/template/en/custom/bug/activity: Removed.
        * BugsSite/template/en/custom/bug/create: Removed.
        * BugsSite/template/en/custom/bug/edit.html.tmpl: Removed.
        * BugsSite/template/en/custom/bug/navigate.html.tmpl: Removed.
        * BugsSite/template/en/custom/bug/process: Removed.
        * BugsSite/template/en/custom/bug/votes: Removed.
        * BugsSite/template/en/custom/flag: Removed.
        * BugsSite/template/en/custom/flag/list.html.tmpl: Removed.
        * BugsSite/template/en/custom/global: Removed.
        * BugsSite/template/en/custom/global/choose-product.html.tmpl: Removed.
        * BugsSite/template/en/custom/global/header.html.tmpl: Removed.
        * BugsSite/template/en/custom/list: Removed.
        * BugsSite/template/en/custom/list/list.html.tmpl: Removed.
        * BugsSite/template/en/custom/pages: Removed.
        * BugsSite/template/en/custom/reports: Removed.
        * BugsSite/template/en/custom/request: Removed.
        * BugsSite/template/en/custom/request/email.txt.tmpl: Removed.
        * BugsSite/template/en/custom/request/queue.html.tmpl: Removed.
        * BugsSite/template/en/custom/search: Removed.
        * BugsSite/template/en/custom/whine: Removed.
        * BugsSite/template/en/default: Removed.
        * BugsSite/template/en/default/account: Removed.
        * BugsSite/template/en/default/account/auth: Removed.
        * BugsSite/template/en/default/account/auth/login-small.html.tmpl: Removed.
        * BugsSite/template/en/default/account/auth/login.html.tmpl: Removed.
        * BugsSite/template/en/default/account/cancel-token.txt.tmpl: Removed.
        * BugsSite/template/en/default/account/create.html.tmpl: Removed.
        * BugsSite/template/en/default/account/created.html.tmpl: Removed.
        * BugsSite/template/en/default/account/email: Removed.
        * BugsSite/template/en/default/account/email/change-new.txt.tmpl: Removed.
        * BugsSite/template/en/default/account/email/change-old.txt.tmpl: Removed.
        * BugsSite/template/en/default/account/email/confirm-new.html.tmpl: Removed.
        * BugsSite/template/en/default/account/email/confirm.html.tmpl: Removed.
        * BugsSite/template/en/default/account/email/request-new.txt.tmpl: Removed.
        * BugsSite/template/en/default/account/password: Removed.
        * BugsSite/template/en/default/account/password/forgotten-password.txt.tmpl: Removed.
        * BugsSite/template/en/default/account/password/set-forgotten-password.html.tmpl: Removed.
        * BugsSite/template/en/default/account/prefs: Removed.
        * BugsSite/template/en/default/account/prefs/account.html.tmpl: Removed.
        * BugsSite/template/en/default/account/prefs/email.html.tmpl: Removed.
        * BugsSite/template/en/default/account/prefs/permissions.html.tmpl: Removed.
        * BugsSite/template/en/default/account/prefs/prefs.html.tmpl: Removed.
        * BugsSite/template/en/default/account/prefs/saved-searches.html.tmpl: Removed.
        * BugsSite/template/en/default/account/prefs/settings.html.tmpl: Removed.
        * BugsSite/template/en/default/account/profile-activity.html.tmpl: Removed.
        * BugsSite/template/en/default/admin: Removed.
        * BugsSite/template/en/default/admin/admin.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/classifications: Removed.
        * BugsSite/template/en/default/admin/classifications/add.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/classifications/del.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/classifications/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/classifications/reclassify.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/classifications/select.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/components: Removed.
        * BugsSite/template/en/default/admin/components/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/components/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/components/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/components/footer.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/components/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/components/select-product.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/confirm-action.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/custom_fields: Removed.
        * BugsSite/template/en/default/admin/custom_fields/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/custom_fields/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/custom_fields/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/custom_fields/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/fieldvalues: Removed.
        * BugsSite/template/en/default/admin/fieldvalues/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/fieldvalues/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/fieldvalues/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/fieldvalues/footer.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/fieldvalues/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/fieldvalues/select-field.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/flag-type: Removed.
        * BugsSite/template/en/default/admin/flag-type/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/flag-type/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/flag-type/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/groups: Removed.
        * BugsSite/template/en/default/admin/groups/confirm-remove.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/groups/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/groups/delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/groups/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/groups/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/keywords: Removed.
        * BugsSite/template/en/default/admin/keywords/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/keywords/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/keywords/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/keywords/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/milestones: Removed.
        * BugsSite/template/en/default/admin/milestones/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/milestones/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/milestones/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/milestones/footer.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/milestones/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/milestones/select-product.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params: Removed.
        * BugsSite/template/en/default/admin/params/admin.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/attachment.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/auth.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/bugchange.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/bugfields.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/bugmove.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/common.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/core.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/dependencygraph.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/editparams.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/groupsecurity.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/index.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/ldap.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/mta.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/patchviewer.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/query.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/radius.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/shadowdb.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/params/usermatch.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products: Removed.
        * BugsSite/template/en/default/admin/products/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/edit-common.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/footer.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/groupcontrol: Removed.
        * BugsSite/template/en/default/admin/products/groupcontrol/confirm-edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/groupcontrol/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/groupcontrol/updated.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/list-classifications.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/products/updated.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/sanitycheck: Removed.
        * BugsSite/template/en/default/admin/sanitycheck/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/sanitycheck/messages.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/settings: Removed.
        * BugsSite/template/en/default/admin/settings/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/sudo.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/table.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users: Removed.
        * BugsSite/template/en/default/admin/users/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users/listselectvars.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users/responsibilities.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users/search.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/users/userdata.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/versions: Removed.
        * BugsSite/template/en/default/admin/versions/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/versions/create.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/versions/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/versions/footer.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/versions/list.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/versions/select-product.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/workflow: Removed.
        * BugsSite/template/en/default/admin/workflow/comment.html.tmpl: Removed.
        * BugsSite/template/en/default/admin/workflow/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment: Removed.
        * BugsSite/template/en/default/attachment/cancel-create-dupe.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/choose.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/confirm-delete.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/content-types.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/create.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/created.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/createformcontents.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/delete_reason.txt.tmpl: Removed.
        * BugsSite/template/en/default/attachment/diff-file.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/diff-footer.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/diff-header.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/list.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/midair.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/show-multiple.html.tmpl: Removed.
        * BugsSite/template/en/default/attachment/updated.html.tmpl: Removed.
        * BugsSite/template/en/default/bug: Removed.
        * BugsSite/template/en/default/bug/activity: Removed.
        * BugsSite/template/en/default/bug/activity/show.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/activity/table.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/choose.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/comments.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/create: Removed.
        * BugsSite/template/en/default/bug/create/comment-guided.txt.tmpl: Removed.
        * BugsSite/template/en/default/bug/create/comment.txt.tmpl: Removed.
        * BugsSite/template/en/default/bug/create/confirm-create-dupe.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/create/create-guided.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/create/create.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/create/created.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/create/make-template.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/create/user-message.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/dependency-graph.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/dependency-tree.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/edit.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/field.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/knob.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/navigate.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/process: Removed.
        * BugsSite/template/en/default/bug/process/bugmail.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/process/confirm-duplicate.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/process/header.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/process/midair.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/process/results.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/process/verify-new-product.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/show-multiple.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/show.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/show.xml.tmpl: Removed.
        * BugsSite/template/en/default/bug/summarize-time.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/time.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/votes: Removed.
        * BugsSite/template/en/default/bug/votes/delete-all.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/votes/list-for-bug.html.tmpl: Removed.
        * BugsSite/template/en/default/bug/votes/list-for-user.html.tmpl: Removed.
        * BugsSite/template/en/default/config.js.tmpl: Removed.
        * BugsSite/template/en/default/config.rdf.tmpl: Removed.
        * BugsSite/template/en/default/email: Removed.
        * BugsSite/template/en/default/email/newchangedmail.txt.tmpl: Removed.
        * BugsSite/template/en/default/email/sanitycheck.txt.tmpl: Removed.
        * BugsSite/template/en/default/email/sudo.txt.tmpl: Removed.
        * BugsSite/template/en/default/email/votes-removed.txt.tmpl: Removed.
        * BugsSite/template/en/default/email/whine.txt.tmpl: Removed.
        * BugsSite/template/en/default/filterexceptions.pl: Removed.
        * BugsSite/template/en/default/flag: Removed.
        * BugsSite/template/en/default/flag/list.html.tmpl: Removed.
        * BugsSite/template/en/default/global: Removed.
        * BugsSite/template/en/default/global/banner.html.tmpl: Removed.
        * BugsSite/template/en/default/global/choose-classification.html.tmpl: Removed.
        * BugsSite/template/en/default/global/choose-product.html.tmpl: Removed.
        * BugsSite/template/en/default/global/code-error.html.tmpl: Removed.
        * BugsSite/template/en/default/global/common-links.html.tmpl: Removed.
        * BugsSite/template/en/default/global/confirm-action.html.tmpl: Removed.
        * BugsSite/template/en/default/global/confirm-user-match.html.tmpl: Removed.
        * BugsSite/template/en/default/global/docslinks.html.tmpl: Removed.
        * BugsSite/template/en/default/global/field-descs.none.tmpl: Removed.
        * BugsSite/template/en/default/global/footer.html.tmpl: Removed.
        * BugsSite/template/en/default/global/header.html.tmpl: Removed.
        * BugsSite/template/en/default/global/help.html.tmpl: Removed.
        * BugsSite/template/en/default/global/hidden-fields.html.tmpl: Removed.
        * BugsSite/template/en/default/global/initialize.none.tmpl: Removed.
        * BugsSite/template/en/default/global/js-products.html.tmpl: Removed.
        * BugsSite/template/en/default/global/message.html.tmpl: Removed.
        * BugsSite/template/en/default/global/message.txt.tmpl: Removed.
        * BugsSite/template/en/default/global/messages.html.tmpl: Removed.
        * BugsSite/template/en/default/global/per-bug-queries.html.tmpl: Removed.
        * BugsSite/template/en/default/global/select-menu.html.tmpl: Removed.
        * BugsSite/template/en/default/global/setting-descs.none.tmpl: Removed.
        * BugsSite/template/en/default/global/site-navigation.html.tmpl: Removed.
        * BugsSite/template/en/default/global/tabs.html.tmpl: Removed.
        * BugsSite/template/en/default/global/textarea.html.tmpl: Removed.
        * BugsSite/template/en/default/global/useful-links.html.tmpl: Removed.
        * BugsSite/template/en/default/global/user-error.html.tmpl: Removed.
        * BugsSite/template/en/default/global/userselect.html.tmpl: Removed.
        * BugsSite/template/en/default/global/variables.none.tmpl: Removed.
        * BugsSite/template/en/default/index.html.tmpl: Removed.
        * BugsSite/template/en/default/list: Removed.
        * BugsSite/template/en/default/list/change-columns.html.tmpl: Removed.
        * BugsSite/template/en/default/list/edit-multiple.html.tmpl: Removed.
        * BugsSite/template/en/default/list/list-simple.html.tmpl: Removed.
        * BugsSite/template/en/default/list/list.atom.tmpl: Removed.
        * BugsSite/template/en/default/list/list.csv.tmpl: Removed.
        * BugsSite/template/en/default/list/list.html.tmpl: Removed.
        * BugsSite/template/en/default/list/list.ics.tmpl: Removed.
        * BugsSite/template/en/default/list/list.js.tmpl: Removed.
        * BugsSite/template/en/default/list/list.rdf.tmpl: Removed.
        * BugsSite/template/en/default/list/quips.html.tmpl: Removed.
        * BugsSite/template/en/default/list/server-push.html.tmpl: Removed.
        * BugsSite/template/en/default/list/table.html.tmpl: Removed.
        * BugsSite/template/en/default/pages: Removed.
        * BugsSite/template/en/default/pages/bug-writing.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/fields.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/linked.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/linkify.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/quicksearch.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/quicksearchhack.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/release-notes.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/sudo.html.tmpl: Removed.
        * BugsSite/template/en/default/pages/voting.html.tmpl: Removed.
        * BugsSite/template/en/default/reports: Removed.
        * BugsSite/template/en/default/reports/chart.csv.tmpl: Removed.
        * BugsSite/template/en/default/reports/chart.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/chart.png.tmpl: Removed.
        * BugsSite/template/en/default/reports/components.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/create-chart.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/duplicates-simple.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/duplicates-table.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/duplicates.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/edit-series.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/keywords.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/menu.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/old-charts.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/report-bar.png.tmpl: Removed.
        * BugsSite/template/en/default/reports/report-line.png.tmpl: Removed.
        * BugsSite/template/en/default/reports/report-pie.png.tmpl: Removed.
        * BugsSite/template/en/default/reports/report-simple.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/report-table.csv.tmpl: Removed.
        * BugsSite/template/en/default/reports/report-table.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/report.csv.tmpl: Removed.
        * BugsSite/template/en/default/reports/report.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/series-common.html.tmpl: Removed.
        * BugsSite/template/en/default/reports/series.html.tmpl: Removed.
        * BugsSite/template/en/default/request: Removed.
        * BugsSite/template/en/default/request/email.txt.tmpl: Removed.
        * BugsSite/template/en/default/request/queue.html.tmpl: Removed.
        * BugsSite/template/en/default/search: Removed.
        * BugsSite/template/en/default/search/boolean-charts.html.tmpl: Removed.
        * BugsSite/template/en/default/search/form.html.tmpl: Removed.
        * BugsSite/template/en/default/search/knob.html.tmpl: Removed.
        * BugsSite/template/en/default/search/search-advanced.html.tmpl: Removed.
        * BugsSite/template/en/default/search/search-create-series.html.tmpl: Removed.
        * BugsSite/template/en/default/search/search-help.html.tmpl: Removed.
        * BugsSite/template/en/default/search/search-plugin.xml.tmpl: Removed.
        * BugsSite/template/en/default/search/search-report-graph.html.tmpl: Removed.
        * BugsSite/template/en/default/search/search-report-select.html.tmpl: Removed.
        * BugsSite/template/en/default/search/search-report-table.html.tmpl: Removed.
        * BugsSite/template/en/default/search/search-specific.html.tmpl: Removed.
        * BugsSite/template/en/default/search/tabs.html.tmpl: Removed.
        * BugsSite/template/en/default/setup: Removed.
        * BugsSite/template/en/default/setup/strings.txt.pl: Removed.
        * BugsSite/template/en/default/sidebar.xul.tmpl: Removed.
        * BugsSite/template/en/default/welcome-admin.html.tmpl: Removed.
        * BugsSite/template/en/default/whine: Removed.
        * BugsSite/template/en/default/whine/mail.html.tmpl: Removed.
        * BugsSite/template/en/default/whine/mail.txt.tmpl: Removed.
        * BugsSite/template/en/default/whine/multipart-mime.txt.tmpl: Removed.
        * BugsSite/template/en/default/whine/schedule.html.tmpl: Removed.
        * BugsSite/template/en/extension: Removed.
        * BugsSite/template/en/extension/filterexceptions.pl: Removed.
        * BugsSite/testagent.cgi: Removed.
        * BugsSite/testserver.pl: Removed.
        * BugsSite/token.cgi: Removed.
        * BugsSite/userprefs.cgi: Removed.
        * BugsSite/votes.cgi: Removed.
        * BugsSite/whine.pl: Removed.
        * BugsSite/whineatnews.pl: Removed.
        * BugsSite/xml.cgi: Removed.
        * BugsSite/xmlrpc.cgi: Removed.
        * PlanetWebKit: Removed.
        * PlanetWebKit/README: Removed.
        * PlanetWebKit/config.ini: Removed.
        * PlanetWebKit/planet: Removed.
        * PlanetWebKit/planet/AUTHORS: Removed.
        * PlanetWebKit/planet/INSTALL: Removed.
        * PlanetWebKit/planet/LICENCE: Removed.
        * PlanetWebKit/planet/NEWS: Removed.
        * PlanetWebKit/planet/PKG-INFO: Removed.
        * PlanetWebKit/planet/README: Removed.
        * PlanetWebKit/planet/THANKS: Removed.
        * PlanetWebKit/planet/TODO: Removed.
        * PlanetWebKit/planet/examples: Removed.
        * PlanetWebKit/planet/examples/atom.xml.tmpl: Removed.
        * PlanetWebKit/planet/examples/basic: Removed.
        * PlanetWebKit/planet/examples/basic/config.ini: Removed.
        * PlanetWebKit/planet/examples/basic/index.html.tmpl: Removed.
        * PlanetWebKit/planet/examples/fancy: Removed.
        * PlanetWebKit/planet/examples/fancy/config.ini: Removed.
        * PlanetWebKit/planet/examples/fancy/index.html.tmpl: Removed.
        * PlanetWebKit/planet/examples/foafroll.xml.tmpl: Removed.
        * PlanetWebKit/planet/examples/opml.xml.tmpl: Removed.
        * PlanetWebKit/planet/examples/output: Removed.
        * PlanetWebKit/planet/examples/output/images: Removed.
        * PlanetWebKit/planet/examples/output/images/edd.png: Removed.
        * PlanetWebKit/planet/examples/output/images/evolution.png: Removed.
        * PlanetWebKit/planet/examples/output/images/feed-icon-10x10.png: Removed.
        * PlanetWebKit/planet/examples/output/images/jdub.png: Removed.
        * PlanetWebKit/planet/examples/output/images/keybuk.png: Removed.
        * PlanetWebKit/planet/examples/output/images/logo.png: Removed.
        * PlanetWebKit/planet/examples/output/images/opml.png: Removed.
        * PlanetWebKit/planet/examples/output/images/planet.png: Removed.
        * PlanetWebKit/planet/examples/output/images/thom.png: Removed.
        * PlanetWebKit/planet/examples/output/planet.css: Removed.
        * PlanetWebKit/planet/examples/rss10.xml.tmpl: Removed.
        * PlanetWebKit/planet/examples/rss20.xml.tmpl: Removed.
        * PlanetWebKit/planet/planet: Removed.
        * PlanetWebKit/planet/planet-cache.py: Removed.
        * PlanetWebKit/planet/planet.py: Removed.
        * PlanetWebKit/planet/planet/__init__.py: Removed.
        * PlanetWebKit/planet/planet/atomstyler.py: Removed.
        * PlanetWebKit/planet/planet/cache.py: Removed.
        * PlanetWebKit/planet/planet/compat_logging: Removed.
        * PlanetWebKit/planet/planet/compat_logging/__init__.py: Removed.
        * PlanetWebKit/planet/planet/compat_logging/config.py: Removed.
        * PlanetWebKit/planet/planet/compat_logging/handlers.py: Removed.
        * PlanetWebKit/planet/planet/feedparser.py: Removed.
        * PlanetWebKit/planet/planet/htmltmpl.py: Removed.
        * PlanetWebKit/planet/planet/sanitize.py: Removed.
        * PlanetWebKit/planet/planet/tests: Removed.
        * PlanetWebKit/planet/planet/tests/__init__.py: Removed.
        * PlanetWebKit/planet/planet/tests/data: Removed.
        * PlanetWebKit/planet/planet/tests/data/simple.tmpl: Removed.
        * PlanetWebKit/planet/planet/tests/data/simple2.tmpl: Removed.
        * PlanetWebKit/planet/planet/tests/test_channel.py: Removed.
        * PlanetWebKit/planet/planet/tests/test_main.py: Removed.
        * PlanetWebKit/planet/planet/tests/test_sanitize.py: Removed.
        * PlanetWebKit/planet/planet/tests/test_sub.py: Removed.
        * PlanetWebKit/planet/planet/timeoutsocket.py: Removed.
        * PlanetWebKit/planet/runtests.py: Removed.
        * PlanetWebKit/planet/setup.py: Removed.
        * PlanetWebKit/templates: Removed.
        * PlanetWebKit/templates/atom.xml.tmpl: Removed.
        * PlanetWebKit/templates/foafroll.xml.tmpl: Removed.
        * PlanetWebKit/templates/index.html.tmpl: Removed.
        * PlanetWebKit/templates/opml.xml.tmpl: Removed.
        * PlanetWebKit/templates/rss10.xml.tmpl: Removed.
        * PlanetWebKit/templates/rss20.xml.tmpl: Removed.
        * PlanetWebKit/update.pl: Removed.
        * PlanetWebKit/wwwroot: Removed.
        * PlanetWebKit/wwwroot/ie.css: Removed.
        * PlanetWebKit/wwwroot/images: Removed.
        * PlanetWebKit/wwwroot/images/feed-icon-10x10.png: Removed.
        * PlanetWebKit/wwwroot/images/ie-nav-blue.png: Removed.
        * PlanetWebKit/wwwroot/images/planet-webkit.png: Removed.
        * PlanetWebKit/wwwroot/images/planet.png: Removed.
        * PlanetWebKit/wwwroot/planet.css: Removed.
        * PlanetWebKit/wwwroot/planetwebkit.css: Removed.
        * Sites: Added.
        * Sites/bugs.webkit.org: Copied from BugsSite.
        * Sites/planet.webkit.org: Copied from PlanetWebKit.
        * Sites/webkit.org: Copied from WebKitSite.
        * WebKitSite: Removed.
        * WebKitSite/.htaccess: Removed.
        * WebKitSite/asking_questions.html: Removed.
        * WebKitSite/blog: Removed.
        * WebKitSite/blog-files: Removed.
        * WebKitSite/blog-files/3d-transforms: Removed.
        * WebKitSite/blog-files/3d-transforms/image-flip.html: Removed.
        * WebKitSite/blog-files/3d-transforms/mighty-cubes.png: Removed.
        * WebKitSite/blog-files/3d-transforms/morphing-cubes.html: Removed.
        * WebKitSite/blog-files/3d-transforms/perspective-by-example.html: Removed.
        * WebKitSite/blog-files/3d-transforms/poster-circle.html: Removed.
        * WebKitSite/blog-files/3d-transforms/poster-circle.png: Removed.
        * WebKitSite/blog-files/3d-transforms/transform-style.html: Removed.
        * WebKitSite/blog-files/InspectElementMenu.png: Removed.
        * WebKitSite/blog-files/InspectorCSSEditing.png: Removed.
        * WebKitSite/blog-files/InspectorDatabaseBrowser.png: Removed.
        * WebKitSite/blog-files/InspectorFonts.png: Removed.
        * WebKitSite/blog-files/acid3-100.png: Removed.
        * WebKitSite/blog-files/acid3-full-rendering-pass.png: Removed.
        * WebKitSite/blog-files/acid3-rendering-reference.png: Removed.
        * WebKitSite/blog-files/acid3-screenshot.png: Removed.
        * WebKitSite/blog-files/acid3-timing-screenshot.png: Removed.
        * WebKitSite/blog-files/acid3-timing.png: Removed.
        * WebKitSite/blog-files/animation-demo.svg: Removed.
        * WebKitSite/blog-files/bounce.html: Removed.
        * WebKitSite/blog-files/bounce.png: Removed.
        * WebKitSite/blog-files/circle.svg: Removed.
        * WebKitSite/blog-files/cubes-7.svg: Removed.
        * WebKitSite/blog-files/gebcnspeedtest.html: Removed.
        * WebKitSite/blog-files/gebcnwebkitonly.png: Removed.
        * WebKitSite/blog-files/inspector: Removed.
        * WebKitSite/blog-files/inspector-closure-scope.png: Removed.
        * WebKitSite/blog-files/inspector-console-autocomplete.png: Removed.
        * WebKitSite/blog-files/inspector-databases-panel-query-view.png: Removed.
        * WebKitSite/blog-files/inspector-databases-panel.png: Removed.
        * WebKitSite/blog-files/inspector-disabling-properties.png: Removed.
        * WebKitSite/blog-files/inspector-elements-panel.png: Removed.
        * WebKitSite/blog-files/inspector-event-scope.png: Removed.
        * WebKitSite/blog-files/inspector-numeric-style-stepping.gif: Removed.
        * WebKitSite/blog-files/inspector-profiles-panel.png: Removed.
        * WebKitSite/blog-files/inspector-resources-panel.png: Removed.
        * WebKitSite/blog-files/inspector-scripts-panel.png: Removed.
        * WebKitSite/blog-files/inspector-searching-elements.png: Removed.
        * WebKitSite/blog-files/inspector-searching-profiles.png: Removed.
        * WebKitSite/blog-files/inspector-status-bar-with-errors.png: Removed.
        * WebKitSite/blog-files/inspector-toolbar.png: Removed.
        * WebKitSite/blog-files/inspector-with-scope.png: Removed.
        * WebKitSite/blog-files/inspector/audits_launcher.png: Removed.
        * WebKitSite/blog-files/inspector/audits_panel.png: Removed.
        * WebKitSite/blog-files/inspector/breakpoints.png: Removed.
        * WebKitSite/blog-files/inspector/colors.png: Removed.
        * WebKitSite/blog-files/inspector/console_panel.png: Removed.
        * WebKitSite/blog-files/inspector/context_menu.png: Removed.
        * WebKitSite/blog-files/inspector/cookies.png: Removed.
        * WebKitSite/blog-files/inspector/css_highlighted_line.png: Removed.
        * WebKitSite/blog-files/inspector/css_line_number_snippet.png: Removed.
        * WebKitSite/blog-files/inspector/css_line_numbers.png: Removed.
        * WebKitSite/blog-files/inspector/css_selectors.png: Removed.
        * WebKitSite/blog-files/inspector/css_syntax_highlight.png: Removed.
        * WebKitSite/blog-files/inspector/deactivate_breakpoints.png: Removed.
        * WebKitSite/blog-files/inspector/dom_storage.png: Removed.
        * WebKitSite/blog-files/inspector/edit_attributes.png: Removed.
        * WebKitSite/blog-files/inspector/enable.png: Removed.
        * WebKitSite/blog-files/inspector/evaluate_on_hover.png: Removed.
        * WebKitSite/blog-files/inspector/evaluate_on_hover_2.png: Removed.
        * WebKitSite/blog-files/inspector/event_listeners.png: Removed.
        * WebKitSite/blog-files/inspector/form_data.png: Removed.
        * WebKitSite/blog-files/inspector/inherited_styles.png: Removed.
        * WebKitSite/blog-files/inspector/inline_highlight.png: Removed.
        * WebKitSite/blog-files/inspector/inorder.png: Removed.
        * WebKitSite/blog-files/inspector/inspect_inspector.png: Removed.
        * WebKitSite/blog-files/inspector/inspect_inspector_small.png: Removed.
        * WebKitSite/blog-files/inspector/large_dom.png: Removed.
        * WebKitSite/blog-files/inspector/large_resources.png: Removed.
        * WebKitSite/blog-files/inspector/load_lines.png: Removed.
        * WebKitSite/blog-files/inspector/nodelist.png: Removed.
        * WebKitSite/blog-files/inspector/pseudo_elements.png: Removed.
        * WebKitSite/blog-files/inspector/redirect_headers.png: Removed.
        * WebKitSite/blog-files/inspector/redirect_headers_full.png: Removed.
        * WebKitSite/blog-files/inspector/redirects.png: Removed.
        * WebKitSite/blog-files/inspector/redirects_full.png: Removed.
        * WebKitSite/blog-files/inspector/scope_bar.png: Removed.
        * WebKitSite/blog-files/inspector/timeline_overview.png: Removed.
        * WebKitSite/blog-files/inspector/timeline_panel.png: Removed.
        * WebKitSite/blog-files/inspector/timeline_record_details.png: Removed.
        * WebKitSite/blog-files/inspector/watched_expression.png: Removed.
        * WebKitSite/blog-files/kate-circle.png: Removed.
        * WebKitSite/blog-files/kate-gradient-rounded.png: Removed.
        * WebKitSite/blog-files/kate-gradient.png: Removed.
        * WebKitSite/blog-files/kate-reflected.png: Removed.
        * WebKitSite/blog-files/kate-vignette-mask.png: Removed.
        * WebKitSite/blog-files/kate.png: Removed.
        * WebKitSite/blog-files/leaves: Removed.
        * WebKitSite/blog-files/leaves-screenshot-small.jpg: Removed.
        * WebKitSite/blog-files/leaves-screenshot.jpg: Removed.
        * WebKitSite/blog-files/leaves/images: Removed.
        * WebKitSite/blog-files/leaves/images/apple-touch-icon.png: Removed.
        * WebKitSite/blog-files/leaves/images/backgroundLeaves.jpg: Removed.
        * WebKitSite/blog-files/leaves/images/realLeaf1.png: Removed.
        * WebKitSite/blog-files/leaves/images/realLeaf2.png: Removed.
        * WebKitSite/blog-files/leaves/images/realLeaf3.png: Removed.
        * WebKitSite/blog-files/leaves/images/realLeaf4.png: Removed.
        * WebKitSite/blog-files/leaves/images/textBackground.png: Removed.
        * WebKitSite/blog-files/leaves/index.html: Removed.
        * WebKitSite/blog-files/leaves/leaves.css: Removed.
        * WebKitSite/blog-files/leaves/leaves.js: Removed.
        * WebKitSite/blog-files/load-unload-example.html: Removed.
        * WebKitSite/blog-files/loader-diagram.svg: Removed.
        * WebKitSite/blog-files/maskspeedracer.png: Removed.
        * WebKitSite/blog-files/number-morph.svg: Removed.
        * WebKitSite/blog-files/pageshow-pagehide-example.html: Removed.
        * WebKitSite/blog-files/prototype-for-gebcn-test.js: Removed.
        * WebKitSite/blog-files/pulse.html: Removed.
        * WebKitSite/blog-files/pulse.png: Removed.
        * WebKitSite/blog-files/riemann-screenshot.png: Removed.
        * WebKitSite/blog-files/scrollbarpicture.png: Removed.
        * WebKitSite/blog-files/sfx-perf.png: Removed.
        * WebKitSite/blog-files/squirrelfish-link-animated.svg: Removed.
        * WebKitSite/blog-files/squirrelfish-webkit-graph.png: Removed.
        * WebKitSite/blog-files/squirrelfish.png: Removed.
        * WebKitSite/blog-files/timeline-blocking-script.png: Removed.
        * WebKitSite/blog-files/timeline-defer-script.png: Removed.
        * WebKitSite/blog-files/touch-poster.png: Removed.
        * WebKitSite/blog-files/vignette-mask.png: Removed.
        * WebKitSite/blog-files/webgl: Removed.
        * WebKitSite/blog-files/webgl/Earth.html: Removed.
        * WebKitSite/blog-files/webgl/ManyPlanetsDeep.html: Removed.
        * WebKitSite/blog-files/webgl/SpinningBox.html: Removed.
        * WebKitSite/blog-files/webgl/SpiritBox.html: Removed.
        * WebKitSite/blog-files/webgl/TeapotPerPixel.html: Removed.
        * WebKitSite/blog-files/webgl/TeapotPerVertex.html: Removed.
        * WebKitSite/blog-files/webgl/WebGL+CSS.html: Removed.
        * WebKitSite/blog-files/webgl/resources: Removed.
        * WebKitSite/blog-files/webgl/resources/BambooBridge.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/EarthThumb.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/J3DI.js: Removed.
        * WebKitSite/blog-files/webgl/resources/J3DIMath.js: Removed.
        * WebKitSite/blog-files/webgl/resources/ManyPlanetsDeepThumb.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/SpinningBoxThumb.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/SpiritBox.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/TeapotPerPixelThumb.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/TeapotPerVertexThumb.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/WebGL+CSSThumb.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/blogpost.css: Removed.
        * WebKitSite/blog-files/webgl/resources/earthmap1k.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/mars500x250.png: Removed.
        * WebKitSite/blog-files/webgl/resources/spirit.jpg: Removed.
        * WebKitSite/blog-files/webgl/resources/teapot.obj: Removed.
        * WebKitSite/blog-files/wsj-nopreload.png: Removed.
        * WebKitSite/blog-files/wsj-preload.png: Removed.
        * WebKitSite/blog-files/wsj-vs.png: Removed.
        * WebKitSite/blog/.htaccess: Removed.
        * WebKitSite/blog/index.php: Removed.
        * WebKitSite/blog/license.txt: Removed.
        * WebKitSite/blog/wp-admin: Removed.
        * WebKitSite/blog/wp-admin/admin-ajax.php: Removed.
        * WebKitSite/blog/wp-admin/admin-footer.php: Removed.
        * WebKitSite/blog/wp-admin/admin-functions.php: Removed.
        * WebKitSite/blog/wp-admin/admin-header.php: Removed.
        * WebKitSite/blog/wp-admin/admin-post.php: Removed.
        * WebKitSite/blog/wp-admin/admin.php: Removed.
        * WebKitSite/blog/wp-admin/async-upload.php: Removed.
        * WebKitSite/blog/wp-admin/categories.php: Removed.
        * WebKitSite/blog/wp-admin/comment.php: Removed.
        * WebKitSite/blog/wp-admin/css: Removed.
        * WebKitSite/blog/wp-admin/css/colors-classic-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/colors-classic.css: Removed.
        * WebKitSite/blog/wp-admin/css/colors-fresh-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/colors-fresh.css: Removed.
        * WebKitSite/blog/wp-admin/css/dashboard-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/dashboard.css: Removed.
        * WebKitSite/blog/wp-admin/css/farbtastic-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/farbtastic.css: Removed.
        * WebKitSite/blog/wp-admin/css/global-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/global.css: Removed.
        * WebKitSite/blog/wp-admin/css/ie-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/ie.css: Removed.
        * WebKitSite/blog/wp-admin/css/install-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/install.css: Removed.
        * WebKitSite/blog/wp-admin/css/login-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/login.css: Removed.
        * WebKitSite/blog/wp-admin/css/media-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/media.css: Removed.
        * WebKitSite/blog/wp-admin/css/plugin-install-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/plugin-install.css: Removed.
        * WebKitSite/blog/wp-admin/css/press-this-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/press-this.css: Removed.
        * WebKitSite/blog/wp-admin/css/theme-editor-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/theme-editor.css: Removed.
        * WebKitSite/blog/wp-admin/css/theme-install.css: Removed.
        * WebKitSite/blog/wp-admin/css/widgets-rtl.css: Removed.
        * WebKitSite/blog/wp-admin/css/widgets.css: Removed.
        * WebKitSite/blog/wp-admin/custom-header.php: Removed.
        * WebKitSite/blog/wp-admin/edit-attachment-rows.php: Removed.
        * WebKitSite/blog/wp-admin/edit-category-form.php: Removed.
        * WebKitSite/blog/wp-admin/edit-comments.php: Removed.
        * WebKitSite/blog/wp-admin/edit-form-advanced.php: Removed.
        * WebKitSite/blog/wp-admin/edit-form-comment.php: Removed.
        * WebKitSite/blog/wp-admin/edit-link-categories.php: Removed.
        * WebKitSite/blog/wp-admin/edit-link-category-form.php: Removed.
        * WebKitSite/blog/wp-admin/edit-link-form.php: Removed.
        * WebKitSite/blog/wp-admin/edit-page-form.php: Removed.
        * WebKitSite/blog/wp-admin/edit-pages.php: Removed.
        * WebKitSite/blog/wp-admin/edit-post-rows.php: Removed.
        * WebKitSite/blog/wp-admin/edit-tag-form.php: Removed.
        * WebKitSite/blog/wp-admin/edit-tags.php: Removed.
        * WebKitSite/blog/wp-admin/edit.php: Removed.
        * WebKitSite/blog/wp-admin/export.php: Removed.
        * WebKitSite/blog/wp-admin/gears-manifest.php: Removed.
        * WebKitSite/blog/wp-admin/images: Removed.
        * WebKitSite/blog/wp-admin/images/align-center.png: Removed.
        * WebKitSite/blog/wp-admin/images/align-left.png: Removed.
        * WebKitSite/blog/wp-admin/images/align-none.png: Removed.
        * WebKitSite/blog/wp-admin/images/align-right.png: Removed.
        * WebKitSite/blog/wp-admin/images/archive-link.png: Removed.
        * WebKitSite/blog/wp-admin/images/blue-grad.png: Removed.
        * WebKitSite/blog/wp-admin/images/browse-happy.gif: Removed.
        * WebKitSite/blog/wp-admin/images/bubble_bg-rtl.gif: Removed.
        * WebKitSite/blog/wp-admin/images/bubble_bg.gif: Removed.
        * WebKitSite/blog/wp-admin/images/button-grad-active-vs.png: Removed.
        * WebKitSite/blog/wp-admin/images/button-grad-active.png: Removed.
        * WebKitSite/blog/wp-admin/images/button-grad-vs.png: Removed.
        * WebKitSite/blog/wp-admin/images/button-grad.png: Removed.
        * WebKitSite/blog/wp-admin/images/comment-grey-bubble.png: Removed.
        * WebKitSite/blog/wp-admin/images/date-button.gif: Removed.
        * WebKitSite/blog/wp-admin/images/ed-bg-vs.gif: Removed.
        * WebKitSite/blog/wp-admin/images/ed-bg.gif: Removed.
        * WebKitSite/blog/wp-admin/images/fade-butt.png: Removed.
        * WebKitSite/blog/wp-admin/images/fav-arrow-rtl.gif: Removed.
        * WebKitSite/blog/wp-admin/images/fav-arrow-vs.gif: Removed.
        * WebKitSite/blog/wp-admin/images/fav-arrow.gif: Removed.
        * WebKitSite/blog/wp-admin/images/fav-top-vs.gif: Removed.
        * WebKitSite/blog/wp-admin/images/fav-top.png: Removed.
        * WebKitSite/blog/wp-admin/images/fav-vs.png: Removed.
        * WebKitSite/blog/wp-admin/images/fav.png: Removed.
        * WebKitSite/blog/wp-admin/images/generic.png: Removed.
        * WebKitSite/blog/wp-admin/images/gray-grad.png: Removed.
        * WebKitSite/blog/wp-admin/images/icons32-vs.png: Removed.
        * WebKitSite/blog/wp-admin/images/icons32.png: Removed.
        * WebKitSite/blog/wp-admin/images/list-vs.png: Removed.
        * WebKitSite/blog/wp-admin/images/list.png: Removed.
        * WebKitSite/blog/wp-admin/images/loading-publish.gif: Removed.
        * WebKitSite/blog/wp-admin/images/loading.gif: Removed.
        * WebKitSite/blog/wp-admin/images/logo-ghost.png: Removed.
        * WebKitSite/blog/wp-admin/images/logo-login.gif: Removed.
        * WebKitSite/blog/wp-admin/images/logo.gif: Removed.
        * WebKitSite/blog/wp-admin/images/marker.png: Removed.
        * WebKitSite/blog/wp-admin/images/mask.png: Removed.
        * WebKitSite/blog/wp-admin/images/media-button-image.gif: Removed.
        * WebKitSite/blog/wp-admin/images/media-button-music.gif: Removed.
        * WebKitSite/blog/wp-admin/images/media-button-other.gif: Removed.
        * WebKitSite/blog/wp-admin/images/media-button-video.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-arrows.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-bits-rtl-vs.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-bits-rtl.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-bits-vs.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-bits.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-dark-rtl.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-dark.gif: Removed.
        * WebKitSite/blog/wp-admin/images/menu-vs.png: Removed.
        * WebKitSite/blog/wp-admin/images/menu.png: Removed.
        * WebKitSite/blog/wp-admin/images/no.png: Removed.
        * WebKitSite/blog/wp-admin/images/required.gif: Removed.
        * WebKitSite/blog/wp-admin/images/resize.gif: Removed.
        * WebKitSite/blog/wp-admin/images/screen-options-left.gif: Removed.
        * WebKitSite/blog/wp-admin/images/screen-options-right-up.gif: Removed.
        * WebKitSite/blog/wp-admin/images/screen-options-right.gif: Removed.
        * WebKitSite/blog/wp-admin/images/se.png: Removed.
        * WebKitSite/blog/wp-admin/images/star.gif: Removed.
        * WebKitSite/blog/wp-admin/images/toggle-arrow-rtl.gif: Removed.
        * WebKitSite/blog/wp-admin/images/toggle-arrow.gif: Removed.
        * WebKitSite/blog/wp-admin/images/visit-site-button-grad-vs.gif: Removed.
        * WebKitSite/blog/wp-admin/images/visit-site-button-grad.gif: Removed.
        * WebKitSite/blog/wp-admin/images/wheel.png: Removed.
        * WebKitSite/blog/wp-admin/images/white-grad-active.png: Removed.
        * WebKitSite/blog/wp-admin/images/white-grad.png: Removed.
        * WebKitSite/blog/wp-admin/images/wordpress-logo.png: Removed.
        * WebKitSite/blog/wp-admin/images/wp-logo-vs.gif: Removed.
        * WebKitSite/blog/wp-admin/images/wp-logo.gif: Removed.
        * WebKitSite/blog/wp-admin/images/wpspin_dark.gif: Removed.
        * WebKitSite/blog/wp-admin/images/wpspin_light.gif: Removed.
        * WebKitSite/blog/wp-admin/images/xit.gif: Removed.
        * WebKitSite/blog/wp-admin/images/yes.png: Removed.
        * WebKitSite/blog/wp-admin/import: Removed.
        * WebKitSite/blog/wp-admin/import.php: Removed.
        * WebKitSite/blog/wp-admin/import/blogger.php: Removed.
        * WebKitSite/blog/wp-admin/import/blogware.php: Removed.
        * WebKitSite/blog/wp-admin/import/dotclear.php: Removed.
        * WebKitSite/blog/wp-admin/import/greymatter.php: Removed.
        * WebKitSite/blog/wp-admin/import/livejournal.php: Removed.
        * WebKitSite/blog/wp-admin/import/mt.php: Removed.
        * WebKitSite/blog/wp-admin/import/opml.php: Removed.
        * WebKitSite/blog/wp-admin/import/rss.php: Removed.
        * WebKitSite/blog/wp-admin/import/stp.php: Removed.
        * WebKitSite/blog/wp-admin/import/textpattern.php: Removed.
        * WebKitSite/blog/wp-admin/import/utw.php: Removed.
        * WebKitSite/blog/wp-admin/import/wordpress.php: Removed.
        * WebKitSite/blog/wp-admin/import/wp-cat2tag.php: Removed.
        * WebKitSite/blog/wp-admin/includes: Removed.
        * WebKitSite/blog/wp-admin/includes/admin.php: Removed.
        * WebKitSite/blog/wp-admin/includes/bookmark.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-ftp-pure.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-ftp-sockets.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-ftp.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-pclzip.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-wp-filesystem-base.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-wp-filesystem-direct.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-wp-filesystem-ftpext.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-wp-filesystem-ftpsockets.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-wp-filesystem-ssh2.php: Removed.
        * WebKitSite/blog/wp-admin/includes/class-wp-upgrader.php: Removed.
        * WebKitSite/blog/wp-admin/includes/comment.php: Removed.
        * WebKitSite/blog/wp-admin/includes/continents-cities.php: Removed.
        * WebKitSite/blog/wp-admin/includes/dashboard.php: Removed.
        * WebKitSite/blog/wp-admin/includes/export.php: Removed.
        * WebKitSite/blog/wp-admin/includes/file.php: Removed.
        * WebKitSite/blog/wp-admin/includes/image.php: Removed.
        * WebKitSite/blog/wp-admin/includes/import.php: Removed.
        * WebKitSite/blog/wp-admin/includes/manifest.php: Removed.
        * WebKitSite/blog/wp-admin/includes/media.php: Removed.
        * WebKitSite/blog/wp-admin/includes/misc.php: Removed.
        * WebKitSite/blog/wp-admin/includes/plugin-install.php: Removed.
        * WebKitSite/blog/wp-admin/includes/plugin.php: Removed.
        * WebKitSite/blog/wp-admin/includes/post.php: Removed.
        * WebKitSite/blog/wp-admin/includes/schema.php: Removed.
        * WebKitSite/blog/wp-admin/includes/taxonomy.php: Removed.
        * WebKitSite/blog/wp-admin/includes/template.php: Removed.
        * WebKitSite/blog/wp-admin/includes/theme-install.php: Removed.
        * WebKitSite/blog/wp-admin/includes/theme.php: Removed.
        * WebKitSite/blog/wp-admin/includes/update-core.php: Removed.
        * WebKitSite/blog/wp-admin/includes/update.php: Removed.
        * WebKitSite/blog/wp-admin/includes/upgrade.php: Removed.
        * WebKitSite/blog/wp-admin/includes/user.php: Removed.
        * WebKitSite/blog/wp-admin/includes/widgets.php: Removed.
        * WebKitSite/blog/wp-admin/index-extra.php: Removed.
        * WebKitSite/blog/wp-admin/index.php: Removed.
        * WebKitSite/blog/wp-admin/install-helper.php: Removed.
        * WebKitSite/blog/wp-admin/install.php: Removed.
        * WebKitSite/blog/wp-admin/js: Removed.
        * WebKitSite/blog/wp-admin/js/cat.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/cat.js: Removed.
        * WebKitSite/blog/wp-admin/js/categories.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/categories.js: Removed.
        * WebKitSite/blog/wp-admin/js/comment.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/comment.js: Removed.
        * WebKitSite/blog/wp-admin/js/common.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/common.js: Removed.
        * WebKitSite/blog/wp-admin/js/custom-fields.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/custom-fields.js: Removed.
        * WebKitSite/blog/wp-admin/js/dashboard.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/dashboard.js: Removed.
        * WebKitSite/blog/wp-admin/js/edit-comments.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/edit-comments.js: Removed.
        * WebKitSite/blog/wp-admin/js/editor.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/editor.js: Removed.
        * WebKitSite/blog/wp-admin/js/farbtastic.js: Removed.
        * WebKitSite/blog/wp-admin/js/gallery.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/gallery.js: Removed.
        * WebKitSite/blog/wp-admin/js/inline-edit-post.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/inline-edit-post.js: Removed.
        * WebKitSite/blog/wp-admin/js/inline-edit-tax.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/inline-edit-tax.js: Removed.
        * WebKitSite/blog/wp-admin/js/link.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/link.js: Removed.
        * WebKitSite/blog/wp-admin/js/media-upload.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/media-upload.js: Removed.
        * WebKitSite/blog/wp-admin/js/media.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/media.js: Removed.
        * WebKitSite/blog/wp-admin/js/page.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/page.js: Removed.
        * WebKitSite/blog/wp-admin/js/password-strength-meter.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/password-strength-meter.js: Removed.
        * WebKitSite/blog/wp-admin/js/plugin-install.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/plugin-install.js: Removed.
        * WebKitSite/blog/wp-admin/js/post.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/post.js: Removed.
        * WebKitSite/blog/wp-admin/js/postbox.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/postbox.js: Removed.
        * WebKitSite/blog/wp-admin/js/revisions-js.php: Removed.
        * WebKitSite/blog/wp-admin/js/slug.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/slug.js: Removed.
        * WebKitSite/blog/wp-admin/js/tags.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/tags.js: Removed.
        * WebKitSite/blog/wp-admin/js/theme-preview.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/theme-preview.js: Removed.
        * WebKitSite/blog/wp-admin/js/user-profile.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/user-profile.js: Removed.
        * WebKitSite/blog/wp-admin/js/utils.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/utils.js: Removed.
        * WebKitSite/blog/wp-admin/js/widgets.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/widgets.js: Removed.
        * WebKitSite/blog/wp-admin/js/word-count.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/word-count.js: Removed.
        * WebKitSite/blog/wp-admin/js/wp-gears.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/wp-gears.js: Removed.
        * WebKitSite/blog/wp-admin/js/xfn.dev.js: Removed.
        * WebKitSite/blog/wp-admin/js/xfn.js: Removed.
        * WebKitSite/blog/wp-admin/link-add.php: Removed.
        * WebKitSite/blog/wp-admin/link-category.php: Removed.
        * WebKitSite/blog/wp-admin/link-manager.php: Removed.
        * WebKitSite/blog/wp-admin/link-parse-opml.php: Removed.
        * WebKitSite/blog/wp-admin/link.php: Removed.
        * WebKitSite/blog/wp-admin/load-scripts.php: Removed.
        * WebKitSite/blog/wp-admin/load-styles.php: Removed.
        * WebKitSite/blog/wp-admin/media-new.php: Removed.
        * WebKitSite/blog/wp-admin/media-upload.php: Removed.
        * WebKitSite/blog/wp-admin/media.php: Removed.
        * WebKitSite/blog/wp-admin/menu-header.php: Removed.
        * WebKitSite/blog/wp-admin/menu.php: Removed.
        * WebKitSite/blog/wp-admin/moderation.php: Removed.
        * WebKitSite/blog/wp-admin/options-discussion.php: Removed.
        * WebKitSite/blog/wp-admin/options-general.php: Removed.
        * WebKitSite/blog/wp-admin/options-head.php: Removed.
        * WebKitSite/blog/wp-admin/options-media.php: Removed.
        * WebKitSite/blog/wp-admin/options-misc.php: Removed.
        * WebKitSite/blog/wp-admin/options-permalink.php: Removed.
        * WebKitSite/blog/wp-admin/options-privacy.php: Removed.
        * WebKitSite/blog/wp-admin/options-reading.php: Removed.
        * WebKitSite/blog/wp-admin/options-writing.php: Removed.
        * WebKitSite/blog/wp-admin/options.php: Removed.
        * WebKitSite/blog/wp-admin/page-new.php: Removed.
        * WebKitSite/blog/wp-admin/page.php: Removed.
        * WebKitSite/blog/wp-admin/plugin-editor.php: Removed.
        * WebKitSite/blog/wp-admin/plugin-install.php: Removed.
        * WebKitSite/blog/wp-admin/plugins.php: Removed.
        * WebKitSite/blog/wp-admin/post-new.php: Removed.
        * WebKitSite/blog/wp-admin/post.php: Removed.
        * WebKitSite/blog/wp-admin/press-this.php: Removed.
        * WebKitSite/blog/wp-admin/profile.php: Removed.
        * WebKitSite/blog/wp-admin/revision.php: Removed.
        * WebKitSite/blog/wp-admin/rtl.css: Removed.
        * WebKitSite/blog/wp-admin/setup-config.php: Removed.
        * WebKitSite/blog/wp-admin/sidebar.php: Removed.
        * WebKitSite/blog/wp-admin/theme-editor.php: Removed.
        * WebKitSite/blog/wp-admin/theme-install.php: Removed.
        * WebKitSite/blog/wp-admin/themes.php: Removed.
        * WebKitSite/blog/wp-admin/tools.php: Removed.
        * WebKitSite/blog/wp-admin/update-core.php: Removed.
        * WebKitSite/blog/wp-admin/update-links.php: Removed.
        * WebKitSite/blog/wp-admin/update.php: Removed.
        * WebKitSite/blog/wp-admin/upgrade-functions.php: Removed.
        * WebKitSite/blog/wp-admin/upgrade.php: Removed.
        * WebKitSite/blog/wp-admin/upload.php: Removed.
        * WebKitSite/blog/wp-admin/user-edit.php: Removed.
        * WebKitSite/blog/wp-admin/user-new.php: Removed.
        * WebKitSite/blog/wp-admin/users.php: Removed.
        * WebKitSite/blog/wp-admin/widgets.php: Removed.
        * WebKitSite/blog/wp-admin/wp-admin.css: Removed.
        * WebKitSite/blog/wp-app.php: Removed.
        * WebKitSite/blog/wp-atom.php: Removed.
        * WebKitSite/blog/wp-blog-header.php: Removed.
        * WebKitSite/blog/wp-comments-post.php: Removed.
        * WebKitSite/blog/wp-commentsrss2.php: Removed.
        * WebKitSite/blog/wp-config-sample.php: Removed.
        * WebKitSite/blog/wp-config.php: Removed.
        * WebKitSite/blog/wp-content: Removed.
        * WebKitSite/blog/wp-content/Picture9.png: Removed.
        * WebKitSite/blog/wp-content/cache: Removed.
        * WebKitSite/blog/wp-content/chrome.jpg: Removed.
        * WebKitSite/blog/wp-content/chucknorris.png: Removed.
        * WebKitSite/blog/wp-content/databaseexample.png: Removed.
        * WebKitSite/blog/wp-content/drosera.png: Removed.
        * WebKitSite/blog/wp-content/hitlist.png: Removed.
        * WebKitSite/blog/wp-content/index.php: Removed.
        * WebKitSite/blog/wp-content/plugins: Removed.
        * WebKitSite/blog/wp-content/plugins/SK2: Removed.
        * WebKitSite/blog/wp-content/plugins/SK2/sk2_plugins: Removed.
        * WebKitSite/blog/wp-content/plugins/akismet: Removed.
        * WebKitSite/blog/wp-content/plugins/akismet/akismet.gif: Removed.
        * WebKitSite/blog/wp-content/plugins/akismet/akismet.php: Removed.
        * WebKitSite/blog/wp-content/plugins/akismet/readme.txt: Removed.
        * WebKitSite/blog/wp-content/plugins/commentcontrol.php: Removed.
        * WebKitSite/blog/wp-content/plugins/hello.php: Removed.
        * WebKitSite/blog/wp-content/plugins/index.php: Removed.
        * WebKitSite/blog/wp-content/plugins/wp-cache: Removed.
        * WebKitSite/blog/wp-content/rotate.png: Removed.
        * WebKitSite/blog/wp-content/rotate.svg: Removed.
        * WebKitSite/blog/wp-content/svgtext.png: Removed.
        * WebKitSite/blog/wp-content/svgtextmini.png: Removed.
        * WebKitSite/blog/wp-content/svgtextmini_01.png: Removed.
        * WebKitSite/blog/wp-content/textfield_screenshot.jpg: Removed.
        * WebKitSite/blog/wp-content/themes: Removed.
        * WebKitSite/blog/wp-content/themes/classic: Removed.
        * WebKitSite/blog/wp-content/themes/classic/comments-popup.php: Removed.
        * WebKitSite/blog/wp-content/themes/classic/comments.php: Removed.
        * WebKitSite/blog/wp-content/themes/classic/footer.php: Removed.
        * WebKitSite/blog/wp-content/themes/classic/functions.php: Removed.
        * WebKitSite/blog/wp-content/themes/classic/header.php: Removed.
        * WebKitSite/blog/wp-content/themes/classic/index.php: Removed.
        * WebKitSite/blog/wp-content/themes/classic/rtl.css: Removed.
        * WebKitSite/blog/wp-content/themes/classic/screenshot.png: Removed.
        * WebKitSite/blog/wp-content/themes/classic/sidebar.php: Removed.
        * WebKitSite/blog/wp-content/themes/classic/style.css: Removed.
        * WebKitSite/blog/wp-content/themes/default: Removed.
        * WebKitSite/blog/wp-content/themes/default/404.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/archive.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/archives.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/comments-popup.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/comments.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/footer.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/functions.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/header.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/image.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/images: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/audio.jpg: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/header-img.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/kubrickbg-ltr.jpg: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/kubrickbg-rtl.jpg: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/kubrickbgcolor.jpg: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/kubrickbgwide.jpg: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/kubrickfooter.jpg: Removed.
        * WebKitSite/blog/wp-content/themes/default/images/kubrickheader.jpg: Removed.
        * WebKitSite/blog/wp-content/themes/default/index.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/links.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/page.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/rtl.css: Removed.
        * WebKitSite/blog/wp-content/themes/default/screenshot.png: Removed.
        * WebKitSite/blog/wp-content/themes/default/search.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/sidebar.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/single.php: Removed.
        * WebKitSite/blog/wp-content/themes/default/style.css: Removed.
        * WebKitSite/blog/wp-content/themes/index.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/404.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/archive.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/archives.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/comments-popup.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/comments.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/footer.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/header.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/index.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/links.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/page.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/search.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/searchform.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/sidebar.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/single.php: Removed.
        * WebKitSite/blog/wp-content/themes/webkit/style.css: Removed.
        * WebKitSite/blog/wp-content/uploads: Removed.
        * WebKitSite/blog/wp-content/uploads/2007: Removed.
        * WebKitSite/blog/wp-content/uploads/2007/06: Removed.
        * WebKitSite/blog/wp-content/uploads/2007/06/newinspector.png: Removed.
        * WebKitSite/blog/wp-content/webInspector.png: Removed.
        * WebKitSite/blog/wp-cron.php: Removed.
        * WebKitSite/blog/wp-feed.php: Removed.
        * WebKitSite/blog/wp-images: Removed.
        * WebKitSite/blog/wp-images/smilies: Removed.
        * WebKitSite/blog/wp-includes: Removed.
        * WebKitSite/blog/wp-includes/Text: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff.php: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Engine: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Engine/native.php: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Engine/shell.php: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Engine/string.php: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Engine/xdiff.php: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Renderer: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Renderer.php: Removed.
        * WebKitSite/blog/wp-includes/Text/Diff/Renderer/inline.php: Removed.
        * WebKitSite/blog/wp-includes/atomlib.php: Removed.
        * WebKitSite/blog/wp-includes/author-template.php: Removed.
        * WebKitSite/blog/wp-includes/bookmark-template.php: Removed.
        * WebKitSite/blog/wp-includes/bookmark.php: Removed.
        * WebKitSite/blog/wp-includes/cache.php: Removed.
        * WebKitSite/blog/wp-includes/canonical.php: Removed.
        * WebKitSite/blog/wp-includes/capabilities.php: Removed.
        * WebKitSite/blog/wp-includes/category-template.php: Removed.
        * WebKitSite/blog/wp-includes/category.php: Removed.
        * WebKitSite/blog/wp-includes/class-IXR.php: Removed.
        * WebKitSite/blog/wp-includes/class-feed.php: Removed.
        * WebKitSite/blog/wp-includes/class-phpass.php: Removed.
        * WebKitSite/blog/wp-includes/class-phpmailer.php: Removed.
        * WebKitSite/blog/wp-includes/class-pop3.php: Removed.
        * WebKitSite/blog/wp-includes/class-simplepie.php: Removed.
        * WebKitSite/blog/wp-includes/class-smtp.php: Removed.
        * WebKitSite/blog/wp-includes/class-snoopy.php: Removed.
        * WebKitSite/blog/wp-includes/class.wp-dependencies.php: Removed.
        * WebKitSite/blog/wp-includes/class.wp-scripts.php: Removed.
        * WebKitSite/blog/wp-includes/class.wp-styles.php: Removed.
        * WebKitSite/blog/wp-includes/classes.php: Removed.
        * WebKitSite/blog/wp-includes/comment-template.php: Removed.
        * WebKitSite/blog/wp-includes/comment.php: Removed.
        * WebKitSite/blog/wp-includes/compat.php: Removed.
        * WebKitSite/blog/wp-includes/cron.php: Removed.
        * WebKitSite/blog/wp-includes/default-filters.php: Removed.
        * WebKitSite/blog/wp-includes/default-widgets.php: Removed.
        * WebKitSite/blog/wp-includes/deprecated.php: Removed.
        * WebKitSite/blog/wp-includes/feed-atom-comments.php: Removed.
        * WebKitSite/blog/wp-includes/feed-atom.php: Removed.
        * WebKitSite/blog/wp-includes/feed-rdf.php: Removed.
        * WebKitSite/blog/wp-includes/feed-rss.php: Removed.
        * WebKitSite/blog/wp-includes/feed-rss2-comments.php: Removed.
        * WebKitSite/blog/wp-includes/feed-rss2.php: Removed.
        * WebKitSite/blog/wp-includes/feed.php: Removed.
        * WebKitSite/blog/wp-includes/formatting.php: Removed.
        * WebKitSite/blog/wp-includes/functions.php: Removed.
        * WebKitSite/blog/wp-includes/functions.wp-scripts.php: Removed.
        * WebKitSite/blog/wp-includes/functions.wp-styles.php: Removed.
        * WebKitSite/blog/wp-includes/general-template.php: Removed.
        * WebKitSite/blog/wp-includes/gettext.php: Removed.
        * WebKitSite/blog/wp-includes/http.php: Removed.
        * WebKitSite/blog/wp-includes/images: Removed.
        * WebKitSite/blog/wp-includes/images/blank.gif: Removed.
        * WebKitSite/blog/wp-includes/images/crystal: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/archive.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/audio.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/code.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/default.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/document.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/interactive.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/license.txt: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/spreadsheet.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/text.png: Removed.
        * WebKitSite/blog/wp-includes/images/crystal/video.png: Removed.
        * WebKitSite/blog/wp-includes/images/rss.png: Removed.
        * WebKitSite/blog/wp-includes/images/smilies: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_arrow.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_biggrin.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_confused.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_cool.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_cry.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_eek.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_evil.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_exclaim.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_idea.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_lol.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_mad.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_mrgreen.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_neutral.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_question.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_razz.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_redface.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_rolleyes.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_sad.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_smile.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_surprised.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_twisted.gif: Removed.
        * WebKitSite/blog/wp-includes/images/smilies/icon_wink.gif: Removed.
        * WebKitSite/blog/wp-includes/images/upload.png: Removed.
        * WebKitSite/blog/wp-includes/images/wlw: Removed.
        * WebKitSite/blog/wp-includes/images/wlw/wp-comments.png: Removed.
        * WebKitSite/blog/wp-includes/images/wlw/wp-icon.png: Removed.
        * WebKitSite/blog/wp-includes/images/wlw/wp-watermark.png: Removed.
        * WebKitSite/blog/wp-includes/js: Removed.
        * WebKitSite/blog/wp-includes/js/autosave.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/autosave.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/codepress.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/codepress.html: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/codepress.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/engines: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/engines/gecko.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/engines/khtml.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/engines/msie.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/engines/older.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/engines/opera.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/images: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/images/line-numbers.png: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/asp.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/asp.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/autoit.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/autoit.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/csharp.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/csharp.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/css.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/css.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/generic.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/generic.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/html.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/html.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/java.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/java.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/javascript.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/javascript.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/perl.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/perl.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/php.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/php.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/ruby.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/ruby.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/sql.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/sql.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/text.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/text.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/vbscript.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/vbscript.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/xsl.css: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/languages/xsl.js: Removed.
        * WebKitSite/blog/wp-includes/js/codepress/license.txt: Removed.
        * WebKitSite/blog/wp-includes/js/colorpicker.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/colorpicker.js: Removed.
        * WebKitSite/blog/wp-includes/js/comment-reply.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/comment-reply.js: Removed.
        * WebKitSite/blog/wp-includes/js/crop: Removed.
        * WebKitSite/blog/wp-includes/js/crop/cropper.css: Removed.
        * WebKitSite/blog/wp-includes/js/crop/cropper.js: Removed.
        * WebKitSite/blog/wp-includes/js/crop/marqueeHoriz.gif: Removed.
        * WebKitSite/blog/wp-includes/js/crop/marqueeVert.gif: Removed.
        * WebKitSite/blog/wp-includes/js/hoverIntent.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/hoverIntent.js: Removed.
        * WebKitSite/blog/wp-includes/js/jcrop: Removed.
        * WebKitSite/blog/wp-includes/js/jcrop/Jcrop.gif: Removed.
        * WebKitSite/blog/wp-includes/js/jcrop/jquery.Jcrop.css: Removed.
        * WebKitSite/blog/wp-includes/js/jcrop/jquery.Jcrop.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/jcrop/jquery.Jcrop.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/interface.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.color.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.color.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.form.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.form.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.hotkeys.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.hotkeys.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.schedule.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.table-hotkeys.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/jquery.table-hotkeys.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/suggest.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/suggest.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.core.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.dialog.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.draggable.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.droppable.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.resizable.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.selectable.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.sortable.js: Removed.
        * WebKitSite/blog/wp-includes/js/jquery/ui.tabs.js: Removed.
        * WebKitSite/blog/wp-includes/js/prototype.js: Removed.
        * WebKitSite/blog/wp-includes/js/quicktags.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/quicktags.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/MIT-LICENSE: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/builder.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/controls.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/dragdrop.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/effects.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/prototype.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/scriptaculous.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/slider.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/sound.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/unittest.js: Removed.
        * WebKitSite/blog/wp-includes/js/scriptaculous/wp-scriptaculous.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfobject.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/handlers.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/handlers.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/plugins: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/plugins/swfupload.cookies.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/plugins/swfupload.queue.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/plugins/swfupload.speed.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/plugins/swfupload.swfobject.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/swfupload-all.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/swfupload.js: Removed.
        * WebKitSite/blog/wp-includes/js/swfupload/swfupload.swf: Removed.
        * WebKitSite/blog/wp-includes/js/thickbox: Removed.
        * WebKitSite/blog/wp-includes/js/thickbox/loadingAnimation.gif: Removed.
        * WebKitSite/blog/wp-includes/js/thickbox/macFFBgHack.png: Removed.
        * WebKitSite/blog/wp-includes/js/thickbox/tb-close.png: Removed.
        * WebKitSite/blog/wp-includes/js/thickbox/thickbox.css: Removed.
        * WebKitSite/blog/wp-includes/js/thickbox/thickbox.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/blank.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/langs/wp-langs-en.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/langs/wp-langs.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/license.txt: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/autosave: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/autosave/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/directionality: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/directionality/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/directionality/images: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/directionality/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/fullscreen: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/images: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/jscripts: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/drag.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/inlinepopups/template.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/css/content.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/css/media.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img/flash.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img/flv_player.swf: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img/quicktime.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img/realmedia.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img/shockwave.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img/trans.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/img/windowsmedia.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/js/embed.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/js/media.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/media/media.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/blank.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/images: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/js/pastetext.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/js/pasteword.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/jscripts: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/pastetext.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/paste/pasteword.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/safari: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/safari/blank.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/safari/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/EnchantSpell.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/SpellChecker.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/utils: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/Logger.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/config.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/css/content.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/images: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/img/wline.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/includes: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/includes/general.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/spellchecker/rpc.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/tabfocus: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/css/content.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/images: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/audio.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/help.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/image.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/media.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/more.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/more_bug.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/page.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/page_bug.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/img/video.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wordpress/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage-rtl.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/css/editimage.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/editimage.html: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/img/delete.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/img/image.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery/img/delete.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery/img/edit.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery/img/gallery.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wphelp: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wphelp/images: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/plugins/wphelp/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/about.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/anchor.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/charmap.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/color_picker.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/editor_template.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/image.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/images: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/images/xp: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/img/colorpicker.jpg: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/img/fm.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/img/gotmoxie.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/img/icons.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/img/sflogo.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js/about.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js/anchor.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js/charmap.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js/color_picker.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js/image.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js/link.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/js/source_editor.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/jscripts: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/langs: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/link.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/content.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/dialog.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/img/buttons.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/img/items.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_check.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/img/progress.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/img/tabs.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/default/ui.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/dialog.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/butt2.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/button_bg.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/down_arrow.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/fade-butt.png: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/separator.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/tabs.gif: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/themes/advanced/source_editor.htm: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/tiny_mce.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/tiny_mce_popup.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/utils: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/utils/editable_selects.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/utils/form_utils.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/utils/mctabs.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/utils/validate.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/wp-mce-help.php: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/wp-tinymce.js: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/wp-tinymce.js.gz: Removed.
        * WebKitSite/blog/wp-includes/js/tinymce/wp-tinymce.php: Removed.
        * WebKitSite/blog/wp-includes/js/tw-sack.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/tw-sack.js: Removed.
        * WebKitSite/blog/wp-includes/js/wp-ajax-response.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/wp-ajax-response.js: Removed.
        * WebKitSite/blog/wp-includes/js/wp-lists.dev.js: Removed.
        * WebKitSite/blog/wp-includes/js/wp-lists.js: Removed.
        * WebKitSite/blog/wp-includes/kses.php: Removed.
        * WebKitSite/blog/wp-includes/l10n.php: Removed.
        * WebKitSite/blog/wp-includes/link-template.php: Removed.
        * WebKitSite/blog/wp-includes/locale.php: Removed.
        * WebKitSite/blog/wp-includes/media.php: Removed.
        * WebKitSite/blog/wp-includes/pluggable.php: Removed.
        * WebKitSite/blog/wp-includes/plugin.php: Removed.
        * WebKitSite/blog/wp-includes/pomo: Removed.
        * WebKitSite/blog/wp-includes/pomo/entry.php: Removed.
        * WebKitSite/blog/wp-includes/pomo/mo.php: Removed.
        * WebKitSite/blog/wp-includes/pomo/po.php: Removed.
        * WebKitSite/blog/wp-includes/pomo/streams.php: Removed.
        * WebKitSite/blog/wp-includes/pomo/translations.php: Removed.
        * WebKitSite/blog/wp-includes/post-template.php: Removed.
        * WebKitSite/blog/wp-includes/post.php: Removed.
        * WebKitSite/blog/wp-includes/query.php: Removed.
        * WebKitSite/blog/wp-includes/registration-functions.php: Removed.
        * WebKitSite/blog/wp-includes/registration.php: Removed.
        * WebKitSite/blog/wp-includes/rewrite.php: Removed.
        * WebKitSite/blog/wp-includes/rss-functions.php: Removed.
        * WebKitSite/blog/wp-includes/rss.php: Removed.
        * WebKitSite/blog/wp-includes/script-loader.php: Removed.
        * WebKitSite/blog/wp-includes/shortcodes.php: Removed.
        * WebKitSite/blog/wp-includes/streams.php: Removed.
        * WebKitSite/blog/wp-includes/taxonomy.php: Removed.
        * WebKitSite/blog/wp-includes/template-loader.php: Removed.
        * WebKitSite/blog/wp-includes/theme.php: Removed.
        * WebKitSite/blog/wp-includes/update.php: Removed.
        * WebKitSite/blog/wp-includes/user.php: Removed.
        * WebKitSite/blog/wp-includes/vars.php: Removed.
        * WebKitSite/blog/wp-includes/version.php: Removed.
        * WebKitSite/blog/wp-includes/widgets.php: Removed.
        * WebKitSite/blog/wp-includes/wlwmanifest.xml: Removed.
        * WebKitSite/blog/wp-includes/wp-db.php: Removed.
        * WebKitSite/blog/wp-includes/wp-diff.php: Removed.
        * WebKitSite/blog/wp-links-opml.php: Removed.
        * WebKitSite/blog/wp-load.php: Removed.
        * WebKitSite/blog/wp-login.php: Removed.
        * WebKitSite/blog/wp-mail.php: Removed.
        * WebKitSite/blog/wp-pass.php: Removed.
        * WebKitSite/blog/wp-rdf.php: Removed.
        * WebKitSite/blog/wp-register.php: Removed.
        * WebKitSite/blog/wp-rss.php: Removed.
        * WebKitSite/blog/wp-rss2.php: Removed.
        * WebKitSite/blog/wp-settings.php: Removed.
        * WebKitSite/blog/wp-trackback.php: Removed.
        * WebKitSite/blog/xmlrpc.php: Removed.
        * WebKitSite/building: Removed.
        * WebKitSite/building/build-window.png: Removed.
        * WebKitSite/building/build.html: Removed.
        * WebKitSite/building/checkout.html: Removed.
        * WebKitSite/building/custom-executable.png: Removed.
        * WebKitSite/building/cygwin-downloader.zip: Removed.
        * WebKitSite/building/debug.html: Removed.
        * WebKitSite/building/debug.png: Removed.
        * WebKitSite/building/info-tab.png: Removed.
        * WebKitSite/building/launch-debugger-vs2005.png: Removed.
        * WebKitSite/building/run.html: Removed.
        * WebKitSite/building/set-as-startup-project-vs2005.png: Removed.
        * WebKitSite/building/set-debugging-properties-vs2005.png: Removed.
        * WebKitSite/building/tools.html: Removed.
        * WebKitSite/coding: Removed.
        * WebKitSite/coding/RefPtr.html: Removed.
        * WebKitSite/coding/assertion-guidelines.html: Removed.
        * WebKitSite/coding/bsd-license.html: Removed.
        * WebKitSite/coding/coding-style.html: Removed.
        * WebKitSite/coding/commit-review-policy.html: Removed.
        * WebKitSite/coding/contributing.html: Removed.
        * WebKitSite/coding/dom-element-attach.html: Removed.
        * WebKitSite/coding/images: Removed.
        * WebKitSite/coding/images/contribute_add_attachment.png: Removed.
        * WebKitSite/coding/images/contribute_mark_review.png: Removed.
        * WebKitSite/coding/images/dom-element-attach-large.png: Removed.
        * WebKitSite/coding/images/dom-element-attach-small.png: Removed.
        * WebKitSite/coding/images/dom-element-attach.graffle: Removed.
        * WebKitSite/coding/lgpl-license.html: Removed.
        * WebKitSite/coding/major-objects.html: Removed.
        * WebKitSite/coding/scripts.html: Removed.
        * WebKitSite/coding/technical-articles.html: Removed.
        * WebKitSite/contact.html: Removed.
        * WebKitSite/css: Removed.
        * WebKitSite/css/blue.css: Removed.
        * WebKitSite/css/gray.css: Removed.
        * WebKitSite/css/green.css: Removed.
        * WebKitSite/css/ie.css: Removed.
        * WebKitSite/css/main.css: Removed.
        * WebKitSite/css/pink.css: Removed.
        * WebKitSite/css/purple.css: Removed.
        * WebKitSite/css/yellow.css: Removed.
        * WebKitSite/demos: Removed.
        * WebKitSite/demos/accessible-ascii-art: Removed.
        * WebKitSite/demos/accessible-ascii-art/butterfly-figure.html: Removed.
        * WebKitSite/demos/accessible-ascii-art/butterfly.html: Removed.
        * WebKitSite/demos/calendar: Removed.
        * WebKitSite/demos/calendar/Boom.aiff: Removed.
        * WebKitSite/demos/calendar/Calendar.css: Removed.
        * WebKitSite/demos/calendar/Calendar.html: Removed.
        * WebKitSite/demos/calendar/Calendar.js: Removed.
        * WebKitSite/demos/calendar/Calendar.manifest: Removed.
        * WebKitSite/demos/calendar/CalendarApp.icns: Removed.
        * WebKitSite/demos/calendar/Images: Removed.
        * WebKitSite/demos/calendar/Images/AirPort4.png: Removed.
        * WebKitSite/demos/calendar/Images/AirPortError.png: Removed.
        * WebKitSite/demos/calendar/Images/disclosureTriangleSmallDown.png: Removed.
        * WebKitSite/demos/calendar/Images/disclosureTriangleSmallRight.png: Removed.
        * WebKitSite/demos/calendar/Images/statusbarBackground.png: Removed.
        * WebKitSite/demos/calendar/Images/statusbarResizerVertical.png: Removed.
        * WebKitSite/demos/calendar/LocationImage.js: Removed.
        * WebKitSite/demos/calendar/Utilities.js: Removed.
        * WebKitSite/demos/calendar/favicon.ico: Removed.
        * WebKitSite/demos/calendar/index.html: Removed.
        * WebKitSite/demos/calendar/mime.types: Removed.
        * WebKitSite/demos/canvas-perf: Removed.
        * WebKitSite/demos/canvas-perf/canvas.html: Removed.
        * WebKitSite/demos/canvas-perf/kraken.jpg: Removed.
        * WebKitSite/demos/editingToolbar: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbar.css: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbar.js: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/button.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/buttonLeft.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/buttonMiddle.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/buttonPressed.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/buttonPressedLeft.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/buttonPressedMiddle.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/buttonPressedRight.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/buttonRight.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/camera.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/link.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/textAlign.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutline.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineBottom.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineBottomLeft.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineBottomRight.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineLeft.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineRight.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineTop.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineTopLeft.png: Removed.
        * WebKitSite/demos/editingToolbar/FancyToolbarImages/toolbarOutlineTopRight.png: Removed.
        * WebKitSite/demos/editingToolbar/content.html: Removed.
        * WebKitSite/demos/editingToolbar/images: Removed.
        * WebKitSite/demos/editingToolbar/images/safari.png: Removed.
        * WebKitSite/demos/editingToolbar/index.html: Removed.
        * WebKitSite/demos/hover-summary: Removed.
        * WebKitSite/demos/hover-summary/details.css: Removed.
        * WebKitSite/demos/hover-summary/details.js: Removed.
        * WebKitSite/demos/hover-summary/example1.html: Removed.
        * WebKitSite/demos/hover-summary/example2.html: Removed.
        * WebKitSite/demos/hover-summary/horizontal-triangle.png: Removed.
        * WebKitSite/demos/hover-summary/vertical-triangle.png: Removed.
        * WebKitSite/demos/index.html: Removed.
        * WebKitSite/demos/mathml: Removed.
        * WebKitSite/demos/mathml/MathMLDemo.xhtml: Removed.
        * WebKitSite/demos/sticky-notes: Removed.
        * WebKitSite/demos/sticky-notes/StickyNotes.manifest: Removed.
        * WebKitSite/demos/sticky-notes/deleteButton.png: Removed.
        * WebKitSite/demos/sticky-notes/deleteButtonPressed.png: Removed.
        * WebKitSite/demos/sticky-notes/index.html: Removed.
        * WebKitSite/demos/transitions-and-transforms: Removed.
        * WebKitSite/demos/transitions-and-transforms/Finder Coverflow.png: Removed.
        * WebKitSite/demos/transitions-and-transforms/Horsehead.png: Removed.
        * WebKitSite/demos/transitions-and-transforms/Mail Stationery.png: Removed.
        * WebKitSite/demos/transitions-and-transforms/Quick Look.png: Removed.
        * WebKitSite/demos/transitions-and-transforms/Spaces.png: Removed.
        * WebKitSite/demos/transitions-and-transforms/Stacks.png: Removed.
        * WebKitSite/demos/transitions-and-transforms/Time Machine.png: Removed.
        * WebKitSite/demos/transitions-and-transforms/index.html: Removed.
        * WebKitSite/demos/transitions-and-transforms/leopard.css: Removed.
        * WebKitSite/demos/transitions-and-transforms/no-style.html: Removed.
        * WebKitSite/favicon.ico: Removed.
        * WebKitSite/footer.inc: Removed.
        * WebKitSite/header.inc: Removed.
        * WebKitSite/images: Removed.
        * WebKitSite/images/DroseraPic.png: Removed.
        * WebKitSite/images/blank.png: Removed.
        * WebKitSite/images/blue-background.png: Removed.
        * WebKitSite/images/blue-bullet.png: Removed.
        * WebKitSite/images/download.png: Removed.
        * WebKitSite/images/end.png: Removed.
        * WebKitSite/images/gray-background.png: Removed.
        * WebKitSite/images/green-background.png: Removed.
        * WebKitSite/images/green-bullet.png: Removed.
        * WebKitSite/images/icon-gold.png: Removed.
        * WebKitSite/images/icon.png: Removed.
        * WebKitSite/images/ie-nav.png: Removed.
        * WebKitSite/images/middle.png: Removed.
        * WebKitSite/images/nav.png: Removed.
        * WebKitSite/images/pink-background.png: Removed.
        * WebKitSite/images/pink-bullet.png: Removed.
        * WebKitSite/images/purple-background.png: Removed.
        * WebKitSite/images/purple-bullet.png: Removed.
        * WebKitSite/images/surfin-safari.icns: Removed.
        * WebKitSite/images/yellow-background.png: Removed.
        * WebKitSite/images/yellow-bullet.png: Removed.
        * WebKitSite/index.html: Removed.
        * WebKitSite/misc: Removed.
        * WebKitSite/misc/DatabaseExample.html: Removed.
        * WebKitSite/misc/DatabaseTester.html: Removed.
        * WebKitSite/misc/WebKitDetect.html: Removed.
        * WebKitSite/misc/WebKitDetect.js: Removed.
        * WebKitSite/misc/drosera: Removed.
        * WebKitSite/misc/drosera/demo.js: Removed.
        * WebKitSite/misc/drosera/drosera.png: Removed.
        * WebKitSite/misc/drosera/index.html: Removed.
        * WebKitSite/misc/gradient-input.html: Removed.
        * WebKitSite/misc/morph.html: Removed.
        * WebKitSite/nav.inc: Removed.
        * WebKitSite/perf: Removed.
        * WebKitSite/perf/slickspeed: Removed.
        * WebKitSite/perf/slickspeed/config.ini: Removed.
        * WebKitSite/perf/slickspeed/footer.html: Removed.
        * WebKitSite/perf/slickspeed/frameworks: Removed.
        * WebKitSite/perf/slickspeed/frameworks/DomQuery.js: Removed.
        * WebKitSite/perf/slickspeed/frameworks/dummy.js: Removed.
        * WebKitSite/perf/slickspeed/frameworks/jquery-1.2.3.js: Removed.
        * WebKitSite/perf/slickspeed/frameworks/prototype.js: Removed.
        * WebKitSite/perf/slickspeed/header.html: Removed.
        * WebKitSite/perf/slickspeed/index.php: Removed.
        * WebKitSite/perf/slickspeed/instructions.txt: Removed.
        * WebKitSite/perf/slickspeed/logo.png: Removed.
        * WebKitSite/perf/slickspeed/selectors.list: Removed.
        * WebKitSite/perf/slickspeed/style.css: Removed.
        * WebKitSite/perf/slickspeed/system: Removed.
        * WebKitSite/perf/slickspeed/system/index.php: Removed.
        * WebKitSite/perf/slickspeed/system/slickspeed.js: Removed.
        * WebKitSite/perf/slickspeed/system/template.php: Removed.
        * WebKitSite/perf/slickspeed/template.html: Removed.
        * WebKitSite/perf/sunspider: Removed.
        * WebKitSite/perf/sunspider-0.9: Removed.
        * WebKitSite/perf/sunspider-0.9.1: Removed.
        * WebKitSite/perf/sunspider-0.9.1/json2.js: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9.1: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9.1/results.html: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9.1/sunspider-test-contents.js: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9.1/sunspider-test-prefix.js: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9/driver.html: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9/results.html: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9/sunspider-test-contents.js: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-0.9/sunspider-test-prefix.js: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-analyze-results.js: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider-compare-results.js: Removed.
        * WebKitSite/perf/sunspider-0.9.1/sunspider.css: Removed.
        * WebKitSite/perf/sunspider-0.9/3d-cube.html: Removed.
        * WebKitSite/perf/sunspider-0.9/3d-morph.html: Removed.
        * WebKitSite/perf/sunspider-0.9/3d-raytrace.html: Removed.
        * WebKitSite/perf/sunspider-0.9/access-binary-trees.html: Removed.
        * WebKitSite/perf/sunspider-0.9/access-fannkuch.html: Removed.
        * WebKitSite/perf/sunspider-0.9/access-nbody.html: Removed.
        * WebKitSite/perf/sunspider-0.9/access-nsieve.html: Removed.
        * WebKitSite/perf/sunspider-0.9/bitops-3bit-bits-in-byte.html: Removed.
        * WebKitSite/perf/sunspider-0.9/bitops-bits-in-byte.html: Removed.
        * WebKitSite/perf/sunspider-0.9/bitops-bitwise-and.html: Removed.
        * WebKitSite/perf/sunspider-0.9/bitops-nsieve-bits.html: Removed.
        * WebKitSite/perf/sunspider-0.9/controlflow-recursive.html: Removed.
        * WebKitSite/perf/sunspider-0.9/crypto-aes.html: Removed.
        * WebKitSite/perf/sunspider-0.9/crypto-md5.html: Removed.
        * WebKitSite/perf/sunspider-0.9/crypto-sha1.html: Removed.
        * WebKitSite/perf/sunspider-0.9/date-format-tofte.html: Removed.
        * WebKitSite/perf/sunspider-0.9/date-format-xparb.html: Removed.
        * WebKitSite/perf/sunspider-0.9/math-cordic.html: Removed.
        * WebKitSite/perf/sunspider-0.9/math-partial-sums.html: Removed.
        * WebKitSite/perf/sunspider-0.9/math-spectral-norm.html: Removed.
        * WebKitSite/perf/sunspider-0.9/regexp-dna.html: Removed.
        * WebKitSite/perf/sunspider-0.9/string-base64.html: Removed.
        * WebKitSite/perf/sunspider-0.9/string-fasta.html: Removed.
        * WebKitSite/perf/sunspider-0.9/string-tagcloud.html: Removed.
        * WebKitSite/perf/sunspider-0.9/string-unpack-code.html: Removed.
        * WebKitSite/perf/sunspider-0.9/string-validate-input.html: Removed.
        * WebKitSite/perf/sunspider-0.9/sunspider-analyze-results.js: Removed.
        * WebKitSite/perf/sunspider-0.9/sunspider-compare-results.js: Removed.
        * WebKitSite/perf/sunspider-0.9/sunspider-driver.html: Removed.
        * WebKitSite/perf/sunspider-0.9/sunspider-record-result.js: Removed.
        * WebKitSite/perf/sunspider-0.9/sunspider-results.html: Removed.
        * WebKitSite/perf/sunspider-0.9/sunspider-test-prefix.js: Removed.
        * WebKitSite/perf/sunspider-0.9/sunspider.css: Removed.
        * WebKitSite/perf/sunspider/sunspider.css: Removed.
        * WebKitSite/perf/sunspider/sunspider.html: Removed.
        * WebKitSite/pngbehavior.htc: Removed.
        * WebKitSite/projects: Removed.
        * WebKitSite/projects/accessibility: Removed.
        * WebKitSite/projects/accessibility/index.html: Removed.
        * WebKitSite/projects/cleanup: Removed.
        * WebKitSite/projects/cleanup/index.html: Removed.
        * WebKitSite/projects/compat: Removed.
        * WebKitSite/projects/compat/index.html: Removed.
        * WebKitSite/projects/css: Removed.
        * WebKitSite/projects/css/index.html: Removed.
        * WebKitSite/projects/documentation: Removed.
        * WebKitSite/projects/documentation/index.html: Removed.
        * WebKitSite/projects/dom: Removed.
        * WebKitSite/projects/dom/index.html: Removed.
        * WebKitSite/projects/editing: Removed.
        * WebKitSite/projects/editing/index.html: Removed.
        * WebKitSite/projects/forms: Removed.
        * WebKitSite/projects/forms/index.html: Removed.
        * WebKitSite/projects/goals.html: Removed.
        * WebKitSite/projects/html: Removed.
        * WebKitSite/projects/html/index.html: Removed.
        * WebKitSite/projects/index.html: Removed.
        * WebKitSite/projects/javascript: Removed.
        * WebKitSite/projects/javascript/index.html: Removed.
        * WebKitSite/projects/layout: Removed.
        * WebKitSite/projects/layout/index.html: Removed.
        * WebKitSite/projects/mathml: Removed.
        * WebKitSite/projects/mathml/index.html: Removed.
        * WebKitSite/projects/performance: Removed.
        * WebKitSite/projects/performance/index.html: Removed.
        * WebKitSite/projects/plugins: Removed.
        * WebKitSite/projects/plugins/index.html: Removed.
        * WebKitSite/projects/portability: Removed.
        * WebKitSite/projects/portability/index.html: Removed.
        * WebKitSite/projects/printing: Removed.
        * WebKitSite/projects/printing/index.html: Removed.
        * WebKitSite/projects/svg: Removed.
        * WebKitSite/projects/svg/index.html: Removed.
        * WebKitSite/projects/svg/status.xml: Removed.
        * WebKitSite/projects/svg/svg-status.css: Removed.
        * WebKitSite/projects/svg/svg-status.xsl: Removed.
        * WebKitSite/projects/webkit: Removed.
        * WebKitSite/projects/webkit/index.html: Removed.
        * WebKitSite/projects/xml: Removed.
        * WebKitSite/projects/xml/index.html: Removed.
        * WebKitSite/projects/xslt: Removed.
        * WebKitSite/projects/xslt/index.html: Removed.
        * WebKitSite/quality: Removed.
        * WebKitSite/quality/.htaccess: Removed.
        * WebKitSite/quality/Ahem.ttf: Removed.
        * WebKitSite/quality/bugpriorities.html: Removed.
        * WebKitSite/quality/bugwriting.html: Removed.
        * WebKitSite/quality/bugzilla.html: Removed.
        * WebKitSite/quality/crashlogs.html: Removed.
        * WebKitSite/quality/leakhunting.html: Removed.
        * WebKitSite/quality/lifecycle.html: Removed.
        * WebKitSite/quality/mac_reportbox.jpg: Removed.
        * WebKitSite/quality/mac_viewtrace.jpg: Removed.
        * WebKitSite/quality/reduction.html: Removed.
        * WebKitSite/quality/reporting.html: Removed.
        * WebKitSite/quality/testing.html: Removed.
        * WebKitSite/quality/testwriting.html: Removed.
        * WebKitSite/quality/win_installwatson.jpg: Removed.
        * WebKitSite/quality/win_watsongui.jpg: Removed.
        * WebKitSite/quality/win_watsoninstalled.jpg: Removed.
        * WebKitSite/security: Removed.
        * WebKitSite/security/index.html: Removed.
        * WebKitSite/security/security-group-members.html: Removed.
        * WebKitSite/specs: Removed.
        * WebKitSite/specs/CSSVisualEffects: Removed.
        * WebKitSite/specs/CSSVisualEffects/css3-2d-transforms: Removed.
        * WebKitSite/specs/CSSVisualEffects/css3-3d-transforms: Removed.
        * WebKitSite/specs/CSSVisualEffects/css3-animations: Removed.
        * WebKitSite/specs/CSSVisualEffects/css3-transitions: Removed.
        * WebKitSite/specs/CSSVisualEffects/index.html: Removed.
        * WebKitSite/specs/HTML_Timed_Media_Elements.html: Removed.
        * WebKitSite/specs/MediaQueriesExtensions.html: Removed.
        * WebKitSite/specs/PointerEventsProperty.html: Removed.
        * WebKitSite/specs/Timed_Media_CSS.html: Removed.
        * WebKitSite/specs/Timed_Media_Elements-Open_Issues.html: Removed.
        * WebKitSite/specs/index.html: Removed.
        * WebKitSite/specs/mediaelement.css: Removed.
        * WebKitSite/specs/movie-status-states.png: Removed.
        * WebKitSite/specs/squirrelfish-bytecode.html: Removed.
        * cmake/WebKitPackaging.cmake:

2010-12-20  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Update .gitattributes for WebKitTools -> Tools change
        https://bugs.webkit.org/show_bug.cgi?id=51365

        * .gitattributes: WebKitTools -> Tools rename. Removed no longer existing file references.

2010-12-20  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        * configure.ac: bump version for 1.3.8 release.

2010-12-20  David Levin  <levin@chromium.org>

        Reviewed by Ariya Hidayat.

        .gitignore and webkit-tools-completion.sh have references to WebKitTools that should be Tools.
        https://bugs.webkit.org/show_bug.cgi?id=51343

        Follow up from the WebKitTools -> Tools rename.

        * .gitignore:

2010-12-20  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [CMAKE] Rename WEBKITTOOLS_DIR to TOOLS_DIR
        https://bugs.webkit.org/show_bug.cgi?id=51319

        Change WEBKITTOOLS_DIR variable's name and value to TOOLS_DIR and tools/.

        * CMakeLists.txt:

2010-12-18  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Move WebKitExamplePlugins to Examples
        https://bugs.webkit.org/show_bug.cgi?id=51291

        * Examples: Copied from WebKitExamplePlugins.
        * WebKitExamplePlugins: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/English.lproj: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/English.lproj/InfoPlist.strings: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/Info.plist: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.h: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/MenuHandler.m: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/NetscapeCocoaPlugin.xcodeproj/project.pbxproj: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/main.m: Removed.
        * WebKitExamplePlugins/NetscapeCocoaPlugin/test.html: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/English.lproj: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/English.lproj/InfoPlist.strings: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/Info.plist: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/MovieControllerLayer.h: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/MovieControllerLayer.m: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/NetscapeCoreAnimationMoviePlugin.xcodeproj: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/NetscapeCoreAnimationMoviePlugin.xcodeproj/project.pbxproj: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/Pause.tiff: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/Play.tiff: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/SliderTrackCenter.tiff: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/SliderTrackLeft.tiff: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/SliderTrackRight.tiff: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/Thumb.tiff: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/main.m: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationMoviePlugin/test.html: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/Composition.qtz: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/English.lproj: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/English.lproj/InfoPlist.strings: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/Info.plist: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/NetscapeCoreAnimationPlugin.xcodeproj: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/NetscapeCoreAnimationPlugin.xcodeproj/project.pbxproj: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/main.m: Removed.
        * WebKitExamplePlugins/NetscapeCoreAnimationPlugin/test.html: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin/English.lproj: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin/English.lproj/InfoPlist.strings: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin/Info.plist: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin/NetscapeInputMethodPlugin.xcodeproj/project.pbxproj: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin/main.m: Removed.
        * WebKitExamplePlugins/NetscapeInputMethodPlugin/test.html: Removed.
        * cmake/WebKitPackaging.cmake:

2010-12-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Rename WebKitTools to Tools
        https://bugs.webkit.org/show_bug.cgi?id=49861

        * DerivedSources.pro:
        * GNUmakefile.am:
        * MakeFile:
        * MakeFile.shared:
        * Tools: Renamed from WebKitTools.
        * WebKit.pro:
        * cmake/WebKitPackaging.cmake:
        * wscript:

2010-12-16  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.

        Disable ContextMenu support for now while support for
        CROSS_PLATFORM_MENUS is written.

        * cmake/OptionsEfl.cmake:

2010-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74117.
        http://trac.webkit.org/changeset/74117
        https://bugs.webkit.org/show_bug.cgi?id=51113

        This broke the GTK1 build. (Requested by mrobinson on
        #webkit).

        * GNUmakefile.am:
        * configure.ac:

2010-12-15  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>

        Reviewed by Martin Robinson.

        Changes to enable building WebKit2 for Gtk port.
        (https://bugs.webkit.org/show_bug.cgi?id=37369)

        * GNUmakefile.am: Changes to build either of WebKit1 or WebKit2.
        It basically excludes all WebKit/gtk/webkit/ files when building WebKit2.
        Also, exludes Unittests, DumprenderTree, GtkLauncher etc for WebKit2.
        * configure.ac: Option for enable or disable WebKit2.

2010-12-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-12-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-12-14  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        [git].DS_Store should be in .gitignore
        https://bugs.webkit.org/show_bug.cgi?id=51065

        Added .DS_Store to .gitignore.

        * .gitignore:

2010-12-14  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Eric Seidel.

        [EFL] Add linker script to export less symbols
        https://bugs.webkit.org/show_bug.cgi?id=44609

        Filter the exported symbols by using a linker script. Only symbols
        starting with "ewk_" are exported.

        * cmake/OptionsEfl.cmake: Pass linker option to use a version script
        when linking webkit.
        * cmake/eflsymbols.filter: Added. Export only symbols starting with
        "ewk_" (C linkage).

2010-12-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed build fix for EFL.

        Remove DataSourceGStreamer.cpp in WebCore/CMakeListsEfl.txt
        Because, DataSourceGStreamer.cpp was removed by Bug 30007.

        * ../WebCore/CMakeListsEfl.txt:

2010-12-13  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt][WK2] Fix build if WebKitTools are not available
        https://bugs.webkit.org/show_bug.cgi?id=50242

        * DerivedSources.pro: add new DerivedSources.pro to SUBDIRS.

2010-12-06  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Support the Mozilla-style Fullscreen Javascript API
        https://bugs.webkit.org/show_bug.cgi?id=50572

        * configure.ac: new configure flag to disable the new Javascript
        Fullscreen API build. It is enabled by default.

2010-12-09  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] configure: error out if video is enabled and gstreamer pkg-config check fails
        https://bugs.webkit.org/show_bug.cgi?id=50741

        * configure.ac:

2010-12-07  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Remove WebKitGenerators
        https://bugs.webkit.org/show_bug.cgi?id=50445

        * CMakeLists.txt:
        * cmake/WebKitGenerators.cmake: Removed.

2010-12-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [WINCE] Add build system
        https://bugs.webkit.org/show_bug.cgi?id=50522

        * cmake/OptionsWinCE.cmake: Added.
        * cmake/OptionsWindows.cmake: Added.

2010-12-04  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Better detection of ARM platform
        https://bugs.webkit.org/show_bug.cgi?id=50452

        * CMakeLists.txt:

2010-12-03  Xan Lopez  <xlopez@igalia.com>

        Unreviewed build fix for GTK+.

        Add configure.ac-fu for WebAudio.

        * configure.ac:

2010-12-02  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Eric Seidel.

        [EFL] Fails to build with non-system cairo
        https://bugs.webkit.org/show_bug.cgi?id=50395

        Do not add 'cairo' as a suffix for the paths provided by
        pkgconfig. The paths provided by pkgconfig already include it.

        * cmake/FindCairo.cmake:

2010-12-02  Xan Lopez  <xlopez@igalia.com>

        Third attempt to fix the build.

        * autotools/symbols.filter: be more liberal in one more symbol.

2010-12-02  Xan Lopez  <xlopez@igalia.com>

        Another attempt to fix the GTK+ build.

        * autotools/symbols.filter: try to be more liberal with the
        mangled names of some symbols.

2010-12-02  Xan Lopez  <xlopez@igalia.com>

        Try to fix GTK+ build.

        * autotools/symbols.filter: add missing ';'.

2010-12-02  Martin Robinson  <mrobinson@igalia.com>

        Attempt to fix the GTK+ build. Add missing symbol the
        list of unfiltered symbols for the linker.

        * autotools/symbols.filter: Add symbol used in DumpRenderTree.

2010-12-02  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] DumpRenderTree has two copies of JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=49877

        Prevent the need to compile JSC into DumpRenderTree twice, by adjusting
        the symbol visibility rules for libwebkit. Make all JSC symbols visible,
        while hiding WebCore/WebKit symbols.

        * GNUmakefile.am: Move the symbol visibility flags to the WebKit build.
        * autotools/symbols.filter: Update the symbol filter list with the real
        mangled names of the symbols and include other symbols that DRT needs.

2010-12-02  Daniel Bates  <dbates@rim.com>

        Add autotools generated files to svn:ignore so that these
        files do not show up in an svn stat.

        * .: Added properties svn:ignore, svn:ignore and svn:ignore. Modified property svn:ignore.
        * autotools: Added property svn:ignore.

2010-12-01  Adam Roben  <aroben@apple.com>

        Teach git to ignore files installed by WebKitSupportLibrary and
        WebKitAuxiliaryLibrary

        Fixes <http://webkit.org/b/50348> Git complains about lots of
        untracked files in WebKitLibraries/win

        Reviewed by Steve Falkenburg.

        * .gitignore: Added files from these libraries.

2010-12-01  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Adam Roben.

        vcproj changes can't be applied cleanly by the Windows EWS bot
        https://bugs.webkit.org/show_bug.cgi?id=50328

        * .gitattributes:

2010-11-30  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Use preprocessor argument in GENERATE_DOM_NAMES
        https://bugs.webkit.org/show_bug.cgi?id=49886

        * cmake/WebKitMacros.cmake:

2010-11-30  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        Move generator logic into WebCore CMakeLists.txt file
        https://bugs.webkit.org/show_bug.cgi?id=49885

        * cmake/WebKitMacros.cmake:

2010-11-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        * configure.ac: bump version for 1.3.7 release.

2010-11-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] Remove unused BASE_DIR from the build system
        https://bugs.webkit.org/show_bug.cgi?id=50132

        * WebKit.pri:

2010-11-24  Hayato Ito  <hayato@chromium.org>

        Reviewed by David Levin.

        Add files which Chromium port generates to .gitignore.

        https://bugs.webkit.org/show_bug.cgi?id=49943

        * .gitignore:

2010-11-23  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by David Levin.

        Add WebKit2 VisualStudio files to .gitattributes
        https://bugs.webkit.org/show_bug.cgi?id=49969

        * .gitattributes:

2010-11-19  Mihai Parparita  <mihaip@chromium.org>

        Add recent upstream Chromium dependencies to .gitignore.

        * .gitignore:

2010-11-17  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Changing any GNUmakefile.am in the source tree forces a rebuld of the DOM bindings and WebKit APi
        https://bugs.webkit.org/show_bug.cgi?id=49400

        Move WebKit API build rules out of GNUmakefile.am. These are now in
        WebKit/gtk/GNUmakefile.am.

        * GNUmakefile.am: Remove WebKit API build rules.

2010-11-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-11-16  Andreas Kling  <kling@webkit.org>

        Unreviewed typo fix for previous commit.

        * common.pri:

2010-11-16  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt][Scratchbox] Use gold linker explicitly when available

        gold is faster at linking QtWebKit than binutils ld, but it cannot be
        enabled by default on a system that compiles other Qt projects.
        This is due to gold not supporting the --add-needed flag.

        Original patch by Kimmo Kinnunen.

        * common.pri:

2010-11-16  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Add 'valgrind' build mode

        Passing CONFIG+=valgrind to qmake will now build WebKit in a way
        suitable for debugging with Valgrind.

        Original patch by Christian Sejersen.

        * WebKit.pri:

2010-11-15  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Add additional flags to cmakeconfig.h
        https://bugs.webkit.org/show_bug.cgi?id=49556

        * cmake/OptionsEfl.cmake:
        * cmakeconfig.h.cmake:

2010-11-14  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Martin Robinson.

        [EFL] add pango support
        https://bugs.webkit.org/show_bug.cgi?id=46029

        Add FONT_BACKEND option to switch between pango and freetype.

        * cmake/OptionsEfl.cmake:

2010-11-11  Eric Seidel  <eric@webkit.org>

        Rubber-stamped by Adam Roben.

        * .: Modified property svn:ignore.
         - Add WebKitSupportLibrary.zip and WebKitBuild to the root ignore list.

2010-11-10  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by David Hyatt.

        HTML5 Ruby support should be mandatory feature
        https://bugs.webkit.org/show_bug.cgi?id=49272

        Remove Ruby as optional feature.

        * cmake/OptionsEfl.cmake:
        * cmakeconfig.h.cmake:
        * configure.ac:

2010-11-09  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Xan Lopez.

        gtk platform doesn't support link prefetch
        https://bugs.webkit.org/show_bug.cgi?id=49234

        * configure.ac:

2010-11-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Update version numbers for release.

        * configure.ac:

2010-11-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Adam Barth.

        [EFL] Enable HTML5 Video
        https://bugs.webkit.org/show_bug.cgi?id=48972 

        Enable HTML 5 Video option for WebKit EFL. 

        * cmake/OptionsEfl.cmake:

2010-11-01  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Andreas Kling.

        [Qt][Symbian] QtTestBrowser runs out of memory with most of javascript benchmarks.
        https://bugs.webkit.org/show_bug.cgi?id=48730

        Increase the maximum heap size on Symbian to 256 MB.

        * WebKit.pri:

2010-10-29  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Adam Roben and David Kilzer.

        Fix and cleanup of build systems
        https://bugs.webkit.org/show_bug.cgi?id=48342

        * cmake/OptionsEfl.cmake: Remove unnecessary ENABLE_SANDBOX.
        * cmakeconfig.h.cmake:
        * configure.ac:

2010-10-26  Antonio Gomes  <agomes@rim.com>

        Reviewed by Martin Robinson.

        [GTK] Implement DumpRenderTreeSupportGtk (similarly to DumpRenderTreeSupportQt idea)
        https://bugs.webkit.org/show_bug.cgi?id=48199

        * GNUmakefile.am: Added WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp|h to GTK+'s build system;
        * autotools/symbols.filter: Added DumpRenderTreeSupportGtk symbols to symbols.filter so they do not get
          filtered and get visible by DRT.

2010-10-24  Anders Bakken  <agbakken@gmail.com>

        Reviewed by Simon Hausmann.

        [Qt] Disable enable_fast_mobile_scrolling for QWS
        https://bugs.webkit.org/show_bug.cgi?id=48006

        Turning this on breaks the acidtests for QWS/DirectFB and QWS/QVFB

        * WebKit.pri:

2010-10-22  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r70290.
        http://trac.webkit.org/changeset/70290
        https://bugs.webkit.org/show_bug.cgi?id=48111

        Undelete Android build files.

        * Android.mk: Added.

2010-10-21  Adam Barth  <abarth@webkit.org>

        Reviewed by David Levin.

        Remove Android build system
        https://bugs.webkit.org/show_bug.cgi?id=48111

        * Android.mk: Removed.

2010-10-19  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed, adding missed additionalArguments.

        [CMAKE] additional arguments was missed in GENERATE_DOM_NAMES
        https://bugs.webkit.org/show_bug.cgi?id=47694

        Pass additionalArguments for make_names.pl to choose enabled features.

        * cmake/WebKitMacros.cmake:

2010-10-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r70034.
        http://trac.webkit.org/changeset/70034
        https://bugs.webkit.org/show_bug.cgi?id=47889

        "Gustavo's bot is lame" (Requested by xan_ on #webkit).

        * configure.ac:

2010-10-19  Prof. MAAD  <himself@prof-maad.org>

        Reviewed by Xan Lopez.

        [GTK] Correct erroneous documentation for webkit_web_navigation_action_get_button()
        https://bugs.webkit.org/show_bug.cgi?id=46723

        * WebKit/gtk/webkit/webkitwebnavigationaction.cpp:

2010-10-19  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Bump minimum requirement for libsoup to 2.30
        https://bugs.webkit.org/show_bug.cgi?id=46176

        Bump minimum libsoup to required version to 2.30.0.

        * configure.ac:

2010-10-18  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        Bump version numbers for 1.3.5 release.

        * configure.ac:

2006-10-27  Brady Eidson  <beidson@apple.com>

        70,000!

2010-10-15  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fix introspection support
        https://bugs.webkit.org/show_bug.cgi?id=47723

        Added HTTP cache directory to the WebkitGtk+ GIR sources.

        * GNUmakefile.am:

2010-10-14  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] Fix -Werror after r68637 on x86 platforms.
        Qt's build system sets QT_ARCH statically to i386 or x86_64 accordingly,
        so check for this instead of only checking for x86.

        * WebKit.pri:

2010-10-13  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Add HTTP caching support
        https://bugs.webkit.org/show_bug.cgi?id=44261

        Bump the required version of GLib. The serialization/deserialization
        code of libsoup caching code uses GVariant, which was added to GLib in
        version 2.24.

        * GNUmakefile.am: Add paths for soup HTTP cache code.
        * autotools/webkit.m4: Increase required glib version.

2010-10-13  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Remove more warnings from the g-i scanner run
        https://bugs.webkit.org/show_bug.cgi?id=47255

        Fixes almost all warnings coming from the g-i scanner.

        * GNUmakefile.am: Add missing files and include dirs to the
        scanner run.

2010-10-08  Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] Turn on building WTR
        https://bugs.webkit.org/show_bug.cgi?id=47349

        * DerivedSources.pro:
        * WebKit.pro:

2010-10-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>, Andras Becsi  <abecsi@webkit.org>, Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Add WTR's InjectedBundle build files.
        https://bugs.webkit.org/show_bug.cgi?id=47333

        * DerivedSources.pro:
        * WebKit.pro:

2010-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r69315.
        http://trac.webkit.org/changeset/69315
        https://bugs.webkit.org/show_bug.cgi?id=47363

        Forgot to add the new files (Requested by kbalazs on #webkit).

        * DerivedSources.pro:

2010-10-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>, Andras Becsi  <abecsi@webkit.org>, Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Add WTR's InjectedBundle build files.
        https://bugs.webkit.org/show_bug.cgi?id=47333

        * DerivedSources.pro:
        * WebKit.pro:

2010-10-07  Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Turn on building WTR
        https://bugs.webkit.org/show_bug.cgi?id=47349

        * WebKit.pro:

2010-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix the build for GTK+ 3
        https://bugs.webkit.org/show_bug.cgi?id=47249

        Bump required gtk+-3 version to 2.91.0

        * configure.ac:

2010-10-07  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        [Qt] Re-enable the web inspector for maemo6 builds

        Yeah, it's strange :), but they really want it.

        * WebKit.pri:

2010-10-06  Balazs Kelemen  <kbalazs@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Add WebKitTestRunner's build files
        https://bugs.webkit.org/show_bug.cgi?id=44155

        Add the new subdirs.
        * DerivedSources.pro:
        * WebKit.pro:

2010-10-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Use fast malloc for WebKit EFL
        https://bugs.webkit.org/show_bug.cgi?id=46691

        Use fast malloc for WebKit EFL because the fast malloc is to allocate
        memory quickly.

        * cmake/OptionsEfl.cmake:

2010-10-03  Dimitri Glazkov  <dglazkov@chromium.org>

        Add Chromium depot_tools to files that git should ignore.

        * .gitignore: Added WebKit/chromium/depot_tools.

2010-09-30  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Fix typo in build script.

        * wscript:

2010-09-29  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Csaba Osztrogonác.

        [Qt] Fix the build on non-x86 platforms with gcc

        Don't disable -Werror on arm, that doesn't work when QT_ARCH is
        for example armv6. Instead change the condition as the comment says,
        enable -Werror on x86/gcc where we know it passes. On other platforms
        gcc produces difference warnings, and when they're fixed we can add
        them to the whitelist of -Werror-supported architectures.

        * WebKit.pri:

2010-09-28  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        check USE(GSTREAMER) instead of ENABLE(VIDEO) in gstreamer/ files
        https://bugs.webkit.org/show_bug.cgi?id=46717

        Define WTF_USE_GSTREAMER if configure found the gstreamer
        development files and add the macro in the gcc command-line if needed.

        * GNUmakefile.am:
        * configure.ac:

2010-09-28  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, build sources that used to be built as part of other sources.

        * wscript:

2010-09-28  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] One more build fix for Win.

        * wscript:

2010-09-28  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, ignore Qt-specific (for now?) source in platform/graphics.

        * wscript:

2010-09-28  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Undefined reference errors when linking due to gperf and inlining.
        webkit.org/b/29244

        EFL CMake changes by Leandro Pereira <leandro@profusion.mobi>

        Refactor gperf code generation and usage to fix the debug build with gcc>4.4.
        Hitherto gperf generated C code, these files were included in multiple C++ files across WebCore
        to access the functionality provided. This resulted in debug build failure with newer gcc versions
        because of a behaviour change of gcc, which disables C style inlining in debug mode.
        The make-hash-tools.pl script lets gperf generate C++ code for all gperf files now, which are compiled
        in their own compilation unit.
        The functionality provided by the generated code is wrapped behind HashTools.h, so there is no need
        for multiple inclusions of generated C files to access these functions.

        * cmake/WebKitMacros.cmake:

2010-09-27  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] use ENABLE(GLIB_SUPPORT)
        https://bugs.webkit.org/show_bug.cgi?id=46630

        Enabling GLIB_SUPPORT on all ports that use GLib to simplify
        checks.

        * GNUmakefile.am: Enabled the GLIB_SUPPORT define.

2010-09-24  Romain Pokrzywka  <romain@kdab.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix the Wince build.

        * WebKit.pri: Apply msvc flags to wince, too.

2010-09-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Enable warnings during build by default
        https://bugs.webkit.org/show_bug.cgi?id=46351

        Change default build to enable several warnings like other ports do.
        We need to pay special attention to "-Wall" in order to produce better
        code, so highlight this keyword, too.

        * cmake/WebKitHelpers.cmake:

2010-09-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Fix build with GCC 4.4.x
        https://bugs.webkit.org/show_bug.cgi?id=40826

        Change the -fstrict-aliasing flag to -fno-strict-aliasing as other
        ports like GTK and QT are using in their build systems. It was failing
        to execute when compiled with GCC 4.4.x in Release mode.

        Refactor the flags in order to be more readable.

        * cmake/WebKitHelpers.cmake:

2010-09-22  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Move the accelerated compositing build flag to the right place
        https://bugs.webkit.org/show_bug.cgi?id=43882

        * WebKit.pri: Removed the redundant version check.

2010-09-21  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Martin Robinson.

        Fix linking issues of the GTK+ port on Windows
        https://bugs.webkit.org/show_bug.cgi?id=45844

        * GNUmakefile.am: link on Windows with ole32.dll, winmm.dll and shlwapi.dll
        * configure.ac: link on Windows with ole32.dll, winmm.dll and shlwapi.dll
        and export correctly all needed symbols from the libwebkitgtk DLL.

2010-09-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Generate correct WebKit gir file with g-i 0.9.5
        https://bugs.webkit.org/show_bug.cgi?id=46173

        Generate a correct gir file for WebKit with the
        gobject-introspection 0.9.5 scanner.

        * GNUmakefile.am:

2010-09-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Update for 1.3.4 release.

        * configure.ac:

2010-09-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Configure flag for Opcode stats
        https://bugs.webkit.org/show_bug.cgi?id=46081

        Opcode stats won't work with JIT enabled, so bail out if both are
        enabled at the same time.

        * configure.ac:

2010-09-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fix --disable-jit
        https://bugs.webkit.org/show_bug.cgi?id=46080

        Manually define ENABLE_JIT to 0 when we want the feature disabled.

        If the value is undefined Platform.h will enable it again
        automatically in some platforms, which is probably not what the
        user wanted if he passed --disable-jit.

        * configure.ac:

2010-09-18  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, fix use of wrong case in name.

        * wscript:

2010-09-16  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Jian Li.

        Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
        https://bugs.webkit.org/show_bug.cgi?id=45798

        * configure.ac:

2010-09-15  Commit Queue  <commit-queue@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-09-15  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-09-15  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fixes for wxMSW.

        * wscript:

2010-09-14  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt] qmake doesn't generate correct dependencies for rcc resource files
        https://bugs.webkit.org/show_bug.cgi?id=45747

        * WebKit.pri: add OUT_PWD to DEPENDPATH

2010-09-11  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] V8 port: webkit project files changes
        https://bugs.webkit.org/show_bug.cgi?id=45140

        * WebKit.pro: Don't compile JavaScriptCore and jsc when
        building with v8.

2010-09-11  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Make introspection work with g-o-i 0.9.5
        https://bugs.webkit.org/show_bug.cgi?id=45590

        Bump required gobject-introspection version to 0.9.5.

        * configure.ac:

2010-09-09  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Unreviewed buildfix.

        [Qt] Treat warnings as errors by default for gcc
        https://bugs.webkit.org/show_bug.cgi?id=43191

        The buildfix r66990 fixes the build for the Maemo
        branch of Qt, but the symbols maemo5 and 6 are not defined
        for regular branches on ARM.
        This fixes the build by disabling -Werror for any ARM platform.

        * WebKit.pri: Don't add -Werror for arm platforms.

2010-09-08  Peter Kasting  <pkasting@google.com>

        Reviewed by David Hyatt.

        Add smooth scrolling framework, and a Windows implementation.
        https://bugs.webkit.org/show_bug.cgi?id=32356

        * wscript: Add Windows ScrollAnimator.

2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix after r66972.

        [Qt] Treat warnings as errors by default for gcc
        https://bugs.webkit.org/show_bug.cgi?id=43191

        * WebKit.pri: Don't add -Werror for maemo platforms.

2010-09-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Need a WebSocket implementation
        https://bugs.webkit.org/show_bug.cgi?id=45197

        * configure.ac: Enable WebSocket by default.

2010-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL
        https://bugs.webkit.org/show_bug.cgi?id=44098

        To support video of HTML5 based on gstreamer, add cmake files for gstreamer. 

        * cmake/FindGStreamer-App.cmake: Added.
        * cmake/FindGStreamer-Base.cmake: Added.
        * cmake/FindGStreamer-Interfaces.cmake: Added.
        * cmake/FindGStreamer-Pbutils.cmake: Added.
        * cmake/FindGStreamer-Plugins-Base.cmake: Added.
        * cmake/FindGStreamer-Video.cmake: Added.
        * cmake/FindGStreamer.cmake: Added.
        * cmake/OptionsEfl.cmake:

2010-09-08  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Treat warnings as errors by default for gcc
        https://bugs.webkit.org/show_bug.cgi?id=43191

        * WebKit.pri: -Werror added to QMAKE_CXXFLAGS for x86 Linux platforms

2010-09-07  Arno Renevier  <arno@renevier.net>

        Reviewed by Holger Freyther.

        gitignore *~ files and gtk *.pot files
        https://bugs.webkit.org/show_bug.cgi?id=45129

        * .gitignore:

2010-09-04  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Move test browser to WebKitTools directory
        https://bugs.webkit.org/show_bug.cgi?id=45212

        Follow other ports like QT and GTK which moved the test browser to
        WebKitTools directory.

        * CMakeLists.txt: Include test browser if port defines one.

2010-09-02  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Name install directories according to library name
        https://bugs.webkit.org/show_bug.cgi?id=45126

        * cmake/OptionsEfl.cmake: Use library name in order to define the data
        directory.

2010-09-02  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Do not override custom compile flags
        https://bugs.webkit.org/show_bug.cgi?id=45125

        Set a default build type if and only if user did not define one as
        command line options and he did not give custom CFLAGS or CXXFLAGS.
        Otherwise, flags from default build type would override user-defined
        ones.

        * CMakeLists.txt:

2010-09-02  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Fix double addition of -fPIC
        https://bugs.webkit.org/show_bug.cgi?id=45122

         When SHARED_CORE=ON, -fPIC is automatically added because all
         libraries are dynamic. Only when static libraries are built that
         -fPIC needs to be manually inserted (because the final library,
         libewebkit.so, is dynamic).

        * cmake/OptionsCommon.cmake: Remove -fPIC flag.
        * cmake/WebKitHelpers.cmake: Add -fPIC flags iff SHARED_CORE=ON.

2010-09-01  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Need to check LibSoup version
        https://bugs.webkit.org/show_bug.cgi?id=44658

        Add version check of LibSoup.

        * cmake/FindLibSoup2.cmake:

2010-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Martin Robinson.

        Preparations for the 1.3.4 release. Bump webkit version to 543.7,
        as well.

        * configure.ac:

2010-08-30  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Adam Barth.

        [EFL] Remove compiler optimization for gcc 4.5.1
        https://bugs.webkit.org/show_bug.cgi?id=44520

        GCC 4.5.1 generates wrong code because of -ftree-sra which is enabled
        by default at any optimization level.

        Newer and older versions are not affected, so check for compiler
        version before disabling this.

        * cmake/WebKitHelpers.cmake: add flag depending on compiler version.

2010-08-30  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer
        are deprecated
        https://bugs.webkit.org/show_bug.cgi?id=44787

        We have replaced GtkVersioning.cpp with GtkVersioning.c and
        created a function (getDefaultGDKPointerDevice) to get the pointer
        of the window with the new APIs. We added that function to DRT and
        copyandpaste unit test.

        * GNUmakefile.am:

2010-08-30  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] WebKit DOM bindings build should not depend on output GNUMakefile
        https://bugs.webkit.org/show_bug.cgi?id=44805

        Move the DOM bindings source lists and generator rules to
        WebCore/bindings/gobject/GNUmakefile.am. This will prevent a full WebKit API
        rebuild whenever the automake files change, decreasing build times.

        * GNUmakefile.am:

2010-08-27  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adam Barth.

        <http://webkit.org/b/44802> REGRESSION (r65351): WebCore build fails due to attempting to directly access WebKitTools/Scripts

        Move create-html-entity-table in to WebCore so that the build is again self-contained.
        The script is also updated to take input as a CSV file rather than JSON as the former
        can be parsed without requiring a third-party Python module be installed.

        * cmake/WebKitMacros.cmake:

2010-08-27  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kevin Ollivier.

        [BREWMP] Add build system
        https://bugs.webkit.org/show_bug.cgi?id=44645

        Check wxpython option only when build_port is wx.

        * wscript:

2010-08-27  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed. Fix compiling dependencies on EFL port due to r65891.

        No new functionality so no new tests.

        * cmake/WebKitGenerators.cmake:

2010-08-26  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] The GNUmakefile.am files contain a myriad of confusing preprocessor and compiler flag definitions
        https://bugs.webkit.org/show_bug.cgi?id=44624

        Clean up GNUmakefile.am.

        * GNUmakefile.am: Make the comments describing the global_* variables more readable and
        correct. Move WebKit-specific include lines and definitions out of webkitgtk_cppflags,
        corekit_cppflags and webcoregtk_cppflags and straight to the appropriate CPPFLAGS definition.
        Use global_cppflags for compiler flags that apply to both C++ and C code. Move some JavaScriptCore
        specific includes to the appropriate sub-directory GNUmakefile.am. Make sure the tests build
        with the global CPP flags as well.

2010-08-25  Kwang Yul Seo  <skyul@company100.net>

        Reviewed by Kevin Ollivier.

        [BREWMP] Add build system
        https://bugs.webkit.org/show_bug.cgi?id=44645

        Make waf script portable so that we can add more ports.

        * wscript:

2010-08-25  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] CodeGeneratorGObject not picking up FEATURE_DEFINES
        https://bugs.webkit.org/show_bug.cgi?id=44608

        Move FEATURE_DEFINES declaration here, since it's used by the
        bindings code generator. Also, fix typo in the variable holding
        the defines.

        * GNUmakefile.am:

2010-08-25  Rafael Antognolli  <antognolli@profusion.mobi>

        Unreviewed build fix.

        [EFL] Build fix for revision 65332
        https://bugs.webkit.org/show_bug.cgi?id=44543

        Generated variables are now returned from FindPkgConfig, so no need
        to document the custom ones.

        * cmake/FindGthread.cmake:

2010-08-24  Xan Lopez  <xlopez@igalia.com>

        Build fix, strike 2.

        The unit tests are C files, so put the flag in global_cflags.

        * GNUmakefile.am:

2010-08-24  Xan Lopez  <xlopez@igalia.com>

        Try to fix GTK+ build.

        Move GTK_API_VERSION_2 define to here, since we want to use it
        outside of WebCore/WebKit.

        * GNUmakefile.am:

2010-08-24  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        [EFL] Unreviewed build fix after r65891.

        r65891 renamed RemoteInspectorFrontend to InspectorFrontend. Rename
        accordingly in CMake build system.

        * cmake/WebKitGenerators.cmake:

2010-08-20  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed. Fix build when using GNU gold.
        When linking with GNU gold, some symbols are not found: explicitly
        link with the required libraries.

        * cmake/FindFontconfig.cmake: Added.
        * cmake/OptionsEfl.cmake: Find Fontconfig, JPEG, and PNG libraries.

2010-08-19  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] GTK XOverlay support in GStreamerGWorld
        https://bugs.webkit.org/show_bug.cgi?id=39474

        * configure.ac: gst-interfaces link support needed for use of
        GstXOverlay interface.
        * GNUmakefile.am: Added new FullscreenVideoController files in the
        build.

2010-08-18  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Bump library dependencies
        https://bugs.webkit.org/show_bug.cgi?id=44182

        Prepare for EFL release. All the EFL dependencies were bumped to
        1.0.0. Eina and Ecore_X needed a bump because of API has changed and
        the others were changed just to follow those two and because this is
        a stable release.

        * cmake/FindEFL.cmake: Bump dependencies.

2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: replace hand written InspectorBackendStub.js with generated one.
        https://bugs.webkit.org/show_bug.cgi?id=43791

        * GNUmakefile.am:

2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65595.
        http://trac.webkit.org/changeset/65595
        https://bugs.webkit.org/show_bug.cgi?id=44161

        qt build failed (Requested by loislo on #webkit).

        * GNUmakefile.am:

2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: replace hand written InspectorBackendStub.js by generated one.
        https://bugs.webkit.org/show_bug.cgi?id=43791

        * GNUmakefile.am:

2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Darin Adler.

        Add NetworkingContext to avoid layer violations
        https://bugs.webkit.org/show_bug.cgi?id=42292

        Preparation: Just add the files to the build system.

        * GNUmakefile.am: Added new files.

2010-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.couk>

        Reviewed by Martin Robinson.

        WebBackForwardList.get_{back|forward}_list_with_limit not introspectable
        https://bugs.webkit.org/show_bug.cgi?id=43054

        * GNUmakefile.am: Give also API implementation files to the GIR
        scanner.

2010-08-17  Martin Robinson  <mrobinson@igalia.com>

        GTK+ Build fix for those having stable versions of GLib.

        * configure.ac: Only invoke GLIB_GSETTINGS if we have the necessary gio version.

2010-08-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65500.
        http://trac.webkit.org/changeset/65500
        https://bugs.webkit.org/show_bug.cgi?id=44108

        Qt bots failed to compile. (Requested by loislo on #webkit).

        * GNUmakefile.am:

2010-08-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: replace hand written InspectorBackendStub.js by generated one.
        https://bugs.webkit.org/show_bug.cgi?id=43791

        * GNUmakefile.am:

2010-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] GSettings support adds annoying warnings on systems with older glib versions
        https://bugs.webkit.org/show_bug.cgi?id=44056

        Add file containing GLIB_GSETTINGS macro so that
        configure doesn't spit warnings in older systems.

        * autotools/gsettings.m4: Added.
        * .gitignore: Ignore files that are generated inside autotools
        explicitely, because we have some that are kept in version
        control.

2010-08-16  Paul Sawaya  <psawaya@apple.com>

        Reviewed by Chris Marrin.

        Added shader validation via ANGLE
        https://bugs.webkit.org/show_bug.cgi?id=42405

        Added ANGLE build to Makefile

        * Makefile:

2010-08-16  Kevin Ollivier  <kevino@theolliviers.com>

        [wx] Build fix, do not build WebCore as a convenience library as this leads to
        errors in the Win build w/export symbols and causes problems with DOM bindings
        debugging in gdb. 

        * wscript: Copied from WebCore/wscript.

2010-08-15  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Build error on r65378
        https://bugs.webkit.org/show_bug.cgi?id=44019

        Add GENERATE_JSON macro for HTMLEntityNames.json instead of HTMLEntityNames.gperf

        * cmake/WebKitMacros.cmake:

2010-08-14  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Kenneth Rohde Christiansen.

        [CMake] Add preprocessor detection for generator scripts
        https://bugs.webkit.org/show_bug.cgi?id=43984

        * cmake/OptionsCommon.cmake:

2010-08-14  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Rohde Christiansen.

        Update .gitignore file for more files
        https://bugs.webkit.org/show_bug.cgi?id=43991

        * .gitignore:

2010-08-13  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.

        * cmake/FindGthread.cmake: Fix warnings about obsolete PKGCONFIG macro.
        * cmake/WebKitGenerators.cmake: FLEX_EXECUTABLE was defined already
        by the root CMakeLists.txt file, so remove relevant lines that
        depends on FIND_PACKAGE_HANDLE_STANDARD_ARGS macro, which isn't
        available anymore.

2010-08-13  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        We have to add the ACLOCAL_FLAGS in the env to the autogen.sh
        ACLOCAL_FLAGS variable in order to honor the value already
        defined, jhbuild uses it to pass parameters.

        * autogen.sh:

2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Introduce Maemo6 for mobile features
        https://bugs.webkit.org/show_bug.cgi?id=43969

        * WebKit.pri: Use maemo6 where we also use maemo5.

2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Clean up mobile feature useage
        https://bugs.webkit.org/show_bug.cgi?id=43968

        * WebKit.pri: Set feature defaults here for some Nokia specific mobile platforms

2010-08-13  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        [CMake] Cleanup generator code.
        https://bugs.webkit.org/show_bug.cgi?id=39164

        * cmake/WebKitGenerators.cmake:
        * cmake/WebKitMacros.cmake:

2010-08-13  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        [CMake] Add missing FIND_PACKAGE(Gperf)
        https://bugs.webkit.org/show_bug.cgi?id=43937

        * CMakeLists.txt:

2010-08-12  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        Add more Chromium-related dependency directories to .gitignore.
        https://bugs.webkit.org/show_bug.cgi?id=43940

        * .gitignore: Added all existing that are created by update-webkit --chromium.

2010-08-12  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Use GSettings to save/restore Web Inspector settings
        https://bugs.webkit.org/show_bug.cgi?id=43512

        * GNUmakefile.am: GSettings rules.
        * configure.ac: GSettings infrastructure, and check if we should
        use it by looking for an appropriate version of GIO.

2010-08-12  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Making CMake keep track of theme dependencies.
        https://bugs.webkit.org/show_bug.cgi?id=43862

        Removing unused macro GENERATE_EDJ.

        * cmake/WebKitEfl.cmake:

2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r65225.
        http://trac.webkit.org/changeset/65225
        https://bugs.webkit.org/show_bug.cgi?id=43918

        Broke EFL port build (Requested by acidx on #webkit).

        * cmake/WebKitGenerators.cmake:
        * cmake/WebKitMacros.cmake:

2010-08-12  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        [CMake] Cleanup generator code.
        https://bugs.webkit.org/show_bug.cgi?id=39164

        * cmake/WebKitGenerators.cmake:
        * cmake/WebKitMacros.cmake:

2010-08-10  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Antonio Gomes.

        [Qt] Build WebKit2 into a static lib

        https://bugs.webkit.org/show_bug.cgi?id=43621

        * WebKit.pro: Moved WebKit2 into the subdirs before WebCore since WebCore links against the WebKit2 lib.

2010-08-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r64904.
        http://trac.webkit.org/changeset/64904
        https://bugs.webkit.org/show_bug.cgi?id=43671

        Broke the Qt Windows builders. (Requested by bbandix on
        #webkit).

        * WebKit.pro:

2010-08-07  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Eric Seidel.

        [Qt] Build WebKit2 into a static lib

        https://bugs.webkit.org/show_bug.cgi?id=43621

        * WebKit.pro: Moved WebKit2 into the subdirs before WebCore since WebCore links against the WebKit2 lib.

2010-08-06  ryuan choi  <ryuan.choi@samsung.com>

        Reviewed by Antonio Gomes.

        [EFL] Regression (64763) build fix for efl.
        https://bugs.webkit.org/show_bug.cgi?id=43597

        change ENABLE_BLOB_SLICE to ENABLE_BLOB for fixing build break

        * cmake/OptionsEfl.cmake:

2010-08-05  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Unify blob related feature defines to ENABLE(BLOB).
        https://bugs.webkit.org/show_bug.cgi?id=43081

        * cmakeconfig.h.cmake:
        * configure.ac:

2010-08-05  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Move files that are generated by the configure script to
        DISTCLEANFILES, where they should be. This fixes building after a
        make clean.

        * GNUmakefile.am:

2010-08-04  Siddharth Mathur  <siddharth.mathur@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt][Symbian] Variable max heap size between target/emulator
        https://bugs.webkit.org/show_bug.cgi?id=41480

        * WebKit.pri: Symbian-only code block for EPOCHEAPSIZE configuration

2010-08-03  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-08-03  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Fix DOM event dispatch
        https://bugs.webkit.org/show_bug.cgi?id=40847

        Add new files to the build.

        * GNUmakefile.am:

2010-08-03  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Silence JSCore gir "creation".

        * GNUmakefile.am:

2010-08-02  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed, rolling out r64471.
        http://trac.webkit.org/changeset/64471
        https://bugs.webkit.org/show_bug.cgi?id=43005

        Rolling out https://bugs.webkit.org/show_bug.cgi?id=43005
        until further discussion

        * GNUmakefile.am:

2010-08-02  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for the Audio element in the DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=43313

        Add new files to the build.

        * GNUmakefile.am:

2010-08-02  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Kilzer.

        AX: Support methods for web apps to interact with the native accessibility APIs
        https://bugs.webkit.org/show_bug.cgi?id=43005

        * GNUmakefile.am:

2010-08-02  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Simon Hausmann.

        [Qt] Generate forwarding headers for WebKit2

        https://bugs.webkit.org/show_bug.cgi?id=43336

        * DerivedSources.pro: Added WebKit2/DerivedSources.pro to SUBDIRS if webkit2 is on.

2010-07-30  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Nikolas Zimmermann.

        [CMake] Add FindGperf.cmake
        https://bugs.webkit.org/show_bug.cgi?id=39163

        Add a clean gperf dedection since we need it for building.

        * CMakeLists.txt:
        * cmake/FindGperf.cmake: Added.

2010-07-30  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Add library version and soname to EFL generated libraries and binary.
        https://bugs.webkit.org/show_bug.cgi?id=43212

        Make WebKit-EFL follow libtool soname versioning scheme.

        * cmake/OptionsEfl.cmake: Added PROJECT_VERSION_PATCH to PROJECT_VERSION.

2010-07-29  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed build fix.

        Fix installation of autogenerated header files.

        * GNUmakefile.am: Fix autogenerated header file installation.

2010-07-27  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed build fix.

        Add missing webkitdomdefines.h header to the sources list.

        * GNUmakefile.am: Add missing header to the sources list.

2010-07-27  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Ojan Vafai.

        Add FILE_SYSTEM build flag for FileSystem API
        https://bugs.webkit.org/show_bug.cgi?id=42915

        * configure.ac:

2010-07-26  ryuan choi  <ryuan.choi@samsung.com>

        Unreviewed build fix.

        [EFL]REGRESSION(r63952): build break because of InspectorBackendDispatcher.cpp
        https://bugs.webkit.org/show_bug.cgi?id=43021

        Modify cmake script to fix build break as adding InspectorBackendDispatcher.

        * cmake/WebKitGenerators.cmake:

2010-07-27  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Changing library names (appending suffix "_efl")
        https://bugs.webkit.org/show_bug.cgi?id=42902

        Instead of having libwebcore.so, we will have libwebcore_efl.so.
        Same for javascriptcore and wtf when compiled as shared, and for jsc.

        * cmake/OptionsEfl.cmake:

2010-07-26  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Get rid of libgdom
        https://bugs.webkit.org/show_bug.cgi?id=42378

        Remove the need to build the libgdom intermediate library.

        * GNUmakefile.am: Move the source list for the GObject DOM bindings to
        the top-level GNUmakefile.am, since they are logically part of WebKit, instead
        of WebCore. List all auto-generated files statically and remove no-longer-
        used variables. Fix an issue where some places expected webkitenumtypes.cpp
        to be generated in different directories.

2010-07-24  Riccardo Magliocchetti  <riccardo.magliocchetti@gmail.com>

        Reviewed by Xan Lopez.

        [GTK] Enable jit compilation on arm
        https://bugs.webkit.org/show_bug.cgi?id=42856

        Add missing bits to configure.ac to build the arm jit.
        Compile and tested on debian sid armel on a qemu vm.

        * configure.ac:

2010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Cleanup glib support (make it optional)
        https://bugs.webkit.org/show_bug.cgi?id=42480

        Fixing support for compiling EFL port without glib.

        * cmake/FindGthread.cmake: Added.
        * cmake/OptionsEfl.cmake:

2010-07-23  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Add support for using libcurl network backend.
        https://bugs.webkit.org/show_bug.cgi?id=42286

        Instead of just libsoup, the EFL port now can use libcurl backend.
        This is a step in the direction of removing dependency on glib. Just
        need to pass the option -DNETWORK_BACKEND=curl to cmake in order to
        enable it.

        * cmake/OptionsEfl.cmake:

2010-07-23  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Enable the build of MiniBrowser.

        * WebKit.pro: add MiniBrowser.pro to SUBDIRS.

2010-07-23  Balazs Kelemen  <kb@inf.u-szeged.hu>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Setup the QtWebProcess

        https://bugs.webkit.org/show_bug.cgi?id=42623

        * WebKit.pro: Add WebKit2.pro to the build guarded by webkit2 config variable.

2010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Enable Ecore-X on compile time
        https://bugs.webkit.org/show_bug.cgi?id=42600

        Check for a flag received from cmake configure and disable it
        if necessary. Also disable it if Ecore-X wasn't found.

        EFL port does not support automated tests yet.

        * cmake/FindEFL.cmake:
        * cmake/OptionsEfl.cmake:

2010-07-20  Hans Wennborg  <hans@chromium.org>

        Reviewed by Steve Block.

        Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
        https://bugs.webkit.org/show_bug.cgi?id=42380

        RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
        bindings/generic a while a go (in r54593), but need to
        be added to the build in order to be used.

        No new functionality so no new tests.

        * Android.mk:

2010-07-16  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build system cleanup.

        Remove reference to "mediaControlsGtk.css".

        * cmake/WebKitGenerators.cmake:

2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Antonio Gomes.

        [EFL] Build with MathML enabled. Fix build when MathML is enabled and
        make it the default.
        https://bugs.webkit.org/show_bug.cgi?id=42453

        * cmake/OptionsEfl.cmake: build with MathML enabled as default.

2010-07-15  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Oliver Hunt.

        [GTK] Simplify the distribution step
        https://bugs.webkit.org/show_bug.cgi?id=42414

        * GNUmakefile.am: Remove unused variables. Rely on WebCore/GNUmakefile.am
        to handle distributing IDL files from WebCore and to modify EXTRA_DIST.

2010-07-14  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Get rid of libWebCoreJS
        https://bugs.webkit.org/show_bug.cgi?id=42083

        * GNUmakefile.am: Remove the libWebCoreJS library from the extra
        link libraries. Add IDL files to the distribution manually, as they
        are no longer included in the header list. This prevents a good deal
        of repetition in the source listings by avoiding listing both the IDL
        files and their final targets.

2010-07-14  Vincent Scheib  <scheib@chromium.org>

        Reviewed by Kent Tamura

        Configure Git to ignore build files generated by Chromium .gyp on windows.

        Bug 42205: Chromium build files on windows not ignored by git
        https://bugs.webkit.org/show_bug.cgi?id=42205
        
        * .gitignore: Updated

2010-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r63262.
        http://trac.webkit.org/changeset/63262
        https://bugs.webkit.org/show_bug.cgi?id=42229

        broke Windows compile (Requested by bweinstein on #webkit).

        * WebKit.pro:

2010-07-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>

        Reviewed by Oliver Hunt.

        Separate CoreFoundation specific tests in JSC's testapi.c

        testapi.c depends on the Core Foundation.
        https://bugs.webkit.org/show_bug.cgi?id=40058

        * WebKit.pro: enable compilation of JSC C API test.

2010-07-13  Scott Violet  <sky@chromium.org>

        Reviewed by David Levin.

        [Chromium] Makes pressing tab accept the currently selected item in a popup.
        https://bugs.webkit.org/show_bug.cgi?id=42172

        * WebCore/platform/chromium/PopupMenuChromium.cpp:

2010-07-12  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump to 1.3.3

        * configure.ac:

2010-07-12  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Suffix .mo files with the GTK+ API version so that they can be
        parallel installable.

        * configure.ac:

2010-07-12  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Add another include path to the scanner to avoid warnings related
        to undefined types. It wasn't picking up <webkit/foo.h>-like
        headers.

        * GNUmakefile.am:

2010-07-07  Rafael Antognolli  <antognolli@profusion.mobi>

        Reviewed by Adam Barth.

        [EFL] Fix cmake build and libsoup detection
        Some changes should be done to cmake build system to fix the detection of libsoup and correct some link paths:
        - LINK_FLAGS should be set using quotes, otherwise some wrong
        substitution takes place;
        - we should use LIBSOUP24_* instead of LIBSOUP_* since this is the
        version we are using;
        - need to set HAVE_LIBSOUP_2_29_90 if we find a version equal or newer
        than that.
        https://bugs.webkit.org/show_bug.cgi?id=41717

        * cmake/OptionsEfl.cmake:

2010-07-06  Leandro Pereira  <leandro@profusion.mobi>

        Unreviewed build fix.

        [EFL] Add macro to generate inspector code.

        * cmake/WebKitGenerators.cmake:

2010-07-06  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        Build fix after r62549.

        * GNUmakefile.am: Remove new variable that is no longer used.

2010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        WebInspector: generator part of the patch for bug 40675.
        On the way to Remote Debugging we want to support JSON serialization
        on both sides of WebInspector transport.
        As far as InspectorFrontend class is a simple proxy to WebInspector
        it would be better to generate it from an IDL file.
        We have generator infrastructure for binding and will reuse it for
        new generator.
        https://bugs.webkit.org/show_bug.cgi?id=41692

        * GNUmakefile.am:

2010-07-05  Antti Koivisto  <koivisto@iki.fi>

        Revert unplanned project file change.

        * WebKit.pro:

2010-06-23  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Separate DerivedSources per-project
        https://bugs.webkit.org/show_bug.cgi?id=41109

        Separate WebKitGTK+ DerivedSources into per-project subdirectories to prepare
        for properly building WebKit2.

        * GNUmakefile.am:

2010-07-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix a comment in WebKit.pri.

        * WebKit.pri:

2010-06-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix qmake vcproj generation for QtWebKit.

        qmake use TARGET=/LIBS+= -lTARGET to create dependencies
        between projects in a subdir template.

        Since when compiling outside of Qt we hijack the target name of
        QtWebKit to add the configuration and version suffix to the binary
        filename, qmake can't establish the WebCore project as a dependency
        to QtTestBrowser.

        This patch makes sure that the target is not hijacked on the
        first of the three passes where the dependencies are determined.

        * WebKit.pri:

2010-07-01  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Laszlo Gombos.

        [Qt][Symbian] Bumped up the maximum heap size to 96MB

        * WebKit.pri:

2010-06-30  Leandro Pereira  <leandro@profusion.mobi>

        Unreviewed.

        Generate CSSValueKeywords.cpp instead of CSSValueKeywords.c to avoid
        recompilation and relinking of WebCore when no files were changed.

        * cmake/WebKitGenerators.cmake:

2010-06-29  Antoine Labour  <piman@chromium.org>

        Reviewed by Dimitri Glazkov.

        Only call Windows-specific PlatformSkiaContext functions on Windows.

        * WebCore/platform/graphics/chromium/LayerChromium.cpp:
        * WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:

2010-06-28  John Gregg  <johnnyg@google.com>

        Reviewed by Kent Tamura.

        add ENABLE_DIRECTORY_UPLOAD build support
        https://bugs.webkit.org/show_bug.cgi?id=41100

        * configure.ac:

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump version to 1.3.2.

        * configure.ac:

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Gustavo Noronha.

        Bump gobject-introspection required version to 0.6.15, since we
        are now shipping version 1.1 gir files.

        * configure.ac:

2010-06-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed build fix.

        [EFL] Build fix for latest version of Ecore library.
        Ecore recently changed return type of callbacks from int to Eina_Bool.

        * cmake/FindEFL.cmake: Bump version of Ecore dependency.

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Does not compile with -DGSEAL_ENABLE
        https://bugs.webkit.org/show_bug.cgi?id=37851

        Add automake flag to signal whether we are building with GTK+ 2.x
        or 3.x.

        * configure.ac:

2010-06-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for GTK+3
        https://bugs.webkit.org/show_bug.cgi?id=41253

        Add --with-gtk configure flag, defaulting to support for GTK+ 2.x.

        * GNUmakefile.am:
        * configure.ac:

2010-06-26  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add an --enable-web-timing flag which guards Web Timing support.
        https://bugs.webkit.org/show_bug.cgi?id=38924

        This flag is disabled by default.
        See: http://dev.w3.org/2006/webapi/WebTiming/

        * configure.ac:

2010-06-25  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>

        Reviewed by Simon Hausmann.

        Introduce to QtScript benchmarks.

        The QtScript performance should be tested regularly. The patch introduces
        micro benchmarks for existing API.

        [Qt] Performance of the QtScript API is not tested.
        https://bugs.webkit.org/show_bug.cgi?id=40911

        * WebKit.pro:

2010-06-25  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [CMake] Add option to enable JIT.
        JIT is disabled by default, but now it's possible to enable it through
        an option to CMake: -DENABLE_JIT will enable it.
        https://bugs.webkit.org/show_bug.cgi?id=40936

        * cmake/OptionsEfl.cmake: add new -DENABLE_JIT option.
        * cmakeconfig.h.cmake: use new -DENABLE_JIT option.

2010-06-23  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Add support to CPack (to generate source tarballs)
        https://bugs.webkit.org/show_bug.cgi?id=41009
        
        * CMakeLists.txt:
        * cmake/OptionsEfl.cmake: Define the default source generator for
        the EFL port.
        * cmake/WebKitPackaging.cmake: Added. This file filters the source
        files so that only files relevant to the selected port are included
        in the source tarball. See comments for details.

2010-06-22  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Test commit for commit-queue@webkit.org.

2010-06-21  Prasad Tammana  <prasadt@chromium.org>

        Reviewed by Darin Adler.

        DumpRenderTree should allow tests with modal dialogs
        https://bugs.webkit.org/show_bug.cgi?id=35350

        * DumpRenderTree/LayoutTestController.cpp:
        (abortModalCallback):
        (LayoutTestController::staticFunctions):
        * DumpRenderTree/LayoutTestController.h:
        * DumpRenderTree/mac/LayoutTestControllerMac.mm:
        (LayoutTestController::abortModal):
        Add abortModal method to LayoutTestController and make it available from script.

        * DumpRenderTree/mac/UIDelegate.mm: Add support for showModalDialog.
        (-[UIDelegate modalWindowWillClose:]): Observer for NSWindowWillCloseNotifications to call
        abortModal from when modal window closes.
        (-[UIDelegate webViewRunModal:]): Delegate method for showModalDialog to run the modal loop.

2010-06-21  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Unreviewed debug build fix.

        [CMake] Do not force build type to Release
        https://bugs.webkit.org/show_bug.cgi?id=40566

        * CMakeLists.txt:

2010-06-21  Satish Sampath  <satish@chromium.org>

        Reviewed by Steve Block.

        Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=40878

        * configure.ac:

2010-06-17  Shu Chang  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix the link error on symbian with ENABLE_JIT=0.
        1. Add "#if ENABLE(JIT)" in the header file;
        2. Put feature enable/disable logic to a common.pri so
        that both JavaScriptCore.pri and WebCore.pri can share.

        https://bugs.webkit.org/show_bug.cgi?id=40780

        * common.pri: Added.

2010-06-17  Alexis Menard  <alexis.menard@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Upstream the WebKit QML integration plugin
        https://bugs.webkit.org/show_bug.cgi?id=40050

        Add to the build the QML WebKit integration plugin.

        * WebKit.pro:

2010-06-17  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Gustavo Noronha.

        Update CMake build system to use new script for generating source files
        with gperf (r61091).
        https://bugs.webkit.org/show_bug.cgi?id=40628

        * cmake/WebKitGenerators.cmake:

2010-06-17  Mark Brand  <mabrand@mabrand.nl>

        Reviewed by Simon Hausmann.

        [Qt] use "win32-g++*" scope to match all MinGW makespecs

        The scope "win32-g++" comes from the name of the makespec. However, it
        is frequently used to check for MinGW. This works fine as long as
        win32-g++ is the only makespec for MinGW. Now we need the wildcard
        to cover "win32-g++-cross" as well.

        * WebKit.pri:

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Unreviewed build fix.

        Remove GSEAL from the debug config since the bots have a GTK+
        version too old, duh.

        * GNUmakefile.am:

2010-06-15  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Does not compile with -DGSEAL_ENABLE
        https://bugs.webkit.org/show_bug.cgi?id=37851

        Add GSEAL_ENABLE flag when doing debug builds.

        * GNUmakefile.am:

2010-06-13  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Fisher.

        Chromium shouldn't build inside the source directory
        https://bugs.webkit.org/show_bug.cgi?id=40489

        Ignore Chromium Linux build files.

        * .: Added property svn:ignore. Modified property svn:ignore.

2010-06-09  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Adam Treat.

        [EFL] Allow building core libraries as shared objects to speed up
        linking time on machines with small amounts of memory.
        http://webkit.org/b/39899

        * CMakeLists.txt: Add SHARED_CORE option.
        * cmake/FindGlib.cmake: Add GObject to the list of GLib libraries to
        search.
        * cmake/OptionsEfl.cmake: Remove default library type definitions.
        * cmake/WebKitHelpers.cmake: -fvisibility=hidden did not behave well
        when SHARED_CORE is used.

2010-06-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Unit testing for WebKitDOMNode hierarchy walk
        https://bugs.webkit.org/show_bug.cgi?id=40171

        Add DOM node test to the build system.

        * GNUmakefile.am:

2010-06-02  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
        https://bugs.webkit.org/show_bug.cgi?id=39906

        * configure.ac:

2010-05-31  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Copy the NEWS file to the toplevel when creating the release
        tarballs, otherwise it's a bit hard to find.

        * GNUmakefile.am:

2010-05-27  Gustavo Noronha Silva  <gns@gnome.org>

        Final make distcheck fix - clean up generated GDOM files on distclean.

        * GNUmakefile.am:

2010-05-27  Xan Lopez  <xlopez@igalia.com>

        More GTK+ distcheck fixes.

        * GNUmakefile.am:

2010-05-27  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump for 1.3.1 release.

        * configure.ac:

2010-05-27  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Xan Lopez.

        Build fix for introspection support - make sure DOM headers are
        included by the GI scanner.

        * GNUmakefile.am:

2010-05-26  Gustavo Noronha Silva  <gns@gnome.org>

        Build fixes for make distcheck.

        * GNUmakefile.am:

2010-05-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Add support for DOM events in the GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=38844

        Add new test to the build.

        * GNUmakefile.am:

2010-05-22  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Eric Seidel.

        [EFL] Build fix (always compile libraries with -fPIC when compiler
        is gcc; always define WTF_USE_PTHREADS).
        http://webkit.org/b/39235

        * cmake/OptionsCommon.cmake:
        * cmake/OptionsEfl.cmake:
        * cmake/WebKitHelpers.cmake:

2010-05-19  Dan Winship  <danw@gnome.org>

        Reviewed by Xan Lopez.

        [GTK] Install introspection files in our prefix, not
        gobject-introspection's prefix

        * GNUmakefile.am:
        * configure.ac:

2010-05-15  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Adam Treat.

        [EFL] Add build system for the EFL port.
        http://webkit.org/b/37945

        * CMakeLists.txt: Added.
        * cmake/FindCFLite.cmake: Added.
        * cmake/FindCairo.cmake: Added.
        * cmake/FindEFL.cmake: Added.
        * cmake/FindFreetype.cmake: Added.
        * cmake/FindGDK-PixBuf.cmake: Added.
        * cmake/FindGDK.cmake: Added.
        * cmake/FindGIO.cmake: Added.
        * cmake/FindGlib.cmake: Added.
        * cmake/FindICU.cmake: Added.
        * cmake/FindLibSoup2.cmake: Added.
        * cmake/FindLibXlst.cmake: Added.
        * cmake/FindPango.cmake: Added.
        * cmake/FindSqlite.cmake: Added.
        * cmake/LibFindMacros.cmake: Added.
        * cmake/OptionsCommon.cmake: Added.
        * cmake/OptionsEfl.cmake: Added.
        * cmake/WebKitEfl.cmake: Added.
        * cmake/WebKitFS.cmake: Added.
        * cmake/WebKitFeatures.cmake: Added.
        * cmake/WebKitGenerators.cmake: Added.
        * cmake/WebKitHelpers.cmake: Added.
        * cmake/WebKitMacros.cmake: Added.
        * cmakeconfig.h.cmake: Added.

2010-05-14  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Antti Koivisto.

        [Qt] Rename QtLauncher to QtTestBrowser
        https://bugs.webkit.org/show_bug.cgi?id=37665

        * WebKit.pro:

2010-05-12  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Link error in debug mode without debug_and_release config
        https://bugs.webkit.org/show_bug.cgi?id=39006

        * WebKit.pri: Unnecessary build_pass guard removed.

2010-05-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Detect debug mode consistently
        https://bugs.webkit.org/show_bug.cgi?id=38863

        * WebKit.pri:

2010-05-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Build the ImageDiff tool for all platforms including Windows and Symbian
        https://bugs.webkit.org/show_bug.cgi?id=38706

        * WebKit.pro:

2010-05-07  Simon Hausmann  <simon.hausmann@nokia.com>

        Add a few more files with Windows linefeeds to the .gitattributes file.

        * .gitattributes:

2010-05-05  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Fixed the gobject introspection compilation with the new DOM
        bindings, we needed to add DOM objects.

        * GNUmakefile.am:

2010-05-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed, build fix for Symbian.

        [Symbian] Symbian builds does not support shadow builds

        Revision r54715 broke the Symbian build. For Symbian
        the include directory is generated in the root of the source tree.
        This patch sets the INCLUDEPATH accordingly for Symbian.

        * WebKit.pri:

2010-05-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Add some more Chromium-specific files to gitignore
        https://bugs.webkit.org/show_bug.cgi?id=38469

        These files are generated as part of the update-webkit --chromium
        script.

        * .gitignore:

2010-05-02  Geoff Levand  <geoff.levand@am.sony.com>

        Reviewed by Eric Seidel.

        [GTK] Fix out of source build failure
        https://bugs.webkit.org/show_bug.cgi?id=38051

        Add a preprocessor include path for generated GTK header files.
        Fixes build errors like these when building GTK out of source:

          webkit.h: error: webkit/webkitversion.h: No such file or directory

        * GNUmakefile.am:

2010-05-02  Kartikaya Gupta  <kagupta@rim.com>

        Reviewed by George Staikos.

        When running the IDL file through the preprocessor, wait for the preprocessor subcommand to fully terminate before continuing. Without this, if multiple IDL files are parsed in a tight loop, the code dies after 64 IDL files because it exhausts the available system resources.

        https://bugs.webkit.org/show_bug.cgi?id=37888

        No new tests. None needed.

        * bindings/scripts/IDLParser.pm:

2010-04-29  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=33590

        Add WebKitDOMDocument tests to the build.

        * GNUmakefile.am:

2010-04-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Add WebKit2 to the lists of modules to build.

        * Makefile:

2010-04-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Adam Barth.

        [GTK] GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=33590

        Add build bits for the GObject DOM bindings.

        * GNUmakefile.am:

2010-04-20  Xan Lopez  <xlopez@igalia.com>

        Build fix?

        * autotools/webkit.m4:

2010-04-19  Diego Escalante Urrelo  <descalante@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Evaluate and create tests for all the AtkRole's implemented by
        WebKitGtk
        https://bugs.webkit.org/show_bug.cgi?id=34449

        Add and enable the build of testatkroles to test ATK non form roles.

        * GNUmakefile.am:

2010-04-18  Michael Forney  <michael@mforney.org>

        Reviewed by Laszlo Gombos.

        https://bugs.webkit.org/show_bug.cgi?id=37762

        Fixes the sandbox option in configure.

        * configure.ac: Fix cut and paste error in the sandbox option causing
        --{enable,disable}-sandbox to be ineffective, and it to be controlled
        by the ruby flag.

2010-04-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Unreviewed crash fix.

        Revert part of 57320 that would remove NDEBUG in release builds for
        DRT, etc.

        * WebKit.pri:

2010-04-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix crashes with package builds in release

        * WebKit.pri: Don't randomly add NDEBUG to the defines.

2010-04-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix trunk (non-standalone) builds for Symbian
        https://bugs.webkit.org/show_bug.cgi?id=37136

        Test for source files before building instead of relying on
        standalone_package config.

        * WebKit.pro:

2010-04-01  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by Dmitry Titov.

        Add FileThread for async file operation support in FileReader and FileWriter
        https://bugs.webkit.org/show_bug.cgi?id=36896

        Add EANBEL_FILE_READER and ENABLE_FILE_WRITER flags.

        * configure.ac:

2010-04-01  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        autoinstalled should be git ignored
        https://bugs.webkit.org/show_bug.cgi?id=36970

        * .gitignore:

2010-04-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt]Add -Wextra warning level to the QtWebKit build
        https://bugs.webkit.org/show_bug.cgi?id=36971

        * WebKit.pri:

2010-04-01  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        [GTK] webkit_get_default_session() should make sure webkit_init() is called
        https://bugs.webkit.org/show_bug.cgi?id=36754

        New API test.

        * GNUmakefile.am:

2010-03-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Build JavaScriptCore as a static library.
        https://bugs.webkit.org/show_bug.cgi?id=36590

        This patch takes what was left of the unused JavaScriptCore.pro
        and moved the compilation logic from JavaScriptCore.pri to
        JavaScriptCore.pro.

        * WebKit.pro:

2010-03-16  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Gustavo Noronha.

        Update library version for 1.1.90 release.

        * configure.ac:

2010-03-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump version for 1.1.90 release.

        * configure.ac:

2010-03-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Add support for Fast Mobile Scrolling in the build system.

        * configure.ac:

2010-03-16  Simon Hausmann  <simon.hausmann@nokia.com>

        Add WebKitTools/TestResultServer/index.yaml to gitattributes to ignore for crlf conversion.

        * .gitattributes:

2010-03-12  Scott Byer  <scottbyer@chromium.org>

        Reviewed by David Levin.

        Popup font size needs to be exposed to clients.
        https://bugs.webkit.org/show_bug.cgi?id=35990

        Add function to expose the popup menu font size, add a field to
        WebPopupMenuInfo that receives that information to convey that to
        the web view client's createPopupMenu() call.

        * WebCore/platform/chromium/PopupMenuChromium.cpp:
        * WebCore/platform/chromium/PopupMenuChromium.h:
        * WebKit/chromium/public/WebPopupMenuInfo.h:
        * WebKit/chromium/src/ChromeClientImpl.cpp:

2010-03-11  Adam Roben  <aroben@apple.com>

        Teach git about ObjC files

        Fixes <http://webkit.org/b/36015>.

        Reviewed by Tim Hatcher.

        * .gitattributes: Set the diff attribute for .m and .mm files, and .h
        files in Mac-specific directories. This can be used to generate
        more-readable diffs of ObjC files.

2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed. Versioning for 1.1.23.

        * configure.ac:

2010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed distcheck fix.

        * GNUmakefile.am:

2010-03-08  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Blob.slice support.
        https://bugs.webkit.org/show_bug.cgi?id=32993

        Add ENABLE_BLOB_SLICE feature define.

        * configure.ac:

2010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=35726
        Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID

        Removing orphaned #if USE.

        * GNUmakefile.am:

2010-03-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.

        This also allows shadow builds relying only on qmake to work properly.

        * WebKit.pri:

2010-03-03  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Xan Lopez.

        Miscellaneous little fixes for the windows build of webkit-gtk
        https://bugs.webkit.org/show_bug.cgi?id=35640

        * GNUmakefile.am: On Windows with GCC, presence of
        __declspec(dllexport) on some symbols disables the autoexport/autoimport
        feature for all others. Using regex here assures that all symbols that 
        need to be exported in the dll are actually exported.

2010-03-02  Arno Renevier  <arno@renevier.net>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
        https://bugs.webkit.org/show_bug.cgi?id=35210

        * GNUmakefile.am:

2010-03-02  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Ignore compiled Java test cases in .gitignore.
        https://bugs.webkit.org/show_bug.cgi?id=35559

        * .gitignore:

2010-02-26  Arno Renevier  <arno@renevier.net>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] ignore WebKit/gtk/docs/GNUmakefile.in in .gitignore
        https://bugs.webkit.org/show_bug.cgi?id=35424

        * .gitignore:

2010-02-24  Sam Kerner  <skerner@chromium.org>

        Reviewed by Darin Fisher.

        Expose WebFrame::setCanHaveScrollbars().  This allows a view
        which is being resized to not need scroll bars to ensure that
        they are not drawn.

        Existing function setAllowsScrolling() was renamed
        setCanHaveScrollbars(), to be consistant with change 37159:
        http://trac.webkit.org/changeset/37159

        https://bugs.webkit.org/show_bug.cgi?id=35257

        * WebKit/chromium/public/WebFrame.h:
        * WebKit/chromium/src/ChromeClientImpl.cpp:
        * WebKit/chromium/src/WebFrameImpl.cpp:
        * WebKit/chromium/src/WebFrameImpl.h:

2010-02-19  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove QGVLauncher

        https://bugs.webkit.org/show_bug.cgi?id=35292

        * WebKit.pro:

2010-02-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Enable SharedWorkers by default, since that's been the default for
        a long time in our build-webkit configuration.

        * configure.ac:

2010-02-23  James Choi  <jchoi42@pha.jhu.edu>

        Add Solaris definitions
        https://bugs.webkit.org/show_bug.cgi?id=35214

        * WebKit/chromium/src/WebViewImpl.cpp
        * WebKit/chromium/src/WebFrameImpl.cpp

2010-02-23  Arno Renevier  <arno@renevier.net>

        Reviewed by Gustavo Noronha Silva.

        [Gtk]: testwebview does not work when called with absolute path
        https://bugs.webkit.org/show_bug.cgi?id=34940

        When testwebview is called as absolute path, chdir to executable
        directory before searching resource files.

        * GNUmakefile.am:

2010-02-23  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Gustavo Noronha Silva.

        Changes references of GOwnPtr to reflect their new place.
        http://webkit.org/b/35084

        * JavaScriptCore/JavaScriptCore.gypi:
        * JavaScriptCore/wtf/Threading.h:
        * JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h:

2010-02-23  Leandro Pereira  <leandro@profusion.mobi>

        Reviewed by Gustavo Noronha Silva.

        Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
        again.
        http://webkit.org/b/35084

        * GNUmakefile.am:

2010-02-23  Diego Escalante Urrelo  <descalante@igalia.com>

        Reviewed by Eric Seidel.

        [gtk] missing libsoup-2.4 package in gir generation
        https://bugs.webkit.org/show_bug.cgi?id=35199

        Include libsoup-2.4 package in gobject introspection .gir generation.

        * GNUmakefile.am:

2010-02-22  Huahui Wu  <hwu@google.com>

        Reviewed by Eric Seidel.

        Add code that enables SquirrelFish Extreme (a.k.a JSCX, JSC JIT)
        in Android. It's disabled by default, but is enabled when the 
        enveronment variable ENABLE_JSC_JIT is set to true.
        https://bugs.webkit.org/show_bug.cgi?id=34855

        * Android.mk:

2010-02-22  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump library versioning for 1.1.22 release.

        * configure.ac:

2010-02-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Add support for layout tests on Symbian
        https://bugs.webkit.org/show_bug.cgi?id=31589

        * WebKit.pro:

2010-02-20  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] ENABLE_3D_RENDERING should be optional
        https://bugs.webkit.org/show_bug.cgi?id=35100

        * WebKit.pri: ENABLE_3D_RENDERING moved to a proper feature test

2010-02-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by David Levin.

        Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
        https://bugs.webkit.org/show_bug.cgi?id=35147

        * configure.ac:

2010-02-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Eric Seidel.

        Add .gitattributes file for custom ChangeLog merge-driver

        * .gitattributes: Added.

2010-02-17  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] GraphicsLayer: support perspective and 3D transforms
        https://bugs.webkit.org/show_bug.cgi?id=34960

        * WebKit.pri: added appropriate define: ENABLED_3D_RENDERING

2010-02-15  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] Should handle BUFFERING messages
        https://bugs.webkit.org/show_bug.cgi?id=30004

        * configure.ac: Bump gstreamer -core/-plugins-base requirements to
        0.10.25 which is the minimum required version for on-disk buffering.

2010-02-16  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump version to 1.1.22 so we can depend on it in applications.

        * configure.ac:

2010-02-12  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Holger Freyther.

        Removed WMLInputElement.* from .gitattributes as the file is
        now CRLF clean.

        * .gitattributes:

2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Make qtlauncher and qgvlauncher use the generated headers
        path to make sure they are correctly generated.

        * WebKit.pri:

2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Manually add support for the install target on Symbian.

        This is required to copy the headers over the ones in Qt.

        * WebKit.pro:

2010-02-11  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Gustavo Noronha Silva.

        Detect properly different versions of libpng out there.

        * configure.ac:

2010-02-11  Xan Lopez  <xlopez@igalia.com>

        Try to fix GTK+ build.

        * configure.ac:

2010-02-11  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Xan Lopez.

        Adjust gstreamer-plugins-base minimum version check (from 0.10 to 0.10.23).

        * configure.ac:

2010-02-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Cameron Zwarich.

        Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
        https://bugs.webkit.org/show_bug.cgi?id=34698

        * configure.ac:

2010-02-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Bump version to 1.1.21, and adjust library versioning accordingly.

        * configure.ac:

2010-02-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

        Reviewed by Gustavo Noronha.

        Add gstreamer-app-0.10 to configure.ac
        https://bugs.webkit.org/show_bug.cgi?id=34317

        * configure.ac:

2010-02-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        Add .gitattributes file to tell git about files with Windows linefeeds
        https://bugs.webkit.org/show_bug.cgi?id=34645

        On Windows git defaults to "true" for core.autocrlf, meaning all text
        files in the working directory are converted from CRLF to LF on checkin
        time. Some files present in the repository have been checked in with
        CRLF linefeeds and git should not try to convert them. The added
        .gitattributes file tells git to not do any CRLF conversion.

        * .gitattributes: Added.

2010-02-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Generate convenience headers (QWebView, etc) using qmake

        In Qt this is done using syncqt, but we use a pro-file instead
        that generates makefile-rules for each of the extra headers.

        These extra headers are installed alongside the normal headers.

        * DerivedSources.pro: Include API-DerivedSources

2010-02-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Lars Knoll.

        [Qt] Make 'make -f Makefile.DerivedSources qmake' work

        Previously this target ended up generating a file named
        Makefile.DerivedSources.DerivedSources, and so on.

        * DerivedSources.pro:

2010-02-04  Christian Dywan  <christian@twotasts.de>

        Reviewed by Xan Lopez.

        Require either libsoup 2.28.2 or 2.29.90.

        * configure.ac:

2010-02-04  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump minimum libsoup requirement to 2.29.90

        * configure.ac:

2010-02-02  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Xan Lopez.

        Bump version, and adjust library versioning for 1.1.20.

        * configure.ac:

2010-01-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dimitri Glazkov.

        A first step towards the Indexed Database API
        https://bugs.webkit.org/show_bug.cgi?id=34342

        Add Indexed Database API

        * configure.ac:

2010-01-27  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Don't build the tests in packages, only the launcher(s)

        * WebKit.pro:

2010-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Add the "d" suffix to QtWebKit's dll on Windows.

        * WebKit.pri:

2010-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Unreviewed build fix

        [Qt] Build fix for windows when QTDIR contains release libraries.

        * WebKit.pri: Use the <name>.lib syntax for linking instead of qmake's -l<name> emulation

2010-01-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>

        Reviewed by Simon Hausmann.

        First steps of the QtScript API.
        
        Two new classes were created; QScriptEngine and QScriptValue.
        The first should encapsulate a javascript context and the second a script
        value.
        
        This API is still in development, so it isn't compiled by default.
        To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to
        build-webkit.

        https://bugs.webkit.org/show_bug.cgi?id=32565

        * WebKit.pro:

2010-01-25  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Fix the build on Maemo5.

        https://bugs.webkit.org/show_bug.cgi?id=34051

        * WebKit.pri: Disable the use of uitools, just like it's done for Symbian.

2010-01-21  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Antti Koivisto.

        [Qt] Implement GraphicsLayer for accelerated layer compositing
        https://bugs.webkit.org/show_bug.cgi?id=33514

        * WebKit.pri: Addded compile flags to enable accelerated compositing
        on versions higher than 4.5

2010-01-20  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Make DumpRenderTree build on Windows

        * WebKit.pro:

2010-01-20  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix the recursive generated_files target to work with qmake -r -o

        * DerivedSources.pro:

2010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Make it possible (on *nix at least) to recursively call "make generated_files"

        * DerivedSources.pro:

2010-01-19  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed. Shared library versioning update for 1.1.19.

        * configure.ac:

2010-01-15  Gustavo Noronha Silva  <gns@gnome.org>

        Rubber-stamped by Xan Lopez.

        Bump version to 1.1.19.

        * configure.ac:

2010-01-14  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Eric Seidel.

        [Qt] Defective dependencies caused build failing on QtBuildBot.
        https://bugs.webkit.org/show_bug.cgi?id=33693

        * WebKit.pri: CONFIG += depend_includepath added.

2010-01-14  Steve Block  <steveblock@google.com>

        Reviewed by David Levin.

        Moves general includes before bindings includes in Android build system.
        https://bugs.webkit.org/show_bug.cgi?id=33623

        This avoids problems with collisions between WebCore/platform/text/StringBuilder.h
        and the new JavaScriptCore/runtime/StringBuilder.h. This change puts
        JavaScriptCore/runtime and other bindings includes after the WebCore and other
        general includes, so that the WebCore StringBuilder.h is picked up when building
        WebCore.

        * Android.mk: Modified.

2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Split the build process in two different .pro files.
        This allows qmake to be run once all source files are available.

        * DerivedSources.pro: Added.
        * WebKit.pri:

2010-01-07  Daniel Bates  <dbates@rim.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=32987

        Added ENABLE_XHTMLMP flag. Disabled by default.

        * configure.ac:

2010-01-05  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Xan Lopez.

        Based on idea and original patch by Evan Martin.

        Remove libWebCore intermediate library, to improve link time.

        [GTK] Build time must be reduced
        https://bugs.webkit.org/show_bug.cgi?id=32921

        * GNUmakefile.am:

2010-01-05  Xan Lopez  <xlopez@igalia.com>

        Bump for 1.1.18 release.

        * configure.ac:

2010-01-04  Gustavo Noronha Silva  <gns@gnome.org>

        Fix JSCore-1.0.gir path to fix make distcheck.

        * GNUmakefile.am:

2010-01-04  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Fix standalone package builds.

        * WebKit.pri: Add logic for detecting standalone builds. Set OUTPUT_DIR to the top-level dir in that case.
        * WebKit.pro: Don't build JSC and DRT for package builds.

2010-01-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        bugzilla-tool should not require users to install mechanize
        https://bugs.webkit.org/show_bug.cgi?id=32635

        * .gitignore: Ignore autoinstall.cache.d directory created by autoinstall.py

2009-12-28  Estêvão Samuel Procópio  <tevaum@gmail.com>

        Reviewed by Gustavo Noronha Silva.

        Bug 32940: [GTK] Changing the download throttle conditions.
        https://bugs.webkit.org/show_bug.cgi?id=32716

        The WebKitDownload progress notification was taking long to
        update. This fix makes notification happens each 0.7 secs
        or when the progress ups in 1%.

        * WebKit/gtk/webkit/webkitdownload.cpp:

2009-12-22  Simon Hausmann  <simon.hausmann@nokia.com>

        Rubber-stamped by Holger Freyther.

        Adjusted path to QtLauncher.

        * WebKit.pro:

2009-12-19  Evan Martin  <evan@chromium.org>

        Reviewed by Gustavo Noronha Silva.

        Add a couple of WebKitGtk files to .gitignore.

        * .gitignore:

2009-12-18  Benjamin Otte  <otte@gnome.org>

        Reviewed by Xan Lopez.

        [GTK] RemoveDashboard support. It's useless.

        * configure.ac:

2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds

        https://bugs.webkit.org/show_bug.cgi?id=32716

        * WebKit.pri: Use standalone_package instead of QTDIR_build

2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed. Build fixes for make distcheck.

        * GNUmakefile.am:

2009-12-16  Dan Winship  <danw@gnome.org>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Content-Encoding support

        https://bugs.webkit.org/show_bug.cgi?id=522772

        * configure.ac: require libsoup 2.28.2 for SoupContentDecoder

2009-12-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Gavin Barraclough.

        string-base64 test does not compute a valid base64 string
        http://bugs.webkit.org/show_bug.cgi?id=16806

        * tests/string-base64.js: change str[i] to str.charCodeAt(i)

2009-12-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Should provide an API to control the IconDatabase
        https://bugs.webkit.org/show_bug.cgi?id=32334

        Add test to make sure favicon reporting works.

        * GNUmakefile.am:

2009-12-09  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Adds Android Makefiles for building with V8.
        https://bugs.webkit.org/show_bug.cgi?id=32278

        * Android.mk: Modified. Includes Makefiles for V8.

2009-12-08  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        [Android] Adds Makefiles for Android port.
        https://bugs.webkit.org/show_bug.cgi?id=31325

        * Android.mk: Added.

2009-12-08  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Xan Lopez.

        * configure.ac: Require only libSoup 2.27.91 but check for 2.29.3
        and define HAVE_LIBSOUP_2_29_3 in that case.

2009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Xan Lopez.

        Late post-release version bump.

        * configure.ac:

2009-12-08  Dominik Röttsches  <dominik.roettsches@access-company.com>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU)
        https://bugs.webkit.org/show_bug.cgi?id=31469

        Removing hybrid configuration for --with-unicode-backend=glib
        ICU not required anymore.

        * autotools/webkit.m4:

2009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Maciej Stachowiak.

        Turn on (SVG) Filters for Gtk.
        https://bugs.webkit.org/show_bug.cgi?id=32224

        * configure.ac:

2009-12-07  Dmitry Titov  <dimich@chromium.org>

        Rubber-stamped by Darin Adler.

        Remove ENABLE_SHARED_SCRIPT flags
        https://bugs.webkit.org/show_bug.cgi?id=32245
        This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.

        * configure.ac:

2009-12-06  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Xan Lopez.

        Build the new API test.

        [GTK] REGRESSION: webkit thinks it can render PDFs
        https://bugs.webkit.org/show_bug.cgi?id=32183

        * GNUmakefile.am:

2009-12-05  Vincent Untz <vuntz@gnome.org>

        Reviewed by Gustavo Noronha.

        Fixes race for builds with introspection enabled, and parallel
        make.

        * GNUmakefile.am:

2009-12-04  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK]Enable DNS prefetching
        https://bugs.webkit.org/show_bug.cgi?id=23846

        Bump libsoup required version to 2.29.3 for DNS prefetching.

        * configure.ac:

2009-11-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Xan Lopez.

        Make sure we distribute and install GObject Introspection files.

        * GNUmakefile.am:

2009-11-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Build fix. Make sure JSCore-1.0.gir is added to the distributed
        tarball.

        * GNUmakefile.am:

2009-11-30  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump versions for 1.1.17 release.

        * configure.ac:

2009-11-30  Jan-Arve Sæther  <jan-arve.saether@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix compilation with win32-icc

        Include os-win32 for stdint.h since MS does not ship that in their PSDK.

        * WebKit.pri:

2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Oliver Hunt.

        Move GOwnPtr* from wtf to wtf/gtk
        https://bugs.webkit.org/show_bug.cgi?id=31793

        * GNUmakefile.am: Add JavaScriptCore/wtf/gtk to 
          the include path.

2009-11-24  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Eric Seidel.

        Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
        https://bugs.webkit.org/show_bug.cgi?id=31444

        * configure.ac:

2009-11-24  Jason Smith  <dark.panda@gmail.com>

        Reviewed by Alexey Proskuryakov.

        RegExp#exec's returned Array-like object behaves differently from
        regular Arrays
        https://bugs.webkit.org/show_bug.cgi?id=31689

        * LayoutTests/fast/js/regexp-in-and-foreach-handling.html: Added.
        * LayoutTests/fast/js/script-tests/regexp-in-and-foreach-handling.js: Added.
        * LayoutTests/fast/js/regexp-in-and-foreach-handling-expected.txt: Added.

2009-11-24  Jens Alfke  <snej@chromium.org>

        Reviewed by David Levin.

        Ignore Chromium's Xcode projects that are auto-generated from .gyp files.
        https://bugs.webkit.org/show_bug.cgi?id=31847
        
        * .gitignore:  Add three .xcodeproj files.

2009-11-09  Priit Laes  <plaes@plaes.org>

        Reviewed by Oliver Hunt.

        [Gtk] Build from tarball fails with --enable-introspection
        https://bugs.webkit.org/show_bug.cgi?id=31261

        We need to enable gobject-introspection during distcheck otherwise
        some of the required files are missing in tarball.

        * GNUmakefile.am:

2009-11-05  Priit Laes  <plaes@plaes.org>

        Reviewed by Jan Alonzo.

        [Gtk] Build failure with --enable-introspection
        https://bugs.webkit.org/show_bug.cgi?id=31102

        Add search and include paths for JSCore-1.0.gir required by
        gobject-introspection tools.

        * GNUmakefile.am:

2009-11-04  Benjamin Otte  <otte@gnome.org>

        Reviewed by Gustavo Noronha.

        Update Cairo requirement to 1.6.
        
        https://bugs.webkit.org/show_bug.cgi?id=19266

        * configure.ac:

2009-11-02  Estêvão Samuel Procópio  <tevaum@gmail.com>

        Reviewed by Gustavo Noronha.

        [Build] make install ignores --prefix option for gobject-introspection.
        https://bugs.webkit.org/show_bug.cgi?id=31025

        Make the build system use the --prefix path also when installing
        gobject-introspection files.

        * configure.ac: use --prefix path in GITDIR and GIRTYPELIBDIR

2009-11-02  Xan Lopez  <xlopez@igalia.com>

        Bump version before release (or post-release, depending on your
        point of view) so that we can make applications depending on
        unreleased APIs in WebKit svn fail at configure time when the
        requirements are not met.

        * configure.ac:

2009-11-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        Turn on warnings for QtWebKit for gcc
        https://bugs.webkit.org/show_bug.cgi?id=30958

        * WebKit.pri: Turn on warnings for the GCC compiler

2009-10-30  Adam Barth  <abarth@webkit.org>

        Reviewed by Mark Rowe.

        Teach git to ignore some files
        https://bugs.webkit.org/show_bug.cgi?id=30951

        Ignore WebKitBuild because we never want to version that directory.
        Also, ignore the xcode project files so git clean doesn't blow away
        your project settings.  Finally, ignore the compiled python files in
        WebKitTools/Script modules because they clutter up git status.

        * .gitignore: Added.

2009-10-30  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Eric Seidel.

        Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.

        Bug 28420 -  Implement HTML5 <ruby> rendering
        (https://bugs.webkit.org/show_bug.cgi?id=28420)

        No new tests (no functional change).

        * configure.ac:

2009-10-26  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber-stamped by Darin Adler.

        Export fastMalloc, fastCalloc, fastRealloc and fastFree
        https://bugs.webkit.org/show_bug.cgi?id=30769

        Export the FastMalloc functions outside of the libwebkit library
        to be able to instrument memory allocations. These are C++ symbols
        but do not require the C++ runtime to be useful and should be of
        no harm to plain C code.

        * autotools/symbols.filter:

2009-10-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Jan Alonzo.

        Alternative solution to regression introduced in r48672.

        * GNUmakefile.am:

2009-10-26  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Update for 1.1.16 release.

        * configure.ac:

2009-10-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] [Symbian] Set the capability and memory required to run QtWebKit for Symbian
        https://bugs.webkit.org/show_bug.cgi?id=30476

        Set the stack size to 80 Kb and heap size to the 128kB - 32MB range
        to all executables linking against WebKit library.

        * WebKit.pri:

2009-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [GTK] Add MathML to the build system
        https://bugs.webkit.org/show_bug.cgi?id=30487

        Add --enable-mathml to configure.

        * configure.ac:

2009-10-15  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [GTK] marshal stamp files are not cleaned after a distclean
        https://bugs.webkit.org/show_bug.cgi?id=30156

        Add the stamp files directly to cleanfiles. Also rearrange the
        variable declarations so we don't miss any files that need to be
        cleaned up during the clean targets.

        * GNUmakefile.am:

2009-10-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed. Help text fix - Web Sockets default is no, not yes.

        * configure.ac:

2009-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Rubberstamped by Eric Seidel.

        [Gtk] Fix icu CFLAG for Darwin
        https://bugs.webkit.org/show_bug.cgi?id=29517

        Don't escape the srcdir variable. Also use $host instead of the
        os_foo variables.

        * autotools/webkit.m4:

2009-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha.

        [Gtk] Use the SQLite3 headers from WebKitLibraries if sqlite3 is undetected
        https://bugs.webkit.org/show_bug.cgi?id=29518

        * configure.ac:

2009-10-05  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Disable TCmalloc for Windows port at the present, because MinGW
        hasn't got built-in pthread library.

        * WebKit.pri:

2009-10-02  Prasanth Ullattil  <prasanth.ullattil@nokia.com>

        Reviewed by Simon Hausmann.

        Disable a few more harmless MSVC warnings.

        * WebKit.pri:

2009-10-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed, build fix.

        [Qt] Symbian build break after r48976.
        unix is set for Symbian in the Qt build system.

        * WebKit.pri:

2009-10-01  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Enable TCmalloc for the Linux, Mac and Windows Qt-port
        https://bugs.webkit.org/show_bug.cgi?id=27029

        Remove USE_SYSTEM_MALLOC for Linux, Mac and Windows Qt-port from WebKit.pri,
        so these Qt-ports will use TCmalloc as other ports.

        * WebKit.pri:

2009-10-01  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Xan Lopez.

        [GTK] GtkIMContext filtering interferes with DOM key events
        https://bugs.webkit.org/show_bug.cgi?id=28733

        Add new key event test ensuring that IME keypresses are handled.

        * GNUmakefile.am:

2009-10-01  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] data: uri support in media player
        https://bugs.webkit.org/show_bug.cgi?id=29842

        Check presence of gstreamer-pbutils-0.10.

        * configure.ac:

2009-09-26  David Kilzer  <ddkilzer@apple.com>

        GTK BUILD FIX: add ENABLE_ORIENTATION_EVENTS support to configure.ac

        * configure.ac: Added support for ENABLE_ORIENTATION_EVENTS.

2009-09-23  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Do not add unneeded include paths for gir files, and add the
        include paths for headers manually instead of relying on our own
        pc file and installed headers, since that adds a circular
        dependency.

        * GNUmakefile.am:

2009-09-23  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        Minor reorganization to the patch landed in
        http://trac.webkit.org/changeset/48670. Also move JSCore-1.0.gir
        in the gtk directory as that's only useful to the Gtk port at the
        moment.

        * GNUmakefile.am:
        * configure.ac:

2009-09-23  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] We should generate our own gir file for introspection
        https://bugs.webkit.org/show_bug.cgi?id=29603

        Generate gir and typelib files for WebKit and JSCore. The JSCore
        gir file is handwritten (since it's only useful, for now, as a
        dependency of the WebKit gir file), the WebKit one is
        autogenerated from the headers.

        * GNUmakefile.am:
        * JSCore-1.0.gir: Added.
        * configure.ac:

2009-09-22  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        link errors due to wrong UNICODE_LIBS on Ubuntu Jaunty
        https://bugs.webkit.org/show_bug.cgi?id=29638

        Call icu-cconfig with ldflags-libsonly to prevent having a -L
        statement that could override libs installed in another prefix.

        * autotools/webkit.m4:

2009-09-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump version for 1.1.15 release.

        * configure.ac:

2009-09-18  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha and Jan Alonzo.

        [GTK] context menu overriding API is very limited
        https://bugs.webkit.org/show_bug.cgi?id=27546

        Add new tests to the build.

        * GNUmakefile.am:

2009-09-18  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha and Jan Alonzo.

        [GTK] context menu overriding API is very limited
        https://bugs.webkit.org/show_bug.cgi?id=27546

        Add WebKitHitTestResult to the build.

        * GNUmakefile.am:

2009-09-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Ariya Hidayat.

        Disable some ARM compiler warnings
        https://bugs.webkit.org/show_bug.cgi?id=29083

        The following ARM compiler warnings are disabled

        - #68-D: integer conversion resulted in a change of sign
        - #111-D: statement is unreachable
        - #177-D: variable XXX was declared but never referenced
        - #368-D: class XXX defines no constructor to initialize the following: YYY
        - #830-D: function XXX "XXX::operator new" has no corresponding operator delete
        - #1293-D: assignment in condition

        * WebKit.pri:

2009-09-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Add the alternative QtLauncher (based on QGraphicsView) to the build.

        https://bugs.webkit.org/show_bug.cgi?id=28862

        * WebKit.pro:

2009-09-07  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Gustavo Noronha.

        Bump versions in preparation for 1.1.14 release.

        * configure.ac:

2009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=26854
        [GTK] Needs API to allow more control over outgoing requests

        * GNUmakefile.am: new files added to the build for new class
        WebKitNetworkResponse

2009-09-06  Martin Robinson  <martin.james.robinson@gmail.com>

        Reviewed by Gustavo Noronha, Jan Alonzo and Xan Lopez.

        [Gtk] Expose a database API
        https://bugs.webkit.org/show_bug.cgi?id=27899

        Expose an HTML5 database API for GTK+.

        * GNUmakefile.am:

2009-09-04  Albert Bachand  <albertb@google.com>

        Reviewed by Eric Seidel.

        Modify the condition regarding the key modifier for opening combo
        boxes under GTK from just PLATFORM(GTK) to also look for
        (PLATFORM(CHROMIUM) && PLATFORM(LINUX)).

        * WebCore/dom/SelectElement.cpp:
        * WebCore/manual-tests/select-popup-on-spacebar.html:

2009-09-02  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez and Gustavo Noronha.

        [Gtk] Implement a WebDataSource for the gtk port
        https://bugs.webkit.org/show_bug.cgi?id=24758

        Add WebKitWebDataSource unit test to the build script

        * GNUmakefile.am:

2009-09-02  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez and Gustavo Noronha.

        [Gtk] Implement a WebDataSource for the gtk port
        https://bugs.webkit.org/show_bug.cgi?id=24758

        Add WebKitWebDataSource and DocumentLoaderGtk to the build script.

        * GNUmakefile.am:

2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez and Gustavo Noronha.

        [Gtk] Implement a WebDataSource for the gtk port
        https://bugs.webkit.org/show_bug.cgi?id=24758

        Add WebKitWebResource to the build script.

        * GNUmakefile.am:

2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Oliver Hunt.

        Gtk Build broken for OSX Quartz
        https://bugs.webkit.org/show_bug.cgi?id=28727

        Define XP_UNIX for non-Win OS builds.

        * GNUmakefile.am:

2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=25889
        [GTK] scrollbar policy for main frame is not implementable

        Adding files for the new test for window-related issues (starting
        with scrollbar policy).

        * GNUmakefile.am:

2009-08-27  Priit Laes  <plaes@plaes.org>

        Reviewed by Xan Lopez.

        [GTK] Out-of-srcdir build problem
        https://bugs.webkit.org/show_bug.cgi?id=28741

        * GNUmakefile.am, autotools/webkit.m4:
        Fix problem with out-of-srcdir builds. Also bump required glib version.

2009-08-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Bump package and so versions for 1.1.13 release.

        * configure.ac:

2009-08-22 Javier Jardón <javierjc1982@gmail.com>

        [GTK] Not use deprecated symbols in WebKitWebView example code.
        https://bugs.webkit.org/show_bug.cgi?id=28651

        * WebKit/gtk/webkit/webkitwebview.cpp

2009-08-18  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Holger Freyther.

        Require at least libsoup 2.27.91 for the new password
        manager/authentication APIs.

        * configure.ac:

2009-08-18  Drew Wilson  <atwilson@google.com>

        Reviewed by NOBODY (Build Break).

        Speculative fix for GTK DumpRenderTree.

        * GNUmakefile.am:

2009-08-18  Kent Tamura  <tkent@chromium.org>

        Reviewed by Eric Seidel.

        Add --enable-datalist option.

        * configure.ac:

2009-08-14  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Sam Weinig.

        [GTK] Added EventSource to the build (default on).
        https://bugs.webkit.org/show_bug.cgi?id=14997 

        * configure.ac:

2009-08-14  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Rubber-stamped by Gustavo Noronha.

        Initialize CFLAGS and CXXFLAGS before the main body of the
        WEBKIT_INIT macro so C files don't get built with "-g -O2".

        * autotools/webkit.m4:

2009-08-12  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        [GTK] Remove keyring optional features
        https://bugs.webkit.org/show_bug.cgi?id=28173

        Remove keyring support, we now do authentication storage through
        libsoup. We depend on libsoup master now, will bump the dependency
        when there's a new release.

        * GNUmakefile.am:
        * configure.ac:

2009-08-11  Drew Wilson  <atwilson@google.com>

        Reviewed by NOBODY (Build break).

        Speculative fix for GTK build break.

        * WebKit.pro:

2009-08-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Build the TestNetscapePlugin on Qt/Mac

        * WebKit.pro:

2009-08-11  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        Prefix lengthy commands with AM_V_GEN so that they produce an
        output like 'GEN <filename>' when in silent mode.

        * GNUmakefile.am:

2009-08-05  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] macros in webkit.m4 should be defined once only
        https://bugs.webkit.org/show_bug.cgi?id=27929

        The macros in webkit.m4 are not meant to be called multiple times
        so we'll make them AC_DEFUN_ONCE. Also make AC_HEADER_STDC and AC_PROG_CXX
        AC_REQUIRE to remove the automake warnings when doing autogen.sh.

        Lastly, make sure CXXFLAGS and CFLAGS are defined before
        AC_PROG_CXX gets expanded so it doesn't add "-g -O2" on Release builds.

        * autotools/webkit.m4:

2009-08-05  Xan Lopez  <xlopez@igalia.com>

        Revert r46714, it was making us build debug images by default.

        * autotools/webkit.m4:

2009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Consolidate common gcc flags to WebKit.pri
        https://bugs.webkit.org/show_bug.cgi?id=27934

        * WebKit.pri:

2009-08-03  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Rubber-stamped by Eric Seidel.

        [Gtk] macros in webkit.m4 should be defined once only
        https://bugs.webkit.org/show_bug.cgi?id=27929

        The macros in webkit.m4 are not meant to be called multiple times
        so we'll make them AC_DEFUN_ONCE. Also make AC_HEADER_STDC and AC_PROG_CXX
        AC_REQUIRE to remove the automake warnings when doing autogen.sh.

        * autotools/webkit.m4:

2009-07-29  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Simon Hausmann.

        Adding ImageDiff project file.

        https://bugs.webkit.org/show_bug.cgi?id=27813

        * WebKit.pro: Added ImageDiff.pro.

2009-07-29  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Eric Seidel and Xan Lopez.

        [Gtk] Enable http/tests/appcache tests
        https://bugs.webkit.org/show_bug.cgi?id=27674

        * GNUmakefile.am: Add webkit/webkitapplicationcache.cpp

2009-07-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Use automake 1.11 SILENT_RULES when present, for cleaner build
        output. You can disable it by passing --disable-silent-rules to
        configure or V=1 to make.

        * autotools/dolt.m4:
        * configure.ac:

2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Disable some compiler warnings for the win build
        https://bugs.webkit.org/show_bug.cgi?id=27709

        * WebKit.pri:

2009-07-28  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        * configure.ac: bump version for 1.1.12 release.

2009-07-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Remove unneeded commas from PKG_CHECK_MODULES.

        * configure.ac:

2009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        Bump pango version requirement to 1.12 which is the version that
        came with Gtk 2.10.

        * configure.ac:

2009-07-21  Roland Steiner  <rolandsteiner@google.com>

        Reviewed by David Levin.

        Add ENABLE_RUBY to list of build options
        https://bugs.webkit.org/show_bug.cgi?id=27324

        * configure.ac: Added flag ENABLE_RUBY.

2009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] Add an option for QtLauncher to build without QtUiTools dependency
        https://bugs.webkit.org/show_bug.cgi?id=27438

        Based on Norbert Leser's work.

        * WebKit.pri: Symbian does not have UiTools

2009-07-16  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
        https://bugs.webkit.org/show_bug.cgi?id=27206

        Add --enable-web-sockets in configure.ac

        * configure.ac:

2009-07-16  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Enable GNU compiler extensions to the ARM compiler 
        for all Qt ports using RVCT
        https://bugs.webkit.org/show_bug.cgi?id=27348

        * WebKit.pri:

2009-07-15  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Rubber-stamped by Simon Hausmann.

        Fix the Qt/Mac build by disabling TestNetscapePlugin

        We should fix and enable this once we run DRT for Qt/Mac

        * WebKit.pro:

2009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed build fix. Require the correct libsoup version now that
        it's released.

        * configure.ac:

2009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Tor Arne Vestbø.

        [Qt] Build fix for QtWebKit on Win
        https://bugs.webkit.org/show_bug.cgi?id=27205

        * WebKit.pri: Include the major version number in the QtWebKit
        library file for Win.

2009-07-13  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        Add the test netscape plugin for the Qt DRT to the build.

        * WebKit.pro:

2009-07-13  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
        https://bugs.webkit.org/show_bug.cgi?id=26932

        Added ENABLE(SHARED_WORKERS) flag.

       * configure.ac:

2009-07-12  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Bump version in preparation for 1.1.11 release.

        * configure.ac:

2009-07-07  Norbert Leser  <norbert.leser@nokia.com>

        Reviewed by Simon Hausmann.

        Exclude DumpRenderTree.pro from symbian build

        * WebKit.pro:

2009-07-09  Drew Wilson  <atwilson@google.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=26903

        Turned on CHANNEL_MESSAGING by default because the MessageChannel API
        can now be implemented for Web Workers and is reasonably stable.

        * configure.ac: enable CHANNEL_MESSAGING.

2009-07-03  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez and Gustavo Noronha.

        Set user-agent from application
        https://bugs.webkit.org/show_bug.cgi?id=17375

        Define UA version macros to be used by the UA string.
        Add new WebSettings unit test for the User-Agent string API.

        * GNUmakefile.am:
        * configure.ac:

2009-06-20  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Jan Alonzo.

        Adding files for the new test case for loading statuses.

        * GNUmakefile.am:

2009-06-15  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Version bump in preparation for 1.1.10 release.

        * configure.ac:

2009-06-12  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Xan Lopez.

        Refactor handling of options in the build-webkit script
        
        Options are now defined in one place, and then reused when creating
        the usage help text, the arguments to GetOptions(), and when passing
        the options on to the underlying port-dependent build systems.
        
        This allows the Qt port to read the defaults for the options from the
        pro file (dynamically), and to pass the options on to qmake at build.

        * configure.ac:

2009-06-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] Fix release build detection
        https://bugs.webkit.org/show_bug.cgi?id=26267

        * WebKit.pri:

2009-06-10  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Xan Lopez.

        Add unit tests for our WebKitNetworkRequest object.

        * GNUmakefile.am:

2009-06-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Version bump in preparation for 1.1.9 release.

        * configure.ac:

2009-06-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        Add new dependency on the Gail utils library, needed for our a11y
        implementation.

        * GNUmakefile.am:
        * configure.ac:

2009-05-29  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Jan Alonzo.

        Add a test-case for our HTTP backend, currently checking the
        ref-counting of the SoupMessage.

        * GNUmakefile.am:

2009-05-28  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Enable the new build flag --filters for Gtk. More details in WebCore/ChangeLog.

        * configure.ac:

2009-05-19  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Jan Alonzo and Gustavo Noronha.

        https://bugs.webkit.org/show_bug.cgi?id=25415
        [GTK][ATK] Please implement support for get_text_at_offset

        Add new test file for ATK.

        * GNUmakefile.am:

2009-05-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Xan Lopez.

        Fix webkitgtk_cleanfiles to clean gtk-doc-related files in the
        correct directory, so that we pass make distcheck.

        * GNUmakefile.am:

2009-05-28  Xan Lopez  <xlopez@igalia.com>

        Bump version numbers in preparation for 1.1.8 release.

        * configure.ac:

2009-05-23  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Unreviewed build fix. Add gstreamer-video-0.10 libs to
        GSTREAMER_LIBS to resolve an undefined reference to gst_video_get_size
        - symbol used in MediaPlayerPrivateGstreamer.

        * configure.ac:

2009-05-23  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] Various autotools build refactoring and fixes
        https://bugs.webkit.org/show_bug.cgi?id=25286

        Refactor library LIBS. Move third-party libs in libwebkit instead
        of libWebCore.

        * GNUmakefile.am:

2009-05-22  Antonio Gomes  <antonio.gomes@openbossa.org>

        Reviewed by Gustavo Noronha.

        Make Gtk build not bail out if gtk-doc-tools is not installed.

        Warning message shown instead.

        * autogen.sh:

2009-05-22  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Add big warnings about the glib unicode backend being slow and
        incomplete, since it is a work in progress.

        * autotools/webkit.m4:
        * configure.ac:

2009-05-22  Dominik Röttsches  <dominik.roettsches@access-company.com>

        Reviewed by Gustavo Noronha.

        https://bugs.webkit.org/show_bug.cgi?id=15914
        [GTK] Implement Unicode functionality using GLib

        Initial version of this patch by Jürg Billeter.

        Adding options for --with-unicode-backend=icu|glib
        and checking for pango version >= 1.21.0 if GLib backend
        is selected. Temporarily, until remaining parts of
        this patch are committed, introduce WTF_USE_GLIB_ICU_UNICODE_HYBRID
        macro to allow for a mixed compilation with WTF Unicode
        backend based on GLib while text codecs and TextBreakIterator
        remain ICU dependent.

        * GNUmakefile.am:
        * configure.ac:

2009-05-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Gavin Barraclough.

        Enable YARR, and disable WREC for GTK+.

        * configure.ac:

2009-05-18  Jan Michael Alonzo  <jmalonzo@webkit.org>

         Reviewed by Xan Lopez.

         [Gtk] Various autotools build refactoring and fixes
         https://bugs.webkit.org/show_bug.cgi?id=25286

         Add support for running unit tests. Also run the tests whenever
         the 'check' target runs.

         * GNUmakefile.am:

2009-05-18  Jan Michael Alonzo  <jmalonzo@webkit.org>

         Reviewed by Xan Lopez.

         [Gtk] Various autotools build refactoring and fixes
         https://bugs.webkit.org/show_bug.cgi?id=25286

         Style fixes

         * GNUmakefile.am:

2009-05-18  Jan Michael Alonzo  <jmalonzo@webkit.org>

         Reviewed by Xan Lopez.

         [Gtk] Various autotools build refactoring and fixes
         https://bugs.webkit.org/show_bug.cgi?id=25286

         Add -no-install and -no-fast-install to programs and tests that we
         don't install. Also remove -O2 since this is already handled at
         configure time.

         * GNUmakefile.am:

2009-05-17  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [Gtk] Various autotools build refactoring and fixes
        https://bugs.webkit.org/show_bug.cgi?id=25286

        Refactor library cflags

        * GNUmakefile.am:

2009-05-15  Fridrich Strba  <fridrich.strba@bluewin.ch>

        Reviewed by Jan Alonzo.

        Use AC_CANONICAL_HOST instead of AC_CANONICAL_SYSTEM, since
        the JIT compiler is not a cross-compiler

        * configure.ac:

2009-05-13  Xan Lopez  <xlopez@igalia.com>

        Unreviewed: bump versions in preparation for 1.1.7 release.

        * configure.ac:

2009-05-13  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Gustavo Noronha.

        Revert commit r43563, since it breaks WebKitGTK+ when compiled
        with gcc 4.4.

        * GNUmakefile.am:

2009-05-12  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] Various autotools build refactoring and fixes
        https://bugs.webkit.org/show_bug.cgi?id=25286

        Refactor use of CFLAGS, CXXFLAGS, LIBADD and LDFLAGS.

        * GNUmakefile.am:

2009-05-09  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha.

        WebKit-r43163 won't build for gtk-directfb
        https://bugs.webkit.org/show_bug.cgi?id=25538

        Move the ENCHANT check out of the with_target conditional since it
        applies to all targets

        * configure.ac:

2009-05-09  Mike Hommey  <glandium@debian.org>

        Reviewed by Geoffrey Garen. Landed by Jan Alonzo.

        Enable JIT on x86-64 gtk+
        https://bugs.webkit.org/show_bug.cgi?id=24724

        * configure.ac:

2009-05-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Ship the gtk-doc.make file, so as to not depend on gtkdoc-tools.

        * GNUmakefile.am:
        * autogen.sh:

2009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>

        Reviewed by Simon Hausmann.

        Build QtWebKit as a framework on Mac

        This implies both debug and release build by default, unless
        one of the --debug or --release config options are passed to
        the build-webkit script.

        Frameworks can be disabled by passing CONFIG+=webkit_no_framework
        to the build-webkit script.

        To be able to build both debug and release targets in parallel
        we have to use separate output directories for the generated
        sources, which is not optimal, but required to avoid race conditions.

        An optimization would be to only require this spit-up on Mac.

        * WebKit.pri:

2009-04-30  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Unreviewed build GTK build fix

        * configure.ac: typo fix - javascript_debugger should be enable_javascript_debugger

2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, build fix.

        https://bugs.webkit.org/show_bug.cgi?id=25470
        Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.

        * configure.ac: Add autoconfig options, missed in the first commit.

2009-04-28  Xan Lopez  <xlopez@igalia.com>

        Unreviewed: bump versions in preparation for 1.1.6 release.

        * configure.ac:

2009-04-25  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Xan Lopez.

        [GTK] Error reporting
        https://bugs.webkit.org/show_bug.cgi?id=18344

        Add webkiterror to the build.

        * GNUmakefile.am:

2009-04-25  Jan Michael Alonzo  <jmalonzo@webkit.org>

         Reviewed by Xan Lopez.

         [GTK] Error reporting
         https://bugs.webkit.org/show_bug.cgi?id=18344

         Add the default error page for installation.

         * GNUmakefile.am:

2009-04-24  Diego Escalante Urrelo  <diegoe@gnome.org>

        Reviewed by Gustavo Noronha.

        https://bugs.webkit.org/show_bug.cgi?id=15616
        [GTK] Add spell checking

        Add enchant support for spell-checking-languages property to work
        properly.

        * GNUmakefile.am:
        * configure.ac:

2009-04-24  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        Added support for generating API docs in the Qt build using "make docs"

        * WebKit.pro: Include docs.pri for "make docs" target.

2009-04-14  Xan Lopez  <xlopez@igalia.com>

        Unreviewed version bump in preparation for 1.1.5 release.

        * configure.ac:

2009-04-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Sam Weinig.

        Added rules to maintain the localization support. We cannot simply
        use whatever gettextize gives us because our build system is
        non-recursive.

        * GNUmakefile.am:
        * configure.ac:

2009-04-05  Mike Hommey  <glandium@debian.org>

        Reviewed by Holger Freyther.

        Filter out all C++ symbols
        https://bugs.webkit.org/show_bug.cgi?id=24960

        Considering the public API is all C, we can just filter out all
        C++ mangled symbols, which will avoid exporting symbols in some
        corner cases such as gcc bugs on specific architectures, etc.

        * autotools/symbols.filter:

2009-04-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        Require GTK+ >= 2.10; 2.8 is already very old, and some very
        useful APIs are only available since 2.10.

        * configure.ac:

2009-04-01  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Holger Freyther.

        Unit test WebKitDownload
        http://bugs.webkit.org/show_bug.cgi?id=24844

        * GNUmakefile.am: Add a unit test for downloading.

2009-04-01  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Unreviewed build fix. Fix make distcheck, after the gtk-doc
        integration.

        * GNUmakefile.am:

2009-03-30  Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        Integrate gtk-doc into the Gtk+ buildsystem.

        * autogen.sh:
        * configure.ac:

2009-03-30  Xan Lopez  <xlopez@igalia.com>

        Unreviewed: bump version to 1.1.4 for release.

        * configure.ac:

2009-03-21  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Holger Freyther.

        Require gnome-keyring 2.26.0, since we were depending on an
        unreleased trunk revision between 2.25.91 and 2.26.0.

        * configure.ac:

2009-03-20  Jan Michael Alonzo  <jmalonzo@gmail.com>

        Reviewed by Holger Freyther.

        [GTK] Misc patches for WebKitWebHistoryItem
        https://bugs.webkit.org/show_bug.cgi?id=24493

        Added build support for build the WebKitWebHistoryItem unit test.

        * GNUmakefile.am:

2009-03-20  Jan Michael Alonzo  <jmalonzo@gmail.com>

        Reviewed by Holger Freyther.

        Separate gtk unit tests
        https://bugs.webkit.org/show_bug.cgi?id=24039

        Build the unit tests accordingly.

        * GNUmakefile.am:

2009-03-17  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Mark Rowe.

        Enable HTML5 media elements support by default in the GTK+ port.

        * configure.ac:

2009-03-17  Mike Hommey <glandium@debian.org>

        Reviewed by Holger Freyther.

        Do not export cti* symbols.
        See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519924.

        * autotools/symbols.filter:

2009-03-15  Xan Lopez  <xlopez@igalia.com>

        Bump version to 1.1.3 for release and fix soversion
        calculation (oops). Thanks to Frederik Himpe for pointing this
        out.

        * configure.ac:

2009-03-15  Xan Lopez  <xlopez@igalia.com>

        Bump version and libtool version for release.

        * configure.ac:

2009-03-14  Xan Lopez  <xlopez@igalia.com>

        No review, build fix.

        Split clean rules to make distcheck pass.

        * GNUmakefile.am:

2009-03-13  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Remove rarely used Makefile targets from the Makefile.

        There are many situations in which the targets don't work as expected,
        and their primary use is addressed by having the build system default
        to building the appropriate architecture.

        * Makefile.shared:

2009-03-11  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] Fix make clean targets
        https://bugs.webkit.org/show_bug.cgi?id=24450

        Fix 'make' clean targets. We shouldn't be removing DerivedSources
        if it's only clean. Only remove it if it's distclean or
        maintainer-clean. Also remove build-related auxillary files on
        dist/maintainer clean.

        * GNUmakefile.am:

2009-03-11  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther

        [GTK]DumpRenderTree doesn't compile for non-X11 GTK ports anymore
        https://bugs.webkit.org/show_bug.cgi?id=2260

        pangoft2 is also used in directfb builds so use it for all targets

        * configure.ac:

2009-03-02  Xan Lopez  <xan@gnome.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=24287
        [GTK] Move auth dialog feature to WebKit/

        Add WebKitSoupAuthDialog files to build.

        * GNUmakefile.am:

2009-03-03  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=16826
        [Gtk] Implement WebKitDownload

        Adding new files related to WebKitDownload to the GTK+ port.

        * GNUmakefile.am:

2009-03-02  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed build fix; adding missing files to EXTRA_DIST, so that
        they show up in the tarball.

        * GNUmakefile.am:

2009-03-01  Christian Dywan  <christian@twotoasts.de>

        * configure.ac: Bump GTK port version to 1.1.1.

2009-02-27  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed build fix. Adding the WebKit/gtk/webkitmarshal.list
        file to EXTRA_DIST to fix make dist.

        * GNUmakefile.am:

2009-02-26  Xan Lopez  <xan@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=16947
        [GTK] Missing HTTP Auth challenge

        Add HTTP authentication dialog with optional GNOME Keyring
        storage.

        * GNUmakefile.am:
        * configure.ac:

2009-02-26  Xan Lopez  <xan@gnome.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=16947
        [GTK] Missing HTTP Auth challenge

        Take marshallers to be built from a manually maintained list
        instead of grepping the sources.

        It's much faster, especially so now that we want to add
        marshallers from WebCore too. A system to only take into account
        the modified files when generating the marshallers from sources
        could be hacked, but I think it's overkill considering how rarely
        a new marshaller is added.

        * GNUmakefile.am:

2009-02-24  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [Gtk] add options for 3D transforms and HTML5 channel messaging to the build
        https://bugs.webkit.org/show_bug.cgi?id=24072

        Add options for toggling 3D transforms and HTML5 channel messaging
        support on or off.

        Also fix the web-workers option. It should be web-workers and not workers.

        * configure.ac:

2009-02-23  Xan Lopez  <xan@gnome.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=22624
        [SOUP][GTK] Need API to get SoupSession from WebKit.

        Remove CURL support, the only supported HTTP backend is SOUP now.

        * GNUmakefile.am:
        * configure.ac:

2009-02-19  Christian Dywan  <christian@twotoasts.de>

        Rubber-stamped by Holger Freyther.

        http://bugs.webkit.org/show_bug.cgi?id=22811
        Underlinking in Programs_UnitTests (GTK+ build)

        * GNUmakefile.am: Add GLIB_LIBS to unit test library flags.

2009-02-18  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        Fix symbols.filter location, and add other missing files to the
        autotools build, so that make dist works.

        * GNUmakefile.am:

2009-02-17  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23939
        Release build being built with debugging symbols

        * configure.ac: Revert change done in revision 40790, since we
        already have a AC_PROG_CXX macro call as part of WEBKIT_INIT

2009-02-12  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Eric Seidel.

        * configure.ac: Make soup the default HTTP backend for the Gtk port.

2009-02-09  Calvin Walton  <calvin.walton@gmail.com>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=23823

        [Gtk] Fix build with recent autotools

        Current versions of automake/libtool don't assume you want C++ enabled
        by default any more, so explicitly check for a C++ compiler.

        * configure.ac: Add AC_PROG_CXX macro

2009-02-02  Christian Dywan  <christian@twotoasts.de>

        Rubber-stamped by Holger Freyther.

        Don't require Geolocation by default.

        * configure.ac:

2009-01-30  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Nikolas Zimmermann.

        [Gtk] Refactor autoconf/configure.ac in preparation for jsc and webkit build splits
        https://bugs.webkit.org/show_bug.cgi?id=22136

        * GNUmakefile.am:
        * acinclude.m4: Removed.
        * autogen.sh:
        * autotools/acinclude.m4: Added.
        * autotools/dolt.m4: Added.
        * autotools/symbols.filter: Renamed from symbols.filter.
        * autotools/webkit.m4: Added.
        * configure.ac:

2009-01-30  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Nikolas Zimmermann.

        [GTK] Implement GeolocationService using the Geoclue library

        https://bugs.webkit.org/show_bug.cgi?id=22022

        Untested implementation of the GeolocationService using the geoclue
        library. Velocity handling is completely missing and the accuracy
        handling might be wrong.

        * GNUmakefile.am:
        * configure.ac:

2009-01-11  Xan Lopez  <xan@gnome.org>

        Reviewed by Holger Freyther.

        Bump version to 1.1.0 since we are breaking ABI and adding new
        major features.

        * configure.ac:

2008-12-19  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Holger Freyther.

        http://bugs.webkit.org/show_bug.cgi?id=16562
        [gtk] Implement WebPolicyDelegate methods

        Original work by Pierre-Luc Beaudoin. Final touches by Gustavo
        Noronha.

        This implements the delegates methods of WebPolicyDelegate.
        Since Gtk+/C doesn't have delegate methods, they are replaced with
        signals.

        A new object WebKitWebPolicyDecision allows the browser to delay its
        response in certain cases. WebKitWebNavigationAction contains the
        information about what caused a navigation request.

        * GNUmakefile.am: Add new files

2008-12-19  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        Use ustar tar format for WebKit/GTK+'s make dist target, so that
        storing files whose filenames are > 99 is possible.

        * configure.ac:

2008-12-19  Holger Hans Peter Freyther  <zecke@selfish.org>

        [GTK] Build fix by defining WTF_USE_JIT_STUB_ARGUMENT_VA_LIST

        Fix the jit compilation on i*686 on Linux by using the va_list
        to pass arguments to the CTI. This is done on the MAC as well
        and sunspider and javascriptcore seem to work with that.

        * configure.ac:

2008-12-18  Pamela Greene  <pam@chromium.org>

        Submitted without review.
        Right, remove the whole misplaced directory, not just the tests.

        * fast: Removed.
        * fast/dom: Removed.

2008-12-18  Pamela Greene  <pam@chromium.org>

        Submitted without review.
        Moving layout test into LayoutTests where it belongs.

        * fast/dom/setter-type-enforcement-expected.txt: Removed.
        * fast/dom/setter-type-enforcement.html: Removed.

2008-12-15  Daniel Macks  <dmacks@netspace.org>

        Reviewed by Darin Adler.

        Default to use external libicu-config if avail on all platforms.
        https://bugs.webkit.org/show_bug.cgi?id=22713

        * configure.ac:

2008-12-12  Holger Hans Peter Freyther  <zecke@selfish.org>

        Back out r39222 as this is breaking the build on Gentoo (aclocal-1.10)

        The m4 directory does not exist and we now have a compile issue on
        Gentoo systems.

        * GNUmakefile.am:
        * configure.ac:

2008-12-11  Daniel Macks  <dmacks@netspace.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22714

        Put libtool macro files in subdir that it wants.

        * GNUmakefile.am:
        * configure.ac:

2008-12-07  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Eric Seidel.

        [Gtk+] Use glib's unit test facilities to test the WebKit/Gtk+ API

        https://bugs.webkit.org/show_bug.cgi?id=22491

        Add the skeleton to WebKit/gtk/tests and integrate that into the
        buildsystem. Testing support was added in glib 2.16. For versions
        using glib < 2.16 we compile an empty application.

        * GNUmakefile.am:

2008-12-07  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Cameron Zwarich.

        [GTK] Define ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS, ENABLE_JIT_OPTIMIZE_ARITHMETIC

        When building the jit on i*86 also enable the above optimizations.

        * configure.ac:

2008-12-03  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Tor Arne Vestbø.

        Fix the build of WebKit inside Qt by making sure that qmake generators
        that do not produce generated sources (i.e. cpp files) are not
        included in SOURCES.

        * WebKit.pri:

2008-12-02  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Tor Arne Vestbø.

        Removed JavaScriptCore from SUBDIRS as it's not built separately
        anymore.

        * WebKit.pro:

2008-11-28  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed and slightly modified by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=19130

        Added the new WebKitGtk files to be built:
        WebKit/gtk/webkit/webkitwebwindowfeatures.{cpp,h}

        * GNUmakefile.am:

2008-11-26  Kalle Vahlman  <kalle.vahlman@movial.com>

        Reviewed by Darin Adler. Landed by Jan Alonzo.

        Bison versions under 2.2 produce crashing CSSGrammar code for ARM
        https://bugs.webkit.org/show_bug.cgi?id=22456

        Check for bison version 2.2 or greater on ARM. Earlier versions produce
        code that crashes on ARM devices.

        * configure.ac:

2008-11-25  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by David Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=22022

        Add Geolocation support to the configure.ac

        Add an option to build WebKit/Gtk+ with Geolocation. The
        implementation will be using Gypsy.

        * configure.ac:

2008-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark Rowe.

        [Gtk+] Add configure option to enable Web Workers and enable it by default

        Add --enable-workers to the buildsystem (used by build-webkit) add
        the to be build files to the GNUmakefile.am and change build-webkit
        to enable Web Workers by default.

        * configure.ac:

2008-09-09  Joerg Bornemann  <joerg.bornemann@trolltech.com>

        Reviewed by Simon Hausmann.

        Steps towards making the Qt port of WebKit compile on Windows CE

        https://bugs.webkit.org/show_bug.cgi?id=20746

        * WebKit.pro: don't build DumpRenderTree on all Win32 platforms

2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        Add WML build support for Gtk as well.

        * configure.ac:

2008-11-16  Geoffrey Garen  <ggaren@apple.com>

        Not reviewed.

        Try to fix gtk build.

        * configure.ac:

2008-11-10  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Rubber-stamped by Simon Hausmann.

        Distinguish between building from trunk and as part of Qt

        * WebKit.pri:

2008-11-10  Morten Sørvig  <msorvig@trolltech.com>

        Reviewed by Simon Hausmann.

        Make tests/auto/qwebframe compile on Qt/Mac.

        * WebKit.pri: Fix linkage against QtWebKit when compiled as framework.

2008-11-06  Cameron Zwarich  <zwarich@apple.com>

        Not reviewed.

        Speculatively fix the GTK build.

        * GNUmakefile.am:

2008-11-06  Alp Toker  <alp@nuanti.com>

        GTK build fix for r38155. create_hash_table was moved out of kjs/

        * GNUmakefile.am:

2008-11-06  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Sam Weinig.

        Correct the reference to jsc.pro in WebKit.pro to match its new
        location in the root directory of JavaScriptCore.

        * WebKit.pro:

2008-11-03  Alp Toker  <alp@nuanti.com>

        autotools distcleancheck fix. Add dolt-generated files and
        webkitenumtypes.h to the list of files that need to be cleaned.
        Unreviewed.

        * GNUmakefile.am:

2008-11-03  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Holger Freyther.

        Do not enable RTTI or exceptions in debug builds, matching release
        builds. They don't help much with debugging and significantly slow
        down and increase the size of the debug build.

        * GNUmakefile.am:

2008-11-03  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Holger Freyther.

        Add mingw32 case to dolt for faster GTK+ Windows builds.

        * acinclude.m4:

2008-11-02  Xan Lopez  <xan@gnome.org>

        Reviewed by Holger Freyther

        https://bugs.webkit.org/show_bug.cgi?id=22009
        HTML5 Video with GStreamer pulls gnome-vfs without using it.

        * configure.ac:
        Remove gnome-vfs from configure.ac, it's unused.

2008-10-30  Alp Toker  <alp@nuanti.com>

        https://bugs.webkit.org/show_bug.cgi?id=19395
        doltlibtool bug with bash 3.0

        autotools dolt build fix for bash version 3.0 and older. Remove
        concatenation syntax from doltlibtool to support the older versions
        which don't have '+='.

        * acinclude.m4:

2008-10-30  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Oliver Hunt.

        autotools build system change to enable JIT features by default. Can
        be disabled with --disable-jit (and is disabled automatically on
        unsupported platforms).

        * configure.ac:

2008-10-30  Alp Toker  <alp@nuanti.com>

        Bump WebKit GTK+ version to 1.0.3.

        * configure.ac:

2008-10-29  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Holger Freyther.

        Added all the files that need to be installed for the Inspector to
        work.

2008-10-29  Mike Hommey  <glandium@debian.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=21884
        Test presence and link against libpng.

        * GNUmakefile.am:
        * configure.ac:

2008-10-29  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        Add --enable-optimizations to enable optimized builds. The default
        is to enable it for release builds, and disabled for debug builds.
        This option will allow builders to have a debug as well as
        optimized builds.

        * GNUmakefile.am:
        * configure.ac:

2008-10-28  Mike Hommey  <glandium@debian.org>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=21885
        [GTK] libwebkit doesn't link against libpangoft2

        Add pkg-config check for pangoft2 which provides
        pango_fc_font_description_from_pattern() used in the FreeType font
        backend.

        * configure.ac:

2008-10-28  Alp Toker  <alp@nuanti.com>

        Include copyright license files in the autotools dist target.

        Change suggested by Mike Hommey.

        * GNUmakefile.am:

2008-10-25  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix: add '-' to Wl which was missed in r36845

        * GNUmakefile.am:

2008-10-22  Alp Toker  <alp@nuanti.com>

        Fix build for Cairo 1.2.

        * configure.ac:

2008-10-20  Alp Toker  <alp@nuanti.com>

        Partial GTK+/Win32 build fix. Lowercase library name to enable linking
        when cross-compiling Windows binaries from Linux: -lWs2_32 -> -lws2_32

        * configure.ac:

2008-10-13  Alp Toker  <alp@nuanti.com>

        GTK+ build fix: Ensure correct builds when debugging is
        enabled/disabled by defining NDEBUG in autotoolsconfig.h as needed.
        It's still passed as a compiler flag since some sources (DRT) don't
        use config.h yet.

        * configure.ac:

2008-10-09  Alp Toker  <alp@nuanti.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=20760
        Implement support for x86 Linux in CTI

        Prepare to enable CTI/WREC on supported architectures. Will be
        switched on when the crasher introduced in r37386 is resolved.

        * configure.ac:

2008-10-07  Alp Toker  <alp@nuanti.com>

        GTK+ build fix for older automake versions (1.7). Discussed in bug
        #21392.

        * GNUmakefile.am:

2008-10-07  Alp Toker  <alp@nuanti.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=21392
        [GTK] Auto-generate JS DOM binding sources list

        Remove the huge lists of generated DOM binding sources and headers in
        the build system. These are difficult to maintain and can be derived
        automatically.

        The new strategy is to re-use the existing lists of IDL sources (which
        are needed for dist support anyway). This will also ease the addition
        of new language bindings.

        * GNUmakefile.am:

2008-09-27  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=20287
        [Gtk] disable plugins for gtk/directfb target

        Introduce WTF_PLATFORM_X11 for X11 builds.
        Also use target-specific packages when building the port

        * configure.ac: Do not check for cairo-ft for directfb builds.

2008-09-27  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Holger Freyther.

        http://bugs.webkit.org/show_bug.cgi?id=21174
        [GTK][AUTOTOOLS] Enable large file support at configure time

        * configure.ac: Enable large file support with AC_SYS_LARGEFILE.

2008-09-23  Richard Hult  <richard@imendio.com>

        Reviewed by Alp Toker. Landed by Jan Alonzo.

        http://bugs.webkit.org/show_bug.cgi?id=20582
        [Gtk] Link error on Mac OS X

        * GNUmakefile.am: Only use the -version-script flag for the gnu
        linker.
        * configure.ac: Check for GNU OSes.

2008-09-19  Alp Toker  <alp@nuanti.com>

        Build fix for the 'gold' linker and recent binutils. New behaviour
        requires that we link to used libraries explicitly.

        * GNUmakefile.am:
        * configure.ac:

2008-09-04  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Eric Seidel.

        http://bugs.webkit.org/show_bug.cgi?id=20380
        [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h

        * configure.ac: Rename the configuration header from aconfig.h to autotoolsconfig.h.

2008-08-28  Alp Toker  <alp@nuanti.com>

        GTK+ dist/build fix. List newly added header files.

        * GNUmakefile.am:

2008-08-27  Mike Hommey <glandium@debian.org>

        Reviewed by Holger.

        * GNUmakefile.am:
        * symbols.filter: Added.

2008-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed (and updated) by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=16620
        [GTK] Autotools make dist and make check support

        Get make dist working.

        Note that not all possible configurations have been tested yet.

        * GNUmakefile.am:

2008-08-09  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=19045
        [gtk] ./configure doesn't check for x toolkit availability

        Some old versions of Xt do not provide xt.pc, in this case use
        AC_CHECK_LIB to check if the library is installed and then fall back
        to using just -lXt.

        * configure.ac:

2008-08-09  Alp Toker  <alp@nuanti.com>

        GTK+ build fixes.

        Back out r20338 libxslt check (conditional check already exists and
        this broke the build).

        Make the flex version check a warning rather than fatal to fix the
        build bot.

        * configure.ac:

2008-08-08  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=20338
        [Gtk] Autotools should check for libxslt

        Autotools check for libxslt

        * configure.ac:

2008-08-07  Kalle Vahlman  <zuh@iki.fi>

        Reviewed by David Kilzer.

        Check for correct flex version to avoid faulty builds

        A correct Webkit build requires flex 2.5.33 but autotools build doesn't check for it
        https://bugs.webkit.org/show_bug.cgi?id=20253

        acinclude.m4: Import AX_COMPARE_VERSION macro
        configure.ac: Check for flex version

        * acinclude.m4:
        * configure.ac:

2008-08-07  Simon Hausmann  <hausmann@webkit.org>

        Rubber-stamped by Lars.

        Added API tests for QWebPage/QWebFrame based on QTestLib.

        * WebKit.pro: Add WebKit/qt/tests to the build.

2008-08-06  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Eric Seidel.

        http://bugs.webkit.org/show_bug.cgi?id=20276
        [GTK] Makefile rules for the enum GTypes files depend on Makefile
        instead of GNUmakefile

        The patch committed in revision 34649 added the code needed to
        generate GTypes for enums but the makefile rules for
        stamp-webkitenumtypes.h and webkitenumtypes.cpp were depending on
        Makefile (used by other ports) instead of GNUmakefile.

        * GNUmakefile.am: Depend on GNUmakefile instead of Makefile.

2008-08-05  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=19045
        [gtk] ./configure doesn't check for x toolkit availability

        Check for the .pc file for Xt instead of hard coding -lXt in the
        GNUmakefile.am.

        Thanks to Dominik Röttsches for the initial patch.

        * GNUmakefile.am:
        * configure.ac:

2008-07-30  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Holger.

        http://bugs.webkit.org/show_bug.cgi?id=19742
        [GTK] Auto generate webkitmarshal.list

        Auto generate webkitmarshal.list from source files to reduce the
        number of conflicts when merging git branches or when applying
        patches.
        Also rename webkit-marshal.* to webkitmarshal.* for consistency.

        * GNUmakefile.am:

2008-07-25  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Mark Rowe.

        Copy the way Gtk detects jpeglib. Hinted by Wouter Bolsterlee.

        [Gtk] Improve detection jpeglib
        https://bugs.webkit.org/show_bug.cgi?id=17865

        * GNUmakefile.am:
        * configure.ac:

2008-07-25  Simon Hausmann  <hausmann@webkit.org>

        Discussed with and rubber-stamped by Lars.

        Fix the build system for the Qt port.

        Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
        include search path. With a build process that combines JavaScriptCore and
        WebCore in one build process/Makefile the existance of
        JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.

        This commit solves this by introducing a separate build of JavaScriptCore into
        a static library.

        As a result of the split-up a race-condition due to broken dependencies of
        regular source files to header files of generated sources showed up very
        frequently when doing parallel builds (which the buildbot does). This commit at
        the same time tries to address the dependency problem by making the
        addExtraCompiler() function also generate a pseudo extra compiler that
        represents the header file output, so that qmake is aware of the creation of
        the header file for dependency calculation.

        At the same time I removed a lot of cruft from the pro files to ease maintenance.

        * WebKit.pri:
        * WebKit.pro:

2008-06-18  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=19171
        [GTK] GTypes for enumerations

        Generate GTypes for public enumerations so they can be used as
        properties.

        * GNUmakefile.am: Generate webkit-enum-types.cpp and
        webkit-enum-types.h.

2008-06-16  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build. testkjs.pro is now called jsc.pro.

        * WebKit.pro:

2008-06-15  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Maciej.

        Install 'jsc' application by default.

        * GNUmakefile.am:

2008-06-08  Alp Toker  <alp@nuanti.com>

        autotools/GTK+ build system cleanup. Don't include WebKit API in the
        WebCore build as it's no longer needed since r34426.

        * GNUmakefile.am:

2008-06-08  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Mark Rowe.

        Bring back -fstrict-aliasing for JavaScriptCore which was removed in
        r31821, since aliasing issues have now been fixed.

        Use -O3, not -O2 for the JavaScriptCore build.

        * GNUmakefile.am:
        * configure.ac:

2008-06-05  Christian Dywan  <christian@twotoasts.de>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=14141
        Please add a version to the Gtk port

        * GNUmakefile.am:

2008-06-02  Alp Toker  <alp@nuanti.com>

        GTK+/autotools Windows build system fixes.

        * GNUmakefile.am:
        * configure.ac:

2008-06-02  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp Toker.

        Build WebCore GTK+ sources as part of WebCore, not WebKit.
        Split common and GTK+-specific sources into separate file lists.

        * GNUmakefile.am:

2008-06-01  Josh Triplett  <josh@freedesktop.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16891
        [GTK] autotools build is slow

        Add dolt revision 5e9eef10 to the autotools build system. Speeds up
        the build, often by a factor of two or more on supported platforms,
        otherwise falls back to libtool.

        See http://dolt.freedesktop.org for details.

        * acinclude.m4: Added.
        * configure.ac:

2008-05-25  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=19142
        [Gtk] Remove build options --svg-experimental and --cross-document-messaging

        * configure.ac:

2008-05-24  Alp Toker  <alp@nuanti.com>

        GTK+/Win32 build fixes. Link against Windows ICU without using
        icu-config since it's not available on that platform.

        Link against Ws2_32 when the curl http backend is chosen since we
        use select() directly.

        * configure.ac:

2008-05-23  Alp Toker  <alp@nuanti.com>

        GTK+ fixes for building without database support.

        * configure.ac:

2008-05-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp Toker.

        Fix for previous autotools change.

        * configure.ac:

2008-05-20  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp.

        http://bugs.webkit.org/show_bug.cgi?id=18483
        [Gtk] Autotools should match build-webkit default flags

        * configure.ac:

2008-05-19  Alp Toker  <alp@nuanti.com>

        GTK+ build fix for Mac/Win. Don't check for FreeType/FontConfig when
        the Pango font backend is selected.

        * GNUmakefile.am:
        * configure.ac:

2008-05-16  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated

        * configure.ac: Add HTML_FLAGS and set it when video is enabled.

2008-05-15  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        Since WebKitGtk is fully using autotools now, clean-up the .pro/.pri files
        from gtk-port.

        * WebKit.pri:
        * WebKit.pro:

2008-05-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mark.

        Add x86_64 rule.

        * Makefile:

2008-05-09  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        Removed explicit linkage against libxml and libxslt on Qt/Mac builds.

        This dependency is completely unnecessary here and creates only problems by
        propagating through WebCore.pro over libQtWebKit.prl right now customer
        applications.


        * WebKit.pri:

2008-05-02  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mark.

        Add an "x86_64" make rule.

        * Makefile.shared:

2008-05-02  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Eric.

        https://bugs.webkit.org/show_bug.cgi?id=18811
        Enable dashboard and offline web apps in autotools

        * configure.ac:

2008-05-01  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>

        Reviewed by Alp Toker.

        https://bugs.webkit.org/show_bug.cgi?id=14750
        Added support for NPAPI plugins on Gtk and Qt-x11 ports.

        * GNUmakefile.am: Added Xt library.

2008-04-29  David Kilzer  <ddkilzer@apple.com>

        BUILD FIX for ENABLE(DASHBOARD_SUPPORT)

        * configure.ac: Added conditional for ENABLE_DASHBOARD_SUPPORT.

2008-04-22  Alp Toker  <alp@nuanti.com>

        GTK+ debug build fix for changes in r32257.

        * GNUmakefile.am:

2008-04-18  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16620
        [GTK] Autotools make dist and make check support

        Cleanups.

        * GNUmakefile.am:

2008-04-11  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Antti Koivisto.

        * GNUmakefile.am: Disable a warning that GCC 4.3 triggers all over the show.

2008-04-17  Alp Toker  <alp@atoker.com>

        GTK+ build fix. Back out the libjpeg check part of r32008 from bug
        #17865 (reopened).

        * configure.ac:

2008-04-17  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=17865
        [Gtk] Improve detection of jpeglib and glib tools

        Improve detecting jpeglib and glib tools

        * configure.ac: Throw an error if the dependencies above are
        currently not installed

2008-04-14  Xan Lopez  <xan@gnome.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=17917
        Bug 17917: Cookie support for HTTP soup backend

        Bumped the libsoup required version to 2.23 for cookie support.

        * configure.ac:

2008-04-11  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Anders Carlsson.

        Fix https://bugs.webkit.org/show_bug.cgi?id=18430
        Bug 18430: SIGSEGV on amd64 when built with gcc 4.3

        GCC 4.3 generates bad code in some instances when working with our HashTables
        as some of the HashTable code violates the strict aliasing requirements.  Since
        GCC 4.2 this code has generated warnings when -fstrict-aliasing is enabled. Until
        the code can be fixed to be safe with strict aliasing enabled, we will disable
        strict aliasing.

        * GNUmakefile.am:

2008-03-12  Michael Emmel  <mike.emmel@gmail.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=18397
        Fix leaving spaces before parens in functions

        * WebKitTools/Scripts/wkstyle:

2008-04-07  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Build fix, rubber-stamped and landed by ap.

        * configure.ac: Add autoconf flag for HTML5 client-side session and persistent storage support.

2008-03-21  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Holger.

        Remove the JSCore include path options from global_cppflags.
        Place JSCore include path options in javascriptcore_cppflags.
        Add javascriptcore_cppflags to libWebCore_la_CPPFLAGS.

        * GNUmakefile.am:

2008-03-20  Jasper Bryant-Greene  <jasper@unix.geek.nz>

        Reviewed by Anders.

        Resolves http://bugs.webkit.org/show_bug.cgi?id=16092
        "[GTK] Middle-mouse click should allow opening a URL in a new tab"

        Added WebKitNavigationAction object to GTK API

        * GNUmakefile.am:

2008-03-12  Xan Lopez  <xan@gnome.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=15229

        Add optional font backend support with freetype and pango
        backends. Default is freetype for now.

        Original patch by Sven Herzberg <sven@imendio.com>

        * configure.ac:

2008-03-11  Xan Lopez  <xan@gnome.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16476

        Add support for multiple http backends, and add soup backend (off by default).

        * GNUmakefile.am:
        * configure.ac:

2008-03-07  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Darin Adler.

        Done with Lars.

        Added plugins subdirectory to the include path.

        * WebKit.pri:

2008-03-09  Alp Toker  <alp@atoker.com>

        GTK+ build fix for r30913.

        Use UNICODE_CFLAGS for C++ sources as well as C sources.

        * GNUmakefile.am:

2008-03-09  Jörg Billeter  <j@bitron.ch>

        Reviewed by Alp Toker.

        Conditionalise ICU for Unicode in the GTK+ port.

        * GNUmakefile.am:
        * configure.ac:

2008-03-03  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=17644
        Build GTK on Mac OS X using native ICU library

        Use Apple native ICU libraries when building GTK
        webkit on Mac OS.

        * configure.ac:

2008-03-02  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Alp Toker.

        Add ICU_CPPFLAGS earlier in include path for WebCore
        so that we find $(icu_cppflags)/unicode/utf8.h, rather than
        the wtf/unicode/UTF8.h on case-insensitive file systems.

        * GNUmakefile.am:

2008-03-02  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Split the WebKit GTK+ build out of the WebCore build and change the
        shared object name to match the package name.

        * GNUmakefile.am:

2008-02-28  Alp Toker  <alp@atoker.com>

        Fix a configure script typo spotted by Kalle Vahlman.

        * configure.ac:

2008-02-26  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin Adler.

        Add "64" and "64u" make rules to allow easy building of 64-bit versions.

        make 64: will build Intel-only 64-bit.
        make 64u: will build 4-way universal for PPC and Intel.

        * Makefile:
        * Makefile.shared:

2008-02-23  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Rubber stamped by Darin Adler.

        Add separator '\' after libJavaScriptCore_la_LIBADD and cleanup
        whitespaces introduced in the previous commit.

        * GNUmakefile.am:

2008-02-23  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Rubber-stamped by Darin Adler.

        * GNUmakefile.am: Add both GLOBALDEPS and WEBKITDEPS instead of DEPENDENCIES.
        * configure.ac: Break dependent modules into GLOBALDEPS and WEBKITDEPS.

2008-02-21  Alp Toker  <alp@atoker.com>

        Fix a configure script typo.

        * configure.ac:

2008-02-21  Alp Toker  <alp@atoker.com>

        GTK+/autotools SVG experimental build fix

        Don't enable SVG filters in --enable-svg-experimental.

        This feature isn't supported at all yet. Developers can enable it
        explicitly by passing --enable-svg-filters if needed.

        * configure.ac:

2008-02-21  Mike Auty  <mike.auty@gmail.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=17445
        [GTK] WebKit doesn't compile with LDFLAGS="-Wl,--as-needed"

        The GNUmakefile.am files make use of the LDFLAGS variable to include library
        additions such as -ljpeg etc.  Unfortunately, if these inclusions aren't made
        in LIBADD/LDADD variables, then they are mis-ordered during the linking.

        The as-needed flag discards libraries whose functions have not been needed by
        earlier libraries, which therefore makes the ordering important.

        This moves all -l library inclusion statements from LDFLAGS variables to
        LIBADD/LDADD variables.

        * GNUmakefile.am:

2008-02-15  Alp Toker  <alp@atoker.com>

        Reviewed by Holger.

        GTK+ configure script cleanups

        Categorize the configuration summary printout.
        Bump GTK+ requirement to 2.8.
        Rename 'webkit_target' to just 'target'.
        Don't check for pthread on Win32.

        * configure.ac:

2008-02-14  Adam Roben  <aroben@apple.com>

        Turn on cross-document messaging support by default

        Reviewed by Darin Adler.

        * configure.ac:

2008-02-14  Adam Roben  <aroben@apple.com>

        Conditionalize cross-document messaging support

        The cross-document messaging parts of HTML 5 are in flux and we want
        ports to be able to turn off the support as needed.

        Note that the support is turned off by default right now. A subsequent
        commit will turn it on by default.

        Reviewed by Darin Adler.

        * configure.ac:

2008-02-12  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Alp Toker.

        Add a --with-hildon argument to configure.ac for adding MAEMO_CHANGES
        to the CPPFLAGS for WebCore and WebKit
        Add a pkgconfig check for hildon-1 when --with-hildon specified
        Output the use of Hildon support in the summary
        Add HILDON_CPPFLAGS to webkitgtk_cppflags
        Add HILDON_CFLAGS to libWebKitGtk_la_CFLAGS
        Add HILDON_LIBS to libWebKitGtk_la_LDFLAGS

        * configure.ac:
        * GNUmakefile.am:

2008-02-08  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Maciej.

        Bump autoconf CAIRO_REQUIRED_VERSION up to 1.4.

        * configure.ac:

2008-02-06  Timothy Hatcher  <timothy@apple.com>

        Rubber-stamped by Mark Rowe.

        Dump of bugs.webkit.org's Bugzilla instance.

        * BugsSite: Added.
        * BugsSite/.htaccess: Added.
        * BugsSite/Bugzilla: Added.
        * BugsSite/Bugzilla.pm: Added.
        * BugsSite/Bugzilla/.cvsignore: Added.
        * BugsSite/Bugzilla/.htaccess: Added.
        * BugsSite/Bugzilla/Attachment.pm: Added.
        * BugsSite/Bugzilla/Auth: Added.
        * BugsSite/Bugzilla/Auth.pm: Added.
        * BugsSite/Bugzilla/Auth/Login: Added.
        * BugsSite/Bugzilla/Auth/Login/WWW: Added.
        * BugsSite/Bugzilla/Auth/Login/WWW.pm: Added.
        * BugsSite/Bugzilla/Auth/Login/WWW/CGI: Added.
        * BugsSite/Bugzilla/Auth/Login/WWW/CGI.pm: Added.
        * BugsSite/Bugzilla/Auth/Login/WWW/CGI/Cookie.pm: Added.
        * BugsSite/Bugzilla/Auth/Login/WWW/Env.pm: Added.
        * BugsSite/Bugzilla/Auth/README: Added.
        * BugsSite/Bugzilla/Auth/Verify: Added.
        * BugsSite/Bugzilla/Auth/Verify/DB.pm: Added.
        * BugsSite/Bugzilla/Auth/Verify/LDAP.pm: Added.
        * BugsSite/Bugzilla/Bug.pm: Added.
        * BugsSite/Bugzilla/BugMail.pm: Added.
        * BugsSite/Bugzilla/CGI.pm: Added.
        * BugsSite/Bugzilla/Chart.pm: Added.
        * BugsSite/Bugzilla/Config.pm: Added.
        * BugsSite/Bugzilla/Constants.pm: Added.
        * BugsSite/Bugzilla/DB: Added.
        * BugsSite/Bugzilla/DB.pm: Added.
        * BugsSite/Bugzilla/DB/Mysql.pm: Added.
        * BugsSite/Bugzilla/DB/Pg.pm: Added.
        * BugsSite/Bugzilla/DB/Schema: Added.
        * BugsSite/Bugzilla/DB/Schema.pm: Added.
        * BugsSite/Bugzilla/DB/Schema/Mysql.pm: Added.
        * BugsSite/Bugzilla/DB/Schema/Pg.pm: Added.
        * BugsSite/Bugzilla/Error.pm: Added.
        * BugsSite/Bugzilla/Flag.pm: Added.
        * BugsSite/Bugzilla/FlagType.pm: Added.
        * BugsSite/Bugzilla/Group.pm: Added.
        * BugsSite/Bugzilla/Search.pm: Added.
        * BugsSite/Bugzilla/Series.pm: Added.
        * BugsSite/Bugzilla/Template: Added.
        * BugsSite/Bugzilla/Template.pm: Added.
        * BugsSite/Bugzilla/Template/Plugin: Added.
        * BugsSite/Bugzilla/Template/Plugin/Bugzilla.pm: Added.
        * BugsSite/Bugzilla/Template/Plugin/Hook.pm: Added.
        * BugsSite/Bugzilla/Template/Plugin/User.pm: Added.
        * BugsSite/Bugzilla/Token.pm: Added.
        * BugsSite/Bugzilla/User: Added.
        * BugsSite/Bugzilla/User.pm: Added.
        * BugsSite/Bugzilla/User/Setting.pm: Added.
        * BugsSite/Bugzilla/Util.pm: Added.
        * BugsSite/CGI.pl: Added.
        * BugsSite/PrettyPatch: Added.
        * BugsSite/PrettyPatch/PrettyPatch.rb: Added.
        * BugsSite/PrettyPatch/prettify.rb: Added.
        * BugsSite/QUICKSTART: Added.
        * BugsSite/README: Added.
        * BugsSite/UPGRADING: Added.
        * BugsSite/UPGRADING-pre-2.8: Added.
        * BugsSite/ant.jpg: Added.
        * BugsSite/attachment-aroben.cgi: Added.
        * BugsSite/attachment.cgi: Added.
        * BugsSite/buglist.cgi: Added.
        * BugsSite/bugzilla.dtd: Added.
        * BugsSite/chart.cgi: Added.
        * BugsSite/checksetup.pl: Added.
        * BugsSite/colchange.cgi: Added.
        * BugsSite/collectstats.pl: Added.
        * BugsSite/config.cgi: Added.
        * BugsSite/contrib: Added.
        * BugsSite/contrib/BugzillaEmail.pm: Added.
        * BugsSite/contrib/README: Added.
        * BugsSite/contrib/README.Mailif: Added.
        * BugsSite/contrib/bug_email.pl: Added.
        * BugsSite/contrib/bugmail_help.html: Added.
        * BugsSite/contrib/bugzilla-submit: Added.
        * BugsSite/contrib/bugzilla-submit/README: Added.
        * BugsSite/contrib/bugzilla-submit/bugdata.txt: Added.
        * BugsSite/contrib/bugzilla-submit/bugzilla-submit: Added.
        * BugsSite/contrib/bugzilla-submit/bugzilla-submit.xml: Added.
        * BugsSite/contrib/bugzilla.procmailrc: Added.
        * BugsSite/contrib/bugzilla_email_append.pl: Added.
        * BugsSite/contrib/bugzilla_ldapsync.rb: Added.
        * BugsSite/contrib/bzdbcopy.pl: Added.
        * BugsSite/contrib/cmdline: Added.
        * BugsSite/contrib/cmdline/bugcount: Added.
        * BugsSite/contrib/cmdline/bugids: Added.
        * BugsSite/contrib/cmdline/buglist: Added.
        * BugsSite/contrib/cmdline/bugs: Added.
        * BugsSite/contrib/cmdline/bugslink: Added.
        * BugsSite/contrib/cmdline/makequery: Added.
        * BugsSite/contrib/cmdline/query.conf: Added.
        * BugsSite/contrib/cvs-update.pl: Added.
        * BugsSite/contrib/gnats2bz.pl: Added.
        * BugsSite/contrib/gnatsparse: Added.
        * BugsSite/contrib/gnatsparse/README: Added.
        * BugsSite/contrib/gnatsparse/gnatsparse.py: Added.
        * BugsSite/contrib/gnatsparse/magic.py: Added.
        * BugsSite/contrib/gnatsparse/specialuu.py: Added.
        * BugsSite/contrib/jb2bz.py: Added.
        * BugsSite/contrib/mysqld-watcher.pl: Added.
        * BugsSite/contrib/sendbugmail.pl: Added.
        * BugsSite/contrib/sendunsentbugmail.pl: Added.
        * BugsSite/contrib/syncLDAP.pl: Added.
        * BugsSite/contrib/yp_nomail.sh: Added.
        * BugsSite/createaccount.cgi: Added.
        * BugsSite/data: Added.
        * BugsSite/data/.htaccess: Added.
        * BugsSite/data/attachments: Added.
        * BugsSite/data/attachments/.htaccess: Added.
        * BugsSite/data/duplicates: Added.
        * BugsSite/data/mail: Added.
        * BugsSite/data/mimedump-tmp: Added.
        * BugsSite/data/mining: Added.
        * BugsSite/data/nomail: Added.
        * BugsSite/data/params: Added.
        * BugsSite/data/template: Added.
        * BugsSite/data/template/template: Added.
        * BugsSite/data/template/template/en: Added.
        * BugsSite/data/template/template/en/custom: Added.
        * BugsSite/data/template/template/en/custom/account: Added.
        * BugsSite/data/template/template/en/custom/account/auth: Added.
        * BugsSite/data/template/template/en/custom/account/auth/ldap-error.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/auth/login-small.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/auth/login.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/cancel-token.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/email: Added.
        * BugsSite/data/template/template/en/custom/account/email/change-new.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/email/change-old.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/email/confirm.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/exists.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/password: Added.
        * BugsSite/data/template/template/en/custom/account/password/forgotten-password.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/password/set-forgotten-password.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/prefs: Added.
        * BugsSite/data/template/template/en/custom/account/prefs/account.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/prefs/email.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/prefs/footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/prefs/permissions.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/prefs/prefs.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/prefs/saved-searches.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/account/prefs/settings.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/add.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/del.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/new.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/reclassify.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/select.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/classifications/update.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components: Added.
        * BugsSite/data/template/template/en/custom/admin/components/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/deleted.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/select-product.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/components/updated.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/deleted.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/select-field.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/fieldvalues/updated.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/flag-type: Added.
        * BugsSite/data/template/template/en/custom/admin/flag-type/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/flag-type/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/flag-type/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/change.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/deleted.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/groups/remove.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/keywords: Added.
        * BugsSite/data/template/template/en/custom/admin/keywords/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/keywords/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/keywords/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/keywords/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/keywords/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/keywords/rebuild-cache.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/deleted.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/select-product.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/milestones/updated.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/products: Added.
        * BugsSite/data/template/template/en/custom/admin/products/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/products/deleted.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/products/footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/products/groupcontrol: Added.
        * BugsSite/data/template/template/en/custom/admin/products/groupcontrol/confirm-edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/products/groupcontrol/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/products/list-classifications.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/products/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/settings: Added.
        * BugsSite/data/template/template/en/custom/admin/settings/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/settings/updated.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/table.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/users: Added.
        * BugsSite/data/template/template/en/custom/admin/users/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/users/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/users/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/users/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/users/listselectvars.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/users/search.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/users/userdata.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/confirm-delete.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/deleted.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/select-product.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/admin/versions/updated.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment: Added.
        * BugsSite/data/template/template/en/custom/attachment/choose.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/content-types.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/diff-file.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/diff-footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/diff-header.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/show-multiple.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/attachment/updated.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug: Added.
        * BugsSite/data/template/template/en/custom/bug/activity: Added.
        * BugsSite/data/template/template/en/custom/bug/activity/show.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/activity/table.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/choose.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/comments.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/create: Added.
        * BugsSite/data/template/template/en/custom/bug/create/comment-guided.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/create/comment.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/create/create-guided.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/create/create.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/create/created.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/create/make-template.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/create/user-message.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/dependency-graph.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/dependency-tree.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/edit.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/knob.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/navigate.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/process: Added.
        * BugsSite/data/template/template/en/custom/bug/process/bugmail.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/process/confirm-duplicate.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/process/header.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/process/midair.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/process/next.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/process/results.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/process/verify-new-product.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/show-multiple.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/show.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/show.xml.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/summarize-time.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/time.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/votes: Added.
        * BugsSite/data/template/template/en/custom/bug/votes/delete-all.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/votes/list-for-bug.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/bug/votes/list-for-user.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/config.js.tmpl: Added.
        * BugsSite/data/template/template/en/custom/config.rdf.tmpl: Added.
        * BugsSite/data/template/template/en/custom/flag: Added.
        * BugsSite/data/template/template/en/custom/flag/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global: Added.
        * BugsSite/data/template/template/en/custom/global/banner.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/choose-classification.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/choose-product.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/code-error.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/confirm-user-match.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/field-descs.none.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/footer.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/header.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/help-header.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/help.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/hidden-fields.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/initialize.none.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/message.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/messages.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/select-menu.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/setting-descs.none.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/site-navigation.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/useful-links.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/user-error.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/userselect.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/global/variables.none.tmpl: Added.
        * BugsSite/data/template/template/en/custom/index.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list: Added.
        * BugsSite/data/template/template/en/custom/list/change-columns.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/edit-multiple.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/list-simple.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/list.csv.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/list.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/list.ics.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/list.js.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/list.rdf.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/list.rss.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/quips.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/server-push.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/list/table.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/pages: Added.
        * BugsSite/data/template/template/en/custom/pages/bug-writing.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/pages/fields.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/pages/linked.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/pages/linkify.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/pages/voting.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports: Added.
        * BugsSite/data/template/template/en/custom/reports/chart.csv.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/chart.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/chart.png.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/components.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/create-chart.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/duplicates-simple.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/duplicates-table.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/duplicates.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/duplicates.rdf.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/edit-series.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/keywords.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/menu.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report-bar.png.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report-line.png.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report-pie.png.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report-simple.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report-table.csv.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report-table.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report.csv.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/report.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/series-common.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/reports/series.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/request: Added.
        * BugsSite/data/template/template/en/custom/request/email.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/request/queue.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search: Added.
        * BugsSite/data/template/template/en/custom/search/boolean-charts.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/form.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/knob.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/search-advanced.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/search-create-series.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/search-help.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/search-report-graph.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/search-report-select.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/search-report-table.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/search-specific.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/search/tabs.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/sidebar.xul.tmpl: Added.
        * BugsSite/data/template/template/en/custom/whine: Added.
        * BugsSite/data/template/template/en/custom/whine/mail.html.tmpl: Added.
        * BugsSite/data/template/template/en/custom/whine/mail.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/whine/multipart-mime.txt.tmpl: Added.
        * BugsSite/data/template/template/en/custom/whine/schedule.html.tmpl: Added.
        * BugsSite/data/template/template/en/default: Added.
        * BugsSite/data/template/template/en/default/attachment: Added.
        * BugsSite/data/template/template/en/default/attachment/edit-aroben.html.tmpl: Added.
        * BugsSite/data/template/template/en/default/list: Added.
        * BugsSite/data/template/template/en/default/list/list.atom.tmpl: Added.
        * BugsSite/data/versioncache: Added.
        * BugsSite/data/versioncache.13P9L: Added.
        * BugsSite/data/versioncache.1lH1E: Added.
        * BugsSite/data/versioncache.3AnHd: Added.
        * BugsSite/data/versioncache.3Jmjt: Added.
        * BugsSite/data/versioncache.3JzIL: Added.
        * BugsSite/data/versioncache.77b4y: Added.
        * BugsSite/data/versioncache.7VzyU: Added.
        * BugsSite/data/versioncache.EQdAm: Added.
        * BugsSite/data/versioncache.EouAG: Added.
        * BugsSite/data/versioncache.LJ5n1: Added.
        * BugsSite/data/versioncache.Lb0fW: Added.
        * BugsSite/data/versioncache.PyAd8: Added.
        * BugsSite/data/versioncache.SFyse: Added.
        * BugsSite/data/versioncache.SkTTg: Added.
        * BugsSite/data/versioncache.VVO7E: Added.
        * BugsSite/data/versioncache.XbxgU: Added.
        * BugsSite/data/versioncache.Yezqr: Added.
        * BugsSite/data/versioncache.dtzIv: Added.
        * BugsSite/data/versioncache.jzpeh: Added.
        * BugsSite/data/versioncache.pbn6U: Added.
        * BugsSite/data/versioncache.qyixS: Added.
        * BugsSite/data/versioncache.sBMdb: Added.
        * BugsSite/data/versioncache.xNi34: Added.
        * BugsSite/data/webdot: Added.
        * BugsSite/data/webdot/.htaccess: Added.
        * BugsSite/data/webdot/0ZLH3QpFd8.dot: Added.
        * BugsSite/data/webdot/3s6e7eC2Dy.dot: Added.
        * BugsSite/data/webdot/6MW0q54cyY.dot: Added.
        * BugsSite/data/webdot/A2RlhPdO2Q.dot: Added.
        * BugsSite/data/webdot/DuBX4I4946.dot: Added.
        * BugsSite/data/webdot/GudTgvrKBX.dot: Added.
        * BugsSite/data/webdot/I1mCbLtAzQ.dot: Added.
        * BugsSite/data/webdot/JtKgvWGVb4.dot: Added.
        * BugsSite/data/webdot/RFk4bjAwYc.dot: Added.
        * BugsSite/data/webdot/YQ1pWFVfqt.dot: Added.
        * BugsSite/data/webdot/YcFUepShZI.dot: Added.
        * BugsSite/data/webdot/a9i00KgTQk.dot: Added.
        * BugsSite/data/webdot/c412GYaHch.dot: Added.
        * BugsSite/data/webdot/hjYnYr3tV1.dot: Added.
        * BugsSite/data/webdot/pq3Qw7wynI.dot: Added.
        * BugsSite/data/webdot/tL7GjA7bqH.dot: Added.
        * BugsSite/defparams.pl: Added.
        * BugsSite/describecomponents.cgi: Added.
        * BugsSite/describekeywords.cgi: Added.
        * BugsSite/describekeywords.cgi.bak: Added.
        * BugsSite/docs: Added.
        * BugsSite/docs/.cvsignore: Added.
        * BugsSite/docs/README.docs: Added.
        * BugsSite/docs/html: Added.
        * BugsSite/docs/html/Bugzilla-Guide.html: Added.
        * BugsSite/docs/html/about.html: Added.
        * BugsSite/docs/html/administration.html: Added.
        * BugsSite/docs/html/bug_page.html: Added.
        * BugsSite/docs/html/bugreports.html: Added.
        * BugsSite/docs/html/cmdline-bugmail.html: Added.
        * BugsSite/docs/html/cmdline.html: Added.
        * BugsSite/docs/html/components.html: Added.
        * BugsSite/docs/html/configuration.html: Added.
        * BugsSite/docs/html/conventions.html: Added.
        * BugsSite/docs/html/copyright.html: Added.
        * BugsSite/docs/html/credits.html: Added.
        * BugsSite/docs/html/cust-change-permissions.html: Added.
        * BugsSite/docs/html/cust-hooks.html: Added.
        * BugsSite/docs/html/cust-templates.html: Added.
        * BugsSite/docs/html/customization.html: Added.
        * BugsSite/docs/html/dbdoc.html: Added.
        * BugsSite/docs/html/dbmodify.html: Added.
        * BugsSite/docs/html/disclaimer.html: Added.
        * BugsSite/docs/html/extraconfig.html: Added.
        * BugsSite/docs/html/faq.html: Added.
        * BugsSite/docs/html/flags-overview.html: Added.
        * BugsSite/docs/html/flags.html: Added.
        * BugsSite/docs/html/general-advice.html: Added.
        * BugsSite/docs/html/gfdl-0.html: Added.
        * BugsSite/docs/html/gfdl-1.html: Added.
        * BugsSite/docs/html/gfdl-10.html: Added.
        * BugsSite/docs/html/gfdl-2.html: Added.
        * BugsSite/docs/html/gfdl-3.html: Added.
        * BugsSite/docs/html/gfdl-4.html: Added.
        * BugsSite/docs/html/gfdl-5.html: Added.
        * BugsSite/docs/html/gfdl-6.html: Added.
        * BugsSite/docs/html/gfdl-7.html: Added.
        * BugsSite/docs/html/gfdl-8.html: Added.
        * BugsSite/docs/html/gfdl-9.html: Added.
        * BugsSite/docs/html/gfdl-howto.html: Added.
        * BugsSite/docs/html/gfdl.html: Added.
        * BugsSite/docs/html/glossary.html: Added.
        * BugsSite/docs/html/groups.html: Added.
        * BugsSite/docs/html/hintsandtips.html: Added.
        * BugsSite/docs/html/index.html: Added.
        * BugsSite/docs/html/install-perlmodules-manual.html: Added.
        * BugsSite/docs/html/installation.html: Added.
        * BugsSite/docs/html/installing-bugzilla.html: Added.
        * BugsSite/docs/html/integration.html: Added.
        * BugsSite/docs/html/lifecycle.html: Added.
        * BugsSite/docs/html/list.html: Added.
        * BugsSite/docs/html/milestones.html: Added.
        * BugsSite/docs/html/modules-manual-download.html: Added.
        * BugsSite/docs/html/modules-manual-instructions.html: Added.
        * BugsSite/docs/html/modules-manual-optional.html: Added.
        * BugsSite/docs/html/myaccount.html: Added.
        * BugsSite/docs/html/newversions.html: Added.
        * BugsSite/docs/html/nonroot.html: Added.
        * BugsSite/docs/html/os-specific.html: Added.
        * BugsSite/docs/html/parameters.html: Added.
        * BugsSite/docs/html/paranoid-security.html: Added.
        * BugsSite/docs/html/patches.html: Added.
        * BugsSite/docs/html/patchviewer.html: Added.
        * BugsSite/docs/html/products.html: Added.
        * BugsSite/docs/html/query.html: Added.
        * BugsSite/docs/html/quips.html: Added.
        * BugsSite/docs/html/reporting.html: Added.
        * BugsSite/docs/html/security-bugzilla.html: Added.
        * BugsSite/docs/html/security-mysql.html: Added.
        * BugsSite/docs/html/security-os.html: Added.
        * BugsSite/docs/html/security-webserver.html: Added.
        * BugsSite/docs/html/security.html: Added.
        * BugsSite/docs/html/trbl-bundlebugzilla.html: Added.
        * BugsSite/docs/html/trbl-dbdsponge.html: Added.
        * BugsSite/docs/html/trbl-index.html: Added.
        * BugsSite/docs/html/trbl-passwd-encryption.html: Added.
        * BugsSite/docs/html/trbl-perlmodule.html: Added.
        * BugsSite/docs/html/trbl-relogin-everyone.html: Added.
        * BugsSite/docs/html/trbl-testserver.html: Added.
        * BugsSite/docs/html/trouble-filetemp.html: Added.
        * BugsSite/docs/html/troubleshooting.html: Added.
        * BugsSite/docs/html/upgrading.html: Added.
        * BugsSite/docs/html/useradmin.html: Added.
        * BugsSite/docs/html/userpreferences.html: Added.
        * BugsSite/docs/html/using-intro.html: Added.
        * BugsSite/docs/html/using.html: Added.
        * BugsSite/docs/html/versions.html: Added.
        * BugsSite/docs/html/voting.html: Added.
        * BugsSite/docs/html/whining.html: Added.
        * BugsSite/docs/html/x3190.html: Added.
        * BugsSite/docs/images: Added.
        * BugsSite/docs/images/bzLifecycle.png: Added.
        * BugsSite/docs/images/bzLifecycle.xml: Added.
        * BugsSite/docs/images/callouts: Added.
        * BugsSite/docs/images/callouts/1.gif: Added.
        * BugsSite/docs/images/callouts/2.gif: Added.
        * BugsSite/docs/images/callouts/3.gif: Added.
        * BugsSite/docs/images/caution.gif: Added.
        * BugsSite/docs/images/note.gif: Added.
        * BugsSite/docs/images/tip.gif: Added.
        * BugsSite/docs/images/warning.gif: Added.
        * BugsSite/docs/makedocs.pl: Added.
        * BugsSite/docs/pdf: Added.
        * BugsSite/docs/pdf/Bugzilla-Guide.pdf: Added.
        * BugsSite/docs/rel_notes.txt: Added.
        * BugsSite/docs/txt: Added.
        * BugsSite/docs/txt/Bugzilla-Guide.txt: Added.
        * BugsSite/docs/xml: Added.
        * BugsSite/docs/xml/Bugzilla-Guide.xml: Added.
        * BugsSite/docs/xml/about.xml: Added.
        * BugsSite/docs/xml/administration.xml: Added.
        * BugsSite/docs/xml/conventions.xml: Added.
        * BugsSite/docs/xml/customization.xml: Added.
        * BugsSite/docs/xml/dbschema.mysql: Added.
        * BugsSite/docs/xml/faq.xml: Added.
        * BugsSite/docs/xml/filetemp.patch: Added.
        * BugsSite/docs/xml/gfdl.xml: Added.
        * BugsSite/docs/xml/glossary.xml: Added.
        * BugsSite/docs/xml/index.xml: Added.
        * BugsSite/docs/xml/installation.xml: Added.
        * BugsSite/docs/xml/integration.xml: Added.
        * BugsSite/docs/xml/introduction.xml: Added.
        * BugsSite/docs/xml/modules.xml: Added.
        * BugsSite/docs/xml/patches.xml: Added.
        * BugsSite/docs/xml/requiredsoftware.xml: Added.
        * BugsSite/docs/xml/security.xml: Added.
        * BugsSite/docs/xml/troubleshooting.xml: Added.
        * BugsSite/docs/xml/using.xml: Added.
        * BugsSite/doeditparams.cgi: Added.
        * BugsSite/duplicates.cgi: Added.
        * BugsSite/duplicates.xul: Added.
        * BugsSite/editclassifications.cgi: Added.
        * BugsSite/editcomponents.cgi: Added.
        * BugsSite/editflagtypes.cgi: Added.
        * BugsSite/editgroups.cgi: Added.
        * BugsSite/editkeywords.cgi: Added.
        * BugsSite/editmilestones.cgi: Added.
        * BugsSite/editparams.cgi: Added.
        * BugsSite/editproducts.cgi: Added.
        * BugsSite/editsettings.cgi: Added.
        * BugsSite/editusers.cgi: Added.
        * BugsSite/editvalues.cgi: Added.
        * BugsSite/editversions.cgi: Added.
        * BugsSite/editwhines.cgi: Added.
        * BugsSite/enter_bug.cgi: Added.
        * BugsSite/favicon.ico: Added.
        * BugsSite/globals.pl: Added.
        * BugsSite/graphs: Added.
        * BugsSite/images: Added.
        * BugsSite/images/padlock.png: Added.
        * BugsSite/importxml.pl: Added.
        * BugsSite/index.cgi: Added.
        * BugsSite/js: Added.
        * BugsSite/js/duplicates.js: Added.
        * BugsSite/js/productform.js: Added.
        * BugsSite/localconfig.js: Added.
        * BugsSite/long_list.cgi: Added.
        * BugsSite/move.pl: Added.
        * BugsSite/page.cgi: Added.
        * BugsSite/post_bug.cgi: Added.
        * BugsSite/process_bug.cgi: Added.
        * BugsSite/productmenu.js: Added.
        * BugsSite/query.cgi: Added.
        * BugsSite/quicksearch.html: Added.
        * BugsSite/quicksearch.js: Added.
        * BugsSite/quicksearchhack.html: Added.
        * BugsSite/quips.cgi: Added.
        * BugsSite/relogin.cgi: Added.
        * BugsSite/report.cgi: Added.
        * BugsSite/reports.cgi: Added.
        * BugsSite/request.cgi: Added.
        * BugsSite/robots.txt: Added.
        * BugsSite/runtests.pl: Added.
        * BugsSite/sanitycheck.cgi: Added.
        * BugsSite/show_activity.cgi: Added.
        * BugsSite/show_bug.cgi: Added.
        * BugsSite/showattachment.cgi: Added.
        * BugsSite/showdependencygraph.cgi: Added.
        * BugsSite/showdependencytree.cgi: Added.
        * BugsSite/sidebar.cgi: Added.
        * BugsSite/skins: Added.
        * BugsSite/skins/.cvsignore: Added.
        * BugsSite/skins/custom: Added.
        * BugsSite/skins/custom/admin.css: Added.
        * BugsSite/skins/custom/buglist.css: Added.
        * BugsSite/skins/custom/duplicates.css: Added.
        * BugsSite/skins/custom/editusers.css: Added.
        * BugsSite/skins/custom/global.css: Added.
        * BugsSite/skins/custom/index.css: Added.
        * BugsSite/skins/custom/opendarwin.gif: Added.
        * BugsSite/skins/custom/panel.css: Added.
        * BugsSite/skins/custom/show_multiple.css: Added.
        * BugsSite/skins/custom/summarize-time.css: Added.
        * BugsSite/skins/custom/voting.css: Added.
        * BugsSite/skins/standard: Added.
        * BugsSite/skins/standard/admin.css: Added.
        * BugsSite/skins/standard/buglist.css: Added.
        * BugsSite/skins/standard/duplicates.css: Added.
        * BugsSite/skins/standard/editusers.css: Added.
        * BugsSite/skins/standard/global: Added.
        * BugsSite/skins/standard/global.css: Added.
        * BugsSite/skins/standard/global/body-back.gif: Added.
        * BugsSite/skins/standard/global/header.png: Added.
        * BugsSite/skins/standard/index: Added.
        * BugsSite/skins/standard/index.css: Added.
        * BugsSite/skins/standard/index/front.jpg: Added.
        * BugsSite/skins/standard/index/front.png: Added.
        * BugsSite/skins/standard/panel.css: Added.
        * BugsSite/skins/standard/show_multiple.css: Added.
        * BugsSite/skins/standard/summarize-time.css: Added.
        * BugsSite/skins/standard/voting.css: Added.
        * BugsSite/summarize_time.cgi: Added.
        * BugsSite/t: Added.
        * BugsSite/t/001compile.t: Added.
        * BugsSite/t/002goodperl.t: Added.
        * BugsSite/t/003safesys.t: Added.
        * BugsSite/t/004template.t: Added.
        * BugsSite/t/005no_tabs.t: Added.
        * BugsSite/t/006spellcheck.t: Added.
        * BugsSite/t/007util.t: Added.
        * BugsSite/t/008filter.t: Added.
        * BugsSite/t/009bugwords.t: Added.
        * BugsSite/t/011pod.t: Added.
        * BugsSite/t/Support: Added.
        * BugsSite/t/Support/Files.pm: Added.
        * BugsSite/t/Support/Systemexec.pm: Added.
        * BugsSite/t/Support/Templates.pm: Added.
        * BugsSite/t/testchart.gif: Added.
        * BugsSite/t/testchart.png: Added.
        * BugsSite/t/testgd.png: Added.
        * BugsSite/template: Added.
        * BugsSite/template/.cvsignore: Added.
        * BugsSite/template/.htaccess: Added.
        * BugsSite/template/en: Added.
        * BugsSite/template/en/.cvsignore: Added.
        * BugsSite/template/en/custom: Added.
        * BugsSite/template/en/custom/account: Added.
        * BugsSite/template/en/custom/account/auth: Added.
        * BugsSite/template/en/custom/account/auth/ldap-error.html.tmpl: Added.
        * BugsSite/template/en/custom/account/auth/login-small.html.tmpl: Added.
        * BugsSite/template/en/custom/account/auth/login.html.tmpl: Added.
        * BugsSite/template/en/custom/account/cancel-token.txt.tmpl: Added.
        * BugsSite/template/en/custom/account/create.html.tmpl: Added.
        * BugsSite/template/en/custom/account/created.html.tmpl: Added.
        * BugsSite/template/en/custom/account/email: Added.
        * BugsSite/template/en/custom/account/email/change-new.txt.tmpl: Added.
        * BugsSite/template/en/custom/account/email/change-old.txt.tmpl: Added.
        * BugsSite/template/en/custom/account/email/confirm.html.tmpl: Added.
        * BugsSite/template/en/custom/account/exists.html.tmpl: Added.
        * BugsSite/template/en/custom/account/password: Added.
        * BugsSite/template/en/custom/account/password/forgotten-password.txt.tmpl: Added.
        * BugsSite/template/en/custom/account/password/set-forgotten-password.html.tmpl: Added.
        * BugsSite/template/en/custom/account/prefs: Added.
        * BugsSite/template/en/custom/account/prefs/account.html.tmpl: Added.
        * BugsSite/template/en/custom/account/prefs/email.html.tmpl: Added.
        * BugsSite/template/en/custom/account/prefs/footer.html.tmpl: Added.
        * BugsSite/template/en/custom/account/prefs/permissions.html.tmpl: Added.
        * BugsSite/template/en/custom/account/prefs/prefs.html.tmpl: Added.
        * BugsSite/template/en/custom/account/prefs/saved-searches.html.tmpl: Added.
        * BugsSite/template/en/custom/account/prefs/settings.html.tmpl: Added.
        * BugsSite/template/en/custom/admin: Added.
        * BugsSite/template/en/custom/admin/classifications: Added.
        * BugsSite/template/en/custom/admin/classifications/add.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/classifications/del.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/classifications/delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/classifications/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/classifications/new.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/classifications/reclassify.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/classifications/select.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/classifications/update.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components: Added.
        * BugsSite/template/en/custom/admin/components/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/create.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/created.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/deleted.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/footer.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/select-product.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/components/updated.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/create.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/created.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/deleted.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/footer.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/select-field.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/fieldvalues/updated.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/flag-type: Added.
        * BugsSite/template/en/custom/admin/flag-type/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/flag-type/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/flag-type/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups: Added.
        * BugsSite/template/en/custom/admin/groups/change.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups/create.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups/created.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups/delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups/deleted.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/groups/remove.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/keywords: Added.
        * BugsSite/template/en/custom/admin/keywords/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/keywords/create.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/keywords/created.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/keywords/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/keywords/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/keywords/rebuild-cache.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones: Added.
        * BugsSite/template/en/custom/admin/milestones/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/create.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/created.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/deleted.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/footer.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/select-product.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/milestones/updated.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/products: Added.
        * BugsSite/template/en/custom/admin/products/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/products/deleted.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/products/footer.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/products/groupcontrol: Added.
        * BugsSite/template/en/custom/admin/products/groupcontrol/confirm-edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/products/groupcontrol/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/products/list-classifications.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/products/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/settings: Added.
        * BugsSite/template/en/custom/admin/settings/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/settings/updated.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/table.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/users: Added.
        * BugsSite/template/en/custom/admin/users/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/users/create.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/users/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/users/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/users/listselectvars.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/users/search.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/users/userdata.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions: Added.
        * BugsSite/template/en/custom/admin/versions/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/create.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/created.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/deleted.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/footer.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/list.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/select-product.html.tmpl: Added.
        * BugsSite/template/en/custom/admin/versions/updated.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment: Added.
        * BugsSite/template/en/custom/attachment/choose.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/content-types.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/create.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/created.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/diff-file.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/diff-footer.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/diff-header.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/list.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/show-multiple.html.tmpl: Added.
        * BugsSite/template/en/custom/attachment/updated.html.tmpl: Added.
        * BugsSite/template/en/custom/bug: Added.
        * BugsSite/template/en/custom/bug/activity: Added.
        * BugsSite/template/en/custom/bug/activity/show.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/activity/table.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/choose.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/comments.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/create: Added.
        * BugsSite/template/en/custom/bug/create/comment-guided.txt.tmpl: Added.
        * BugsSite/template/en/custom/bug/create/comment.txt.tmpl: Added.
        * BugsSite/template/en/custom/bug/create/create-guided.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/create/create.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/create/created.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/create/make-template.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/create/user-message.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/dependency-graph.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/dependency-tree.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/edit.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/knob.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/navigate.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/process: Added.
        * BugsSite/template/en/custom/bug/process/bugmail.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/process/confirm-duplicate.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/process/header.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/process/midair.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/process/next.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/process/results.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/process/verify-new-product.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/show-multiple.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/show.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/show.xml.tmpl: Added.
        * BugsSite/template/en/custom/bug/summarize-time.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/time.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/votes: Added.
        * BugsSite/template/en/custom/bug/votes/delete-all.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/votes/list-for-bug.html.tmpl: Added.
        * BugsSite/template/en/custom/bug/votes/list-for-user.html.tmpl: Added.
        * BugsSite/template/en/custom/config.js.tmpl: Added.
        * BugsSite/template/en/custom/config.rdf.tmpl: Added.
        * BugsSite/template/en/custom/filterexceptions.pl: Added.
        * BugsSite/template/en/custom/flag: Added.
        * BugsSite/template/en/custom/flag/list.html.tmpl: Added.
        * BugsSite/template/en/custom/global: Added.
        * BugsSite/template/en/custom/global/banner.html.tmpl: Added.
        * BugsSite/template/en/custom/global/choose-classification.html.tmpl: Added.
        * BugsSite/template/en/custom/global/choose-product.html.tmpl: Added.
        * BugsSite/template/en/custom/global/code-error.html.tmpl: Added.
        * BugsSite/template/en/custom/global/confirm-user-match.html.tmpl: Added.
        * BugsSite/template/en/custom/global/field-descs.none.tmpl: Added.
        * BugsSite/template/en/custom/global/footer.html.tmpl: Added.
        * BugsSite/template/en/custom/global/header.html.tmpl: Added.
        * BugsSite/template/en/custom/global/help-header.html.tmpl: Added.
        * BugsSite/template/en/custom/global/help.html.tmpl: Added.
        * BugsSite/template/en/custom/global/hidden-fields.html.tmpl: Added.
        * BugsSite/template/en/custom/global/initialize.none.tmpl: Added.
        * BugsSite/template/en/custom/global/message.html.tmpl: Added.
        * BugsSite/template/en/custom/global/messages.html.tmpl: Added.
        * BugsSite/template/en/custom/global/select-menu.html.tmpl: Added.
        * BugsSite/template/en/custom/global/setting-descs.none.tmpl: Added.
        * BugsSite/template/en/custom/global/site-navigation.html.tmpl: Added.
        * BugsSite/template/en/custom/global/useful-links.html.tmpl: Added.
        * BugsSite/template/en/custom/global/user-error.html.tmpl: Added.
        * BugsSite/template/en/custom/global/userselect.html.tmpl: Added.
        * BugsSite/template/en/custom/global/variables.none.tmpl: Added.
        * BugsSite/template/en/custom/index.html.tmpl: Added.
        * BugsSite/template/en/custom/list: Added.
        * BugsSite/template/en/custom/list/change-columns.html.tmpl: Added.
        * BugsSite/template/en/custom/list/edit-multiple.html.tmpl: Added.
        * BugsSite/template/en/custom/list/list-simple.html.tmpl: Added.
        * BugsSite/template/en/custom/list/list.csv.tmpl: Added.
        * BugsSite/template/en/custom/list/list.html.tmpl: Added.
        * BugsSite/template/en/custom/list/list.ics.tmpl: Added.
        * BugsSite/template/en/custom/list/list.js.tmpl: Added.
        * BugsSite/template/en/custom/list/list.rdf.tmpl: Added.
        * BugsSite/template/en/custom/list/list.rss.tmpl: Added.
        * BugsSite/template/en/custom/list/quips.html.tmpl: Added.
        * BugsSite/template/en/custom/list/server-push.html.tmpl: Added.
        * BugsSite/template/en/custom/list/table.html.tmpl: Added.
        * BugsSite/template/en/custom/pages: Added.
        * BugsSite/template/en/custom/pages/bug-writing.html.tmpl: Added.
        * BugsSite/template/en/custom/pages/fields.html.tmpl: Added.
        * BugsSite/template/en/custom/pages/linked.html.tmpl: Added.
        * BugsSite/template/en/custom/pages/linkify.html.tmpl: Added.
        * BugsSite/template/en/custom/pages/voting.html.tmpl: Added.
        * BugsSite/template/en/custom/reports: Added.
        * BugsSite/template/en/custom/reports/chart.csv.tmpl: Added.
        * BugsSite/template/en/custom/reports/chart.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/chart.png.tmpl: Added.
        * BugsSite/template/en/custom/reports/components.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/create-chart.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/duplicates-simple.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/duplicates-table.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/duplicates.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/duplicates.rdf.tmpl: Added.
        * BugsSite/template/en/custom/reports/edit-series.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/keywords.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/menu.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/report-bar.png.tmpl: Added.
        * BugsSite/template/en/custom/reports/report-line.png.tmpl: Added.
        * BugsSite/template/en/custom/reports/report-pie.png.tmpl: Added.
        * BugsSite/template/en/custom/reports/report-simple.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/report-table.csv.tmpl: Added.
        * BugsSite/template/en/custom/reports/report-table.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/report.csv.tmpl: Added.
        * BugsSite/template/en/custom/reports/report.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/series-common.html.tmpl: Added.
        * BugsSite/template/en/custom/reports/series.html.tmpl: Added.
        * BugsSite/template/en/custom/request: Added.
        * BugsSite/template/en/custom/request/email.txt.tmpl: Added.
        * BugsSite/template/en/custom/request/queue.html.tmpl: Added.
        * BugsSite/template/en/custom/search: Added.
        * BugsSite/template/en/custom/search/boolean-charts.html.tmpl: Added.
        * BugsSite/template/en/custom/search/form.html.tmpl: Added.
        * BugsSite/template/en/custom/search/knob.html.tmpl: Added.
        * BugsSite/template/en/custom/search/search-advanced.html.tmpl: Added.
        * BugsSite/template/en/custom/search/search-create-series.html.tmpl: Added.
        * BugsSite/template/en/custom/search/search-help.html.tmpl: Added.
        * BugsSite/template/en/custom/search/search-report-graph.html.tmpl: Added.
        * BugsSite/template/en/custom/search/search-report-select.html.tmpl: Added.
        * BugsSite/template/en/custom/search/search-report-table.html.tmpl: Added.
        * BugsSite/template/en/custom/search/search-specific.html.tmpl: Added.
        * BugsSite/template/en/custom/search/tabs.html.tmpl: Added.
        * BugsSite/template/en/custom/sidebar.xul.tmpl: Added.
        * BugsSite/template/en/custom/whine: Added.
        * BugsSite/template/en/custom/whine/mail.html.tmpl: Added.
        * BugsSite/template/en/custom/whine/mail.txt.tmpl: Added.
        * BugsSite/template/en/custom/whine/multipart-mime.txt.tmpl: Added.
        * BugsSite/template/en/custom/whine/schedule.html.tmpl: Added.
        * BugsSite/template/en/default: Added.
        * BugsSite/template/en/default/account: Added.
        * BugsSite/template/en/default/account/auth: Added.
        * BugsSite/template/en/default/account/auth/ldap-error.html.tmpl: Added.
        * BugsSite/template/en/default/account/auth/login-small.html.tmpl: Added.
        * BugsSite/template/en/default/account/auth/login.html.tmpl: Added.
        * BugsSite/template/en/default/account/cancel-token.txt.tmpl: Added.
        * BugsSite/template/en/default/account/create.html.tmpl: Added.
        * BugsSite/template/en/default/account/created.html.tmpl: Added.
        * BugsSite/template/en/default/account/email: Added.
        * BugsSite/template/en/default/account/email/change-new.txt.tmpl: Added.
        * BugsSite/template/en/default/account/email/change-old.txt.tmpl: Added.
        * BugsSite/template/en/default/account/email/confirm.html.tmpl: Added.
        * BugsSite/template/en/default/account/exists.html.tmpl: Added.
        * BugsSite/template/en/default/account/password: Added.
        * BugsSite/template/en/default/account/password/forgotten-password.txt.tmpl: Added.
        * BugsSite/template/en/default/account/password/set-forgotten-password.html.tmpl: Added.
        * BugsSite/template/en/default/account/prefs: Added.
        * BugsSite/template/en/default/account/prefs/account.html.tmpl: Added.
        * BugsSite/template/en/default/account/prefs/email.html.tmpl: Added.
        * BugsSite/template/en/default/account/prefs/footer.html.tmpl: Added.
        * BugsSite/template/en/default/account/prefs/permissions.html.tmpl: Added.
        * BugsSite/template/en/default/account/prefs/prefs.html.tmpl: Added.
        * BugsSite/template/en/default/account/prefs/saved-searches.html.tmpl: Added.
        * BugsSite/template/en/default/account/prefs/settings.html.tmpl: Added.
        * BugsSite/template/en/default/admin: Added.
        * BugsSite/template/en/default/admin/classifications: Added.
        * BugsSite/template/en/default/admin/classifications/add.html.tmpl: Added.
        * BugsSite/template/en/default/admin/classifications/del.html.tmpl: Added.
        * BugsSite/template/en/default/admin/classifications/delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/classifications/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/classifications/new.html.tmpl: Added.
        * BugsSite/template/en/default/admin/classifications/reclassify.html.tmpl: Added.
        * BugsSite/template/en/default/admin/classifications/select.html.tmpl: Added.
        * BugsSite/template/en/default/admin/classifications/update.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components: Added.
        * BugsSite/template/en/default/admin/components/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/create.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/created.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/deleted.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/footer.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/select-product.html.tmpl: Added.
        * BugsSite/template/en/default/admin/components/updated.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues: Added.
        * BugsSite/template/en/default/admin/fieldvalues/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/create.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/created.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/deleted.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/footer.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/select-field.html.tmpl: Added.
        * BugsSite/template/en/default/admin/fieldvalues/updated.html.tmpl: Added.
        * BugsSite/template/en/default/admin/flag-type: Added.
        * BugsSite/template/en/default/admin/flag-type/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/flag-type/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/flag-type/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups: Added.
        * BugsSite/template/en/default/admin/groups/change.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups/create.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups/created.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups/delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups/deleted.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/groups/remove.html.tmpl: Added.
        * BugsSite/template/en/default/admin/keywords: Added.
        * BugsSite/template/en/default/admin/keywords/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/keywords/create.html.tmpl: Added.
        * BugsSite/template/en/default/admin/keywords/created.html.tmpl: Added.
        * BugsSite/template/en/default/admin/keywords/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/keywords/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/keywords/rebuild-cache.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones: Added.
        * BugsSite/template/en/default/admin/milestones/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/create.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/created.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/deleted.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/footer.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/select-product.html.tmpl: Added.
        * BugsSite/template/en/default/admin/milestones/updated.html.tmpl: Added.
        * BugsSite/template/en/default/admin/products: Added.
        * BugsSite/template/en/default/admin/products/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/products/deleted.html.tmpl: Added.
        * BugsSite/template/en/default/admin/products/footer.html.tmpl: Added.
        * BugsSite/template/en/default/admin/products/groupcontrol: Added.
        * BugsSite/template/en/default/admin/products/groupcontrol/confirm-edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/products/groupcontrol/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/products/list-classifications.html.tmpl: Added.
        * BugsSite/template/en/default/admin/products/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/settings: Added.
        * BugsSite/template/en/default/admin/settings/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/settings/updated.html.tmpl: Added.
        * BugsSite/template/en/default/admin/table.html.tmpl: Added.
        * BugsSite/template/en/default/admin/users: Added.
        * BugsSite/template/en/default/admin/users/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/users/create.html.tmpl: Added.
        * BugsSite/template/en/default/admin/users/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/users/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/users/listselectvars.html.tmpl: Added.
        * BugsSite/template/en/default/admin/users/search.html.tmpl: Added.
        * BugsSite/template/en/default/admin/users/userdata.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions: Added.
        * BugsSite/template/en/default/admin/versions/confirm-delete.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/create.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/created.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/deleted.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/edit.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/footer.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/list.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/select-product.html.tmpl: Added.
        * BugsSite/template/en/default/admin/versions/updated.html.tmpl: Added.
        * BugsSite/template/en/default/attachment: Added.
        * BugsSite/template/en/default/attachment/choose.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/content-types.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/create.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/created.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/diff-file.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/diff-footer.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/diff-header.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/edit-aroben.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/edit.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/list.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/show-multiple.html.tmpl: Added.
        * BugsSite/template/en/default/attachment/updated.html.tmpl: Added.
        * BugsSite/template/en/default/bug: Added.
        * BugsSite/template/en/default/bug/activity: Added.
        * BugsSite/template/en/default/bug/activity/show.html.tmpl: Added.
        * BugsSite/template/en/default/bug/activity/table.html.tmpl: Added.
        * BugsSite/template/en/default/bug/choose.html.tmpl: Added.
        * BugsSite/template/en/default/bug/comments.html.tmpl: Added.
        * BugsSite/template/en/default/bug/create: Added.
        * BugsSite/template/en/default/bug/create/comment-guided.txt.tmpl: Added.
        * BugsSite/template/en/default/bug/create/comment.txt.tmpl: Added.
        * BugsSite/template/en/default/bug/create/create-guided.html.tmpl: Added.
        * BugsSite/template/en/default/bug/create/create.html.tmpl: Added.
        * BugsSite/template/en/default/bug/create/created.html.tmpl: Added.
        * BugsSite/template/en/default/bug/create/make-template.html.tmpl: Added.
        * BugsSite/template/en/default/bug/create/user-message.html.tmpl: Added.
        * BugsSite/template/en/default/bug/dependency-graph.html.tmpl: Added.
        * BugsSite/template/en/default/bug/dependency-tree.html.tmpl: Added.
        * BugsSite/template/en/default/bug/edit.html.tmpl: Added.
        * BugsSite/template/en/default/bug/knob.html.tmpl: Added.
        * BugsSite/template/en/default/bug/navigate.html.tmpl: Added.
        * BugsSite/template/en/default/bug/process: Added.
        * BugsSite/template/en/default/bug/process/bugmail.html.tmpl: Added.
        * BugsSite/template/en/default/bug/process/confirm-duplicate.html.tmpl: Added.
        * BugsSite/template/en/default/bug/process/header.html.tmpl: Added.
        * BugsSite/template/en/default/bug/process/midair.html.tmpl: Added.
        * BugsSite/template/en/default/bug/process/next.html.tmpl: Added.
        * BugsSite/template/en/default/bug/process/results.html.tmpl: Added.
        * BugsSite/template/en/default/bug/process/verify-new-product.html.tmpl: Added.
        * BugsSite/template/en/default/bug/show-multiple.html.tmpl: Added.
        * BugsSite/template/en/default/bug/show.html.tmpl: Added.
        * BugsSite/template/en/default/bug/show.xml.tmpl: Added.
        * BugsSite/template/en/default/bug/summarize-time.html.tmpl: Added.
        * BugsSite/template/en/default/bug/time.html.tmpl: Added.
        * BugsSite/template/en/default/bug/votes: Added.
        * BugsSite/template/en/default/bug/votes/delete-all.html.tmpl: Added.
        * BugsSite/template/en/default/bug/votes/list-for-bug.html.tmpl: Added.
        * BugsSite/template/en/default/bug/votes/list-for-user.html.tmpl: Added.
        * BugsSite/template/en/default/config.js.tmpl: Added.
        * BugsSite/template/en/default/config.rdf.tmpl: Added.
        * BugsSite/template/en/default/filterexceptions.pl: Added.
        * BugsSite/template/en/default/flag: Added.
        * BugsSite/template/en/default/flag/list.html.tmpl: Added.
        * BugsSite/template/en/default/global: Added.
        * BugsSite/template/en/default/global/banner.html.tmpl: Added.
        * BugsSite/template/en/default/global/choose-classification.html.tmpl: Added.
        * BugsSite/template/en/default/global/choose-product.html.tmpl: Added.
        * BugsSite/template/en/default/global/code-error.html.tmpl: Added.
        * BugsSite/template/en/default/global/confirm-user-match.html.tmpl: Added.
        * BugsSite/template/en/default/global/field-descs.none.tmpl: Added.
        * BugsSite/template/en/default/global/footer.html.tmpl: Added.
        * BugsSite/template/en/default/global/header.html.tmpl: Added.
        * BugsSite/template/en/default/global/help-header.html.tmpl: Added.
        * BugsSite/template/en/default/global/help.html.tmpl: Added.
        * BugsSite/template/en/default/global/hidden-fields.html.tmpl: Added.
        * BugsSite/template/en/default/global/initialize.none.tmpl: Added.
        * BugsSite/template/en/default/global/message.html.tmpl: Added.
        * BugsSite/template/en/default/global/messages.html.tmpl: Added.
        * BugsSite/template/en/default/global/select-menu.html.tmpl: Added.
        * BugsSite/template/en/default/global/setting-descs.none.tmpl: Added.
        * BugsSite/template/en/default/global/site-navigation.html.tmpl: Added.
        * BugsSite/template/en/default/global/useful-links.html.tmpl: Added.
        * BugsSite/template/en/default/global/user-error.html.tmpl: Added.
        * BugsSite/template/en/default/global/userselect.html.tmpl: Added.
        * BugsSite/template/en/default/global/variables.none.tmpl: Added.
        * BugsSite/template/en/default/index.html.tmpl: Added.
        * BugsSite/template/en/default/list: Added.
        * BugsSite/template/en/default/list/change-columns.html.tmpl: Added.
        * BugsSite/template/en/default/list/edit-multiple.html.tmpl: Added.
        * BugsSite/template/en/default/list/list-simple.html.tmpl: Added.
        * BugsSite/template/en/default/list/list.atom.tmpl: Added.
        * BugsSite/template/en/default/list/list.csv.tmpl: Added.
        * BugsSite/template/en/default/list/list.html.tmpl: Added.
        * BugsSite/template/en/default/list/list.ics.tmpl: Added.
        * BugsSite/template/en/default/list/list.js.tmpl: Added.
        * BugsSite/template/en/default/list/list.rdf.tmpl: Added.
        * BugsSite/template/en/default/list/quips.html.tmpl: Added.
        * BugsSite/template/en/default/list/server-push.html.tmpl: Added.
        * BugsSite/template/en/default/list/table.html.tmpl: Added.
        * BugsSite/template/en/default/pages: Added.
        * BugsSite/template/en/default/pages/bug-writing.html.tmpl: Added.
        * BugsSite/template/en/default/pages/fields.html.tmpl: Added.
        * BugsSite/template/en/default/pages/linked.html.tmpl: Added.
        * BugsSite/template/en/default/pages/linkify.html.tmpl: Added.
        * BugsSite/template/en/default/pages/voting.html.tmpl: Added.
        * BugsSite/template/en/default/reports: Added.
        * BugsSite/template/en/default/reports/chart.csv.tmpl: Added.
        * BugsSite/template/en/default/reports/chart.html.tmpl: Added.
        * BugsSite/template/en/default/reports/chart.png.tmpl: Added.
        * BugsSite/template/en/default/reports/components.html.tmpl: Added.
        * BugsSite/template/en/default/reports/create-chart.html.tmpl: Added.
        * BugsSite/template/en/default/reports/duplicates-simple.html.tmpl: Added.
        * BugsSite/template/en/default/reports/duplicates-table.html.tmpl: Added.
        * BugsSite/template/en/default/reports/duplicates.html.tmpl: Added.
        * BugsSite/template/en/default/reports/duplicates.rdf.tmpl: Added.
        * BugsSite/template/en/default/reports/edit-series.html.tmpl: Added.
        * BugsSite/template/en/default/reports/keywords.html.tmpl: Added.
        * BugsSite/template/en/default/reports/menu.html.tmpl: Added.
        * BugsSite/template/en/default/reports/report-bar.png.tmpl: Added.
        * BugsSite/template/en/default/reports/report-line.png.tmpl: Added.
        * BugsSite/template/en/default/reports/report-pie.png.tmpl: Added.
        * BugsSite/template/en/default/reports/report-simple.html.tmpl: Added.
        * BugsSite/template/en/default/reports/report-table.csv.tmpl: Added.
        * BugsSite/template/en/default/reports/report-table.html.tmpl: Added.
        * BugsSite/template/en/default/reports/report.csv.tmpl: Added.
        * BugsSite/template/en/default/reports/report.html.tmpl: Added.
        * BugsSite/template/en/default/reports/series-common.html.tmpl: Added.
        * BugsSite/template/en/default/reports/series.html.tmpl: Added.
        * BugsSite/template/en/default/request: Added.
        * BugsSite/template/en/default/request/email.txt.tmpl: Added.
        * BugsSite/template/en/default/request/queue.html.tmpl: Added.
        * BugsSite/template/en/default/search: Added.
        * BugsSite/template/en/default/search/boolean-charts.html.tmpl: Added.
        * BugsSite/template/en/default/search/form.html.tmpl: Added.
        * BugsSite/template/en/default/search/knob.html.tmpl: Added.
        * BugsSite/template/en/default/search/search-advanced.html.tmpl: Added.
        * BugsSite/template/en/default/search/search-create-series.html.tmpl: Added.
        * BugsSite/template/en/default/search/search-help.html.tmpl: Added.
        * BugsSite/template/en/default/search/search-report-graph.html.tmpl: Added.
        * BugsSite/template/en/default/search/search-report-select.html.tmpl: Added.
        * BugsSite/template/en/default/search/search-report-table.html.tmpl: Added.
        * BugsSite/template/en/default/search/search-specific.html.tmpl: Added.
        * BugsSite/template/en/default/search/tabs.html.tmpl: Added.
        * BugsSite/template/en/default/sidebar.xul.tmpl: Added.
        * BugsSite/template/en/default/whine: Added.
        * BugsSite/template/en/default/whine/mail.html.tmpl: Added.
        * BugsSite/template/en/default/whine/mail.txt.tmpl: Added.
        * BugsSite/template/en/default/whine/multipart-mime.txt.tmpl: Added.
        * BugsSite/template/en/default/whine/schedule.html.tmpl: Added.
        * BugsSite/template/en/extension: Added.
        * BugsSite/template/en/extension/filterexceptions.pl: Added.
        * BugsSite/testagent.cgi: Added.
        * BugsSite/testserver.pl: Added.
        * BugsSite/token.cgi: Added.
        * BugsSite/userprefs.cgi: Added.
        * BugsSite/votes.cgi: Added.
        * BugsSite/whine.pl: Added.
        * BugsSite/whineatnews.pl: Added.
        * BugsSite/xml.cgi: Added.

2008-02-04  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker and Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=16618
        [GTK] build-webkit and run-webkit-tests autootools support

        Add support for the autotools build to the WebKit build and test
        scripts.

2008-02-04  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Alp Toker and Mark Rowe.

        Fix http://bugs.webkit.org/show_bug.cgi?id=17175.
        Bug 17175: Use of C++ compiler flags in CFLAGS

        Add global_cxxflags definition for inclusion in CXXFLAGS variables.
        Only use -fno-rtti and $(SYMBOL_VISIBILITY_INLINES) with global_cxxflags as gcc complains they aren't valid for C.

        * GNUmakefile.am:

2008-02-04  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Mark Rowe.

        Remove all trailing whitespace in the GTK+ port and related
        components.

        * GNUmakefile.am:
        * configure.ac:

2008-01-31  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Fix the pkg-config file to follow GTK+ package naming and versioning
        conventions.

        Remove unneeded dependency listings.

        * GNUmakefile.am:
        * configure.ac:

2008-01-31  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Adam Roben.

        http://bugs.webkit.org/show_bug.cgi?id=17006
        [GTK] Header path should be webkit/webkit.h

        Move the GTK+ API sources as needed and update the build systems.

        * GNUmakefile.am:
        * WebKit.pri:

2008-01-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=14811
        [gtk] [request] add a webkit_gtk_page_go_to_history_item function

        * GNUmakefile.am: Added webkitwebbackforwardlist and webkitwebhistoryitem

2008-01-26  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp Toker.

        Fix http://bugs.webkit.org/show_bug.cgi?id=17007.
        Bug 17007: [GTK] autogen.sh attempts to use "libtoolize" on the Mac

        libtoolize is installed as glibtoolize on Mac OS X to avoid naming conflicts
        with other system commands.  Check for the presence of glibtoolize if libtoolize
        cannot be found.

        * autogen.sh:

2008-01-23  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Mark Rowe.

        Remove whitespace after -I in automake include lists.

        * GNUmakefile.am:

2008-01-22  Christian Dywan  <christian@imendio.com>

        Reviewed by Alp Toker.

        [GTK] API: WebKitWebSettings is not usable
        http://bugs.webkit.org/show_bug.cgi?id=16219

        Implement WebKitWebSettings.

        * GNUmakefile.am:

2008-01-22  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Lars.

        Don't compile the ICO plugin when building against Qt >= 4.4


        * WebKit.pro:

2008-01-21  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16955
        Get errors when cross-compile webkit-gtk

        * GNUmakefile.am: added ICU_CPPFLAGS
        * configure.ac: added ICU_CPPFLAGS, removed ICU_CFLAGS

2008-01-19  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        Add svg foreign object and svg experimental to the GTK+/autotools
        build system.

        * configure.ac:

2008-01-15  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Anders.

        Make the HTTP backend configurable in the GTK+ port. curl is currently
        the only option.

        * GNUmakefile.am:
        * WebKit.pri:
        * configure.ac:

2008-01-15  Alp Toker  <alp@atoker.com>

        GTK+/autotools build fix for GCC < 4. Use the -fvisibility compiler
        flags only when they're available.

        Additionally, use -fvisibility-inlines-hidden in both debug and
        release builds when available to match the Mac build.

        * GNUmakefile.am:
        * configure.ac:

2008-01-12  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        Hide non-public symbols in GTK+/autotools release builds.

        * GNUmakefile.am:

2008-01-11  Alp Toker  <alp@atoker.com>

        Reviewed by Oliver Hunt.

        Enable FastMalloc by default in GTK+/autotools and add a configure
        switch.

        * GNUmakefile.am:
        * configure.ac:

2008-01-11  Luca Bruno  <lethalman88@gmail.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16838
        [GTK] Bad autotools debug and video options

        Fix some configure options.

        * configure.ac:

2008-01-11  Mark Rowe  <mrowe@apple.com>

        Attempt to fix the GTK+ and Qt builds.

        * WebKit.pro:

2008-01-10  Alp Toker  <alp@atoker.com>

        SVG font build fix for GTK+/autotools.

        * configure.ac:

2008-01-05  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Mark Rowe.

        Fix configure script output with correct descriptions of the default
        configuration options.

        * configure.ac:

2008-01-05  Sylvain Pasche  <sylvain.pasche@gmail.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16736
        Allow autogen.sh invocation from a separate build directory.

        * autogen.sh:

2008-01-04  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Mark Rowe.

        Remove AM_MAINTAINER_MODE, as recommended by the automake manual. The
        "rebuild rules" will now be enabled by default.

        This obviates the need to pass '--enable-maintainer-mode' to
        configure.

        * configure.ac:

2008-01-02  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber stamped by Alp.

        Remove GDK_MULTIHEAD_SAFE and GTK_MULTIHEAD_SAFE because they break
        the build. At least people doing a debug build on Ubuntu Hardy will see
        the breakage. I was asked to leave the flags inside the files to ease future
        debugging.

        * GNUmakefile.am:
        * WebKit.pri:

2008-01-01  Alp Toker  <alp@atoker.com>

        GTK+ autotools build fix. Track changes in r29051, r29058 and pass the
        correct parameter to AM_INIT_AUTOMAKE.

        * configure.ac:

2007-12-30  Alp Toker  <alp@atoker.com>

        Build fix for older autoconf versions.

        * configure.ac:

2007-12-29  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        Enable Database, XPath and XSLT features by default

        * configure.ac:

2007-12-29  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16669
        autotools update and fixes

        Various fixes to the autotools build

        * GNUmakefile.am:
          - Remove ICU_FLAGS because it adds -g in the CFLAGS/CXXFLAGS
          - Fix clean rules (Rodney Dawes)
          - Added webcore specific variables, remove STDINT_H and
            PTHREAD_NP_H checks (already included in config.h)
        * autogen.sh:
          - Loosen automake and aclocal requirement
        * configure.ac:
          - Workaround AC_PROG_CXX putting -g in CXXFLAGS. Only use -g
            when doing a debug build (Rodney Dawes)
          - Fix webkit target and remove traces of XBL

2007-12-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16353
        [GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.)

        Added the flags mentioned in the bug only when doing 'debug'
        builds. -DGST_DISABLE_DEPRECATED only added when video is enabled.

        * GNUmakefile.am:
        * WebKit.pri:

2007-12-26  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=16390
        Use autotools or GNU make as the build system for the GTK port

        * GNUmakefile.am: Added.
        * autogen.sh: Added.
        * configure.ac: Added.

2007-12-20  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=16542
        [GTK] Text is missing with old Pango version

        Back out commits r28880, r28876, r28865, r28864 which added Pango font
        selection support. These changes caused a regression where no text was
        displayed with older Pango versions.

        * WebKit.pri:

2007-12-19  Alp Toker  <alp@atoker.com>

        Remove the cairo-ft pkg-config check. The GTK+ port doesn't use
        cairo-ft directly following changes in r28864.

        * WebKit.pri:

2007-12-12  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=16302
        [GTK] Compiler flags for optimization

        Use the compiler flags -fno-exceptions -fno-rtti.

        This patch does not add all the flags discussed in the bug report,
        only these two.

        * WebKit.pri:

2007-12-04  Xan Lopez  <xan@gnome.org>

        Reviewed by Alp Toker.

        http://bugs.webkit.org/show_bug.cgi?id=15561
        GTK port needs DumpRenderTree implementation

        Start work on the GTK+ DRT.

        * WebKit.pro:

2007-11-30  Alp Toker  <alp@atoker.com>

        Reviewed by Adam Roben.

        http://bugs.webkit.org/show_bug.cgi?id=15691
        [GTK] Public API does not follow GTK+ conventions

        Refactor the WebKit/GTK+ public API. Changes:
          WebKitPage -> WebKitWebView
          WebKitFrame -> WebKitWebFrame

        Public API source and header names have been updated to mirror the API
        changes.

        The API is now kept in WebKit/gtk/WebView to match other ports in the
        same class such as Mac and Win.

        * WebKit.pri:

2007-11-26  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Mark Rowe.

        Set CONFIG option for the window system GTK+ is using

        * WebKit.pri:

2007-11-22  Alp Toker  <alp@atoker.com>

        GTK+ build fix. Pass a correct LIBDIR value.

        * WebKit.pri:

2007-11-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp Toker.

        * WebKit.pri: Add in -Wno-unused-parameter to silence warnings in WebCore.

2007-11-20  Alp Toker  <alp@atoker.com>

        Reviewed by Simon Hausmann.

        Clean up GTK+ port configuration.

        Use similar compiler warning flags to the Mac build.

        Add the qmake changes needed for DirectFB support.

        * WebKit.pri:

2007-11-07  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Mark.

        Add WebKit/qt/Api to the dependency path when building QtLauncher and DumpRenderTree.
        That means that changes to the public API of the Qt port also trigger a rebuild of the tools.

        * WebKit.pri:

2007-10-03  Lars Knoll  <lars@trolltech.com>

        Signed off by olliej.

        move WebKitQt to WebKit/qt for consistency with the other ports.

        * WebKit.pri:
        * WebKit.pro:

2007-10-03  Lars Knoll  <lars@trolltech.com>

        Reviewed by olliej.

        Move the Qt version of DRT into the correct place and put the binary into BUILDDIR/bin.

        * WebKit.pro:

2007-09-29  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark.

        -Fix http://bugs.webkit.org/show_bug.cgi?id=13226.
        Remove Bakefiles from svn.

        * Bakefiles/Bakefiles.bkgen: Removed.
        * Bakefiles/ChangeLog: Removed.
        * Bakefiles/Readme.txt: Removed.
        * Bakefiles/presets.bkl: Removed.
        * Bakefiles/update-file-lists.py: Removed.

2007-09-20  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber stamped by Adam.

        Renamed files from *Gdk to *Gtk (see #14732) using the
        work of Juan A. Suarez Romero as a base.

        GDK -> GTK

        * WebKit.pri:
        * WebKit.pro:

2007-07-29  Brian Mastenbrook  <brian@mastenbrook.net>

        Build fix for WebKit/Gtk to compile on Fedora 7 as described in
        http://bugs.webkit.org/show_bug.cgi?id=14557

        * WebKit.pri: cairo-ft is used by the WebKit/Gtk port

2007-07-27  Simon Hausmann  <hausmann@kde.org>

        Done with and reviewed by Lars and Zack.

        Exclude DumpRenderTree from the Qt build on Windows for now.

        * WebKit.pro:

2007-07-27  Simon Hausmann  <hausmann@kde.org>

        Done with and reviewed by Lars and Zack.

        Temporarily disable the ICO support for the Qt build on Windows.

        * WebKit.pro:

2007-07-26  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Use QMAKE_LIBDIR instead of QMAKE_LFLAGS to specify the library search path for QtWebKit, as the former is portable and correctly transformed to /LIBPATH: with msvc for example.

        * WebKit.pri:

2007-07-22  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Add WebKit/gtk/Api and WebCoreSupport API to the INCLUDEPATH to allow GdkLauncher to be
        build against it.

        * WebKit.pri:

2007-07-18  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Zack.

        Don't call gcc directly when building the dftables tool but use a separate .pro file for the Qt build.

        * WebKit.pro:

2007-07-18  Timothy Hatcher  <timothy@apple.com>

        Add a SCRIPTS_PATH variable so Makefiles of differnet nested directories can
        still use this one Makefile.shared as an include.

        * Makefile.shared:

2007-07-12  George Staikos  <staikos@kde.org>

        Fix build in debug mode.

        * WebKit.pri:

2007-07-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Darin Adler.

        As of http://bugs.webkit.org/show_bug.cgi?id=14527 move the
        WebCore/ForwardingHeader/JavaScriptCore to JavaScriptCore

        * WebKit.pri: Adjust INCLUDEPATH

2007-06-25  Adam Roben  <aroben@apple.com>

        Really remove LayoutTestResults.

        * LayoutTestResults: Removed.

2007-06-25  Adam Roben  <aroben@apple.com>

        Fix Bug 14405: LayoutTestResults/qt should be in LayoutTests/qt
        http://bugs.webkit.org/show_bug.cgi?id=14405

        Reviewed by Anders.

        * LayoutTestResults: Removed.

2007-06-25  Alp Toker  <alp.toker@collabora.co.uk>

        Reviewed by Mark.

        http://bugs.webkit.org/show_bug.cgi?id=13975
        Use system-provided libjpeg and libpng

        * WebKit.pri: Link against external libjpeg and libpng.

2007-06-20  Adam Roben  <aroben@apple.com>

        Reviewed by Simon Hausmann.

        More Gdk build fixing.

        * WebKit.pro:

2007-06-15  Adam Treat  <adam@staikos.net>

        Reviewed by George Staikos.

        Add ICO support to the Qt build.

        * WebKit.pro:

2007-06-13  George Staikos  <staikos@kde.org>

        Reviewed by Lars.

        Compile without self-linking.

        * WebKit.pri:

2007-06-13  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        * WebKit.pri: WebKitQt is now called QtWebKit.

2007-05-31  Alp Toker  <alp.toker@collabora.co.uk>

        Reviewed by Eric Seidel.

        http://bugs.webkit.org/show_bug.cgi?id=13941
        Rename WebCore/platform/network/gdk to WebCore/platform/network/curl

        * WebKit.pri:

2007-05-18  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark Rowe.

        * WebKit.pro: Build testkjs for Gdk and Qt

2007-05-11  Holger Freyther <freyther@kde.org>

        Reviewed by Mark Rowe.

        Move libcurl configuration into WebKit.pri so it will be used by GdkLauncher,
        and add ICU configuration to QMAKE_CXXFLAGS.

        * WebKit.pri:

2007-05-06  Erik Bunce  <kde@bunce.us>

        Reviewed by Mark Rowe.

        * WebKit.pri:
        Removed unnecessary dependency on MacPorts (/opt/local)

2007-05-03  Holger Freyther <freyther@kde.org>

        Reviewed by Zack, landed by Simon.
        This is bugzilla bug 13499.

        * WebKit.pri: Place Qt into a scope, start sharing qmake with the Gdk
        port
        * WebKit.pro: Place Qt into a scope, start sharing qmake with the Gdk
        port

2007-04-27  Holger Freyther <freyther@kde.org>

        Reviewed by Maciej.

        Remove unmaintained CMake build system.

        * CMakeLists.txt: Removed.

2007-01-30  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Zack.

        * WebKit.pri: libJavaScriptCore is gone with the Qt build
        * WebKit.pro:

2007-01-26  George Staikos  <staikos@kde.org>

        Remove headers - not needed now.

        * WebKit.pri:

2007-01-23  George Staikos <staikos@kde.org>

        Put everything back since we can't build everything without it yet.

        * WebKit.pri:

2007-01-16  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Remove everything but the new public API from
        the include path.

        * WebKit.pri:

2007-01-11  George Staikos  <staikos@kde.org>

        Fix the Qt build

        * WebKit.pri:

2007-01-03  Lars Knoll <lars@trolltech.com>

        Fix the Qt build

        * WebKit.pri:

2006-12-17  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Rob Buis.

        * WebKit.pro: Build testkjs.

2006-12-14  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Brady.

        * Makefile.shared: use $PIPESTATUS[0] and a sub-shell to exit with xcodebuild's exit status

2006-12-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Brady and Anders.

        * Makefile.shared: Stop spewing the environment all the time, at least for command-line builds.

2006-12-10  Zack Rusin  <zack@kde.org>

        Client classes have been moved to WebKitQt/WebCoreSupport so
        adjusting the pri file.

        * WebKit.pri:

2006-12-10  George Staikos  <staikos@kde.org>

        Reviewed by Zack.

        Add WebKitBuild/Release back to the output dir for external build cases.

        * WebKit.pri:

2006-12-10  Zack Rusin  <zack@kde.org>

        Fix the link directory location.

        * WebKit.pri:

2006-12-10  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Include DumpRenderTree in the Qt build

        * WebKit.pro:

2006-12-09  George Staikos  <staikos@kde.org>

        Reviewed by Zack.

        Correct the path to the libraries for QMake.

        * WebKit.pri:

2006-12-09  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Make it possible to build WebKit with qmake.

        * WebKit.pri: Added.
        * WebKit.pro: Added.

2006-11-19  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Zack.

        http://bugs.webkit.org/show_bug.cgi?id=11649

        * CMakeLists.txt: Fix Qt-only build without KDE cmake files

2006-10-30  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Brady.

        Make the universal build return non-zero when module make fails.

        * Makefile:

2006-10-30  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Darin Adler.

        Change Makefiles to return non-zero when module make fails.

        * Makefile:

2006-10-27  Brady Eidson  <beidson@apple.com>

        Rubber stamped by Tim Hatcher

        Added "make universal" to build universal binaries

        * Makefile:
        * Makefile.shared:

2006-10-01  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by eseidel.

        * CMakeLists.txt: add option to disable colored output when building on the buildbot

