2007-12-01  Mark Rowe  <mrowe@apple.com>

        Merge r26782 to Safari-3-branch.

    2007-10-19  Sam Weinig  <sam@webkit.org>

        Fix Windows, Qt and GTK builds.

        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

2007-12-01  Mark Rowe  <mrowe@apple.com>

        Merge r28225 to Safari-3-branch.

    2007-11-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver.

        Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
        - More closely match IE's policy for frame navigation.

        * bindings/js/kjs_window.cpp:
        (KJS::WindowProtoFuncOpen::callAsFunction):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldAllowNavigation):
        * page/FrameTree.cpp:
        (WebCore::FrameTree::top):
        * page/FrameTree.h:

2007-12-01  Mark Rowe  <mrowe@apple.com>

        Merge r28056 to Safari-3-branch.

    2007-11-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Fix for <rdar://problem/5592988>
        - Enforce tighter restrictions on what frames in other domains
          can be navigated.

        Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
               http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html

        * bindings/js/kjs_window.cpp:
        (KJS::Window::put):
        (KJS::Location::put):
        (KJS::LocationProtoFuncReplace::callAsFunction):
        (KJS::LocationProtoFuncAssign::callAsFunction):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::createWindow):
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
        * loader/FrameLoader.h:
        * page/FrameTree.cpp:
        (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
        in the same page.

2007-12-01  Mark Rowe  <mrowe@apple.com>

    Merge r27433 from trunk to Safari-3-branch.

    2007-11-04  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Adam Roben.

        Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to 
        clear up ambiguity.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        * platform/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canAccess):
        * platform/SecurityOrigin.h:

2007-12-01  Mark Rowe  <mrowe@apple.com>

        Merge r26780 from trunk to Safari-3-branch.

    2007-10-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Encapsulate the same origin check into the new SecurityOrigin class.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::defaultEventHandler):
        * dom/Document.h:
        (WebCore::Document::securityOrigin):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin):
        (WebCore::FrameLoader::setOpener):
        * loader/FrameLoader.h:
        * platform/SecurityOrigin.cpp: Added.
        (WebCore::SecurityOrigin::SecurityOrigin):
        (WebCore::SecurityOrigin::clear):
        (WebCore::SecurityOrigin::isEmpty):
        (WebCore::SecurityOrigin::setForFrame):
        (WebCore::SecurityOrigin::setDomainFromDOM):
        (WebCore::SecurityOrigin::allowsAccessFrom):
        (WebCore::SecurityOrigin::isSecureTransitionTo):
        * platform/SecurityOrigin.h: Added.

2007-10-25  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Steve.

        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
        java page

        Previous patch erroneously compared a path and a
        path-including-filename. This corrects that. It also caches the result
        of safariPluginsPath() and uses shell API funcs for determining filename
        and parent directory from a full path.

        * ChangeLog:
        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::safariPluginsPath): Cache return value. Use API functions to
        build the path
        (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
        parent directory, not full path
        (WebCore::PluginDatabaseWin::pluginForExtension): Same
        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
        * plugins/win/PluginPackageWin.h:
        (WebCore::PluginPackageWin::parentDirectory):
        * plugins/win/PluginStreamWin.cpp:
        (WebCore::PluginStreamWin::didReceiveData):

2007-10-24  Alice Liu  <alice.liu@apple.com>

        Reviewed by Oliver.

        Fix <rdar://5410959>  editing/selection/drag-to-contenteditable-iframe.html fails on Windows
        
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::passMouseMoveEventToSubframe):
        Some mouse move events are actually drags, which on mac return early from this function.
        Adding the same logic to its Windows equivalent.  

2007-10-24  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        <rdar://5554130> DatabaseTracker.o has a global initializer

        Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
        Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases 
        path is set.
        
        * WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build
        
        * storage/Database.cpp:
        (WebCore::Database::~Database): Remove bogus assertion
        
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now!  Move this code to openTrackerDatabase
        (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed
        (WebCore::DatabaseTracker::databasePath):
        (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor
        (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
        * storage/DatabaseTracker.h:

2007-10-24  David Hyatt  <hyatt@apple.com>

        Don't try to gap fill transformed selections.  Fix the invalidation of selection to use the clip to visible content
        code path so that it works with multi-column layouts and transforms.

        Reviewed by aroben

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::isSelectionRoot):
        (WebCore::RenderBlock::fillSelectionGaps):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::setSelection):

2007-10-24  Eric Seidel  <eric@webkit.org>

        No review, I want to tickle the CIA bot to test changes,
        and took this as an opportunity to clean up some old change logs.

        * ChangeLog-2005-08-23: update email address
        * ChangeLog-2006-12-31: fix spelling mistakes

2007-10-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - add "(anonymous)" to the renderName of anonymous table cells, rows and sections

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::renderName):
        * rendering/RenderTableRow.h:
        (WebCore::RenderTableRow::renderName):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::renderName):

2007-10-24  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Bug 15476: DOM tree fully expands some elements when arrowing up
        http://bugs.webkit.org/show_bug.cgi?id=15476

        Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
        is used only for the sidebar and search results.

        * page/inspector/inspector.js: Opt-in for the sidebar and search results.
        * page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass
          this option to traverseNextTreeElement and traversePreviousTreeElement.

2007-10-24  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff and Mitz.

        <rdar://problem/5493833>
        REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)

        * bindings/js/kjs_binding.cpp:
        (KJS::ScriptInterpreter::markDOMNodesForDocument):
        If an image element that is currently loading an image is not in the document,
        it should still be marked.
        
        * bindings/js/kjs_html.cpp:
        (WebCore::ImageConstructorImp::construct):
        Force the document wrapper to be created.
        
        * html/HTMLImageElement.h:
        (WebCore::HTMLImageElement::haveFiredLoadEvent):
        New method which calls down to the image loader.
        
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::HTMLImageLoader):
        (WebCore::HTMLImageLoader::~HTMLImageLoader):
        (WebCore::HTMLImageLoader::setLoadingImage):
        (WebCore::HTMLImageLoader::dispatchLoadEvent):
        Remove code that's not needed anymore.
        
        * html/HTMLImageLoader.h:
        (WebCore::HTMLImageLoader::haveFiredLoadEvent):
        Make this public.

2007-10-23  Adam Roben  <aroben@apple.com>

        Move Windows safe file creation code into WebCore from WebPreferences

        Reviewed by Brady.

        * platform/FileSystem.h:
        * platform/win/FileSystemWin.cpp:
        (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.

2007-10-23  Adam Roben  <aroben@apple.com>

        Add methods to FileSystemWin to get some user profile directories

        These directories are used to hold things like preferences, caches,
        etc.

        Reviewed by Brady.

        * platform/FileSystem.h: Added new method declarations for Windows
        only.
        * platform/win/FileSystemWin.cpp:
        (WebCore::bundleName): Added.
        (WebCore::storageDirectory): Added.
        (WebCore::cachedStorageDirectory): Added.
        (WebCore::localUserSpecificStorageDirectory): Added. Returns the
        directory where WebKit should store any user-specific data that should
        stay local to the current machine (i.e., shouldn't be stored in a
        roaming profile).
        (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the
        directory where WebKit should store any user-specific data that should
        move with the user from machine to machine (i.e., should be stored in
        a roaming profile).

2007-10-24  Alp Toker  <alp@atoker.com>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=15659
        InlineTextBox does not setStrokeStyle() as needed

        GraphicsContextCairo workaround to support a GraphicsContextCG quirk:

        Save and restore the StrokeStyle manually.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawLineForText):

2007-10-24  Julien Chaffraix  <julien.chaffraix@gmail.com>

        Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
        Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions

        - getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification

        - Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)

        - Updated XMLHttpRequest::responseMIMEType() to keep its behaviour

        Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html
               http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
               http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html

        * bindings/js/JSXMLHttpRequest.cpp:
        (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::responseMIMEType):
        * xml/XMLHttpRequest.h:

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        implement most of DragData.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asColor):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        remove a stupid notImplemented() warning and implement PasteBoad::clear().

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        implement Pasteboard::documentFragment(), and fix a mem leak.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::documentFragment):

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/PlatformKeyboardEvent.h:
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2007-10-24  Lars Knoll  <lars@trolltech.com>

        Reviewed by Simon.

        use the new QTextBoundaryFinder class in Qt.

        WARNING: NO TEST CASES ADDED OR CHANGED

        * platform/qt/TextBoundaries.cpp:
        (WebCore::findNextWordFromIndex):
        (WebCore::findWordBoundary):
        * platform/qt/TextBreakIteratorQt.cpp:
        (WebCore::wordBreakIterator):
        (WebCore::characterBreakIterator):
        (WebCore::lineBreakIterator):
        (WebCore::sentenceBreakIterator):
        (WebCore::textBreakFirst):
        (WebCore::textBreakNext):
        (WebCore::textBreakPreceding):
        (WebCore::textBreakFollowing):
        (WebCore::textBreakCurrent):
        (WebCore::isTextBreak):

2007-10-24  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - http://bugs.webkit.org/show_bug.cgi?id=15657
          change static hash tables to use powers of two for speed

        * bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.

2007-10-24  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        Make the implementation of pathByAppendingComponent use QDir.

        * platform/qt/FileSystemQt.cpp:

2007-10-24  David Hyatt  <hyatt@apple.com>

        Make repainting work with transforms.

        Reviewed by John Sullivan

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeAbsoluteRepaintRect):

2007-10-23  Alp Toker  <alp@atoker.com>

        Reviewed by Maciej.

        http://bugs.webkit.org/show_bug.cgi?id=14412
        [GDK] Clipboard support

        Initial clipboard implementation for the GTK+ port.

        * platform/gtk/ClipboardGtk.cpp:
        (WebCore::Editor::newGeneralClipboard):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::~Pasteboard):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::clear):
        (WebCore::Pasteboard::plainText):
        * platform/gtk/TemporaryLinkStubs.cpp:

2007-10-23  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        Fixes the Network panel so that it refreshes as needed.

        * page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
        * page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.

2007-10-23  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/5544856> 
        REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
        
        No layout test for now because I'm having trouble getting Undo during a layout
        test to only undo the last Undo step, and I want to write a test that fails
        without the code change.

        * editing/Editor.cpp:
        (WebCore::Editor::confirmComposition): When we replace the previous composition,
        delete it with a sub-command of the command used to insert the new composition,
        instead of with a separate command.  No new code was added because insertText
        already deletes the current selection.
        (WebCore::Editor::setComposition): Ditto.

2007-10-23  Adam Roben  <aroben@apple.com>

        Fix the behavior of pathByAppendingComponent when path is empty

        We now use the Windows Shell API function PathAppendW instead of
        rolling our own broken implementation.

        Reviewed by Anders.

        * platform/win/FileSystemWin.cpp:
        (WebCore::pathByAppendingComponent):

2007-10-23  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872

        Test: fast/forms/textfield-onchange-deletion.html

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
          Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.

2007-10-23  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Sam Weinig.

        - Made seperate files for the various classes in ResourcePanel.js.
        - Broke up ResourcePanel.js and created seperate panel classes for different resource types.
        - Moved View code down to the Panel base-class.
        - Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.

        * page/inspector/DatabasePanel.js:
        * page/inspector/DocumentPanel.js: Added.
        * page/inspector/FontPanel.js: Added.
        * page/inspector/ImagePanel.js: Added.
        * page/inspector/Panel.js: Added.
        * page/inspector/PropertiesSection.js: Added.
        * page/inspector/Resource.js:
        * page/inspector/ResourcePanel.js:
        * page/inspector/SidebarPane.js: Added.
        * page/inspector/SourcePanel.js: Added.
        * page/inspector/inspector.css:
        * page/inspector/inspector.html:
        * page/inspector/inspector.js:

2007-10-23  Anders Carlsson  <andersca@apple.com>

        Correct the version #if check.
        
        * platform/sql/SQLDatabase.cpp:
        (WebCore::SQLDatabase::authorizerFunction):

>>>>>>> .merge-right.r27048
2007-10-23  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
        java page

        It is possible to load Mozilla's Java plugin instead of our own, which
        can lead to a crash. The fix is to prefer plugins in our own Plugins
        directory when searching for a plugin.

        * plugins/win/PluginDatabaseWin.cpp:
        (WebCore::safariPluginsPath): Return the path to our own Plugins
        directory
        (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method
        safariPluginsPath()
        (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is
        our Plugins path, return this plugin. Otherwise, continue scanning the
        list of plugins
        (WebCore::PluginDatabaseWin::pluginForExtension): Same
        * plugins/win/PluginPackageWin.h:
        (WebCore::PluginPackageWin::path): Return this plugin's path

2007-10-22  Steve Falkenburg  <sfalken@apple.com>

        Fix build.

        * plugins/win/PluginViewWin.cpp:

2007-10-22  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
        java page

        We purposefully do not destroy our Java VM when its reference count
        reaches 0, but we were unloading our JavaPlugin.dll when its reference
        count reached 0, which lost the reference to the VM. This led to our
        process trying to create a new VM the next time a page using Java was
        loaded, and the JNI spec states that a single process is not allowed to
        create more than one VM. The fix is to avoid unloading the Java plugin
        via our PluginQuirkDontUnloadPlugin. 

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginViewWin::determineQuirks):

2007-10-18  Adam Roben  <aroben@apple.com>

        Fix <rdar://5547462> Need to copy Inspector resources in Production builds

        I also added an excludes file for the xcopy command to avoid copying
        .svn folders.

        Reviewed by Geoff.

        * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
        resources.
        * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
        xcopy.
        * WebCore.vcproj/xcopy.excludes: Added.

2007-10-16  Alice Liu  <alice.liu@apple.com>

        rubber-stamped by Darin.

        flipping my previous fix around so that mac is special-cased instead of win.

        * dom/Document.cpp:
        (WebCore::Document::defaultEventHandler):

2007-10-16  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele.

        fixed <rdar://5085596> Accesskeys don't work
        
        * dom/Document.cpp:
        (WebCore::Document::defaultEventHandler):
        accesskey modifier is platform-depedent.

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Ollie.

        Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
        over m_deliveryData instead of its data buffer

        * plugins/win/PluginStreamWin.cpp:
        (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
        m_deliveryData
        (WebCore::PluginStreamWin::deliverData): Fix memmove() call
        (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
        * plugins/win/PluginStreamWin.h: Use OwnPtr

2007-10-15  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Oliver.

        Add missing null check.

        * platform/network/cf/AuthenticationCF.cpp:
        (WebCore::core):

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Anders.

        <rdar://5510700> Repro crash loading embedded Windows Media Player
        content

        Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
        will crash if it receives its resource requests out of order, whereas we
        were immediately fulfilling untargeted, non-JavaScript requests and
        scheduling targeted or JavaScript resource requests. Implement his
        suggested fix, which is to schedule PluginRequests for all resource
        requests 

        * plugins/win/PluginViewWin.cpp:
        (WebCore::getString):
        (WebCore::PluginViewWin::performRequest): If this non-JavaScript request
        has no target, create a stream for it
        (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
        requests

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Maciej.

        Return a more appropriate error from NPN_RequestRange, which is
        currently unimplemented

        * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE 
        (NPN_RequestRead):

2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Maciej.

        Add a missing function pointer to the m_browserFuncs structure

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackageWin::load):

== Rolled over to ChangeLog-2007-10-14 ==
