summaryrefslogtreecommitdiffstats
path: root/WebCore/ChangeLog
diff options
context:
space:
mode:
authorFeng Qian <fqian@google.com>2009-06-17 12:12:20 -0700
committerFeng Qian <fqian@google.com>2009-06-17 12:12:20 -0700
commit5f1ab04193ad0130ca8204aadaceae083aca9881 (patch)
tree5a92cd389e2cfe7fb67197ce14b38469462379f8 /WebCore/ChangeLog
parent194315e5a908cc8ed67d597010544803eef1ac59 (diff)
downloadexternal_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.zip
external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.gz
external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.bz2
Get WebKit r44544.
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r--WebCore/ChangeLog24495
1 files changed, 24494 insertions, 1 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 164a9fd..c132fb9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,24496 @@
+2009-06-09 Darin Fisher <darin@chromium.org>
+
+ Fix Chromium build bustage.
+
+ CachedResource.cpp no longer compiles if USE(JSC) is not defined. The
+ problem is that this file is using a macro from StdLibExtras.h without
+ including that file. It just happenes to get that file via a JSC
+ specific include.
+
+ * loader/CachedResource.cpp:
+
+2009-06-09 Dean McNamee <deanm@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Make sure the graphics backends are in sync with the canvas lineWidth state.
+ https://bugs.webkit.org/show_bug.cgi?id=26187
+
+ Test: fast/canvas/canvas-line-width.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
+
+2009-06-09 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Proactively cancel pending requests at DocLoader dtor time,
+ otherwise crashes can occur.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26230
+ http://code.google.com/p/chromium/issues/detail?id=12161
+
+ Test: fast/frames/javascript-url-as-framesrc-crash.html
+
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::~DocLoader):
+
+2009-06-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix ASSERT seen in shadow tree testing
+ https://bugs.webkit.org/show_bug.cgi?id=25092
+
+ Test: svg/custom/use-mutation-event-crash.svg
+
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::instanceForShadowTreeElement):
+
+2009-06-09 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fixes https://bugs.webkit.org/show_bug.cgi?id=22891
+ Scrolling in Windows Cairo Broken if no background color set.
+
+ * platform/graphics/cairo/GradientCairo.cpp:
+ (WebCore::Gradient::fill): Use the GraphicsContext save and restore
+ methods (rather than the Cairo-only functions) so that the Windows
+ device context is kept in sync.
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::GraphicsContext): Add new constructor call
+ to sync Windows HDC with Cairo surface.
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
+ (WebCore::GraphicsContextPlatformPrivate::syncContext): Provide
+ declaration for Windows HDC sync method (and stub for non-Windows
+ Cairo implementations).
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::BitmapImage::draw): Use GraphicsContext save and restore
+ methods (rather than the Cairo-only functions) so that the Windows
+ device context is kept in sync.
+ * platform/graphics/win/GraphicsContextCairoWin.cpp:
+ (WebCore::CairoContextWithHDC): New method to create a valid Cairo
+ context for a given HDC.
+ (WebCore::GraphicsContext::GraphicsContext): Modify constructor to
+ use new CairoContextWithHDC call.
+ (WebCore::GraphicsContext::getWindowsContext): Revise to match
+ behavior of CG implementation.
+ (WebCore::GraphicsContext::releaseWindowsContext): Revise to match
+ behavior of CG implementation.
+ (WebCore::GraphicsContextPlatformPrivate::concatCTM): Get rid of
+ incorrect new HDC, and use object's HDC member for dealing with
+ concatCTM operations.
+ (WebCore::GraphicsContextPlatformPrivate::syncContext): New method
+ to sync Windows HDC with Cairo context.
+ * platform/graphics/win/ImageCairoWin.cpp:
+ (WebCore::BitmapImage::getHBITMAPOfSize): Revise implementation to
+ match CG behavior.
+
+2009-06-09 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Bug 26196: Fix the problem that worker's importScripts fails if the
+ script URL is redirected from different origin.
+ https://bugs.webkit.org/show_bug.cgi?id=26196
+
+ Test: http/tests/workers/worker-importScripts.html
+
+ The fix is to pass an additional enum parameter to the loader in
+ order to tell it to perform the redirect origin check or not.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::create):
+ (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
+ (WebCore::DocumentThreadableLoader::willSendRequest):
+ * loader/DocumentThreadableLoader.h:
+ * loader/ThreadableLoader.cpp:
+ (WebCore::ThreadableLoader::create):
+ (WebCore::ThreadableLoader::loadResourceSynchronously):
+ * loader/ThreadableLoader.h:
+ (WebCore::):
+ * loader/WorkerThreadableLoader.cpp:
+ (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
+ (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
+ * loader/WorkerThreadableLoader.h:
+ (WebCore::WorkerThreadableLoader::create):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::importScripts):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously):
+
+2009-06-09 Anand K. Mistry <amistry@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Paint bitmaps with the alpha channel in Skia.
+ https://bugs.webkit.org/show_bug.cgi?id=26037
+
+ Test: fast/canvas/drawImage-with-globalAlpha.html
+
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::paintSkBitmap):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::getAlpha):
+ * platform/graphics/skia/PlatformContextSkia.h:
+
+2009-06-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26104
+ [GTK] Make NetworkRequest a proper GObject and expose SoupMessage
+
+ Refactor how SoupMessage is handled, so that our ResourceRequest
+ object doesn't have to store it as a member, which complicates
+ managing ResourceRequest's lifetime.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startHttp):
+ * platform/network/soup/ResourceRequest.h:
+ (WebCore::ResourceRequest::ResourceRequest):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::toSoupMessage):
+ (WebCore::ResourceRequest::updateFromSoupMessage):
+
+2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build, the time functions moved into the WTF namespace.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue):
+
+2009-06-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes.
+
+ Test: http/tests/loading/deleted-host-in-resource-load-delegate-callback.html
+
+ Loader::Host objects were manually managed via new/delete.
+ There's a variety of circumstances where a Host might've been deleted while it was still in the middle
+ of a resource load delegate callback.
+ Changing them to be RefCounted then adding protectors in the callbacks makes this possibility disappear.
+
+ At the same time, remove ProcessingResource which was an earlier fix for this same problem that wasn't
+ fully implemented.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Loader):
+ (WebCore::Loader::load):
+ (WebCore::Loader::servePendingRequests):
+ (WebCore::Loader::resumePendingRequests):
+ (WebCore::Loader::cancelRequests):
+ (WebCore::Loader::Host::didFinishLoading):
+ (WebCore::Loader::Host::didFail):
+ (WebCore::Loader::Host::didReceiveResponse):
+ (WebCore::Loader::Host::didReceiveData):
+ * loader/loader.h:
+ (WebCore::Loader::Host::create):
+
+2009-06-08 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26126
+ Refactor methods of WorkerMessagingProxy used to talk to main-thread loader into new interface.
+
+ Split a couple of methods used to schedule cross-thread tasks between worker thread and loader thread
+ implemented on WorkerMessagingProxy into a separate interface so the loading can be implemented in
+ Chromium's workers.
+
+ No changes in functionality so no tests added.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Added WorkerLoaderProxy.h to the bulid.
+
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate): WorkerThread::workerObjectProxy() now returns & instead of *
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate): same.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::~WorkerContext): same.
+ (WebCore::WorkerContext::reportException): same.
+ (WebCore::WorkerContext::addMessage): same.
+ (WebCore::WorkerContext::postMessage): same.
+
+ * loader/WorkerThreadableLoader.cpp:
+ (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
+ Use WorkerLoaderProxy instead of WorkerMessagingProxy for the MainThreadBridge.
+ Mostly rename.
+
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
+ In addition to using WorkerLoaderProxy instead of WorkerMessagingProxy, the check for
+ AskedToTerminate is removed. It seems to be an optimization for a very small number of cases
+ when worker termination is requested a very short time before the request to load something
+ (XHR or importScript) was dispatched on the main thread.
+
+ * loader/WorkerThreadableLoader.h:
+ Now keeps a pointer to WorkerLoaderProxy rather then to a WorkerMessagingProxy. This allows
+ to implement WorkerThreadableLoader for Chromium.
+
+ * workers/WorkerLoaderProxy.h: Added.
+ (WebCore::WorkerLoaderProxy::~WorkerLoaderProxy):
+
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerMessagingProxy::startWorkerContext):
+ (WebCore::WorkerMessagingProxy::postTaskToLoader): Added ASSERT since this needs to be implemented for nested workers.
+ * workers/WorkerMessagingProxy.h:
+ Derived from WorkerLoaderProxy, the methods for posting tasks cross-thread are now virtual.
+ Removed unused postTaskToWorkerContext() method.
+
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::create):
+ (WebCore::WorkerThread::WorkerThread):
+ * workers/WorkerThread.h:
+ (WebCore::WorkerThread::workerLoaderProxy):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::create):
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::workerThread):
+ * workers/WorkerThread.h:
+ (WebCore::WorkerThread::workerLoaderProxy):
+ (WebCore::WorkerThread::workerObjectProxy):
+ WorkerThread gets a new member of type WorkerLoaderProxy&, and accessor.
+ Also, existing WorkerObjectProxy* member is now WorkerObjectProxy& because it can't be null.
+
+2009-06-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26238
+ Add parseDate helper to HTTPParsers, which uses WTF::parseDateFromNullTerminatedCharacters.
+
+ * ForwardingHeaders/runtime/DateMath.h: Removed.
+ * ForwardingHeaders/wtf/DateMath.h: Copied from WebCore/ForwardingHeaders/runtime/DateMath.h.
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::parseDate): Added.
+ * platform/network/HTTPParsers.h:
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::parseDateValueInHeader): Changed to use the new helper.
+
+2009-06-08 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Siedel.
+
+ Chromium Linux ignored the background color on <select>s. Rather
+ than encode magic colours, we start with a base color (specified
+ via CSS) and derive the other colors from it. Thus, setting the
+ CSS background-color now correctly changes the colour of the
+ control.
+
+ This should not change the appearence controls without
+ background-colors. However, <select>s with a background-color
+ will now renderer correctly, which may require rebaselining
+ pixel tests in the Chromium tree.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26030
+ http://code.google.com/p/chromium/issues/detail?id=12596
+
+ * platform/graphics/Color.cpp:
+ (WebCore::Color::getHSL): new member
+ * platform/graphics/Color.h:
+ * rendering/RenderThemeChromiumLinux.cpp:
+ (WebCore::RenderThemeChromiumLinux::systemColor):
+ (WebCore::brightenColor):
+ (WebCore::paintButtonLike):
+
+2009-06-08 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26087
+ Bug 26087: Removing element in JS crashes Chrome tab if it fired the change event
+
+ Fix tab crash caused by destroying the popup list that fired the change event on abandon.
+
+ If a popup list is abandoned (press a key to jump to an item
+ and then use tab or mouse to get away from the select box),
+ the current code fires a change event in PopupListBox::updateFromElemt().
+ The JS that listens to this event may destroy the object and cause the
+ rest of popup list code crashes.
+
+ The updateFromElement() is called before abandon() and this causes
+ the selected index to be discarded after updateFromElement(). From
+ the code comments, this appears to be the reason why valueChanged is
+ called in updateFromElement.
+
+ Fix the issue by removing the valueChanged call in updateFromElement,
+ saving the selected index that we should accept on abandon and pass
+ it to the valueChange in abandon().
+
+ A manual test has been added.
+
+ * manual-tests/chromium: Added.
+ * manual-tests/chromium/onchange-reload-popup.html: Added.
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::PopupListBox):
+ (WebCore::PopupListBox::handleKeyEvent):
+ (WebCore::PopupListBox::abandon):
+ (WebCore::PopupListBox::updateFromElement):
+
+2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Disable a few warnings on Windows
+
+ * WebCore.pro:
+
+2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Don't enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH on Windows
+
+ This define was brought in after refactoring some code from
+ PluginPackage(Qt|Gtk).cpp into the shared PluginPackage.cpp.
+
+ * WebCore.pro:
+
+2009-06-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Use $QMAKE_PATH_SEP instead of hardcoded / to fix Windows build
+
+ * WebCore.pro:
+
+2009-06-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Build fix when NETSCAPE_PLUGIN_API support is turned off
+ https://bugs.webkit.org/show_bug.cgi?id=26244
+
+ * WebCore.pro: Define PLUGIN_PACKAGE_SIMPLE_HASH only if
+ NETSCAPE_PLUGIN_API is turned on
+ * plugins/PluginPackage.cpp: Guard initializeBrowserFuncs()
+ * plugins/PluginViewNone.cpp: Match guards with PluginView.h
+
+2009-06-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/6931661> -[WebView _selectionIsAll] returns YES
+ when the selection is inside a text field.
+
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::isAll): Return false if the selection is in
+ a shadow tree.
+
+2009-06-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26106
+ [GTK] Crashes when you keep a combo open during a page transition, then close it
+
+ Hide the combo popup and disconnect from its signals during
+ PopupMenu destruction to handle this exceptional case with no
+ crash.
+
+ * platform/gtk/PopupMenuGtk.cpp:
+ (WebCore::PopupMenu::~PopupMenu):
+ (WebCore::PopupMenu::menuUnmapped):
+
+2009-06-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/6930540>
+ REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle
+
+ Test: fast/css/font-family-builtins.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::identifierForFamily): Fix typo. Fantasy family should be
+ -webkit-fantasy not, -webkit-serif.
+
+2009-06-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Fix for <rdar://problem/6936235>
+ Need to support StorageEvent.storageArea to meet the Web Storage spec
+
+ * storage/LocalStorageArea.cpp:
+ (WebCore::LocalStorageArea::dispatchStorageEvent): Pass the localStorage for
+ the frame being dispatched to.
+ * storage/SessionStorageArea.cpp:
+ (WebCore::SessionStorageArea::dispatchStorageEvent): Ditto, only for sessionStorage.
+
+ * storage/StorageEvent.cpp:
+ (WebCore::StorageEvent::StorageEvent):
+ (WebCore::StorageEvent::initStorageEvent):
+ * storage/StorageEvent.h:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::storageArea):
+ * storage/StorageEvent.idl:
+ Add storageArea member.
+
+2009-06-05 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fix WMLInputElement initialization code. Don't call initialize() on attach(), let
+ WMLCardElement handle initialization once, after the document has been parsed.
+
+ To keep layout tests working introduce a new function in Document.idl: initializeWMLPageState().
+ WMLTestCase.js (the wml/ layout test framework) will use it to simulate a regular WML document,
+ whose variable state gets initialized on WMLDocument::finishedParsing(). Force initialization
+ of the WML variable state, right after the dynamically created elements have been inserted into the tree.
+
+ * dom/Document.cpp:
+ (WebCore::Document::initializeWMLPageState):
+ * dom/Document.h:
+ * dom/Document.idl:
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::finishedParsing):
+ (WebCore::WMLDocument::initialize):
+ * wml/WMLDocument.h:
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::initialize):
+ * wml/WMLInputElement.h:
+
+2009-06-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ononline and onoffline attributes for the <body> element.
+
+ * html/HTMLAttributeNames.in: Added ononlineAttr and onofflineAttr.
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute): Map ononlineAttr
+ and onofflineAttr to window event listeners.
+
+2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add missing includes of config.h
+
+ * platform/qt/QWebPopup.cpp:
+ * platform/text/qt/TextBreakIteratorQt.cpp:
+
+2009-06-05 Fumitoshi Ukai <ukai@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26215
+ Try to fix the Chromium build.
+
+ * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
+ (WebCore::fillBMPGlyphs):
+ (WebCore::fillNonBMPGlyphs):
+
+2009-06-05 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Bug 26160: Compile fails in MacOSX when GNU fileutils are installed
+
+ <https://bugs.webkit.org/show_bug.cgi?id=26160>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Use /bin/ln instead of ln for cases where this command is used with -h option.
+ As this option is not supported by GNU fileutils, this change helps users
+ who have GNU fileutils in their PATH.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-06-03 Ben Murdoch <benm@google.com>
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25710> HTML5 Database stops executing transactions if the URL hash changes while a transaction is open and an XHR is in progress.
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading
+
+ Test: storage/hash-change-with-xhr.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::stopLoading):
+ * loader/DocumentLoader.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::stopAllLoaders):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderTypes.h:
+ (WebCore::):
+ * page/Page.cpp:
+ (WebCore::Page::goToItem):
+ * WebCore.base.exp:
+
+2009-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Make sure the correct config.h is included when shadowbuilding
+
+ * WebCore.pro:
+
+2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix Qt build after r44452
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+
+2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Remove some dead code (MenuEventProxy)
+
+ * WebCore.pro:
+ * platform/ContextMenu.h:
+ * platform/qt/ContextMenuQt.cpp:
+ * platform/qt/MenuEventProxy.h: Removed.
+
+2009-06-05 Xan Lopez <xlopez@igalia.com>
+
+ More build fixes.
+
+ * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
+ (WebCore::GlyphPage::fill):
+
+2009-06-05 Xan Lopez <xlopez@igalia.com>
+
+ Fix the GTK+ build.
+
+ * GNUmakefile.am:
+ * platform/graphics/gtk/FontCacheGtk.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+ * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
+ (WebCore::GlyphPage::fill):
+
+2009-06-05 Antti Koivisto <antti@apple.com>
+
+ Try to fix Windows (and possibly other platforms) build.
+
+ Restore ResourceResponseBase::lastModifiedDate() and setLastModifiedDate() removed in previous commit.
+ for now since PluginStream used on some platforms expects them and calculations differ from plain
+ Last-modified header value.
+
+ Also include <wtf/MathExtras.h> to get isfinite().
+
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::adopt):
+ (WebCore::ResourceResponseBase::copyData):
+ (WebCore::ResourceResponseBase::setLastModifiedDate):
+ (WebCore::ResourceResponseBase::lastModifiedDate):
+ * platform/network/ResourceResponseBase.h:
+ * platform/network/cf/ResourceResponseCFNet.cpp:
+ (WebCore::ResourceResponse::platformLazyInit):
+
+2009-06-03 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dave Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=13128
+ Safari not obeying cache header
+
+ Implement RFC 2616 cache expiration calculations in WebKit instead of
+ relying on the networking layer.
+
+ * ForwardingHeaders/runtime/DateMath.h: Added.
+ * WebCore.base.exp:
+ * loader/Cache.cpp:
+ (WebCore::Cache::revalidationSucceeded):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::CachedResource):
+ (WebCore::CachedResource::isExpired):
+ (WebCore::CachedResource::currentAge):
+ (WebCore::CachedResource::freshnessLifetime):
+ (WebCore::CachedResource::setResponse):
+ (WebCore::CachedResource::updateResponseAfterRevalidation):
+ (WebCore::CachedResource::mustRevalidate):
+ * loader/CachedResource.h:
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::ResourceResponseBase):
+ (WebCore::ResourceResponseBase::adopt):
+ (WebCore::ResourceResponseBase::copyData):
+ (WebCore::ResourceResponseBase::setHTTPHeaderField):
+ (WebCore::ResourceResponseBase::parseCacheControlDirectives):
+ (WebCore::ResourceResponseBase::cacheControlContainsNoCache):
+ (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate):
+ (WebCore::ResourceResponseBase::cacheControlMaxAge):
+ (WebCore::parseDateValueInHeader):
+ (WebCore::ResourceResponseBase::date):
+ (WebCore::ResourceResponseBase::age):
+ (WebCore::ResourceResponseBase::expires):
+ (WebCore::ResourceResponseBase::lastModified):
+ (WebCore::ResourceResponseBase::isAttachment):
+ (WebCore::ResourceResponseBase::compare):
+ * platform/network/ResourceResponseBase.h:
+ * platform/network/cf/ResourceResponseCFNet.cpp:
+ (WebCore::ResourceResponse::platformLazyInit):
+ * platform/network/mac/ResourceResponseMac.mm:
+ (WebCore::ResourceResponse::platformLazyInit):
+
+2009-06-04 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 26201: Remove superfluous 'if' statements in RenderTable::addChild
+ https://bugs.webkit.org/show_bug.cgi?id=26201
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild): remove superfluous 'if' statements
+
+
+2009-06-04 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 26202: add macros for primitive values to simplify CSSStyleSelector::applyProperty
+ https://bugs.webkit.org/show_bug.cgi?id=26202
+
+ * css/CSSStyleSelector.cpp: add HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE[_WITH_VALUE] macros
+ (WebCore::CSSStyleSelector::applyProperty): use new macros
+
+2009-06-04 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel
+
+ Bug 26203: Move parsing of 'attr(X)' values to own method
+ https://bugs.webkit.org/show_bug.cgi?id=26203
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseAttr): new method
+ (WebCore::CSSParser::parseContent): use new parseAttr method
+ * css/CSSParser.h:
+ (WebCore::CSSParser::parseAttr): new method
+
+2009-06-04 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 26205: RenderTableSection::addChild : correct comment
+ https://bugs.webkit.org/show_bug.cgi?id=26205
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::addChild): correct comment
+
+2009-06-04 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 26204: RenderBlock : simplify handleSpecialChild, comment correction
+ https://bugs.webkit.org/show_bug.cgi?id=26204
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::handleSpecialChild): simplify usage
+ (WebCore::RenderBlock::handlePositionedChild): simplify usage
+ (WebCore::RenderBlock::handleFloatingChild): simplify usage
+ (WebCore::RenderBlock::handleRunInChild): simplify usage
+ (WebCore::RenderBlock::layoutBlock): correct comment
+ (WebCore::RenderBlock::layoutBlockChildren): simplify loop, change call to handleSpecialChild
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::handleSpecialChild): change signature
+ (WebCore::RenderBlock::handlePositionedChild): change signature
+ (WebCore::RenderBlock::handleFloatingChild): change signature
+ (WebCore::RenderBlock::handleRunInChild): change signature
+
+2009-06-04 Dan Bernstein <mitz@apple.com>
+
+ - retry to fix the Tiger build
+
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::initFontData):
+
+2009-06-04 Dan Bernstein <mitz@apple.com>
+
+ - try to fix the Tiger build
+
+ * platform/graphics/SimpleFontData.h:
+
+2009-06-04 Dan Bernstein <mitz@apple.com>
+
+ - try to fix the Leopard and Tiger builds
+
+ * platform/graphics/SimpleFontData.h:
+
+2009-06-04 Dan Bernstein <mitz@apple.com>
+
+ - try to fix the Windows build
+
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::shapeAndPlaceItem):
+
+2009-06-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - make SimpleFontData's data members private
+ - rename SimpleFontData's m_font member to m_platformData
+
+ * platform/graphics/Font.h:
+ (WebCore::Font::spaceWidth):
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::platformData):
+ (WebCore::SimpleFontData::spaceWidth):
+ (WebCore::SimpleFontData::adjustedSpaceWidth):
+ (WebCore::SimpleFontData::syntheticBoldOffset):
+ (WebCore::SimpleFontData::spaceGlyph):
+ (WebCore::SimpleFontData::getNSFont):
+ (WebCore::SimpleFontData::getQtFont):
+ (WebCore::SimpleFontData::getWxFont):
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::advance):
+ * platform/graphics/cairo/FontCairo.cpp:
+ (WebCore::Font::drawGlyphs):
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::smallCapsFontData):
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::smallCapsFontData):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::setPangoAttributes):
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ (WebCore::SimpleFontData::setFont):
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ (WebCore::SimpleFontData::setFont):
+ * platform/graphics/mac/CoreTextController.cpp:
+ (WebCore::CoreTextController::adjustGlyphsAndAdvances):
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::Font::drawGlyphs):
+ * platform/graphics/mac/FontMacATSUI.mm:
+ (WebCore::initializeATSUStyle):
+ (WebCore::overrideLayoutOperation):
+ (WebCore::ATSULayoutParameters::initialize):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::initFontData):
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ (WebCore::SimpleFontData::smallCapsFontData):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ (WebCore::SimpleFontData::checkShapesArabic):
+ (WebCore::SimpleFontData::getCTFont):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::drawGDIGlyphs):
+ (WebCore::Font::drawGlyphs):
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformDestroy):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+ (WebCore::SimpleFontData::setFont):
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::initGDIFont):
+ (WebCore::SimpleFontData::smallCapsFontData):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::widthForGDIGlyph):
+ (WebCore::SimpleFontData::scriptFontProperties):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+
+2009-06-04 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Initialize the width of PopupMenuListBox properly for Mac Chromium.
+
+ Added a test that works only with this patch applied. The test is
+ a manual one, since the hit testing infrastructure in the layout
+ tests sends keyboard and mouse events to the main window and not
+ the cocoa control that implements the popup up, which means we can't
+ select items from the popup up.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25904
+
+
+ * manual-tests/select-narrow-width.html: Added.
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::PopupListBox):
+ (WebCore::PopupContainer::showExternal):
+
+2009-06-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed Windows build correction.
+
+ * WebCore.vcproj/WebCore.vcproj: Add missing 'ReplaceNodeWithSpanCommand.cpp'
+ and 'ReplaceNodeWithSpanCommand.h'
+
+2009-02-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Justin Garcia.
+
+ Make sure execCommand("bold") on <b style="text-decoration: underline">test</b>
+ only removes the bold and not the underline.
+ https://bugs.webkit.org/show_bug.cgi?id=23496
+
+ Test: editing/execCommand/convert-style-elements-to-spans.html
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSStyleDeclaration.h:
+ (WebCore::CSSStyleDeclaration::isEmpty):
+ * dom/NamedAttrMap.h:
+ (WebCore::NamedAttrMap::isEmpty):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::isUnstyledStyleSpan):
+ (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
+ (WebCore::ApplyStyleCommand::applyBlockStyle):
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
+ (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle):
+ (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
+ (WebCore::ApplyStyleCommand::removeCSSStyle):
+ (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
+ (WebCore::ApplyStyleCommand::removeInlineStyle):
+ (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
+ * editing/ApplyStyleCommand.h:
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::replaceNodeWithSpanPreservingChildrenAndAttributes):
+ * editing/CompositeEditCommand.h:
+ * editing/RemoveNodePreservingChildrenCommand.cpp:
+ (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
+ * editing/ReplaceNodeWithSpanCommand.cpp: Added.
+ (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
+ (WebCore::swapInNodePreservingAttributesAndChildren):
+ (WebCore::ReplaceNodeWithSpanCommand::doApply):
+ (WebCore::ReplaceNodeWithSpanCommand::doUnapply):
+ * editing/ReplaceNodeWithSpanCommand.h: Added.
+ (WebCore::ReplaceNodeWithSpanCommand::create):
+
+2009-06-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix for Windows Cairo target.
+
+ Add missing post-build command to copy history/cf contents
+ to output directory.
+
+ * WebCore.vcproj/WebCore.vcproj: Update Debug_Cairo and Release_Cairo
+ target post-build steps with copy commands.
+
+2009-06-04 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6854695> Movie controller thumb fails to scale with full page zoom
+
+ Account for zoom level when drawing media controller thumb on Windows.
+
+ * rendering/RenderMediaControls.cpp:
+ (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
+
+2009-06-04 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move DOM window focus/blur out of SelectionController and into FocusController. Make sure it
+ fires on the focused frame when the page activation state changes also. This is covered by an existing
+ layout test (albeit badly). I have modified the test to be correct.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::setFocused):
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setFocusedFrame):
+ (WebCore::FocusController::setActive):
+
+2009-06-04 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26148
+ Adding in empty files to stage the extract of RenderThemeChromiumSkia
+ from RenderThemeChromiumLinux and RenderThemeChromiumWindows.
+
+ * rendering/RenderThemeChromiumSkia.cpp: Added.
+ * rendering/RenderThemeChromiumSkia.h: Added.
+
+2009-06-04 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25562
+ Potential crash after ApplicationCacheStorage::storeNewestCache() fails
+
+ Fix the crash by checking the return value of cacheStorage().storeNewestCache(this)
+ in WebCore::ApplicationCacheGroup::checkIfLoadIsComplete. If storeNewestCache failed,
+ we run the cache failure steps:
+
+ 1. Fire the error events to all pending master entries, as well any other cache hosts
+ currently associated with a cache in this group.
+ 2. Disassociate the pending master entries from the failed new cache.
+ 3. Reinstate the old "newest cache", if there was one.
+
+ We also introduce two other changes:
+
+ 1. a mechanism to rollback storageID changes to the in-memory resource
+ objects when the storing of an ApplicationCache object fails.
+
+ 2. defer removing the pending master entries from the list of pending master entries
+ until the entire load is complete. This matches the HTML 5 spec better. To track
+ if the load is complete we now introduce a counter for those pending master entries
+ that haven't yet finshed downloading.
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): initializes the new counter to 0
+ (WebCore::ApplicationCacheGroup::selectCache): increments the counter when a new pending
+ master entry is added.
+ (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): decrements the counter
+ instead of removing the pending master entry.
+ (WebCore::ApplicationCacheGroup::failedLoadingMainResource): decrements the counter
+ instead of removing the pending master entry.
+ (WebCore::ApplicationCacheGroup::setNewestCache): removes an assertion that no longer
+ holds true. In particular, the newest cache is not necessarily new anymore. We can
+ set an old cache as the new cache. This can happen if we failed to store a newly
+ downloaded cache to the database and we are now reinstating the former newest cache.
+ (WebCore::ApplicationCacheGroup::manifestNotFound): resets the counter to 0.
+ (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): check if the loading is complete
+ based on the counter instead of the list of pending master entries. Empty the list of
+ master entries if the load is complete.
+ * loader/appcache/ApplicationCacheGroup.h: add the new counter.
+ * loader/appcache/ApplicationCacheStorage.cpp: introduce the journaling mechanism for
+ in-memory resource objects.
+ (WebCore::ResourceStorageIDJournal::~ResourceStorageIDJournal):
+ (WebCore::ResourceStorageIDJournal::add):
+ (WebCore::ResourceStorageIDJournal::commit):
+ (WebCore::ResourceStorageIDJournal::Record::Record):
+ (WebCore::ResourceStorageIDJournal::Record::restore):
+ (WebCore::ApplicationCacheStorage::store): log the changes to the in-memory resource
+ objects.
+ (WebCore::ApplicationCacheStorage::storeNewestCache): create the journal object.
+ * loader/appcache/ApplicationCacheStorage.h: modify the signature of
+ bool store(ApplicationCache*) to add a pointer to the logger object used to
+ trace the changes to the storageID of the resource objects.
+
+2009-06-04 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26154
+ Allow underscores in the hostnames we parse out of databaseIdentifiers.
+ This code is used for HTML 5 database support.
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
+
+2009-06-04 Mihnea Ovidenie <mihnea@adobe.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 26084: Multiple missing images in webkit-mask-image prevent rendering
+ https://bugs.webkit.org/show_bug.cgi?id=26084
+
+ When painting multiple images, make sure that at least one image is valid before pushing a transparency layer.
+
+ Added a manual test.
+
+ * manual-tests/mask-composite-missing-images.html: Added.
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintMaskImages):
+
+2009-06-04 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26180
+ Add a fast path for SecurityOrigin::equal. If "other == this" (where
+ other is the other security origin), then we really don't need to do
+ all the other (expensive) comparisons. We know it's equal.
+
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::equal):
+
+2009-06-03 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Improvements in how selection behaves with focus/activation and a reversion back to using isActive
+ in the scrollbar theme code to remove a Chromium ifdef.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::SelectionController):
+ Make the controller set its focused state correctly upon initial creation.
+
+ (WebCore::SelectionController::setSelection):
+ Make selection willing to shift the focus node if the selection is focused even if the
+ selection is not active. Whether or not the Page is active is irrelevant to focus changes.
+
+ (WebCore::SelectionController::setFocused):
+ * editing/SelectionController.h:
+ (WebCore::SelectionController::isFocused):
+ Add a new isFocused() method so that code can check if the Selection is focused without caring
+ about the active state.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setFocusedNodeIfNeeded):
+ Allow focus shifts even when the selection is not active.
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint):
+ Revert Dan's change to directly talk to AppKit for checking active state. Now that the WebCore isActive
+ method works, ditch the Chromium-specific #ifdef and go back to the original code.
+
+2009-06-04 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Test: media/before-load-member-access.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=26081
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::played): Ensure that if m_playedTimeRanges,
+ is not initialized we return a valid range, and don't attempt to use it.
+
+2009-06-03 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Implement a way to invalidate the FontCache used by the Qt port.
+
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::FontCache::invalidate):
+
+2009-06-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26015
+
+ [Qt] Single-threaded QtWebKit configuration
+
+ Turn off Database, DOM storage, icon database and Web Workers support
+ when ENABLE_SINGLE_THREADED is turned on.
+
+ Set SQLITE_THREADSAFE to false to turn off SQLite mutexes
+ when ENABLE_SINGLE_THREADED is turned on.
+
+ * WebCore.pro:
+
+2009-06-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - add some assertions that Font methods are used on the main thread
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::setShouldUseSmoothing):
+ * platform/graphics/Font.h:
+ (WebCore::Font::primaryFont):
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::glyphDataForCharacter):
+
+2009-06-03 Dan Bernstein <mitz@apple.com>
+
+ - Windows build fix
+
+ Rolled out apparently-accidental changes to config.h from r44398. These
+ were not part of the patch as reviewed.
+
+ * config.h:
+
+2009-06-03 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, Chromium build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26177
+ Reverting 'private' to 'protected' on 2 classes.
+ Chromium glue layer (not yet in Webkit tree) relies on ability to derive
+ Chromium-specific platform classes and access the data members.
+ See bug for more details.
+
+ * platform/PlatformMouseEvent.h:
+ * platform/PlatformWheelEvent.h:
+
+2009-06-03 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser <simonfr@apple.com>.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=26162
+
+ This corrects an error when destroying an animation
+ or transition where endAnimation was never getting
+ called and therefore the hardware animation was never
+ getting removed.
+
+ This includes a manual-test since it's really impossible
+ to make a meaningful automatic test for an animation
+ bug like this.
+
+ This has no effect unless accelerated compositing is
+ enabled.
+
+ * manual-tests/interrupted-compound-transform.html: Added.
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::~ImplicitAnimation):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::~KeyframeAnimation):
+
+2009-06-03 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Make the scrollbar thumb size twice the width for Chromium Linux. This
+ matches Firefox on Linux.
+
+ This will need layout test pixel results to be rebaselined in the
+ Chromium tree.
+
+ http://code.google.com/p/chromium/issues/detail?id=12602
+ https://bugs.webkit.org/show_bug.cgi?id=26176
+
+ * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+ (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
+ * platform/chromium/ScrollbarThemeChromiumLinux.h:
+
+2009-06-03 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Change Chromium scrollbar theme code to use different classes on
+ Windows and Linux rather than suppling symbols. The ScrollbarTheme
+ class is already using virtual dispatch, so there's no reason not to.
+
+ This should not affect any layout tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26174
+
+ * platform/chromium/ScrollbarThemeChromium.cpp:
+ * platform/chromium/ScrollbarThemeChromium.h:
+ * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
+ (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
+ (WebCore::ScrollbarThemeChromiumLinux::paintButton):
+ (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
+ (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
+ * platform/chromium/ScrollbarThemeChromiumLinux.h: Added.
+ * platform/chromium/ScrollbarThemeChromiumWin.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
+ (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
+ (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
+ (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
+ (WebCore::ScrollbarThemeChromiumWin::paintButton):
+ (WebCore::ScrollbarThemeChromiumWin::paintThumb):
+ (WebCore::ScrollbarThemeChromiumWin::getThemeState):
+ (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
+ (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
+ (WebCore::ScrollbarThemeChromiumWin::buttonSize):
+ * platform/chromium/ScrollbarThemeChromiumWin.h: Added.
+
+2009-06-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Enabling debugger requires that Scripts panel is already attached to the
+ render tree. The reason is that recompile events result in script sources
+ being added into the source frames. Prior to the global options introduced,
+ debugger was enabled from the Scripts panel, so that it was guaranteed to
+ exist. The InspectorController::enableDebugger API calls with no inspector
+ frontend showing were failing though.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26145
+
+ * WebCore.base.exp:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::enableDebuggerFromFrontend):
+ (WebCore::InspectorController::enableDebugger):
+ * inspector/InspectorController.h:
+ * inspector/InspectorController.idl:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::attachDebuggerWhenShown):
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.show):
+ (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
+ * inspector/front-end/inspector.js:
+ (WebInspector.attachDebuggerWhenShown):
+
+2009-06-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ - fix a regression from the previous patch
+
+ * platform/graphics/Font.cpp: Initialize shouldUseFontSmoothing to true.
+
+2009-06-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ - eliminate WebCoreTextRenderer
+
+ * WebCore.base.exp: Updated.
+ * WebCore.xcodeproj/project.pbxproj: Removed WebCoreTextRenderer.{h,mm}
+ and promoted WebFontCache.h to private.
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::setShouldUseSmoothing): Added this static setter for
+ a new file-static boolean.
+ (WebCore::Font::shouldUseSmoothing): Added this static getter.
+ * platform/graphics/Font.h: Decleared setShouldUseSmoothing() and
+ shouldUseSmoothing().
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::Font::drawGlyphs): Use Font::shouldUseSmoothing() instead of
+ WebCoreShouldUseFontSmoothing().
+ * platform/graphics/mac/WebLayer.mm: Removed unneeded #import.
+ * platform/mac/WebCoreTextRenderer.h: Removed.
+ * platform/mac/WebCoreTextRenderer.mm: Removed.
+
+2009-06-03 David Levin <levin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ v8's ScriptController::evaluate should protect the Frame like the jsc version.
+ https://bugs.webkit.org/show_bug.cgi?id=26172
+
+ This change is simply copying protections done for Frame in the method
+ WebCore::ScriptController::evaluate in the file js/ScriptController.cpp.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+
+2009-06-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - fix <rdar://problem/6841120> Use CTFontManager notifications instead
+ of ATS notifications
+
+ * platform/graphics/FontCache.h: Made it an error to destroy a
+ FontCache instance.
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Added
+ this notification callback for the
+ kCTFontManagerRegisteredFontsChangedNotification, which calls
+ invalidate().
+ (WebCore::FontCache::platformInit): Register for
+ kCTFontManagerRegisteredFontsChangedNotification.
+
+2009-06-03 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Use CGContextShowGlyphsWithAdvances to get more accurate text rendering on Mac.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26161
+
+ * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
+ (WebCore::drawTextWithSpacing):
+
+2009-06-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Reorder ResourcesPanel components initialization to unfreeze resource list scroller.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26159
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+
+2009-06-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ - Fix for crash (preceded by assertion) in InspectorController::didCommitLoad
+ when reloading or navigating with the Inspector open.
+ - Fix for Inspector's Elements panel being empty when Inspector first appears.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26134
+ https://bugs.webkit.org/show_bug.cgi?id=26135
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::didLoadResourceFromMemoryCache):
+ (WebCore::InspectorController::identifierForInitialRequest):
+ (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
+ * inspector/InspectorController.h:
+
+2009-06-03 Adam Roben <aroben@apple.com>
+
+ Windows build fix after r44379
+
+ * svg/graphics/SVGImage.cpp: Move EmptyClients.h back down below the
+ other #includes to fix a compiler warning on Windows.
+
+2009-06-02 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Add workaround for crash in Linux Flash Player when hosted by
+ another toolkit than GTK+. Bug fixed at the Flash Player bugzilla,
+ issue (FP-2140).
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::setNPWindowIfNeeded):
+
+2009-06-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Refactor the Qt plugin code to use NPP_SetWindow correctly,
+ to make resizing of plugins work.
+
+ Attention was paid to make sure that the windowed plugins scroll
+ synchronized with the page view. A manual test has been added.
+
+ * manual-tests/qt/plugin-iframe.html: Added.
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::setFrameRect):
+ (WebCore::PluginView::frameRectsChanged):
+ * plugins/PluginView.h:
+ * plugins/qt/PluginContainerQt.cpp:
+ (PluginContainerQt::PluginContainerQt):
+ * plugins/qt/PluginContainerQt.h:
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::load):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::handlePostReadFile):
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::invalidateRect):
+ (WebCore::PluginView::init):
+
+2009-06-02 Darin Adler <darin@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Bug 26112: viewless WebKit -- make events work
+ https://bugs.webkit.org/show_bug.cgi?id=26112
+
+ The main fix here is to make mouse and wheel event coordinates in the coordinate
+ system of the top level NSView rather than the NSWindow when in the viewless mode.
+ This is the design Hyatt chose, but the event part of it wasn't done yet.
+
+ Also fix FrameView to do normal reference counting instead of a strange model with
+ an explicit deref near creation time.
+
+ * WebCore.base.exp: Updated.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::eventLoopHandleMouseUp): Moved this function into the file
+ to reduce conditionals in the header.
+ (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
+
+ * page/EventHandler.h: Reduced includes. Fixed formatting of Objective-C types.
+ Made currentNSEvent a static member function. Added sendContextMenuEvent and
+ eventMayStartDrag functions that takes NSEvent * so the conversion to PlatformMouseEvent
+ can be done here rather than in WebKit. Reduced #if by making eventLoopHandleMouseUp and
+ eventLoopHandleMouseDragged unconditional.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setView): Made this take a PassRefPtr since it takes ownership.
+ (WebCore::Frame::createView): Changed to use RefPtr and FrameView::create and remove
+ the explicit deref.
+
+ * page/Frame.h: Changed setView to take a PassRefPtr.
+
+ * page/FrameTree.cpp: Added newly-needed include.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView): Got rid of one of the two constructors, and removed
+ the initialization of m_refCount and call to show from the reamining one.
+ (WebCore::FrameView::create): Added two create functions that do what the two
+ constructors did before, except that they return a PassRefPtr to make sure the
+ reference counting is handled correctly.
+ (WebCore::FrameView::~FrameView): Removed assertion from when FrameView implemented
+ its own reference counting.
+
+ * page/FrameView.h: Inherit from RefCounted for reference counting. Made the
+ constructor private and added create functions. Got rid of the hand-implemented
+ reference counting in this class.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::currentNSEventSlot): Renamed currentEvent to currentNSEventSlot to
+ make it more clear how it relates to currentNSEvent.
+ (WebCore::EventHandler::currentNSEvent): Updated.
+ (WebCore::CurrentEventScope::CurrentEventScope): Added. Use to set/reset the
+ current event in a foolproof way.
+ (WebCore::CurrentEventScope::~CurrentEventScope): Ditto.
+ (WebCore::EventHandler::wheelEvent): Use CurrentEventScope. Pass the platform
+ window in when constructing the PlatformWheelEvent.
+ (WebCore::EventHandler::keyEvent): Use CurrentEventScope.
+ (WebCore::lastEventIsMouseUp): Use currentNSEvent.
+ (WebCore::EventHandler::passMouseDownEventToWidget): Ditto.
+ (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
+ (WebCore::EventHandler::eventLoopHandleMouseUp): Ditto.
+ (WebCore::EventHandler::passSubframeEventToSubframe): Use
+ currentPlatformMouseEvent to get a mouse event that has the appropriate
+ platform window passed to create it.
+ (WebCore::EventHandler::passWheelEventToWidget): Ditto.
+ (WebCore::EventHandler::mouseDown): Ditto.
+ (WebCore::EventHandler::mouseDragged): Ditto.
+ (WebCore::EventHandler::mouseUp): Ditto.
+ (WebCore::EventHandler::mouseMoved): Ditto.
+ (WebCore::EventHandler::currentPlatformMouseEvent): Added. Passes the
+ platform window that's now needed to create a PlatformMouseEvent.
+ (WebCore::EventHandler::sendContextMenuEvent): Added.
+ (WebCore::EventHandler::eventMayStartDrag): Added.
+
+ * platform/HostWindow.h: Removed unneeded includes and constructor definition.
+
+ * platform/PlatformMouseEvent.h: Sorted things in alphabetical order.
+ Changed Mac constructor to take a windowView as well as the event. This is
+ needed in viewless mode, since the "window" is actually an NSView, so the
+ event has to know which view to compute the coordinates with. Made the
+ same change to pointForEvent.
+ * platform/PlatformWheelEvent.h: Ditto.
+
+ * platform/mac/PlatformMouseEventMac.mm:
+ (WebCore::pointForEvent): Convert point from window coordinates to view
+ coordinates if a windowView is passed in. This is used in viewless mode.
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent): Ditto.
+ * platform/mac/WheelEventMac.mm:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent): Ditto.
+
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertFromContainingWindow): Fixed case where there
+ is no platform widget and no parent. Before it would yield unpredictable
+ results because of dispatching to a nil object and returning a structure.
+ Now it returns the point without changing coordinates at all, which is what
+ we need for this case in viewless mode.
+
+ * rendering/RenderApplet.cpp: Removed unneeded includes.
+ (WebCore::RenderApplet::intrinsicSize): Use widget function.
+ (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
+
+ * rendering/RenderApplet.h: Make more things private. Get rid of unneeded
+ explicit destructor.
+
+ * rendering/RenderFrame.cpp: Removed unneeded includes.
+ (WebCore::RenderFrame::edgeInfo): Updated to use node function so header
+ doesn't have to define element function.
+ (WebCore::RenderFrame::viewCleared): Ditto. Also changed to use widget
+ function.
+
+ * rendering/RenderFrame.h: Removed unneeded includes. Made some things
+ private. Got rid of element function.
+
+ * rendering/RenderPart.cpp: Removed unneeded includes.
+ (WebCore::RenderPart::~RenderPart): Changed to use clearWidget function.
+ (WebCore::RenderPart::setWidget): Changed to use widget function.
+ (WebCore::RenderPart::deleteWidget): Changed to use passed-in widget.
+ This is now only called by the clearWidget function.
+
+ * rendering/RenderPart.h: Removed unneeded forward declarations.
+ Made more functions private. Updated deleteWidget to take widget argument.
+
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::~RenderPartObject): use frameView function
+ instead of getting at m_view directly.
+ (WebCore::RenderPartObject::updateWidget): Ditto.
+ (WebCore::RenderPartObject::layout): Ditto. Same for widget and m_widget.
+ (WebCore::RenderPartObject::viewCleared): Ditto.
+
+ * rendering/RenderPartObject.h: Made some functions private.
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::RenderWidget): Initialize m_frameView with
+ construction syntax instead of assignment.
+ (WebCore::RenderWidget::destroy): Updated for name change of m_view
+ to m_frameView.
+ (WebCore::RenderWidget::~RenderWidget): Use clearWidget to delete
+ the widget.
+ (WebCore::RenderWidget::setWidget): Use clearWidget.
+ (WebCore::RenderWidget::paint): Updated for name change of m_view
+ to m_frameView.
+ (WebCore::RenderWidget::deleteWidget): Changed to use passed-in widget.
+
+ * rendering/RenderWidget.h: Made many functions protected, others
+ private and made all data members private.
+
+ * svg/animation/SMILTime.h: Removed unhelpful max and min functions. These
+ just do what std::max and std::min will already do automatically for this
+ type, so they are not helpful.
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::SVGImage): Removed unneeded initial values for types
+ that initialize to zero without anything explicit.
+ (WebCore::SVGImage::~SVGImage): Update since m_frame and m_frameView are
+ no longer stored.
+ (WebCore::SVGImage::setContainerSize): Ditto.
+ (WebCore::SVGImage::usesContainerSize): Ditto.
+ (WebCore::SVGImage::size): Ditto.
+ (WebCore::SVGImage::hasRelativeWidth): Ditto.
+ (WebCore::SVGImage::hasRelativeHeight): Ditto.
+ (WebCore::SVGImage::draw): Ditto.
+ (WebCore::SVGImage::nativeImageForCurrentFrame): Ditto.
+ (WebCore::SVGImage::dataChanged): Ditto.
+
+ * svg/graphics/SVGImage.h: Removed unneeded includes and unneeded data
+ members m_document, m_frame, m_frameView, and m_minSize.
+
+2009-06-02 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ The previous code was assuming that we'll be painting buttons on the scrollbar
+ which isn't true on Linux. To reproduce, resize a page with scrollbars until
+ they are less than two widths high.
+
+ This will need pixel test baselines to be updated in the Chromium tree.
+
+ * platform/chromium/ScrollbarThemeChromium.cpp: move this function...
+ * platform/chromium/ScrollbarThemeChromiumWin.cpp:
+ (WebCore::ScrollbarThemeChromium::trackRect): ... to here
+ * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+ (WebCore::ScrollbarThemeChromium::trackRect): add an alternative which
+ doesn't remove the track when the scrollbar is less than two widths
+ high.
+
+2009-06-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
+
+ * Configurations/Base.xcconfig:
+
+2009-06-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Insert*List on an stand-alone image in a content editable region ASSERTS
+ ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove)
+ https://bugs.webkit.org/show_bug.cgi?id=19066
+
+ Attempt to fix this by noticing that we inserted the list inside
+ the selection which includes the image, and re-adjust the selection
+ to not include the list before trying to move the image into
+ the list item.
+
+ Test: editing/execCommand/list-wrapping-image-crash.html
+
+ * editing/InsertListCommand.cpp:
+ (WebCore::InsertListCommand::doApply):
+
+2009-06-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Rename PositionIterator members in hope of further clarity
+ https://bugs.webkit.org/show_bug.cgi?id=24854
+
+ Rename m_parent to m_anchorNode (since although it's always the parent
+ of the previous m_child member, it is not always the parent of the effective position)
+ Rename m_child to m_nodeAfterPositionInAnchor to make clear that it's the node
+ directly following the position. This member is often NULL, but is always
+ a child of m_parent, now m_anchorNode if set.
+ Rename m_offset to m_offsetInAnchor (since it's interpreted relative to m_anchorNode)
+
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::operator Position):
+ (WebCore::PositionIterator::increment):
+ (WebCore::PositionIterator::decrement):
+ (WebCore::PositionIterator::atStart):
+ (WebCore::PositionIterator::atEnd):
+ (WebCore::PositionIterator::atStartOfNode):
+ (WebCore::PositionIterator::atEndOfNode):
+ (WebCore::PositionIterator::isCandidate):
+ * dom/PositionIterator.h:
+ (WebCore::PositionIterator::PositionIterator):
+ (WebCore::PositionIterator::node):
+ (WebCore::PositionIterator::offsetInLeafNode):
+
+2009-06-02 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 17167: Failures in fast/dom/Node/initial-values.html
+
+ This partly solve a compatibility issue with other browsers. It will also
+ make us more consistent while handling XHTML element.
+
+ The issue is that when we create an XHTML element inside an HTML document
+ (as it is the case when calling createElementNS), we default to the HTML
+ behaviour in nodeName. As we cannot test if an HTMLElement is an XHTML
+ element, our fix is to check whether it has a prefix and then default
+ to XML behaviour for nodeName.
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::nodeName): Add a prefix check before
+ returning the uppercase tagName (HTML behaviour).
+
+2009-06-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add a compareBoundaryPoints which takes RangeBoundaryPoints
+ https://bugs.webkit.org/show_bug.cgi?id=25500
+
+ I noticed the need for this function when removing compareBoundaryPoints(Position, Position)
+ This patch is almost entirely minus lines.
+
+ No functional changes, thus no tests.
+
+ * dom/Range.cpp:
+ (WebCore::Range::setStart):
+ (WebCore::Range::setEnd):
+ (WebCore::Range::compareBoundaryPoints):
+ (WebCore::Range::boundaryPointsValid):
+ * dom/Range.h:
+
+2009-06-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056
+ https://bugs.webkit.org/show_bug.cgi?id=25500
+
+ Darin indicated the Range should deal only with primitive DOM node/offset
+ pairs, and that Position (which is a more robust editing construct) should have
+ its own comparison functions and that Range.h should not mention Position at all.
+
+ Turns out that Position already has a comparePositions() function (which knows
+ how to additionally handled positions in shadow trees). So I've just changed
+ all callers of compareBoundaryPoints(Position, Position) to use the existing
+ comparePositions() function. I've also added a comparePositions which takes
+ VisiblePositions for convenience.
+
+ * dom/Range.cpp:
+ * dom/Range.h:
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::updateStartEnd):
+ (WebCore::ApplyStyleCommand::applyBlockStyle):
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
+ (WebCore::ApplyStyleCommand::applyInlineStyle):
+ (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
+ (WebCore::ApplyStyleCommand::removeInlineStyle):
+ (WebCore::ApplyStyleCommand::nodeFullySelected):
+ (WebCore::ApplyStyleCommand::nodeFullyUnselected):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::deleteInsignificantText):
+ (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
+ (WebCore::CompositeEditCommand::moveParagraphs):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::initializeStartEnd):
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete):
+ (WebCore::DeleteSelectionCommand::mergeParagraphs):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::nodeWillBeRemoved):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::toNormalizedRange):
+ * editing/htmlediting.cpp:
+ (WebCore::comparePositions):
+ * editing/htmlediting.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+
+2009-06-02 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26122
+ Upstream v8_utility.h functions into V8Utilities.h. This patch has
+ some transitional code to make upstreaming easier. This code will
+ be deleted in a few days.
+
+ * bindings/v8/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::construct): NewInstance -> newInstance.
+ * bindings/v8/V8Utilities.h:
+ (WebCore::AllowAllocation::AllowAllocation): Function added.
+ (WebCore::AllowAllocation::~AllowAllocation): Function added.
+ (WebCore::SafeAllocation::NewInstance): Function added.
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+ NewInstance -> newInstance.
+ (WebCore::WorkerContextExecutionProxy::toV8): NewInstance ->
+ newInstance.
+
+2009-06-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - fix <rdar://problem/6940747> Search field’s focus ring is outset
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused
+ search field outline offset to -2.
+
+2009-06-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add list of unimplemented event handlers to DOMWindow.
+
+ * page/DOMWindow.idl:
+
+2009-06-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26133
+ Adapt and import py-dom-xpath tests
+
+ Tests: fast/xpath/py-dom-xpath/abbreviations.html
+ fast/xpath/py-dom-xpath/axes.html
+ fast/xpath/py-dom-xpath/data.html
+ fast/xpath/py-dom-xpath/expressions.html
+ fast/xpath/py-dom-xpath/functions.html
+ fast/xpath/py-dom-xpath/nodetests.html
+ fast/xpath/py-dom-xpath/paths.html
+ fast/xpath/py-dom-xpath/predicates.html
+
+ Fix bugs found with this test suite:
+ - name and local-name were incorrect for processing instructions (XPath expanded-name
+ doesn't match DOM exactly);
+ - name, local-name and namespace functions should crash on attribute nodes;
+ - attemps to make node sets from other types were not detected as errors.
+
+ No performance impact.
+
+ * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation.
+ An error won't stop evaluation, but an exception will be raised afterwards. We could also
+ detect conversion errors at compile time, but not if we're going to support XPath variables
+ (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own
+ XSLT one day).
+
+ * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type
+ conversion exception occurred during evaluation, and raise an excpetion if it did.
+
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::expandedNameLocalPart):
+ (WebCore::XPath::expandedName):
+ XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name,
+ which doesn't match anything available via DOM exactly. Calculate the expanded name properly.
+ (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an
+ attribute node, because it released what was possibly the only reference to attribute node
+ before using it. Changed the function to avoid such situation.
+ (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart()
+ to work properly with processing instruction nodes.
+ (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()).
+ (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set
+ (by using toNodeSet unconditionally, which will raise an error, and return an empty set).
+
+ * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression
+ evaluation result is not a node-set.
+
+ * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually
+ always a node-set (this is not so for FilterExpr production in the spec, but is for us,
+ because we don't naively map BNF productions to classes).
+
+ * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side
+ is not a node-set.
+
+ * xml/XPathStep.cpp: Removed an unnecesary include.
+
+ * xml/XPathValue.cpp:
+ (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails.
+ (WebCore::XPath::Value::modifiableNodeSet): Ditto.
+ (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production
+ (in particular, those using exponential notation).
+
+2009-06-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Part of https://bugs.webkit.org/show_bug.cgi?id=26100
+ Add missing event handler properties to the DOMWindow
+
+ Added oncontextmenu, oninput, and onmessage event handlers to
+ the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
+ and onsuspend event handlers were implemented but not added to
+ DOMWindow.idl.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::oninput):
+ (WebCore::DOMWindow::setOninput):
+ (WebCore::DOMWindow::onmessage):
+ (WebCore::DOMWindow::setOnmessage):
+ (WebCore::DOMWindow::oncontextmenu):
+ (WebCore::DOMWindow::setOncontextmenu):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2009-06-01 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Adler. Landed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26123
+
+ Remove a redundant checkEncodedString call when constructing a
+ KURL object from a string.
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::KURL):
+
+2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340
+ Bad Dimitri.
+
+ * platform/KeyboardCodes.h: Repositioned the guard to avoid nested
+ WebCore namespace declarations.
+
+2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h
+ with a stern FIXME.
+ * platform/chromium/KeyboardCodes.h: Removed.
+
+2009-06-01 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix assertion error in --filters enabled debug builds.
+ Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects.
+
+ * svg/graphics/filters/SVGFilterBuilder.cpp:
+ (WebCore::SVGFilterBuilder::SVGFilterBuilder):
+ (WebCore::SVGFilterBuilder::add):
+ (WebCore::SVGFilterBuilder::getEffectById):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+
+2009-06-01 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix --filters enabled build on Mac.
+ Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method.
+ Kill several warnings, to make build pass.
+
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::paint):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::paint):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paint):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
+ * svg/graphics/filters/SVGFEFlood.cpp:
+ (WebCore::FEFlood::FEFlood):
+
+2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ Fix Chromium build by adding an #ifdef, restoring the code path to that
+ before http://trac.webkit.org/changeset/44287.
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint): Added an #ifdef.
+
+2009-06-01 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Remove last pieces of the old SVG filter system. They are not
+ usable with our current filter system. The new filter effects
+ will replace the functionality step by step.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * svg/graphics/cairo: Removed.
+ * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Removed.
+ * svg/graphics/cg: Removed.
+ * svg/graphics/cg/SVGResourceFilterCg.cpp: Removed.
+ * svg/graphics/cg/SVGResourceFilterCg.mm: Removed.
+ * svg/graphics/filters/SVGFilterEffect.cpp: Removed.
+ * svg/graphics/filters/SVGFilterEffect.h: Removed.
+ * svg/graphics/filters/cg: Removed.
+ * svg/graphics/filters/cg/SVGFEHelpersCg.h: Removed.
+ * svg/graphics/filters/cg/SVGFEHelpersCg.mm: Removed.
+ * svg/graphics/filters/cg/SVGFilterEffectCg.mm: Removed.
+ * svg/graphics/filters/cg/WKArithmeticFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKArithmeticFilter.h: Removed.
+ * svg/graphics/filters/cg/WKArithmeticFilter.m: Removed.
+ * svg/graphics/filters/cg/WKComponentMergeFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKComponentMergeFilter.h: Removed.
+ * svg/graphics/filters/cg/WKComponentMergeFilter.m: Removed.
+ * svg/graphics/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: Removed.
+ * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: Removed.
+ * svg/graphics/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: Removed.
+ * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: Removed.
+ * svg/graphics/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKDisplacementMapFilter.h: Removed.
+ * svg/graphics/filters/cg/WKDisplacementMapFilter.m: Removed.
+ * svg/graphics/filters/cg/WKDistantLightFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKDistantLightFilter.h: Removed.
+ * svg/graphics/filters/cg/WKDistantLightFilter.m: Removed.
+ * svg/graphics/filters/cg/WKGammaTransferFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKGammaTransferFilter.h: Removed.
+ * svg/graphics/filters/cg/WKGammaTransferFilter.m: Removed.
+ * svg/graphics/filters/cg/WKIdentityTransferFilter.h: Removed.
+ * svg/graphics/filters/cg/WKIdentityTransferFilter.m: Removed.
+ * svg/graphics/filters/cg/WKLinearTransferFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKLinearTransferFilter.h: Removed.
+ * svg/graphics/filters/cg/WKLinearTransferFilter.m: Removed.
+ * svg/graphics/filters/cg/WKNormalMapFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKNormalMapFilter.h: Removed.
+ * svg/graphics/filters/cg/WKNormalMapFilter.m: Removed.
+ * svg/graphics/filters/cg/WKPointLightFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKPointLightFilter.h: Removed.
+ * svg/graphics/filters/cg/WKPointLightFilter.m: Removed.
+ * svg/graphics/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Removed.
+ * svg/graphics/filters/cg/WKSpecularLightingFilter.m: Removed.
+ * svg/graphics/filters/cg/WKSpotLightFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKSpotLightFilter.h: Removed.
+ * svg/graphics/filters/cg/WKSpotLightFilter.m: Removed.
+ * svg/graphics/filters/cg/WKTableTransferFilter.cikernel: Removed.
+ * svg/graphics/filters/cg/WKTableTransferFilter.h: Removed.
+ * svg/graphics/filters/cg/WKTableTransferFilter.m: Removed.
+ * svg/graphics/mac: Removed.
+ * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: Removed.
+ * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
+ * svg/graphics/qt: Removed.
+ * svg/graphics/qt/SVGResourceFilterQt.cpp: Removed.
+ * svg/graphics/skia: Removed.
+ * svg/graphics/skia/SVGResourceFilterSkia.cpp: Removed.
+
+2009-06-01 Dmitry Titov <dimich@chromium.org>
+
+ Fix the previous checkin (ttp://trac.webkit.org/changeset/44327).
+ This adds a comment suggested during review.
+
+ * platform/ThreadGlobalData.cpp:
+ (WebCore::ThreadGlobalData::~ThreadGlobalData): Add comment clarifying the change.
+
+2009-06-01 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25973
+ Avoid calling CurrentThread() in thread-specific destructors in OSX Chromium.
+ Pthreads invoke thread-specific destructors after WTF::detachThread() is called and ThreadIdentifier
+ for the thread removed from the WTF thread map. Calling CurrentThread() in such destructor causes
+ the ThreadIdentifier to be re-created and inserted into the map again. Since Pthreads on OSX reuse
+ the pthread_t between threads, the next created thread will have the same pthread_t and cause an assert
+ in establishIdentifierForPthreadHandle() since the id is already in the map.
+
+ The behavior is covered by existing test LayoutTests/fast/workers/worker-terminate.html, which currently fails
+ on OSX Chromium and will stop failing after this change.
+
+ * platform/ThreadGlobalData.h:
+ * platform/ThreadGlobalData.cpp:
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ Store the result of "isMainThread()" in a member variable during construction of thread-specific data
+ to avoid calling IsMainThread() in destructor, since the latter calls CurrentThread() in OSX Chromium.
+
+2009-06-01 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Alder and Maciej Stachowiak.
+
+ Bug 26057: StringImpl should share buffers with UString.
+ https://bugs.webkit.org/show_bug.cgi?id=26057
+
+ This change results in the following performance improvements:
+ On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html
+ the time went from 78ms to 40ms for append (other times remained constant).
+
+ On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/002.html,
+ the time went from 3900ms to 2600ms.
+
+ For http://dromaeo.com/?dom, the time for DomModification improved by ~6%.
+ Other tests in dom seemed to be faster across several runs but within the
+ margin of error (except DOM Attributes which was slightly ~1.5% worse).
+
+ Existing tests cover this code and there is no new functionality
+ that is exposed to test.
+
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::add):
+ * platform/text/String.cpp:
+ (WebCore::String::String):
+ (WebCore::String::operator UString):
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::StringImpl):
+ (WebCore::StringImpl::~StringImpl):
+ (WebCore::StringImpl::create): Consumes a shared buffer.
+ (WebCore::StringImpl::ustring): Shares the StringImpl's buffer with the UString.
+ (WebCore::StringImpl::sharedBuffer): Exposes the buffer that may be shared.
+ * platform/text/StringImpl.h:
+ (WebCore::StringImpl::hasTerminatingNullCharacter):
+ (WebCore::StringImpl::inTable):
+ (WebCore::StringImpl::setInTable): Converted the bools to be inside of PtrAndFlags
+ to avoid growing StringImpl in size.
+
+2009-06-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ V8 bindings follow-up to to DOMWindow-related cleanup:
+ http://trac.webkit.org/changeset/44215
+
+ * bindings/v8/ScriptController.cpp: Removed disconnectFrame(), relocated
+ its body to destructor.
+ * bindings/v8/ScriptController.h: Removed disconnectFrame() decl.
+
+2009-05-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ - Add panel enabler to the resources panel.
+ - Add session / always options into the panel enabler.
+ - Make enabled status for three panels sticky (globally).
+ - Persist enabled status using InspectorController::Settings
+ - Make InspectorController produce no network-related overhead when
+ resources panel is not enabled.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26046
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::populateScriptObjects):
+ (WebCore::InspectorController::identifierForInitialRequest):
+ (WebCore::InspectorController::willSendRequest):
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didReceiveContentLength):
+ (WebCore::InspectorController::didFinishLoading):
+ (WebCore::InspectorController::didFailLoading):
+ (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
+ (WebCore::InspectorController::scriptImported):
+ (WebCore::InspectorController::enableResourceTracking):
+ (WebCore::InspectorController::disableResourceTracking):
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::enableProfiler):
+ (WebCore::InspectorController::disableProfiler):
+ (WebCore::InspectorController::enableDebugger):
+ (WebCore::InspectorController::disableDebugger):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::Setting::Setting):
+ (WebCore::InspectorController::resourceTrackingEnabled):
+ * inspector/InspectorController.idl:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::resourceTrackingWasEnabled):
+ (WebCore::InspectorFrontend::resourceTrackingWasDisabled):
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/PanelEnablerView.js:
+ (WebInspector.PanelEnablerView.enableOption):
+ (WebInspector.PanelEnablerView):
+ (WebInspector.PanelEnablerView.prototype._windowResized):
+ (WebInspector.PanelEnablerView.prototype.alwaysWasChosen):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._enableProfiling):
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype.get statusBarItems):
+ (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
+ (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
+ (WebInspector.ResourcesPanel.prototype.reset):
+ (WebInspector.ResourcesPanel.prototype._updateSidebarWidth):
+ (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
+ (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._enableDebugging):
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.js:
+ (WebInspector.resourceTrackingWasEnabled):
+ (WebInspector.resourceTrackingWasDisabled):
+
+2009-06-01 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Darin Adler. Landed (and tweaked) by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25902
+
+ Added WorkerContext.close()
+
+ Test: fast/workers/worker-close.html
+
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::close):
+ * workers/WorkerContext.h:
+ * workers/WorkerContext.idl:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
+
+2009-06-01 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=12471
+ XPathResult not invalidated for documents retrieved via XMLHttpRequest
+
+ Test: fast/xpath/detached-subtree-invalidate-iterator.html and existing tests in dom/svg/level3/xpath.
+
+ Use DOM tree version instead of DOMSubtreeModified events to invalidate, which is more
+ reliable and much faster.
+
+ * xml/XPathExpression.cpp:
+ (WebCore::XPathExpression::evaluate):
+ * xml/XPathResult.cpp:
+ (WebCore::XPathResult::XPathResult):
+ (WebCore::XPathResult::~XPathResult):
+ (WebCore::XPathResult::invalidIteratorState):
+ (WebCore::XPathResult::iterateNext):
+ * xml/XPathResult.h:
+ (WebCore::XPathResult::create):
+
+2009-06-01 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Darin Adler. Landed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25750
+
+ Test: fast/transforms/bounding-rect-zoom.html
+
+ Make getClientRects and getBoundingClientRect account for ther zoom
+ factor.
+
+ * dom/Element.cpp:
+ (WebCore::adjustFloatPointForAbsoluteZoom):
+ (WebCore::adjustFloatQuadForAbsoluteZoom):
+ (WebCore::adjustIntRectForAbsoluteZoom):
+ (WebCore::Element::getClientRects):
+ (WebCore::Element::getBoundingClientRect):
+
+2009-06-01 Tony Chang <tony@chromium.org>
+
+ Reviewed by Dimitri Glazkov. Landed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26026
+
+ Fix an infinite loop when using the keyboard in Chromium select
+ popups.
+
+ Not testable since it involves sending a keyboard event to
+ the popup, which is not possible (eventSender sends the key
+ events through webview, we want to go through the webwidget).
+
+ * platform/chromium/PopupMenuChromium.cpp:
+
+2009-06-01 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov. Landed by Adam Barth.
+
+ If a url with an anchor is being loaded, ensure that the anchor remains locked in view until the page
+ has finished loading compeltely or the user has manually scrolled. Refreshing an anchor url after
+ scrolling to a new location on the page will still result in jumping to the new location.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26034
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::gotoAnchor): Set anchor lock after navigating to anchor.
+ (WebCore::FrameLoader::completed): Release anchor lock.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView): Ensure anchor lock starts unset.
+ (WebCore::FrameView::reset): Ensure anchor lock starts unset.
+ (WebCore::FrameView::layout): If anchor lock is set, force a gotoAnchor() after layout.
+ (WebCore::FrameView::scrollRectIntoViewRecursively): Release anchor lock if a programmatic scroll begins.
+ (WebCore::FrameView::setWasScrolledByUser): Release anchor lock if user manually scrolls.
+ (WebCore::FrameView::setScrollPosition): Release anchor lock if a programmatic scroll begins.
+ * page/FrameView.h:
+ (WebCore::FrameView::lockedToAnchor): Added.
+ (WebCore::FrameView::setLockedToAnchor): Added.
+
+2009-05-31 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ WebKit needs cross-platform filter system
+ [https://bugs.webkit.org/show_bug.cgi?id=19991]
+
+ A short clean-up. FilterBuilder is SVG specific. Move it
+ to svg/graphics/filters and rename it to SVGFilterBuilder.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * svg/FilterBuilder.cpp: Removed.
+ * svg/FilterBuilder.h: Removed.
+ * svg/SVGFilterElement.cpp:
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ * svg/graphics/SVGResourceFilter.cpp:
+ (WebCore::SVGResourceFilter::SVGResourceFilter):
+ * svg/graphics/SVGResourceFilter.h:
+ (WebCore::SVGResourceFilter::builder):
+ * svg/graphics/filters/SVGFilterBuilder.cpp: Added.
+ (WebCore::SVGFilterBuilder::SVGFilterBuilder):
+ (WebCore::SVGFilterBuilder::add):
+ (WebCore::SVGFilterBuilder::getEffectById):
+ (WebCore::SVGFilterBuilder::clearEffects):
+ * svg/graphics/filters/SVGFilterBuilder.h: Added.
+ (WebCore::SVGFilterBuilder::lastEffect):
+
+2009-05-31 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=13233
+ Need to implement an optimizing XPath evaluator
+
+ Avoid sorting results of hierarchical paths that are naturally sorted. On a flat data structure
+ with 128K nodes and a simple XPath expression, this changes evaluation time from 1.5 minutes
+ to 33 ms.
+
+ * xml/XPathNodeSet.h: Keep track of whether subtrees rooted at nodes in set are disjoint,
+ which is useful for optimization.
+ (WebCore::XPath::NodeSet::NodeSet): Removed, it was identical to compiler generated one.
+ (WebCore::XPath::NodeSet::operator=): Ditto.
+ (WebCore::XPath::NodeSet::swap): Ditto.
+ (WebCore::XPath::NodeSet::isSorted): Single element sets are always sorted, even if sort()
+ was never called.
+ (WebCore::XPath::NodeSet::markSubtreesDisjoint): Just like being sorted, the new flag is
+ maintained by callers.
+ (WebCore::XPath::NodeSet::subtreesAreDisjoint): A single element set only has one subtree.
+ Currently, the only way for a set to gain this flag is to be produced from a single element
+ set with a hierarchical location path.
+
+ * xml/XPathPath.cpp: (WebCore::XPath::LocationPath::evaluate): Use the new flag to avoid
+ maintaining a set of unique nodes, and to avoid sorting the result.
+
+2009-05-31 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=13233
+ Need to implement an optimizing XPath evaluator
+
+ This patch adds some infrastructure and simple optimizations. Namely,
+ - we now avoid building a full NodeSet just to evaluate a predicate in some cases;
+ - "/descendant-or-self::node()/child::" is optimized to iterate the tree once when possible;
+
+ * xml/XPathExpressionNode.cpp:
+ (WebCore::XPath::Expression::Expression):
+ * xml/XPathExpressionNode.h:
+ (WebCore::XPath::Expression::addSubExpression):
+ (WebCore::XPath::Expression::isContextNodeSensitive):
+ (WebCore::XPath::Expression::isContextPositionSensitive):
+ (WebCore::XPath::Expression::isContextSizeSensitive):
+ (WebCore::XPath::Expression::setIsContextNodeSensitive):
+ (WebCore::XPath::Expression::setIsContextPositionSensitive):
+ (WebCore::XPath::Expression::setIsContextSizeSensitive):
+ XPath expression now knows its result type, and whether evaluation depends on context.
+
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::FunLast::resultType):
+ (WebCore::XPath::FunLast::FunLast):
+ (WebCore::XPath::FunPosition::resultType):
+ (WebCore::XPath::FunPosition::FunPosition):
+ (WebCore::XPath::FunCount::resultType):
+ (WebCore::XPath::FunId::resultType):
+ (WebCore::XPath::FunLocalName::resultType):
+ (WebCore::XPath::FunLocalName::FunLocalName):
+ (WebCore::XPath::FunNamespaceURI::resultType):
+ (WebCore::XPath::FunNamespaceURI::FunNamespaceURI):
+ (WebCore::XPath::FunName::resultType):
+ (WebCore::XPath::FunName::FunName):
+ (WebCore::XPath::FunString::resultType):
+ (WebCore::XPath::FunString::FunString):
+ (WebCore::XPath::FunConcat::resultType):
+ (WebCore::XPath::FunStartsWith::resultType):
+ (WebCore::XPath::FunContains::resultType):
+ (WebCore::XPath::FunSubstringBefore::resultType):
+ (WebCore::XPath::FunSubstringAfter::resultType):
+ (WebCore::XPath::FunSubstring::resultType):
+ (WebCore::XPath::FunStringLength::resultType):
+ (WebCore::XPath::FunStringLength::FunStringLength):
+ (WebCore::XPath::FunNormalizeSpace::resultType):
+ (WebCore::XPath::FunNormalizeSpace::FunNormalizeSpace):
+ (WebCore::XPath::FunTranslate::resultType):
+ (WebCore::XPath::FunBoolean::resultType):
+ (WebCore::XPath::FunNot::resultType):
+ (WebCore::XPath::FunTrue::resultType):
+ (WebCore::XPath::FunFalse::resultType):
+ (WebCore::XPath::FunLang::resultType):
+ (WebCore::XPath::FunLang::FunLang):
+ (WebCore::XPath::FunNumber::resultType):
+ (WebCore::XPath::FunNumber::FunNumber):
+ (WebCore::XPath::FunSum::resultType):
+ (WebCore::XPath::FunFloor::resultType):
+ (WebCore::XPath::FunCeiling::resultType):
+ (WebCore::XPath::FunRound::resultType):
+ (WebCore::XPath::Function::setArguments):
+ Set optimization details for the expression. Normally, a function does not introduce context
+ node set dependency, but some use context node as default argument, or otherwise use the context.
+
+ * xml/XPathFunctions.h: Tweaked style.
+
+ * xml/XPathPath.cpp:
+ (WebCore::XPath::Filter::Filter): A filter is as context node set sensitive as its expression is.
+ (WebCore::XPath::LocationPath::LocationPath): A location path can only be context node sensitive,
+ and only if the path relative.
+ (WebCore::XPath::LocationPath::appendStep): Invoke compile-time Step optimizations.
+ (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
+ (WebCore::XPath::Path::Path): A path is as context node set sensitive as its filter is.
+
+ * xml/XPathPath.h:
+ (WebCore::XPath::Filter::resultType): Result type of a filter is the same as of its expression
+ (useful filters return NodeSets, of course).
+ (WebCore::XPath::LocationPath::setAbsolute): An absolute location path if context node set
+ insensitive.
+ (WebCore::XPath::LocationPath::resultType): A path's result is always a node set.
+ (WebCore::XPath::Path::resultType): Ditto.
+
+ * xml/XPathPredicate.h:
+ (WebCore::XPath::Number::resultType): Return a proper result type.
+ (WebCore::XPath::StringExpression::resultType): Ditto.
+ (WebCore::XPath::Negative::resultType): Ditto.
+ (WebCore::XPath::NumericOp::resultType): Ditto.
+ (WebCore::XPath::EqTestOp::resultType): Ditto.
+ (WebCore::XPath::LogicalOp::resultType): Ditto.
+ (WebCore::XPath::Union::resultType): Ditto.
+ (WebCore::XPath::Predicate::isContextPositionSensitive): A predicate can be context position
+ sensitive even if its expression is not, because e.g. [5] is a shortcut for [position()=5].
+ (WebCore::XPath::Predicate::isContextSizeSensitive): This matches expression result.
+
+ * xml/XPathStep.h:
+ (WebCore::XPath::Step::NodeTest::Kind): Removed unused ElementNodeTest, which was previously
+ borrowed from XPath 2.0 to express some optimizations.
+ (WebCore::XPath::Step::NodeTest::mergedPredicates): To avoid building a huge node set and
+ filtering it with predicates, we now try to apply predicates while enumerating an axis.
+ (WebCore::XPath::Step::nodeTest): Expose m_nodeTest.
+
+ * xml/XPathStep.cpp:
+ (WebCore::XPath::Step::~Step): The step owns NodeTest merged predicates, so it is still
+ possible to copy NodeTests.
+ (WebCore::XPath::Step::optimize): Merge predicates into NodeTest if possible.
+ (WebCore::XPath::optimizeStepPair): Optimize some expressions containing "//".
+ (WebCore::XPath::Step::predicatesAreContextListInsensitive): The above optimization is only
+ possible if there are no context sensitive predicates for "//".
+ (WebCore::XPath::Step::evaluate): Track context position for the first merged predicate.
+ (WebCore::XPath::nodeMatchesBasicTest): Check whether the node matches node test, ignoring
+ merged predicates.
+ (WebCore::XPath::nodeMatches): Additionally check merged predicates, and update position.
+ (WebCore::XPath::Step::nodesInAxis): Check merged predicates in optimized attribute code
+ path.
+
+ * xml/XPathVariableReference.h: (WebCore::XPath::VariableReference::resultType): Variable
+ references are not used with XPathEvaluator, so we'll only need them if we decide to
+ reimplement XSLT. The type of variable reference is not known at compile time.
+
+2009-05-31 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Remove unused JSEventTargetBase.h
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventTargetBase.h: Removed.
+
+2009-05-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Part of https://bugs.webkit.org/show_bug.cgi?id=26100
+ Add missing event handler properties to the DOMWindow
+
+ Add missing oncanplay, oncanplaythrough, ondurationchange, onemptied,
+ onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying,
+ onratechange, onseeked, onseeking, ontimeupdate, onvolumechange,
+ onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag,
+ ondragend, ondragenter, ondragleave, ondragover, ondragstart and
+ ondrop event handlers to the DOMWindow.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::ondrag):
+ (WebCore::DOMWindow::setOndrag):
+ (WebCore::DOMWindow::ondragend):
+ (WebCore::DOMWindow::setOndragend):
+ (WebCore::DOMWindow::ondragenter):
+ (WebCore::DOMWindow::setOndragenter):
+ (WebCore::DOMWindow::ondragleave):
+ (WebCore::DOMWindow::setOndragleave):
+ (WebCore::DOMWindow::ondragover):
+ (WebCore::DOMWindow::setOndragover):
+ (WebCore::DOMWindow::ondragstart):
+ (WebCore::DOMWindow::setOndragstart):
+ (WebCore::DOMWindow::ondrop):
+ (WebCore::DOMWindow::setOndrop):
+ (WebCore::DOMWindow::oncanplay):
+ (WebCore::DOMWindow::setOncanplay):
+ (WebCore::DOMWindow::oncanplaythrough):
+ (WebCore::DOMWindow::setOncanplaythrough):
+ (WebCore::DOMWindow::ondurationchange):
+ (WebCore::DOMWindow::setOndurationchange):
+ (WebCore::DOMWindow::onemptied):
+ (WebCore::DOMWindow::setOnemptied):
+ (WebCore::DOMWindow::onended):
+ (WebCore::DOMWindow::setOnended):
+ (WebCore::DOMWindow::onloadeddata):
+ (WebCore::DOMWindow::setOnloadeddata):
+ (WebCore::DOMWindow::onloadedmetadata):
+ (WebCore::DOMWindow::setOnloadedmetadata):
+ (WebCore::DOMWindow::onpause):
+ (WebCore::DOMWindow::setOnpause):
+ (WebCore::DOMWindow::onplay):
+ (WebCore::DOMWindow::setOnplay):
+ (WebCore::DOMWindow::onplaying):
+ (WebCore::DOMWindow::setOnplaying):
+ (WebCore::DOMWindow::onratechange):
+ (WebCore::DOMWindow::setOnratechange):
+ (WebCore::DOMWindow::onseeked):
+ (WebCore::DOMWindow::setOnseeked):
+ (WebCore::DOMWindow::onseeking):
+ (WebCore::DOMWindow::setOnseeking):
+ (WebCore::DOMWindow::ontimeupdate):
+ (WebCore::DOMWindow::setOntimeupdate):
+ (WebCore::DOMWindow::onvolumechange):
+ (WebCore::DOMWindow::setOnvolumechange):
+ (WebCore::DOMWindow::onwaiting):
+ (WebCore::DOMWindow::setOnwaiting):
+ (WebCore::DOMWindow::onloadstart):
+ (WebCore::DOMWindow::setOnloadstart):
+ (WebCore::DOMWindow::onprogress):
+ (WebCore::DOMWindow::setOnprogress):
+ (WebCore::DOMWindow::onstalled):
+ (WebCore::DOMWindow::setOnstalled):
+ (WebCore::DOMWindow::onsuspend):
+ (WebCore::DOMWindow::setOnsuspend):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2009-05-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Part of https://bugs.webkit.org/show_bug.cgi?id=26100
+ Add missing event handler properties to the DOMWindow
+
+ Add missing onstorage event handler to the DOMWindow.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::onstorage):
+ (WebCore::DOMWindow::setOnstorage):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2009-05-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=26110
+ Update online/offline events to match the current spec.
+ - Also adds window.ononline and window.onoffline event handler
+ properties.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::onoffline):
+ (WebCore::DOMWindow::setOnoffline):
+ (WebCore::DOMWindow::ononline):
+ (WebCore::DOMWindow::setOnonline):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ * page/Page.cpp:
+ (WebCore::networkStateChanged):
+
+2009-05-31 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ WebKit needs cross-platform filter system
+ [https://bugs.webkit.org/show_bug.cgi?id=19991]
+
+ Make use of the new filter system in WebCore for SVG. Deleted Mac bindings
+ and replace it by a platform independent code. Calculation of subRegions
+ is missing but needed for a first filter effect.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/Filter.h:
+ (WebCore::Filter::~Filter):
+ (WebCore::Filter::setSourceImage):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ * svg/FilterBuilder.h:
+ (WebCore::FilterBuilder::lastEffect):
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::SVGFEBlendElement):
+ (WebCore::SVGFEBlendElement::build):
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
+ (WebCore::SVGFEColorMatrixElement::build):
+ * svg/SVGFEColorMatrixElement.h:
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
+ (WebCore::SVGFEComponentTransferElement::build):
+ * svg/SVGFEComponentTransferElement.h:
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::SVGFECompositeElement):
+ (WebCore::SVGFECompositeElement::build):
+ * svg/SVGFECompositeElement.h:
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
+ (WebCore::SVGFEDisplacementMapElement::build):
+ * svg/SVGFEDisplacementMapElement.h:
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::SVGFEFloodElement):
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
+ (WebCore::SVGFEGaussianBlurElement::build):
+ * svg/SVGFEGaussianBlurElement.h:
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::SVGFEImageElement):
+ (WebCore::SVGFEImageElement::notifyFinished):
+ (WebCore::SVGFEImageElement::build):
+ * svg/SVGFEImageElement.h:
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::SVGFEMergeElement):
+ (WebCore::SVGFEMergeElement::build):
+ * svg/SVGFEMergeElement.h:
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
+ (WebCore::SVGFEOffsetElement::build):
+ * svg/SVGFEOffsetElement.h:
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
+ (WebCore::SVGFESpecularLightingElement::build):
+ * svg/SVGFESpecularLightingElement.h:
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::SVGFETileElement):
+ (WebCore::SVGFETileElement::build):
+ * svg/SVGFETileElement.h:
+ * svg/SVGFETurbulenceElement.cpp:
+ (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
+ (WebCore::SVGFETurbulenceElement::build):
+ * svg/SVGFETurbulenceElement.h:
+ * svg/SVGFilterElement.cpp:
+ (WebCore::SVGFilterElement::canvasResource):
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
+ * svg/graphics/SVGResourceFilter.cpp:
+ (WebCore::SVGResourceFilter::SVGResourceFilter):
+ (WebCore::SVGResourceFilter::addFilterEffect):
+ (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
+ (WebCore::SVGResourceFilter::prepareFilter):
+ (WebCore::SVGResourceFilter::applyFilter):
+ (WebCore::SVGResourceFilter::externalRepresentation):
+ * svg/graphics/SVGResourceFilter.h:
+ (WebCore::SVGResourceFilter::filterBoundingBox):
+ (WebCore::SVGResourceFilter::setFilterBoundingBox):
+ (WebCore::SVGResourceFilter::itemBoundingBox):
+ (WebCore::SVGResourceFilter::setItemBoundingBox):
+ (WebCore::SVGResourceFilter::builder):
+
+2009-05-31 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ WebKit needs cross-platform filter system
+ [https://bugs.webkit.org/show_bug.cgi?id=19991]
+
+ Adding 'in1' attribute support for <feFlood>, as specified in SVG 1.1.
+ This change helps creating test cases, once filters are activated.
+
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::SVGFEFloodElement):
+ (WebCore::SVGFEFloodElement::parseMappedAttribute):
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEFloodElement.idl:
+ * svg/graphics/filters/SVGFEFlood.cpp:
+ (WebCore::FEFlood::FEFlood):
+ (WebCore::FEFlood::create):
+ * svg/graphics/filters/SVGFEFlood.h:
+
+2009-05-31 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ WebKit needs cross-platform filter system
+ [https://bugs.webkit.org/show_bug.cgi?id=19991]
+
+ Replace all occurrences of SVGResourceFilter by Filter. This is the last
+ step for a SVG independent filter system. Every other part of WebCore can
+ use the filter system by creating a new Filter object.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/FEBlend.cpp:
+ (WebCore::FEBlend::apply):
+ * platform/graphics/filters/FEBlend.h:
+ * platform/graphics/filters/FEColorMatrix.cpp:
+ (WebCore::FEColorMatrix::apply):
+ * platform/graphics/filters/FEColorMatrix.h:
+ * platform/graphics/filters/FEComponentTransfer.cpp:
+ (WebCore::FEComponentTransfer::apply):
+ * platform/graphics/filters/FEComponentTransfer.h:
+ * platform/graphics/filters/FEComposite.cpp:
+ (WebCore::FEComposite::apply):
+ * platform/graphics/filters/FEComposite.h:
+ * platform/graphics/filters/Filter.h: Added.
+ (WebCore::Filter::setSourceImage):
+ (WebCore::Filter::sourceImage):
+ * platform/graphics/filters/FilterEffect.h:
+ * platform/graphics/filters/SourceAlpha.cpp:
+ (WebCore::SourceAlpha::apply):
+ * platform/graphics/filters/SourceAlpha.h:
+ * platform/graphics/filters/SourceGraphic.cpp:
+ (WebCore::SourceGraphic::apply):
+ * platform/graphics/filters/SourceGraphic.h:
+ * svg/Filter.cpp: Removed.
+ * svg/Filter.h: Removed.
+ * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
+ (WebCore::FEConvolveMatrix::apply):
+ * svg/graphics/filters/SVGFEConvolveMatrix.h:
+ * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
+ (WebCore::FEDiffuseLighting::apply):
+ * svg/graphics/filters/SVGFEDiffuseLighting.h:
+ * svg/graphics/filters/SVGFEDisplacementMap.cpp:
+ (WebCore::FEDisplacementMap::apply):
+ * svg/graphics/filters/SVGFEDisplacementMap.h:
+ * svg/graphics/filters/SVGFEFlood.cpp:
+ (WebCore::FEFlood::apply):
+ * svg/graphics/filters/SVGFEFlood.h:
+ * svg/graphics/filters/SVGFEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::apply):
+ * svg/graphics/filters/SVGFEGaussianBlur.h:
+ * svg/graphics/filters/SVGFEImage.cpp:
+ (WebCore::FEImage::apply):
+ * svg/graphics/filters/SVGFEImage.h:
+ * svg/graphics/filters/SVGFEMerge.cpp:
+ (WebCore::FEMerge::apply):
+ * svg/graphics/filters/SVGFEMerge.h:
+ * svg/graphics/filters/SVGFEMorphology.cpp:
+ (WebCore::FEMorphology::apply):
+ * svg/graphics/filters/SVGFEMorphology.h:
+ * svg/graphics/filters/SVGFEOffset.cpp:
+ (WebCore::FEOffset::apply):
+ * svg/graphics/filters/SVGFEOffset.h:
+ * svg/graphics/filters/SVGFESpecularLighting.cpp:
+ (WebCore::FESpecularLighting::apply):
+ * svg/graphics/filters/SVGFESpecularLighting.h:
+ * svg/graphics/filters/SVGFETile.cpp:
+ (WebCore::FETile::apply):
+ * svg/graphics/filters/SVGFETile.h:
+ * svg/graphics/filters/SVGFETurbulence.cpp:
+ (WebCore::FETurbulence::apply):
+ * svg/graphics/filters/SVGFETurbulence.h:
+ * svg/graphics/filters/SVGFilter.cpp: Added.
+ (WebCore::SVGFilter::SVGFilter):
+ (WebCore::SVGFilter::calculateEffectSubRegion):
+ (WebCore::SVGFilter::create):
+ * svg/graphics/filters/SVGFilter.h: Added.
+
+2009-05-30 Kevin Ollivier <kevino@theolliviers.com>
+
+ Build fix for platforms without plugins support.
+
+ * plugins/PluginViewNone.cpp:
+ (WebCore::PluginView::userAgentStatic):
+ (WebCore::PluginView::getValueStatic):
+
+2009-05-30 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Darin Adler.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=25979
+
+ Fix regression, local WML files won't load anymore, as the mimetype isn't correctly detected.
+ Bug filed at <rdar://problem/6917571> to cover this CFNetwork limitation.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+
+2009-05-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=26091
+ Make storage events match the current spec.
+ - Storage event listeners are added to the window.
+ - Storage events are dispatched to the window.
+
+ Updated existing tests.
+
+ * dom/Document.cpp:
+ (WebCore::Document::dispatchWindowEvent):
+ * dom/Document.h:
+ * dom/Node.cpp:
+ * dom/Node.h:
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute):
+ * storage/LocalStorageArea.cpp:
+ (WebCore::LocalStorageArea::dispatchStorageEvent):
+ * storage/SessionStorageArea.cpp:
+ (WebCore::SessionStorageArea::dispatchStorageEvent):
+
+2009-05-30 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Bug 26097: REGRESSION (r44283): Tab key doesn't work when focus is on a <select> element
+
+ Test: fast/forms/focus-control-to-page.html
+
+ * dom/SelectElement.h: Made destructor protected. Tweaked a bit.
+
+ * html/HTMLSelectElement.cpp: Removed unneeded includes.
+ (WebCore::HTMLSelectElement::remove): Removed unneeded range check of the
+ result of optionToListIndex.
+ (WebCore::HTMLSelectElement::parseMappedAttribute): Removed code to set the
+ unused attribute, m_minwidth.
+ (WebCore::HTMLSelectElement::defaultEventHandler): The actual bug fix.
+ Call through to the base class defaultEventHandler if the event hasn't
+ been handled yet.
+
+ * html/HTMLSelectElement.h: Removed unneeded includes. Made a lot more functions
+ private. Removed unused minWidth function and m_minwidth data member.
+
+2009-05-30 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Holger Freyther.
+
+ The two KeyboardCodes.h files are basically identical and the
+ qt one is properly #ifdef-ed for different win32 systems. Share
+ them between Qt and Gtk implementations.
+
+ * GNUmakefile.am:
+ * platform/KeyboardCodes.h: Copied from WebCore/platform/qt/KeyboardCodes.h.
+ * platform/gtk/KeyboardCodes.h: Removed.
+ * platform/qt/KeyboardCodes.h: Removed.
+
+2009-05-30 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ LocalStorage and SessionStorage's implicit setters do not correctly
+ handle null. The custom JS bindings should convert to strings
+ unconditionally and not try to handle null specially.
+ https://bugs.webkit.org/show_bug.cgi?id=25970
+
+ Tests: storage/domstorage/localstorage/string-conversion.html
+ storage/domstorage/sessionstorage/string-conversion.html
+
+ * bindings/js/JSStorageCustom.cpp:
+ (WebCore::JSStorage::customPut):
+
+2009-05-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6935192> REGRESSION (Safari 3-TOT): Scroll
+ bars in key window draw as inactive if the WebView is not active
+
+ Test: platform/mac/scrollbars/key-window-not-first-responder.html
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint): Use the window's key state instead
+ of the WebView's first responder state to switch between active and
+ inactive state.
+
+2009-05-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=18445
+ <rdar://problem/5931174> Assertion failure in CSSGradientValue::image
+ with -webkit-gradient as body's background
+
+ Test: fast/backgrounds/body-generated-image-propagated-to-root.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended): Check if this
+ is the root element painting a background layer propagated from the
+ body, and if it is, use the body's renderer as the client to
+ StyleImage::image().
+
+2009-05-30 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed build fix for AXObjectCache.
+
+ For !HAVE(ACCESSIBILITY) postNotification was defined twice. Move
+ that into the #ifdef.
+
+ * accessibility/AXObjectCache.cpp:
+
+2009-05-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26072
+
+ Add support for the last missing WML element: <select>. This patch adds WMLSelectElement, providing
+ the same functionality HTMLSelectElement has. The WML specific features will follow soon.
+
+ Add simple testcase covering <select> element rendering: fast/wml/select.wml
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/OptionElement.cpp:
+ (WebCore::OptionElement::optionIndex):
+ (WebCore::isOptionElement):
+ * dom/OptionElement.h:
+ * dom/OptionGroupElement.cpp:
+ (WebCore::isOptionGroupElement):
+ * dom/OptionGroupElement.h:
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::accessKeySetSelectedIndex):
+ (WebCore::toSelectElement):
+ * dom/SelectElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::index):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::paintItemForeground):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::itemIsEnabled):
+ (WebCore::RenderMenuList::itemIsLabel):
+ * wml/WMLFormControlElement.cpp:
+ (WebCore::WMLFormControlElement::attach):
+ (WebCore::WMLFormControlElement::recalcStyle):
+ * wml/WMLFormControlElement.h:
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::attach):
+ * wml/WMLOptGroupElement.cpp:
+ (WebCore::WMLOptGroupElement::insertBefore):
+ (WebCore::WMLOptGroupElement::replaceChild):
+ (WebCore::WMLOptGroupElement::removeChild):
+ (WebCore::WMLOptGroupElement::appendChild):
+ (WebCore::WMLOptGroupElement::removeChildren):
+ (WebCore::ownerSelectElement):
+ (WebCore::WMLOptGroupElement::accessKeyAction):
+ (WebCore::WMLOptGroupElement::childrenChanged):
+ (WebCore::WMLOptGroupElement::parseMappedAttribute):
+ (WebCore::WMLOptGroupElement::attach):
+ (WebCore::WMLOptGroupElement::detach):
+ (WebCore::WMLOptGroupElement::recalcSelectOptions):
+ * wml/WMLOptionElement.cpp:
+ (WebCore::ownerSelectElement):
+ (WebCore::WMLOptionElement::accessKeyAction):
+ (WebCore::WMLOptionElement::childrenChanged):
+ (WebCore::WMLOptionElement::parseMappedAttribute):
+ (WebCore::WMLOptionElement::attach):
+ (WebCore::WMLOptionElement::detach):
+ (WebCore::WMLOptionElement::insertedIntoDocument):
+ * wml/WMLSelectElement.cpp: Added.
+ (WebCore::WMLSelectElement::WMLSelectElement):
+ (WebCore::WMLSelectElement::~WMLSelectElement):
+ (WebCore::WMLSelectElement::formControlType):
+ (WebCore::WMLSelectElement::isKeyboardFocusable):
+ (WebCore::WMLSelectElement::isMouseFocusable):
+ (WebCore::WMLSelectElement::selectAll):
+ (WebCore::WMLSelectElement::recalcStyle):
+ (WebCore::WMLSelectElement::dispatchFocusEvent):
+ (WebCore::WMLSelectElement::dispatchBlurEvent):
+ (WebCore::WMLSelectElement::selectedIndex):
+ (WebCore::WMLSelectElement::setSelectedIndex):
+ (WebCore::WMLSelectElement::saveFormControlState):
+ (WebCore::WMLSelectElement::restoreFormControlState):
+ (WebCore::WMLSelectElement::childrenChanged):
+ (WebCore::WMLSelectElement::parseMappedAttribute):
+ (WebCore::WMLSelectElement::createRenderer):
+ (WebCore::WMLSelectElement::appendFormData):
+ (WebCore::WMLSelectElement::optionToListIndex):
+ (WebCore::WMLSelectElement::listToOptionIndex):
+ (WebCore::WMLSelectElement::reset):
+ (WebCore::WMLSelectElement::defaultEventHandler):
+ (WebCore::WMLSelectElement::accessKeyAction):
+ (WebCore::WMLSelectElement::setActiveSelectionAnchorIndex):
+ (WebCore::WMLSelectElement::setActiveSelectionEndIndex):
+ (WebCore::WMLSelectElement::updateListBoxSelection):
+ (WebCore::WMLSelectElement::listBoxOnChange):
+ (WebCore::WMLSelectElement::menuListOnChange):
+ (WebCore::WMLSelectElement::activeSelectionStartListIndex):
+ (WebCore::WMLSelectElement::activeSelectionEndListIndex):
+ (WebCore::WMLSelectElement::accessKeySetSelectedIndex):
+ (WebCore::WMLSelectElement::setRecalcListItems):
+ (WebCore::WMLSelectElement::scrollToSelection):
+ (WebCore::WMLSelectElement::insertedIntoTree):
+ * wml/WMLSelectElement.h: Added.
+ (WebCore::WMLSelectElement::canSelectAll):
+ (WebCore::WMLSelectElement::canStartSelection):
+ (WebCore::WMLSelectElement::size):
+ (WebCore::WMLSelectElement::multiple):
+ (WebCore::WMLSelectElement::listItems):
+ * wml/WMLTagNames.in:
+
+2009-05-29 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY (build fix for windows).
+
+ http://trac.webkit.org/changeset/44279 left in a "Vector<WCHAR> localeNameBuf"
+ that it was trying to replace. Resulting in this variable being defined twice (and
+ the second time incorrectly).
+
+ * platform/win/Language.cpp:
+ (WebCore::localeInfo):
+
+2009-05-29 Takeshi Yoshino <tyoshino@google.com>
+
+ Reviewed by Darin Alder.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26018
+
+ Fix behavior of the Element View of the Web Inspector for double
+ clicking the element outline tree.
+
+ Double clicking the element outline tree should
+ 1) on attribute: enter attribute editing mode
+ 2) on text: enter text editing mode
+ 3) otherwise: change root node to the parent element of double clicked
+ element.
+
+ Now, 3) is broken. For example, clicking <html> clears the element
+ outline view.
+
+ rootDOMNode should be updated to this.representedObject.parentNode, not
+ this.parent.representedObject which is parent inside the element
+ outline tree itself.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype.ondblclick):
+
+2009-05-29 David Moore <davemoore@google.com>
+
+ Reviewed by Darin Alder.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26001
+ Change many of the uses of String::adopt() to String::createUninitialized().
+ This allows those strings to use an inlined buffer for their characters.
+
+ * dom/StyleElement.cpp:
+ Loop over nodes to precompute length of string and then
+ write the characters into the allocated inline buffer
+ (WebCore::StyleElement::process):
+ * dom/Text.cpp:
+ Loop over nodes to precompute length of string and then
+ write the characters into the allocated inline buffer
+ (WebCore::Text::wholeText):
+ (WebCore::Text::rendererIsNeeded):
+ (WebCore::Text::createRenderer):
+ (WebCore::Text::createWithLengthLimit):
+ (WebCore::Text::formatForDebugger):
+ * platform/text/String.cpp:
+ (WebCore::String::append):
+ (WebCore::String::insert):
+ (WebCore::String::truncate):
+ (WebCore::String::remove):
+ * platform/text/StringBuilder.cpp:
+ (WebCore::StringBuilder::toString):
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::lower):
+ (WebCore::StringImpl::upper):
+ (WebCore::StringImpl::secure):
+ (WebCore::StringImpl::foldCase):
+ (WebCore::StringImpl::replace):
+ * platform/text/TextCodecLatin1.cpp:
+ (WebCore::TextCodecLatin1::decode):
+ * platform/text/TextCodecUserDefined.cpp:
+ (WebCore::TextCodecUserDefined::decode):
+ * platform/win/Language.cpp:
+ (WebCore::localeInfo):
+
+2009-05-29 Takeshi Yoshino <tyoshino@google.com>
+
+ Reviewed by Darin Alder.
+
+ Bug 25911: Apply href in base elements to anchors shown on the source viewer
+ https://bugs.webkit.org/show_bug.cgi?id=25911
+
+ In rendering HTML sources, parse base elements to apply the base URI to
+ anchors shown on the source viewer.
+
+ This issue was originally reported to the Chromium issue tracker.
+ http://code.google.com/p/chromium/issues/detail?id=2418
+
+ Test: fast/frames/viewsource-link-on-href-value.html
+
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::addViewSourceToken):
+
+2009-05-29 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22429
+ document.styleSheets collection ignores media=presentation
+
+ Ensure that stylesheets though <link> show up in document.styleSheets regardless of media attribute.
+
+ Test: fast/css/sheet-collection-link.html
+
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process):
+
+2009-05-29 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26069
+ Fix a crash in custom V8 bindings code for XMLHttpRequest.
+
+ Test: fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html
+
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-05-29 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 26074: SQLTransaction::executeSQL does an unnecessary call to String::copy.
+ https://bugs.webkit.org/show_bug.cgi?id=26074
+
+ The constructor for SQLStatement already does a copy for this string.
+
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::executeSQL):
+
+2009-05-29 Darin Adler <darin@apple.com>
+
+ Fix build; the new Cairo code compiled on Windows only.
+
+ * platform/graphics/gtk/FontPlatformData.h: Added syntheticBold
+ and syntheticOblique functions as in the Windows version to make it
+ easier to use this cross-platform. Later we can make data members
+ private as in the Windows version.
+ * platform/graphics/mac/FontPlatformData.h: Ditto.
+
+2009-05-29 Alexander Macdonald <alexmac@adobe.com>
+
+ Reviewed by Darin Adler.
+
+ Added support for synthetic bold/oblique font rendering
+ on platforms that use cairo.
+
+ * platform/graphics/SimpleFontData.h:
+ * platform/graphics/cairo/FontCairo.cpp:
+ (WebCore::Font::drawGlyphs):
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+
+2009-05-29 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 26024: AX: possible to fail assertion because AXPostNotification calls accessibilityIsIgnored
+ https://bugs.webkit.org/show_bug.cgi?id=26024
+
+ AX notifications are posted after a one shot timer so that notifications are not performed mid-layout.
+ Consolidated postNotification and postNotificationToElement into one method.
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::AXObjectCache):
+ (WebCore::AXObjectCache::notificationPostTimerFired):
+ (WebCore::AXObjectCache::postNotification):
+ (WebCore::AXObjectCache::selectedChildrenChanged):
+ * accessibility/AXObjectCache.h:
+ (WebCore::AXObjectCache::postNotification):
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * accessibility/gtk/AXObjectCacheAtk.cpp:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * accessibility/mac/AXObjectCacheMac.mm:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * accessibility/win/AXObjectCacheWin.cpp:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+ * editing/Editor.cpp:
+ (WebCore::Editor::respondToChangedContents):
+ * editing/mac/SelectionControllerMac.mm:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setInnerTextValue):
+
+2009-05-29 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Build fix for Windows Cairo target.
+ https://bugs.webkit.org/show_bug.cgi?id=25972
+
+ Compiler mistakenly selects SMILTime min/max instead of STL version,
+ resulting in a build error. This change makes the meaning of the
+ min/max explicit and avoids the problem.
+
+ * html/TimeRanges.h:
+ (WebCore::TimeRanges::Range::unionWithOverlappingOrContiguousRange):
+
+2009-05-29 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Jan Alonzo.
+
+ Make SoupMessage a member of ResourceRequest, instead of creating
+ it in startHttp. Implement updating of ResourceRequest from
+ SoupMessage, and vice versa.
+
+ * GNUmakefile.am:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::~ResourceHandle):
+ (WebCore::gotHeadersCallback):
+ (WebCore::ResourceHandle::startHttp):
+ * platform/network/soup/ResourceRequest.h:
+ (WebCore::ResourceRequest::ResourceRequest):
+ (WebCore::ResourceRequest::~ResourceRequest):
+ * platform/network/soup/ResourceRequestSoup.cpp: Added.
+ (WTF::SoupURI):
+ (WebCore::ResourceRequest::soupMessage):
+ (WebCore::ResourceRequest::ResourceRequest):
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+
+2009-05-28 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26068
+ V8: Remove the remaining b8::Locker usage in worker code.
+ This completes the fix for https://bugs.webkit.org/show_bug.cgi?id=25944,
+ since the patches for enabling timers and that bug have "crossed in the queue".
+ Existing LayoutTests/fast/workers/worker-timeout.html covers this fix (will start work in Chromium).
+
+ * bindings/v8/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+
+2009-05-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ Simplify the Accept-Encoding header we are sending out, for it
+ seems some servers do not enjoy parsing the full, explicit
+ version.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startHttp):
+
+2009-05-28 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Added a new build flag --filters. This replaces the old --svg-filters and enables
+ other parts of WebKit to use some basic filters of platform/graphics/filters if needed.
+ This patch also fixes a bug in dom/DOMImplementation.cpp where we used SVG_FILTER. This flag
+ doesn't exist and was replaced by FILTERS as well as all SVG_FILTERS occurrences.
+ Filters are not working yet. This patch is just a preperation. Filters are deactivated by
+ default.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * bindings/objc/DOM.mm:
+ (WebCore::createElementClassMap):
+ * dom/DOMImplementation.cpp:
+ (WebCore::isSVG10Feature):
+ (WebCore::isSVG11Feature):
+ * page/DOMWindow.idl:
+ * platform/graphics/filters/FEBlend.cpp:
+ * platform/graphics/filters/FEBlend.h:
+ * platform/graphics/filters/FEColorMatrix.cpp:
+ * platform/graphics/filters/FEColorMatrix.h:
+ * platform/graphics/filters/FEComponentTransfer.cpp:
+ * platform/graphics/filters/FEComponentTransfer.h:
+ * platform/graphics/filters/FEComposite.cpp:
+ * platform/graphics/filters/FEComposite.h:
+ * platform/graphics/filters/FilterEffect.cpp:
+ * platform/graphics/filters/FilterEffect.h:
+ * platform/graphics/filters/SourceAlpha.cpp:
+ * platform/graphics/filters/SourceAlpha.h:
+ * platform/graphics/filters/SourceGraphic.cpp:
+ * platform/graphics/filters/SourceGraphic.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::selfWillPaint):
+ * rendering/RenderSVGModelObject.cpp:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::selfWillPaint):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
+ * svg/Filter.cpp:
+ * svg/Filter.h:
+ * svg/FilterBuilder.cpp:
+ * svg/FilterBuilder.h:
+ * svg/SVGComponentTransferFunctionElement.cpp:
+ * svg/SVGComponentTransferFunctionElement.h:
+ * svg/SVGComponentTransferFunctionElement.idl:
+ * svg/SVGFEBlendElement.cpp:
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEBlendElement.idl:
+ * svg/SVGFEColorMatrixElement.cpp:
+ * svg/SVGFEColorMatrixElement.h:
+ * svg/SVGFEColorMatrixElement.idl:
+ * svg/SVGFEComponentTransferElement.cpp:
+ * svg/SVGFEComponentTransferElement.h:
+ * svg/SVGFEComponentTransferElement.idl:
+ * svg/SVGFECompositeElement.cpp:
+ * svg/SVGFECompositeElement.h:
+ * svg/SVGFECompositeElement.idl:
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ * svg/SVGFEDiffuseLightingElement.h:
+ * svg/SVGFEDiffuseLightingElement.idl:
+ * svg/SVGFEDisplacementMapElement.cpp:
+ * svg/SVGFEDisplacementMapElement.h:
+ * svg/SVGFEDisplacementMapElement.idl:
+ * svg/SVGFEDistantLightElement.cpp:
+ * svg/SVGFEDistantLightElement.h:
+ * svg/SVGFEDistantLightElement.idl:
+ * svg/SVGFEFloodElement.cpp:
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEFloodElement.idl:
+ * svg/SVGFEFuncAElement.cpp:
+ * svg/SVGFEFuncAElement.h:
+ * svg/SVGFEFuncAElement.idl:
+ * svg/SVGFEFuncBElement.cpp:
+ * svg/SVGFEFuncBElement.h:
+ * svg/SVGFEFuncBElement.idl:
+ * svg/SVGFEFuncGElement.cpp:
+ * svg/SVGFEFuncGElement.h:
+ * svg/SVGFEFuncGElement.idl:
+ * svg/SVGFEFuncRElement.cpp:
+ * svg/SVGFEFuncRElement.h:
+ * svg/SVGFEFuncRElement.idl:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ * svg/SVGFEGaussianBlurElement.h:
+ * svg/SVGFEGaussianBlurElement.idl:
+ * svg/SVGFEImageElement.cpp:
+ * svg/SVGFEImageElement.h:
+ * svg/SVGFEImageElement.idl:
+ * svg/SVGFELightElement.cpp:
+ * svg/SVGFELightElement.h:
+ * svg/SVGFEMergeElement.cpp:
+ * svg/SVGFEMergeElement.h:
+ * svg/SVGFEMergeElement.idl:
+ * svg/SVGFEMergeNodeElement.cpp:
+ * svg/SVGFEMergeNodeElement.h:
+ * svg/SVGFEMergeNodeElement.idl:
+ * svg/SVGFEOffsetElement.cpp:
+ * svg/SVGFEOffsetElement.h:
+ * svg/SVGFEOffsetElement.idl:
+ * svg/SVGFEPointLightElement.cpp:
+ * svg/SVGFEPointLightElement.h:
+ * svg/SVGFEPointLightElement.idl:
+ * svg/SVGFESpecularLightingElement.cpp:
+ * svg/SVGFESpecularLightingElement.h:
+ * svg/SVGFESpecularLightingElement.idl:
+ * svg/SVGFESpotLightElement.cpp:
+ * svg/SVGFESpotLightElement.h:
+ * svg/SVGFESpotLightElement.idl:
+ * svg/SVGFETileElement.cpp:
+ * svg/SVGFETileElement.h:
+ * svg/SVGFETileElement.idl:
+ * svg/SVGFETurbulenceElement.cpp:
+ * svg/SVGFETurbulenceElement.h:
+ * svg/SVGFETurbulenceElement.idl:
+ * svg/SVGFilterElement.cpp:
+ * svg/SVGFilterElement.h:
+ * svg/SVGFilterElement.idl:
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+ * svg/SVGFilterPrimitiveStandardAttributes.h:
+ * svg/graphics/SVGResourceFilter.cpp:
+ * svg/graphics/SVGResourceFilter.h:
+ * svg/graphics/cairo/SVGResourceFilterCairo.cpp:
+ * svg/graphics/cg/SVGResourceFilterCg.cpp:
+ * svg/graphics/cg/SVGResourceFilterCg.mm:
+ * svg/graphics/filters/SVGDistantLightSource.h:
+ * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
+ * svg/graphics/filters/SVGFEConvolveMatrix.h:
+ * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
+ * svg/graphics/filters/SVGFEDiffuseLighting.h:
+ * svg/graphics/filters/SVGFEDisplacementMap.cpp:
+ * svg/graphics/filters/SVGFEDisplacementMap.h:
+ * svg/graphics/filters/SVGFEFlood.cpp:
+ * svg/graphics/filters/SVGFEFlood.h:
+ * svg/graphics/filters/SVGFEGaussianBlur.cpp:
+ * svg/graphics/filters/SVGFEGaussianBlur.h:
+ * svg/graphics/filters/SVGFEImage.cpp:
+ * svg/graphics/filters/SVGFEImage.h:
+ * svg/graphics/filters/SVGFEMerge.cpp:
+ * svg/graphics/filters/SVGFEMerge.h:
+ * svg/graphics/filters/SVGFEMorphology.cpp:
+ * svg/graphics/filters/SVGFEMorphology.h:
+ * svg/graphics/filters/SVGFEOffset.cpp:
+ * svg/graphics/filters/SVGFEOffset.h:
+ * svg/graphics/filters/SVGFESpecularLighting.cpp:
+ * svg/graphics/filters/SVGFESpecularLighting.h:
+ * svg/graphics/filters/SVGFETile.cpp:
+ * svg/graphics/filters/SVGFETile.h:
+ * svg/graphics/filters/SVGFETurbulence.cpp:
+ * svg/graphics/filters/SVGFETurbulence.h:
+ * svg/graphics/filters/SVGFilterEffect.cpp:
+ * svg/graphics/filters/SVGFilterEffect.h:
+ * svg/graphics/filters/SVGLightSource.cpp:
+ * svg/graphics/filters/SVGLightSource.h:
+ * svg/graphics/filters/SVGPointLightSource.h:
+ * svg/graphics/filters/SVGSpotLightSource.h:
+ * svg/graphics/filters/cg/SVGFEHelpersCg.h:
+ * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
+ * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
+ * svg/graphics/filters/cg/WKArithmeticFilter.h:
+ * svg/graphics/filters/cg/WKArithmeticFilter.m:
+ * svg/graphics/filters/cg/WKComponentMergeFilter.h:
+ * svg/graphics/filters/cg/WKComponentMergeFilter.m:
+ * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
+ * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
+ * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
+ * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
+ * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
+ * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
+ * svg/graphics/filters/cg/WKDistantLightFilter.h:
+ * svg/graphics/filters/cg/WKDistantLightFilter.m:
+ * svg/graphics/filters/cg/WKGammaTransferFilter.h:
+ * svg/graphics/filters/cg/WKGammaTransferFilter.m:
+ * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
+ * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
+ * svg/graphics/filters/cg/WKLinearTransferFilter.h:
+ * svg/graphics/filters/cg/WKLinearTransferFilter.m:
+ * svg/graphics/filters/cg/WKNormalMapFilter.h:
+ * svg/graphics/filters/cg/WKNormalMapFilter.m:
+ * svg/graphics/filters/cg/WKPointLightFilter.h:
+ * svg/graphics/filters/cg/WKPointLightFilter.m:
+ * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
+ * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
+ * svg/graphics/filters/cg/WKSpotLightFilter.h:
+ * svg/graphics/filters/cg/WKSpotLightFilter.m:
+ * svg/graphics/filters/cg/WKTableTransferFilter.h:
+ * svg/graphics/filters/cg/WKTableTransferFilter.m:
+ * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
+ * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
+ * svg/graphics/qt/SVGResourceFilterQt.cpp:
+ * svg/graphics/skia/SVGResourceFilterSkia.cpp:
+ * svg/svgtags.in:
+
+2009-05-28 Brett Wilson <brettw@chromium.org>
+
+ Unreviewed, build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26067
+
+ Add casts for scale function to make more explicit what is happening
+ and fix a compiler warning.
+
+ * platform/graphics/IntSize.h:
+ (WebCore::IntSize::scale):
+
+2009-05-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove the returnValueSlot concept from JSDOMWindowBase. Now that windows
+ are not cleared on navigation it is no longer necessary.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
+ (WebCore::JSDOMWindowBase::willRemoveFromWindowShell):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::showModalDialog):
+
+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
+
+ Implement atk_text_get_text_{at,after,before}_offset.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-05-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Rubber-stamped by Darin Adler.
+
+ Remove unnecessary destructor from InputElementData/OptionElementData.
+
+ * dom/InputElement.cpp:
+ * dom/InputElement.h:
+ * dom/OptionElement.cpp:
+ * dom/OptionElement.h:
+
+2009-05-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Darin Adler.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26062
+
+ Refactor code from all virtual methods in HTMLSelectElement (that are also needed for WMLSelectElement)
+ in the recently introduced SelectElement abstract base class. Follow the same design sheme that InputElement uses.
+
+ A follow-up patch can now easily add WMLSelectElement.
+
+ * dom/OptionElement.h:
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::selectAll):
+ (WebCore::SelectElement::saveLastSelection):
+ (WebCore::isOptionElement):
+ (WebCore::isOptionGroupElement):
+ (WebCore::SelectElement::nextSelectableListIndex):
+ (WebCore::SelectElement::previousSelectableListIndex):
+ (WebCore::SelectElement::setActiveSelectionAnchorIndex):
+ (WebCore::SelectElement::setActiveSelectionEndIndex):
+ (WebCore::SelectElement::updateListBoxSelection):
+ (WebCore::SelectElement::listBoxOnChange):
+ (WebCore::SelectElement::menuListOnChange):
+ (WebCore::SelectElement::scrollToSelection):
+ (WebCore::SelectElement::recalcStyle):
+ (WebCore::SelectElement::setRecalcListItems):
+ (WebCore::SelectElement::recalcListItems):
+ (WebCore::SelectElement::selectedIndex):
+ (WebCore::SelectElement::setSelectedIndex):
+ (WebCore::SelectElement::optionToListIndex):
+ (WebCore::SelectElement::listToOptionIndex):
+ (WebCore::SelectElement::dispatchFocusEvent):
+ (WebCore::SelectElement::dispatchBlurEvent):
+ (WebCore::SelectElement::deselectItems):
+ (WebCore::SelectElement::saveFormControlState):
+ (WebCore::SelectElement::restoreFormControlState):
+ (WebCore::SelectElement::parseMultipleAttribute):
+ (WebCore::SelectElement::appendFormData):
+ (WebCore::SelectElement::reset):
+ (WebCore::SelectElement::menuListDefaultEventHandler):
+ (WebCore::SelectElement::listBoxDefaultEventHandler):
+ (WebCore::SelectElement::defaultEventHandler):
+ (WebCore::SelectElement::lastSelectedListIndex):
+ (WebCore::stripLeadingWhiteSpace):
+ (WebCore::SelectElement::typeAheadFind):
+ (WebCore::SelectElement::insertedIntoTree):
+ (WebCore::SelectElementData::SelectElementData):
+ (WebCore::SelectElementData::checkListItems):
+ (WebCore::SelectElementData::listItems):
+ * dom/SelectElement.h:
+ (WebCore::SelectElementData::multiple):
+ (WebCore::SelectElementData::setMultiple):
+ (WebCore::SelectElementData::size):
+ (WebCore::SelectElementData::setSize):
+ (WebCore::SelectElementData::usesMenuList):
+ (WebCore::SelectElementData::lastOnChangeIndex):
+ (WebCore::SelectElementData::setLastOnChangeIndex):
+ (WebCore::SelectElementData::lastOnChangeSelection):
+ (WebCore::SelectElementData::activeSelectionState):
+ (WebCore::SelectElementData::setActiveSelectionState):
+ (WebCore::SelectElementData::activeSelectionAnchorIndex):
+ (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
+ (WebCore::SelectElementData::activeSelectionEndIndex):
+ (WebCore::SelectElementData::setActiveSelectionEndIndex):
+ (WebCore::SelectElementData::cachedStateForActiveSelection):
+ (WebCore::SelectElementData::shouldRecalcListItems):
+ (WebCore::SelectElementData::setShouldRecalcListItems):
+ (WebCore::SelectElementData::rawListItems):
+ (WebCore::SelectElementData::repeatingChar):
+ (WebCore::SelectElementData::setRepeatingChar):
+ (WebCore::SelectElementData::lastCharTime):
+ (WebCore::SelectElementData::setLastCharTime):
+ (WebCore::SelectElementData::typedString):
+ (WebCore::SelectElementData::setTypedString):
+ * html/HTMLOptionElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::HTMLSelectElement):
+ (WebCore::HTMLSelectElement::recalcStyle):
+ (WebCore::HTMLSelectElement::formControlType):
+ (WebCore::HTMLSelectElement::selectedIndex):
+ (WebCore::HTMLSelectElement::deselectItems):
+ (WebCore::HTMLSelectElement::setSelectedIndex):
+ (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
+ (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
+ (WebCore::HTMLSelectElement::saveFormControlState):
+ (WebCore::HTMLSelectElement::restoreFormControlState):
+ (WebCore::HTMLSelectElement::parseMappedAttribute):
+ (WebCore::HTMLSelectElement::canSelectAll):
+ (WebCore::HTMLSelectElement::selectAll):
+ (WebCore::HTMLSelectElement::createRenderer):
+ (WebCore::HTMLSelectElement::appendFormData):
+ (WebCore::HTMLSelectElement::optionToListIndex):
+ (WebCore::HTMLSelectElement::listToOptionIndex):
+ (WebCore::HTMLSelectElement::recalcListItems):
+ (WebCore::HTMLSelectElement::setRecalcListItems):
+ (WebCore::HTMLSelectElement::reset):
+ (WebCore::HTMLSelectElement::dispatchFocusEvent):
+ (WebCore::HTMLSelectElement::dispatchBlurEvent):
+ (WebCore::HTMLSelectElement::defaultEventHandler):
+ (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
+ (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
+ (WebCore::HTMLSelectElement::updateListBoxSelection):
+ (WebCore::HTMLSelectElement::menuListOnChange):
+ (WebCore::HTMLSelectElement::listBoxOnChange):
+ (WebCore::HTMLSelectElement::saveLastSelection):
+ (WebCore::HTMLSelectElement::setOption):
+ (WebCore::HTMLSelectElement::scrollToSelection):
+ (WebCore::HTMLSelectElement::insertedIntoTree):
+ * html/HTMLSelectElement.h:
+ (WebCore::HTMLSelectElement::size):
+ (WebCore::HTMLSelectElement::multiple):
+ (WebCore::HTMLSelectElement::listItems):
+ * wml/WMLOptionElement.cpp:
+ (WebCore::WMLOptionElement::text):
+ * wml/WMLOptionElement.h:
+
+
+ * dom/OptionElement.h:
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::selectAll):
+ (WebCore::SelectElement::saveLastSelection):
+ (WebCore::isOptionElement):
+ (WebCore::isOptionGroupElement):
+ (WebCore::SelectElement::nextSelectableListIndex):
+ (WebCore::SelectElement::previousSelectableListIndex):
+ (WebCore::SelectElement::setActiveSelectionAnchorIndex):
+ (WebCore::SelectElement::setActiveSelectionEndIndex):
+ (WebCore::SelectElement::updateListBoxSelection):
+ (WebCore::SelectElement::listBoxOnChange):
+ (WebCore::SelectElement::menuListOnChange):
+ (WebCore::SelectElement::scrollToSelection):
+ (WebCore::SelectElement::recalcStyle):
+ (WebCore::SelectElement::setRecalcListItems):
+ (WebCore::SelectElement::recalcListItems):
+ (WebCore::SelectElement::selectedIndex):
+ (WebCore::SelectElement::setSelectedIndex):
+ (WebCore::SelectElement::optionToListIndex):
+ (WebCore::SelectElement::listToOptionIndex):
+ (WebCore::SelectElement::dispatchFocusEvent):
+ (WebCore::SelectElement::dispatchBlurEvent):
+ (WebCore::SelectElement::deselectItems):
+ (WebCore::SelectElement::saveFormControlState):
+ (WebCore::SelectElement::restoreFormControlState):
+ (WebCore::SelectElement::parseMultipleAttribute):
+ (WebCore::SelectElement::appendFormData):
+ (WebCore::SelectElement::reset):
+ (WebCore::SelectElement::menuListDefaultEventHandler):
+ (WebCore::SelectElement::listBoxDefaultEventHandler):
+ (WebCore::SelectElement::defaultEventHandler):
+ (WebCore::SelectElement::lastSelectedListIndex):
+ (WebCore::stripLeadingWhiteSpace):
+ (WebCore::SelectElement::typeAheadFind):
+ (WebCore::SelectElement::insertedIntoTree):
+ (WebCore::SelectElementData::SelectElementData):
+ (WebCore::SelectElementData::~SelectElementData):
+ (WebCore::SelectElementData::checkListItems):
+ (WebCore::SelectElementData::listItems):
+ * dom/SelectElement.h:
+ (WebCore::SelectElementData::multiple):
+ (WebCore::SelectElementData::setMultiple):
+ (WebCore::SelectElementData::size):
+ (WebCore::SelectElementData::setSize):
+ (WebCore::SelectElementData::usesMenuList):
+ (WebCore::SelectElementData::lastOnChangeIndex):
+ (WebCore::SelectElementData::setLastOnChangeIndex):
+ (WebCore::SelectElementData::lastOnChangeSelection):
+ (WebCore::SelectElementData::activeSelectionState):
+ (WebCore::SelectElementData::setActiveSelectionState):
+ (WebCore::SelectElementData::activeSelectionAnchorIndex):
+ (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
+ (WebCore::SelectElementData::activeSelectionEndIndex):
+ (WebCore::SelectElementData::setActiveSelectionEndIndex):
+ (WebCore::SelectElementData::cachedStateForActiveSelection):
+ (WebCore::SelectElementData::shouldRecalcListItems):
+ (WebCore::SelectElementData::setShouldRecalcListItems):
+ (WebCore::SelectElementData::rawListItems):
+ (WebCore::SelectElementData::repeatingChar):
+ (WebCore::SelectElementData::setRepeatingChar):
+ (WebCore::SelectElementData::lastCharTime):
+ (WebCore::SelectElementData::setLastCharTime):
+ (WebCore::SelectElementData::typedString):
+ (WebCore::SelectElementData::setTypedString):
+ * html/HTMLOptionElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::HTMLSelectElement):
+ (WebCore::HTMLSelectElement::recalcStyle):
+ (WebCore::HTMLSelectElement::formControlType):
+ (WebCore::HTMLSelectElement::selectedIndex):
+ (WebCore::HTMLSelectElement::deselectItems):
+ (WebCore::HTMLSelectElement::setSelectedIndex):
+ (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
+ (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
+ (WebCore::HTMLSelectElement::saveFormControlState):
+ (WebCore::HTMLSelectElement::restoreFormControlState):
+ (WebCore::HTMLSelectElement::parseMappedAttribute):
+ (WebCore::HTMLSelectElement::canSelectAll):
+ (WebCore::HTMLSelectElement::selectAll):
+ (WebCore::HTMLSelectElement::createRenderer):
+ (WebCore::HTMLSelectElement::appendFormData):
+ (WebCore::HTMLSelectElement::optionToListIndex):
+ (WebCore::HTMLSelectElement::listToOptionIndex):
+ (WebCore::HTMLSelectElement::recalcListItems):
+ (WebCore::HTMLSelectElement::setRecalcListItems):
+ (WebCore::HTMLSelectElement::reset):
+ (WebCore::HTMLSelectElement::dispatchFocusEvent):
+ (WebCore::HTMLSelectElement::dispatchBlurEvent):
+ (WebCore::HTMLSelectElement::defaultEventHandler):
+ (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
+ (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
+ (WebCore::HTMLSelectElement::updateListBoxSelection):
+ (WebCore::HTMLSelectElement::menuListOnChange):
+ (WebCore::HTMLSelectElement::listBoxOnChange):
+ (WebCore::HTMLSelectElement::saveLastSelection):
+ (WebCore::HTMLSelectElement::setOption):
+ (WebCore::HTMLSelectElement::scrollToSelection):
+ (WebCore::HTMLSelectElement::insertedIntoTree):
+ * html/HTMLSelectElement.h:
+ (WebCore::HTMLSelectElement::size):
+ (WebCore::HTMLSelectElement::multiple):
+ (WebCore::HTMLSelectElement::listItems):
+ * wml/WMLOptionElement.cpp:
+ (WebCore::WMLOptionElement::text):
+ * wml/WMLOptionElement.h:
+
+2009-05-28 Adam Roben <aroben@apple.com>
+
+ Don't try to use the new combobox parts on Vista in Classic mode
+
+ Fixes:
+ <rdar://problem/6929277> REGRESSION (r42289+r42350): Windows Classic
+ theme: drop down lists in Preferences get a line/square
+ <rdar://problem/6929298> REGRESSION (r42289): Windows Classic: drop
+ down lists are black with a circle on many sites
+
+ Reviewed by Steve Falkenburg.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::paintMenuList): Only use the new combobox
+ parts when we have a theme (i.e., when we're not in Classic mode).
+ When we don't have a theme, fall back to the pre-r42289 code.
+
+2009-05-27 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25659
+ Avoid calling frameCount() unnecessarily (which could lead to extra
+ GIF decoding).
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
+
+2009-05-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=8736
+
+ Tests: fast/borders/border-radius-constraints.html
+ fast/borders/border-radius-split-inline.html
+
+ When the sum of the corner radii on a side exceed the length of the side,
+ reduce the radii according to CSS 3 rules.
+
+ Add RenderStyle::getBorderRadiiForRect() to fetch corner radii, applying
+ the constraints. Use that for painting borders, box-shadow, clipping replaced
+ elements
+
+ * platform/graphics/IntSize.h:
+ (WebCore::IntSize::scale):
+ Add a scale method that scales by a float (using C rounding rules, like IntRect::scale()).
+
+ * platform/graphics/Path.cpp:
+ Make the QUARTER const static.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::pushContentsClip):
+ Use getBorderRadiiForRect to fetch border radii.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ Use getBorderRadiiForRect to fetch border radii.
+
+ (WebCore::RenderBoxModelObject::paintBorder):
+ Use getBorderRadiiForRect to fetch border radii, and fix a bug when drawing
+ borders for split inlines, which used to apply the radii for each segment,
+ and no longer does.
+
+ (WebCore::RenderBoxModelObject::paintBoxShadow):
+ Use getBorderRadiiForRect to fetch border radii.
+
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::paint):
+ Use getBorderRadiiForRect to fetch border radii for clipping.
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paint):
+ Use getBorderRadiiForRect to fetch border radii for clipping.
+
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::getBorderRadiiForRect):
+ New bottleneck method to fetch corner radiil given a rect, applying the constraint
+ rules.
+
+2009-05-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26005
+ Optimization for XPath //* does not preserve context size
+
+ Test: fast/xpath/position.html
+
+ Fixed the bug by removing the incorrect optimization, and made enough micro-optimizations to
+ get a performance progression on my tests.
+
+ * xml/XPathPath.h: Removed broken optimizeStepPair().
+
+ * xml/XPathPath.cpp:
+ (WebCore::XPath::LocationPath::evaluate): Style fix.
+ (WebCore::XPath::LocationPath::appendStep): Don't call optimizeStepPair().
+ (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
+ (WebCore::XPath::Path::Path): Style fix.
+
+ * xml/XPathStep.cpp:
+ (WebCore::XPath::primaryNodeType): Turned this member function into a static inline helper.
+ (WebCore::XPath::nodeMatches): Ditto. Don't check for namespace axis, which is unsupported
+ (and might never be).
+ (WebCore::XPath::Step::nodesInAxis): Updated for the new nodeMatches() signature.
+
+ * xml/XPathStep.h:
+ (WebCore::XPath::Step::NodeTest::data):
+ (WebCore::XPath::Step::NodeTest::namespaceURI):
+ Made these data members AtomicString to avoid repeated conversions. This is the biggest
+ performance win here.
+
+ * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Reserve some capacity upfront.
+
+2009-05-28 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ When creating a linear or radial gradient with a single stop
+ at offset 1.0, the Skia layer was allocating 3 stops, but only
+ filling 2, leaving one uninitialized. Only 2 stops are necessary
+ in this case, at offsets (0.0, 1.0).
+
+ http://bugs.webkit.org/show_bug.cgi?id=26063
+
+ Covered by: LayoutTests/svg/W3C-SVG-1.1/pservers-grad-16-b.svg
+ LayoutTests/svg/custom/gradient-stop-corner-cases.svg
+ LayoutTests/svg/custom/js-late-gradient-and-object-creation.svg
+
+ * platform/graphics/skia/GradientSkia.cpp:
+ (WebCore::totalStopsNeeded):
+
+2009-05-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26041
+ Allow adding resource source to WebInspector.SourceFrame asynchronously.
+
+ Provide common implementation for InspectorController::addResourceSourceToFrame and
+ InspectorController::addSourceToFrame methods.
+
+ * bindings/js/JSInspectorControllerCustom.cpp:
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::addResourceSourceToFrame):
+ * inspector/InspectorController.h:
+ * inspector/InspectorController.idl:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.revealLine):
+ (WebInspector.SourceFrame.prototype.highlightLine):
+ (WebInspector.SourceFrame.prototype._loaded):
+ (WebInspector.SourceFrame.prototype._isContentLoaded):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
+ (WebInspector.SourceView.prototype._contentLoaded):
+
+2009-05-28 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Xan Lopez.
+
+ After r44177 we had a problem when increasing the size
+ of the window the scrollbars stayed and were not hidden.
+ This was due WebCore giving up on the Scrollbar as it became
+ unnecessary but the GtkAdjustment remained unchanged.
+ So from the point of view of the GtkScrolledWindow scrolling
+ was still necessary and the GtkScrollbar kept being displayed.
+
+ Solve the issue by resetting the GtkAdjustment in the
+ destructor of ScrollbarGtk.
+
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::~ScrollbarGtk):
+
+2009-05-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Clean up window.open()'s use of lexical and dynamic scope.
+
+ (Added one unreviewed tweak: use dynamicFrame instead of lexicalFrame
+ for DOMWindow::allowPopUp.)
+
+ Test: http/tests/security/frameNavigation/context-for-window-open.html
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::toDynamicFrame):
+ (WebCore::processingUserGesture):
+ (WebCore::completeURL):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::createWindow):
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::createWindow):
+
+2009-05-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26056
+ XPath string() function can be very slow
+
+ * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Use an intermediate Vector when appending.
+
+2009-05-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/6927761> <isindex> placeholder text is unstylable
+ and initially not visible
+
+ Test: fast/forms/isindex-placeholder.html
+
+ * css/html4.css: Added a default style for <isindex> placeholder text.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call
+ the new protected function updatePlaceholderVisibility().
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::updatePlaceholderVisibility): Added this
+ protected function to allow HTMLIsIndexElement::parseMappedAttribute()
+ to invoke InputElement::updatePlaceholderVisibility().
+ * html/HTMLIsIndexElement.cpp:
+ (WebCore::HTMLIsIndexElement::parseMappedAttribute): Call
+ updatePlaceholderVisibility() when parsing the placeholder attribute.
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::createInnerTextStyle): If there
+ is no placeholder pseudo-element style, use the normal style.
+
+2009-05-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ More cleanup of DOMWindow related functions.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::willRemoveFromWindowShell): Renamed from JSDOMWindowBase::clear()
+ * bindings/js/JSDOMWindowBase.h:
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::showModalDialog): Update Comment.
+
+ * bindings/js/JSDOMWindowShell.cpp:
+ * bindings/js/JSDOMWindowShell.h:
+ Remove JSDOMWindowShell::clear(). It was unused.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell):
+
+2009-05-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Miscellaneous cleanup of DOMWindow related functions.
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): Fix poorly named variables.
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::supportsProfiling): Don't jump through hoops
+ checking for null frames if the build does not support profiling.
+ (WebCore::JSDOMWindowBase::clear): Use setCurrentEvent(0) instead of calling
+ clearHelperObjectProperties(). It is clearer.
+ * bindings/js/JSDOMWindowBase.h:
+ Removed now unused clearHelperObjectProperties() function, empty disconnectFrame()
+ function, and the empty destructor.
+ * bindings/js/JSDOMWindowShell.cpp:
+ * bindings/js/JSDOMWindowShell.h:
+ Remove disconnectFrame() which only called JSDOMWindowBase::disconnectFrame(), which
+ is a no-op.
+ * page/Frame.cpp:
+ (WebCore::Frame::~Frame):
+ (WebCore::Frame::pageDestroyed):
+ Remove calls to JSDOMWindowShell::disconnectFrame() which only called
+ JSDOMWindowBase::disconnectFrame(), which is a no-op.
+
+2009-05-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25974
+ Remove extra qualifiers from the ScheduledAction decl.
+
+ * bindings/v8/ScheduledAction.h: Removed extraneous class qualifiers.
+
+2009-05-27 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed make distcheck fix. One more missing file.
+
+ * GNUmakefile.am:
+
+2009-05-27 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fixed trunk build on Linux after r44126.
+
+ * WebCore.pro:
+
+2009-05-27 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/6926046> REGRESSION (r43972): http://www.youtube.com/html5 crashes on open
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::load): Don't look for a media engine based on an empty MIME type.
+
+2009-05-27 David Levin <levin@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 26029: FrameLoader::canLoad should allow calls with just a security origin
+ https://bugs.webkit.org/show_bug.cgi?id=26029
+
+ No functional changes, so no tests.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::canLoad):
+ * loader/FrameLoader.h:
+
+2009-05-27 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed build fix.
+
+ Remove file that does not exist from the build.
+
+ * GNUmakefile.am:
+
+2009-05-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Darin Adler.
+
+ Remove two unneeded protected constructors, these classes have pure-virtual functions, and can't be constructed anyway.
+
+ * dom/InputElement.h:
+ * dom/OptionGroupElement.h:
+
+2009-05-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=17725
+ XPath should be case insensitive for HTML
+
+ Test: fast/xpath/node-name-case-sensitivity.html
+
+ * xml/XPathStep.cpp: (WebCore::XPath::Step::nodeMatches): Made node name check case insensitive
+ for HTML elements in HTML documents.
+
+2009-05-27 John Sullivan <sullivan@apple.com>
+
+ fixed <rdar://problem/6925482> repro crash in WebCore::DragController::dragExited dropping
+ bookmarks (at least) over Top Sites (at least)
+
+ Reviewed by Kevin Decker
+
+ * page/DragController.cpp:
+ (WebCore::DragController::dragExited):
+ nil check m_documentUnderMouse and take the "local file" case if it's nil
+
+2009-05-27 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Gustavo Noronha.
+
+ When building on window, consider Windows specific files.
+
+ * GNUmakefile.am:
+
+2009-05-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26031
+
+ InputElementData is too heavy, save storing two pointers by passing them
+ directly to the static helper functions (the only place which needs them).
+
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::dispatchFocusEvent):
+ (WebCore::InputElement::dispatchBlurEvent):
+ (WebCore::InputElement::updatePlaceholderVisibility):
+ (WebCore::InputElement::updateFocusAppearance):
+ (WebCore::InputElement::updateSelectionRange):
+ (WebCore::InputElement::aboutToUnload):
+ (WebCore::InputElement::setValueFromRenderer):
+ (WebCore::InputElement::constrainValue):
+ (WebCore::InputElement::handleBeforeTextInsertedEvent):
+ (WebCore::InputElement::parseSizeAttribute):
+ (WebCore::InputElement::parseMaxLengthAttribute):
+ (WebCore::InputElement::updateValueIfNeeded):
+ (WebCore::InputElement::notifyFormStateChanged):
+ (WebCore::InputElementData::InputElementData):
+ * dom/InputElement.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ (WebCore::HTMLInputElement::updateFocusAppearance):
+ (WebCore::HTMLInputElement::aboutToUnload):
+ (WebCore::HTMLInputElement::dispatchFocusEvent):
+ (WebCore::HTMLInputElement::dispatchBlurEvent):
+ (WebCore::HTMLInputElement::setInputType):
+ (WebCore::HTMLInputElement::setSelectionRange):
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::setValue):
+ (WebCore::HTMLInputElement::setValueFromRenderer):
+ (WebCore::HTMLInputElement::setFileListFromRenderer):
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ (WebCore::HTMLInputElement::constrainValue):
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::WMLInputElement):
+ (WebCore::WMLInputElement::dispatchFocusEvent):
+ (WebCore::WMLInputElement::dispatchBlurEvent):
+ (WebCore::WMLInputElement::updateFocusAppearance):
+ (WebCore::WMLInputElement::aboutToUnload):
+ (WebCore::WMLInputElement::setValue):
+ (WebCore::WMLInputElement::setValueFromRenderer):
+ (WebCore::WMLInputElement::parseMappedAttribute):
+ (WebCore::WMLInputElement::defaultEventHandler):
+ (WebCore::WMLInputElement::constrainValue):
+
+2009-05-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26033
+
+ OptionElementData saves an Element pointer, which is unnessary.
+ Just pass it to the static function calls directly.
+
+ * dom/OptionElement.cpp:
+ (WebCore::OptionElement::setSelectedState):
+ (WebCore::OptionElement::collectOptionText):
+ (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
+ (WebCore::OptionElement::collectOptionValue):
+ (WebCore::OptionElementData::OptionElementData):
+ * dom/OptionElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::HTMLOptionElement):
+ (WebCore::HTMLOptionElement::text):
+ (WebCore::HTMLOptionElement::value):
+ (WebCore::HTMLOptionElement::setSelected):
+ (WebCore::HTMLOptionElement::setSelectedState):
+ (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
+ * wml/WMLOptionElement.cpp:
+ (WebCore::WMLOptionElement::WMLOptionElement):
+ (WebCore::WMLOptionElement::setSelectedState):
+ (WebCore::WMLOptionElement::value):
+ (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
+
+2009-05-27 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Maciej Stachowiak.
+
+ When building with MinGW, don't use the __declspec(dl{import,export})
+ decorations and rely on the linker to use its nifty auto-import feature.
+ It is extremely hard to get the decorations right with MinGW in general
+ and impossible in WebKit, where the resulting shared library is linking
+ together some static libraries.
+
+ * config.h:
+
+2009-05-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25613
+
+ Add a WebCore::Widget that can embed GtkWidget with and
+ without a GdkWindow. This can be used to embed any GtkWidget.
+
+ Some bits are directly copied from the Scrollbar implementation
+ but can not be easily shared here.
+
+ * GNUmakefile.am:
+ * platform/gtk/GtkPluginWidget.cpp: Added.
+ (WebCore::GtkPluginWidget::GtkPluginWidget):
+ (WebCore::GtkPluginWidget::invalidateRect):
+ (WebCore::GtkPluginWidget::frameRectsChanged):
+ (WebCore::GtkPluginWidget::paint):
+ * platform/gtk/GtkPluginWidget.h: Added.
+
+2009-05-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25613.
+
+ Implement Widget::setIsSelected for Gtk+ by searching
+ for a property of the name "webkit-widget-is-selected" and if
+ such property exists we are going to set it. We expect
+ the property to take a boolean.
+
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::setIsSelected):
+
+2009-05-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Fix for <rdar://problem/6916371>
+ iWeb 'Announce' button does nothing after publishing to MobileMe
+
+ Add ability to force content sniffing for all urls (including file: urls)
+
+ * WebCore.base.exp:
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::shouldContentSniffURL):
+ (WebCore::ResourceHandle::forceContentSniffing):
+ * platform/network/ResourceHandle.h:
+
+2009-05-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25996
+
+ [Qt] Dead-code stripping for unix
+
+ * WebCore.pro: Turn on GCC dead-code stripping flags for Unix
+
+2009-05-10 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25646
+
+ [GTK] Send onscroll events for the main FrameView
+
+ WebKit/GTK+ is currently not sending any onscroll
+ events for a frame with external adjustments. This is
+ due the fact that the value-changed signal of the GtkAdjustment
+ is handled by WebCore::ScrollView directly and is not going through
+ the WebCore::Scrollbar -> WebCore::ScrollbarClient ->
+ WebCore::FrameView::valueChanged -> WebCore::ScrollView::valueChanged
+ path.
+
+ Fix the above problem by wrapping the GtkAdjustment we get
+ assigned from GTK+ in a ScrollbarGtk that will not have any
+ visual appearance. Remove code from ScrollView that knows
+ about adjustments and create a special case for
+ WebCore::ScrollView::createScrollbar that will create such
+ a special WebCore::ScrollbarGtk.
+
+ * platform/ScrollView.cpp: Remove adjustment code
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h: Remove adjustment code
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::platformDestroy):
+ (WebCore::ScrollView::createScrollbar):
+ (WebCore::ScrollView::setGtkAdjustments):
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::createScrollbar): Special case.
+ (ScrollbarGtk::ScrollbarGtk): New ctor and work on the adjustment
+ (ScrollbarGtk::~ScrollbarGtk): Disconnect signal
+ (ScrollbarGtk::frameRectsChanged): Do nothing when we lack a platformWidget
+ * platform/gtk/ScrollbarGtk.h:
+
+2009-05-26 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 26035: Make ImageSource::frameHasAlphaAtIndex() return false for JPEGs with CG
+ <https://bugs.webkit.org/show_bug.cgi?id=26035>
+ <rdar://problem/6924087>
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::frameHasAlphaAtIndex): return false if the image
+ is JPEG, there is no image type, or m_decoder is null.
+
+2009-05-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed build fix for the JPEGImageDecoder.
+
+ Revision 44167 removed stdio.h from the included headers and
+ this will lead to an error that FILE is not known inside the
+ jpeglib.h Put back the stdio.h include.
+
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
+
+2009-05-26 Yichao Yin <yichao.yin@torchmobile.com.cn>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix the crash issue while running layout tests after enalbed XHTMLMP
+ https://bugs.webkit.org/show_bug.cgi?id=26017
+
+ * dom/Document.cpp:
+ (WebCore::Document::isXHTMLMPDocument):
+
+2009-05-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6901751>
+ REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
+
+ Don't use the WKCGContextIsSafeToClip function; it wasn't working correctly. Instead, just disable
+ the improved selection drawing on Tiger.
+
+ * WebCore.Tiger.exp:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::clipOut):
+ (WebCore::GraphicsContext::clipOutEllipseInRect):
+ (WebCore::GraphicsContext::clipPath):
+ (WebCore::GraphicsContext::addInnerRoundedRectClip):
+ (WebCore::GraphicsContext::strokeRect):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::fillSelectionGaps):
+
+2009-05-26 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25709 part two
+ Mostly cosmetic changes, mainly to get image decoders for Cairo build to
+ comply with WebKit style guidelines:
+ * Fix header guard names
+ * Fix initializer list wrapping
+ * Fix class/function "{" wrapping
+ * Fix wrapping of long boolean expressions
+ * Fix whitespace around operators
+ * Eliminate whitespace on otherwise-blank lines
+ * No {} on single-line conditional arms
+ * Use 0 instead of NULL
+ * Don't #include "config.h" in headers
+
+ Also a few non-cosmetic changes:
+ * Remove unneeded #ifdef protecting the contents of these files. The
+ platforms listed don't match who uses these files anymore (even
+ without considering Skia), and platforms which don't use them at all
+ (like CG) aren't harmed by the files, since they don't have
+ equivalently-named classes. It's simpler to just ditch these.
+ * Convert a use of Vector<>& into SharedBuffer*, since that's how the
+ data is really stored anyway.
+ * Use size() instead of m_size, for consistency with Skia code, and
+ future-proofing (if a particular decoder wants to specialize this).
+ * Move an ASSERT that was slightly more aggressive than necessary.
+ * Change variable names/types for clarity/accuracy and to match Skia.
+ * Remove unnecessary macro magic to work around a problem which no
+ longer exists in the third-party JPEG headers.
+ * Stop silencing a portability warning about setjmp (the vcproj/vsprops
+ are the right place for this)
+ * In Skia code, don't explicitly check |m_failed| before calling
+ isSizeAvailable(), which itself checks |m_failed|.
+
+ * platform/image-decoders/ImageDecoder.h: Fix header guards, "{" wrapping.
+ (WebCore::RGBA32Buffer::):
+ (WebCore::RGBA32Buffer::RGBA32Buffer): Fix initializer list wrapping.
+ (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
+ * platform/image-decoders/bmp/BMPImageDecoder.cpp: Remove unneeded #ifdef.
+ * platform/image-decoders/bmp/BMPImageDecoder.h: Fix header guards, "{" wrapping.
+ * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove unneeded #ifdef, fix "{" wrapping.
+ (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): Use an initializer instead of a block-level statement.
+ (WebCore::GIFImageDecoderPrivate::decode): Expect a SharedBuffer.
+ (WebCore::GIFImageDecoderPrivate::getColorMap):
+ (WebCore::GIFImageDecoder::GIFImageDecoder): Fix initializer list wrapping.
+ (WebCore::GIFImageDecoder::frameCount): Add comment.
+ (WebCore::GIFImageDecoder::frameBufferAtIndex): Explicitly cast, fix whitespace around operators.
+ (WebCore::GIFImageDecoder::decode): Pass a SharedBuffer.
+ (WebCore::GIFImageDecoder::initFrameBuffer): Use size() instead of m_size, move ASSERT, fix boolean wrapping, fix indenting.
+ (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): Use size() instead of m_size.
+ (WebCore::GIFImageDecoder::haveDecodedRow): Use size() instead of m_size, eliminate unneeded whitespace, change variable name.
+ (WebCore::GIFImageDecoder::frameComplete): Use size() instead of m_size, no {} on single-line conditional arms, fix boolean wrapping.
+ * platform/image-decoders/gif/GIFImageDecoder.h: Fix header guards, "{" wrapping.
+ * platform/image-decoders/gif/GIFImageReader.cpp: Remove unneeded #ifdef.
+ (GIFImageReader::read):
+ * platform/image-decoders/gif/GIFImageReader.h: Fix header guards, change variable type.
+ * platform/image-decoders/ico/ICOImageDecoder.cpp: Remove unneeded #ifdef.
+ * platform/image-decoders/ico/ICOImageDecoder.h: Fix header guards, "{" wrapping.
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove unneeded #ifdef, macro magic, silencing of warning.
+ (WebCore::JPEGImageDecoder::outputScanlines): Use size() instead of m_size, change variable name.
+ * platform/image-decoders/jpeg/JPEGImageDecoder.h: Fix header guards, "{" wrapping.
+ * platform/image-decoders/png/PNGImageDecoder.cpp: Remove unneeded #ifdef, silencing of warning, change variable type.
+ (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
+ (WebCore::PNGImageReader::close): Add comment, zero another member for consistency.
+ (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
+ (WebCore::PNGImageDecoder::decodingFailed): Define in .cpp, not .h.
+ (WebCore::PNGImageDecoder::rowAvailable):
+ * platform/image-decoders/png/PNGImageDecoder.h: Fix header guards, "{" wrapping.
+ * platform/image-decoders/skia/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
+ (WebCore::GIFImageDecoder::frameBufferAtIndex): Fix whitespace around operators.
+ * platform/image-decoders/skia/GIFImageReader.h: "unsigned" is sufficient to convey "unsigned int".
+ * platform/image-decoders/skia/ImageDecoder.h: Remove unnecessary #includes.
+ (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
+ * platform/image-decoders/skia/JPEGImageDecoder.cpp:
+ (WebCore::JPEGImageReader::JPEGImageReader): Use 0 instead of NULL.
+ (WebCore::JPEGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
+ * platform/image-decoders/skia/PNGImageDecoder.cpp:
+ (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
+ (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
+ (WebCore::PNGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
+ (WebCore::rowAvailable):
+ * platform/image-decoders/skia/XBMImageDecoder.h: Don't #include config.h.
+ * platform/image-decoders/xbm/XBMImageDecoder.cpp: Remove unneeded #ifdef.
+ * platform/image-decoders/xbm/XBMImageDecoder.h: Fix header guards, "{" wrapping.
+
+2009-05-26 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25944
+ Remove the uses of V8 Locker in worker execution code. No additional test is needed.
+ The normal WebKit layout tests should cover it. However, layout tests that start
+ multiple workers will fail to pass due to test shell limitation in Chromium. To cover
+ this, UI tests will be added (http://code.google.com/p/chromium/issues/detail?id=12554).
+
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::V8WorkerContextEventListener::handleEvent):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::dispose):
+ (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper):
+ (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
+
+2009-05-26 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25974
+ Enable timers in Chromuim workers.
+
+ * bindings/v8/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute): Added function which can execute a callback using WorkerContext.
+ * bindings/v8/ScheduledAction.h:
+ (WebCore::ScheduledAction::ScheduledAction): added url parameter to capture the worker's location.
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval): replaced NotImplemented with code to create ScheduledAction and DOMTimer.
+ Also, removed declarations for clearTimeout/clearInterval callbacks since they are now directly generated from IDL.
+
+2009-05-26 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23649
+ Update V8 bindings to match SQLTransactionErrorCallback change.
+
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): Changed to return void.
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Ditto.
+
+2009-05-26 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Move FilterEffect to platform/graphics/filters. First step to get an
+ SVG independent filter system.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/FilterEffect.cpp: Added.
+ (WebCore::FilterEffect::FilterEffect):
+ (WebCore::FilterEffect::~FilterEffect):
+ (WebCore::FilterEffect::externalRepresentation):
+ * platform/graphics/filters/FilterEffect.h: Added.
+ (WebCore::FilterEffect::xBoundingBoxMode):
+ (WebCore::FilterEffect::setXBoundingBoxMode):
+ (WebCore::FilterEffect::yBoundingBoxMode):
+ (WebCore::FilterEffect::setYBoundingBoxMode):
+ (WebCore::FilterEffect::widthBoundingBoxMode):
+ (WebCore::FilterEffect::setWidthBoundingBoxMode):
+ (WebCore::FilterEffect::heightBoundingBoxMode):
+ (WebCore::FilterEffect::setHeightBoundingBoxMode):
+ (WebCore::FilterEffect::subRegion):
+ (WebCore::FilterEffect::setSubRegion):
+ (WebCore::FilterEffect::resultImage):
+ (WebCore::FilterEffect::setEffectBuffer):
+ * svg/FilterEffect.cpp: Removed.
+ * svg/FilterEffect.h: Removed.
+
+2009-05-26 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23649
+ Update SQLTransactionErrorCallback to not return a value per changes in
+ HTML5 spec.
+
+ Test: storage/transaction-error-callback.html
+
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.h:
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::SQLTransaction):
+ (WebCore::SQLTransaction::postflightAndCommit):
+ (WebCore::SQLTransaction::handleTransactionError):
+ (WebCore::SQLTransaction::deliverTransactionErrorCallback):
+ (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
+ * storage/SQLTransaction.h:
+ * storage/SQLTransactionErrorCallback.h:
+
+2009-05-26 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=25969
+
+ Detect the case where we can fit without scrollbars when the view shrinks, so that we don't mistakenly
+ continue to show scrollbars.
+
+ Added two tests in fast/dynamic.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2009-05-26 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Bug 25801: change AccessibilityAria -> AccessibilityARIA
+ https://bugs.webkit.org/show_bug.cgi?id=25801
+
+ * GNUmakefile.am:
+ * WebCore.order:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::getOrCreate):
+ * accessibility/AccessibilityARIAGrid.cpp: Copied from WebCore/accessibility/AccessibilityAriaGrid.cpp.
+ (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
+ (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
+ (WebCore::AccessibilityARIAGrid::create):
+ (WebCore::AccessibilityARIAGrid::addChild):
+ (WebCore::AccessibilityARIAGrid::addChildren):
+ (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
+ * accessibility/AccessibilityARIAGrid.h: Copied from WebCore/accessibility/AccessibilityAriaGrid.h.
+ * accessibility/AccessibilityARIAGridCell.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridCell.cpp.
+ (WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell):
+ (WebCore::AccessibilityARIAGridCell::~AccessibilityARIAGridCell):
+ (WebCore::AccessibilityARIAGridCell::create):
+ (WebCore::AccessibilityARIAGridCell::parentTable):
+ (WebCore::AccessibilityARIAGridCell::rowIndexRange):
+ (WebCore::AccessibilityARIAGridCell::columnIndexRange):
+ * accessibility/AccessibilityARIAGridCell.h: Copied from WebCore/accessibility/AccessibilityAriaGridCell.h.
+ * accessibility/AccessibilityARIAGridRow.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridRow.cpp.
+ (WebCore::AccessibilityARIAGridRow::AccessibilityARIAGridRow):
+ (WebCore::AccessibilityARIAGridRow::~AccessibilityARIAGridRow):
+ (WebCore::AccessibilityARIAGridRow::create):
+ (WebCore::AccessibilityARIAGridRow::parentTable):
+ (WebCore::AccessibilityARIAGridRow::headerObject):
+ * accessibility/AccessibilityARIAGridRow.h: Copied from WebCore/accessibility/AccessibilityAriaGridRow.h.
+ * accessibility/AccessibilityAriaGrid.cpp: Removed.
+ * accessibility/AccessibilityAriaGrid.h: Removed.
+ * accessibility/AccessibilityAriaGridCell.cpp: Removed.
+ * accessibility/AccessibilityAriaGridCell.h: Removed.
+ * accessibility/AccessibilityAriaGridRow.cpp: Removed.
+ * accessibility/AccessibilityAriaGridRow.h: Removed.
+
+2009-05-26 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26012
+
+ Fix the Skia path to normalize the given source rect when
+ drawing patterns, so it accepts negative width/height (as CG does).
+ Fixes Chromium bug http://www.crbug.com/6167.
+ * platform/graphics/skia/ImageSkia.cpp:
+ (WebCore::Image::drawPattern):
+
+2009-05-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Serialize calls to WebInspector. This is the first step where method
+ calls are being serialized to arrays (not yet JSON stringified ones) and
+ are being dispatched on the client. This change also allows client to override
+ InspectorFrontend, so that the serialized calls can be made on a given object
+ instead of in-process WebInspector global. This will be the main control flow
+ when InspectorController is decoupled from the in-process frontend.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26010
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::overrideFrontendObject):
+ (WebCore::InspectorController::show):
+ (WebCore::InspectorController::populateScriptObjects):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::addMessageToConsole):
+ (WebCore::InspectorFrontend::addResource):
+ (WebCore::InspectorFrontend::updateResource):
+ (WebCore::InspectorFrontend::removeResource):
+ (WebCore::InspectorFrontend::updateFocusedNode):
+ (WebCore::InspectorFrontend::setAttachedWindow):
+ (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
+ (WebCore::InspectorFrontend::showPanel):
+ (WebCore::InspectorFrontend::populateInterface):
+ (WebCore::InspectorFrontend::reset):
+ (WebCore::InspectorFrontend::debuggerWasEnabled):
+ (WebCore::InspectorFrontend::debuggerWasDisabled):
+ (WebCore::InspectorFrontend::profilerWasEnabled):
+ (WebCore::InspectorFrontend::profilerWasDisabled):
+ (WebCore::InspectorFrontend::parsedScriptSource):
+ (WebCore::InspectorFrontend::failedToParseScriptSource):
+ (WebCore::InspectorFrontend::addProfile):
+ (WebCore::InspectorFrontend::setRecordingProfile):
+ (WebCore::InspectorFrontend::pausedScript):
+ (WebCore::InspectorFrontend::resumedScript):
+ (WebCore::InspectorFrontend::addDatabase):
+ (WebCore::InspectorFrontend::addDOMStorage):
+ (WebCore::InspectorFrontend::newFunctionCall):
+ (WebCore::InspectorFrontend::callSimpleFunction):
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/inspector.js:
+ (WebInspector.dispatch):
+
+2009-05-25 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6918671> REGRESSION (r41700): Crashes in debug DumpRenderTree at RefCountedBase::ref().
+
+ * dom/QualifiedName.cpp: (WebCore::QualifiedName::QualifiedName):
+ * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
+ Adjust empty namespace before QNameComponentsTranslator black magic, not after.
+
+2009-05-25 David Levin <levin@chromium.org>
+
+ Reviewed by Maciej Stachowiak and Oliver Hunt.
+
+ Added forwarding headers.
+
+ * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added.
+ * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added.
+
+2009-05-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - WebCore side of <rdar://problem/6914001>.
+
+ Add a new m_allowPopupsFromPlugin flag.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ (WebCore::ScriptController::processingUserGesture):
+ * bindings/js/ScriptController.h:
+ (WebCore::ScriptController::setAllowPopupsFromPlugin):
+ (WebCore::ScriptController::allowPopupsFromPlugin):
+
+2009-05-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26006
+
+ Sort out our use of dynamicGlobalObject and lexicalGlobalObject for
+ window.location. The correct use appears to be as follows:
+
+ 1) Use dynamicGlobalObject to find the user gesture.
+ 2) Use dynamicGlobalObject to complete URLs.
+ 3) Use lexicalGlobalObject to find the referrer.
+ 4) Use lexicalGlobalObject for the frame navigation checks.
+ 5) Use lexicalGlobalObject for the XSS checks.
+
+ Tests: http/tests/security/frameNavigation/context-for-location-assign.html
+ http/tests/security/frameNavigation/context-for-location-href.html
+ http/tests/security/frameNavigation/context-for-location.html
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::shouldAllowNavigation):
+ (WebCore::toLexicalFrame):
+ (WebCore::processingUserGesture):
+ (WebCore::completeURL):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::navigateIfAllowed):
+ (WebCore::JSLocation::setHref):
+ (WebCore::JSLocation::replace):
+ (WebCore::JSLocation::reload):
+ (WebCore::JSLocation::assign):
+ (WebCore::JSLocation::toString):
+ (WebCore::JSLocationPrototype::customPut):
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::processingUserGesture):
+ (WebCore::shouldAllowNavigation):
+ (WebCore::completeURL):
+ (WebCore::navigateIfAllowed):
+ * bindings/v8/V8Utilities.h:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8Custom::WindowSetLocation):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-05-25 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Maciej Stachowiak.
+
+ With Windows compilers older then MSVC 2005, the functions
+ gmtime_s and localtime_s don't exist. The gmtime and localtime are
+ on Windows always thread safe. So use them in the cases where
+ gmtime_s and localtime_s are not present.
+
+ * loader/FTPDirectoryDocument.cpp:
+ * loader/FTPDirectoryParser.cpp:
+
+2009-05-25 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ Follow up on r44120. PluginPackageMac.cpp is used
+ by Qt on Mac and contained a copy of the m_browserFunc
+ assignments and ::equal, ::hash and ::compareFileVersion.
+ Change it to use the ones from PluginPackage.cpp as well.
+
+ * plugins/mac/PluginPackageMac.cpp:
+ (WebCore::PluginPackage::load):
+
+2009-05-25 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25612
+
+ Support conditionals in the tag factories, by placing
+ feature #ifdefs around the individual factory functions
+ and the registration.
+
+ Made the Audio and Video elements conditional in the tag factories
+
+ * html/HTMLTagNames.in:
+ * dom/make_names.pl:
+
+2009-05-25 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Gtk build when video is disabled.
+
+ * GNUmakefile.am: Always generate and compile the IDL files for the media
+ elements. They contain proper feature #ifdefs.
+
+2009-05-25 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build when video is disabled.
+
+ * WebCore.pro: Always generate the IDL files for the media elements. They
+ contain proper ENABLE(VIDEO) #ifdefs.
+
+2009-05-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26004
+
+ The origin for postMessage should follow lexical scope, not dynamic
+ scope. Yes, this is a super-obscure corner case.
+
+ Test: http/tests/security/postMessage/origin-follows-lexical-scope.html
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::postMessage):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-05-24 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix build bustage related to PassOwnPtr changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25999
+
+ * platform/graphics/chromium/TransparencyWin.cpp:
+
+2009-05-24 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25988
+
+ Minor cleanup in PluginPackage::hash. Let the compiler
+ figure out the size of the array. Do not have it in the
+ definition and specially not the in the call to
+ StringImpl::hash.
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::hash):
+
+2009-05-24 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25988
+
+ Move ::hash, ::equal and ::compareFileVersion from
+ the duplicated copies in PluginPackageQt.cpp and
+ PluginPackageGtk to PluginPackage.cpp. We need to #ifdef
+ this for the PluginPackageWin version. Use the new style
+ ENABLE() for this feature/policy and enable it in the Gtk+
+ and Qt buildsystem.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::hash):
+ (WebCore::PluginPackage::equal):
+ (WebCore::PluginPackage::compareFileVersion):
+ * plugins/gtk/PluginPackageGtk.cpp:
+ * plugins/qt/PluginPackageQt.cpp:
+
+2009-05-24 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25988
+
+ So far the initialization of the browserfuncs struct
+ is done in PluginPackageQt, PluginPackageGtk and
+ PluginPackageWin there is no need for this duplication.
+
+ The PluginPackageWin version got copied to PluginPackage
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::initializeBrowserFuncs):
+ * plugins/PluginPackage.h:
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::load):
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::load):
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load):
+
+2009-05-24 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ WebKit needs cross-platform filter system
+ [https://bugs.webkit.org/show_bug.cgi?id=19991]
+
+ Added standard input for filter system.
+
+ No testcases were added. Filter system is still off.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/SourceAlpha.cpp: Added.
+ (WebCore::SourceAlpha::create):
+ (WebCore::SourceAlpha::effectName):
+ (WebCore::SourceAlpha::apply):
+ (WebCore::SourceAlpha::dump):
+ * platform/graphics/filters/SourceAlpha.h: Added.
+ (WebCore::SourceAlpha::SourceAlpha):
+ * platform/graphics/filters/SourceGraphic.cpp: Added.
+ (WebCore::SourceGraphic::create):
+ (WebCore::SourceGraphic::effectName):
+ (WebCore::SourceGraphic::apply):
+ (WebCore::SourceGraphic::dump):
+ * platform/graphics/filters/SourceGraphic.h: Added.
+ (WebCore::SourceGraphic::SourceGraphic):
+ * svg/FilterBuilder.cpp: Added.
+ (WebCore::FilterBuilder::FilterBuilder):
+ (WebCore::FilterBuilder::add):
+ (WebCore::FilterBuilder::getEffectById):
+ (WebCore::FilterBuilder::clearEffects):
+ * svg/FilterBuilder.h:
+
+2009-05-24 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25612
+
+ Add support conditionals in the JSC bindings generator code for attributes,
+ by placing feature #ifdefs around the setters/getters.
+
+ Made the audio and video element specific DOM attributes conditional
+ in the generated code, by moving the #ifdefs from the IDL files into
+ the generated code. This allows for re-using the same generated code
+ with or without ENABLE(VIDEO).
+
+ * page/DOMWindow.idl:
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-05-23 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed build fix for Qt. Change signature to have PassOwnPtr.
+
+ * platform/text/qt/TextCodecQt.cpp:
+ (WebCore::newTextCodecQt):
+
+2009-05-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - clean up ColorMac a little
+
+ * platform/graphics/mac/ColorMac.h: Whitespace change.
+ * platform/graphics/mac/ColorMac.mm: Removed redundant #import
+ statements and sorted the remaining ones.
+ (WebCore::makeRGBAFromNSColor): Replaced four Objective-C method calls
+ with a single call and removed redundant casts to int.
+ (WebCore::nsColor): Removed ".0f" from number literals used as CGFloats.
+ In one case, this avoids an intermediate conversion to float before
+ conversion to double on 64-bit.
+ (WebCore::CGColorFromNSColor): Replaced four Objective-C method calls
+ with a single call.
+ (WebCore::focusRingColor):
+ (+[WebCoreControlTintObserver controlTintDidChange]): Whitespace change.
+
+2009-05-23 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] ROLE_ROW_HEADER should not be used for list item bullets/numbers
+ https://bugs.webkit.org/show_bug.cgi?id=25900
+
+ Use ATK_ROLE_TEXT for ListMarkerRole.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (atkRole):
+
+2009-05-23 David Kilzer <ddkilzer@apple.com>
+
+ Reformat WebCore::requiresContextForWordBoundary()
+
+ * platform/text/TextBoundaries.h:
+ (WebCore::requiresContextForWordBoundary):
+
+2009-05-23 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Roll out ResourceHandle patch, that I accidently included in my last commit.
+
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::shouldContentSniffURL):
+
+2009-05-23 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Darin Adler.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=23808
+
+ After a long journey, add the last missing ABC to share form control element support with HTMLSelectElement.
+ RenderListBox/RenderMenuList operates on SelectElement instead of HTMLSelectElement now, querying selected index etc.
+ This makes it possible to use these render objects for ie. WML, as it's done before for input & option elements.
+
+ WMLSelectElement will be created soon, in a follow-up patch, adding more methods to SelectElement, sharing code between
+ HTMLSelectElement/WMLSelectElement.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::addChildren):
+ (WebCore::AccessibilityListBox::doAccessibilityHitTest):
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::actionElement):
+ * dom/Element.h:
+ (WebCore::Element::isFormControlElement):
+ (WebCore::Element::dispatchFormControlChangeEvent):
+ * dom/SelectElement.cpp: Added.
+ (WebCore::toSelectElement):
+ * dom/SelectElement.h: Added.
+ (WebCore::SelectElement::~SelectElement):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
+ * html/HTMLFormControlElement.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setChecked):
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::index):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::selectedIndex):
+ (WebCore::HTMLSelectElement::lastSelectedListIndex):
+ (WebCore::HTMLSelectElement::deselectItems):
+ (WebCore::HTMLSelectElement::setSelectedIndex):
+ (WebCore::HTMLSelectElement::length):
+ (WebCore::HTMLSelectElement::remove):
+ (WebCore::HTMLSelectElement::value):
+ (WebCore::HTMLSelectElement::setValue):
+ (WebCore::HTMLSelectElement::saveFormControlState):
+ (WebCore::HTMLSelectElement::restoreFormControlState):
+ (WebCore::HTMLSelectElement::selectAll):
+ (WebCore::HTMLSelectElement::appendFormData):
+ (WebCore::HTMLSelectElement::optionToListIndex):
+ (WebCore::HTMLSelectElement::listToOptionIndex):
+ (WebCore::HTMLSelectElement::recalcListItems):
+ (WebCore::HTMLSelectElement::reset):
+ (WebCore::HTMLSelectElement::dispatchFocusEvent):
+ (WebCore::HTMLSelectElement::dispatchBlurEvent):
+ (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
+ (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
+ (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
+ (WebCore::HTMLSelectElement::updateListBoxSelection):
+ (WebCore::HTMLSelectElement::menuListOnChange):
+ (WebCore::HTMLSelectElement::listBoxOnChange):
+ (WebCore::HTMLSelectElement::saveLastSelection):
+ (WebCore::HTMLSelectElement::typeAheadFind):
+ (WebCore::HTMLSelectElement::nextSelectableListIndex):
+ (WebCore::HTMLSelectElement::previousSelectableListIndex):
+ (WebCore::HTMLSelectElement::setLength):
+ (WebCore::HTMLSelectElement::checkListItems):
+ * html/HTMLSelectElement.h:
+ (WebCore::HTMLSelectElement::size):
+ (WebCore::HTMLSelectElement::multiple):
+ (WebCore::HTMLSelectElement::listItems):
+ (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::shouldContentSniffURL):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::valueChanged):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::RenderListBox):
+ (WebCore::RenderListBox::updateFromElement):
+ (WebCore::RenderListBox::scrollToRevealSelection):
+ (WebCore::RenderListBox::size):
+ (WebCore::RenderListBox::numItems):
+ (WebCore::RenderListBox::paintItemForeground):
+ (WebCore::RenderListBox::paintItemBackground):
+ (WebCore::RenderListBox::panScroll):
+ (WebCore::RenderListBox::autoscroll):
+ (WebCore::RenderListBox::stopAutoscroll):
+ (WebCore::RenderListBox::valueChanged):
+ (WebCore::RenderListBox::nodeAtPoint):
+ * rendering/RenderListBox.h:
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::RenderMenuList):
+ (WebCore::RenderMenuList::updateOptionsWidth):
+ (WebCore::RenderMenuList::updateFromElement):
+ (WebCore::RenderMenuList::setTextFromOption):
+ (WebCore::RenderMenuList::showPopup):
+ (WebCore::RenderMenuList::valueChanged):
+ (WebCore::RenderMenuList::itemText):
+ (WebCore::RenderMenuList::itemIsEnabled):
+ (WebCore::RenderMenuList::itemStyle):
+ (WebCore::RenderMenuList::itemBackgroundColor):
+ (WebCore::RenderMenuList::listSize):
+ (WebCore::RenderMenuList::selectedIndex):
+ (WebCore::RenderMenuList::itemIsSeparator):
+ (WebCore::RenderMenuList::itemIsLabel):
+ (WebCore::RenderMenuList::itemIsSelected):
+ (WebCore::RenderMenuList::setTextFromItem):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::setValueForPosition):
+
+2009-05-23 David Kilzer <ddkilzer@apple.com>
+
+ Fix Gtk/Qt builds for PassOwnPtr
+
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::Image::drawPattern): Use an OwnPtr<ImageBuffer>
+ instead of an std::auto_ptr<ImageBuffer> to store the result of
+ ImageBuffer::create() now that it returns a
+ PassOwnPtr<ImageBuffer>.
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::strokeContains): Ditto.
+ (WebCore::Path::strokeBoundingRect): Ditto.
+
+2009-05-23 David Kilzer <ddkilzer@apple.com>
+
+ Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25495>
+
+ Reviewed by Oliver Hunt.
+
+ No test cases added since there is no change in behavior.
+
+ * WebCore.base.exp: Updated export for
+ HistoryItem::setRedirectURLs() which now takes a PassOwnPtr.
+ * dom/Node.cpp:
+ (WebCore::Node::childNodes): Use NodeListsNodeData::create()
+ instead of new NodeListsNodeData.
+ (WebCore::Node::registerDynamicNodeList): Ditto.
+ (WebCore::Node::getElementsByTagNameNS): Ditto.
+ (WebCore::Node::getElementsByName): Ditto.
+ (WebCore::Node::getElementsByClassName): Ditto.
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::create): Added. Implements
+ create() pattern popularized by RefCounted classes.
+ (WebCore::NodeListsNodeData::NodeListsNodeData): Declared
+ private constructor.
+ (WebCore::NodeRareData::setNodeLists): Now takes a PassOwnPtr<>
+ instead of an auto_ptr<>.
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::setRedirectURLs): Ditto.
+ * history/HistoryItem.h:
+ (WebCore::HistoryItem::setRedirectURLs): Ditto.
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawTextInternal): Use
+ OwnPtr<> instead of auto_ptr<> for stack variable.
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer): Updated to use
+ assignment operator now that ImageBuffer::create() returns a
+ PassOwnPtr<>.
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::createHTMLParserQuirks): Return a
+ PassOwnPtr<> instead of a raw HTMLParserQuirks pointer.
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::createHTMLParserQuirks): Ditto.
+ * platform/graphics/GeneratedImage.cpp:
+ (WebCore::GeneratedImage::drawPattern): Use OwnPtr<> instead of
+ auto_ptr<> for stack variable.
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::create): Return PassOwnPtr<> instead of
+ auto_ptr<>. Use OwnPtr<> instead of auto_ptr<> for stack
+ variable.
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::paint): Use OwnPtr<> instead of
+ auto_ptr<> for stack variable.
+ * platform/text/TextCodec.h:
+ (WebCore::NewTextCodecFunction): Return PassOwnPtr<> instead of
+ auto_ptr<>.
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::newTextCodecICU): Ditto.
+ * platform/text/TextCodecLatin1.cpp:
+ (WebCore::newStreamingTextDecoderWindowsLatin1): Ditto.
+ * platform/text/TextCodecUTF16.cpp:
+ (WebCore::newStreamingTextDecoderUTF16LE): Ditto.
+ (WebCore::newStreamingTextDecoderUTF16BE): Ditto.
+ * platform/text/TextCodecUserDefined.cpp:
+ (WebCore::newStreamingTextDecoderUserDefined): Ditto.
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::newTextCodec): Ditto.
+ * platform/text/TextEncodingRegistry.h:
+ (WebCore::newTextCodec): Ditto.
+ * platform/text/mac/TextCodecMac.cpp:
+ (WebCore::newTextCodecMac): Ditto.
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use
+ OwnPtr<> instead of auto_ptr<> for stack variable.
+ * svg/SVGMaskElement.cpp:
+ (WebCore::SVGMaskElement::drawMaskerContent): Ditto. Return
+ OwnPtr<> instead of auto_ptr<>.
+ * svg/SVGMaskElement.h:
+ (WebCore::SVGMaskElement::drawMaskerContent): Return OwnPtr<>
+ instead of auto_ptr<>.
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::buildPattern): Use OwnPtr<> instead
+ of auto_ptr<> for stack variable.
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::nativeImageForCurrentFrame): Updated to use
+ assignment operator now that ImageBuffer::create() returns a
+ PassOwnPtr<>.
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::createMaskAndSwapContextForTextGradient): Use OwnPtr<>
+ instead of auto_ptr<> for stack variable.
+ * svg/graphics/SVGPaintServerPattern.cpp:
+ (WebCore::SVGPaintServerPattern::setTile): Updated to take a
+ PassOwnPtr<> instead of an auto_ptr<>.
+ (WebCore::SVGPaintServerPattern::setup): Use OwnPtr<> instead of
+ auto_ptr<> for stack variable.
+ * svg/graphics/SVGPaintServerPattern.h:
+ (WebCore::SVGPaintServerPattern::setTile): Updated to take a
+ PassOwnPtr<> instead of an auto_ptr<>.
+ * svg/graphics/SVGResourceMasker.cpp:
+ (WebCore::SVGResourceMasker::applyMask): Updated to use
+ assignment operator now that SVGMaskElement::drawMaskerContent()
+ returns a PassOwnPtr<>. Use OwnPtr<> instead of auto_ptr<> for
+ stack variable.
+
+2009-05-23 David Kilzer <ddkilzer@apple.com>
+
+ Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25495>
+
+ Reviewed by Oliver Hunt.
+
+ * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
+ * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
+ * WebCore.vcproj/WebCore.vcproj: Added OwnPtrCommon.h and
+ PassOwnPtr.h.
+
+2009-05-23 David Kilzer <ddkilzer@apple.com>
+
+ Fix Mac builds by backing out r44093
+
+ * bindings/js/JSCustomPositionCallback.cpp:
+ * bindings/js/JSCustomPositionCallback.h:
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ * bindings/js/JSCustomPositionErrorCallback.h:
+ * bindings/js/JSGeolocationCustom.cpp:
+ * page/Geolocation.cpp:
+ * page/Geolocation.idl:
+ * page/Geoposition.cpp:
+ * page/Geoposition.h:
+ * page/Geoposition.idl:
+ * page/Navigator.cpp:
+ (WebCore::Navigator::disconnectFrame):
+ (WebCore::Navigator::geolocation):
+ * page/PositionError.idl:
+ * platform/GeolocationService.cpp:
+ (WebCore::GeolocationService::create):
+
+2009-05-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Add GEOLOCATION guards around Geolocation API code
+ https://bugs.webkit.org/show_bug.cgi?id=25756
+
+ * bindings/js/JSCustomPositionCallback.cpp:
+ * bindings/js/JSCustomPositionCallback.h:
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ * bindings/js/JSCustomPositionErrorCallback.h:
+ * bindings/js/JSGeolocationCustom.cpp:
+ * page/Geolocation.cpp:
+ * page/Geolocation.idl:
+ * page/Geoposition.cpp:
+ * page/Geoposition.h:
+ * page/Geoposition.idl:
+ * page/Navigator.cpp:
+ (WebCore::Navigator::disconnectFrame):
+ (WebCore::Navigator::geolocation):
+ * page/PositionError.idl:
+ * platform/GeolocationService.cpp:
+
+2009-05-23 David Kilzer <ddkilzer@apple.com>
+
+ Rename startupdateStyleIfNeededDispatcher to startUpdateStyleIfNeededDispatcher
+
+ In r42377, startUpdateRenderingDispatcher() was renamed to
+ startupdateStyleIfNeededDispatcher(), but the camelCase "U" was
+ dropped. This change restores it.
+
+ * WebCore.order:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::startUpdateStyleIfNeededDispatcher):
+ (WebCore::AnimationControllerPrivate::addEventToDispatch):
+ (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
+ (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
+ (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
+ * page/animation/AnimationControllerPrivate.h:
+
+2009-05-23 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed build-fix for Qt. Disable SVG Filters.
+
+ SVG Filters can not be built right now and Qt should not have
+ them enabled anyway as they do not carry out any filtering.
+
+ * WebCore.pro:
+
+2009-05-23 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed build-fix for gtk. Remove source input files
+ for SVG filter system from the build for the moment and
+ add them later again.
+
+ * GNUmakefile.am:
+
+2009-05-23 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ WebKit needs cross-platform filter system
+ [https://bugs.webkit.org/show_bug.cgi?id=19991]
+
+ Preparing Filter primitves for the new filter system.
+
+ No testcases were added. SVG filters are off by default.
+
+ * GNUmakefile.am:
+ * platform/graphics/filters/FEBlend.cpp:
+ (WebCore::FEBlend::apply):
+ * platform/graphics/filters/FEBlend.h:
+ * platform/graphics/filters/FEColorMatrix.cpp:
+ (WebCore::FEColorMatrix::apply):
+ * platform/graphics/filters/FEColorMatrix.h:
+ * platform/graphics/filters/FEComponentTransfer.cpp:
+ (WebCore::FEComponentTransfer::apply):
+ * platform/graphics/filters/FEComponentTransfer.h:
+ * platform/graphics/filters/FEComposite.cpp:
+ (WebCore::FEComposite::apply):
+ * platform/graphics/filters/FEComposite.h:
+ * svg/Filter.h:
+ * svg/FilterBuilder.h:
+ (WebCore::FilterBuilder::lastFilter):
+ * svg/FilterEffect.cpp:
+ (WebCore::FilterEffect::FilterEffect):
+ * svg/FilterEffect.h:
+ (WebCore::FilterEffect::xBoundingBoxMode):
+ (WebCore::FilterEffect::setXBoundingBoxMode):
+ (WebCore::FilterEffect::yBoundingBoxMode):
+ (WebCore::FilterEffect::setYBoundingBoxMode):
+ (WebCore::FilterEffect::widthBoundingBoxMode):
+ (WebCore::FilterEffect::setWidthBoundingBoxMode):
+ (WebCore::FilterEffect::heightBoundingBoxMode):
+ (WebCore::FilterEffect::setHeightBoundingBoxMode):
+ (WebCore::FilterEffect::subRegion):
+ (WebCore::FilterEffect::setSubRegion):
+ (WebCore::FilterEffect::resultImage):
+ (WebCore::FilterEffect::setEffectBuffer):
+ * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
+ (WebCore::FEConvolveMatrix::apply):
+ * svg/graphics/filters/SVGFEConvolveMatrix.h:
+ * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
+ (WebCore::FEDiffuseLighting::apply):
+ * svg/graphics/filters/SVGFEDiffuseLighting.h:
+ * svg/graphics/filters/SVGFEDisplacementMap.cpp:
+ (WebCore::FEDisplacementMap::apply):
+ * svg/graphics/filters/SVGFEDisplacementMap.h:
+ * svg/graphics/filters/SVGFEFlood.cpp:
+ (WebCore::FEFlood::apply):
+ * svg/graphics/filters/SVGFEFlood.h:
+ * svg/graphics/filters/SVGFEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::apply):
+ * svg/graphics/filters/SVGFEGaussianBlur.h:
+ * svg/graphics/filters/SVGFEImage.cpp:
+ (WebCore::FEImage::apply):
+ * svg/graphics/filters/SVGFEImage.h:
+ * svg/graphics/filters/SVGFEMerge.cpp:
+ (WebCore::FEMerge::apply):
+ * svg/graphics/filters/SVGFEMerge.h:
+ * svg/graphics/filters/SVGFEMorphology.cpp:
+ (WebCore::FEMorphology::apply):
+ * svg/graphics/filters/SVGFEMorphology.h:
+ * svg/graphics/filters/SVGFEOffset.cpp:
+ (WebCore::FEOffset::apply):
+ * svg/graphics/filters/SVGFEOffset.h:
+ * svg/graphics/filters/SVGFESpecularLighting.cpp:
+ (WebCore::FESpecularLighting::apply):
+ * svg/graphics/filters/SVGFESpecularLighting.h:
+ * svg/graphics/filters/SVGFETile.cpp:
+ (WebCore::FETile::apply):
+ * svg/graphics/filters/SVGFETile.h:
+ * svg/graphics/filters/SVGFETurbulence.cpp:
+ (WebCore::FETurbulence::apply):
+ * svg/graphics/filters/SVGFETurbulence.h:
+
+2009-05-22 Dirk Schulze <krit@webkit.org>
+
+ Unreviewed build-fix for gtk. Breakage caused by a wrong call of ImageBuffer.
+
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::Image::drawPattern):
+
+2009-05-22 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Added the use of tileRect() for a correct drawing of
+ border-images.
+
+ Testcases for border-image are in fast/borders like
+ border-image-01.html and will be activated for cairo, once
+ gtk supports pixel tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19652
+ [CAIRO] wrong drawing of border-image
+
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::Image::drawPattern):
+
+2009-05-22 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25684
+
+ Ask the Scrollbar for the orientation.
+
+ Use Scrollbar::orientation to figure out the
+ direction of scrolling.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::valueChanged):
+
+2009-05-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6916082> Incorrect handling of % as CSS value.
+
+ Test: fast/css/percent-character-as-value.html
+
+ * css/CSSGrammar.y: Make a stray % character reliably cause
+ CSS parsing to succeed, but the CSS value to be ignored because
+ of incorrect type. A type of 0 has this effect.
+
+2009-05-22 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25971
+ Correct a handful of build errors in the Windows Cairo variant
+ due to missing VIDEO support.
+
+ * WebCore.vcproj/WebCore.vcproj: Exclude RenderMediaControls for
+ the Cairo-based Windows target.
+ * rendering/RenderThemeWin.cpp: Avoid #include of RenderMediaControls
+ for non-VIDEO builds.
+
+2009-05-22 David Kilzer <ddkilzer@apple.com>
+
+ One <limits> is enough
+
+ * html/HTMLMediaElement.cpp: Removed duplicate #include <limits>.
+
+2009-05-22 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/6915957> REGRESSION: Hang when leaving page with VLC
+ plug-in
+
+ Reviewed by Steve Falkenburg.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::determineQuirks):
+ Look for the VLC plug-in's new name.
+
+2009-05-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25966
+
+ Remove redudant member from Chromium's ResourceRequest. We already
+ have this data in the cross-platform ResourceRequestBase. Also, rename
+ ChromiumBridge parameter to be consistant with the new name for this
+ piece of data.
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/network/chromium/ResourceRequest.h:
+
+2009-05-22 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Only account for overhang for multi-character strings.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25961
+
+ * platform/wx/wxcode/win/fontprops.cpp:
+ (GetTextExtent):
+
+2009-05-22 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Switch to CURL cookies so we can benefit from API updates.
+
+ * platform/wx/TemporaryLinkStubs.cpp:
+ * webcore-wx.bkl:
+
+2009-05-22 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25709 part one
+ Indent contents of namespaces in header files, to comply with the
+ style guide. No functional change.
+
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::RGBA32Buffer::):
+ (WebCore::RGBA32Buffer::RGBA32Buffer):
+ (WebCore::RGBA32Buffer::clear):
+ (WebCore::RGBA32Buffer::bytes):
+ (WebCore::RGBA32Buffer::rect):
+ (WebCore::RGBA32Buffer::height):
+ (WebCore::RGBA32Buffer::status):
+ (WebCore::RGBA32Buffer::duration):
+ (WebCore::RGBA32Buffer::disposalMethod):
+ (WebCore::RGBA32Buffer::hasAlpha):
+ (WebCore::RGBA32Buffer::setRect):
+ (WebCore::RGBA32Buffer::ensureHeight):
+ (WebCore::RGBA32Buffer::setStatus):
+ (WebCore::RGBA32Buffer::setDuration):
+ (WebCore::RGBA32Buffer::setDisposalMethod):
+ (WebCore::RGBA32Buffer::setHasAlpha):
+ (WebCore::RGBA32Buffer::setRGBA):
+ (WebCore::ImageDecoder::m_failed):
+ (WebCore::ImageDecoder::~ImageDecoder):
+ (WebCore::ImageDecoder::setData):
+ (WebCore::ImageDecoder::size):
+ (WebCore::ImageDecoder::frameCount):
+ (WebCore::ImageDecoder::repetitionCount):
+ (WebCore::ImageDecoder::supportsAlpha):
+ (WebCore::ImageDecoder::failed):
+ (WebCore::ImageDecoder::setFailed):
+ (WebCore::ImageDecoder::clearFrameBufferCache):
+ * platform/image-decoders/bmp/BMPImageDecoder.h:
+ (WebCore::BMPImageDecoder::filenameExtension):
+ * platform/image-decoders/gif/GIFImageDecoder.h:
+ (WebCore::GIFImageDecoder::filenameExtension):
+ (WebCore::GIFImageDecoder::frameDurationAtIndex):
+ (WebCore::GIFImageDecoder::):
+ * platform/image-decoders/ico/ICOImageDecoder.h:
+ (WebCore::ICOImageDecoder::filenameExtension):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.h:
+ (WebCore::JPEGImageDecoder::filenameExtension):
+ (WebCore::JPEGImageDecoder::supportsAlpha):
+ (WebCore::JPEGImageDecoder::reader):
+ (WebCore::JPEGImageDecoder::setSize):
+ * platform/image-decoders/png/PNGImageDecoder.h:
+ (WebCore::PNGImageDecoder::filenameExtension):
+ (WebCore::PNGImageDecoder::reader):
+ (WebCore::PNGImageDecoder::decodingFailed):
+ * platform/image-decoders/xbm/XBMImageDecoder.h:
+ (WebCore::XBMImageDecoder::filenameExtension):
+
+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
+
+ Minor changes that allow building a hybrid version of WebKit
+ that has WTF Unicode backend based on GLib functions while
+ text codecs and TextBreakIterator remain based on ICU.
+
+ Fixed some includes that were assuming a WTF ICU backend and
+ introduced temporary usage of WTF_USE_GLIB_ICU_UNICODE_HYBRID
+ macro.
+
+ * platform/ThreadGlobalData.cpp:
+ (WebCore::ThreadGlobalData::ThreadGlobalData):
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ * platform/ThreadGlobalData.h:
+ * platform/text/TextBoundariesICU.cpp:
+ * platform/text/TextCodecICU.h:
+ * platform/text/TextEncoding.cpp:
+ (WebCore::TextEncoding::encode):
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::buildBaseTextCodecMaps):
+ (WebCore::extendTextCodecMaps):
+
+2009-05-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25955
+
+ Remove the policyBaseURL parameter from setCookie. This parameter is
+ redundant with the document parameter.
+
+ * WebCore.base.exp:
+ * WebCore.order:
+ * dom/Document.cpp:
+ (WebCore::Document::setCookie):
+ * platform/CookieJar.h:
+ * platform/mac/CookieJar.mm:
+ (WebCore::setCookies):
+ * platform/network/chromium/CookieJarChromium.cpp:
+ (WebCore::setCookies):
+ * platform/network/curl/CookieJarCurl.cpp:
+ (WebCore::setCookies):
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::setCookies):
+ * platform/network/win/CookieJarCFNetWin.cpp:
+ (WebCore::setCookies):
+ * platform/network/win/CookieJarWin.cpp:
+ (WebCore::setCookies):
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::setCookies):
+
+2009-05-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25955
+
+ Rename policyBaseURL and mainDocumentURL to firstPartyForCookies. The
+ previous names were confusing and inaccurate.
+
+ * WebCore.order:
+ * dom/Document.cpp:
+ (WebCore::Document::setCookie):
+ * dom/Document.h:
+ (WebCore::Document::firstPartyForCookies):
+ (WebCore::Document::setFirstPartyForCookies):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::begin):
+ (WebCore::FrameLoader::updateFirstPartyForCookies):
+ (WebCore::FrameLoader::setFirstPartyForCookies):
+ (WebCore::FrameLoader::open):
+ (WebCore::FrameLoader::addExtraFieldsToRequest):
+ (WebCore::FrameLoader::loadResourceSynchronously):
+ * loader/FrameLoader.h:
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::willSendRequest):
+ (WebCore::ResourceRequestBase::adopt):
+ (WebCore::ResourceRequestBase::copyData):
+ (WebCore::ResourceRequestBase::firstPartyForCookies):
+ (WebCore::ResourceRequestBase::setFirstPartyForCookies):
+ (WebCore::equalIgnoringHeaderFields):
+ * platform/network/ResourceRequestBase.h:
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ * platform/network/chromium/CookieJarChromium.cpp:
+ (WebCore::setCookies):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::firstPartyForCookies):
+ (WebCore::ResourceRequestBase::setFirstPartyForCookies):
+ * platform/network/chromium/CookieJarChromium.cpp:
+ (WebCore::setCookies):
+ * platform/network/curl/CookieJarCurl.cpp:
+ (WebCore::setCookies):
+ * platform/network/soup/CookieJarSoup.cpp:
+ (WebCore::setCookies):
+ * platform/network/win/CookieJarCFNetWin.cpp:
+ (WebCore::setCookies):
+ * platform/network/win/CookieJarWin.cpp:
+ (WebCore::setCookies):
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::setCookies):
+
+2009-05-22 Pavel Feldman <pfeldman@chromium.org>
+
+ Fix the call to editingCancelled to be this._editingCancelled, since
+ editingCancelled doesn't exist and throws an exception.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=24881>
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
+
+2009-05-22 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25928
+ Several errors detected by cppcheck
+
+ Fix all (the only one) problem in cross-platform code found by the tool. Port maintainers
+ should take a look at other reports.
+
+ * css/CSSParser.cpp: (WebCore::CSSParser::addProperty): Don't leak the property even if there
+ are billions of those.
+
+2009-05-22 Shinichiro Hamaji <hamaji@google.com>
+
+ Reviewed by Oliver Hunt.
+
+ Remove optimization path alpha=0 case from GraphicContext(CG|Skia).
+ This optimization doesn't make sense for some composite mode (e.g., 'copy' operation).
+
+ https://bugs.webkit.org/show_bug.cgi?id=25956
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::drawRect):
+ (WebCore::GraphicsContext::drawLine):
+ (WebCore::GraphicsContext::strokeArc):
+ (WebCore::GraphicsContext::drawConvexPolygon):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::fillRoundedRect):
+ (WebCore::GraphicsContext::strokeRect):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawConvexPolygon):
+ (WebCore::GraphicsContext::drawEllipse):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+
+2009-05-22 Xan Lopez <xlopez@igalia.com>
+
+ Unreviewed build fix.
+
+ Revert the whole thing, since we can't figure out a way to make it
+ work in all platforms.
+
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::pathForDecoration):
+ * svg/SVGLength.cpp:
+ (WebCore::SVGLength::PercentageOfViewport):
+
+2009-05-22 Xan Lopez <xlopez@igalia.com>
+
+ Try to fix Windows build.
+
+ Apparently it can't tell if '1.0f' is float or double, so cast to
+ float.
+
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::pathForDecoration):
+
+2009-05-22 Xan Lopez <xlopez@igalia.com>
+
+ Try to fix breakage from the previous patch.
+
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::pathForDecoration):
+ * svg/SVGLength.cpp:
+ (WebCore::SVGLength::PercentageOfViewport):
+
+2009-05-15 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25805
+ In debug build, mingw win32 build has problems with powf
+
+ Change C-style calls to powf and sqrtf to C++-style calls to
+ overloaded pow and sqrt. This solves also a problem with mingw
+ compiler during the debug build.
+
+ * rendering/SVGInlineTextBox.cpp:
+ (WebCore::pathForDecoration):
+ * svg/SVGLength.cpp:
+ (WebCore::SVGLength::PercentageOfViewport):
+
+2009-05-21 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/6913680> Update image caching options.
+ Disable extra ImageIO cache because we already handle caching decoded image data.
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::imageSourceOptions):
+
+2009-05-21 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 25903: Create a default UI theme for media controls in Chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=25903
+
+ Implement a default UI for chromium. Add a style sheet for Chromium
+ media controls with good defaults and implemented basic draw functions
+ for play/pause & mute buttons.
+
+ * css/mediaControlsChromium.css: Added.
+ * rendering/RenderThemeChromiumLinux.cpp:
+ (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet): Export
+ our custom media controls style sheet.
+ (WebCore::RenderThemeChromiumLinux::paintMediaButtonInternal): Paint
+ buttons respecting chromium media controls color scheme.
+ (WebCore::RenderThemeChromiumLinux::paintMediaPlayButton): Paint logic
+ specific to play/pause button.
+ (WebCore::RenderThemeChromiumLinux::paintMediaMuteButton): Paint
+ specific to mute button.
+ * rendering/RenderThemeChromiumLinux.h: Appropriate header changes.
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet): Export
+ our custom media controls style sheet.
+ (WebCore::RenderThemeChromiumWin::paintMediaButtonInternal): Paint
+ buttons respecting chromium media controls color scheme.
+ (WebCore::RenderThemeChromiumWin::paintMediaPlayButton): Paint logic
+ specific to play/pause button.
+ (WebCore::RenderThemeChromiumWin::paintMediaMuteButton): Paint specific
+ to mute button.
+ (WebCore::RenderThemeChromiumWin::setDefaultFontSize): Appropriate
+ header changes.
+ * rendering/RenderThemeChromiumWin.h:
+
+2009-05-21 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ When stripping the query from a file:// URL, do not leave a trailing question mark.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25940
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::initializeHandle):
+
+2009-05-21 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Notify ImageObserver::didDraw to help the cache purge alive resources.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25942
+
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::BitmapImage::draw):
+ (WebCore::BitmapImage::drawPattern):
+
+2009-05-21 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Flesh out font fallback for Chromium's Skia port.
+ getLastResortFallbackFont should fall back on well-known fonts.
+ https://bugs.webkit.org/show_bug.cgi?id=25860
+
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::getLastResortFallbackFont): try known font names.
+
+2009-05-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - speculative fix for <rdar://problem/6890716> crash at
+ FontCache::purgeInactiveFontData + 199
+
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontCache::purgeInactiveFontData): Deleting a SimpleFontData
+ can cause releaseFontData() to be called, which modifies
+ gInactiveFontData. Therefore, avoid deleting SimpleFontData instances
+ while iterating over gInactiveFontData and delete them afterwards.
+
+2009-05-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Test for <rdar://problem/6910832> | https://bugs.webkit.org/show_bug.cgi?id=25907
+ Incorrect URL returned to the DOM while the user drags a file
+
+ * page/DragController.cpp:
+ (WebCore::DragController::dragExited):
+ (WebCore::DragController::tryDHTMLDrag): Don't base our decision on KURL,
+ since that only looks at the text of the document's URL. Do base our
+ decision on the securityOrigin(), which knows more about the document's
+ actual origin.
+
+2009-05-21 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=25947
+ Assertion failure in FrameLoader::transitionToCommitted on launch in
+ Safari with r43985
+
+ Rolled out r43979.
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes):
+ (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
+
+2009-05-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson and Mark Rowe.
+
+ Fix for <rdar://problem/6901522>
+ REGRESSION: Office 2008: Preview with browser is not shown, and Finder window is in the front of Safari
+
+ If the NSURLRequest is annotated with a "ForceHTMLMIMEType" property, force
+ the MIME type to be text/html.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+
+2009-05-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ Blind windows fix after last commit.
+
+ * platform/Logging.cpp:
+ (WebCore::getChannelFromName):
+
+2009-05-21 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Use an environment variable to control which logs are on and off.
+ Also, make a generic function for translating channel name to its log.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25936
+
+ * platform/Logging.cpp:
+ (WebCore::getChannelFromName):
+ * platform/Logging.h:
+ * platform/wx/LoggingWx.cpp:
+ (WebCore::InitializeLoggingChannelsIfNecessary):
+
+2009-05-21 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Bug 25946: Chromium needs MIMETypeRegistry::getMediaMIMETypeForExtension implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=25946
+
+ A very simple implementation to keep it working. A bug has been filed in the chromium db
+ (http://code.google.com/p/chromium/issues/detail?id=12441) to investigate doing something more
+ complete.
+
+ * platform/chromium/MimeTypeRegistryChromium.cpp:
+ (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
+
+2009-05-20 Siddhartha Chattopadhyaya <sidchat@google.com>
+
+ Reviewed by Justin Garcia.
+
+ Add automatic spell correction support in WebKit
+
+ https://bugs.webkit.org/show_bug.cgi?id=24953
+
+ * editing/Editor.cpp:
+ (WebCore::findFirstMisspellingInRange):
+ (WebCore::Editor::advanceToNextMisspelling):
+ (WebCore::Editor::markMisspellingsAfterTypingToPosition):
+ (WebCore::markAllMisspellingsInRange):
+ (WebCore::markMisspellingsOrBadGrammar):
+ (WebCore::Editor::markMisspellings):
+ (WebCore::Editor::markBadGrammar):
+ (WebCore::Editor::markMisspellingsAndBadGrammar):
+ * editing/Editor.h:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyEditorClient::getAutoCorrectSuggestionForMisspelledWord):
+ * page/EditorClient.h:
+
+2009-05-21 Christian Dywan <christian@twotoasts.de>
+
+ Reviewed by Darin Adler.
+
+ Text files which have sub MIME types are treated as not displayable
+ http://bugs.webkit.org/show_bug.cgi?id=24903
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes):
+ (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): Regard any
+ MIME type beginning with "text/" as supported and remove all "text/"
+ types from the list.
+
+2009-05-21 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25890
+ Implement Network logging channel on Mac
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::~ResourceHandle):
+ (WebCore::ResourceHandle::start):
+ (WebCore::ResourceHandle::cancel):
+ (WebCore::ResourceHandle::setDefersLoading):
+ (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
+ (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
+ (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
+ (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
+ (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]):
+ Added logging for async requests (as these are most interesting).
+
+2009-05-21 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by David Kilzer.
+
+ <rdar://problem/6902197> WebCore doesn't know about all of the MIME types supported by QTKit
+
+ Add a static table to map from some common file extensions to their MIME types so it
+ is possible to detect support even when the platform mapping is incomplete. Use the
+ table to lookup types not found by UTI on the OSX, and when looking for a media engine
+ with a generic or missing type.
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeMediaTypeMaps): New, initialize the mediaMIMETypeForExtensionMap.
+ (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): New. Look for the specified
+ MIME type in the static mapping table if the platform specific getMIMETypeForExtension
+ doesn't find a match.
+ * platform/MIMETypeRegistry.h: Declare getMediaMIMETypeForExtension.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::load): When the type passed is empty, "application/octet-stream", or
+ "text/plain", try to look it up based on the file extension with getMediaMIMETypeForExtension.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::addFileTypesToCache): See if getMediaMIMETypeForExtension can map from file extension
+ to MIME type if UTI fails.
+
+2009-05-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Clean up DragController
+ https://bugs.webkit.org/show_bug.cgi?id=25926
+
+ I renamed m_document to m_documentUnderMouse to better document what it does
+ I could call it m_lastDocumentUnderMouse to be most-accurate, but this seemed
+ long enough.
+
+ I also saw copy/paste code involving clearing the selection when moving out of
+ one document and into another. I moved that code into a function called
+ mouseMovedIntoDocument.
+
+ I also got rid of a couple needless null-checks after confirming via source
+ inspection they were not ever possible.
+ In Mac WebKit it's not possible to have a Page that doesn't have a mainFrame()
+ I left an ASSERT(m_page->mainFrame()) in case some other port ever violates this.
+ It's also not possible to return a document from documentAtPoint that is not
+ in a frame (as such a document would not be rendered).
+
+ No functional changes, thus no tests.
+
+ * page/DragController.cpp:
+ (WebCore::DragController::DragController):
+ (WebCore::DragController::dragIsMove):
+ (WebCore::DragController::dragExited):
+ (WebCore::DragController::performDrag):
+ (WebCore::DragController::mouseMovedIntoDocument):
+ (WebCore::DragController::dragEnteredOrUpdated):
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::operationForLoad):
+ (WebCore::DragController::concludeEditDrag):
+ (WebCore::DragController::canProcessDrag):
+ (WebCore::DragController::tryDHTMLDrag):
+ (WebCore::DragController::placeDragCaret):
+ * page/DragController.h:
+ (WebCore::DragController::documentUnderMouse):
+
+2009-05-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Rename DragController::dragOperation() to sourceDragOperation() for clarity
+ Remove unused setDragOperation()
+
+ There are two times DragOperation is used. The source specifies
+ what drag operations it supports (in a mask) and the destination
+ picks a subset of those as DragOperations it supports if a drop were
+ to occur. I was confused when I first saw this accessor as to which
+ it meant. It turns out that this is only used when WebKit starts a
+ drag, and we keep it around so that we can provide this information
+ to other Mac OS X applications when they ask. I've renamed the method
+ for clarity so the next person in this code will be less confused.
+
+ No functional changes, thus no tests.
+
+ * page/DragController.h:
+ (WebCore::DragController::sourceDragOperation):
+
+2009-05-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ - WebCore part of <rdar://problem/6901751> REGRESSION (r35515): Tiger
+ crash painting the selection on registration page of car2go.com
+
+ A bug in old versions of Core Graphics causes memory corruption to occur
+ when clipping under certain conditions. Make the clipping functions
+ fail silently under those conditions.
+
+ Test: fast/block/float/selection-gap-clip-out-tiger-crash.html
+
+ * WebCore.Tiger.exp: Added wkCGContextIsSafeToClip
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::safeCGContextClip): Added a wrapper around CGContextClip that,
+ on Tiger, bails out if wkCGContextIsSafeToClip() returns false.
+ (WebCore::safeCGContextEOClip): Ditto for CGContextEOClip.
+ (WebCore::safeCGContextClipToRect): Ditto for CGContextClipToRect.
+ (WebCore::GraphicsContext::fillPath): Changed to call the safe variants
+ of CGContextClip, CGContextEOClip and CGContextClipToRect.
+ (WebCore::GraphicsContext::strokePath): Ditto.
+ (WebCore::GraphicsContext::fillRect): Ditto.
+ (WebCore::GraphicsContext::clip): Ditto.
+ (WebCore::GraphicsContext::clipOut): Ditto.
+ (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto.
+ (WebCore::GraphicsContext::clipPath): Ditto.
+ (WebCore::GraphicsContext::addInnerRoundedRectClip): Ditto.
+ (WebCore::GraphicsContext::strokeRect): Ditto.
+ * platform/mac/WebCoreSystemInterface.h: Added wkCGContextIsSafeToClip.
+ * platform/mac/WebCoreSystemInterface.mm: Added wkCGContextIsSafeToClip.
+
+2009-05-21 Xan Lopez <xlopez@igalia.com>
+
+ Unreviewed build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25910
+ WebkitGTK r43960 cannot compile
+
+ Do not include local copy of guriescape header, which was
+ removed. We now use the copy in glib.
+
+ * platform/gtk/FileSystemGtk.cpp:
+
+2009-05-20 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25706
+
+ It turns out the CurrentContext wasn't currect either because it gave
+ us the frame for the write() function itself. We actually want the
+ *calling* context.
+
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Implement Image::loadPlatformResource.
+
+ Install the four resources we are using. For the icons
+ where an icon name is specified by freedeskop.org try to
+ map the WebCore name to that name and fallback to the
+ internal icon. For everything else use the internal icon
+ name. Remove the temporary link stub as this is not
+ required any more.
+
+ * GNUmakefile.am: Install the png files, set DATA_DIR again
+ * Resources/panIcon.png: Copied from WebKit/win/WebKit.vcproj/panIcon.png.
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (WTF::GtkIconInfo): Add template specialization for GtkIconInfo
+ (WebCore::getIconFileNameOrFallback): Use GtkIconTheme to get the icon
+ (WebCore::loadResourceIntoSharedBuffer):
+ (WebCore::Image::loadPlatformResource): Implement
+ * platform/gtk/TemporaryLinkStubs.cpp: Remove link stub
+
+2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19357
+
+ [GTK] The Gtk+ port wants to have a themable
+ urlIcon too.
+
+ * loader/icon/IconDatabase.cpp:
+
+2009-05-20 Stephanie Lewis <slewis@apple.com>
+
+ Update the order files. <rdar://problem/6881750> Generate new order files.
+
+ * WebCore.order:
+
+2009-05-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix some assertion failures in plug-in tests on the Windows debug build bot.
+
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream): Switch to using protocolIsJavaScript.
+ * plugins/PluginView.cpp:
+ (WebCore::scriptStringIfJavaScriptURL): Ditto.
+
+2009-05-20 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ More protocolInHTTPFamily() cleanup.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::send):
+
+2009-05-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for <rdar://problem/6905475>
+ Office 2008: Entourage: Crash when you switch to "My Day" view
+
+ The host function callback callObjCFallbackObject was not annotated
+ with JSC_HOST_CALL which meant that when it was called by the JIT, which
+ expects the JSC_HOST_CALL calling convention, the arguments are not in the
+ expected places.
+
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::callObjCFallbackObject): Added missing JSC_HOST_CALL
+ annotation on callObjCFallbackObject.
+
+2009-05-20 David Levin <levin@chromium.org>
+
+ Not Reviewed, build fix.
+
+ Need to disable this assert while the chormium code is fixed for it.
+
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::protocolIs):
+
+2009-05-20 David Levin <levin@chromium.org>
+
+ Not Reviewed, build fix.
+
+ Change KURLGoogle.cpp to mirror the KURL.cpp changes done in
+ http://trac.webkit.org/changeset/43929. Fix assert placement.
+
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::protocolIs):
+ (WebCore::protocolIs):
+
+2009-05-20 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream V8 bindings for V8DomWindow.
+ https://bugs.webkit.org/show_bug.cgi?id=25869
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8Custom::WindowSetTimeoutImpl): Moved from v8_custom.cpp.
+ (WebCore::isAscii): Moved from v8_custom.cpp.
+ (WebCore::convertBase64): Moved from v8_custom.cpp.
+ (WebCore::CALLBACK_FUNC_DECL): Moved from v8_custom.cpp.
+ (WebCore::eventNameFromAttributeName): Moved from v8_custom.cpp.
+ (WebCore::ACCESSOR_SETTER): Moved from v8_custom.cpp.
+ (WebCore::ACCESSOR_GETTER): Moved from v8_custom.cpp.
+ (WebCore::NAMED_ACCESS_CHECK): Moved from v8_custom.cpp.
+ (WebCore::INDEXED_ACCESS_CHECK): Moved from v8_custom.cpp.
+
+2009-05-21 Christian Dywan <christian@twotoasts.de>
+
+ Reviewed by Jan Alonzo.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::parseDataUrl): Always use Glib Base64 decoding.
+
+2009-05-21 Christian Dywan <christian@twotoasts.de>
+
+ Rubberstamped by Gustavo Noronha.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::parseDataUrl): Remove Gtk/ Glib Base64 decoding.
+
+2009-05-20 Christian Dywan <christian@twotoasts.de>
+
+ Reviewed by Gustavo Noronha.
+
+ * GNUmakefile.am:
+ * platform/gtk/guriescape.c:
+ * platform/gtk/guriescape.h: Remove copies of g_uri_escape_string and
+ g_uri_unescape_string now that we require Glib 2.16.
+
+2009-05-20 David Levin <levin@chromium.org>
+
+ Not Reviewed, build fix.
+
+ Change KURLGoogle.cpp to mirror the KURL.cpp changes done in
+ http://trac.webkit.org/changeset/43929.
+
+ * platform/KURLGoogle.cpp:
+ (WebCore::protocolIsJavaScript):
+ (WebCore::protocolIs):
+
+2009-05-20 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig
+
+ At all call sites that check if a KURL has either the http or https protocol,
+ use the KURL::protocolInHTTPFamily() accessor, instead.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::iconURL):
+ (WebCore::FrameLoader::didOpenURL):
+ (WebCore::FrameLoader::open):
+
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
+
+ * loader/loader.cpp:
+ (WebCore::Loader::load):
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::send):
+
+2009-05-20 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix <rdar://problem/6904941> and https://bugs.webkit.org/show_bug.cgi?id=25300
+
+ KURL parsing changes back in r30243 and r30815 made javascript urls that use the form
+ "javascript://" be detected as invalid hierarchical URLs. When a KURL is marked as
+ invalid, you can no longer ask it a question such as "is your protocol javascript?"
+ Therefore FrameLoader wouldn't recognize them as javascript URLs and instead try to
+ navigate to them.
+
+ URL parsing rules aside, such URLs are in use in the wild (Microsoft's Virtual Earth
+ being a high profile example) and actually represent valid javascript.
+
+ Whenever checking for javascript urls, the new protocolIsJavaScript() should be used
+ as it functions on a String which doesn't have to pass KURLs parsing rules.
+
+ Test: fast/loader/javascript-url-hierarchical-execution.html
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::setValue): Use protocolIsJavaScript().
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setLocation): Ditto.
+ (WebCore::createWindow): Ditto.
+ (WebCore::JSDOMWindow::open): Ditto.
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::allowSettingSrcToJavascriptURL): Ditto.
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ (WebCore::allowSettingJavascriptURL): Ditto.
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ (WebCore::JSHTMLIFrameElement::setSrc): Ditto.
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::navigateIfAllowed): Ditto.
+ (WebCore::JSLocation::reload): Ditto.
+ * editing/markup.cpp:
+ (WebCore::appendQuotedURLAttributeValue): Ditto.
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::parseMappedAttribute): Ditto.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestFrame): Ditto.
+ (WebCore::FrameLoader::submitForm): Ditto.
+ (WebCore::FrameLoader::executeIfJavaScriptURL): Ditto.
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::init): Use protocolIsJavaScript().
+ (WebCore::KURL::protocolIs): ASSERT that the protocol being asked about is not javascript.
+ Such checks should go through protocolIsJavaScript() instead.
+ (WebCore::encodeRelativeString): Use protocolIsJavaScript().
+ (WebCore::protocolIsJavaScript):
+ * platform/KURL.h:
+
+2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24510
+
+ Fix a bug where the browserfuncs were not properly assigned,
+ make hasproperty use _NP_HasProperty and hasmethod _NP_HasMethod.
+
+ Test: plugins/netscape-invoke-browserfuncs.html
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::load): Fix assignment
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::load): Fix assignment
+
+2009-05-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Make absoluteRectsForRange and absoluteQuadsForRange non-virtual
+ and only exist on RenderText.
+
+ * dom/Range.cpp:
+ (WebCore::Range::textRects):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::drawNodeHighlight): Use absoluteQuads instead
+ of absoluteQuadsForRange since no range is being specifiec.
+ * rendering/RenderObject.cpp:
+ * rendering/RenderObject.h:
+ * rendering/RenderText.h:
+
+2009-05-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Implement AtkObject::focus-event and
+ AtkObject::state-changed:focused signal emission.
+
+ Adds a new handleFocusedUIElementChangedWithRenderers, only in the
+ GTK port, called at the same point than
+ handleFocusedUIElementChanged but with two parameters, the old and
+ the newly focused RenderObjects. We need this, since the ATK
+ signals require us to pass the objects involved in the focus
+ change as arguments.
+
+ * accessibility/AXObjectCache.h:
+ * accessibility/gtk/AXObjectCacheAtk.cpp:
+ (WebCore::AXObjectCache::handleFocusedUIElementChangedWithRenderers):
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+
+2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25834
+
+ Make ChromeClient a interface again
+
+ With recent additions to ChromeClient.h empty defaults were
+ added. This is bad for porters as these changes go unnoticed
+ and at runtime no notImplemented warning is logged and grepping
+ for notImplemented will not show anything. Change this Client
+ to be like the other Clients again and always have pure virtuals
+ (but for stuff inside #ifdef PLATFORM(MAC)).
+
+ Update the various WebKit/* implementations to compile again.
+
+ * loader/EmptyClients.h: Add empty defaults
+ (WebCore::EmptyChromeClient::setCursor):
+ (WebCore::EmptyChromeClient::scrollRectIntoView):
+ (WebCore::EmptyChromeClient::requestGeolocationPermissionForFrame):
+ * page/ChromeClient.h: Make methods pure virtual
+
+2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix a bug where a non visible plugin would show it self in a
+ sibling frame. The problem was due to our clipping. In Qt,
+ if setMask is set with an empty QRegion, no clipping will
+ be performed, so in that case we hide the PluginContainer
+
+ Added manual test.
+
+ * plugins/qt/PluginContainerQt.cpp:
+ (PluginContainerQt::adjustGeometry):
+ * manual-tests/qt/plugin-sibling-frame-include.html
+ * manual-tests/qt/plugin-sibling-frame.html
+
+2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Do not call the parent implementation (Widget::) in show() and hide()
+ of the PluginViewQt, as it always changes the visible state of the
+ platformWidget (equal to the platformPluginWidget in the Qt port),
+ thus ignoring the isParentVisible() test.
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+
+2009-05-20 Yichao Yin <yichao.yin@torchmobile.com.cn>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23452
+ Change the implementation of HTMLNoScriptElement to avoid the pain of
+ adding virtual function for XHTMLMP support
+
+ Includes changes suggested by Simon Fraser.
+
+ * dom/Node.cpp:
+ (WebCore::Node::styleForRenderer):
+ * dom/Node.h:
+ * html/HTMLNoScriptElement.cpp:
+ * html/HTMLNoScriptElement.h:
+
+2009-05-20 Kevin Ollivier <kevino@theolliviers.com>
+
+ CURL backend build fix. Make sure URL is always set.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::downloadTimerCallback):
+
+2009-05-20 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by George Staikos.
+
+ Fix Qt WebKit build break in Mac OS.
+
+ * platform/FileSystem.h:
+
+2009-05-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Eric Seidel.
+
+ Enable code that was commented out waiting for a way to get a
+ GdkPixbuf from an image, effectively enabling copying images to
+ the clipboard.
+
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeImage):
+
+2009-05-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25414
+ [GTK] ROLE_PANEL should not be used for paragraphs and list items.
+
+ Implement Atk list item role for list items.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_role):
+
+2009-05-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25414
+ [GTK] ROLE_PANEL should not be used for paragraphs and list items.
+
+ Implement Atk paragraph role for paragraph elements.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_role):
+
+2009-05-20 Eric Seidel <eric@webkit.org>
+
+ Fix bug URL in ChangeLogs in r43903.
+ https://bugs.webkit.org/show_bug.cgi?id=25742
+
+2009-05-20 Takeshi Yoshino <tyoshino@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 24539: Fix RenderThemeChromiumWin::paintTextFieldInternal() not to hide background image.
+ https://bugs.webkit.org/show_bug.cgi?id=25742
+
+ Fix RenderThemeChromiumWin::paintTextFieldInternal().
+
+ We shouldn't paint the content area of text fields when o->style() has
+ background image or transparent background color. paintTextFieldInternal() is
+ used for painting inner area of HTML option elements by Chromium.
+
+ When we pass fillContentArea = true to ChromiumBridge::paintTextField, it hides
+ the background image rendered by RenderBoxModelObject. So, we should set
+ fillContentArea = false in such case.
+
+ Besides, when background-color:transparent is specified for CSS property,
+ o->style().backgroundColor returns black color with alpha channel == 0. But
+ since ThemeEngine for Windows behind ChromiumBridge::paintTextField cannot
+ recognize alpha channel, it fills the rect with black. I made workaround to set
+ fillContentArea = false when alpha channel == 0 to avoid this.
+
+ And more, I'd like to fallback the color passed to ChromiumBridge to white when
+ o->style()->backgroundColor() is invalid.
+
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
+
+2009-05-20 Shinichiro Hamaji <hamaji@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25417
+ Map CompositeCopy to Skia's kSrc_Mode composite operation.
+
+ Test: fast/canvas/canvas-composite-alpha.html
+
+ * platform/graphics/skia/SkiaUtils.cpp:
+ (WebCore::):
+
+2009-05-20 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Rubber-stamped by Xan Lopez.
+
+ Remove misplaced extern "C"
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-05-20 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Expose password field with role of PASSWORD_TEXT
+ https://bugs.webkit.org/show_bug.cgi?id=25682
+
+ Check if input type is a password field and return
+ ATK_ROLE_PASSWORD_TEXT if it is.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-05-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by George Staikos.
+
+ BUG 25845: [Qt] Fix QtWebKit pkgconfig dependencies
+ <https://bugs.webkit.org/show_bug.cgi?id=25845>
+
+ * WebCore.pro: Remove QtDBus; remove QtXml if Qt >= 4.4
+
+2009-05-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by George Staikos.
+
+ BUG 25843: [Qt] Remove qt-port build flag
+ <https://bugs.webkit.org/show_bug.cgi?id=25843>
+
+ * bridge/testbindings.pro:
+
+2009-05-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25824
+
+ [Qt] Cleanup - move files exclusive to JAVASCRIPT_DEBUGGER
+ and WORKERS under the appropriate build section
+
+ * WebCore.pro:
+
+2009-05-20 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Unreviewed Qt build fix, after r43892.
+
+ * platform/graphics/qt/ImageQt.cpp: included ImageObservser.h
+
+2009-05-20 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25856
+ [Qt] notify an image has been drawn, to help Cache purge alive decoded data.
+
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::Image::drawPattern):
+ (WebCore::BitmapImage::draw):
+
+2009-05-20 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY, layout tests fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23727
+ This reverts commit r43888.
+
+ Once that change was checked in many of the fast/flexbox0*.html
+ tests (and others) started failing.
+
+ * WebCore.pro:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/CSSValueKeywords.in:
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::updateMarqueePosition):
+ (WebCore::RenderMarquee::timerFired):
+
+2009-05-19 Yichao Yin <yichao.yin@torchmobile.com.cn>
+
+ Reviewed by George Staikos.
+
+ Add XHTMLMP support to Webkit
+ Update the configure files for building XHTMLMP-enabled WebKit on different platform
+ https://bugs.webkit.org/show_bug.cgi?id=23452
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCoreSources.bkl:
+
+2009-05-19 Antti Koivisto <antti@apple.com>
+
+ I can't figure out how to make this not timing dependent, making it manual test instead.
+
+ * manual-tests/preload-scanner-entities.html: Added.
+
+2009-05-19 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ <rdar://problem/6886382> REGRESSION (Safari 4PB -> ToT): HTTP cache revalidation broken.
+
+ This was caused in http://trac.webkit.org/changeset/41425, which fixed an image caching bug
+ in QuickLooks (rdar://problem/6619630).
+
+ We need to respect the DocumentLoader's request cache policy when deciding the cache policy
+ for subresources, but the check (originally removed in r39304 and added back in in the same
+ place in r41424) needs to be tweaked and relocated a bit.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::subresourceCachePolicy): Renamed from cachePolicy(). Move checking
+ the DocumentLoader's request to a more appropriate place. Add code to handle the recently
+ added FIXME regarding POSTs. Add a new FIXME describing a great way to make this code
+ cleaner in the future.
+ * loader/FrameLoader.h:
+
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::cachePolicy): Calls the newly renamed subresourceCachePolicy().
+
+2009-05-19 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 25872: aria-labeledby appends all siblings instead of all children to aria name
+ https://bugs.webkit.org/show_bug.cgi?id=25872
+
+ When setting the aria-labeledby text it should stay within the element identified by the id
+ when searching through the sibling list.
+
+ This also removes an outdated assert in getDocumentLinks. Its possible for the document to
+ think an element is a link, but accessibility can treat it differently (eg. its ARIA role is different).
+
+ Test: accessibility/aria-labelledby-stay-within.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::ariaAccessiblityName):
+ (WebCore::AccessibilityRenderObject::getDocumentLinks):
+
+2009-05-19 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler).
+
+ <rdar://problem/6902674> REGRESSION: Query parameters are sometimes incorrect in URL (23135)
+
+ Push characters back in correct order when entity parsing fails after 3 characters.
+
+ Test: fast/tokenizer/preload-scanner-entities.html
+
+ * html/PreloadScanner.cpp:
+ (WebCore::PreloadScanner::consumeEntity):
+
+2009-05-19 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a crash in Mac Chromium when displaying an HTML select element
+ with no items.
+ https://bugs.webkit.org/show_bug.cgi?id=25874
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::showExternal):
+
+2009-05-19 Nate Chapin <japhet@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Upstream V8 bindings for CanvasRenderingContext2D.
+ https://bugs.webkit.org/show_bug.cgi?id=25858
+
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Moved bindings from v8_custom.cpp.
+
+2009-05-19 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Windows Build Fix.
+
+ * WebCore.vcproj/WebCore.vcproj: Copy accessibility headers from WebCore.
+
+2009-05-19 Timothy Hatcher <timothy@apple.com>
+
+ <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not
+ loaded because willSendRequest doesn't happen immediately
+
+ Reviewed by Antti Koivisto.
+
+ * WebCore.base.exp: Export Loader::servePendingRequests().
+
+2009-05-19 David Levin <levin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 25859: Need to upstream ScriptController.* for v8.
+ https://bugs.webkit.org/show_bug.cgi?id=25859
+
+ Fixing the header file (which I accidentally made identical to the cpp file).
+
+ * bindings/v8/ScriptController.h:
+
+2009-05-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler and Brady Eidson.
+
+ <rdar://problem/6900582> REGRESSION (r42446?): UA Profiler in http://stevesouders.com/ua/ stalls
+
+ The problem was that Document::removeAllEventListeners() was called for a wrong document
+ when a CachedFrame was destroyed.
+
+ Cannot be tested automatically, because DRT doesn't have a b/f cache.
+
+ * dom/Document.cpp: (WebCore::Document::domWindow): Make sure that this doesn't return an
+ unrelated window even if document's m_frame pointer is stale.
+
+ * history/CachedFrame.cpp: (WebCore::CachedFrame::clear): Added a FIXME about strange behavior.
+
+2009-05-19 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Split InspectorController into InspectorController and InspectorFrontend. Latter encapsulates all frontend interaction and is the only entity allowed to make ScriptFunctionCalls. The further plan is to serialize these script function calls.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25419
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToConsole):
+ * inspector/ConsoleMessage.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::inspect):
+ (WebCore::InspectorController::focusNode):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::addConsoleMessage):
+ (WebCore::InspectorController::setAttachedWindow):
+ (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
+ (WebCore::InspectorController::scriptObjectReady):
+ (WebCore::InspectorController::showPanel):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::populateScriptObjects):
+ (WebCore::InspectorController::resetScriptObjects):
+ (WebCore::InspectorController::pruneResources):
+ (WebCore::InspectorController::didCommitLoad):
+ (WebCore::InspectorController::didLoadResourceFromMemoryCache):
+ (WebCore::InspectorController::identifierForInitialRequest):
+ (WebCore::InspectorController::willSendRequest):
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didReceiveContentLength):
+ (WebCore::InspectorController::didFinishLoading):
+ (WebCore::InspectorController::didFailLoading):
+ (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
+ (WebCore::InspectorController::scriptImported):
+ (WebCore::InspectorController::didOpenDatabase):
+ (WebCore::InspectorController::didUseDOMStorage):
+ (WebCore::InspectorController::addScriptProfile):
+ (WebCore::InspectorController::toggleRecordButton):
+ (WebCore::InspectorController::enableProfiler):
+ (WebCore::InspectorController::disableProfiler):
+ (WebCore::InspectorController::enableDebugger):
+ (WebCore::InspectorController::disableDebugger):
+ (WebCore::InspectorController::didParseSource):
+ (WebCore::InspectorController::failedToParseSource):
+ (WebCore::InspectorController::didPause):
+ (WebCore::InspectorController::didContinue):
+ * inspector/InspectorController.h:
+ * inspector/InspectorDOMStorageResource.cpp:
+ (WebCore::InspectorDOMStorageResource::bind):
+ * inspector/InspectorDOMStorageResource.h:
+ * inspector/InspectorDatabaseResource.cpp:
+ (WebCore::InspectorDatabaseResource::bind):
+ * inspector/InspectorDatabaseResource.h:
+ * inspector/InspectorFrontend.cpp: Added.
+ (WebCore::callSimpleFunction):
+ (WebCore::InspectorFrontend::InspectorFrontend):
+ (WebCore::InspectorFrontend::~InspectorFrontend):
+ (WebCore::InspectorFrontend::newJSONObject):
+ (WebCore::InspectorFrontend::addMessageToConsole):
+ (WebCore::InspectorFrontend::addResource):
+ (WebCore::InspectorFrontend::updateResource):
+ (WebCore::InspectorFrontend::removeResource):
+ (WebCore::InspectorFrontend::updateFocusedNode):
+ (WebCore::InspectorFrontend::setAttachedWindow):
+ (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
+ (WebCore::InspectorFrontend::showPanel):
+ (WebCore::InspectorFrontend::populateInterface):
+ (WebCore::InspectorFrontend::reset):
+ (WebCore::InspectorFrontend::debuggerWasEnabled):
+ (WebCore::InspectorFrontend::debuggerWasDisabled):
+ (WebCore::InspectorFrontend::profilerWasEnabled):
+ (WebCore::InspectorFrontend::profilerWasDisabled):
+ (WebCore::InspectorFrontend::parsedScriptSource):
+ (WebCore::InspectorFrontend::failedToParseScriptSource):
+ (WebCore::InspectorFrontend::addProfile):
+ (WebCore::InspectorFrontend::setRecordingProfile):
+ (WebCore::InspectorFrontend::pausedScript):
+ (WebCore::InspectorFrontend::resumedScript):
+ (WebCore::InspectorFrontend::addDatabase):
+ (WebCore::InspectorFrontend::addDOMStorage):
+ * inspector/InspectorFrontend.h: Added.
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::createScriptObject):
+ (WebCore::InspectorResource::updateScriptObject):
+ (WebCore::InspectorResource::releaseScriptObject):
+ * inspector/InspectorResource.h:
+
+2009-05-19 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Introduce JSONObject that wraps ScriptObject and ScriptState* for further serialization
+
+ https://bugs.webkit.org/show_bug.cgi?id=25419
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToConsole):
+ * inspector/InspectorDOMStorageResource.cpp:
+ (WebCore::InspectorDOMStorageResource::bind):
+ * inspector/InspectorDatabaseResource.cpp:
+ (WebCore::InspectorDatabaseResource::bind):
+ * inspector/InspectorResource.cpp:
+ (WebCore::populateHeadersObject):
+ (WebCore::InspectorResource::createScriptObject):
+ (WebCore::InspectorResource::updateScriptObject):
+ * inspector/JSONObject.cpp: Added.
+ (WebCore::JSONObject::JSONObject):
+ (WebCore::JSONObject::set):
+ (WebCore::JSONObject::scriptObject):
+ (WebCore::JSONObject::createNew):
+ * inspector/JSONObject.h: Added.
+
+2009-05-19 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Refactor InpectorController so that it does not instantiate resource/console/database/domresource javascript objects. Move instantiation into the javascript.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25419
+
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToConsole):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didReceiveResponse):
+ (WebCore::InspectorController::didReceiveContentLength):
+ (WebCore::InspectorController::didFinishLoading):
+ (WebCore::InspectorController::didFailLoading):
+ (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
+ (WebCore::InspectorController::scriptImported):
+ * inspector/InspectorDOMStorageResource.cpp:
+ (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
+ (WebCore::InspectorDOMStorageResource::bind):
+ (WebCore::InspectorDOMStorageResource::unbind):
+ * inspector/InspectorDOMStorageResource.h:
+ * inspector/InspectorDatabaseResource.cpp:
+ (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
+ (WebCore::InspectorDatabaseResource::bind):
+ (WebCore::InspectorDatabaseResource::unbind):
+ * inspector/InspectorDatabaseResource.h:
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::InspectorResource):
+ (WebCore::populateHeadersObject):
+ (WebCore::InspectorResource::createScriptObject):
+ (WebCore::InspectorResource::updateScriptObject):
+ (WebCore::InspectorResource::releaseScriptObject):
+ * inspector/InspectorResource.h:
+ * inspector/front-end/Console.js:
+ (WebInspector.ConsoleMessage):
+ * inspector/front-end/inspector.js:
+ (WebInspector.addResource):
+ (WebInspector.updateResource):
+ (WebInspector.removeResource):
+ (WebInspector.addDatabase):
+ (WebInspector.addDOMStorage):
+ (WebInspector.reset):
+ (WebInspector.addMessageToConsole):
+
+2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Ariya Hidayat.
+
+ The Qt port has code that disables scrolling optimizations
+ when the root contains native windows, such as windowed plugins.
+
+ This code broke when detaching iframes containing windowed
+ plugins.
+
+ Each ScrollView now knows how many native windows it and its
+ children contain, and when it is detached, that number is
+ substracted from its old parents.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ (WebCore::ScrollView::setParent):
+ * platform/ScrollView.h:
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::adjustWidgetsPreventingBlittingCount):
+ (WebCore::ScrollView::platformAddChild):
+ (WebCore::ScrollView::platformRemoveChild):
+
+2009-05-18 David Kilzer <ddkilzer@apple.com>
+
+ Tiger build fix for r43850
+
+ * platform/mac/ClipboardMac.mm: Added typedef for NSUinteger
+ when building on Tiger.
+
+2009-05-18 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ ClipboardMac cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=25847
+
+ I'm mostly just moving code, however there are 3 changes I made while moving, detailed below.
+
+ No functional changes, so no tests.
+
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::ClipboardMac::clearData):
+ (WebCore::absoluteURLsFromPasteboardFilenames):
+ Broke out logic for filenames into its own function to make the caller more readable.
+ (WebCore::absoluteURLsFromPasteboard):
+ Broke out logic from getData into absoluteURLsFromPasteboard. This returns an NSArray
+ so that we can use -[NSArray componentsJoinedByString] in the caller (which is
+ cleaner than the manual "\n" addition before).
+ This also access to the full list of file urls for future callers.
+ (WebCore::ClipboardMac::getData):
+ unsigned count = (type == "URL") ? 1 : [fileList count]; is now an
+ explicit check for "URL", before it was a check for != "text/uri-list" which
+ was much more confusing in my opinion. text/uri-list and URL are the only
+ two types which map to NSURLPboardType in cocoaTypeFromMIMEType().
+ (WebCore::ClipboardMac::types):
+ I removed an extra if (!types) check, right before [types count]. In Obj-C
+ messaging nil will return 0 (size of a pointer), so it's safe to message nil
+ here and expect it to return 0.
+
+2009-05-18 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Bug 25859: Need to upstream ScriptController.* for v8.
+ https://bugs.webkit.org/show_bug.cgi?id=25859
+
+ * bindings/v8/ScriptController.cpp: Added.
+ * bindings/v8/ScriptController.h: Added.
+
+2009-05-18 Yichao Yin <yichao.yin@torchmobile.com.cn>
+
+ Reviewed by George Staikos.
+
+ Change ScriptElement to support XHTMLMP in a better way
+ https://bugs.webkit.org/show_bug.cgi?id=23452
+
+ * dom/ScriptElement.h:
+ * html/HTMLScriptElement.h:
+ * svg/SVGScriptElement.h:
+ (WebCore::SVGScriptElement::shouldExecuteAsJavaScript):
+
+2009-05-18 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, finish up changes after the accessibility dir split.
+
+ * webcore-base.bkl:
+
+2009-05-18 Yichao Yin <yichao.yin@torchmobile.com.cn>
+
+ Reviewed by George Staikos (and others).
+
+ Add XHTMLMP support to Webkit
+ https://bugs.webkit.org/show_bug.cgi?id=23452
+ XHTMLMP is a strict subset of XHTML 1.1. It extends XHTML Basic and add enhanced
+ functionality. Most of the functionalities have already been implemented by Webkit.
+
+ The changes include:
+ 1) Adding <noscript> support
+ 2) Document conformance validation
+ 3) User Agent conformance validation
+
+ refer to the specification: OMA-WAP-XHTMLMP-V1_1-20061020-A.pdf
+
+ Tests: fast/xhtmlmp/check-doctype-declaration.xhtml
+ fast/xhtmlmp/check-rootelement.xhtml
+ fast/xhtmlmp/noscript-in-multiscripts.xhtml
+ fast/xhtmlmp/noscript-nested.xhtml
+ fast/xhtmlmp/noscript.xhtml
+
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createDocument):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::isXHTMLMPDocument):
+ * dom/Document.h:
+ (WebCore::Document::shouldProcessNoscriptElement):
+ (WebCore::Document::setShouldProcessNoscriptElement):
+ * dom/Node.cpp:
+ (WebCore::Node::createRendererIfNeeded):
+ * dom/Node.h:
+ * dom/XMLTokenizer.h:
+ (WebCore::XMLTokenizer::setIsXHTMLMPDocument):
+ (WebCore::XMLTokenizer::isXHTMLMPDocument):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::XMLTokenizer):
+ (WebCore::XMLTokenizer::startElementNs):
+ (WebCore::XMLTokenizer::endElementNs):
+ (WebCore::XMLTokenizer::endDocument):
+ (WebCore::XMLTokenizer::internalSubset):
+ (WebCore::getEntityHandler):
+ (WebCore::externalSubsetHandler):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::XMLTokenizer):
+ (WebCore::XMLTokenizer::parse):
+ (WebCore::XMLTokenizer::parseStartElement):
+ (WebCore::XMLTokenizer::parseEndElement):
+ (WebCore::):
+ * dom/make_names.pl:
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::rendererIsNeeded):
+ * html/HTMLNoScriptElement.cpp: Added.
+ (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
+ (WebCore::HTMLNoScriptElement::~HTMLNoScriptElement):
+ (WebCore::HTMLNoScriptElement::checkDTD):
+ (WebCore::HTMLNoScriptElement::attach):
+ (WebCore::HTMLNoScriptElement::recalcStyle):
+ (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
+ (WebCore::HTMLNoScriptElement::styleForRenderer):
+ * html/HTMLNoScriptElement.h: Added.
+ (WebCore::HTMLNoScriptElement::rendererIsNeeded):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::getNode):
+ (WebCore::HTMLParser::isInline):
+ * html/HTMLTagNames.in:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::scriptHandler):
+ (WebCore::HTMLTokenizer::notifyFinished):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::addExtraFieldsToRequest):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes):
+
+2009-05-18 Mark Rowe <mrowe@apple.com>
+
+ Fix the build.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-05-18 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Rubber-stamped by Gustavo Noronha.
+
+ Fixed build for the Qt port by adding the WebCore/accessibility
+ directory to the includepath.
+
+ * WebCore.pro:
+
+2009-05-18 Chris Fleizach <cfleizach@apple.com>
+
+ Bug 25776: accessibility should have its own folder in WebCore project
+ https://bugs.webkit.org/show_bug.cgi?id=25776
+
+ Speculative fix for windows build failure.
+
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+
+2009-05-18 David Kilzer <ddkilzer@apple.com>
+
+ Bug 20652: WebKit doesn't display favicons with MIME type image/vnd.microsoft.icon
+
+ <https://bugs.webkit.org/show_bug.cgi?id=20652>
+
+ Reviewed by Darin Adler.
+
+ Test: http/tests/misc/favicon-as-image.html
+
+ * inspector/front-end/inspector.js: Added
+ image/vnd.microsoft.icon to WebInspector.MIMETypes.
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedImageMIMETypes): Added
+ image/vnd.microsoft.icon to list of supported image and image
+ resource MIME types.
+
+2009-05-18 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bug 25776: accessibility should have its own folder in WebCore project
+ https://bugs.webkit.org/show_bug.cgi?id=25776
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * accessibility: Added.
+ * accessibility/AXObjectCache.cpp: Copied from WebCore/page/AXObjectCache.cpp.
+ * accessibility/AXObjectCache.h: Copied from WebCore/page/AXObjectCache.h.
+ * accessibility/AccessibilityAriaGrid.cpp: Copied from WebCore/page/AccessibilityAriaGrid.cpp.
+ * accessibility/AccessibilityAriaGrid.h: Copied from WebCore/page/AccessibilityAriaGrid.h.
+ * accessibility/AccessibilityAriaGridCell.cpp: Copied from WebCore/page/AccessibilityAriaGridCell.cpp.
+ * accessibility/AccessibilityAriaGridCell.h: Copied from WebCore/page/AccessibilityAriaGridCell.h.
+ * accessibility/AccessibilityAriaGridRow.cpp: Copied from WebCore/page/AccessibilityAriaGridRow.cpp.
+ * accessibility/AccessibilityAriaGridRow.h: Copied from WebCore/page/AccessibilityAriaGridRow.h.
+ * accessibility/AccessibilityImageMapLink.cpp: Copied from WebCore/page/AccessibilityImageMapLink.cpp.
+ * accessibility/AccessibilityImageMapLink.h: Copied from WebCore/page/AccessibilityImageMapLink.h.
+ * accessibility/AccessibilityList.cpp: Copied from WebCore/page/AccessibilityList.cpp.
+ * accessibility/AccessibilityList.h: Copied from WebCore/page/AccessibilityList.h.
+ * accessibility/AccessibilityListBox.cpp: Copied from WebCore/page/AccessibilityListBox.cpp.
+ * accessibility/AccessibilityListBox.h: Copied from WebCore/page/AccessibilityListBox.h.
+ * accessibility/AccessibilityListBoxOption.cpp: Copied from WebCore/page/AccessibilityListBoxOption.cpp.
+ * accessibility/AccessibilityListBoxOption.h: Copied from WebCore/page/AccessibilityListBoxOption.h.
+ * accessibility/AccessibilityObject.cpp: Copied from WebCore/page/AccessibilityObject.cpp.
+ * accessibility/AccessibilityObject.h: Copied from WebCore/page/AccessibilityObject.h.
+ * accessibility/AccessibilityRenderObject.cpp: Copied from WebCore/page/AccessibilityRenderObject.cpp.
+ * accessibility/AccessibilityRenderObject.h: Copied from WebCore/page/AccessibilityRenderObject.h.
+ * accessibility/AccessibilityTable.cpp: Copied from WebCore/page/AccessibilityTable.cpp.
+ * accessibility/AccessibilityTable.h: Copied from WebCore/page/AccessibilityTable.h.
+ * accessibility/AccessibilityTableCell.cpp: Copied from WebCore/page/AccessibilityTableCell.cpp.
+ * accessibility/AccessibilityTableCell.h: Copied from WebCore/page/AccessibilityTableCell.h.
+ * accessibility/AccessibilityTableColumn.cpp: Copied from WebCore/page/AccessibilityTableColumn.cpp.
+ * accessibility/AccessibilityTableColumn.h: Copied from WebCore/page/AccessibilityTableColumn.h.
+ * accessibility/AccessibilityTableHeaderContainer.cpp: Copied from WebCore/page/AccessibilityTableHeaderContainer.cpp.
+ * accessibility/AccessibilityTableHeaderContainer.h: Copied from WebCore/page/AccessibilityTableHeaderContainer.h.
+ * accessibility/AccessibilityTableRow.cpp: Copied from WebCore/page/AccessibilityTableRow.cpp.
+ * accessibility/AccessibilityTableRow.h: Copied from WebCore/page/AccessibilityTableRow.h.
+ * accessibility/chromium: Added.
+ * accessibility/chromium/AXObjectCacheChromium.cpp: Copied from WebCore/page/chromium/AXObjectCacheChromium.cpp.
+ * accessibility/chromium/AccessibilityObjectChromium.cpp: Copied from WebCore/page/chromium/AccessibilityObjectChromium.cpp.
+ * accessibility/chromium/AccessibilityObjectWrapper.h: Copied from WebCore/page/chromium/AccessibilityObjectWrapper.h.
+ * accessibility/gtk: Added.
+ * accessibility/gtk/AXObjectCacheAtk.cpp: Copied from WebCore/page/gtk/AXObjectCacheAtk.cpp.
+ * accessibility/gtk/AccessibilityObjectAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectAtk.cpp.
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.cpp.
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.h: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.h.
+ * accessibility/mac: Added.
+ * accessibility/mac/AXObjectCacheMac.mm: Copied from WebCore/page/mac/AXObjectCacheMac.mm.
+ * accessibility/mac/AccessibilityObjectMac.mm: Copied from WebCore/page/mac/AccessibilityObjectMac.mm.
+ * accessibility/mac/AccessibilityObjectWrapper.h: Copied from WebCore/page/mac/AccessibilityObjectWrapper.h.
+ * accessibility/mac/AccessibilityObjectWrapper.mm: Copied from WebCore/page/mac/AccessibilityObjectWrapper.mm.
+ * accessibility/qt: Added.
+ * accessibility/qt/AccessibilityObjectQt.cpp: Copied from WebCore/page/qt/AccessibilityObjectQt.cpp.
+ * accessibility/win: Added.
+ * accessibility/win/AXObjectCacheWin.cpp: Copied from WebCore/page/win/AXObjectCacheWin.cpp.
+ * accessibility/win/AccessibilityObjectWin.cpp: Copied from WebCore/page/win/AccessibilityObjectWin.cpp.
+ * accessibility/win/AccessibilityObjectWrapperWin.h: Copied from WebCore/page/win/AccessibilityObjectWrapperWin.h.
+ * accessibility/wx: Added.
+ * accessibility/wx/AccessibilityObjectWx.cpp: Copied from WebCore/page/wx/AccessibilityObjectWx.cpp.
+ * page/AXObjectCache.cpp: Removed.
+ * page/AXObjectCache.h: Removed.
+ * page/AccessibilityAriaGrid.cpp: Removed.
+ * page/AccessibilityAriaGrid.h: Removed.
+ * page/AccessibilityAriaGridCell.cpp: Removed.
+ * page/AccessibilityAriaGridCell.h: Removed.
+ * page/AccessibilityAriaGridRow.cpp: Removed.
+ * page/AccessibilityAriaGridRow.h: Removed.
+ * page/AccessibilityImageMapLink.cpp: Removed.
+ * page/AccessibilityImageMapLink.h: Removed.
+ * page/AccessibilityList.cpp: Removed.
+ * page/AccessibilityList.h: Removed.
+ * page/AccessibilityListBox.cpp: Removed.
+ * page/AccessibilityListBox.h: Removed.
+ * page/AccessibilityListBoxOption.cpp: Removed.
+ * page/AccessibilityListBoxOption.h: Removed.
+ * page/AccessibilityObject.cpp: Removed.
+ * page/AccessibilityObject.h: Removed.
+ * page/AccessibilityRenderObject.cpp: Removed.
+ * page/AccessibilityRenderObject.h: Removed.
+ * page/AccessibilityTable.cpp: Removed.
+ * page/AccessibilityTable.h: Removed.
+ * page/AccessibilityTableCell.cpp: Removed.
+ * page/AccessibilityTableCell.h: Removed.
+ * page/AccessibilityTableColumn.cpp: Removed.
+ * page/AccessibilityTableColumn.h: Removed.
+ * page/AccessibilityTableHeaderContainer.cpp: Removed.
+ * page/AccessibilityTableHeaderContainer.h: Removed.
+ * page/AccessibilityTableRow.cpp: Removed.
+ * page/AccessibilityTableRow.h: Removed.
+ * page/chromium/AXObjectCacheChromium.cpp: Removed.
+ * page/chromium/AccessibilityObjectChromium.cpp: Removed.
+ * page/chromium/AccessibilityObjectWrapper.h: Removed.
+ * page/gtk/AXObjectCacheAtk.cpp: Removed.
+ * page/gtk/AccessibilityObjectAtk.cpp: Removed.
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp: Removed.
+ * page/gtk/AccessibilityObjectWrapperAtk.h: Removed.
+ * page/mac/AXObjectCacheMac.mm: Removed.
+ * page/mac/AccessibilityObjectMac.mm: Removed.
+ * page/mac/AccessibilityObjectWrapper.h: Removed.
+ * page/mac/AccessibilityObjectWrapper.mm: Removed.
+ * page/qt/AccessibilityObjectQt.cpp: Removed.
+ * page/win/AXObjectCacheWin.cpp: Removed.
+ * page/win/AccessibilityObjectWin.cpp: Removed.
+ * page/win/AccessibilityObjectWrapperWin.h: Removed.
+ * page/wx/AccessibilityObjectWx.cpp: Removed.
+
+2009-05-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25854
+ [GTK] Should tell servers we only support identity as content encoding
+
+ Let servers know we only support identity as content
+ encoding. We will implement this in libsoup.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startHttp):
+
+2009-05-18 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6881160> REGRESSION (r41425): Unable to create battle.net account due to
+ CAPTCHA failure.
+
+ The problem was that after loading and displaying a CAPTCHA image, it was loaded from
+ the server again due to preloading. So, the server expected the last loaded (invisible)
+ CAPTCHA text to be typed and posted back.
+
+ I don't know how to make tests for preloading.
+
+ * loader/DocLoader.cpp: (WebCore::DocLoader::checkForPendingPreloads): There is never a reason
+ to preload after loading for real - and if cache policy is CachePolicyReload, that actually
+ results in another load from network layer.
+
+ * loader/FrameLoader.cpp: (WebCore::FrameLoader::cachePolicy): It's not good for cachePolicy()
+ to lie, but I don't know how to re-do r41425 properly. Added a FIXME.
+
+2009-05-18 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Done together with Balazs Kelemen <kelemen.balazs@stud.u-szeged.hu>.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24551
+
+ [Qt] Reuse FontPlatformData for the same FontDescription.
+ This effectively prevents growing heap usage for loading every web page.
+
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::qHash): Necessary for FontPlatformDataCache.
+ (WebCore::FontCache::getCachedFontPlatformData): Reuse the instance if
+ it exists, otherwise create a new one and insert it in the cache.
+
+2009-05-18 Balazs Kelemen <kelemen.balazs@stud.u-szeged.hu>
+
+ Reviewed by Ariya Hidayat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24551
+
+ [Qt] Fix the leak in FontFallbackList::fontDataAt() function.
+ When creating a new instance of SimpleFontData, put it in the font list
+ so that it can deleted later on.
+
+ * platform/graphics/qt/FontFallbackListQt.cpp:
+ (WebCore::FontFallbackList::invalidate):
+ (WebCore::FontFallbackList::releaseFontData):
+ (WebCore::FontFallbackList::fontDataAt):
+
+2009-05-15 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-17 George Staikos <george.staikos@torchmobile.com>
+
+ Not reviewed - build fix.
+
+ Fix typo: constr -> const.
+
+ * wml/WMLInputElement.h:
+ (WebCore::WMLInputElement::setPlaceholder):
+
+2009-05-17 Darin Adler <darin@apple.com>
+
+ Fix done by Simon Fraser (reviewed by me).
+
+ <rdar://problem/6893775> Page with screen-only stylesheet with overflow and height
+ transitions has bad layout and overlapping garbled text when printing
+
+ * manual-tests/print-with-height-transition-in-screen-stylesheet.html: Added.
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationController::updateAnimations): Don't run transitions when printing.
+
+2009-05-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6870241> REGRESSION: Programmatically selected popup menu item not shown
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::setSelectedIndex): Added a call to updateFromElement and
+ also a type check on the selected index to avoid a bad cast to HTMLOptionElement.
+
+ * manual-tests/select-option-in-onload.html: Added.
+
+2009-05-17 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Rename local variables for readability.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBorder):
+
+2009-05-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Bug 25840: fix some warnings seen on the GTK bot
+ https://bugs.webkit.org/show_bug.cgi?id=25840
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::platformScrollbarModes): Initialize results here.
+ This is really just to quiet warnings. I think this code is unreachable.
+ Someone could put ASSERT_NOT_REACHED() in here too at some point.
+
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream): Use proper printf format for int
+ here, %d, not %lu. This could cause a real problem when compiled 64-bit,
+ so it's good to fix.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::getNextSoftBreak): Initialize breakOffset to 0 here. This is
+ really just to quiet the warning, but still seems like a good idea.
+
+2009-05-17 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25769: Fix accessibility warnings on GTK
+ https://bugs.webkit.org/show_bug.cgi?id=25769
+
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::columnCount): Get rid of excess const.
+ (WebCore::AccessibilityTable::rowCount): Ditto.
+ * page/AccessibilityTable.h: Ditto.
+
+2009-05-17 Kai Brüning <kai@granus.net>
+
+ Reviewed by Darin Adler.
+
+ bug 25822: DOM normalize does not remove empty text node between element nodes
+ https://bugs.webkit.org/show_bug.cgi?id=25822
+
+ Test: fast/dom/Node/normalize.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::normalize): Changed to remove any empty text nodes.
+
+2009-05-16 Dave Moore <davemoore@google.com>
+
+ Reviewed by Darin Adler.
+
+ Allow Strings to be created with one malloc node with no copying
+ https://bugs.webkit.org/show_bug.cgi?id=25779
+
+ Add new methods to String and StringImpl, refactoring existing
+ methods in StringImpl to use new createUninitialized() method.
+
+ * platform/text/PlatformString.h:
+ (WebCore::String::createUninitialized):
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::createUninitialized):
+ (WebCore::StringImpl::create):
+ * platform/text/StringImpl.h:
+
+2009-05-16 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6827041> WebCore should stop throwing away the CGImageSourceRef to
+ dramatically improve animated GIF decoding performance
+
+ Recent versions of ImageIO discard previously decoded image frames if the client
+ application no longer holds references to them, so there's no need to throw away
+ the decoder unless we're explicitly asked to destroy all of the frames.
+
+ This drops peak CPU usage when displaying <http://www.aintitcool.com/files/HoD2.gif>
+ from over 90% to below 3%.
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::clear):
+
+2009-05-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ - fix <rdar://problem/6873305> Two distinct characters are not displayed
+ correctly with 2 of the font selections from the stickies widget
+
+ Test: platform/mac/editing/pasteboard/text-precomposed.html
+
+ Ensure that "text/plain" data retrieved from the clipboard is always
+ precomposed. This makes Clipboard::getData() and
+ Pasteboard::documentFragment() consistent with Pasteboard::plainText()
+ and -[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:].
+
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::ClipboardMac::getData):
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::Pasteboard::documentFragment):
+
+2009-05-16 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForFamily): Declare valueForFamily as static.
+
+2009-05-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6883872> REGRESSION (r43243): computed style for font-family is returning
+ only the generic font, if any generic font is in the family list
+
+ Test: fast/css/getComputedStyle/computed-style-font-family.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ Sorted computedProperties alphabetically. Added CSSPropertyClip and CSSPropertyWordBreak.
+ (WebCore::identifierForFamily): Added. Maps internal font family names to identifiers.
+ (WebCore::valueForFamily): Added. Creates either an identifier or a string as appropriate.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implemented the font-family
+ property as specified in the CSS standard. Fixed clip to return "auto" when there is no
+ clip set instead of nothing at all. Gave inheritableProperties and numInheritableProperties
+ internal linkage since there was no reason for them to have external linkage.
+
+2009-05-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25741
+
+ Append instead of throwing when insertItemBefore gets an out-of-bound
+ index.
+
+ Test: svg/dom/svglist-insertItemBefore-appends.html
+
+ * svg/SVGList.h:
+ (WebCore::SVGList::insertItemBefore):
+
+2009-05-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=25829
+
+ Fix -webkit-background-clip:text when the renderer had a non (0,0) x, y offset.
+
+ Test: fast/backgrounds/background-clip-text.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+
+2009-05-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/6888244> REGRESSION: Using the Up or Down keyboard
+ arrows, I can't navigate caret between To Do items in a Note message
+
+ Test: editing/selection/move-by-line-004.html
+
+ * editing/visible_units.cpp:
+ (WebCore::enclosingNodeWithNonInlineRenderer): Added this helper
+ function.
+ (WebCore::previousLinePosition): When advancing to the next candidate
+ node, stop when leaving the closest ancestor of the original node that
+ is not an inline. The code, incorrectly, was trying to exit the closest
+ ancestor of that type which was editable, and therefore missing other
+ blocks in the same editable root.
+ (WebCore::nextLinePosition): Ditto.
+
+2009-05-15 Fridrich Strba <fridrich.strba@bluewin.ch>
+
+ Reviewed by Jan Alonzo.
+
+ Converting filename to uri by concatenating strings is broken
+ on Windows. So, don't do it for that platform.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startGio):
+
+2009-05-15 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream V8 bindings for HTMLOptionsCollection and HTMLSelectElementCollection.
+ https://bugs.webkit.org/show_bug.cgi?id=25739
+
+ * bindings/v8/V8Collection.cpp: Added.
+ (WebCore::toOptionsCollectionSetter): Moved from v8_custom.cpp.
+ * bindings/v8/V8Collection.h: Added prototype for toOptionsCollectionSetter().
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp.
+ * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Added.
+ (WebCore::NAMED_PROPERTY_GETTER): Moved from v8_custom.cpp.
+ (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp.
+
+2009-05-15 David Kilzer <ddkilzer@apple.com>
+
+ <rdar://problem/6649936> Add *.exp export files to WebCore Xcode project
+
+ Reviewed by Darin Adler and Timothy Hatcher.
+
+ * WebCore.xcodeproj/project.pbxproj: Added Exports group, moved
+ WebCore.base.exp into the group, and added 10 other *.exp files
+ in WebCore.
+
+2009-05-15 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25826
+ Change type to only have custom getter in JCS.
+
+ * html/HTMLInputElement.idl: Changed CustomGetter attribute to JSCCustomGetter.
+
+2009-05-15 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dave Kilzer.
+
+ Add a settings entry to en/disable web font support
+ https://bugs.webkit.org/show_bug.cgi?id=25239
+
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+
+2009-05-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Steve Falkenburg.
+
+ Remove dead youtube site specific hack that was commented out.
+
+ * bindings/js/JSNavigatorCustom.cpp:
+ * page/Navigator.idl:
+
+2009-05-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=25826
+ <rdar://problem/6884742>
+ REGRESSION: In Gmail's Edit Link dialog, I can't type in the Link To: field (due to <input type=url> support)
+
+ Added a site specific quirk for mail.google.com which returns "text" when getting the type of an <input type=url>
+
+ * bindings/js/JSHTMLInputElementCustom.cpp:
+ (WebCore::needsGmailQuirk):
+ (WebCore::JSHTMLInputElement::type):
+ * html/HTMLInputElement.idl:
+
+2009-05-14 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25810
+ Upstream V8 DOM Wrapper map declarations.
+
+ No behavior change, so no tests.
+
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::WeakReferenceMap): Added.
+ (WebCore::WeakReferenceMap::~WeakReferenceMap): Added.
+ (WebCore::WeakReferenceMap::get): Added.
+ (WebCore::WeakReferenceMap::set): Added.
+ (WebCore::WeakReferenceMap::forget): Added.
+ (WebCore::WeakReferenceMap::contains): Added.
+ (WebCore::WeakReferenceMap::impl): Added.
+ (WebCore::DOMWrapperMap::DOMWrapperMap): Added.
+
+2009-05-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=25773
+
+ Rename GraphicsLayer::graphicsContextsFlipped() to
+ GraphicsLayer::compositingCoordinatesOrientation() in order to clarify the usage.
+
+ Clean up code around the GraphicsLayer "contents" layer that makes use of this
+ flag, by removing the setHasContentsLayer() method, and just using setContentsLayer(),
+ which can then always do the flipping if necessary.
+
+ Only affects ACCELERATED_COMPOSITING builds.
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::):
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ (WebCore::GraphicsLayerCA::contentsLayer):
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayer::compositingCoordinatesOrientation):
+ (WebCore::GraphicsLayerCA::setBackgroundColor):
+ (WebCore::GraphicsLayerCA::clearBackgroundColor):
+ (WebCore::GraphicsLayerCA::setContentsToImage):
+ (WebCore::GraphicsLayerCA::clearContents):
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+ (WebCore::GraphicsLayerCA::setContentsLayer):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+
+2009-05-15 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25765
+
+ Avoid calling setNeedsStyleRecalc() when we are
+ putting an animated page in the cache. This avoids
+ the assert and subsequent problems with a dirty
+ page going into the cache.
+
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::endAnimation):
+
+2009-05-15 Francisco Tolmasky <francisco@280north.com>
+
+ BUG 25467: JavaScript debugger should use function.displayName as the function's name in the call stack
+ <https://bugs.webkit.org/show_bug.cgi?id=25467>
+
+ Reviewed by Adam Roben.
+
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::functionName): Use calculatedFunctionName which takes into account displayName
+ * inspector/front-end/CallStackSidebarPane.js: Remove "|| anonymous function" since it is handled internally just like in profiles
+ (WebInspector.CallStackSidebarPane.prototype.update):
+
+2009-05-15 Alexey Proskuryakov <ap@webkit.org>
+
+ Windows build fix (and a matching Mac change, to avoid unnecessarily diverging the implementations).
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::ResourceHandle::start):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+ Check strings with isEmpty(), not relying on any implicit conversions.
+
+2009-05-15 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler, Brady Eidson and Eric Carlson.
+
+ <rdar://problem/6875643> REGRESSION: Unable to download file with FTP URL that includes
+ username and password (Lightwave 9.6 for Mac from Newtek site)
+
+ CFNetwork only invokes didReceiveAuthenticationChallenge for HTTP requests. Credentials
+ for other protocols (including FTP) should be included as part of the URL.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::ResourceHandle::start):
+ (WebCore::WebCoreSynchronousLoader::load):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+ (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
+ Put credentials in URL for non-HTTP requests.
+
+ * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
+ Bail out quickly if the URL is non-HTTP. Cross-origin requests require specific HTTP
+ headers to be received, so they cannot work with other protocols.
+
+2009-05-15 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] In the image decoder, remove the raw image data represented as QImage
+ once the image is converted to QPixmap and inserted in the pixmap cache.
+ This effectively reduces the heap usage when running on graphics system
+ other than raster (i.e the case where QImage != QPixmap).
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::imageAtIndex): Nullified the image on purpose.
+ * platform/graphics/qt/ImageDecoderQt.h: Made m_imageList mutable.
+
+2009-05-15 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Refactor alpha channel detection the image decoder.
+ Sets the boolean flag as soon as the image is being read.
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::ImageDecoderQt): Initialized m_hasAlphaChannel.
+ (WebCore::ImageDecoderQt::setData): Set the flag when appropriate.
+ (WebCore::ImageDecoderQt::supportsAlpha): Simplified.
+ (WebCore::ImageDecoderQt::reset): Resetted the flag.
+ * platform/graphics/qt/ImageDecoderQt.h: Added m_hasAlphaChannel.
+
+2009-05-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Finish support for disabling the JavaScript Debugger and Profiler
+ at compile time in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=24917
+
+ * bindings/js/JSInspectorControllerCustom.cpp: ENABLE_JAVASCRIPT_DEBUGGER guard
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp: Ditto.
+ * inspector/JavaScriptCallFrame.cpp: Ditto.
+ * inspector/JavaScriptCallFrame.h: Ditto.
+ * inspector/JavaScriptCallFrame.idl: Ditto.
+ * inspector/JavaScriptDebugListener.h: Ditto.
+ * inspector/JavaScriptDebugServer.cpp: Ditto.
+ * inspector/JavaScriptDebugServer.h: Ditto.
+ * inspector/JavaScriptProfile.cpp: Ditto.
+ * inspector/JavaScriptProfile.h: Ditto.
+ * inspector/JavaScriptProfileNode.cpp: Ditto.
+ * inspector/JavaScriptProfileNode.h: Ditto.
+ * page/Console.cpp: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of USE(JSC)
+ * page/Console.h: Ditto.
+ * page/Console.idl: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of !defined(V8_BINDING)
+
+2009-05-15 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by Dimitri Glazkov
+
+ http://bugs.webkit.org/show_bug.cgi?id=25464
+
+ Improve the font fallback for characters belonging to 'common' scripts
+ in ChromiumWin port. Make characters like Danda, Double Danda (punctuation
+ marks in North Indian scripts) and currency signs (e.g. Thai Baht)
+ rendered correctly in Chromium on Win.
+
+ Tests: fast/text/international/danda-space.html
+ fast/text/international/thai-baht-space.html
+
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::FontMap::getScriptBasedOnUnicodeBlock):
+ (WebCore::FontMap::getScript):
+ (WebCore::getFallbackFamily):
+
+2009-05-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25731
+ [Qt] Cleanup - move files exclusive to XPATH and XSLT under the
+ appropriate build section
+
+ * WebCore.pro:
+
+2009-05-14 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel and Darin Fisher.
+
+ Fix a font-related leak in Chromium's Skia backend found by Valgrind.
+ https://bugs.webkit.org/show_bug.cgi?id=25760
+
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+ Use caches instead of "new" on every call.
+
+2009-05-14 Rahul Kuchhal <kuchhal@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Initialize m_spreadMethod in the second constructor too. Not sure if
+ a test case can be written, so no test case.
+ https://bugs.webkit.org/show_bug.cgi?id=25814
+
+ No test possible: spreadMethod() is only used by SVG, doesn't seem possible to hit
+ this case, since several other SVG tests already should be calling
+ spreadMethod().
+
+ * platform/graphics/Gradient.cpp:
+ (WebCore::Gradient::Gradient):
+
+2009-05-14 Simon Fraser <simon.fraser@apple.com>
+
+ No review.
+
+ Fix Windows build after renaming MediaControlElements to MediaControlElementType.
+
+ * rendering/RenderMediaControls.cpp:
+ (WebCore::RenderMediaControls::paintMediaControlsPart):
+ * rendering/RenderMediaControls.h:
+
+2009-05-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ <rdar://problem/6739671> Movie controller’s play button does not change into a pause
+ button
+
+ Fix a controls repaint issue when the playing state of a video changes by
+ educating the MediaControlInputElements about the state they are currently
+ displaying, and making them repaint when that state changes. This applies
+ to the play/pause and mute/unmute buttons, which both have two states.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::MediaControlInputElement):
+ (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
+ (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
+ (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
+ Pass in and initialize the MediaControlElementType.
+
+ (WebCore::MediaControlInputElement::update):
+ Update the display type too
+
+ (WebCore::MediaControlInputElement::setDisplayType):
+ (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
+ (WebCore::MediaControlMuteButtonElement::updateDisplayType):
+ Choose muted vs. unmuted display.
+
+ (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
+ (WebCore::MediaControlPlayButtonElement::updateDisplayType):
+ Choose play vs. paused display.
+
+ * rendering/MediaControlElements.h:
+ Renamed the MediaControlElements enum to MediaControlElementType.
+ (WebCore::MediaControlInputElement::updateDisplayType):
+ Add a MediaControlElementType member variable with a setter to allow
+ the element to know what type it is displaying.
+
+2009-05-14 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25197
+
+ Add support for aspect-ratio and orientation
+ media queries.
+
+ Tests: fast/media/mq-aspect-ratio.html
+ fast/media/mq-orientation.html
+
+ * css/MediaFeatureNames.h:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::orientationMediaFeatureEval):
+ (WebCore::aspect_ratioMediaFeatureEval):
+ (WebCore::min_aspect_ratioMediaFeatureEval):
+ (WebCore::max_aspect_ratioMediaFeatureEval):
+ * css/MediaQueryExp.h:
+ (WebCore::MediaQueryExp::isViewportDependent):
+
+2009-05-14 Kevin McCullough <kmccullough@apple.com>
+
+ - Resubmitting previous patch, correctly this time.
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::splitTreeToNode):
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::outdentParagraph):
+
+2009-05-14 Kevin McCullough <kmccullough@apple.com>
+
+ - Rolling out to fix a bug and the build
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::splitTreeToNode):
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::outdentParagraph):
+
+2009-05-14 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6510362> In some situations message content is messed up
+ when indentation is decreased
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::splitTreeToNode): Calling recursively
+ here served to do nothing because this function will return if the
+ second argument is the parent of the first. Not only does this now work
+ as intended, but is necessary for the rest of this fix.
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::outdentParagraph): To determine if we
+ are the last node in a <blockquote>, and can therefore remove the
+ <blockquote> we need the endOfEnclosingBlock to extend to the end of
+ the <blockquote> not just the next block, which could be a <div>, for
+ example.
+ - Also If a <blockquote> is removed, but it's the child of another
+ <blockquote> then its children are now children of the top <blockquote>.
+ In this case we want to split the parent <blockquote> because the next
+ paragraph assumes that it is the first node in its <blockquote> and if
+ that is not true, various bugs arise.
+
+2009-05-14 Brady Eidson <beidson@apple.com>
+
+ Build fix.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::setDefaultMIMEType):
+
+2009-05-14 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix http/tests/xmlhttprequest/cache-override.html on Windows
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::setDefaultMIMEType): Modify the previous response so it maintains all of its data.
+ (WebCore::didReceiveResponse): Call setDefaultMIMEType() when needed.
+ (WebCore::WebCoreSynchronousLoader::load): Ditto.
+
+2009-05-14 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug: Mac Chromium popup menus are not positioned correctly
+ on scrolled pages:
+ https://bugs.webkit.org/show_bug.cgi?id=25772
+
+ Fix Mac Chromium popup menu placement by taking into
+ account any scrolling in the current window. This mirrors
+ the positioning done in PopupContainer::show(), which is
+ used on Chromium Windows and linux.
+
+ Also fixed indenting for this method.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::showExternal):
+
+2009-05-14 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25774
+ Upstream V8MessagePortCustom.cpp from the chromium repository.
+
+ * bindings/v8/custom/V8MessagePortCustom.cpp: Added.
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-05-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=25777
+
+ StyleGeneratedImage::imageSize() needs to take zooming into account for
+ fixed-size images (i.e. canvas) so that canvas-as-image-background
+ renders correctly with zooming.
+
+ Test: fast/canvas/canvas-bg-zoom.html
+
+ * rendering/style/StyleGeneratedImage.cpp:
+ (WebCore::StyleGeneratedImage::imageSize):
+
+2009-05-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch originally by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25796
+ <rdar://problem/6886654> Shouldn't set referer and origin in Loader::Host::servePendingRequests().
+
+ Test: http/tests/security/credentials-in-referer.html
+
+ * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): This will be done in
+ SubresourceLoader::create() anyway.
+
+2009-05-14 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25797: Pages with image maps are not properly read with Voiceover
+ https://bugs.webkit.org/show_bug.cgi?id=25797
+
+ * page/AccessibilityImageMapLink.h:
+ (WebCore::AccessibilityImageMapLink::isEnabled):
+
+2009-05-14 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6887762> and https://bugs.webkit.org/show_bug.cgi?id=25790
+
+ Nuke the bogus ASSERT and add a legitimate ASSERT with a little help from a new accessor.
+
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::shouldContentSniff):
+ * platform/network/ResourceHandle.h:
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::createCFURLResponseWithDefaultMIMEType):
+ (WebCore::didReceiveResponse):
+
+2009-05-14 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25791
+ Bug 25791: HTMLMediaElement: implement 'startTime' attribute
+
+ Support the recently added HTMLMediaElement 'startTime' attribute. This is a read-only
+ value that only the media engine can know, so we just need to add the attribute
+ to HTMLMediaElement and add methods to MediaPlayer and MediaPlayerPrivateInterface so
+ the engine can make it available.
+
+ Test: media/media-startTime.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::startTime): New.
+ * html/HTMLMediaElement.h:
+ * html/HTMLMediaElement.idl:
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::startTime): New.
+ * platform/graphics/MediaPlayer.h:
+
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::startTime): New.
+
+2009-05-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Only create a QWidget wrapper for the plugin in the case it is not
+ in the Qt window mapper, and thus receiving events from the Qt
+ event system. Native Qt based plugins running in process, will
+ already be in the window mapper, and thus creating a wrapper,
+ stops them from getting events from Qt, as they are redirected
+ to the wrapper.
+
+ * plugins/qt/PluginContainerQt.cpp:
+ (PluginContainerQt::on_clientIsEmbedded):
+
+2009-05-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25784
+ Leaks seen on HTTP tests
+
+ We should change ResourceHandleMac.mm to use smart pointers some day, but this is a minimal fix.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::loadResourceSynchronously): Release mutable request copy made for
+ disabling content sniffing, matching the normal code path.
+ (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Release m_user
+ and m_pass before overwriting.
+ (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
+
+2009-05-14 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25418
+ Remove new lines from event handler wrapper to make line numbers
+ in the wrapped script conside with the lines in the original script.
+
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ (WebCore::V8LazyEventListener::getWrappedListenerFunction):
+
+2009-05-14 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove a JSC-specific include that is already added by including
+ ScriptController.
+
+ No change in behavior, so no tests.
+
+ * dom/Document.cpp: Removed JSDOMBinding include.
+
+2009-05-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
+
+ Hopefully, a final stroke. When updating ResourceRequest from a platform request, a wrong
+ CFString function was used, so a user-friendly name was stored in encoding fallback array.
+
+ * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdateResourceRequest):
+ * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest):
+
+2009-05-14 Ben Murdoch <benm@google.com>
+
+ Reviewed by Darin Adler.
+
+ Add more ENABLE_DATABASE guards.
+ https://bugs.webkit.org/show_bug.cgi?id=25616
+
+ See also https://bugs.webkit.org/show_bug.cgi?id=24776 (original set of guards)
+
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementCallback.h:
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ * storage/Database.cpp:
+ * storage/DatabaseDetails.h:
+ * storage/OriginUsageRecord.cpp:
+ * storage/OriginUsageRecord.h:
+ * storage/SQLError.h:
+ * storage/SQLError.idl:
+ * storage/SQLResultSet.cpp:
+ * storage/SQLResultSet.h:
+ * storage/SQLResultSet.idl:
+ * storage/SQLResultSetRowList.cpp:
+ * storage/SQLResultSetRowList.h:
+ * storage/SQLResultSetRowList.idl:
+ * storage/SQLStatementCallback.h:
+ * storage/SQLStatementErrorCallback.h:
+ * storage/SQLTransactionCallback.h:
+ * storage/SQLTransactionErrorCallback.h:
+
+2009-05-11 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25787
+
+ Gtk was the last platform to not unregister plugins when
+ the plugin is stopped. Catch up with r43550.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::stop):
+
+2009-05-14 Adam Roben <aroben@apple.com>
+
+ Make WebCore.vcproj's pre-build event work again
+
+ * WebCore.vcproj/WebCore.vcproj: Removed empty override of the
+ pre-build event that was accidentally left in when the pre-build event
+ was moved to WebCoreCommon.vsprops.
+
+2009-05-14 Darin Adler <darin@apple.com>
+
+ * manual-tests/right-click-crash.html: Added.
+
+2009-05-14 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
+
+ The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
+ Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
+ if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
+
+ * Configurations/Base.xcconfig:
+
+2009-05-13 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebCore.NPAPI.exp:
+
+2009-05-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix invalid memory write seen in HTMLCanvasElement by Valgrind
+ https://bugs.webkit.org/show_bug.cgi?id=25759
+
+ I can't think of any way to catch this with a layout test, so no test.
+
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::canvasDestroyed):
+ * css/CSSCanvasValue.h:
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
+ * html/HTMLCanvasElement.h:
+
+2009-05-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ - fix <rdar://problem/5483015> Replies in Mail are drawn first without
+ the user style sheet and then redrawn with the style sheet
+
+ Test: platform/mac/fast/loader/user-stylesheet-fast-path.html
+
+ * page/mac/FrameMac.mm:
+ (WebCore::Frame::setUserStyleSheetLocation): For data URLs with
+ base64-encoded UTF-8 data, just decode the style sheet here an apply
+ it synchronously instead of invoking an asynchronous loader.
+
+2009-05-13 Chris Fleizach <cfleizach@apple.com>
+
+ Bug 25755: Implement ARIA grid role
+ https://bugs.webkit.org/show_bug.cgi?id=25755
+
+ Fix build bustage from last checkin.
+
+ * page/AccessibilityAriaGrid.cpp:
+ (WebCore::AccessibilityAriaGrid::addChild):
+
+2009-05-13 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 25755: Implement ARIA grid role
+ https://bugs.webkit.org/show_bug.cgi?id=25755
+
+ Test: accessibility/aria-tables.html
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * page/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::nodeIsAriaType):
+ (WebCore::AXObjectCache::getOrCreate):
+ * page/AXObjectCache.h:
+ * page/AccessibilityAriaGrid.cpp: Added.
+ (WebCore::AccessibilityAriaGrid::AccessibilityAriaGrid):
+ (WebCore::AccessibilityAriaGrid::~AccessibilityAriaGrid):
+ (WebCore::AccessibilityAriaGrid::create):
+ (WebCore::AccessibilityAriaGrid::addChild):
+ (WebCore::AccessibilityAriaGrid::addChildren):
+ (WebCore::AccessibilityAriaGrid::cellForColumnAndRow):
+ * page/AccessibilityAriaGrid.h: Added.
+ (WebCore::AccessibilityAriaGrid::isAriaTable):
+ * page/AccessibilityAriaGridCell.cpp: Added.
+ (WebCore::AccessibilityAriaGridCell::AccessibilityAriaGridCell):
+ (WebCore::AccessibilityAriaGridCell::~AccessibilityAriaGridCell):
+ (WebCore::AccessibilityAriaGridCell::create):
+ (WebCore::AccessibilityAriaGridCell::parentTable):
+ (WebCore::AccessibilityAriaGridCell::rowIndexRange):
+ (WebCore::AccessibilityAriaGridCell::columnIndexRange):
+ * page/AccessibilityAriaGridCell.h: Added.
+ * page/AccessibilityAriaGridRow.cpp: Added.
+ (WebCore::AccessibilityAriaGridRow::AccessibilityAriaGridRow):
+ (WebCore::AccessibilityAriaGridRow::~AccessibilityAriaGridRow):
+ (WebCore::AccessibilityAriaGridRow::create):
+ (WebCore::AccessibilityAriaGridRow::parentTable):
+ (WebCore::AccessibilityAriaGridRow::headerObject):
+ * page/AccessibilityAriaGridRow.h: Added.
+ * page/AccessibilityList.cpp:
+ (WebCore::AccessibilityList::accessibilityIsIgnored):
+ * page/AccessibilityList.h:
+ * page/AccessibilityObject.h:
+ (WebCore::):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::RoleEntry::):
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::AccessibilityTable):
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+ * page/AccessibilityTable.h:
+ (WebCore::AccessibilityTable::isAriaTable):
+ * page/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::parentTable):
+ (WebCore::AccessibilityTableCell::isTableCell):
+ (WebCore::AccessibilityTableCell::titleUIElement):
+ * page/AccessibilityTableCell.h:
+ * page/AccessibilityTableColumn.cpp:
+ (WebCore::AccessibilityTableColumn::setParentTable):
+ (WebCore::AccessibilityTableColumn::headerObject):
+ * page/AccessibilityTableRow.cpp:
+ (WebCore::AccessibilityTableRow::isTableRow):
+ (WebCore::AccessibilityTableRow::parentTable):
+ * page/AccessibilityTableRow.h:
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (RoleEntry::):
+
+2009-05-13 David Levin <levin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 25763: Need to move v8 custom binding to the custom directory.
+ https://bugs.webkit.org/show_bug.cgi?id=25763
+
+ No test due to no change in behavior.
+
+ * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Renamed from WebCore/bindings/v8/V8CanvasPixelArrayCustom.cpp.
+
+2009-05-13 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix LayoutTests/fast/dom/Element/attr-param-typechecking.html crashing with V8.
+ https://bugs.webkit.org/show_bug.cgi?id=25758
+
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): return the result of throwError() if it is called.
+
+2009-05-13 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ Fix a number of bugs relating to RTL and text-overflow:ellipsis.
+ Also refactor the relevant code to make it a little clearer.
+
+ This CL fixes 3 fundamental issues:
+ - Corrects behavior if the truncated InlineTextBox's directionality is
+ different from the overall flow direction - bug 25135.
+ - Make decoration drawing in InlineFlowbox RTL-aware - bug 24206.
+ - Full truncation on InlineBoxes in RTL flow - bug 24186
+ - Add tests for the above + reorder/cleanup tests for easier
+ interpretation of outcome.
+
+ The code for placing ellipsis has been refactored to use
+ left/right notation rather than a single variable whose meaning
+ could differ based on flow directionality.
+
+ To support differing inline directionality vs flow directionality,
+ different variables are now used in InlineTextBox::placeEllipsisBox to
+ track the two.
+
+ The drawing mode for underlines in standards mode now correctly handles
+ RTL truncation and relevant test where added.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24186
+ https://bugs.webkit.org/show_bug.cgi?id=25135
+ https://bugs.webkit.org/show_bug.cgi?id=24206
+
+ Tests: fast/css/text-overflow-ellipsis-bidi.html
+ fast/css/text-overflow-ellipsis-strict.html
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::placeEllipsisBox):
+ * rendering/InlineBox.h:
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintTextDecorations):
+ (WebCore::InlineFlowBox::placeEllipsisBox):
+ * rendering/InlineFlowBox.h:
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::placeEllipsisBox):
+ (WebCore::InlineTextBox::paint):
+ * rendering/InlineTextBox.h:
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::placeEllipsis):
+ (WebCore::RootInlineBox::placeEllipsisBox):
+ * rendering/RootInlineBox.h:
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::checkLinesForTextOverflow):
+
+2009-05-13 Dmitry Titov <dimich@chromium.org>
+
+ Rubber-stamped by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25746
+ Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::matchFunc):
+ (WebCore::openFunc):
+ (WebCore::createStringParser):
+ (WebCore::createMemoryParser):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::open):
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::SQLiteDatabase):
+ (WebCore::SQLiteDatabase::close):
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::DatabaseThread):
+ (WebCore::DatabaseThread::start):
+ (WebCore::DatabaseThread::databaseThread):
+ * storage/LocalStorageThread.cpp:
+ (WebCore::LocalStorageThread::LocalStorageThread):
+ (WebCore::LocalStorageThread::start):
+ (WebCore::LocalStorageThread::localStorageThread):
+ (WebCore::LocalStorageThread::scheduleImport):
+ (WebCore::LocalStorageThread::scheduleSync):
+ (WebCore::LocalStorageThread::terminate):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::start):
+
+2009-05-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Fix for <rdar://problem/6872894> REGRESSION (r41896-42143): First letter cut off in styled select menus
+
+ Make sure to do rounded clipping for overflow and controls relative to the border box and not to the overflow/control clip rect
+ (which is typically clipped to the padding or content box). Doing so was causing rounded clips to be incorrectly applied to padding and
+ content.
+
+ Added fast/overflow/border-radius-clipping.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::pushContentsClip):
+
+2009-05-13 Darin Adler <darin@apple.com>
+
+ Revert the parser arena change. It was a slowdown, not a speedup.
+ Better luck next time (I'll break it up into pieces).
+
+2009-05-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin and Darin Adler.
+
+ Fix for <rdar://problem/6869687> REGRESSION (r41203): Facebook friend suggestions disappear on update.
+
+ Make sure that renderers are marked for layout if a style change causes them to switch from having a self-painting layer
+ to a non-self-painting layer (and vice versa).
+
+ Move misplaced layer repainting code that was in RenderBox up into RenderBoxModelObject so that inlines with layers
+ repaint properly on opacity changes, etc.
+
+ Added fast/repaint/opacity-change-on-overflow-float.html.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleWillChange):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::styleWillChange):
+ (WebCore::RenderBoxModelObject::styleDidChange):
+ * rendering/RenderBoxModelObject.h:
+
+2009-05-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Not reviewed, build fix.
+
+ Move an include, needed by Debugger under the corresponding guard.
+
+ * inspector/InspectorController.cpp: Moved parser/SourceCode under JAVASCRIPT_DEBUGGER
+ guard.
+
+2009-05-13 David Levin <levin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 25394: REGRESSION: crash in DocumentLoader::addResponse due to bad |this| pointer
+ https://bugs.webkit.org/show_bug.cgi?id=25394
+
+ Test: http/tests/xmlhttprequest/frame-unload-abort-crash.html
+
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::create):
+ Add another check to subresource loader to avoid doing any loads in frames
+ when the loaders are being stopped.
+
+2009-05-13 Stephan Haller <nomad@froevel.de>
+
+ Reviewed by Gustavo Noronha.
+
+ Wrong handling of file upload if no file selected
+ https://bugs.webkit.org/show_bug.cgi?id=25649
+
+ Fixed returned path if path is empty
+
+ * WebCore/platform/gtk/FileSystemGtk.cpp:
+
+2009-05-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6805567> REGRESSION (r42348): Notes flicker white
+ when loading
+
+ Tests: fast/frames/content-opacity-1.html
+ fast/frames/content-opacity-2.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::reset): Reset m_contentIsOpaque to false.
+ (WebCore::FrameView::useSlowRepaints): Use slow repaints if the content
+ is not known to be opaque.
+ (WebCore::FrameView::setContentIsOpaque): Added. Sets m_contentIsOpaque
+ and enables or disables fast repaints accordingly.
+ * page/FrameView.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended): Removed the
+ document()->haveStylesheetsLoaded() condition in determining whether the
+ root is opaque. This is what was causing the bug, as iframes were
+ considered to be opaque, and thus painted an opaque white background,
+ whenever they were pending a style sheet load.
+ Changed to call FrameView::setContentIsOpaqe() instead of
+ setUseSlowRepaints(), which allows the frame to go back to fast repaints
+ if the content becomes opaque.
+ Corrected the check for background color opacity: any alpha value other
+ than 255--not just zero--is not opaque.
+
+2009-05-13 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Sam Weinig.
+
+ [Qt] Fix "lighther" composition mode.
+ QPainter::CompositionMode_Plus is the right match.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::toQtCompositionMode):
+
+2009-05-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Bug 25674: syntax tree nodes should use arena allocation
+ https://bugs.webkit.org/show_bug.cgi?id=25674
+
+ * bindings/js/JSDOMBinding.h: Removed include of JSFunction.h.
+ We don't want the entire DOM binding to depend on that file.
+
+ * bindings/js/JSAudioConstructor.cpp: Added include of Error.h.
+ Before we inherited this automatically because JDDOMBinding.h
+ included JSFunction.h, but that was excessive.
+ * bindings/js/JSDOMWindowCustom.cpp: Ditto.
+ * bindings/js/JSHTMLInputElementCustom.cpp: Ditto.
+ * bindings/js/JSImageConstructor.cpp: Ditto.
+ * bindings/js/JSLazyEventListener.cpp: Ditto, but for JSFunction.h.
+ * bindings/js/JSMessageChannelConstructor.cpp: Ditto.
+ * bindings/js/JSOptionConstructor.cpp: Ditto.
+ * bindings/js/JSWorkerConstructor.cpp: Ditto.
+ * bindings/js/JSXMLHttpRequestConstructor.cpp: Ditto.
+ * bridge/jni/jni_jsobject.mm: Ditto, but for SourceCode.h.
+ * inspector/InspectorController.cpp: Ditto.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
+ Moved mose of this function into the base class in JavaScriptCore,
+ so the details of compilation don't have to be exposed.
+
+2009-05-13 Douglas R. Davidson <ddavidso@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6879145>
+ Generate a contextual menu item allowing autocorrections to
+ easily be changed back. Refrain from re-correcting items
+ that have already been autocorrected once.
+
+ * dom/DocumentMarker.h:
+ * editing/Editor.cpp:
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+ (WebCore::Editor::changeBackToReplacedString):
+ * editing/Editor.h:
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+ * page/mac/WebCoreViewFactory.h:
+ * platform/ContextMenu.cpp:
+ (WebCore::ContextMenu::populate):
+ (WebCore::ContextMenu::checkOrEnableIfNeeded):
+ * platform/ContextMenuItem.h:
+ * platform/LocalizedStrings.h:
+ * platform/mac/LocalizedStringsMac.mm:
+ (WebCore::contextMenuItemTagChangeBack):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::replacedString):
+ * rendering/HitTestResult.h:
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::computeRectForReplacementMarker):
+ (WebCore::InlineTextBox::paintDocumentMarkers):
+ * rendering/InlineTextBox.h:
+
+2009-05-13 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber Stamped by Oliver Hunt.
+
+ [GTK] Fix Gtk+/X11 build on OSX
+
+ Including the CoreFoundation header here and X11 headers
+ later will result in different definitions of Boolean. The
+ CoreFoundation include does not seem to be necessary here
+ and my mac build was successfull without it. I will remove
+ it for now. If the build bots disagree this will be replaced
+ by a #if PLATFORM(CF).
+
+ * platform/FileSystem.h:
+
+2009-05-13 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber Stamped by Gustavo Noronha.
+
+ [GTK] Move the #ifdef around for a buildfix for Gtk+ on OSX
+
+ When building Gtk+ on OSX we ended up declaring
+ setNPWindowIfNeeded twice. Fix that by moving
+ the #if PLATFORM(GTK) up and using elif instead of
+ else.
+
+ * plugins/PluginView.h:
+
+2009-05-13 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25685
+ [GTK] Middle click paste form the pasteboard
+
+ The kit wants to paste from at least two different
+ clipboards. By introducing getCurrentTarget to the
+ PasteboardHelper interface we can make this decision
+ in the kit.
+ Use the new method in PasteboardGtk to get the right
+ GdkClipboard for the paste operation.
+
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::documentFragment):
+ (WebCore::Pasteboard::plainText):
+ * platform/gtk/PasteboardHelper.h:
+
+2009-05-13 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6438177> QTMoviePreferredTransformAttribute only supported on SnowLeopard
+ <rdar://problem/6872468> QTMovieOpenForPlaybackAttribute only supported on SnowLeopard
+
+ QTMoviePreferredTransformAttribute and QTMovieOpenForPlaybackAttribute are not supported
+ on Tiger or Leopard.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setNetworkState): Remove invalid ASSERT.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovie): Only request QTMoviePreferredTransformAttribute
+ when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD.
+ (WebCore::MediaPlayerPrivate::cacheMovieScale): Only ask for QTMovieOpenForPlaybackAttribute
+ when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD,
+
+2009-05-12 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 25738: Skia: CSS border style not cleared for SVG object
+ https://bugs.webkit.org/show_bug.cgi?id=25738
+
+ If no dashing is set, this change reverts to solid stroke
+ (previously the code bailed and left the old setting, whatever it was)
+
+ Test case listed in above bug entry.
+ (Additional complications due to each platform rendering dotted lines differently -
+ c.f. https://bugs.webkit.org/show_bug.cgi?id=25737)
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::setLineDash):
+
+2009-05-11 Erik Arvidsson <arv@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 21903: Adds DOM bindings for the placeholder property of the
+ HTMLInputElement.
+ https://bugs.webkit.org/show_bug.cgi?id=21903
+
+ Test: fast/forms/placeholder-dom-property.html
+
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::updatePlaceholderVisibility):
+ * dom/InputElement.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::placeholder):
+ (WebCore::HTMLInputElement::setPlaceholder):
+ * html/HTMLInputElement.h:
+ * html/HTMLInputElement.idl:
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+ * wml/WMLInputElement.h:
+ (WebCore::WMLInputElement::placeholder):
+ (WebCore::WMLInputElement::setPlaceholder):
+
+2009-05-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25706
+
+ Change V8 bindings to match JSC bindings with respect to using
+ the lexical or dynamic global object.
+
+ Tests: http/tests/security/aboutBlank/security-context-grandchildren-lexical.html
+ http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html
+ http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html
+
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-03-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6702386> Incorrect bound check in SVGList::insertItemBefore
+
+ SVGList::insertItemBefore would not perform a bounds check on the
+ index it was provided, potentially leading to a buffer overflow.
+
+ Test: svg/dom/svglist-exception-on-out-bounds-error.html
+
+ * svg/SVGList.h:
+ (WebCore::SVGList::insertItemBefore):
+
+2009-05-12 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Bug 25708: Cannot choose menu items in popups with many entries in Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=25708
+
+ This change sets the window size for popups on Mac to include all items
+ in the menu. This is required for hit testing on Mac, where we use native
+ controls to manage the popups and don't want to artificially limit the
+ valid hit testing region to a limited scroll window.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::layout):
+
+2009-05-12 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fixes to build with latest skia: SkTypeface::Create() is now
+ SkTypeface::CreateFromName(); computeBounds() has been reworked
+ as getBounds(). The changes are placed behind an #ifdef for now,
+ so that we can roll back the skia version in Chromium if necessary
+ without having to roll back this change.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25705
+
+ * platform/graphics/chromium/FontCacheLinux.cpp:
+ (WebCore::FontCache::createFontPlatformData):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::boundingRect):
+ (WebCore::boundingBoxForCurrentStroke):
+ * platform/graphics/skia/SkiaUtils.cpp:
+ (WebCore::SkPathContainsPoint):
+
+2009-05-12 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25732
+ Update V8ElementCustom.cpp to match the current API of V8Proxy.
+
+ (WebCore::ACCESSOR_SETTER): Change retrieveActiveFrame() to retrieveFrameForEnteredContext().
+
+2009-05-12 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25694
+ HTMLParser::createHead() ASSERT: Creating an element, calling document.open() and writing
+ to the document NULL ptr
+
+ Test: fast/parser/implicit-head-in-fragment-crash.html
+
+ * html/HTMLParser.cpp: (WebCore::HTMLParser::bodyCreateErrorCheck): Do not try to implicitly
+ create <head> when parsing a fragment.
+
+2009-05-12 Soren Gjesse <sgjesse@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25687
+ Missing check for valid function in V8 bindings for toString function for event listeners.
+
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getWrappedListenerFunction): Added empty handle checks.
+
+2009-05-11 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Change Qt port to match the mac and windows ports, and unregister plugins when plugins are stopped.
+ Not doing that can cause assersion failure.
+ https://bugs.webkit.org/show_bug.cgi?id=25702
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::stop):
+
+2009-05-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Bug 25714: [Qt] Decouple HTML5 Database support from the
+ SQLite/generic database support in the Qt port
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25714>
+
+ * WebCore.pro:
+
+2009-05-11 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 25713: AX: Control Elements not identified in HTML content
+ https://bugs.webkit.org/show_bug.cgi?id=25713
+
+ Test: accessibility/onclick-handlers.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::mouseButtonListener):
+
+2009-05-11 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6276843> REGRESSION: TextIterator generates
+ an extra newline for ranges that start outside of body
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
+ Check startPos for null, not just currPos.
+
+2009-05-11 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail
+ https://bugs.webkit.org/show_bug.cgi?id=25700
+
+ Keyboard selection movement handlers need to also watch for the Cmd key when Accessibility is enabled.
+ Note: This code is only used when accessibility is enabled.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleKeyboardSelectionMovement):
+
+2009-05-11 David Kilzer <ddkilzer@apple.com>
+
+ Bug 25087: Test for ENABLE_FOO macros consistently in IDL files
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25087>
+
+ Reviewed by Timothy Hatcher.
+
+ Change tests for ENABLE macros to check for both existence and
+ value:
+
+ - Negative: #if !defined(ENABLE_FOO) || !ENABLE_FOO
+ - Positive: #if defined(ENABLE_FOO) && ENABLE_FOO
+
+ * css/CSSCharsetRule.idl:
+ * css/CSSPrimitiveValue.idl:
+ * css/RGBColor.idl:
+ * dom/Attr.idl:
+ * dom/DOMCoreException.idl:
+ * dom/DOMImplementation.idl:
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * dom/Event.idl:
+ * dom/EventException.idl:
+ * dom/KeyboardEvent.idl:
+ * dom/MessagePort.idl:
+ * dom/MouseEvent.idl:
+ * dom/Node.idl:
+ * dom/ProcessingInstruction.idl:
+ * dom/Range.idl:
+ * dom/RangeException.idl:
+ * dom/WheelEvent.idl:
+ * html/CanvasPixelArray.idl:
+ * html/HTMLAnchorElement.idl:
+ * html/HTMLAppletElement.idl:
+ * html/HTMLAreaElement.idl:
+ * html/HTMLBaseFontElement.idl:
+ * html/HTMLCanvasElement.idl:
+ * html/HTMLDocument.idl:
+ * html/HTMLElement.idl:
+ * html/HTMLEmbedElement.idl:
+ * html/HTMLFrameElement.idl:
+ * html/HTMLIFrameElement.idl:
+ * html/HTMLImageElement.idl:
+ * html/HTMLInputElement.idl:
+ * html/HTMLLinkElement.idl:
+ * html/HTMLObjectElement.idl:
+ * html/HTMLOptionElement.idl:
+ * html/HTMLOptionsCollection.idl:
+ * html/HTMLSelectElement.idl:
+ * html/HTMLStyleElement.idl:
+ * html/ImageData.idl:
+ * inspector/InspectorController.idl:
+ * loader/appcache/DOMApplicationCache.idl:
+ * page/Console.idl:
+ * page/Coordinates.idl:
+ * page/DOMSelection.idl:
+ * page/DOMWindow.idl:
+ * page/Geoposition.idl:
+ * page/History.idl:
+ * page/Location.idl:
+ * page/Navigator.idl:
+ * svg/SVGElementInstance.idl:
+ * svg/SVGException.idl:
+ * workers/WorkerContext.idl:
+ * xml/XMLHttpRequestException.idl:
+ * xml/XPathException.idl:
+
+2009-05-11 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 24538: class/struct mixup in forward declarations
+ https://bugs.webkit.org/show_bug.cgi?id=24538
+
+ * inspector/InspectorResource.h:
+ * loader/CachedFont.h:
+ * loader/appcache/ApplicationCache.h:
+ * rendering/RenderBlock.h:
+ * rendering/RootInlineBox.h:
+ * rendering/SVGInlineTextBox.h:
+ * svg/SVGGlyphElement.h:
+ * svg/SVGHKernElement.h:
+
+2009-05-11 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 24539: Unresolved CSSMutableStyleDeclaration
+ https://bugs.webkit.org/show_bug.cgi?id=24539
+
+ The Symbian tools can't compile and link this without this include.
+ It's not clear why this is different from other toolsets or why it affects
+ only this header file, but adding the include for now.
+
+ * editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h.
+
+2009-05-11 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25701
+ REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook
+
+ Test: fast/forms/search-styled.html
+
+ * css/themeWin.css:
+ Remove the overriding of -webkit-appearance for searchfields. This will cause background
+ images to not be honored when styling searchfields
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::adjustSearchFieldStyle):
+ * rendering/RenderThemeWin.h:
+ Re-instate final adjustments to searchfield styling that were removed in r42020
+
+2009-05-11 Brady Eidson <beidson@apple.com>
+
+ Fix Windows build
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::createCFURLResponseWithDefaultMIMEType):
+
+2009-05-11 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25626
+ Update V8ElementCustom.cpp to match the current API of Node.
+
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names.
+ (WebCore::ACCESSOR_GETTER): Changed a method name to match current name.
+
+2009-05-11 Brady Eidson <beidson@apple.com>
+
+ Fix Windows build
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::createCFURLResponseWithDefaultMIMEType):
+ (WebCore::WebCoreSynchronousLoader::load):
+
+2009-05-11 Brady Eidson <beidson@apple.com>
+
+ Fix Windows build
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::createCFURLResponseWithDefaultMIMEType):
+
+2009-05-11 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ V8CustomBinding.cpp is missing a header file
+
+ https://bugs.webkit.org/show_bug.cgi?id=25644
+
+ * bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h".
+
+2009-05-11 Aaron Boodman <aa@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25634
+ Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext().
+
+ Also, change instances of ScriptController::retrieveActiveFrame() to
+ V8::retrieveFrameForEnteredContext() for consistency.
+
+
+ See http://codereview.chromium.org/113085 for the corresponding Chromium change.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8Custom::WindowSetLocation):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::navigateIfAllowed):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-05-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/5972751> Local image files (BMP, ico) can be misidentified as HTML.
+
+ First part of the fix - Disable content sniffing for file resources which never should've been happening anyways.
+ Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream".
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::defaultMIMEType): "application/octet-stream"
+ * platform/MIMETypeRegistry.h:
+
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which
+ might override it to false.
+ (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else.
+ * platform/network/ResourceHandle.h:
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead
+ of null.
+ (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type.
+ (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same
+ sniffing policy as asynchronous loads. Also, correct a null MIME type by creating a copy with the default type.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the
+ same sniffing policy as asynchronous loads.
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if
+ it hasn't been set up yet.
+ (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by
+ the new mechanism.
+
+2009-05-11 David Kilzer <ddkilzer@apple.com>
+
+ Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES"
+
+ This was added in r39816 to disable dynamic entries. They are
+ still disabled after fixing the typo since this feature define
+ is never set anywhere.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ * loader/appcache/DOMApplicationCache.idl:
+
+2009-05-11 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Alexey Proskuryakov and Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25348
+ Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
+
+ Most of the change is in WTF.
+ Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
+ method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
+ is now a class rather then an integer.
+ Also, there is no need to initialize threadID in constructors to 0 now.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
+ since now ThreadIdentifier needs construction and we avoid having global initializers.
+ (WebCore::matchFunc): use the new accessor function.
+ (WebCore::openFunc): ditto.
+ (WebCore::createStringParser): ditto.
+ (WebCore::createMemoryParser): ditto.
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::open):
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::SQLiteDatabase):
+ (WebCore::SQLiteDatabase::close):
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::start):
+ (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
+ * storage/LocalStorageThread.cpp:
+ (WebCore::LocalStorageThread::start):
+ (WebCore::LocalStorageThread::scheduleImport):
+ (WebCore::LocalStorageThread::scheduleSync):
+ (WebCore::LocalStorageThread::terminate):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::start):
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::start):
+
+2009-05-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Remove unused header that declared one function which was never defined anywhere.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means
+ platform/network/cf/ResourceResponse.h)
+ * platform/network/cf/ResourceResponseCFNet.h: Removed.
+
+2009-05-11 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25213
+ Fix assert during Inspector destruction.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::inspectedPageDestroyed): Moved closing
+ inspector above removing InspectorController object to fix JS errors,
+ added clearing inspector page ptr.
+
+2009-05-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Make sure that public APIs are properly exported on all Qt platforms
+ https://bugs.webkit.org/show_bug.cgi?id=25601
+
+ * WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win
+
+2009-05-11 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24284
+
+ * WebCore.pro: duplicated values removed from INCLUDEPATH
+
+2009-05-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0
+ https://bugs.webkit.org/show_bug.cgi?id=24688
+
+ * WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0
+ * platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins
+
+2009-05-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix a crash when deactivating a document that had adopted a <form>
+ element
+
+ Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the
+ logic here: <form> elements should be registered for document activation
+ callbacks if and only if autocomplete is off.
+
+2009-05-10 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying
+ to view protected MobileMe video
+
+ Add a temporary workaround.
+
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when
+ starting a request, so we need to store this data for later use.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks.
+ (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com.
+
+2009-05-10 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
+
+ * platform/network/cf/AuthenticationCF.cpp:
+ * platform/network/cf/AuthenticationCF.h:
+ (WebCore::WebCoreCredentialStorage::set):
+ (WebCore::WebCoreCredentialStorage::get):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ Move WebCore credential storage to AuthenticationCF, so that WebKit could use it (macthing
+ an earlier Mac change).
+
+2009-05-10 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Match newer XMLHttpRequest draft and make withCredential setter raise an exception when
+ called at a wrong time.
+
+ No test, because we are waiting for a newer version of system frameworks to test the attribute.
+
+ * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials):
+ * xml/XMLHttpRequest.h:
+ * xml/XMLHttpRequest.idl:
+ Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true.
+
+2009-05-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Kilzer.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=25602
+ REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn
+ on ToT
+
+ Test: fast/layers/self-painting-outline.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only
+ if it is a self-painting layer.
+
+2009-05-09 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Geoffrey Garen and Mark Rowe.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=25666
+ Assertion failure in Node::setDocument()
+ (willMoveToNewOwnerDocumentWasCalled) when adopting a <form> element
+
+ Test: fast/dom/HTMLFormElement/adopt-assertion.html
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of
+ this method are required to call the base class implementation. Do it.
+ (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
+
+2009-03-29 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so
+ make sure CURL does not create empty ResourceError() objects.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24927
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::downloadTimerCallback):
+
+2009-05-09 Gustavo Noronha Silva <gns@gnome.org>
+
+ Build fix, adding missing files to make dist.
+
+ * GNUmakefile.am:
+
+2009-05-08 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=25656
+
+ Reduce the inline capacity of CSSParserValueList's m_values
+ vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.
+
+ * css/CSSParserValues.h:
+
+2009-05-08 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-05-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6864786> REGRESSION: Crash below
+ ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in
+ Bugzilla
+
+ Test: editing/style/apply-through-end-of-document.html
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null
+ check for the case of a range extending through the end of the document,
+ in which pastEndNode is 0.
+
+2009-05-08 Douglas R. Davidson <ddavidso@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base
+ marked as misspelled even though contraction is a word
+ Make sure spelling underline does not persist on words like
+ <doesn't>.
+
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::typingAddedToOpenCommand):
+
+2009-05-08 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Make sure the path's refdata isn't deleted before we're done with the object.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25652
+
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::~Path):
+ (WebCore::Path::Path):
+ (WebCore::Path::translate):
+
+2009-05-08 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for memory leak on Mac.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25650
+
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp:
+ (wxFontProperties::wxFontProperties):
+
+2009-05-08 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6857446> REGRESSION (r37591): Cannot print or
+ preview from maps.yandex.ru
+
+ We need to fall into the stretchesToViewHeight() quirk when we are
+ printing and we are the root and the root has percentage height OR
+ when we are the body and the root has percentage height. Otherwise
+ we have a height of 0 and can run into painting troubles.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calcHeight):
+
+2009-05-08 Douglas Davidson <ddavidso@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fixes for <rdar://problem/6852771>.
+ Prevent text checking replacement immediately after an apostrophe
+ and automatic link addition except immediately after typing.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+
+2009-05-08 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25627
+ Bug 25627: HTMLMediaElement: some errors should fire on <source> elements
+
+ Update for HTML5 spec change to fire 'error' events on <source> element
+ when there is a failure while processing/loading a <source>.
+
+ Test: media/video-source-error.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space.
+ (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead
+ of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on
+ all <source> element.
+ (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in
+ loadResource() as we need to report errors differently depending on the type of failure. Use
+ KURL instead of String.
+ (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild.
+ Fail silently when there are no more <source> canditates because that is what spec mandates.
+ Keep url as KURL instead of converting to String.
+ (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now
+ assume the safety check now done before this function. Takes KURL instead of String.
+ (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs
+ failure if not.
+ (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
+ (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on
+ the media and all source elements.
+ (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the
+ the failure happened while processing one. Only call nonSupported() when the failure happened
+ while processing media element 'src' attribute.
+ (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild.
+ Deal with selectNextSourceChild returning a KURL instead of a String.
+ (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional
+ param to control whether or not errors are fired on a source element when it will not be used.
+ Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a
+ String.
+ (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as
+ a KURL instead of a String.
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::):
+
+ * html/HTMLSourceElement.cpp:
+ (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables.
+ (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error
+ event ASAP.
+ (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event.
+ (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been
+ cancelled.
+ * html/HTMLSourceElement.h:
+
+ * html/MediaError.h:
+ (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
+ * html/MediaError.idl: Ditto
+
+2009-05-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ - fix <rdar://problem/6859955> Undoing typed text after selecting all
+ leaves non-text areas highlighted
+
+ Test: fast/repaint/selection-clear.html
+
+ When RenderView::clearSelection() is called from
+ SelectionController::nodeWillBeRemoved(), selected renderers may already
+ be marked for layout, which means that they can no longer compute
+ their selection repaint info. Instead, an empty IntRect (or GapRects) is
+ returned, leading to incomplete repaint.
+
+ The fix is not to rely on individual renderers when clearing the
+ selection, but instead, cache the bounding rectangle of the selected
+ blocks' GapRects when setting the selection, and invalidate that
+ entire rectangle when clearing it.
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setSelection): Added a parameter saying whether
+ the repainting of selected blocks should include both
+ previously-selected areas and newly-selected areas or only
+ newly-selected areas. The default is both. Also compute
+ m_cachedSelectionBounds to be the bounding rectangle of the
+ new selection's BlockSelectionInfos' GapRects.
+ (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds,
+ and tell setSelection() that it should not paint areas that were in
+ the old selection's BlockSelectionInfos' GapRects.
+ * rendering/RenderView.h:
+ (WebCore::RenderView::):
+
+2009-05-08 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
+
+ * WebCore.base.exp:
+ * platform/network/mac/AuthenticationMac.h:
+ (WebCore::WebCoreCredentialStorage::set):
+ (WebCore::WebCoreCredentialStorage::get):
+ * platform/network/mac/AuthenticationMac.mm:
+ * platform/network/mac/ResourceHandleMac.mm:
+ Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.
+
+2009-05-08 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
+ call methods.
+
+ * bridge/qt/qt_runtime.h:
+
+2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add missing strings to localizedStrings.js
+ https://bugs.webkit.org/show_bug.cgi?id=25635
+
+ Add the strings "Delete", "Key", "Refresh" and "Value".
+
+ * English.lproj/localizedStrings.js:
+
+2009-05-08 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed, tweaked and landed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24992
+ [Qt] crash at http://browserspy.dk/browser.php
+
+ This cannot be easily tested in DRT, because it relies on interaction with QApplication,
+ but the added assertions guard against re-introducing this issue.
+
+ * loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls
+ while the frame is being constructed, because the intermediate state without a document
+ is something we don't want to expose.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an
+ approximation of it being in a consistent state for client calls.
+ (WebCore::Frame::setJSDefaultStatusBarText): Ditto.
+
+2009-05-07 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Oliver Hunt.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
+ Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed
+
+ Roll out r43366 as it removed symbols that Safari 4 Beta uses.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::matchFunc):
+ (WebCore::openFunc):
+ (WebCore::createStringParser):
+ (WebCore::createMemoryParser):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::open):
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::SQLiteDatabase):
+ (WebCore::SQLiteDatabase::close):
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::DatabaseThread):
+ (WebCore::DatabaseThread::start):
+ (WebCore::DatabaseThread::databaseThread):
+ * storage/LocalStorageThread.cpp:
+ (WebCore::LocalStorageThread::LocalStorageThread):
+ (WebCore::LocalStorageThread::start):
+ (WebCore::LocalStorageThread::localStorageThread):
+ (WebCore::LocalStorageThread::scheduleImport):
+ (WebCore::LocalStorageThread::scheduleSync):
+ (WebCore::LocalStorageThread::terminate):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::start):
+
+2009-05-08 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Unify scrolling code via adjustments and keys. Use the WebCore
+ defined constants, since that's what people are most used to at
+ this point.
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::platformHandleHorizontalAdjustment):
+ (WebCore::ScrollView::platformHandleVerticalAdjustment):
+
+2009-05-07 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY.
+ Suggested by Oliver Hunt.
+
+ Rolling back http://trac.webkit.org/changeset/43385
+ because we have to use mac artwork for the underline on OSX.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ * platform/graphics/mac/GraphicsContextMac.mm:
+ (WebCore::createPatternColor):
+ (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
+ * platform/graphics/win/GraphicsContextCGWin.cpp:
+ (WebCore::setCGStrokeColor):
+ (WebCore::spellingPatternColor):
+ (WebCore::grammarPatternColor):
+ (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
+
+2009-05-07 John Grabowski <jrg@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25573
+ Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
+ Cleanup for WebKit, but required for Chromium happiness.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::spellingPatternColor):
+ (WebCore::grammarPatternColor):
+ (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
+ * platform/graphics/mac/GraphicsContextMac.mm:
+ * platform/graphics/win/GraphicsContextCGWin.cpp:
+
+2009-05-07 Darin Adler <darin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Bug 25575: Registered mutation event listener crashes HTMLMediaElement
+ https://bugs.webkit.org/show_bug.cgi?id=25575
+
+ Test: fast/media/video-controls-with-mutation-event-handler.html
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createTimeline): Call setAttribute here.
+
+2009-05-07 Simon Fraser <simon.fraser@apple.com>
+
+ Rubber Stamped by Dave Hyatt
+
+ Shuffle the data members to minimize padding.
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::RenderTableSection):
+ * rendering/RenderTableSection.h:
+
+2009-05-07 Simon Fraser <simon.fraser@apple.com>
+
+ Rubber Stamped by Dave Hyatt
+
+ Shuffle the data members to make Events 8 bytes smaller in 64-bit.
+
+ * dom/Event.cpp:
+ (WebCore::Event::Event):
+ * dom/Event.h:
+
+2009-05-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Fix regression caused by r41469, add test case to prevent it from
+ happening again.
+ https://bugs.webkit.org/show_bug.cgi?id=25252
+
+ hasLayer() was true during removeOnlyThisLayer()/
+ updateLayerPositions()
+ which caused updateLayerPosition()'s walk up the render tree to
+ include offsets from the layer we were about to remove.
+
+ I'm not 100% convinced that this wasn't a bug in
+ updateLayerPosition() or in RenderBoxModelObject::styleDidChange,
+ because the layer in question is not the containing block for the
+ block which gets laid out wrong. But this restores the previous
+ behavior and adds a test. So the next time someone is in here re-
+ factoring, they will at least know if they break something.
+
+ Test: fast/layers/remove-only-this-layer-update.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::destroyLayer):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::removeOnlyThisLayer):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::destroy):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::destroy):
+
+2009-05-07 Dmitry Titov <dimich@chromium.org>
+
+ Attempt to fix GTK build.
+
+ * platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
+
+2009-05-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Improve native call performance
+
+ Add calling convention declarations where necessary, and update bindings
+ script to generate them as well.
+
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::callHTMLCollection):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::callNodeList):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::callPlugin):
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/runtime_method.cpp:
+ (JSC::callRuntimeMethod):
+ * bridge/runtime_object.cpp:
+ (JSC::callRuntimeObject):
+
+2009-05-07 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617
+
+ Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.
+
+ Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
+ gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.
+
+ The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
+ This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
+ To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
+ methods are renamed to clarify where they belong to. All renames are listed here:
+
+ From FormControlElement:
+ - isEnabled() -> isEnabledFormControl()
+ - isReadOnly() -> isReadOnlyFormControl()
+ - isTextControl() -> isTextFormControl()
+ - valueMatchesRenderer() -> formControlValueMatchesRenderer()
+ - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer()
+ - name() -> formControlName()
+ - type() -> formControlType()
+
+ From FormControlElementWithState:
+ - saveState() -> saveFormControlState()
+ - restoreState() -> restoreFormControlState()
+
+ A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression.
+
+ No testcases affected, no new tests needed.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::canShareStyleWithElement):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ * dom/Document.cpp:
+ (WebCore::Document::formElementsState):
+ * dom/Document.h:
+ (WebCore::Document::registerFormElementWithState):
+ (WebCore::Document::unregisterFormElementWithState):
+ * dom/Element.h:
+ (WebCore::Element::isFormControlElement):
+ (WebCore::Element::isEnabledFormControl):
+ (WebCore::Element::isReadOnlyFormControl):
+ (WebCore::Element::isTextFormControl):
+ (WebCore::Element::formControlValueMatchesRenderer):
+ (WebCore::Element::setFormControlValueMatchesRenderer):
+ (WebCore::Element::formControlName):
+ (WebCore::Element::formControlType):
+ (WebCore::Element::saveFormControlState):
+ (WebCore::Element::restoreFormControlState):
+ * dom/FormControlElement.cpp: Removed.
+ * dom/FormControlElement.h: Removed.
+ * dom/FormControlElementWithState.cpp: Removed.
+ * dom/FormControlElementWithState.h: Removed.
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::setValueFromRenderer):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::formControlType):
+ * html/HTMLButtonElement.h:
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::formControlType):
+ * html/HTMLFieldSetElement.h:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::attach):
+ (WebCore::HTMLFormControlElement::formControlName):
+ (WebCore::HTMLFormControlElement::willValidate):
+ (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
+ (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
+ (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
+ (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
+ (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::isTextFormControl):
+ (WebCore::HTMLFormControlElement::isEnabledFormControl):
+ (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
+ (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):
+ (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
+ (WebCore::HTMLFormControlElement::type):
+ (WebCore::HTMLFormControlElement::name):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::formControlName):
+ (WebCore::HTMLInputElement::formControlType):
+ (WebCore::HTMLInputElement::saveFormControlState):
+ (WebCore::HTMLInputElement::restoreFormControlState):
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::detach):
+ (WebCore::HTMLInputElement::setValue):
+ (WebCore::HTMLInputElement::setFileListFromRenderer):
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::readOnly):
+ (WebCore::HTMLInputElement::isTextFormControl):
+ * html/HTMLKeygenElement.cpp:
+ (WebCore::HTMLKeygenElement::formControlType):
+ * html/HTMLKeygenElement.h:
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::formControlType):
+ * html/HTMLLegendElement.h:
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::formControlType):
+ * html/HTMLOptGroupElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::formControlType):
+ * html/HTMLOptionElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::formControlType):
+ (WebCore::HTMLSelectElement::saveFormControlState):
+ (WebCore::HTMLSelectElement::restoreFormControlState):
+ * html/HTMLSelectElement.h:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
+ (WebCore::HTMLTextAreaElement::formControlType):
+ (WebCore::HTMLTextAreaElement::saveFormControlState):
+ (WebCore::HTMLTextAreaElement::restoreFormControlState):
+ (WebCore::HTMLTextAreaElement::updateValue):
+ (WebCore::HTMLTextAreaElement::setValue):
+ * html/HTMLTextAreaElement.h:
+ (WebCore::HTMLTextAreaElement::readOnly):
+ (WebCore::HTMLTextAreaElement::isTextFormControl):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isEnabled):
+ (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
+ * page/DragController.cpp:
+ (WebCore::DragController::concludeEditDrag):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::itemIsEnabled):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::updateUserModifyProperty):
+ (WebCore::RenderTextControl::setInnerTextValue):
+ * rendering/RenderTextControl.h:
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::isEnabled):
+ (WebCore::RenderTheme::isReadOnlyControl):
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustMenuListStyle):
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::adjustMenuListStyle):
+ * wml/WMLFormControlElement.cpp:
+ * wml/WMLFormControlElement.h:
+ (WebCore::WMLFormControlElement::isReadOnlyFormControl):
+ (WebCore::WMLFormControlElement::isTextFormControl):
+ (WebCore::WMLFormControlElement::formControlValueMatchesRenderer):
+ (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer):
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::WMLInputElement):
+ (WebCore::WMLInputElement::isKeyboardFocusable):
+ (WebCore::WMLInputElement::isMouseFocusable):
+ (WebCore::WMLInputElement::dispatchBlurEvent):
+ (WebCore::WMLInputElement::formControlType):
+ (WebCore::WMLInputElement::formControlName):
+ (WebCore::WMLInputElement::setValue):
+ (WebCore::WMLInputElement::saveFormControlState):
+ (WebCore::WMLInputElement::restoreFormControlState):
+ (WebCore::WMLInputElement::parseMappedAttribute):
+ (WebCore::WMLInputElement::detach):
+ (WebCore::WMLInputElement::appendFormData):
+ (WebCore::WMLInputElement::init):
+ * wml/WMLInputElement.h:
+ (WebCore::WMLInputElement::isTextFormControl):
+ * wml/WMLOptGroupElement.cpp:
+ (WebCore::WMLOptGroupElement::formControlType):
+ * wml/WMLOptGroupElement.h:
+ * wml/WMLOptionElement.cpp:
+ (WebCore::WMLOptionElement::formControlType):
+ * wml/WMLOptionElement.h:
+
+2009-05-07 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Alexey Proskuryakov and Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25348
+ Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
+
+ Most of the change is in WTF.
+ Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
+ method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
+ is now a class rather then an integer.
+ Also, there is no need to initialize threadID in constructors to 0 now.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
+ since now ThreadIdentifier needs construction and we avoid having global initializers.
+ (WebCore::matchFunc): use the new accessor function.
+ (WebCore::openFunc): ditto.
+ (WebCore::createStringParser): ditto.
+ (WebCore::createMemoryParser): ditto.
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::open):
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::SQLiteDatabase):
+ (WebCore::SQLiteDatabase::close):
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::start):
+ (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
+ * storage/LocalStorageThread.cpp:
+ (WebCore::LocalStorageThread::start):
+ (WebCore::LocalStorageThread::scheduleImport):
+ (WebCore::LocalStorageThread::scheduleSync):
+ (WebCore::LocalStorageThread::terminate):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::start):
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::start):
+
+2009-05-07 Simon Fraser <simon.fraser@apple.com>
+
+ Rubber Stamped by Dave Hyatt
+
+ Shuffle the data members to minimize padding.
+
+ * dom/ClassNames.h:
+
+2009-05-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ <rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
+ https://bugs.webkit.org/show_bug.cgi?id=25605
+
+ Shrink GlyphPage by splitting the array of GlyphData, which has lots
+ of padding, into separate Glyph and SimpleFontData* arrays.
+
+ * platform/graphics/Font.h:
+ glyphDataForCharacter has to return a GlyphData by value now.
+
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::glyphDataForCharacter):
+ Return GlyphData by value.
+
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::initializePage):
+ Better encapsulation of GlyphPage, using the new methods.
+
+ * platform/graphics/Font.h:
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::glyphDataForCharacter):
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::initializePage):
+ * platform/graphics/GlyphPageTreeNode.h:
+ (WebCore::GlyphData::GlyphData):
+ (WebCore::GlyphPage::indexForCharacter):
+ (WebCore::GlyphPage::glyphDataForCharacter):
+ (WebCore::GlyphPage::glyphDataForIndex):
+ (WebCore::GlyphPage::glyphAt):
+ (WebCore::GlyphPage::fontDataForCharacter):
+ (WebCore::GlyphPage::setGlyphDataForCharacter):
+ (WebCore::GlyphPage::setGlyphDataForIndex):
+ (WebCore::GlyphPage::copyFrom):
+ (WebCore::GlyphPage::clear):
+
+2009-05-07 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25625
+ Implement Image/Option constructors in V8 bindings.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
+
+2009-05-07 Brady Eidson <beidson@apple.com>
+
+ I hate myself for doing this, but need to fix that ChangeLog entry.
+
+ * ChangeLog:
+
+2009-05-07 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Darin Adler
+
+ * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore.
+ * html/HTMLParser.h: Ditto
+
+2009-05-07 David Hyatt <hyatt@apple.com>
+
+ Restore intrinsic margins to all form controls on Mac and Windows. Some of this regressed in 43007
+ when textareas were given explicit margins. Some of it had already regressed earlier whenever intrinsic
+ margins were turned off in themeWin.css.
+
+ Reviewed by Beth Dakin.
+
+ * css/html4.css:
+ * css/themeWin.css:
+
+2009-05-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler and Alexey Proskuryakov.
+
+ <rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it.
+ (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto.
+ (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
+ * html/HTMLParser.h:
+ (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
+
+2009-05-07 Antony Sargent <asargent@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Fix a memory leak in V8EventListenerList::remove.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25618
+
+ No new functionality so no new tests.
+
+ * bindings/v8/V8EventListenerList.cpp:
+ (WebCore::V8EventListenerList::remove):
+
+2009-05-07 Darin Fisher <darin@chromium.org>
+
+ Fix Chromium build bustage.
+
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing
+ HTMLCollection.h include.
+
+2009-05-07 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
+ https://bugs.webkit.org/show_bug.cgi?id=25598
+
+ Test: accessibility/radio-button-title-label.html
+
+ * page/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::exposesTitleUIElement):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
+ (WebCore::AccessibilityRenderObject::titleUIElement):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ * page/AccessibilityRenderObject.h:
+
+2009-05-07 Darin Fisher <darin@chromium.org>
+
+ Fix Chromium build bustage.
+
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
+
+2009-05-07 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25610
+ [GTK] text.caretOffset is reportedly always 0
+
+ Use the right function to get the caret offset in an
+ element. selectionStart() would only work for text
+ controls (there's even an ASSERT when calculating the selected
+ text range). Instead just get the selection and get the offset of
+ the start position.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix support for antialiased CSS border-radius
+
+ WebKit implements border-radius by drawing a double-size border,
+ and then letting the clip constrain the border to the right width
+ and position. This requires support for antialiased clipping, as
+ well as painting, to get a nice smooth border.
+
+ Qt only does antialiased clipping if the anti-alias flag is set
+ at the time of clipping, so we have to enable this in the method
+ addInnerRoundedRectClip(), as well as when we draw the border.
+
+ Currently the raster-engine is the only Qt paint engine to support
+ anti-aliased clipping, but the OpenGL and Mac paint engines could
+ potentially support this in the future.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::strokeArc):
+ (WebCore::GraphicsContext::addInnerRoundedRectClip):
+
+2009-05-07 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Render empty optgroup elements.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24900
+
+ Currently, optgroup elements which are empty are not rendered. The
+ HTML specification gives no guidance on this situation.
+
+ However, the test for being empty is that they have no children, thus
+ this will not render:
+ <optgroup label="test"></optgroup>
+ while this /will/ render (because of the text node child):
+ <optgroup label="test"> </optgroup>
+
+ This patch will cause both cases to render which matches IE's and
+ Firefox's behaviour.
+
+ The difference only appears when opening the select element and does
+ not appear in the render tree. Thus, a manual layout-test is required.
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::recalcListItems):
+ * manual-tests/optgroup-empty-and-nested.html: Added.
+
+2009-05-06 Julie Parent <jparent@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 25608: Unused m_frame in ChromiumClipboard.
+ https://bugs.webkit.org/show_bug.cgi?id=25608
+
+ * platform/chromium/ClipboardChromium.h:
+
+ No tests added as this is only removing dead code, no functional changes.
+
+2009-05-06 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser and Justin Garcia.
+
+ - fix another part of <rdar://problem/6703873> Triple-click quoted line
+ and type Return creates an extra quoted blank line
+
+ Test: editing/inserting/6703873-2.html
+
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for
+ determining the first node that should go into the new blockquote
+ given the split position: if it is at the end of a container, use the
+ next node after the container. Otherwise, use the child at the
+ position's offset.
+
+2009-05-06 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, fixes for wx trunk builds.
+
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/wx/RenderThemeWx.cpp:
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp:
+ (wxFontProperties::wxFontProperties):
+
+2009-05-06 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25597
+ Fix API drift compile errors that occurred while this was ifdef-ed out.
+ The two big issues were that RenderObject::element() became
+ RenderObject::node() and some of the wk* drawing functions had
+ an extra theme parameter added to the argument list.
+
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
+
+2009-05-06 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25385
+ Upstream changes to V8 bindings for supporting nested workers.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::ToV8Object):
+ (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::getEventListener):
+ (WebCore::ACCESSOR_SETTER WorkerOnmessage):
+ (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener):
+
+2009-05-06 Dave Moore <davemoore@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25513
+ The V8 bindings convert every javascript property to its associated css style
+ name. It then calls functions that convert that name to an id. This makes
+ getting or setting css styles on elements slow.
+
+ The patch fixes this by caching the results of the transformation, mapping a
+ javascript property name to its css property id. It then calls the already
+ public webkit methods that take the id in place of the string property names.
+
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+
+2009-05-06 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25591
+ Upstream V8HTMLFormElement from the Chromium repository.
+
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository
+ (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor();
+ (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository
+
+2009-05-06 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25595
+ Upstream V8CanvasPixelArrayCustom from chromium port tree.
+
+ * bindings/v8/V8CanvasPixelArrayCustom.cpp: Added.
+
+2009-05-06 Simon Fraser <simon.fraser@apple.com>
+
+ Rubber-stampted by Eric Seidel
+
+ Add braces to clarify logic flow in RenderObject::adjustStyleDifference.
+ Only affects ACCELERATED_COMPOSITING builds.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::adjustStyleDifference):
+
+2009-05-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ <rdar://problem/6862550> Reduce size of RenderText in 64-bit
+
+ Rearrange data members of RenderText so that an int comes
+ first, to minimize padding.
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText):
+ * rendering/RenderText.h:
+
+2009-05-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ <rdar://problem/6862823> Reduce size of RenderStyle in 64-bit
+
+ Rearrange data members of RenderStyle to minimize padding
+ when building for 64-bit.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::RenderStyle):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+
+2009-05-06 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25596
+
+ Fixes Chromium build bustage caused by r43317 (making
+ RefCountedBase::m_refCount private)
+
+ * page/chromium/AccessibilityObjectWrapper.h:
+ (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
+
+2009-05-06 Hin-Chung Lam <hclam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25593
+
+ Refactor for MediaPlayerPrivate for Chromium port. Remove
+ the implementation of MediaPlayerPrivateInferface from it.
+
+ * platform\graphics\chromium\MediaPlayerPrivateChromium.h:
+
+2009-05-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt, Dan Bernstein
+
+ <rdar://problem/6860197> Reduce the size of FontFallbackList in 64-bit
+
+ Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit.
+
+ * platform/graphics/FontFallbackList.cpp:
+ (WebCore::FontFallbackList::FontFallbackList):
+ * platform/graphics/FontFallbackList.h:
+
+2009-05-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler, Dan Bernstein
+
+ <rdar://problem/6860068> Reduce size of InlineBox in 64-bit
+
+ Re-order the data members of InlineBox to save 8 bytes when building 64-bit.
+
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+
+2009-05-06 David Levin <levin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25588
+ Adding the custom v8 bindings Document.location.
+
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp: Added.
+
+2009-05-06 Kevin McCullough <kmccullough@apple.com>
+
+ -Clarified a comment
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+
+2009-05-06 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places.
+
+ * wml/WMLAElement.cpp:
+ * wml/WMLAccessElement.cpp:
+ * wml/WMLBRElement.cpp:
+ * wml/WMLCardElement.cpp:
+ * wml/WMLDoElement.cpp:
+ * wml/WMLElement.cpp:
+ * wml/WMLFieldSetElement.cpp:
+ * wml/WMLGoElement.cpp:
+ * wml/WMLImageElement.cpp:
+ * wml/WMLInputElement.cpp:
+ * wml/WMLMetaElement.cpp:
+ * wml/WMLOnEventElement.cpp:
+ * wml/WMLOptGroupElement.cpp:
+ * wml/WMLOptionElement.cpp:
+ * wml/WMLPElement.cpp:
+ * wml/WMLPostfieldElement.cpp:
+ * wml/WMLSetvarElement.cpp:
+ * wml/WMLTableElement.cpp:
+ * wml/WMLTemplateElement.cpp:
+ * wml/WMLTimerElement.cpp:
+
+2009-05-06 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25526
+ [Gtk] Additional support is needed for caret browsing
+
+ Emit AtkText::text-selection-changed when the selection changes
+ and the current selection is of Range (ie, the start and end
+ positions are different) type. This seems to match what Gecko
+ does.
+
+ * editing/gtk/SelectionControllerGtk.cpp:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+
+2009-05-05 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25526
+ [Gtk] Additional support is needed for caret browsing
+
+ Emit AtkText::text-caret-moved when selection changes.
+
+ * GNUmakefile.am:
+ * editing/SelectionController.h:
+ * editing/gtk/SelectionController.cpp: Added.
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+
+2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Use mozilla cursors for the previously not implemented
+ cursors. The manual-tests/cursor.html is looking complete
+ now.
+
+ * platform/gtk/CursorGtk.cpp:
+ (WebCore::cellCursor):
+ (WebCore::noDropCursor):
+ (WebCore::progressCursor):
+ (WebCore::noneCursor):
+ (WebCore::notAllowedCursor):
+ (WebCore::grabCursor):
+ (WebCore::grabbingCursor):
+ * platform/gtk/CursorGtk.h:
+
+2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Xan Lopez.
+
+ Properly indent the header file.
+
+ * platform/gtk/CursorGtk.h:
+
+2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Use the mozilla copyright header. Use MPL1.1/GPL2.0
+ and LGPL2.1 as the license compared to LGPL2.0.
+
+ * platform/gtk/CursorGtk.h:
+
+2009-05-06 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Move PluginView::invalidateRegion from the
+ TemporaryLinkStubs to PluginViewGtk.cpp and implement
+ it with a call to Widget::invalidate() just like
+ mac is doing. Optimisations would have to be window
+ system specific.
+
+ * platform/gtk/TemporaryLinkStubs.cpp:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::invalidateRegion):
+
+2009-05-06 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Misc fixes to InspectorClientGtk.
+
+ * GNUmakefile.am: Add localizedStrings.js to webinspector_DATA.
+ This prevents copious amounts "Localized string not found" errors
+ in the console
+
+2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix the Qt build on Windows.
+
+ * platform/graphics/GraphicsContext.h:
+ (WebCore::GraphicsContext::shouldIncludeChildWindows): Implemented dummy accessor.
+
+2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Tweak WebCore.pro for being able to override the generated sources dir for the
+ generated_files target.
+
+ * WebCore.pro:
+
+2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Fix the Qt/Windows build, use iface instead of interface to avoid conflict
+ with VS2005 headers.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
+
+2009-05-06 Joerg Bornemann <joerg.bornemann@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ We need to include StringExtras.h on Windows CE to access the strdup function.
+
+ * plugins/PluginStream.cpp:
+
+2009-05-06 Soren Gjesse <sgjesse@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Changed the toString behaviour for non document dom node event handlers in the V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=25544
+
+ In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner
+ function. This causes the default toString on such a handler to return all this wrapper code. As some web sites
+ use the source of an event handler to create new functions this wrapper code causes compatibility problems.
+
+ Create a specific toString function for these handlers which will return a function source compatible with the
+ source returned by the JSC bindings and other browsers.
+
+ Test: fast/events/event-function-toString.html
+
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::V8LazyEventListener):
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ (WebCore::V8LazyEventListenerToString):
+ (WebCore::V8LazyEventListener::getWrappedListenerFunction):
+ * bindings/v8/V8LazyEventListener.h:
+ (WebCore::V8LazyEventListener::create):
+
+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.
+
+ * WebCore.pro:
+
+2009-05-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Use $$GENERATED_SOURCES_DIR as output when running bison
+
+ A couple of the generators left the bison output file in the source
+ tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not
+ work well when building release and debug configurations in parallel.
+
+ * WebCore.pro:
+
+2009-05-06 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Justin Garcia.
+
+ - fix an assertion failure in RemoveNodeCommand() when deleting a <br>
+ between a block and a mail blockquote
+
+ Test: editing/deleting/removeNodeCommand-assert.html
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block
+ to prune() instead of passing m_upstreamStart.node(), because the latter
+ may have been removed already.
+
+2009-05-05 Eric Seidel <eric@webkit.org>
+
+ No review, roll out only.
+
+ Roll out r23072 since it broke layout tests
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+
+2009-05-05 Ben Murdoch <benm@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
+ https://bugs.webkit.org/show_bug.cgi?id=24776
+
+ No functional changes, thus no tests.
+
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ * bindings/js/JSCustomSQLStatementCallback.h:
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ * bindings/js/JSCustomSQLStatementErrorCallback.h:
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionCallback.h:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.h:
+ * bindings/js/JSDatabaseCustom.cpp:
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ * loader/EmptyClients.h:
+ * page/ChromeClient.h:
+ * storage/ChangeVersionWrapper.cpp:
+ * storage/ChangeVersionWrapper.h:
+ * storage/Database.cpp:
+ (WebCore::Database::databaseInfoTableName):
+ * storage/Database.h:
+ * storage/Database.idl:
+ * storage/DatabaseTask.cpp:
+ * storage/DatabaseTask.h:
+ * storage/DatabaseThread.cpp:
+ * storage/DatabaseThread.h:
+ * storage/DatabaseTracker.cpp:
+ * storage/DatabaseTracker.h:
+ * storage/DatabaseTrackerClient.h:
+ * storage/OriginQuotaManager.cpp:
+ * storage/OriginQuotaManager.h:
+ * storage/SQLStatement.cpp:
+ * storage/SQLStatement.h:
+ * storage/SQLTransaction.cpp:
+ * storage/SQLTransaction.h:
+ * storage/SQLTransaction.idl:
+
+2009-05-05 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add some documentation to InlineBox::x(),y().
+ https://bugs.webkit.org/show_bug.cgi?id=25378
+
+ * rendering/InlineBox.h:
+
+2009-05-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Disable all the SVG features for WebKit/Qt if ENABLE_SVG=0
+ https://bugs.webkit.org/show_bug.cgi?id=24693
+
+ * WebCore.pro:
+
+2009-05-05 Sankar Aditya Tanguturi <sankaraditya@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Anonymous blocks should not be exposed in accessibility tree.
+ Part of https://bugs.webkit.org/show_bug.cgi?id=23072
+
+ Tests: accessibility/ignore-anonymous-block.html
+ platform/win/accessibility/document-role.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):Return
+ true for Anonymous blocks. Matching Firefox 2.0.0.14
+
+2009-05-05 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ http://bugs.webkit.org/show_bug.cgi?id=25487
+
+ For euc-kr and other 8bit Korean encodings
+ (similar to euc-kr/windows-949), make document.charset return
+ EUC-KR instead of windows-949. The latter is not recognized by
+ Korean web servers.
+
+ Add domName method to TextEncoding to deal with cases where
+ our internal encoding name does not match what's widely recognized
+ by web servers. Currently, the only case is 'windows-949' (internal
+ name) vs 'EUC-KR'.
+
+ Test: fast/encoding/euckr-name.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::encoding): Call TextEncoding.domName() instead
+ of TextEncoding.name().
+ * platform/text/TextEncoding.cpp:
+ (WebCore::TextEncoding::domName): For the canonical name 'windows-949',
+ return 'EUC-KR'. Otherwise, just return the canonical name.
+ * platform/text/TextEncoding.h:
+
+2009-05-05 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Adler.
+
+ Rendering fix for <select> elements.
+ https://bugs.webkit.org/show_bug.cgi?id=25558
+
+ When switching a <select> element from display:none to default
+ display, we would fail to invalidate the parent's pref widths in some
+ situations:
+
+ When attaching the element, RenderMenuList::updateOptionsWidth would
+ call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was
+ set. This would mark the pref widths as dirty, but not for any parent
+ objects.
+
+ When RenderObjectChildList::appendChildNode later calls
+ setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer,
+ nothing would be done because the pref widths were already dirty for.
+ the RenderMenuList.
+
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::updateOptionsWidth):
+
+2009-05-05 Antony Sargent <asargent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Switch V8EventListenerList to use HashTable<T>.
+ https://bugs.webkit.org/show_bug.cgi?id=25496
+
+ This avoids some tricky issues with event listener removal in the
+ current implementation and has slightly better performance.
+
+ No new functionality so no new tests.
+
+ * bindings/v8/V8EventListenerList.cpp: Added V8EventListenerListIterator.
+ * bindings/v8/V8EventListenerList.h:
+ (WebCore::V8EventListenerList::size):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+
+2009-05-05 Darin Fisher <darin@chromium.org>
+
+ Fixing build bustage.
+
+ Add some missing includes to fix the Chromium build.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+
+2009-05-05 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25570
+
+ history.{back,forward,go} should always be dispatched asynchronously,
+ even when the history navigation would just result in scrolling the
+ page. This matches the behavior of other browsers like IE and FF.
+
+ Test: fast/history/back-forward-is-asynchronous.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::scheduleHistoryNavigation):
+
+2009-05-05 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG.
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+ https://bugs.webkit.org/show_bug.cgi?id=25568
+
+ Adding this ASSERT exposed a bug in SVGPaintServerPattern::setup
+ which was causing transformed SVG text when filled/stroked with a
+ pattern using patternUnits=objectBoundingBox to draw incorrectly.
+
+ I fixed the incorrect drawing (by removing the broken code) and added
+ two test cases to test the fix:
+ * svg/transforms/text-with-pattern-inside-transformed-html.xhtml
+ * svg/transforms/text-with-pattern-with-svg-transform.svg
+
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::mapLocalToContainer):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::mapLocalToContainer):
+ * svg/graphics/SVGPaintServerPattern.cpp:
+ (WebCore::SVGPaintServerPattern::setup):
+
+2009-05-05 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25554
+
+ Support HTML5 text control input types: email, number, tel, url
+
+ Test: fast/html/text-field-input-types.html
+
+ * bindings/objc/DOMHTML.mm:
+ (-[DOMHTMLInputElement _isTextField]): Call HTMLInputElement::isTextField directly.
+ * html/HTMLInputElement.cpp: Use the new types where appropriate.
+ (WebCore::HTMLInputElement::setInputType):
+ (WebCore::HTMLInputElement::type):
+ (WebCore::HTMLInputElement::saveState):
+ (WebCore::HTMLInputElement::restoreState):
+ (WebCore::HTMLInputElement::accessKeyAction):
+ (WebCore::HTMLInputElement::rendererIsNeeded):
+ (WebCore::HTMLInputElement::createRenderer):
+ (WebCore::HTMLInputElement::appendFormData):
+ (WebCore::HTMLInputElement::valueWithDefault):
+ (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ * html/HTMLInputElement.h: Ditto.
+ (WebCore::HTMLInputElement::):
+ (WebCore::HTMLInputElement::isTextField):
+
+2009-04-01 miggilin <mr.diggilin@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Mouse wheel scrolling and keyboard shortcut support for wx.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24797
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/wx/KeyboardEventWx.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent):
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformSetScrollPosition):
+
+2009-05-05 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix for Windows, add missing include.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24798
+
+ * platform/wx/wxcode/win/non-kerned-drawing.cpp:
+
+2009-05-05 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest:
+ https://bugs.webkit.org/show_bug.cgi?id=25574
+
+ Enable accessibility hit-testing for image map links.
+ Allow image map links to return AXURLs and AXAccessKey information.
+
+ Test: platform/mac/accessibility/imagemap-hittest.html
+
+ * page/AccessibilityImageMapLink.cpp:
+ (WebCore::AccessibilityImageMapLink::url):
+ * page/AccessibilityImageMapLink.h:
+ * page/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::minValueForRange):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
+ (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
+ (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
+ * page/AccessibilityRenderObject.h:
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+
+2009-05-05 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6552129> Select a quote line and paste elsewhere, you
+ get that line and an extra quoted blank line
+ <rdar://problem/6609308> Triple-click a quoted header line, copy, paste
+ onto an empty line makes an extra quoted line
+
+ - When pasting a blockquote with a newline, make sure we put the newline
+ outside of the blockquote so that it is not quoted.
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+
+2009-05-05 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ Call moz_gtk_shutdown on RenderThemeGtk destruction.
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::~RenderThemeGtk):
+ * platform/gtk/RenderThemeGtk.h:
+
+2009-05-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ <rdar://problem/6858340> REGRESSION: can't drag local HTML files into Safari because CFURLCreateWithFileSystemPath inserts "localhost"
+
+ * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): Remove localhost.
+
+2009-05-05 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Brady Eidson.
+
+ Safety-check m_documentLoader before dereferencing. While it seems
+ unlikely this could fail (as Safari 3 shipped without this),
+ technically almost any call can change or reset m_documentLoader.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::receivedFirstData):
+
+2009-05-05 Dan Bernstein <mitz@apple.com>
+
+ - Tiger build fix
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::toCSSIdentifier):
+
+2009-05-05 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25303
+ No need to ref the internal buffer inside the Skia ImageDecoder.
+
+ * platform/image-decoders/skia/ImageDecoder.h:
+ (WebCore::RGBA32Buffer::RGBA32Buffer):
+ (WebCore::RGBA32Buffer::operator=):
+ (WebCore::RGBA32Buffer::clear):
+ (WebCore::RGBA32Buffer::copyBitmapData):
+ (WebCore::RGBA32Buffer::bitmap):
+ (WebCore::RGBA32Buffer::setSize):
+ (WebCore::RGBA32Buffer::width):
+ (WebCore::RGBA32Buffer::height):
+ (WebCore::RGBA32Buffer::hasAlpha):
+ (WebCore::RGBA32Buffer::setStatus):
+ (WebCore::RGBA32Buffer::setHasAlpha):
+ (WebCore::RGBA32Buffer::setRGBA):
+
+2009-05-05 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=24192
+ <rdar://problem/5760774> Replying to a Mail message that contains
+ fixed width text can change the size of the text
+
+ Covered by existing tests: editing/pasteboard/5027857.html
+ editing/pasteboard/paste-pre-002.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
+ Added. If the font-size is keyword-based, returns the keyword value
+ instead of the pixel size.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): If
+ font-family is a generic family, return the generic family instead of
+ the the internal string -webkit-[serif|sans-serif|cursive|fantasy
+ |monospace].
+ (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties):
+ For the font-size property, prefer a keyword value over a pixel size.
+ * css/CSSComputedStyleDeclaration.h:
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::currentlyHasStyle): For the font-size property,
+ call getFontSizeCSSValuePreferringKeyword().
+ * platform/graphics/FontDescription.h:
+ (WebCore::FontDescription::keywordSize): Changed the return type to
+ unsigned.
+ (WebCore::FontDescription::setKeywordSize): Changed the parameter type
+ to unsigned.
+ (WebCore::FontDescription::m_keywordSize): Changed the type of this
+ 4-bit field to unsigned, because it takes values as high as 8.
+
+2009-05-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix http/tests/misc/DOMContentLoaded-event.html
+
+ The native call performance improvement removed a few places where we
+ unintentionally performed a toThisObject conversion. This patch updates
+ the bindings codegen to not rely on this bug.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-05-05 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Xan Lopez and Gustavo Noronha.
+
+ Implement WebCore::directoryName for Gtk+.
+
+ * platform/gtk/FileSystemGtk.cpp:
+ (WebCore::directoryName):
+
+2009-05-05 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Fix mappedAttributes() access without NULL check
+ https://bugs.webkit.org/show_bug.cgi?id=25553
+
+ SVGStyledElement::getPresentationAttribute was using mappedAttributes()
+ without checking for NULL.
+
+ HTMLInputElement::setInputType also doesn't NULL check, but I was not
+ able to get it to crash with a test case so I just added an ASSERT.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setInputType):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::getPresentationAttribute):
+
+2009-05-05 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Xan Lopez.
+
+ Implement WebCore::imageTitle for Gtk+.
+
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ (WebCore::imageTitle):
+
+2009-05-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Bug 25559: Improve native function call performance
+ <https://bugs.webkit.org/show_bug.cgi?id=25559>
+
+ Add forwarding header necessary for compilation, and fix debugger
+ to correctly account for change in JSFunction behaviour.
+
+ * ForwardingHeaders/jit/JITCode.h: Added.
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
+
+2009-05-05 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Make convertValueToQVariant more robust against null JSValues.
+
+ Don't require the caller to do the null check.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+
+2009-05-05 Eric Seidel <eric@webkit.org>
+
+ No review, just a revert.
+
+ Roll out http://trac.webkit.org/changeset/43213 as it caused 4 tests to crash.
+
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::mapLocalToContainer):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::mapLocalToContainer):
+
+2009-05-04 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/6576889> REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com
+
+ The problem was caused by missing <head> element - we used to create it when moving a
+ misplaced <style> element, but we now handle those in place. Other browsers always create
+ a <head> element.
+
+ There is no guarantee that a <head> element always exists - first, it can be removed with
+ removeChild or innerHTML, and also, we don't currently create it for frameset documents, or
+ for manually created ones (e.g. ImageDocument).
+
+ Test: fast/parser/head-element-for-yahoo-player.html
+
+ * dom/Document.cpp: (WebCore::Document::implicitClose): Create a <head> element for about:blank.
+ A removed comment talked about rdar://3758785, but that problem doesn't re-occur even if this
+ code is removed completely.
+
+ * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::checkDTD): No longer allow <script>
+ elements as children of <html>. This isn't directly related to this bug, but it was easier
+ to fix both at once (IE and Firefox both don't allow such mispositioned <script> elements).
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError): Move <script> to <head> if <body> hasn't been created yet.
+ Create a <head> it a <body> is created implicitly to contain some other element.
+ (WebCore::HTMLParser::bodyCreateErrorCheck): Ensure that a <head> exists when <body> is
+ explicitly present in source.
+ (WebCore::HTMLParser::createHead): Do the work even if <html> element hasn't been created yet.
+
+2009-05-04 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension()
+ returns the application/octet-stream mimetype when it can't associate
+ extension with any mimetype, it can happen that the application/octet-stream
+ mimetype will hit the list of supported image formats. For instance,
+ it is possible when QImageReader or QImageWriter support an extension
+ that is not in the extensions map.
+
+ Make sure that this mimetype is not treated as displayable image type.
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedImageMIMETypes):
+ (WebCore::initializeSupportedImageMIMETypesForEncoding):
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ ASSERT(useTransforms) in SVG mapLocalToContainer implementations
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::mapLocalToContainer):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::mapLocalToContainer):
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Remove m_absoluteBounds hack from RenderSVGText
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ No functional changes (SVGs inside CSS transformed HTML should theoretically repaint better)
+
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::layout):
+ * rendering/RenderSVGText.h:
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Remove the vestigial calculateLocalTransform()
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ RenderSVGContainer is now the only render which needs this
+ function, but it no longer returns the unused bool.
+
+ calculateLocalTransform() previously was called by the DOM before
+ transform updates were part of layout().
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::layout):
+ * rendering/RenderForeignObject.h:
+ (WebCore::RenderForeignObject::localTransform):
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::layout):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ * rendering/RenderSVGContainer.h:
+ (WebCore::RenderSVGContainer::calculateLocalTransform):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::layout):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::layout):
+ * rendering/RenderSVGText.h:
+ * rendering/RenderSVGTransformableContainer.cpp:
+ (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
+ * rendering/RenderSVGTransformableContainer.h:
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Move more code into SVGRenderBase
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ clippedOverflowRectForRepaint, computeRectForRepaint and mapLocalToContainer
+ are now all shared via SVGRenderBase.
+
+ RenderForeignObject should also be sharing this code, but I've left it
+ alone for now, as changing that would likely cause test changes.
+
+ No test changes. It's possible that transformed <svg:image> elements will
+ now show up with better metrics in the inspector.
+
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
+ (WebCore::RenderSVGImage::computeRectForRepaint):
+ (WebCore::RenderSVGImage::mapLocalToContainer):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
+ (WebCore::RenderSVGModelObject::computeRectForRepaint):
+ (WebCore::RenderSVGModelObject::mapLocalToContainer):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
+ (WebCore::RenderSVGText::computeRectForRepaint):
+ (WebCore::RenderSVGText::mapLocalToContainer):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::clippedOverflowRectForRepaint):
+ (WebCore::SVGRenderBase::computeRectForRepaint):
+ (WebCore::SVGRenderBase::mapLocalToContainer):
+ * rendering/SVGRenderSupport.h:
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add SVGRenderBase to share logic between SVG renderers
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ I've added an SVGRenderBase base class which is shared by
+ all of the SVG renders now. This patch is just moving code
+ there are no functional changes in this patch.
+
+ Currently I've left these functions in SVGRenderSupport.h
+ In a later patch I will rename SVGRenderSupport.* to SVGRenderBase.*
+
+ clampImageBufferSizeToViewport now takes a FrameView* which makes some code easier to read.
+
+ * rendering/RenderSVGBlock.h:
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGRoot.h:
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+ (WebCore::SVGRenderBase::finishRenderSVGContent):
+ (WebCore::clampImageBufferSizeToViewport):
+ (WebCore::SVGRenderBase::computeContainerBoundingBox):
+ (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
+ (WebCore::SVGRootInlineBox::paint):
+ * svg/SVGMaskElement.cpp:
+ (WebCore::SVGMaskElement::drawMaskerContent):
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::buildPattern):
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::createMaskAndSwapContextForTextGradient):
+ (WebCore::clipToTextMask):
+
+2009-05-05 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed SVG build fix.
+
+ Include MappedAttribute.h after r43187.
+
+ * svg/SVGComponentTransferFunctionElement.cpp:
+ * svg/SVGFEBlendElement.cpp:
+ * svg/SVGFEColorMatrixElement.cpp:
+ * svg/SVGFEComponentTransferElement.cpp:
+ * svg/SVGFECompositeElement.cpp:
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ * svg/SVGFEDisplacementMapElement.cpp:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ * svg/SVGFEImageElement.cpp:
+ * svg/SVGFELightElement.cpp:
+ * svg/SVGFEMergeNodeElement.cpp:
+ * svg/SVGFEOffsetElement.cpp:
+ * svg/SVGFESpecularLightingElement.cpp:
+ * svg/SVGFETileElement.cpp:
+ * svg/SVGFETurbulenceElement.cpp:
+ * svg/SVGFilterElement.cpp:
+ * svg/SVGFilterPrimitiveStandardAttributes.cpp:
+
+2009-05-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam 'The Belly' Weinig
+
+ <rdar://problem/6828894> - Facebook photo uploader applet broken on Leopard only
+
+ In r41568 we started adding a default codebase attribute to <applet> tags if they didn't specify one
+ themselves. Leopard's Java plug-in mishandles this case and fails to load code for the applet.
+
+ The spirit of r41568 can be maintained by removing the "default codebase" piece and only performing
+ the canLoad() check if a codebase was actually set on the applet tag.
+
+ * html/HTMLAppletElement.cpp:
+ (WebCore::HTMLAppletElement::createRenderer): Don't create a default codebase attribute.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::createJavaAppletWidget): Only perform the canLoad() check if the codebase was set.
+
+2009-05-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * html/HTMLCollection.h:
+ * html/HTMLFormElement.h:
+ Declare CollectionCache as a struct, not a class, to match its
+ definition.
+
+2009-05-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin, Oliver Hunt.
+
+ Bug 25557: REGRESSION: Canvas elements are ignored instead of being exposed as AXImage
+ https://bugs.webkit.org/show_bug.cgi?id=25557
+
+ Test: accessibility/canvas.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::AccessibilityRenderObject::roleValue):
+
+2009-05-04 Brady Eidson <beidson@apple.com>
+
+ Fix an ancient Changelog entry where Sam Weinig flat out lied and confused my exploration of a bug.
+
+ * ChangeLog
+
+2009-05-04 Kai Brüning <kai@granus.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24883
+ 24883: Bad success test in parseXMLDocumentFragment in XMLTokenizerLibxml2.cpp
+
+ Fixed test whether all the chunk has been processed to correctly count utf8 bytes.
+
+ Test: fast/innerHTML/innerHTML-nbsp.xhtml
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::parseXMLDocumentFragment):
+
+2009-05-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
+ and NamedMappedAttrMap.h include of MappedAttribute.h
+ https://bugs.webkit.org/show_bug.cgi?id=24924
+
+ Make compiles faster, and debugging info smaller.
+
+ * GNUmakefile.am: Added new source files.
+ * WebCore.pro: Ditto.
+ * WebCore.scons: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::toJS): Updated for new collection type names.
+
+ * dom/Document.cpp:
+ (WebCore::Document::createAttribute): Added. No longer inline.
+ (WebCore::Document::images): Updated for new collection type names.
+ (WebCore::Document::applets): Ditto.
+ (WebCore::Document::embeds): Ditto.
+ (WebCore::Document::plugins): Ditto.
+ (WebCore::Document::objects): Ditto.
+ (WebCore::Document::scripts): Ditto.
+ (WebCore::Document::links): Ditto.
+ (WebCore::Document::forms): Ditto.
+ (WebCore::Document::anchors): Ditto.
+ (WebCore::Document::all): Ditto.
+ (WebCore::Document::windowNamedItems): Ditto.
+ (WebCore::Document::documentNamedItems): Ditto.
+ (WebCore::Document::nameCollectionInfo): Ditto.
+
+ * dom/Document.h: Changed around includes and forward declarations.
+ Updated for changes to collection types.
+
+ * dom/NamedMappedAttrMap.h: Removed include of MappedAttribute.h.
+
+ * html/CollectionCache.cpp: Copied from WebCore/html/HTMLCollection.cpp.
+ Contains the class that used to be HTMLCollection::CollectionInfo.
+ * html/CollectionCache.h: Copied from WebCore/html/HTMLCollection.h.
+ Ditto.
+
+ * html/CollectionType.h: Copied from WebCore/html/HTMLCollection.h.
+ Has the enum that used to be HTMLCollection::Type.
+
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::HTMLCollection): Update for collection type change.
+ (WebCore::HTMLCollection::create): Ditto.
+ (WebCore::HTMLCollection::resetCollectionInfo): Ditto.
+ (WebCore::HTMLCollection::itemAfter): Ditto.
+ * html/HTMLCollection.h: Ditto.
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::children): Updated for new collection type names.
+ * html/HTMLFormCollection.cpp:
+ (WebCore::HTMLFormCollection::formCollectionInfo): Ditto.
+ (WebCore::HTMLFormCollection::HTMLFormCollection): Ditto.
+ * html/HTMLFormCollection.h: Ditto.
+ * html/HTMLFormElement.h: Ditto.
+ * html/HTMLMapElement.cpp:
+ (WebCore::HTMLMapElement::areas): Ditto.
+ * html/HTMLNameCollection.cpp:
+ (WebCore::HTMLNameCollection::HTMLNameCollection): Ditto.
+ * html/HTMLNameCollection.h:
+ (WebCore::HTMLNameCollection::create): Ditto.
+ * html/HTMLSelectElement.h:
+ (WebCore::HTMLSelectElement::collectionInfo): Ditto.
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::tBodies):Ditto.
+ * html/HTMLTableRowElement.cpp:
+ (WebCore::HTMLTableRowElement::cells):Ditto.
+ * html/HTMLTableRowsCollection.cpp:
+ (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Ditto.
+ * html/HTMLTableSectionElement.cpp:
+ (WebCore::HTMLTableSectionElement::rows): Ditto.
+
+ * bindings/js/JSDOMWindowBase.cpp: Added newly-needed includes.
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp: Ditto.
+ * css/CSSStyleSelector.cpp: Ditto.
+ * dom/Element.cpp: Ditto.
+ * dom/InputElement.cpp: Ditto.
+ * dom/NamedAttrMap.cpp: Ditto.
+ * dom/NamedMappedAttrMap.cpp: Ditto.
+ * dom/Node.cpp: Ditto.
+ * dom/StyledElement.cpp: Ditto.
+ * dom/StyledElement.h: Ditto.
+ * editing/ApplyStyleCommand.cpp: Ditto.
+ * editing/DeleteSelectionCommand.cpp: Ditto.
+ * editing/Editor.cpp: Ditto.
+ * editing/EditorCommand.cpp: Ditto.
+ * editing/InsertParagraphSeparatorCommand.cpp: Ditto.
+ * editing/ReplaceSelectionCommand.cpp: Ditto.
+ * editing/markup.cpp: Ditto.
+ * html/CanvasRenderingContext2D.cpp: Ditto.
+ * html/HTMLAnchorElement.cpp: Ditto.
+ * html/HTMLAppletElement.cpp: Ditto.
+ * html/HTMLAreaElement.cpp: Ditto.
+ * html/HTMLBRElement.cpp: Ditto.
+ * html/HTMLBaseElement.cpp: Ditto.
+ * html/HTMLBodyElement.cpp: Ditto.
+ * html/HTMLButtonElement.cpp: Ditto.
+ * html/HTMLCanvasElement.cpp: Ditto.
+ * html/HTMLDivElement.cpp: Ditto.
+ * html/HTMLEmbedElement.cpp: Ditto.
+ * html/HTMLFontElement.cpp: Ditto.
+ * html/HTMLFormControlElement.cpp: Ditto.
+ * html/HTMLFormElement.cpp: Ditto.
+ * html/HTMLFrameElement.cpp: Ditto.
+ * html/HTMLFrameElementBase.cpp: Ditto.
+ * html/HTMLFrameSetElement.cpp: Ditto.
+ * html/HTMLHRElement.cpp: Ditto.
+ * html/HTMLIFrameElement.cpp: Ditto.
+ * html/HTMLImageElement.cpp: Ditto.
+ * html/HTMLInputElement.cpp: Ditto.
+ * html/HTMLIsIndexElement.cpp: Ditto.
+ * html/HTMLKeygenElement.cpp: Ditto.
+ * html/HTMLLIElement.cpp: Ditto.
+ * html/HTMLLinkElement.cpp: Ditto.
+ * html/HTMLMarqueeElement.cpp: Ditto.
+ * html/HTMLMetaElement.cpp: Ditto.
+ * html/HTMLOListElement.cpp: Ditto.
+ * html/HTMLObjectElement.cpp: Ditto.
+ * html/HTMLOptionElement.cpp: Ditto.
+ * html/HTMLParagraphElement.cpp: Ditto.
+ * html/HTMLParamElement.cpp: Ditto.
+ * html/HTMLPlugInElement.cpp: Ditto.
+ * html/HTMLPreElement.cpp: Ditto.
+ * html/HTMLScriptElement.cpp: Ditto.
+ * html/HTMLSelectElement.cpp: Ditto.
+ * html/HTMLStyleElement.cpp: Ditto.
+ * html/HTMLTableCaptionElement.cpp: Ditto.
+ * html/HTMLTableCellElement.cpp: Ditto.
+ * html/HTMLTableColElement.cpp: Ditto.
+ * html/HTMLTablePartElement.cpp: Ditto.
+ * html/HTMLTextAreaElement.cpp: Ditto.
+ * html/HTMLTokenizer.cpp: Ditto.
+ * html/HTMLUListElement.cpp: Ditto.
+ * html/HTMLVideoElement.cpp: Ditto.
+ * html/HTMLViewSourceDocument.cpp: Ditto.
+ * loader/ImageDocument.cpp: Ditto.
+ * page/Frame.cpp: Ditto.
+ * rendering/RenderTreeAsText.cpp: Ditto.
+ * svg/SVGAElement.cpp: Ditto.
+ * svg/SVGAnimateMotionElement.cpp: Ditto.
+ * svg/SVGAnimateTransformElement.cpp: Ditto.
+ * svg/SVGAnimationElement.cpp: Ditto.
+ * svg/SVGCircleElement.cpp: Ditto.
+ * svg/SVGClipPathElement.cpp: Ditto.
+ * svg/SVGCursorElement.cpp: Ditto.
+ * svg/SVGElement.cpp: Ditto.
+ * svg/SVGEllipseElement.cpp: Ditto.
+ * svg/SVGExternalResourcesRequired.cpp: Ditto.
+ * svg/SVGFitToViewBox.cpp: Ditto.
+ * svg/SVGFontFaceElement.cpp: Ditto.
+ * svg/SVGFontFaceUriElement.cpp: Ditto.
+ * svg/SVGForeignObjectElement.cpp: Ditto.
+ * svg/SVGGlyphElement.cpp: Ditto.
+ * svg/SVGGradientElement.cpp: Ditto.
+ * svg/SVGImageElement.cpp: Ditto.
+ * svg/SVGLangSpace.cpp: Ditto.
+ * svg/SVGLineElement.cpp: Ditto.
+ * svg/SVGLinearGradientElement.cpp: Ditto.
+ * svg/SVGMarkerElement.cpp: Ditto.
+ * svg/SVGMaskElement.cpp: Ditto.
+ * svg/SVGPathElement.cpp: Ditto.
+ * svg/SVGPatternElement.cpp: Ditto.
+ * svg/SVGPolyElement.cpp: Ditto.
+ * svg/SVGRadialGradientElement.cpp: Ditto.
+ * svg/SVGRectElement.cpp: Ditto.
+ * svg/SVGSVGElement.cpp: Ditto.
+ * svg/SVGScriptElement.cpp: Ditto.
+ * svg/SVGStopElement.cpp: Ditto.
+ * svg/SVGStyleElement.cpp: Ditto.
+ * svg/SVGStyledElement.cpp: Ditto.
+ * svg/SVGStyledTransformableElement.cpp: Ditto.
+ * svg/SVGTests.cpp: Ditto.
+ * svg/SVGTextContentElement.cpp: Ditto.
+ * svg/SVGTextElement.cpp: Ditto.
+ * svg/SVGTextPathElement.cpp: Ditto.
+ * svg/SVGTextPositioningElement.cpp: Ditto.
+ * svg/SVGURIReference.cpp: Ditto.
+ * svg/SVGUseElement.cpp: Ditto.
+ * svg/SVGViewElement.cpp: Ditto.
+ * svg/animation/SVGSMILElement.cpp: Ditto.
+ * xml/XPathStep.cpp: Ditto.
+
+2009-05-04 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Do not instantiate hidden WebInspector panels. Otherwise they are hitting unimplemented InspectorController methods.
+ https://bugs.webkit.org/show_bug.cgi?id=25520
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+
+2009-05-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6839881> With "Mail Contents of This Page" in Safari images don't appear in the Tiger Mail compose window
+
+ DocumentLoader::subresource() is the implementation for the WebKit API [WebDataSource subresourceForURL:] and has
+ particularly sticky behavior.
+
+ If the DocumentLoader represents a WebArchive, this method should return ArchiveResources from that archive. However, we
+ prefer CachedResources over ArchiveResources because they might represent fresher data than what was originally loaded
+ from the WebArchive.
+
+ In some instances, CachedResources are created and associated with the DocumentLoader but not immediately run through the
+ loading delegate machinery. This was always a possibility, but the Preload Scanner made this significantly more likely.
+
+ When this happens and someone asks the WebDataSource for a subresource, it would prefer the CachedResource over an
+ ArchiveResource it has even if the CachedResource hasn't been loaded yet. The CachedResource has nil data, so no
+ WebResource is returned, and the client thinks the subresource doesn't exist even though it does.
+
+ This broke Tiger Mail and probably various other WebKit applications but has a fairly straightforward fix.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::subresource): If there is a CachedResource but it hasn't been loaded yet, fallback to the
+ ArchiveResource.
+
+2009-05-04 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25545
+ Bug 25545: HTMLMediaElement: display anamorphic video correctly
+
+ Tell QuickTime to use clean aperture mode so movies with non-square pixels are sized
+ and displayed correctly.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovie): Ask QuickTime to use clean aperture mode.
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWin::load): Ditto. Add ASSERT to ensure that static movie property array isn't
+ filled beyond capacity.
+
+2009-05-03 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=25332>.
+ Bug 25332: Plug-in inserted in to DOM of PluginDocument fails to load
+
+ Only the first plug-in in a PluginDocument can use the main resource data. For all
+ subsequent plug-ins, such as the plug-in that ClickToFlash inserts when swapping itself
+ out for the real Flash plug-in, we need to load the resource data in the same manner
+ as for other embedded plug-ins.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadPlugin):
+
+2009-05-04 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Ariya Hidayat.
+
+ Update the qrc file for the Web Inspector in the Qt build
+ with missing files.
+
+ * inspector/front-end/WebKit.qrc:
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by George Staikos.
+
+ Move absoluteRects and absoluteQuads into RenderSVGInline and remove absoluteTransform() usage
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::absoluteRects):
+ (WebCore::RenderSVGInline::absoluteQuads):
+ * rendering/RenderSVGInline.h:
+ * rendering/RenderSVGTSpan.cpp:
+ * rendering/RenderSVGTSpan.h:
+ * rendering/RenderSVGTextPath.cpp:
+ * rendering/RenderSVGTextPath.h:
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by George Staikos.
+
+ Move RenderSVGText off of localToAbsolute()
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::absoluteRects):
+ (WebCore::RenderSVGText::absoluteQuads):
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by George Staikos.
+
+ Remove broken absoluteTransform() code from RenderSVGInlineText
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ This improved SVG text focus rings.
+ This also improved SVG.getScreenCTM() results.
+
+ SVGSVGElement::getScreenCTM was passing "true" for the second argument in
+ localToAbsolute, which is "fixed" it meant to pass "true" for the
+ third argument (useTransforms). That change alone caused no layout test changes, however
+ before I fixed this, it was hitting ASSERT(!fixed) in RenderSVGRoot::mapLocalToContainer
+
+ mapLocalToContainer implementations really should be shared,
+ but I'll do that in a later patch.
+
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::styleDidChange):
+ (WebCore::RenderSVGInlineText::absoluteQuads):
+ (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
+ (WebCore::RenderSVGInlineText::computeRepaintQuadForRange):
+ * rendering/RenderSVGInlineText.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::mapLocalToContainer):
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::mapLocalToContainer):
+ * rendering/RenderSVGText.h:
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::getScreenCTM):
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by George Staikos.
+
+ Remove dead code from RenderPath
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ * rendering/RenderPath.cpp:
+ * rendering/RenderPath.h:
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by George Staikos.
+
+ Share layout code between RenderSVGViewportContainer and RenderSVGContainer
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::layout):
+ * rendering/RenderSVGContainer.h:
+ (WebCore::RenderSVGContainer::calcViewport):
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::applyViewportClip):
+ * rendering/RenderSVGViewportContainer.h:
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by George Staikos.
+
+ Remove redundant disableLayoutState() calls
+ https://bugs.webkit.org/show_bug.cgi?id=25532
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::layout):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::layout):
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::layout):
+
+2009-05-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by George Staikos.
+
+ Simplify RenderForeignObject::paint and fix a repaint bug.
+ Paint now calls applyTransformToPaintInfo which correctly transforms the damage rect.
+ https://bugs.webkit.org/show_bug.cgi?id=16939
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::paint):
+
+2009-05-03 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Test: editing/spelling/spellcheck-attribute.html
+
+ Bug 14552: Add a way to disable spell checking for specific element
+ https://bugs.webkit.org/show_bug.cgi?id=14552
+
+ For compatibility with Firefox, this code ascends the DOM tree when an element does
+ not have its "spellcheck" attribute.
+
+ * editing/Editor.cpp:
+ (WebCore::markMisspellingsOrBadGrammar): Retrieve the value of the "spellcheck"
+ attribute of an element before calling a spell checker or a grammar checker.
+ * html/HTMLAttributeNames.in: Add a "spellcheck" attribute.
+
+2009-05-03 Sam Weinig <sam@webkit.org>
+
+ Roll JSC API number marshaling back in one last time (I hope).
+
+2009-05-03 Sam Weinig <sam@webkit.org>
+
+ Roll JSC API number marshaling back out. It still breaks windows.
+
+2009-05-03 Sam Weinig <sam@webkit.org>
+
+ Roll JSC API number marshaling back in.
+
+2009-05-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - another fix for <rdar://problem/6617298> Typing delete on an unquoted
+ blank line unquotes the preceding, quoted blank line
+
+ Test: editing/deleting/type-delete-after-quote-2.html
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize
+ m_startsAtEmptyLine.
+ (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): When the
+ selection starts at an empty line, do not prevent the merging of blocks.
+ This is what allows the text after the line break to be merged into the
+ block containing the line break. Also set m_startsAtEmptyLine to true.
+ (WebCore::DeleteSelectionCommand::mergeParagraphs): If
+ m_startsAtEmptyLine is true, create a placeholder BR to serve as the
+ merge destination.
+ * editing/DeleteSelectionCommand.h:
+
+2009-05-02 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Simplified null-ish JSValues.
+
+ Replaced calls to noValue() with calls to JSValue() (which is what
+ noValue() returned). Removed noValue().
+
+ Removed "JSValue()" initialiazers, since default construction happens...
+ by default.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::setDOMException):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::evaluate):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/js/ScriptValue.h:
+ (WebCore::ScriptValue::ScriptValue):
+ (WebCore::ScriptValue::hasNoValue):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate):
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::invokeMethod):
+ * bridge/jni/jni_runtime.cpp:
+ (JavaField::dispatchValueFromInstance):
+ (JavaField::dispatchSetValueToInstance):
+ * bridge/runtime.h:
+ (JSC::Bindings::Instance::invokeConstruct):
+
+2009-05-02 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6631735> Crash in WebCore::CSSStyleSelector::applyProperty(int, WebCore::CSSValue*) (RenderStyle.h:454)
+
+ Avoid re-entering style selector from load delegates by not issuing resource loads synchronously during attach().
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::suspendPostAttachCallbacks):
+ (WebCore::ContainerNode::resumePostAttachCallbacks):
+ (WebCore::ContainerNode::attach):
+ * dom/Element.cpp:
+ (WebCore::Element::attach):
+ * loader/loader.cpp:
+ (WebCore::Loader::Loader):
+ (WebCore::Loader::servePendingRequests):
+ (WebCore::Loader::suspendPendingRequests):
+ (WebCore::Loader::resumePendingRequests):
+ (WebCore::Loader::Host::servePendingRequests):
+ * loader/loader.h:
+ (WebCore::Loader::isSuspendingPendingRequests):
+
+2009-05-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 25352: REGRESSION(r42322): style isn't applied at bmwusa.com
+ https://bugs.webkit.org/show_bug.cgi?id=25352
+ rdar://problem/6823239
+
+ Test: http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html
+
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::extractMIMETypeFromMediaType): Allow comma as a separator.
+
+2009-05-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Bug 25491: WebFrame leak when a subframe removes itself
+ https://bugs.webkit.org/show_bug.cgi?id=25491
+ rdar://problem/6833859
+
+ Test: fast/loading/subframe-removes-itself.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame): When isStopping is true,
+ treat load as complete, even if isLoadingInAPISense is still returning true.
+
+2009-05-01 Sam Weinig <sam@webkit.org>
+
+ Roll out JavaScriptCore API number marshaling.
+
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::isEqual):
+ * inspector/JavaScriptProfile.cpp:
+ (WebCore::getHeadCallback):
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::getChildren):
+ (WebCore::getParent):
+ (WebCore::getHead):
+
+2009-05-01 Sam Weinig <sam@webkit.org>
+
+ Fix build.
+
+ * workers/WorkerContext.idl:
+
+2009-05-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Cleanup workers code a bit.
+
+ * bindings/js/JSWorkerContextBase.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSWorkerContextBase.h:
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::customGetOwnPropertySlot):
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::toWorkerContext):
+ (WebCore::WorkerContext::self):
+ (WebCore::WorkerContext::setOnmessage):
+ (WebCore::WorkerContext::onmessage):
+ * workers/WorkerContext.idl:
+
+2009-05-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ A little clean up.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::createJavaAppletWidget):
+
+2009-05-01 Sam Weinig <sam@webkit.org>
+
+ Fix the build.
+
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::isEqual):
+ * inspector/JavaScriptProfile.cpp:
+ (WebCore::getHeadCallback):
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::getChildren):
+ (WebCore::getParent):
+ (WebCore::getHead):
+
+2009-05-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Oliver Hunt and Sam "Jon 'The Belly' Honeycutt" Weinig
+
+ Fix <rdar://problem/6848867> Addition of DOCTYPE node breaks Tiger Mail
+
+ * bindings/objc/DOMHTML.mm:
+ (-[DOMHTMLDocument firstChild]): Add a Tiger Mail version of this method that skips DOCTYPE nodes.
+
+2009-05-01 Geoffrey Garen <ggaren@apple.com>
+
+ Rubber Stamped by Sam Weinig.
+
+ Renamed JSValuePtr => JSValue.
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::setValue):
+ * bindings/js/JSCDATASectionCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter):
+ (WebCore::JSCSSStyleDeclaration::customPut):
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::toJS):
+ (WebCore::toHTMLCanvasStyle):
+ (WebCore::JSCanvasRenderingContext2D::strokeStyle):
+ (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
+ (WebCore::JSCanvasRenderingContext2D::fillStyle):
+ (WebCore::JSCanvasRenderingContext2D::setFillStyle):
+ (WebCore::JSCanvasRenderingContext2D::setFillColor):
+ (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
+ (WebCore::JSCanvasRenderingContext2D::strokeRect):
+ (WebCore::JSCanvasRenderingContext2D::drawImage):
+ (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
+ (WebCore::JSCanvasRenderingContext2D::setShadow):
+ (WebCore::JSCanvasRenderingContext2D::createPattern):
+ (WebCore::JSCanvasRenderingContext2D::putImageData):
+ (WebCore::JSCanvasRenderingContext2D::fillText):
+ (WebCore::JSCanvasRenderingContext2D::strokeText):
+ * bindings/js/JSClipboardCustom.cpp:
+ (WebCore::JSClipboard::types):
+ (WebCore::JSClipboard::clearData):
+ (WebCore::JSClipboard::getData):
+ (WebCore::JSClipboard::setData):
+ (WebCore::JSClipboard::setDragImage):
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::profiles):
+ * bindings/js/JSCoordinatesCustom.cpp:
+ (WebCore::JSCoordinates::altitude):
+ (WebCore::JSCoordinates::altitudeAccuracy):
+ (WebCore::JSCoordinates::heading):
+ (WebCore::JSCoordinates::speed):
+ * bindings/js/JSCustomPositionCallback.cpp:
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomVoidCallback.cpp:
+ (WebCore::JSCustomVoidCallback::handleEvent):
+ (WebCore::toVoidCallback):
+ * bindings/js/JSCustomVoidCallback.h:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::create):
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSCustomXPathNSResolver.h:
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::hasItem):
+ (WebCore::JSDOMApplicationCache::add):
+ (WebCore::JSDOMApplicationCache::remove):
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::jsStringOrNull):
+ (WebCore::jsOwnedStringOrNull):
+ (WebCore::jsStringOrUndefined):
+ (WebCore::jsStringOrFalse):
+ (WebCore::valueToStringWithNullCheck):
+ (WebCore::valueToStringWithUndefinedOrNullCheck):
+ (WebCore::reportException):
+ (WebCore::reportCurrentException):
+ (WebCore::setDOMException):
+ (WebCore::objectToStringFunctionGetter):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::getDOMObjectWrapper):
+ (WebCore::getDOMNodeWrapper):
+ (WebCore::toJS):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::findJSEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
+ (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMStringListCustom.cpp:
+ (WebCore::JSDOMStringList::getByIndex):
+ (WebCore::JSDOMStringList::item):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::childFrameGetter):
+ (WebCore::JSDOMWindowBase::indexGetter):
+ (WebCore::JSDOMWindowBase::namedItemGetter):
+ (WebCore::JSDOMWindowBase::getOwnPropertySlot):
+ (WebCore::JSDOMWindowBase::put):
+ (WebCore::JSDOMWindowBase::setReturnValueSlot):
+ (WebCore::toJS):
+ (WebCore::toJSDOMWindow):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::lookupGetter):
+ (WebCore::JSDOMWindow::lookupSetter):
+ (WebCore::JSDOMWindow::history):
+ (WebCore::JSDOMWindow::location):
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::JSDOMWindow::crypto):
+ (WebCore::JSDOMWindow::event):
+ (WebCore::JSDOMWindow::image):
+ (WebCore::JSDOMWindow::option):
+ (WebCore::JSDOMWindow::audio):
+ (WebCore::JSDOMWindow::webKitPoint):
+ (WebCore::JSDOMWindow::webKitCSSMatrix):
+ (WebCore::JSDOMWindow::xmlHttpRequest):
+ (WebCore::JSDOMWindow::xsltProcessor):
+ (WebCore::JSDOMWindow::messageChannel):
+ (WebCore::JSDOMWindow::worker):
+ (WebCore::createWindow):
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ (WebCore::JSDOMWindow::postMessage):
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ (WebCore::JSDOMWindow::atob):
+ (WebCore::JSDOMWindow::btoa):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ (WebCore::toDOMWindow):
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::nonCachingStaticFunctionGetter):
+ (WebCore::JSDOMWindow::customPut):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::put):
+ (WebCore::JSDOMWindowShell::putWithAttributes):
+ (WebCore::JSDOMWindowShell::lookupGetter):
+ (WebCore::JSDOMWindowShell::lookupSetter):
+ (WebCore::toJS):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::createStructure):
+ * bindings/js/JSDatabaseCustom.cpp:
+ (WebCore::JSDatabase::changeVersion):
+ (WebCore::JSDatabase::transaction):
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::location):
+ (WebCore::JSDocument::setLocation):
+ (WebCore::toJS):
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::JSElement::setAttribute):
+ (WebCore::JSElement::setAttributeNode):
+ (WebCore::JSElement::setAttributeNS):
+ (WebCore::JSElement::setAttributeNodeNS):
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::JSEvent::clipboardData):
+ (WebCore::toJS):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ (WebCore::toEventTarget):
+ * bindings/js/JSEventTarget.h:
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSGeolocationCustom.cpp:
+ (WebCore::createPositionOptions):
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::createStructure):
+ * bindings/js/JSHTMLAppletElementCustom.cpp:
+ (WebCore::JSHTMLAppletElement::customPut):
+ (WebCore::JSHTMLAppletElement::nameGetter):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::callHTMLCollection):
+ (WebCore::JSHTMLCollection::nameGetter):
+ (WebCore::JSHTMLCollection::item):
+ (WebCore::JSHTMLCollection::namedItem):
+ (WebCore::toJS):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter):
+ (WebCore::JSHTMLDocument::all):
+ (WebCore::JSHTMLDocument::setAll):
+ (WebCore::JSHTMLDocument::open):
+ (WebCore::JSHTMLDocument::write):
+ (WebCore::JSHTMLDocument::writeln):
+ * bindings/js/JSHTMLEmbedElementCustom.cpp:
+ (WebCore::JSHTMLEmbedElement::customPut):
+ (WebCore::JSHTMLEmbedElement::nameGetter):
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter):
+ (WebCore::JSHTMLFormElement::submit):
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ (WebCore::JSHTMLFrameElement::setSrc):
+ (WebCore::JSHTMLFrameElement::setLocation):
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ (WebCore::JSHTMLFrameSetElement::nameGetter):
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ (WebCore::JSHTMLIFrameElement::setSrc):
+ * bindings/js/JSHTMLInputElementCustom.cpp:
+ (WebCore::JSHTMLInputElement::selectionStart):
+ (WebCore::JSHTMLInputElement::setSelectionStart):
+ (WebCore::JSHTMLInputElement::selectionEnd):
+ (WebCore::JSHTMLInputElement::setSelectionEnd):
+ (WebCore::JSHTMLInputElement::setSelectionRange):
+ * bindings/js/JSHTMLObjectElementCustom.cpp:
+ (WebCore::JSHTMLObjectElement::customPut):
+ (WebCore::JSHTMLObjectElement::nameGetter):
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::length):
+ (WebCore::JSHTMLOptionsCollection::setLength):
+ (WebCore::JSHTMLOptionsCollection::indexSetter):
+ (WebCore::JSHTMLOptionsCollection::add):
+ (WebCore::JSHTMLOptionsCollection::remove):
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ (WebCore::JSHTMLSelectElement::remove):
+ (WebCore::selectIndexSetter):
+ (WebCore::JSHTMLSelectElement::indexSetter):
+ * bindings/js/JSHTMLSelectElementCustom.h:
+ * bindings/js/JSHistoryCustom.cpp:
+ (WebCore::nonCachingStaticBackFunctionGetter):
+ (WebCore::nonCachingStaticForwardFunctionGetter):
+ (WebCore::nonCachingStaticGoFunctionGetter):
+ (WebCore::JSHistory::customPut):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::JSInspectedObjectWrapper::wrap):
+ (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
+ * bindings/js/JSInspectedObjectWrapper.h:
+ (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::JSInspectorCallbackWrapper::wrap):
+ (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
+ * bindings/js/JSInspectorCallbackWrapper.h:
+ (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
+ * bindings/js/JSInspectorControllerCustom.cpp:
+ (WebCore::JSInspectorController::highlightDOMNode):
+ (WebCore::JSInspectorController::addResourceSourceToFrame):
+ (WebCore::JSInspectorController::addSourceToFrame):
+ (WebCore::JSInspectorController::getResourceDocumentNode):
+ (WebCore::JSInspectorController::search):
+ (WebCore::JSInspectorController::databaseTableNames):
+ (WebCore::JSInspectorController::inspectedWindow):
+ (WebCore::JSInspectorController::setting):
+ (WebCore::JSInspectorController::setSetting):
+ (WebCore::JSInspectorController::wrapCallback):
+ (WebCore::JSInspectorController::currentCallFrame):
+ (WebCore::JSInspectorController::profiles):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::evaluate):
+ (WebCore::JSJavaScriptCallFrame::thisObject):
+ (WebCore::JSJavaScriptCallFrame::type):
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::nonCachingStaticReplaceFunctionGetter):
+ (WebCore::nonCachingStaticReloadFunctionGetter):
+ (WebCore::nonCachingStaticAssignFunctionGetter):
+ (WebCore::JSLocation::customPut):
+ (WebCore::JSLocation::setHref):
+ (WebCore::JSLocation::setProtocol):
+ (WebCore::JSLocation::setHost):
+ (WebCore::JSLocation::setHostname):
+ (WebCore::JSLocation::setPort):
+ (WebCore::JSLocation::setPathname):
+ (WebCore::JSLocation::setSearch):
+ (WebCore::JSLocation::setHash):
+ (WebCore::JSLocation::replace):
+ (WebCore::JSLocation::reload):
+ (WebCore::JSLocation::assign):
+ (WebCore::JSLocation::toString):
+ (WebCore::JSLocationPrototype::customPut):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::startConversation):
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ (WebCore::JSMimeTypeArray::nameGetter):
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMap::nameGetter):
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::lengthGetter):
+ (WebCore::JSNamedNodesCollection::indexGetter):
+ * bindings/js/JSNamedNodesCollection.h:
+ (WebCore::JSNamedNodesCollection::createStructure):
+ * bindings/js/JSNavigatorCustom.cpp:
+ (WebCore::needsYouTubeQuirk):
+ (WebCore::JSNavigator::appVersion):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::insertBefore):
+ (WebCore::JSNode::replaceChild):
+ (WebCore::JSNode::removeChild):
+ (WebCore::JSNode::appendChild):
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ (WebCore::createWrapper):
+ (WebCore::toJSNewlyCreated):
+ (WebCore::toJS):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ (WebCore::JSNodeFilterCondition::create):
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::JSNodeFilter::acceptNode):
+ (WebCore::toNodeFilter):
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ (WebCore::JSNodeIterator::nextNode):
+ (WebCore::JSNodeIterator::previousNode):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::callNodeList):
+ (WebCore::JSNodeList::nameGetter):
+ * bindings/js/JSPluginArrayCustom.cpp:
+ (WebCore::JSPluginArray::nameGetter):
+ * bindings/js/JSPluginCustom.cpp:
+ (WebCore::JSPlugin::nameGetter):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::runtimeObjectGetter):
+ (WebCore::runtimeObjectPropertyGetter):
+ (WebCore::runtimeObjectCustomPut):
+ (WebCore::callPlugin):
+ * bindings/js/JSPluginElementFunctions.h:
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::asWrapper):
+ (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
+ (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
+ (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
+ (WebCore::JSQuarantinedObjectWrapper::put):
+ (WebCore::JSQuarantinedObjectWrapper::construct):
+ (WebCore::JSQuarantinedObjectWrapper::hasInstance):
+ (WebCore::JSQuarantinedObjectWrapper::call):
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ (WebCore::JSQuarantinedObjectWrapper::createStructure):
+ * bindings/js/JSRGBColor.cpp:
+ (WebCore::getJSRGBColor):
+ (jsRGBColorRed):
+ (jsRGBColorGreen):
+ (jsRGBColorBlue):
+ * bindings/js/JSRGBColor.h:
+ (WebCore::JSRGBColor::createStructure):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ (WebCore::JSSQLTransaction::executeSql):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener):
+ (WebCore::toJS):
+ * bindings/js/JSSVGLengthCustom.cpp:
+ (WebCore::JSSVGLength::value):
+ (WebCore::JSSVGLength::convertToSpecifiedUnits):
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::inverse):
+ (WebCore::JSSVGMatrix::rotateFromVector):
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSSVGPathSegListCustom.cpp:
+ (WebCore::JSSVGPathSegList::clear):
+ (WebCore::JSSVGPathSegList::initialize):
+ (WebCore::JSSVGPathSegList::getItem):
+ (WebCore::JSSVGPathSegList::insertItemBefore):
+ (WebCore::JSSVGPathSegList::replaceItem):
+ (WebCore::JSSVGPathSegList::removeItem):
+ (WebCore::JSSVGPathSegList::appendItem):
+ * bindings/js/JSSVGPointListCustom.cpp:
+ (WebCore::finishGetter):
+ (WebCore::finishSetter):
+ (WebCore::finishSetterReadOnlyResult):
+ (WebCore::JSSVGPointList::clear):
+ (WebCore::JSSVGPointList::initialize):
+ (WebCore::JSSVGPointList::getItem):
+ (WebCore::JSSVGPointList::insertItemBefore):
+ (WebCore::JSSVGPointList::replaceItem):
+ (WebCore::JSSVGPointList::removeItem):
+ (WebCore::JSSVGPointList::appendItem):
+ * bindings/js/JSSVGTransformListCustom.cpp:
+ (WebCore::finishGetter):
+ (WebCore::finishSetter):
+ (WebCore::finishSetterReadOnlyResult):
+ (WebCore::JSSVGTransformList::clear):
+ (WebCore::JSSVGTransformList::initialize):
+ (WebCore::JSSVGTransformList::getItem):
+ (WebCore::JSSVGTransformList::insertItemBefore):
+ (WebCore::JSSVGTransformList::replaceItem):
+ (WebCore::JSSVGTransformList::removeItem):
+ (WebCore::JSSVGTransformList::appendItem):
+ * bindings/js/JSStorageCustom.cpp:
+ (WebCore::JSStorage::nameGetter):
+ (WebCore::JSStorage::deleteProperty):
+ (WebCore::JSStorage::customPut):
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ (WebCore::JSStyleSheetList::nameGetter):
+ * bindings/js/JSTextCustom.cpp:
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ (WebCore::JSTreeWalker::parentNode):
+ (WebCore::JSTreeWalker::firstChild):
+ (WebCore::JSTreeWalker::lastChild):
+ (WebCore::JSTreeWalker::nextSibling):
+ (WebCore::JSTreeWalker::previousSibling):
+ (WebCore::JSTreeWalker::previousNode):
+ (WebCore::JSTreeWalker::nextNode):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::self):
+ (WebCore::JSWorkerContext::setSelf):
+ (WebCore::JSWorkerContext::xmlHttpRequest):
+ (WebCore::JSWorkerContext::importScripts):
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ (WebCore::JSWorkerContext::setTimeout):
+ (WebCore::JSWorkerContext::setInterval):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorker::addEventListener):
+ (WebCore::JSWorker::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open):
+ (WebCore::JSXMLHttpRequest::setRequestHeader):
+ (WebCore::JSXMLHttpRequest::send):
+ (WebCore::JSXMLHttpRequest::getResponseHeader):
+ (WebCore::JSXMLHttpRequest::overrideMimeType):
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ (WebCore::JSXMLHttpRequest::responseText):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessor::importStylesheet):
+ (WebCore::JSXSLTProcessor::transformToFragment):
+ (WebCore::JSXSLTProcessor::transformToDocument):
+ (WebCore::JSXSLTProcessor::setParameter):
+ (WebCore::JSXSLTProcessor::getParameter):
+ (WebCore::JSXSLTProcessor::removeParameter):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ (WebCore::ScheduledAction::ScheduledAction):
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::initialize):
+ * bindings/js/ScriptCallStack.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::jsObjectForPluginElement):
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::appendArgument):
+ (WebCore::ScriptFunctionCall::call):
+ (WebCore::ScriptFunctionCall::construct):
+ * bindings/js/ScriptFunctionCall.h:
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::get):
+ * bindings/js/ScriptValue.h:
+ (WebCore::ScriptValue::ScriptValue):
+ (WebCore::ScriptValue::jsValue):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ (-[WebScriptObject valueForKey:]):
+ (-[WebScriptObject webScriptValueAtIndex:]):
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bindings/objc/WebScriptObjectPrivate.h:
+ * bridge/NP_jsobject.cpp:
+ (_NPN_InvokeDefault):
+ (_NPN_Invoke):
+ (_NPN_Evaluate):
+ (_NPN_GetProperty):
+ (_NPN_HasMethod):
+ (_NPN_Construct):
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::invokeMethod):
+ (JSC::Bindings::CInstance::invokeDefaultMethod):
+ (JSC::Bindings::CInstance::invokeConstruct):
+ (JSC::Bindings::CInstance::defaultValue):
+ (JSC::Bindings::CInstance::stringValue):
+ (JSC::Bindings::CInstance::numberValue):
+ (JSC::Bindings::CInstance::booleanValue):
+ (JSC::Bindings::CInstance::valueOf):
+ * bridge/c/c_instance.h:
+ * bridge/c/c_runtime.cpp:
+ (JSC::Bindings::CField::valueFromInstance):
+ (JSC::Bindings::CField::setValueToInstance):
+ * bridge/c/c_runtime.h:
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ (JSC::Bindings::convertNPVariantToValue):
+ * bridge/c/c_utility.h:
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::stringValue):
+ (JavaInstance::numberValue):
+ (JavaInstance::booleanValue):
+ (JavaInstance::invokeMethod):
+ (JavaInstance::defaultValue):
+ (JavaInstance::valueOf):
+ * bridge/jni/jni_instance.h:
+ * bridge/jni/jni_jsobject.h:
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::eval):
+ (JavaJSObject::getMember):
+ (JavaJSObject::getSlot):
+ (JavaJSObject::convertValueToJObject):
+ (JavaJSObject::convertJObjectToValue):
+ * bridge/jni/jni_objc.mm:
+ (JSC::Bindings::dispatchJNICall):
+ * bridge/jni/jni_runtime.cpp:
+ (JavaArray::convertJObjectToArray):
+ (JavaField::dispatchValueFromInstance):
+ (JavaField::valueFromInstance):
+ (JavaField::dispatchSetValueToInstance):
+ (JavaField::setValueToInstance):
+ (JavaArray::setValueAt):
+ (JavaArray::valueAt):
+ * bridge/jni/jni_runtime.h:
+ * bridge/jni/jni_utility.cpp:
+ (JSC::Bindings::convertArrayInstanceToJavaArray):
+ (JSC::Bindings::convertValueToJValue):
+ * bridge/jni/jni_utility.h:
+ * bridge/objc/WebScriptObject.h:
+ * bridge/objc/objc_class.h:
+ * bridge/objc/objc_class.mm:
+ (JSC::Bindings::ObjcClass::fallbackObject):
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::invokeMethod):
+ (ObjcInstance::invokeDefaultMethod):
+ (ObjcInstance::setValueOfUndefinedField):
+ (ObjcInstance::getValueOfUndefinedField):
+ (ObjcInstance::defaultValue):
+ (ObjcInstance::stringValue):
+ (ObjcInstance::numberValue):
+ (ObjcInstance::booleanValue):
+ (ObjcInstance::valueOf):
+ * bridge/objc/objc_runtime.h:
+ (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::ObjcField::valueFromInstance):
+ (JSC::Bindings::convertValueToObjcObject):
+ (JSC::Bindings::ObjcField::setValueToInstance):
+ (JSC::Bindings::ObjcArray::setValueAt):
+ (JSC::Bindings::ObjcArray::valueAt):
+ (JSC::Bindings::ObjcFallbackObjectImp::put):
+ (JSC::Bindings::callObjCFallbackObject):
+ (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
+ * bridge/objc/objc_utility.h:
+ * bridge/objc/objc_utility.mm:
+ (JSC::Bindings::convertValueToObjcValue):
+ (JSC::Bindings::convertNSStringToString):
+ (JSC::Bindings::convertObjcValueToValue):
+ * bridge/runtime.h:
+ (JSC::Bindings::Class::fallbackObject):
+ (JSC::Bindings::Instance::setValueOfUndefinedField):
+ (JSC::Bindings::Instance::invokeDefaultMethod):
+ (JSC::Bindings::Instance::invokeConstruct):
+ (JSC::Bindings::Instance::put):
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::lengthGetter):
+ (JSC::RuntimeArray::indexGetter):
+ (JSC::RuntimeArray::put):
+ * bridge/runtime_array.h:
+ (JSC::RuntimeArray::createStructure):
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::lengthGetter):
+ (JSC::callRuntimeMethod):
+ * bridge/runtime_method.h:
+ (JSC::RuntimeMethod::createStructure):
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::fallbackObjectGetter):
+ (JSC::RuntimeObjectImp::fieldGetter):
+ (JSC::RuntimeObjectImp::methodGetter):
+ (JSC::RuntimeObjectImp::put):
+ (JSC::RuntimeObjectImp::defaultValue):
+ (JSC::callRuntimeObject):
+ (JSC::callRuntimeConstructor):
+ * bridge/runtime_object.h:
+ (JSC::RuntimeObjectImp::createStructure):
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::evaluate):
+ * inspector/JavaScriptCallFrame.h:
+ * inspector/JavaScriptProfile.cpp:
+ (WebCore::toJS):
+ * inspector/JavaScriptProfile.h:
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::toJS):
+ * inspector/JavaScriptProfileNode.h:
+
+2009-05-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25485
+ Only use visitedURL in Qt. This is a follow-up change to http://trac.webkit.org/changeset/43052,
+ which broke Chromium build.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Moved guards around to
+ provide separate code paths for Qt and non-Qt ports. Also restored original
+ order of execution.
+
+2009-05-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/6839222>
+ CrashTracer: Lots of crashes in Safari in hash table remove function inside DocumentLoader::removeSubresourceLoader
+
+ After calling m_client->didFail(), check if the subresource loader has reached its terminal state. If that's the case,
+ return early to avoid calling removeSubresourceLoader on a null document loader. I don't think this is allowed to happen
+ which is why I've added the ASSERT.
+
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::didCancel):
+
+2009-05-01 Timothy Hatcher <timothy@apple.com>
+
+ Disallow the deletion UI for elements that have any overflow clipping.
+ Also disallow the UI for the body element it isn't practical to delete,
+ and the deletion UI would be clipped.
+
+ <rdar://problem/6840161> Deletion UI can be clipped by some
+ elements (with overflow: hidden)
+
+ Reviewed by Darin Adler.
+
+ * editing/DeleteButtonController.cpp:
+ (WebCore::isDeletableElement):
+
+2009-05-01 Timothy Hatcher <timothy@apple.com>
+
+ Decrease the minimum height for deleteable elements to 16px, and increase the
+ minimum width to 48px. This allows deleting shorter items like navigation bars.
+
+ <rdar://problem/6840735> Deletion UI does not show up for short
+ elements (22px or less)
+
+ Reviewed by Adele Peterson.
+
+ * editing/DeleteButtonController.cpp:
+ (WebCore::isDeletableElement):
+
+2009-05-01 Timothy Hatcher <timothy@apple.com>
+
+ Clean up the comments and logic in the code for picking a
+ deleteable element for the deletion UI.
+
+ Reviewed by Adele Peterson.
+
+ * editing/DeleteButtonController.cpp:
+ (WebCore::isDeletableElement):
+
+2009-05-01 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Adele Peterson and Darin Adler.
+
+ <rdar://problem/4815598> Stuck in double spacing mode after pasting a
+ paragraph with padding/margin (or table mode !)
+
+ A lot of the issues in this bug were resolved on Mail's side by using
+ WebKit to convert to plain text. This is the final issue, that floating
+ style stays on copied nodes causing them to float when they are pasted
+ which is not what the user intended.
+
+ * editing/markup.cpp:
+ (WebCore::removeExteriorStyles):
+ (WebCore::):
+ (WebCore::appendStartMarkup):
+ (WebCore::getStartMarkup):
+ (WebCore::createMarkup):
+
+2009-05-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
+ This is the only resource-related information that is available in InspectorController
+ and is missing in the FrameLoaderClient.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25347
+
+ * WebCore.xcodeproj/project.pbxproj: Made ScriptSource private.
+ * dom/Document.cpp: Made a call to a client along with the call to the InspectorController.
+ (WebCore::Document::resourceRetrievedByXMLHttpRequest):
+ * loader/EmptyClients.h: Added stub implementation.
+ (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
+ * loader/FrameLoader.cpp: Call initiating dispatches.
+ (WebCore::FrameLoader::resourceRetrievedByXMLHttpRequest):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderClient.h:
+
+2009-04-30 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for <rdar://problem/6841106> REGRESSION: Crash drag selecting
+ To Do's in a Mail note (excessive recursion in mouse drag tracking)
+
+ Oliver's recent change to dragging seems to have revealed a long-
+ time bug in passSubframeEventToSubframe where we did not set
+ m_sendingEventToSubview to true before calling
+ handleMouseMoveEvent() in the NSMouseMoved case. This patch fixes
+ that and adds ASSERTions around all of the places where
+ m_sendingEventToSubview is set to true and then false to make sure
+ we are not trampling its state.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::eventLoopHandleMouseDragged):
+ (WebCore::EventHandler::eventLoopHandleMouseUp):
+ (WebCore::EventHandler::passSubframeEventToSubframe):
+ (WebCore::EventHandler::passWheelEventToWidget):
+
+2009-04-30 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ MediaDocument falls back to plug-in unnecessarily
+ https://bugs.webkit.org/show_bug.cgi?id=25504
+ <rdar://problem/6844702>
+
+ Don't allow harmless media types to cause a MediaDocument to fall
+ back to PluginDocument.
+
+ Test: media/video-document-types.html
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): add timecode, timecode 64,
+ odsm, and sdsm to allowed track types.
+
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWin::disableUnsupportedTracks): Ditto.
+
+2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add CHROMIUM guard to unfork Document.cpp
+
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode): Added guard.
+
+2009-04-30 David Kilzer <ddkilzer@apple.com>
+
+ Use OwnPtr<HTMLParserQuirks> for m_parserQuirks
+
+ Reviewed by Geoff Garen.
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::~HTMLParser): Removed unneeded code.
+ * html/HTMLParser.h: Made m_parserQuirks an OwnPtr.
+
+2009-04-30 David Kilzer <ddkilzer@apple.com>
+
+ Provide a mechanism to create a quirks delegate for HTMLParser
+
+ Reviewed by David Hyatt.
+
+ No tests since there is no change in behavior.
+
+ HTMLParserQuirks.h defines an abstract base class that may be
+ extended as needed. The ChromeClient::createHTMLParserQuirks()
+ factory method should be used to return an HTMLParserQuirks
+ subclassed object when needed.
+
+ * WebCore.xcodeproj/project.pbxproj: Added HTMLParserQuirks.h.
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::HTMLParser): Initialize m_parserQuirks
+ using ChromeClient::createHTMLParserQuirks().
+ (WebCore::HTMLParser::~HTMLParser): Delete m_parserQuirks if
+ set.
+ (WebCore::HTMLParser::reset): Call HTMLParserQuirks::reset() if
+ m_parserQuirks is set.
+ (WebCore::HTMLParser::insertNode): Call
+ HTMLParserQuirks::shouldInsertNode() if m_parserQuirks is set,
+ and return early if it returns false.
+ (WebCore::HTMLParser::popBlock): Call
+ HTMLParserQuirks::shouldPopBlock() if m_parserQuirks is set, and
+ return early if it returns false.
+ * html/HTMLParser.h: Added m_parserQuirks.
+ * html/HTMLParserQuirks.h: Added.
+ (WebCore::HTMLParserQuirks::HTMLParserQuirks):
+ (WebCore::HTMLParserQuirks::~HTMLParserQuirks):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::createHTMLParserQuirks): Added.
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::createHTMLParserQuirks): Added.
+
+2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25492
+ Add JSC guards around node wrapper cache calls. These are not used by V8.
+
+ Also, remove JSDOMBinding include, which is brought in by ScriptController.
+
+ * dom/Document.cpp:
+ (WebCore::Document::~Document): Added JSC guard.
+ * dom/Node.cpp:
+ (WebCore::Node::setDocument): Ditto and removed JSDOMBinding include.
+
+2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25493
+ Remove debugger/profiler custom method stubs, catching V8 bindings up to
+ http://trac.webkit.org/changeset/43072.
+
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed method stubs.
+
+2009-04-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ <rdar://problem/6839338> VoiceOver does not take into account transforms when drawing outlines
+
+ Use transform-aware quad methods when computing the boundingBoxRect for
+ an AccessibilityRenderObject. The code follows RenderObject::absoluteBoundingBoxRect().
+
+ Test: accessibility/transformed-element.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::boundingBoxRect):
+
+2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, Chromium build fix.
+
+ Catch up to ScriptObject changes from http://trac.webkit.org/changeset/42512.
+
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::get): Renamed from getObject.
+ (WebCore::ScriptGlobalObject::remove): Added.
+ * bindings/v8/ScriptObject.h: Ditto.
+
+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.
+
+ * WebCore.pro: Fix copy-paste error.
+
+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.
+
+ * GNUmakefile.am: Add ENABLE_JAVASCRIPT_DEBUGGER definitions.
+ * WebCore.pro: Ditto.
+
+2009-04-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Change Position to pre-compute the AnchorType and store it.
+ Also store a "legacy editing mode" bit on the Position.
+ https://bugs.webkit.org/show_bug.cgi?id=24763
+
+ The old Postion(node, offset) constructor creates legacy positions
+ but there are new constructors to create explicitly anchored positions
+ which the next patch will use.
+
+ Once we fix all the "position-fixup" functions (like rangeCompliantEquivalent) to
+ only affect legacy positions, we will be able to distinguish
+ between [table, 1] and [table, after] in the code correctly!
+
+ * WebCore.base.exp:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Position.cpp:
+ (WebCore::Position::Position):
+ (WebCore::Position::moveToPosition):
+ (WebCore::Position::moveToOffset):
+ (WebCore::Position::anchorTypeForLegacyEditingPosition):
+ (WebCore::Position::element):
+ * dom/Position.h:
+ (WebCore::Position::):
+ (WebCore::Position::Position):
+ (WebCore::Position::anchorType):
+ (WebCore::Position::deprecatedEditingOffset):
+
+2009-04-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix bug where the WorkerLocation and WorkerNavigator wrappers would be
+ collected even if the WorkerContext is still alive.
+
+ Test: fast/workers/worker-context-gc.html
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::mark):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ (WebCore::WorkerContext::completeURL):
+ (WebCore::WorkerContext::location):
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::optionalNavigator):
+ (WebCore::WorkerContext::optionalLocation):
+
+2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25470
+ Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
+
+ * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER.
+ * WebCore.vcproj/build-generated-files.sh: Ditto.
+ * bindings/js/JSConsoleCustom.cpp: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
+ * bindings/js/JSDOMWindowBase.cpp: Ditto.
+ * bindings/js/JSInspectorControllerCustom.cpp: Ditto.
+ * inspector/InspectorController.cpp: Moved profiler/debugger methods under
+ ENABLE(JAVASCRIPT_DEBUGGER) flag.
+ * inspector/InspectorController.h: Ditto.
+ * inspector/InspectorController.idl: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
+ * page/Console.cpp: Replaced USE(JSC) with ENABLE(JAVASCRIPT_DEBUGGER) guard.
+
+2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25275
+ This patch snuck in a re-definition of a local.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER): Removed re-definition.
+
+2009-04-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix a leak introduced yesterday. Don't allocate a ScheduledAction
+ if the toString()ing throws an exception.
+
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+
+2009-04-30 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25379
+ <rdar://problem/6809460> REGRESSION (r41772): Selecting a bank in American Express Pay Bill fails
+
+ Test: fast/forms/multiple-selected-options-innerHTML.html
+
+ This problem was caused by an inconsistency at when Node::instertedIntoTree() is called.
+ For normal HTML parsing, it is called immediately after an element is inserted, but for
+ innerHTML, it is only called after the whole subtree is inserted into a document.
+
+ It may make sense to harmonize these cases one day, but for now, I only made the minimal
+ changes necessary to fix the bug.
+
+ * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::insertedIntoTree):
+ * html/HTMLSelectElement.h:
+ Recalculate list items when a SELECT element is inserted. OPTION elements cannot decide
+ which one to keep selected themselves, because their logic assumes normal parsing, with
+ insertedIntoTree() called after each element is inserted.
+
+2009-04-30 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25342
+ Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
+
+ Chromium async/out-of-process version of WebInspector is currently not based on
+ InspectorController. The reason was that we did not want to interfere with
+ the unforking effort, yet wanted to experiment. So we came up with these
+ agents concept that basically mimic InspectorController, but separating 'agent'
+ nature from the 'transport'. Now that InspectorController is unforked, I am
+ planning to bring these concepts into the WebKit land and use what we have in
+ Chromium as a proof of concept / experimental playground.
+
+ * loader/EmptyClients.h: added MessageSource and MessageLevel parameters.
+ (WebCore::EmptyChromeClient::addMessageToConsole): ditto
+ * page/ChromeClient.h: ditto
+ * page/Console.cpp: Used new method signature.
+ (WebCore::Console::addMessage): ditto
+
+2009-04-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=25476
+ <rdar://problem/6841919> REGRESSION (r42987): Welcome to Safari 4
+ animation is jittery
+
+ Reverted r42987.
+
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+
+2009-04-30 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak
+
+ <rdar://problem/3785248> http://www.greekembassy.org/ gets in an infinite reload loop
+ https://bugs.webkit.org/show_bug.cgi?id=21193
+
+ Some websites use for attributes in script elements to specify events that the script
+ should be run for. One example is greekembassy.org which has the following in their <head>:
+
+ <script for=window event=onresize>
+ location.reload(false);
+ </script>
+
+ Since we don't support the full for attribute syntax, we would just blissfully ignore the
+ condition and execute the code unconditionally. This caused breakage on multiple real-world
+ sites besides greekembassy.org.
+
+ https://bugs.webkit.org/show_bug.cgi?id=16915 and <rdar://problem/4471751> track adding full
+ support for the for attribute in scripts. In the meantime it's best to not execute them
+ unconditionally.
+
+ Test: fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution.html
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::shouldExecuteAsJavaScript): After all other checks have
+ passed, only return true if there is no for attribute in the script element.
+ * dom/ScriptElement.h:
+
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::forAttributeValue): Return the attribute value, if any.
+ * html/HTMLScriptElement.h:
+
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::forAttributeValue): Return an empty string (like the other
+ attribute getters do for SVGScriptElement)
+ * svg/SVGScriptElement.h:
+
+2009-04-30 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ The Qt API exposes a global history patch CSSStyleSelector to make API consumers work again
+
+ https://bugs.webkit.org/show_bug.cgi?id=20952
+
+ The QtWebKit port made the mistake of exposing a global history. This broke
+ with the addition of PageGroup and LinkHash. This needs to be repaired
+ for Qt4.5.
+
+ Add a function to LinkHash.cpp that is resolving a URL. Use this
+ function from within CSSStyleSelector to forward the url to the
+ QWebHistoryInterface API.
+
+ It is sad that there is a path within visitedLinkHash which is now
+ doing a memcpy, it is sad to add a PLATFORM(QT) define to CSSStyleSelector
+ and using QtWebKit types within WebCore is a layering violation as well.
+
+ PageGroup::setShouldTrackVisitedLinks is currently not enabled. For
+ Qt4.6 a second version of the QWebHistoryInterface is going to be
+ added which will fix things up.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
+ * platform/LinkHash.cpp:
+ (WebCore::visitedURL):
+ (WebCore::visitedLinkHash):
+ * platform/LinkHash.h:
+
+2009-04-30 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build.
+
+ * platform/graphics/SimpleFontData.cpp: Don't use initCharWidths() for the Qt build.
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit): Instead initialize the average and
+ max char widths from QFontMetrics.
+
+2009-04-30 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Unreview build fix after r43037.
+
+ Use MarkedArgumentBuffer instead of ArgList.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtConnectionObject::execute):
+
+2009-04-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=25440
+ setTimeout should stringify non-string/non-function first arguments
+
+ Test: fast/dom/Window/setTimeout-string-argument.html
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::setTimeout):
+ (WebCore::JSWorkerContext::setInterval):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ * bindings/js/ScheduledAction.h:
+
+2009-04-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - WebCore part of <rdar://problem/6609509> Select All and then Delete
+ should put Mail editing back into the same state as a new message
+
+ Test: editing/deleting/in-visibly-empty-root.html
+
+ * WebCore.base.exp: Exported VisibleSelection::isAll(bool).
+ * editing/SelectionController.h:
+ (WebCore::SelectionController::isAll): Added. Calls through to
+ VisibleSelection.
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::makeEditableRootEmpty): Added. Removes all children
+ of the root editable element the selection is in, other than a
+ placeholder. Returns true iff it did anything.
+ (WebCore::TypingCommand::deleteKeyPressed): When there is only a single
+ visible position in the root editable element, but it has children other
+ than a placeholder, remove those children.
+ * editing/TypingCommand.h:
+ * editing/VisiblePosition.h:
+ Added a StayInEditableContent enum and a FIXME.
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::isAll): Added. Returns whether the
+ selection encompasses all visible positions, either in the document or
+ in the editable root.
+ * editing/VisibleSelection.h:
+
+2009-04-29 Sam Weinig <sam@webkit.org>
+
+ Fix style nit.
+
+ * editing/visible_units.cpp:
+ (WebCore::getLeafBoxesInLogicalOrder):
+
+2009-04-29 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ For now just drop the deferred layout on the floor, since it causes an infinite hang in mail. Even
+ trying to schedule a relayout for later leaves you in a state where you hit the needsLayout painting
+ assertions.
+
+ Basically what Mail is doing is crazy, and we can't support it other than to just drop the last layout
+ and not do it (which is basically what was happening before).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setContentsSize):
+ (WebCore::FrameView::needsLayout):
+
+2009-04-29 Douglas Davidson <ddavidso@apple.com>
+
+ Reviewed by Justin Garcia.
+
+ <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
+
+ Updates to the text checking code to enable text checking even if spellchecking is turned off
+ and fix an off-by-one error in selection handling.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::markMisspellingsAfterTypingToPosition):
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
+ (WebCore::Editor::markMisspellingsAndBadGrammar):
+ * editing/Editor.h:
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::markMisspellingsAfterTyping):
+
+2009-04-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Clean up ArgList to be a trivial type
+
+ Start using MarkedArgumentBuffer to create argument lists for function calls
+
+ * bindings/js/JSClipboardCustom.cpp:
+ (WebCore::JSClipboard::types):
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::profiles):
+ * bindings/js/JSCustomPositionCallback.cpp:
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomVoidCallback.cpp:
+ (WebCore::JSCustomVoidCallback::handleEvent):
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInspectorControllerCustom.cpp:
+ (WebCore::JSInspectorController::profiles):
+ (WebCore::JSInspectorController::search):
+ (WebCore::JSInspectorController::databaseTableNames):
+ (WebCore::JSInspectorController::setting):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::construct):
+ (WebCore::JSQuarantinedObjectWrapper::call):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::ScheduledAction):
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ * bindings/js/ScriptFunctionCall.h:
+ * bindings/objc/WebScriptObject.mm:
+ (getListFromNSArray):
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ * bridge/NP_jsobject.cpp:
+ (getListFromVariantArgs):
+ (_NPN_InvokeDefault):
+ (_NPN_Invoke):
+ (_NPN_Construct):
+ * bridge/jni/jni_jsobject.h:
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::getListFromJArray):
+
+2009-04-29 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Fix m_offset uses added while I wasn't looking.
+
+ * editing/visible_units.cpp:
+ (WebCore::logicalStartPositionForLine):
+ (WebCore::logicalEndPositionForLine):
+
+2009-04-29 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=24168
+ RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
+
+ Test: editing/selection/home-end.html
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
+ to logicalEndOfLine() when granularity is LineBoundary.
+ (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
+ to logicalEndOfLine() when granularity is LineBoundary
+ (WebCore::SelectionController::modifyExtendingBackward): Change calling
+ startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
+ (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine()
+ to logicalStartOfLine() when granularity is LineBoundary.
+ * editing/visible_units.cpp:
+ (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
+ (WebCore::getLogicalStartBoxAndNode): Added.
+ (WebCore::getLogicalEndBoxAndNode): Added.
+ (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
+ (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
+ (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
+ (WebCore::inSameLogicalLine): Added.
+ (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
+ * editing/visible_units.h:
+
+2009-04-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Make m_offset private and change all callers to use deprecatedEditingOffset().
+ https://bugs.webkit.org/show_bug.cgi?id=25472
+
+ Per Darin's suggestion, this was just a simple search replace
+ of .m_offset with .deprecatedEditingOffset().
+
+ There was one change in InsertParagraphSeparatorCommand::doApply to use
+ Position::moveToOffset(0) instead of .m_offset = 0;
+
+ * dom/Position.cpp:
+ (WebCore::Position::rendersInDifferentPosition):
+ (WebCore::Position::leadingWhitespacePosition):
+ * dom/Position.h:
+ (WebCore::Position::deprecatedEditingOffset):
+ (WebCore::Position::moveToOffset):
+ (WebCore::operator==):
+ * dom/PositionIterator.h:
+ (WebCore::PositionIterator::PositionIterator):
+ * dom/Range.cpp:
+ (WebCore::Range::create):
+ (WebCore::Range::compareBoundaryPoints):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
+ (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
+ (WebCore::ApplyStyleCommand::removeInlineStyle):
+ (WebCore::ApplyStyleCommand::nodeFullySelected):
+ (WebCore::ApplyStyleCommand::nodeFullyUnselected):
+ (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
+ (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
+ (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
+ (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
+ (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
+ (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
+ (WebCore::ApplyStyleCommand::joinChildTextNodes):
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::insertNodeAt):
+ (WebCore::CompositeEditCommand::positionOutsideTabSpan):
+ (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
+ (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
+ (WebCore::CompositeEditCommand::deleteInsignificantText):
+ (WebCore::CompositeEditCommand::moveParagraphs):
+ (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::updatePositionForNodeRemoval):
+ (WebCore::updatePositionForTextRemoval):
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete):
+ (WebCore::DeleteSelectionCommand::fixupWhitespace):
+ * editing/Editor.cpp:
+ (WebCore::Editor::setComposition):
+ (WebCore::Editor::advanceToNextMisspelling):
+ (WebCore::Editor::getCompositionSelection):
+ * editing/InsertLineBreakCommand.cpp:
+ (WebCore::InsertLineBreakCommand::doApply):
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::performTrivialReplace):
+ (WebCore::InsertTextCommand::input):
+ (WebCore::InsertTextCommand::insertTab):
+ * editing/MoveSelectionCommand.cpp:
+ (WebCore::MoveSelectionCommand::doApply):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::debugRenderer):
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::rangeFromLocationAndLength):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::characterAfter):
+ (WebCore::VisiblePosition::debugPosition):
+ (WebCore::makeRange):
+ (WebCore::setStart):
+ (WebCore::setEnd):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::toNormalizedRange):
+ (WebCore::makeSearchRange):
+ (WebCore::VisibleSelection::debugPosition):
+ (WebCore::VisibleSelection::showTreeForThis):
+ * editing/htmlediting.cpp:
+ (WebCore::comparePositions):
+ (WebCore::rangeCompliantEquivalent):
+ * editing/visible_units.cpp:
+ (WebCore::previousBoundary):
+ (WebCore::nextBoundary):
+ (WebCore::startPositionForLine):
+ (WebCore::startOfLine):
+ (WebCore::endPositionForLine):
+ (WebCore::nextLinePosition):
+ (WebCore::startOfParagraph):
+ (WebCore::endOfParagraph):
+ (WebCore::logicalStartPositionForLine):
+ (WebCore::logicalEndPositionForLine):
+ * page/AccessibilityObject.cpp:
+ (WebCore::updateAXLineStartForVisiblePosition):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::anchorOffset):
+ (WebCore::DOMSelection::focusOffset):
+ (WebCore::DOMSelection::baseOffset):
+ (WebCore::DOMSelection::extentOffset):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+ * page/Frame.cpp:
+ (WebCore::Frame::selectionLayoutChanged):
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (textMarkerForVisiblePosition):
+ (visiblePositionForTextMarker):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::indexForVisiblePosition):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeSelection):
+
+2009-04-29 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out a patch.
+
+ Revert http://trac.webkit.org/changeset/43019
+
+ New tests failed because I removed the tabs from them
+ when landing (since we avoid tabs in WebKit files).
+ I couldn't tell if the new results were correct with
+ spaces or not.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::modifyExtendingForward):
+ (WebCore::SelectionController::modifyMovingForward):
+ (WebCore::SelectionController::modifyExtendingBackward):
+ (WebCore::SelectionController::modifyMovingBackward):
+ * editing/visible_units.cpp:
+ * editing/visible_units.h:
+
+2009-04-29 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/6828164>, Mail hits the !root->needsLayout() assert because it re-marks the FrameView for layout
+ when the FrameView is resized. This bug was exposed by the elimination of the separate WebKit layout
+ flag on Mac.
+
+ FrameView now defers setNeedsLayouts during size changes. Once all of the size changes are finished (including re-entrant ones
+ from WebDynamicScrollbarsView and ScrollView::updateScrollbars) we then do a layout if necessary.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::setContentsSize):
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::needsLayout):
+ (WebCore::FrameView::setNeedsLayout):
+ * page/FrameView.h:
+
+2009-04-29 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out a patch.
+
+ Revert 43020 as it caused accessibility/lists.html to fail
+ and no one is around to tell me if it's a progression or not.
+
+ * page/AccessibilityObject.h:
+ (WebCore::):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::roleValue):
+ (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (RoleEntry::):
+
+2009-04-29 Sankar Aditya Tanguturi <sankaraditya@gmail.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add a new accessibility role for list items. Part of
+ http://bugs.webkit.org/show_id.cgi?id=20013
+
+ Tests: platform/win/accessibility/listitem-role.html
+
+ * page/AccessibilityObject.h:
+ (WebCore::): Add ListItemRole to accessibilityRole enum.
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::roleValue):Return
+ listItemRole when rendered object is a list item.
+ (WebCore::AccessibilityRenderObject::canSetFocusAttribute): Return
+ true for ListItemRole, matching firefox.
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (RoleEntry::): Map ListItemRole with NSAccessibilityGroupRole in
+ MAC.
+
+2009-04-29 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=24168
+ RTL: Home/End key does not behave correctly in mixed bidi text in RTL document
+
+ Test: editing/selection/home-end.html
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine()
+ to logicalEndOfLine() when granularity is LineBoundary.
+ (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine()
+ to logicalEndOfLine() when granularity is LineBoundary
+ (WebCore::SelectionController::modifyExtendingBackward): Change calling
+ startOfLine() to logicalStartOfLine() when granularity is LineBoundary.
+ (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine()
+ to logicalStartOfLine() when granularity is LineBoundary.
+ * editing/visible_units.cpp:
+ (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order.
+ (WebCore::getLogicalStartBoxAndNode): Added.
+ (WebCore::getLogicalEndBoxAndNode): Added.
+ (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine.
+ (WebCore::logicalStartOfLine): Added. Similar to startOfLine.
+ (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine.
+ (WebCore::inSameLogicalLine): Added.
+ (WebCore::logicalEndOfLine): Added. Similar to endOfLine.
+ * editing/visible_units.h:
+
+2009-04-29 Mike Belshe <mike@belshe.com>
+
+ Reviewed by Eric Seidel.
+
+ Update location while page is loading.
+ https://bugs.webkit.org/show_bug.cgi?id=21597
+
+ Tested by:
+ - fast/dom/location-new-window-no-crash
+ - fast/dom/Window/window-open-pending-url
+
+ * page/Location.cpp:
+
+2009-04-29 Feng Qian <feng@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add Android port files to WebCore/platform.
+ https://bugs.webkit.org/show_bug.cgi?id=23296
+
+ * platform/android: Added.
+ * platform/android/ClipboardAndroid.cpp: Added.
+ * platform/android/ClipboardAndroid.h: Added.
+
+2009-04-29 Feng Qian <feng@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add Android-specific files to the WebCore/page directory.
+ https://bugs.webkit.org/show_bug.cgi?id=23295
+
+ * page/android: Added.
+ * page/android/DragControllerAndroid.cpp: Added.
+ * page/android/EventHandlerAndroid.cpp: Added.
+ * page/android/InspectorControllerAndroid.cpp: Added.
+
+2009-04-29 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Extract PageGroupLoadDeferrer from Chrome.cpp
+
+ * GNUmakefile.am: added PageGroupLoadDeferrer
+ * WebCore.pro: ditto
+ * WebCore.scons: ditto
+ * WebCore.vcproj/WebCore.vcproj: ditto
+ * WebCore.xcodeproj/project.pbxproj: ditto
+ * WebCoreSources.bkl: ditto
+ * page/Chrome.cpp: PageGroupLoadDeferrer impl moved to a separate class.
+ * page/PageGroupLoadDeferrer.cpp: Added.
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
+ (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
+ * page/PageGroupLoadDeferrer.h: Added.
+
+2009-04-24 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Make textarea and text input metrics more closely match IEs.
+
+ This involves:
+ -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth
+ -set textarea width to cols*avgCharWidth
+ -Make default CSS match IEs
+ -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG.
+
+ Those values for textarea and inputs were derived by doing a ton of manual
+ testing of IE's width values for various textareas and fonts. On Windows we match
+ IE exactly except for a couple fonts of the ~12 tested.
+
+ To get the average and max character width of a font, we do the following
+ for each platform:
+ -Win: TextMetrics expose avgCharWidth and maxCharWidth
+ -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight
+ maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent
+ -Linux: avgCharWidth = width of an '0', fallback on m_xHeight
+ maxCharWidth = max of avgCharWidth and m_ascent
+ -Mac: Calculate the avgCharWidth and grab the maxCharWidth off the font.
+ If either one is non-positive, then calculate the value using the Linux approach.
+
+ Tests: fast/forms/text-control-intrinsic-widths.html
+ fast/forms/textarea-metrics.html
+ svg/custom/svg-fonts-in-text-controls.html
+
+ * css/html4.css:
+ * css/themeWin.css:
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData):
+ (WebCore::SimpleFontData::initCharWidths):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::maxCharWidth):
+ (WebCore::SimpleFontData::avgCharWidth):
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::initGDIFont):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::calcPrefWidths):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::preferredContentWidth):
+
+2009-04-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ * bindings/objc/DOMCSS.mm:
+ (kitClass): Added CSS_INITIAL to the switch statement, and changed to use the WebCore
+ type and not the binding type.
+
+2009-04-29 John Abd-El-Malek <jam@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Reverted my previous change to add resetChromiumPluginCache().
+ https://bugs.webkit.org/show_bug.cgi?id=25318
+
+ * plugins/chromium/PluginDataChromium.cpp:
+
+2009-04-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6573742> - Problem dragging standalone images from Safari to Mail
+
+ Roll out trac.webkit.org/changeset/35867 which fixed <rdar://problem/6153432>
+
+ Cloned <rdar://problem/6153432> to <rdar://problem/6839881> to find a better fix for that Tiger Mail bug.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::subresource): Remove the preload referenced check.
+
+2009-04-29 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25430
+
+ Provide style sheet for UI controls of media elements for Chromium port.
+
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet):
+
+2009-04-29 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Expose sudden termination to Chromium port.
+ https://bugs.webkit.org/show_bug.cgi?id=25457
+
+ * platform/SuddenTermination.h:
+ * platform/chromium/ChromiumBridge.h:
+ * platform/chromium/SuddenTerminationChromium.cpp: Added.
+ (WebCore::disableSuddenTermination):
+ (WebCore::enableSuddenTermination):
+
+2009-04-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Remove unused EventListeners.
+
+ * page/DOMWindow.idl:
+
+2009-04-29 Yury Semikhatsky <yurys@chromium.org>
+
+ Reveal current execution line once SourceFrame content is loaded.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25448
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._loaded):
+
+2009-04-29 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Simon Fraser.
+
+ [Qt] Initialize GraphicsContext's and ImageBuffer's QPainter to match
+ the default values of canvas attributes.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+
+2009-04-28 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::findMethodIndex): Removed exec param from at() call.
+ (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
+
+2009-04-28 Geoffrey Garen <ggaren@apple.com>
+
+ Rubber stamped by Beth Dakin.
+
+ Missed one.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-04-28 Geoffrey Garen <ggaren@apple.com>
+
+ Rubber stamped by Beth Dakin.
+
+ Removed scaffolding supporting dynamically converting between 32bit and
+ 64bit value representations.
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::JSCanvasRenderingContext2D::setFillColor):
+ (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
+ (WebCore::JSCanvasRenderingContext2D::strokeRect):
+ (WebCore::JSCanvasRenderingContext2D::drawImage):
+ (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
+ (WebCore::JSCanvasRenderingContext2D::setShadow):
+ (WebCore::JSCanvasRenderingContext2D::createPattern):
+ (WebCore::JSCanvasRenderingContext2D::putImageData):
+ (WebCore::JSCanvasRenderingContext2D::fillText):
+ (WebCore::JSCanvasRenderingContext2D::strokeText):
+ * bindings/js/JSClipboardCustom.cpp:
+ (WebCore::JSClipboard::clearData):
+ (WebCore::JSClipboard::getData):
+ (WebCore::JSClipboard::setData):
+ (WebCore::JSClipboard::setDragImage):
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::hasItem):
+ (WebCore::JSDOMApplicationCache::add):
+ (WebCore::JSDOMApplicationCache::remove):
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMStringListCustom.cpp:
+ (WebCore::JSDOMStringList::item):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ (WebCore::JSDOMWindow::postMessage):
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ (WebCore::JSDOMWindow::atob):
+ (WebCore::JSDOMWindow::btoa):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ * bindings/js/JSDatabaseCustom.cpp:
+ (WebCore::JSDatabase::changeVersion):
+ (WebCore::JSDatabase::transaction):
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::JSElement::setAttribute):
+ (WebCore::JSElement::setAttributeNode):
+ (WebCore::JSElement::setAttributeNS):
+ (WebCore::JSElement::setAttributeNodeNS):
+ * bindings/js/JSGeolocationCustom.cpp:
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::callHTMLCollection):
+ (WebCore::JSHTMLCollection::item):
+ (WebCore::JSHTMLCollection::namedItem):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::documentWrite):
+ * bindings/js/JSHTMLInputElementCustom.cpp:
+ (WebCore::JSHTMLInputElement::setSelectionRange):
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::add):
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ (WebCore::JSHTMLSelectElement::remove):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::constructImage):
+ * bindings/js/JSInspectorControllerCustom.cpp:
+ (WebCore::JSInspectorController::highlightDOMNode):
+ (WebCore::JSInspectorController::addResourceSourceToFrame):
+ (WebCore::JSInspectorController::addSourceToFrame):
+ (WebCore::JSInspectorController::getResourceDocumentNode):
+ (WebCore::JSInspectorController::search):
+ (WebCore::JSInspectorController::databaseTableNames):
+ (WebCore::JSInspectorController::setting):
+ (WebCore::JSInspectorController::setSetting):
+ (WebCore::JSInspectorController::wrapCallback):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::evaluate):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::JSLocation::replace):
+ (WebCore::JSLocation::assign):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::startConversation):
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::insertBefore):
+ (WebCore::JSNode::replaceChild):
+ (WebCore::JSNode::removeChild):
+ (WebCore::JSNode::appendChild):
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::JSNodeFilter::acceptNode):
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::callNodeList):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::constructHTMLOptionElement):
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::construct):
+ (WebCore::JSQuarantinedObjectWrapper::call):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item):
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ (WebCore::JSSQLTransaction::executeSql):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener):
+ * bindings/js/JSSVGLengthCustom.cpp:
+ (WebCore::JSSVGLength::convertToSpecifiedUnits):
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::rotateFromVector):
+ * bindings/js/JSSVGPathSegListCustom.cpp:
+ (WebCore::JSSVGPathSegList::initialize):
+ (WebCore::JSSVGPathSegList::getItem):
+ (WebCore::JSSVGPathSegList::insertItemBefore):
+ (WebCore::JSSVGPathSegList::replaceItem):
+ (WebCore::JSSVGPathSegList::removeItem):
+ (WebCore::JSSVGPathSegList::appendItem):
+ * bindings/js/JSSVGPointListCustom.cpp:
+ (WebCore::JSSVGPointList::initialize):
+ (WebCore::JSSVGPointList::getItem):
+ (WebCore::JSSVGPointList::insertItemBefore):
+ (WebCore::JSSVGPointList::replaceItem):
+ (WebCore::JSSVGPointList::removeItem):
+ (WebCore::JSSVGPointList::appendItem):
+ * bindings/js/JSSVGTransformListCustom.cpp:
+ (WebCore::JSSVGTransformList::initialize):
+ (WebCore::JSSVGTransformList::getItem):
+ (WebCore::JSSVGTransformList::insertItemBefore):
+ (WebCore::JSSVGTransformList::replaceItem):
+ (WebCore::JSSVGTransformList::removeItem):
+ (WebCore::JSSVGTransformList::appendItem):
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::constructWebKitCSSMatrix):
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::constructWebKitPoint):
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::constructWorker):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::importScripts):
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ (WebCore::JSWorkerContext::setTimeout):
+ (WebCore::JSWorkerContext::setInterval):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorker::addEventListener):
+ (WebCore::JSWorker::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open):
+ (WebCore::JSXMLHttpRequest::setRequestHeader):
+ (WebCore::JSXMLHttpRequest::send):
+ (WebCore::JSXMLHttpRequest::getResponseHeader):
+ (WebCore::JSXMLHttpRequest::overrideMimeType):
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessor::importStylesheet):
+ (WebCore::JSXSLTProcessor::transformToFragment):
+ (WebCore::JSXSLTProcessor::transformToDocument):
+ (WebCore::JSXSLTProcessor::setParameter):
+ (WebCore::JSXSLTProcessor::getParameter):
+ (WebCore::JSXSLTProcessor::removeParameter):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ (WebCore::ScheduledAction::ScheduledAction):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptCallFrame.cpp:
+ (WebCore::ScriptCallFrame::ScriptCallFrame):
+ * bindings/js/ScriptCallFrame.h:
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::initialize):
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::invokeMethod):
+ (JSC::Bindings::CInstance::invokeDefaultMethod):
+ (JSC::Bindings::CInstance::invokeConstruct):
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::invokeMethod):
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::invokeMethod):
+ (ObjcInstance::invokeDefaultMethod):
+
+2009-04-28 David Carson <dacarson@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Restore alignment to device pixel boundaries.
+ https://bugs.webkit.org/show_bug.cgi?id=25458
+
+ Adjust the adjusted destination rect to be device pixel aligned.
+
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+
+2009-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move unimplemented captureEvents and releaseEvents from JSDOMWindow
+ to DOMWindow.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::captureEvents):
+ (WebCore::DOMWindow::releaseEvents):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2009-04-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25420
+ <rdar://problem/6829570> REGRESSION: XMLHttpRequest allows loading from another origin
+
+ Test: http/tests/xmlhttprequest/detaching-frame-2.html
+
+ This was caused by faulty DOMWindow::document(), which could return a new document from
+ the window's frame after navigation.
+
+ * bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
+ Removed an obsolete check that allowed access when document was null. Contrary to what a
+ comment said, that can happen for a window that is no longer in frame, not to one whose
+ document is not constructed yet.
+
+ * bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Bail
+ out if context was not found. This currently happens due to a shortcoming in
+ DOMWindow::document() - when it is fixed, the XMLHttpRequest object in included regression
+ test will be constructed successfully, but won't be sent, because its context will be
+ frameless.
+
+ * page/DOMWindow.cpp: (WebCore::DOMWindow::document): Check that the window in frame hasn't
+ been replaced yet. Added FIXME comments about how this may be better fixed in the future.
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::document):
+ (WebCore::constructAudio):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::document):
+ (WebCore::constructImage):
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::construct):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::document):
+ (WebCore::constructHTMLOptionElement):
+ Make matching changes to other constructors that hold a reference to global object.
+
+2009-04-28 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxMSW build fix. Switch JSCore build back to static.
+
+ * config.h:
+
+2009-04-28 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6834830>
+
+ Make sure we cover the two possible values reported by event.total that are playback engine
+ specific.
+
+ * media/progress-event-total-expected.txt: Match the new test.
+ * media/progress-event-total.html: Test the two values.
+
+2009-04-28 Timothy Hatcher <timothy@apple.com>
+
+ Rename -[DOMRange lineBoxRects] to -[DOMRange textRects] and change how it
+ collects the individual rects, making sure to only include RenderText.
+
+ <rdar://problem/6810061>
+
+ Reviewed by Sam Weinig.
+
+ * bindings/objc/DOM.mm:
+ (-[DOMNode textRects]): Added. Make a Range and call textRects.
+ (-[DOMNode lineBoxRects]): Call textRects method.
+ (-[DOMRange textRects]): Call Range::textRects.
+ (-[DOMRange lineBoxRects]): Call textRects method.
+ * bindings/objc/DOMPrivate.h: Add the new methods and a comment
+ about lineBoxRects being deprecated.
+ * dom/Range.cpp:
+ (WebCore::Range::boundingBox): Call textRects (renamed from addLineBoxRects).
+ (WebCore::Range::textRects): Renamed from addLineBoxRects. Iterate over the
+ nodes instead of the RenderObjects to correctly account for offsets. Also
+ only call absoluteRectsForRange on RenderText.
+ * dom/Range.h: Renamed addLineBoxRects to textRects.
+ * page/Frame.cpp:
+ (WebCore::Frame::selectionTextRects): Call textRects (renamed from addLineBoxRects).
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::absoluteRectsForRange): Remove if conditions that made this
+ function very specific for the lineBoxRects API. These functions are still used
+ by the InspectorController, and this change improves what the Inspector shows.
+ (WebCore::RenderObject::absoluteQuadsForRange): Ditto.
+
+2009-04-28 Timothy Hatcher <timothy@apple.com>
+
+ Remove the topLevel boolean argument from absolute{Rects,Quads}.
+ This argument was default to true and no one ever passed false.
+
+ Reviewed by Sam Weinig.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::absoluteRects):
+ (WebCore::RenderBlock::absoluteQuads):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::absoluteRects):
+ (WebCore::RenderBox::absoluteQuads):
+ * rendering/RenderBox.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::absoluteRects):
+ (WebCore::RenderInline::absoluteQuads):
+ * rendering/RenderInline.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::absoluteRects):
+ (WebCore::RenderObject::absoluteQuads):
+ * rendering/RenderSVGHiddenContainer.cpp:
+ (WebCore::RenderSVGHiddenContainer::absoluteRects):
+ (WebCore::RenderSVGHiddenContainer::absoluteQuads):
+ * rendering/RenderSVGHiddenContainer.h:
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::absoluteRects):
+ (WebCore::RenderSVGImage::absoluteQuads):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::absoluteRects):
+ (WebCore::RenderSVGInlineText::absoluteQuads):
+ * rendering/RenderSVGInlineText.h:
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::absoluteRects):
+ (WebCore::RenderSVGModelObject::absoluteQuads):
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGTSpan.cpp:
+ (WebCore::RenderSVGTSpan::absoluteRects):
+ (WebCore::RenderSVGTSpan::absoluteQuads):
+ * rendering/RenderSVGTSpan.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::absoluteRects):
+ (WebCore::RenderSVGText::absoluteQuads):
+ * rendering/RenderSVGText.h:
+ * rendering/RenderSVGTextPath.cpp:
+ (WebCore::RenderSVGTextPath::absoluteQuads):
+ * rendering/RenderSVGTextPath.h:
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteRects):
+ * rendering/RenderText.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::absoluteRects):
+ (WebCore::RenderView::absoluteQuads):
+ * rendering/RenderView.h:
+
+2009-04-28 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6794691> Media documents and <video controls> never show controls on Windows
+
+ RenderThemeWin doesn't implement the media element controller rendering methods, so media
+ controls stopped rendering when we switched from RenderThemeSafari. Rather than having copies
+ of the code in both places, the logic is in a new class that is called from both.
+
+ * WebCore.vcproj/WebCore.vcproj: Add RenderMediaControls.cpp.
+
+ * rendering/RenderMediaControls.cpp: Added.
+ (WebCore::determineState): Translate renderer state to ThemeControlState.
+ (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Adjust slider thumb.
+ (WebCore::parentMediaElement): Return the HTMLMediaElement parent of a controller element.
+ (WebCore::RenderMediaControls::paintMediaControlsPart): Paint a media controller part.
+ * rendering/RenderMediaControls.h: Added.
+
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::paintSliderTrack): Remove the MediaSliderPart case, it is never
+ called for the media slider.
+ (WebCore::RenderThemeSafari::adjustSliderThumbSize): Call RenderMediaControls function.
+ (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Ditto.
+ (WebCore::RenderThemeSafari::paintMediaMuteButton): Ditto.
+ (WebCore::RenderThemeSafari::paintMediaPlayButton): Ditto.
+ (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Ditto.
+ (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Ditto.
+ (WebCore::RenderThemeSafari::paintMediaSliderTrack): Ditto.
+ (WebCore::RenderThemeSafari::paintMediaSliderThumb): Ditto.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::adjustSliderThumbSize): Ditto.
+ (WebCore::RenderThemeWin::paintMediaFullscreenButton): Ditto.
+ (WebCore::RenderThemeWin::paintMediaMuteButton): Ditto.
+ (WebCore::RenderThemeWin::paintMediaPlayButton): Ditto.
+ (WebCore::RenderThemeWin::paintMediaSeekBackButton): Ditto.
+ (WebCore::RenderThemeWin::paintMediaSeekForwardButton): Ditto.
+ (WebCore::RenderThemeWin::paintMediaSliderTrack): Ditto.
+ (WebCore::RenderThemeWin::paintMediaSliderThumb): Ditto.
+ * rendering/RenderThemeWin.h:
+
+2009-04-28 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/6419515> REGRESSION (r31037): Positioned
+ images with % height are collapsed when printing
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calcHeight): Make sure we don't ignore
+ printing here!
+
+2009-04-28 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/6617298> Typing delete on an unquoted blank line unquotes the preceding, quoted blank line
+
+ Test: editing/deleting/type-delete-after-quote.html
+
+ When a selection is deleted that contains a whole number paragraphs plus a line break, we refrain from merging paragraphs after the delete,
+ since it is unclear to most users that such a selection actually ends at the start of the next paragraph. However, when a user hits delete
+ with a caret selection, they actually do expect the start of that paragraph to be merged into the paragraph before it. We can tell that
+ we're in this state because the TypingCommand creates the selection to delete but it doesn't change the endingSelection. So we can tell
+ that if we started with a caret selection, then we're not in this special case where we have to protect the user from unexpected behavior
+ from deleting a range they selected.
+
+ * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData):
+
+2009-04-28 Xan Lopez <xlopez@igalia.com>
+
+ Unreviewed: fix distcheck build, add missing header to file list.
+
+ * GNUmakefile.am:
+
+2009-04-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Fix foreignObject transform order
+ https://bugs.webkit.org/show_bug.cgi?id=25433
+
+ Transforms were being applied in the wrong order.
+ When mapping from local to parent, first apply the viewport transform
+ then map from the viewport box to the parent box.
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::localToParentTransform):
+
+2009-04-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Simplify nodeAtPoint for SVG
+ https://bugs.webkit.org/show_bug.cgi?id=25432
+
+ Added a new nodeAtFloatPoint method which takes a FloatPoint
+ instead of the *super confusing* x/y tx/ty pairs that HTML uses.
+ Mostly this is just lots of minus-lines as the new code is *much* simpler.
+
+ I made all the SVG renderers use the new nodeAtFloatPoint and ASSERT_NOT_REACHED
+ for the nodeAtPoint HTML/CSS int x/y version.
+
+ Eventually the rest of CSS/HTML render objects will follow suit
+ and move to nodeAtFloatPoint (possibly renamed back to nodeAtPoint), but changing them
+ over was well outside the scope of this change.
+
+ SVG hit testing is not actually floating point precise yet, since its still
+ passed in an integer x/y. Certain transform hit-test edge cases are likely fixed
+ by moving to FloatPoint here, but I didn't try to find one.
+
+ This should not cause functional changes for common-case hit testing, thus
+ no tests changed, nor should new tests be needed.
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::translationForAttributes):
+ (WebCore::RenderForeignObject::paint):
+ (WebCore::RenderForeignObject::computeRectForRepaint):
+ (WebCore::RenderForeignObject::localToParentTransform):
+ (WebCore::RenderForeignObject::layout):
+ (WebCore::RenderForeignObject::nodeAtFloatPoint):
+ * rendering/RenderForeignObject.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::nodeAtFloatPoint):
+ * rendering/RenderObject.h:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::nodeAtFloatPoint):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::nodeAtFloatPoint):
+ * rendering/RenderSVGContainer.h:
+ (WebCore::RenderSVGContainer::pointIsInsideViewportClip):
+ * rendering/RenderSVGHiddenContainer.cpp:
+ (WebCore::RenderSVGHiddenContainer::nodeAtFloatPoint):
+ * rendering/RenderSVGHiddenContainer.h:
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ (WebCore::RenderSVGImage::nodeAtFloatPoint):
+ * rendering/RenderSVGImage.h:
+ (WebCore::RenderSVGImage::localToParentTransform):
+ (WebCore::RenderSVGImage::localTransform):
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::nodeAtFloatPoint):
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::nodeAtFloatPoint):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::nodeAtFloatPoint):
+ * rendering/RenderSVGText.h:
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip):
+ * rendering/RenderSVGViewportContainer.h:
+
+2009-04-28 Eric Carlson <eric.carlson@apple.com>
+
+ - fix the Tiger build
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::cacheMovieScale):
+
+2009-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Consolidate ScheduleAction creation into ScheduledAction::create.
+ Autogenerate JSWorkerContext.clearTimeout and clearInterval.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::setTimeout):
+ (WebCore::JSWorkerContext::setInterval):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ (WebCore::ScheduledAction::ScheduledAction):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * workers/WorkerContext.cpp:
+ (WebCore::DOMWindow::setTimeout):
+ (WebCore::DOMWindow::clearTimeout):
+ (WebCore::DOMWindow::setInterval):
+ (WebCore::DOMWindow::clearInterval):
+ * workers/WorkerContext.h:
+ * workers/WorkerContext.idl:
+
+2009-04-28 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler
+
+ <rdar://problem/6643219> Crashes after moving nodes between documents with Safari 4 Beta installed
+
+ When moving Nodes between documents we weren't properly updating style declarations. Certain operations, such
+ as creating webarchives, would tickle this bug.
+
+ Tests: webarchive/adopt-attribute-styled-body-webarchive.html
+ webarchive/adopt-attribute-styled-node-webarchive.html
+ webarchive/adopt-inline-styled-node-webarchive.html
+
+ * dom/Node.cpp: Add a debug-only mechanism to insure that anyone who overrides (did/will)MoveToNewOwnerDocument
+ calls their parent-class implementation after they've done their own work.
+ (WebCore::setWillMoveToNewOwnerDocumentWasCalled):
+ (WebCore::setDidMoveToNewOwnerDocumentWasCalled):
+ (WebCore::Node::setDocument):
+ (WebCore::Node::willMoveToNewOwnerDocument):
+ (WebCore::Node::didMoveToNewOwnerDocument):
+
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::attributeChanged): Add a comment explaining why we don't need to walk the nameAttrMap
+ to update style declarations.
+ (WebCore::StyledElement::didMoveToNewOwnerDocument): Update the parent pointer for the inline style declaration.
+ * dom/StyledElement.h:
+
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument): Update the parent pointer for the link declaration.
+ * html/HTMLBodyElement.h:
+
+2009-04-28 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6834876> Don't use BlockExceptions macros until QTKit supports
+ QTMoviePreferredTransformAttribute
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::cacheMovieScale): use @try and @catch instead of
+ BEGIN_BLOCK_OBJC_EXCEPTIONS and END_BLOCK_OBJC_EXCEPTIONS for builds of QTKit
+ that throw an exception on QTMovieCurrentSizeAttribute but don't support
+ QTMoviePreferredTransformAttribute
+
+2009-04-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText): Streamline code path to avoid a bit of reference count
+ churn and remove a strange unneeeded PassRefPtr typecast. Also added a comment.
+ (WebCore::RenderText::setTextInternal): Ditto.
+
+2009-04-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Simplify how SVG containers paint
+ https://bugs.webkit.org/show_bug.cgi?id=25431
+
+ Moved filterBoundingBox() from RenderSVGModelObject to SVGRenderSupport to share with other classes.
+ Gave RenderSVGText a modern clippedOverflowRectForRepaint and computeRectForRepaint.
+ RenderSVGText now applies transforms at paint() time instead of during chunk draw time
+ this should be much more efficient.
+
+ Fixed the order in which RenderSVGViewportContainer applied
+ transforms and clips. We now clip to the viewport first and apply
+ all transforms at once. Also since the viewport logic is now only
+ inside RenderSVGViewportContainer (instead of inside RenderSVGContainer)
+ we always know we have a viewport. We now use only viewportSize instead of
+ viewport() since RenderSVGViewportContainers can't have x/y offsets.
+
+ We now correctly transform the PaintInfo::rect (damage rect) when applying transforms.
+ This allowed us to apply the transform during text paint() instead of at chunk paint
+ time. Previously we had to apply the transform during chunk paint time because
+ RenderBlock (superclass of RenderSVGBlock) would check intersection with the damageRect
+ before telling any of the inlines to draw. Now that we adjust the damage rect correctly
+ we pass the intersection check correctly! (This probably fixed some <text> redraw bugs
+ but since I still have a bunch of those to fix, I've not tried to write additional tests
+ to cover these potential fixes yet.)
+
+ SVGRootInlineBox no longer needs to deal with transforms at chunk paint time, yay!
+
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::repaintRectInLocalCoordinates):
+ (WebCore::RenderPath::paint):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::paint):
+ (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGContainer.h:
+ (WebCore::RenderSVGContainer::applyViewportClip):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::layout):
+ (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
+ (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
+ (WebCore::RenderSVGImage::computeRectForRepaint):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGModelObject.cpp:
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::layout):
+ (WebCore::RenderSVGRoot::selfWillPaint):
+ (WebCore::RenderSVGRoot::paint):
+ (WebCore::RenderSVGRoot::viewportSize):
+ (WebCore::RenderSVGRoot::calcViewport):
+ (WebCore::RenderSVGRoot::localToBorderBoxTransform):
+ (WebCore::RenderSVGRoot::parentOriginToBorderBox):
+ (WebCore::RenderSVGRoot::borderOriginToContentBox):
+ (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
+ (WebCore::RenderSVGRoot::localToParentTransform):
+ (WebCore::RenderSVGRoot::computeRectForRepaint):
+ (WebCore::RenderSVGRoot::nodeAtPoint):
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
+ (WebCore::RenderSVGText::computeRectForRepaint):
+ (WebCore::RenderSVGText::paint):
+ (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGText.h:
+ (WebCore::RenderSVGText::localToParentTransform):
+ (WebCore::RenderSVGText::localTransform):
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::applyViewportClip):
+ * rendering/RenderSVGViewportContainer.h:
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::filterBoundingBoxForRenderer):
+ (WebCore::applyTransformToPaintInfo):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
+ (WebCore::SVGRootInlineBox::paint):
+
+2009-04-28 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25453: AX: fall back to PLACEHOLDER attr if form element is not labeled
+ https://bugs.webkit.org/show_bug.cgi?id=25453
+
+ Test: accessibility/placeholder.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::title):
+
+2009-04-28 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25452: AX: Don't create addition space AXStaticText element for every bold or link tag
+ https://bugs.webkit.org/show_bug.cgi?id=25452
+
+ Test: accessibility/ignore-spacer-elements.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+
+2009-04-28 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Work around <rdar://problem/6833240> by relying on static initialization to zero the entire struct.
+ This removes the need for us to explicitly initialize all of the members, which have a tendency
+ to change in meaning and number between versions of libxml2.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::):
+ (WebCore::sharedXHTMLEntity):
+ (WebCore::getXHTMLEntity):
+
+2009-04-28 Steve Falkenburg <sfalken@apple.com>
+
+ Fix linker warning by specifying /NODEFAULTLIB:LIBCMT for QTMovieWin.
+
+ Reviewed by Mark Rowe.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+
+2009-04-28 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25449: AX: Respect the alt tag of ARIA button as AXDescription
+ https://bugs.webkit.org/show_bug.cgi?id=25449
+
+ Test: accessibility/img-aria-button-alt-tag.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityDescription):
+
+2009-04-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - formatting cleanup
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calcHeight): Corrected indentation and added braces
+ around a multi-line "else" clause.
+
+2009-04-28 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adam Roben
+
+ <rdar://problem/6769968> media/video-size-intrinsic-scale.html fails on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=25094
+
+ Display movies saved with a non-identity matrix at the correct size.
+
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWinPrivate::QTMovieWinPrivate): Initialize m_widthScaleFactor and m_heightScaleFactor.
+ (QTMovieWinPrivate::cacheMovieScale): New, calculate difference between initial
+ size and natural size so naturalSize() accounts for non-identity movie matrix.
+ (QTMovieWinPrivate::task):Call cacheMovieScale when load state reaches
+ kMovieLoadStateLoaded for the first time. kMovieLoadState -> QTMovieLoadState.
+ (QTMovieWinPrivate::drawingComplete): kMovieLoadState -> QTMovieLoadState.
+ (QTMovieWinPrivate::createGWorld): Don't bother creating gworld until load state reaches
+ kMovieLoadStateLoaded because we do not try to draw it before that point.
+ (QTMovieWinPrivate::setSize): Do not change movie box before reaching kMovieLoadStateLoaded
+ because we need to get the movie's initial size in cacheMovieScale.
+ (QTMovieWin::getNaturalSize): Multiply width and height by initial scale.
+
+2009-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Move timer code from JSDOMWindow to DOMWindow. clearTimeout and
+ clearInterval can now be autogenerated.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::createScheduledAction):
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::setTimeout):
+ (WebCore::DOMWindow::clearTimeout):
+ (WebCore::DOMWindow::setInterval):
+ (WebCore::DOMWindow::clearInterval):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2009-04-28 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Small optimization, don't get the widget's handle twice in one method.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25446
+
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::setFocus):
+ (WebCore::Widget::show):
+ (WebCore::Widget::hide):
+ (WebCore::Widget::frameRect):
+ (WebCore::Widget::setFrameRect):
+ (WebCore::Widget::invalidateRect):
+ (WebCore::Widget::paint):
+
+2009-04-28 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ ScrollView copy and paste typo fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25445
+
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformSetScrollbarModes):
+
+2009-04-28 John Sullivan <sullivan@apple.com>
+
+ <rdar://problem/6820221> REGRESSION: 2-byte character names of images are displayed as %-encoded ASCII
+
+ Reviewed by Adam Roben
+
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageTokenizer::finish):
+ decode the filename before processing it as part of the image name that's passed to the client
+
+2009-04-28 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ - fix initialization order to match declaration order to fix release build
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+
+2009-04-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Justin Garcia.
+
+ https://bugs.webkit.org/show_bug.cgi?id=16135
+ [GTK] Support caret browsing
+
+ Based on a patch by Alp Toker.
+
+ Implement basic support for caret browsing, active only when the
+ corresponding setting is enabled.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ * page/FocusController.cpp:
+ (WebCore::FocusController::advanceFocus):
+ (WebCore::clearSelectionIfNeeded):
+ (WebCore::FocusController::setFocusedNode):
+ * page/Frame.cpp:
+ (WebCore::Frame::setFocusedNodeIfNeeded):
+ (WebCore::Frame::setSelectionFromNone):
+ (WebCore::Frame::respondToChangedSelection):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ * page/Settings.h:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintCaret):
+
+2009-04-27 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Fix a compile breakage.
+ <https://bugs.webkit.org/show_bug.cgi?id=25384>
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-04-27 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6822344> Use of QTMovieCurrentSizeAttribute generates exception and will crash
+
+ QTMovieCurrentSizeAttribute generates an exception with some versions of QTKit, so calculate a
+ multiplier to scale from natural size to current size when a movie is opened and use that to
+ return the correct value from the naturalSize() method.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_scaleFactor.
+ (WebCore::MediaPlayerPrivate::naturalSize): Return naturalSize transformed by initial scale.
+ (WebCore::MediaPlayerPrivate::cacheMovieScale): New, calculate difference between initial
+ size and natural size so naturalSize() accounts for non-identity movie matrix.
+ (WebCore::MediaPlayerPrivate::updateStates): Call cacheMovieScale when load state reaches
+ QTMovieLoadStateLoaded for the first time.
+
+2009-04-27 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for <rdar://problem/6709057> REGRESSION (4PB-TOT): http://www.winway.com/main3/support/faq.aspx selector doesn't look right or work
+
+ The problem here is that we had a self-painting layer nested inside
+ a non-self-painting layer. We ended up ignoring the self-painting
+ layer both during painting and hit-testing. This patch corrects
+ that.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::hitTestLayer):
+
+2009-04-27 Ada Chan <adachan@apple.com>
+
+ If it has been set to allow any HTTPS certificates for this host, set
+ kCFStreamSSLAllowsExpiredCertificates to true to allow expired
+ certificate, and set kCFStreamSSLValidatesCertificateChain false to skip
+ certificate chain validation. (<rdar://problem/6382059>)
+
+ Reviewed by John Sullivan.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::makeFinalRequest):
+
+2009-04-27 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson
+
+ <rdar://problem/6822225> Full page zooming of <video> element in the browser window doesn't work well
+
+ Fix a 'size changed' notification thrash that caused standalone video elements
+ to continually resize after full page zooming, by using the movie's natual size (which is independent
+ of zooming), rather than its current size (which is not).
+
+ Note that this regresses <https://bugs.webkit.org/show_bug.cgi?id=25029>, so we have to
+ disable the media/video-size-intrinsic-scale.html test. However, we have to stop using
+ QTMovieCurrentSizeAttribute anyway; this will be addressed, and the test re-enabled via
+ <rdar://problem/6822344>.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::naturalSize):
+
+2009-04-27 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ <rdar://problem/6642221> REGRESSION: With the Movie widget, movie trailer fails to
+ load if movie had been previously viewed
+
+ Fix the Dashboard quirk for display:none plug-ins by moving the code from HTMLObjectElement
+ to HTMLEmebedElement. It has to be in HTMLEmbedElement because the content we care about uses <embed>.
+
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::rendererIsNeeded):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::rendererIsNeeded):
+
+2009-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Move more window event related code into DOMWindow.
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+ (WebCore::Document::setWindowAttributeEventListener):
+ (WebCore::Document::dispatchWindowEvent):
+ (WebCore::Document::dispatchLoadEvent):
+ * dom/Document.h:
+ * dom/Element.cpp:
+ * dom/Element.h:
+ * dom/Node.cpp:
+ * dom/Node.h:
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
+ (WebCore::DOMWindow::postMessageTimerFired):
+ (WebCore::DOMWindow::dispatchEvent):
+ (WebCore::DOMWindow::dispatchEventWithDocumentAsTarget):
+ (WebCore::DOMWindow::dispatchLoadEvent):
+ (WebCore::DOMWindow::dispatchUnloadEvent):
+ (WebCore::DOMWindow::dispatchBeforeUnloadEvent):
+ * page/DOMWindow.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::shouldClose):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::parseMappedAttribute):
+
+2009-04-27 Douglas R. Davidson <ddavidso@apple.com>
+
+ Implement the editing mechanisms and add context menu items for
+ <rdar://problem/6724106> WebViews need to implement text checking
+
+ Reviewed by Justin Garcia.
+
+ * editing/Editor.cpp:
+ * editing/Editor.h:
+ * editing/TypingCommand.cpp:
+ * loader/EmptyClients.h:
+ * page/ContextMenuController.cpp:
+ * page/EditorClient.h:
+ * page/mac/WebCoreViewFactory.h:
+ * platform/ContextMenu.cpp:
+ * platform/ContextMenuItem.h:
+ * platform/LocalizedStrings.h:
+ * platform/mac/LocalizedStringsMac.mm:
+
+2009-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for <rdar://problem/6772944> REGRESSION (r42223): PLT 2% slower, i-Bench 3% slower
+
+ Be slightly less eager in collecting after page close/navigation by increasing
+ the time before collection from 0 seconds to .5 seconds.
+
+ 3% speedup on the PLT.
+
+ * bindings/js/GCController.cpp:
+ (WebCore::GCController::garbageCollectSoon):
+
+2009-04-27 David Kilzer <ddkilzer@apple.com>
+
+ Consolidate runtime application checks for Apple Mail and Safari
+
+ Reviewed by Mark Rowe and Darin Adler.
+
+ * WebCore.base.exp: Added exports.
+ * WebCore.xcodeproj/project.pbxproj: Added
+ RuntimeApplicationChecks.{h|mm} source files to the project.
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
+ Removed local checkedSafari and isSafari variables and switched
+ to use applicationIsSafari().
+ * platform/mac/RuntimeApplicationChecks.h: Added.
+ * platform/mac/RuntimeApplicationChecks.mm: Added.
+ (WebCore::applicationIsAppleMail): Runtime application check for
+ Apple Mail.
+ (WebCore::applicationIsSafari): Runtime application check for
+ Safari.
+
+2009-04-27 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25374: AX: No AXValue change sent when text is auto-inserted
+ https://bugs.webkit.org/show_bug.cgi?id=25374
+
+ First patch caused some regression tests to fail.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setInnerTextValue):
+
+2009-04-16 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Based on a patch by Alp Toker.
+
+ Cover more WebCore role -> ATK role conversions.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-18 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Do not call ATK setters in the getters, just return the
+ value. Among other things calling the setter will emit the notify
+ signal, which is wrong.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-16 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Based on a patch by Alp Toker.
+
+ Implement AtkImage interface.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-27 Gustavo Noronha Silva <gns@gnome.org>
+
+ Unreviewed debug build fix.
+
+ * platform/gtk/gtk2drawing.c:
+ (moz_gtk_toggle_paint):
+
+2009-04-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Build fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25382
+ Remove direct reference to CallFrame.h include to pacify Win build.
+
+ * bindings/js/JSDOMBinding.h: Removed ScriptState.h include.
+ * bindings/js/ScriptState.h: Replaced CallFrame.h with JSDOMBinding.h
+
+2009-04-27 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 25374: AX: No AXValue change sent when text is auto-inserted
+ https://bugs.webkit.org/show_bug.cgi?id=25374
+
+ When an input's text value is changed through the DOM, no AXValueChange notification is being sent.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setInnerTextValue):
+
+2009-04-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25382
+ Move scriptStateFromNode to ScriptState.
+
+ * bindings/js/JSDOMBinding.cpp: Moved scriptStateFromNode to ScriptState.
+ * bindings/js/JSDOMBinding.h: Ditto.
+ * bindings/js/ScriptState.cpp:
+ (WebCore::scriptStateFromNode): Added.
+ * bindings/js/ScriptState.h: Ditto.
+ * bindings/v8/ScriptState.cpp:
+ (WebCore::scriptStateFromNode): Added.
+ * bindings/v8/ScriptState.h: Ditto.
+ * dom/NodeFilter.h: Removed JSDOMBinding header include.
+ * dom/NodeIterator.h: Ditto.
+ * dom/TreeWalker.h: Ditto.
+
+2009-04-27 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore • -[AccessibilityObjectWrapper accessibilityAttributeValue:] + 830
+ https://bugs.webkit.org/show_bug.cgi?id=25428
+
+ When marking children as changed in accessibility, we cannot rely on the accessibility parent chain existing.
+ Instead, the render chain needs to be consulted.
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::childrenChanged):
+
+2009-04-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25399
+ <rdar://problem/6633943> REGRESSION: Many crashes reported accessing Lexis/Nexis database,
+ beneath WebCore::Cache::evict
+
+ The crash happened because a cached resource handle was removed from a document's cached
+ resources map twice recursively, so a destructor was called for a value in a deleted bucket.
+ The first call was from Cache::evict, and when destroying CachedResourceHandle destroyed
+ CachedResource, DocLoader::removeCachedResource() was called again, with HashMap being in
+ an inconsistent state.
+
+ I couldn't fully reconstruct the loading sequence to make a test.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::revalidateResource): Assert that the resource being revalidated is in cache
+ (it makes no sense to revalidate one that isn't).
+ (WebCore::Cache::evict): Don't remove the resource from document's map. Removing a resource
+ from the cache in no way implies that documents no longer use the old version. This fixes the
+ crash, and also fixes many cases of resource content being unavailable in Web Inspector.
+
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::setInCache): When bringing a revalidated resource back to cache,
+ reset m_isBeingRevalidated to maintain the invariant of resources being revalidated never
+ being in cache. This fixes another assertion I saw on LexisNexis search: in rare cases,
+ switchClientsToRevalidatedResource() results in the same resource being requested again,
+ but we were only enforcing CachedResource invariants after calling this function.
+ (WebCore::CachedResource::unregisterHandle): Assert that the counter doesn't underflow.
+
+ * loader/DocLoader.cpp: (WebCore::DocLoader::removeCachedResource): Assert that the passed
+ resource is removed, not some other resource that happens to have the same URL (this used to
+ fail on LexisNexis search before this patch).
+
+ * loader/ImageDocument.cpp: (WebCore::ImageTokenizer::write): Replaced ASSERT_NOT_REACHED
+ with notImplemented(). This method can be legally called via document.write(), and should
+ work. LexisNexis takes this code path, but apparently has a fallback for Safari, so it
+ doesn't affect site functionality.
+
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::clearResourceToRevalidate): Don't assert that m_resourceToRevalidate
+ is being revalidated - this may no longer be true, because we now reset this member in
+ CachedResource::setInCache().
+
+2009-04-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - make BidiContext a RefCounted class, starting with a refcount of 1,
+ and share the root BidiContexts.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawBidiText): Use BidiContext::create().
+ * platform/text/BidiContext.cpp:
+ (WebCore::BidiContext::create): Added. For the four "root" contexts,
+ returns a reference to a shared static BidiContext.
+ * platform/text/BidiContext.h:
+ (WebCore::BidiContext::BidiContext):
+ * platform/text/BidiResolver.h:
+ (WebCore::::commitExplicitEmbedding): Use BidiContext::create().
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::determineStartPosition): Ditto.
+
+2009-04-27 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Rubber-stamped by Gustavo Noronha.
+
+ Build fix for r42893: change GDK_exclaim to GDK_exclam
+
+ * platform/chromium/KeyCodeConversionGtk.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent):
+ * platform/gtk/KeyEventGtk.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent):
+
+2009-04-27 Fumitoshi Ukai <ukai@google.com>
+
+ Reviewed by Xan Lopez.
+
+ Fix wrong key code conversion.
+
+ Missing conversion for GDK_exlaim ('!').
+ Parens are opposite: GDK_parenleft is open paren '('
+ and GDK_parenright is close paren ')'.
+ https://bugs.webkit.org/show_bug.cgi?id=25367
+
+ * platform/chromium/KeyCodeConversionGtk.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent):
+ * platform/gtk/KeyEventGtk.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent):
+
+2009-04-27 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [Gtk] gtkdrawing update
+ https://bugs.webkit.org/show_bug.cgi?id=25408
+
+ Update to the 25 Apr 2009 version of gtk2drawing.c and
+ gtkdrawing.h from Mozilla (http://hg.mozilla.org/mozilla-central)
+
+ * platform/gtk/gtk2drawing.c:
+ (setup_widget_prototype):
+ (moz_gtk_get_combo_box_entry_arrow):
+ (ensure_toolbar_widget):
+ (ensure_tree_header_cell_widget):
+ (moz_gtk_init):
+ (moz_gtk_button_get_inner_border):
+ (moz_gtk_toggle_paint):
+ (moz_gtk_caret_paint):
+ (moz_gtk_entry_paint):
+ (moz_gtk_tree_header_cell_paint):
+ (moz_gtk_combo_box_paint):
+ (moz_gtk_toolbar_separator_paint):
+ (moz_gtk_menu_separator_paint):
+ (moz_gtk_get_widget_border):
+ (moz_gtk_get_tab_scroll_arrow_size):
+ (moz_gtk_get_toolbar_separator_width):
+ (moz_gtk_get_menu_separator_height):
+ (moz_gtk_widget_paint):
+ (moz_gtk_shutdown):
+ * platform/gtk/gtkdrawing.h:
+
+2009-04-27 Ariya Hidayat <ariya.hidayat@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ https://bugs.webkit.org/show_bug.cgi?id=18475
+
+ [Qt] Widget painting should follow the layout direction (LTR, RTL)
+ of the element style, not the application layout direction.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::applyTheme):
+
+2009-04-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=25412
+ The Window object should be an EventTarget
+
+ Test: fast/dom/Window/dispatchEvent.html
+
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS): Add DOMWindow case.
+ (WebCore::toEventTarget): Ditto.
+
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toDOMWindow): Added.
+ * dom/EventTarget.h:
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::scriptExecutionContext): Added. Returns the document.
+ (WebCore::DOMWindow::dispatchEvent): Added.
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::toDOMWindow):
+ (WebCore::DOMWindow::refEventTarget):
+ (WebCore::DOMWindow::derefEventTarget):
+ * page/DOMWindow.idl:
+
+2009-04-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove scons-based build system.
+
+ * WebCore.scons: Removed.
+
+2009-04-26 Darin Adler <darin@apple.com>
+
+ Suggested by Darin Fisher.
+
+ Improve the fix for bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
+ https://bugs.webkit.org/show_bug.cgi?id=25355
+ rdar://problem/6823543
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadItem): Allow shouldScroll to be true even if m_currentHistoryItem is 0.
+ Not sure if when this case can really arise in practice, but it's good to match the original
+ logic more closely.
+
+2009-04-25 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ A width or height of zero for the destination or source rect of an
+ image causes a not invertible pattern matrix.
+ This crahes newer versions of Cairo and give some graphic gliches in
+ Canvas.
+ With this patch we check if there is something to draw and return if not.
+
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::BitmapImage::draw):
+
+2009-04-25 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=25390
+
+ Fix point mapping and hit testing through transforms and perspective
+ with ENABLE_3D_RENDERING. Previously the code did the more efficient
+ move(), rather than getTransformFromContainer(), when the object had
+ no transform. However, this skipped the application of perspective
+ when the immediate child of the perspective element had no transform
+ itself.
+
+ Test: transforms/3d/point-mapping/3d-point-mapping-3.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::mapLocalToContainer):
+ (WebCore::RenderBox::mapAbsoluteToLocalPoint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::createLocalTransformState):
+ Call shouldUseTransformFromContainer() to determine if we need to
+ go through the more expensive getTransformFromContainer() code
+ path.
+
+ * rendering/RenderObject.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::shouldUseTransformFromContainer):
+ New method that indicates whether we need use getTransformFromContainer()
+ when mapping points through renderers, and hit testing.
+
+2009-04-25 Adele Peterson <adele@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
+ https://bugs.webkit.org/show_bug.cgi?id=25396
+
+ Test: editing/deleting/delete-br-013.html
+
+ * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs):
+ Only preserve an empty paragraph's style when moving paragraphs around if the selection is still
+ in an empty paragraph after the move occurs. This was causing the empty paragraph's style to overwrite
+ the previous paragraph's style during a delete of an empty paragraph.
+
+2009-04-25 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6808171> REGRESSION (3-4): Standalone media documents don't
+ properly display non-linear media
+
+ If a media engine claims it can support the MIME type, WebCore now creates a <video>
+ element for document mode media files instead of an <embed> element. Because WebCore's
+ QuickTime backed media players do not support every kind of media the QuickTime plug-in
+ supports, and because it is not always possible to tell what type of media is in a file
+ without opening and parsing it, some types of media that used to be displayed properly
+ by a plug-in are no longer supported properly. To fix this, if the media engine
+ sees that it can not completely support a media file it now informs the media
+ document, which replaces the <video> element with an <embed>.
+
+ r42301 landed support for OSX. This patch modifies those changes slighly and adds support
+ for Windows.
+
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::MediaDocument): Initialize m_replaceMediaElementTimer.
+ (WebCore::MediaDocument::mediaElementSawUnsupportedTracks): Don't replace the <video>
+ element immediately.
+ (WebCore::MediaDocument::replaceMediaElementTimerFired): Renamed from replaceVideoWithEmbed.
+ Set body margin-width and margin-height to 0 as that is what a PluginDocument uses.
+ * loader/MediaDocument.h:
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::loadStateChanged): Don't do anything if m_hasUnsupportedTracks.
+ (WebCore::MediaPlayerPrivate::rateChanged): Ditto.
+ (WebCore::MediaPlayerPrivate::timeChanged): Ditto.
+ (WebCore::MediaPlayerPrivate::didEnd): Ditto.
+ (WebCore::MediaPlayerPrivate::repaint): Ditto.
+ (WebCore::MediaPlayerPrivate::paint): Ditto.
+ (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): Set m_hasUnsupportedTracks before callback.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_totalTrackCount and m_hasUnsupportedTracks.
+ (WebCore::MediaPlayerPrivate::updateStates): Call sawUnsupportedTracks if the movie has unsupported
+ media type(s) or if it fails completely.
+ (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): New, disable the movie object and tell the
+ media player client we won't play this movie correctly.
+ (WebCore::MediaPlayerPrivate::didEnd): Don't do anything if m_hasUnsupportedTracks.
+ (WebCore::MediaPlayerPrivate::setSize): Ditto.
+ (WebCore::MediaPlayerPrivate::setVisible): Ditto.
+ (WebCore::MediaPlayerPrivate::paint): Ditto.
+ (WebCore::MediaPlayerPrivate::movieEnded): Ditto.
+ (WebCore::MediaPlayerPrivate::movieLoadStateChanged): Ditto.
+ (WebCore::MediaPlayerPrivate::movieTimeChanged): Ditto.
+ (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Ditto.
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
+
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWinPrivate::task): Stop the task timer if we were disabled during the load state
+ change callback.
+ (QTMovieWinPrivate::drawingComplete): Don't do anything if disabled.
+ (QTMovieWin::QTMovieWin): Initialize m_disabled.
+ (QTMovieWin::disableUnsupportedTracks): Return total number of tracks.
+ (QTMovieWin::setDisabled): New, set m_disabled flag.
+ * platform/graphics/win/QTMovieWin.h:
+
+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
+
+ Fix the SOUP resource handle to report SOUP_HTTP_ERROR for Soup
+ errors and G_IO_ERROR for gio errors.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::finishedCallback):
+ (WebCore::ResourceHandle::startHttp):
+ (WebCore::ResourceHandle::start):
+ (WebCore::readCallback):
+ (WebCore::openCallback):
+ (WebCore::queryInfoCallback):
+ (WebCore::ResourceHandle::startGio):
+
+2009-04-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Mark Rowe.
+
+ Only set the new URL once for the request. Doing it a second time
+ after the call to willSendRequest was causing crashes when
+ redirected requests got cancelled.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback):
+
+2009-04-24 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Adding ScriptEventListener.cpp.
+
+ * WebCoreSources.bkl:
+
+2009-04-24 Sergio García-Cuevas <sergio_gcg@telefonica.net>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=17267
+ [GTK] Primary selection/clipboard support
+
+ Copy the link location to the primary selection as well as the
+ clipboard selection when using the "copy link selection" context
+ menu entry.
+
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeURL):
+ * platform/gtk/PasteboardHelper.h:
+
+2009-04-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25383
+ Changing SVG size via JS does not update CSS width/height
+
+ Add an ugly hack to fix CSS width/height updates from JS.
+
+ We can't easily call setAttribute when width/height changes
+ as that would cause infinite recursion (as we'd try to set
+ the animation storage from the attributes)
+
+ For now, when we get notification that JS changed width/height
+ we copy what parseMappedAttribute does and update the CSS values as well.
+
+ A better fix for this would be:
+ https://bugs.webkit.org/show_bug.cgi?id=25383
+
+ * svg/SVGSVGElement.cpp:
+ (WebCore::updateCSSForAttribute):
+ (WebCore::SVGSVGElement::svgAttributeChanged):
+
+2009-04-24 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ We should not show the deletion UI for blockquotes in mail but they do
+ show now that we only check for one visible border.
+
+ * editing/DeleteButtonController.cpp:
+ (WebCore::isDeletableElement):
+
+2009-04-24 Dan Bernstein <mitz@apple.com>
+
+ - address Hyatt's review comments on the last patch
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::performOverlapTests):
+ (WebCore::RenderLayer::paintLayer):
+
+2009-04-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=5909
+ <rdar://problem/5863349> overlapping element leaves trail when
+ scrolling iframe
+
+ * WebCore.xcodeproj/project.pbxproj: Added OverlapTestRequestClient.h.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::reset): Initialize m_isOverlapped.
+ (WebCore::FrameView::useSlowRepaints): Also check m_isOverlapped.
+ (WebCore::FrameView::removeSlowRepaintObject): Use useSlowRepaints()
+ so overlapping is taken into account.
+ (WebCore::FrameView::setIsOverlapped): Added. Sets m_isOverlapped and
+ enables or disables copy-on-scroll accordingly.
+
+ * page/FrameView.h:
+ Added setIsOverlapped() and m_isOverlapped.
+
+ * rendering/OverlapTestRequestClient.h: Added. During foreground painting,
+ an OverlapTestRequestClient can make a request to test if any subsequently-
+ painted layers overlap a rect. The test result is delivered to the
+ requestClient via setOverlapTestResult().
+ (WebCore::OverlapTestRequestClient::~OverlapTestRequestClient):
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paint): Pass an OverlapTestRequestMap to
+ paintLayer(). When done painting, inform any remaining requestClients that
+ they are not overlapped.
+
+ (WebCore::RenderLayer::paintLayer): Take an OverlapTestRequestMap and
+ pass it down to child and reflection layers. Inform requestClients if this
+ layer overlaps their requested rects.
+
+ * rendering/RenderLayer.h:
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::PaintInfo::PaintInfo): Added an
+ OverlapTestRequestMap member.
+
+ * rendering/RenderReplica.cpp:
+ (WebCore::RenderReplica::paint): For now, pass a 0 OverlapTestRequestMap
+ to paintLayer().
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paint): For FrameViews, request an overlap test
+ with the frame.
+ (WebCore::RenderWidget::setOverlapTestResult): Call
+ FrameView::setIsOverlapped() with the result of the overlap test.
+
+ * rendering/RenderWidget.h: Made RenderWidget an OverlapTestRequestClient.
+
+2009-04-24 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser, Dan Bernstein.
+
+ Speed up the PLT by devirtualizing the height() function on InlineBox. virtualizing it in order to make the height() computation dynamic caused
+ a ~0.5% slowdown. This patch does the following to get the speed back:
+
+ (a) Devirtualizes isText and forces inline box creators to set the bit as needed. This actually resulted in simplified code, since ListMarkerBox could
+ then be removed.
+ (b) Reduces the height() call count. In some cases the code was repeatedly calling height(), which used to be fine when the function was just an inline
+ member variable access. The call sites have been patched to cut down on extra height() calls now that it is more expensive.
+ (c) Devirtualize height() except on SVG boxes. For all non-SVG, the height() function on InlineBox handles the computation. For SVG boxes, a new bit has
+ been set on InlineBoxes (isSVG()) that indicates that the virtual svgBoxHeight() function should be called to retrieve the height instead.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::height):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+ (WebCore::InlineBox::isSVG):
+ (WebCore::InlineBox::setIsSVG):
+ (WebCore::InlineBox::isText):
+ (WebCore::InlineBox::setIsText):
+ (WebCore::InlineBox::svgBoxHeight):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesVertically):
+ (WebCore::InlineFlowBox::paintBoxDecorations):
+ (WebCore::InlineFlowBox::paintMask):
+ * rendering/InlineFlowBox.h:
+ * rendering/InlineTextBox.cpp:
+ * rendering/InlineTextBox.h:
+ * rendering/ListMarkerBox.cpp: Removed.
+ * rendering/ListMarkerBox.h: Removed.
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::createInlineBox):
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::createFlowBox):
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::createTextBox):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::createRootBox):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::createInlineTextBox):
+ * rendering/RootInlineBox.cpp:
+ * rendering/RootInlineBox.h:
+ * rendering/SVGInlineFlowBox.h:
+ (WebCore::SVGInlineFlowBox::svgBoxHeight):
+ * rendering/SVGInlineTextBox.h:
+ (WebCore::SVGInlineTextBox::svgBoxHeight):
+ * rendering/SVGRootInlineBox.h:
+ (WebCore::SVGRootInlineBox::svgBoxHeight):
+
+2009-04-24 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25370
+ Introduce ScriptEventListener to refactor away direct references to
+ JSLazyEventListener in WebCore code.
+
+ * GNUmakefile.am: Added ScriptEventListener to project.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * bindings/js/JSDOMGlobalObject.cpp: Removed unused JSLazyEventListener include.
+ * bindings/js/JSLazyEventListener.cpp: Moved createAttributeEventListener helpers
+ to ScriptEventListener.
+ * bindings/js/JSLazyEventListener.h: Ditto.
+ * bindings/js/ScriptController.cpp: Removed unused JSLazyEventListener include.
+ * bindings/js/ScriptEventListener.cpp: Added.
+ * bindings/js/ScriptEventListener.h: Added.
+ * bindings/v8/ScriptEventListener.cpp: Added.
+ * bindings/v8/ScriptEventListener.h: Added.
+ * dom/Document.cpp: Renamed JSLazyEventListener include to ScriptEventListener.
+ * html/HTMLBodyElement.cpp: Ditto.
+ * html/HTMLButtonElement.cpp: Ditto.
+ * html/HTMLElement.cpp: Ditto.
+ * html/HTMLFormElement.cpp: Ditto.
+ * html/HTMLFrameElementBase.cpp: Ditto.
+ * html/HTMLFrameSetElement.cpp: Ditto.
+ * html/HTMLImageElement.cpp: Ditto.
+ * html/HTMLInputElement.cpp: Ditto.
+ * html/HTMLObjectElement.cpp: Ditto.
+ * html/HTMLScriptElement.cpp: Ditto.
+ * html/HTMLSelectElement.cpp: Ditto.
+ * html/HTMLTextAreaElement.cpp: Ditto.
+ * svg/SVGElement.cpp: Ditto.
+ * svg/SVGSVGElement.cpp: Ditto.
+
+2009-04-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bug 25355: Crash when Creating New Tab or New Window when set to open Same Page
+ https://bugs.webkit.org/show_bug.cgi?id=25355
+ rdar://problem/6823543
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadItem): Added a null check.
+
+2009-04-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Fix RenderSVGImage to dump with full bounds and style information.
+ https://bugs.webkit.org/show_bug.cgi?id=25377
+
+ No functional changes, we're just now including more info in render tree dumps.
+
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isSVGImage):
+ * rendering/RenderSVGImage.h:
+ (WebCore::RenderSVGImage::isSVGImage):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write):
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::operator<<):
+ (WebCore::write):
+ * rendering/SVGRenderTreeAsText.h:
+
+2009-04-24 David Levin <levin@chromium.org>
+
+ Reviewed by NOBODY (chromium build fix).
+
+ Rename "isInline" => "isAttribute" in v8 bindings (jsc was done in r42699).
+
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::V8AbstractEventListener):
+ (WebCore::V8AbstractEventListener::invokeEventHandler):
+ * bindings/v8/V8AbstractEventListener.h:
+ * bindings/v8/V8EventListenerList.cpp:
+ (WebCore::V8EventListenerList::add):
+ (WebCore::V8EventListenerList::remove):
+ (WebCore::V8EventListenerList::clear):
+ * bindings/v8/V8LazyEventListener.h:
+ (WebCore::V8LazyEventListener::virtualisAttribute):
+ * bindings/v8/custom/V8CustomEventListener.cpp:
+ (WebCore::V8EventListener::V8EventListener):
+ * bindings/v8/custom/V8CustomEventListener.h:
+ (WebCore::V8EventListener::create):
+ (WebCore::V8EventListener::virtualisAttribute):
+
+2009-04-24 Nate Chapin <japhet@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25343
+ Fix Chromium/Skia bug where -webkit-box-shadow with 0,0 offset
+ ignores blur.
+
+ * WebCore\platform\graphics\skia\GraphicsContextSkia.cpp
+ (WebCore::GraphicsContext::setPlatformShadow): Add check against
+ blur before clearing looper.
+
+2009-04-24 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Initialize TextIterator::m_textLength to 0.
+
+ This assures that TextIterator::length() will return 0 for cases when TextIterator's constructor returns early (because there is nothing to iterate over in the range).
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25335>
+
+ Test: editing/selection/doubleclick-whitespace-img-crash.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::TextIterator):
+
+2009-04-24 Fumitoshi Ukai <ukai@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25329
+ Add indexed access method in v8 binding of ClientRectList.
+
+ * bindings/v8/custom/V8ClientRectListCustom.cpp: Added.
+
+2009-04-24 Fumitoshi Ukai <ukai@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25257
+ Use null for unspecified event listener attributes of XMLHttpRequest
+ and XMLHttpRequestUpload in v8 binding.
+
+ cf. http://www.whatwg.org/specs/web-apps/current-work/#event-handler-attributes
+ An event handler attribute, unless otherwise specified, can either
+ have the value null or be set to a Function object.
+ Initially, an event handler attribute must be set to null.
+
+ Test: fast/xmlhttprequest/xmlhttprequest-default-attributes.html
+
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::ACCESSOR_GETTER): Changed to use v8::Null().
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+ (WebCore::ACCESSOR_GETTER): Ditto.
+
+2009-04-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ <rdar://problem/6663836> CrashTracer: crashes in Safari at com.apple.WebCore • WebCore::reportException + 1513
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::reportException): Added a null check.
+
+2009-04-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=23219
+
+ Add support for transtions and animations of background-position, -webkit-background-size,
+ -webkit-mask-position and -webkit-mask-size.
+
+ Tests: transitions/background-transitions.html
+ transitions/mask-transitions.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+ Add a blend func for LengthSize.
+
+ (WebCore::ensurePropertyMap):
+ Add wrappers for the new properties.
+
+ (WebCore::addShorthandProperties):
+ Add a shorthand property for CSSPropertyBackgroundPosition to map to
+ CSSPropertyBackgroundPositionX and CSSPropertyBackgroundPositionY,
+ add CSSPropertyWebkitMask for CSSPropertyWebkitMaskPosition, and add
+ CSSPropertyWebkitMaskPosition for CSSPropertyWebkitMaskPositionX and
+ CSSPropertyWebkitMaskPositionY.
+
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::setBackgroundXPosition):
+ (WebCore::InheritedFlags::setBackgroundYPosition):
+ (WebCore::InheritedFlags::setBackgroundSize):
+ (WebCore::InheritedFlags::setMaskXPosition):
+ (WebCore::InheritedFlags::setMaskYPosition):
+ (WebCore::InheritedFlags::setMaskSize):
+ Add setters for the properties that can be animated now.
+
+2009-04-24 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup
+
+ Test: editing/pasteboard/paste-blockquote-after-blockquote.html
+
+ When we have matching quote levels, its ok to merge the starts of the inserted and existing blocks more frequently.
+ But we should only merge here if the selection start was inside a mail blockquote. This prevents against removing a
+ blockquote from newly pasted quoted content that was pasted into an unquoted position. If that unquoted position happens
+ to be right after another blockquote, we don't want to merge and risk stripping a valid block (and newline) from the pasted content.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::shouldMergeStart): Also added an early return to always return false when we're already moving paragraphs.
+ (WebCore::ReplaceSelectionCommand::doApply): Removed redundant check for when we're moving paragraphs.
+ * editing/ReplaceSelectionCommand.h:
+
+2009-04-23 Francisco Tolmasky <francisco@280north.com>
+
+ BUG 24604: WebKit profiler reports incorrect total times
+ <https://bugs.webkit.org/show_bug.cgi?id=24604>
+
+ Reviewed by Timothy Hatcher and Kevin McCullough.
+
+ Made it so that most of the profiler functions now match the behavior of Shark. Most notably, in the
+ heavy view, child nodes now represent the statistics of the root node. Each root node of heavy view
+ displays flattened statistics for a particular function that ran during the profile, and each child
+ of these root nodes represents a callpath that lead to it. Thus, the statistics for each of these child
+ nodes should show how much of the root nodes values came from it. For example, if you had the following to
+ stacks take place during the profile:
+
+ A ->calls 1 times-> B ->calls 2 times-> C
+ D ->calls 4 times-> C
+
+ The tree for the C root node would look like this:
+
+ C -> B -> A
+ -> D
+
+ The number of calls values would look like this:
+
+ C (6) -> B (2) -> A(2)
+ -> D (4)
+
+ What this means is that "2 of the total 6 C calls came from B", "2 of the total C calls came from A", and
+ "4 of the total C calls came from D". Notice that the "A ->calls 2 time->" is completely ignored. This becomes
+ particularly tricky during recursive calls, because each child note can represent multiple possible paths. This
+ is the reason that we would get things like 40000% previously with recursion.
+
+ This is also the way gprof works, and as close as we can get to Shark's behavior (Shark is not instrumented so it
+ can't know exactly how many calls came from where, etc).
+
+ * English.lproj/localizedStrings.js: Added "Average" for average times in the profile.
+ * inspector/JavaScriptProfile.cpp:
+ (WebCore::ProfileClass):
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::getParent):
+ (WebCore::getHead):
+ (WebCore::getCallUID):
+ (WebCore::ProfileNodeClass):
+ * inspector/front-end/BottomUpProfileDataGridTree.js: Added.
+ (WebInspector.BottomUpProfileDataGridTree):
+ (WebInspector.BottomUpProfileDataGridTree.prototype.focus):
+ (WebInspector.BottomUpProfileDataGridNode):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._populate):
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid.prototype.insertChild):
+ (WebInspector.DataGrid.prototype.removeChild):
+ (WebInspector.DataGrid.prototype.removeChildren):
+ (WebInspector.DataGridNode.prototype.set hasChildren):
+ (WebInspector.DataGridNode.prototype.get hasChildren):
+ * inspector/front-end/ProfileDataGridTree.js: Added.
+ (WebInspector.ProfileDataGridNode):
+ (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
+ (WebInspector.ProfileDataGridNode.prototype.get data):
+ (WebInspector.ProfileDataGridNode.prototype.createCell):
+ (WebInspector.ProfileDataGridNode.prototype.select):
+ (WebInspector.ProfileDataGridNode.prototype.deselect):
+ (WebInspector.ProfileDataGridNode.prototype.expand):
+ (WebInspector.ProfileDataGridNode.prototype.insertChild):
+ (WebInspector.ProfileDataGridNode.prototype.removeChild):
+ (WebInspector.ProfileDataGridNode.prototype.removeChildren):
+ (WebInspector.ProfileDataGridNode.prototype.findChild):
+ (WebInspector.ProfileDataGridNode.prototype.get averageTime):
+ (WebInspector.ProfileDataGridNode.prototype.get averagePercent):
+ (WebInspector.ProfileDataGridNode.prototype.get selfPercent):
+ (WebInspector.ProfileDataGridNode.prototype.get totalPercent):
+ (WebInspector.ProfileDataGridNode.prototype._save):
+ (WebInspector.ProfileDataGridNode.prototype._restore):
+ (WebInspector.ProfileDataGridNode.prototype._merge):
+ (WebInspector.ProfileDataGridTree):
+ (WebInspector.ProfileDataGridTree.prototype.get expanded):
+ (WebInspector.ProfileDataGridTree.prototype.appendChild):
+ (WebInspector.ProfileDataGridTree.prototype.insertChild):
+ (WebInspector.ProfileDataGridTree.prototype.removeChildren):
+ (WebInspector.ProfileDataGridTree.prototype.findChild.WebInspector.ProfileDataGridNode.prototype.findChild.sort.WebInspector.ProfileDataGridNode.prototype.sort._save):
+ (WebInspector.ProfileDataGridTree.propertyComparator.comparator):
+ (WebInspector.ProfileDataGridTree.propertyComparator.else.comparator):
+ (WebInspector.ProfileDataGridTree.propertyComparator):
+ * inspector/front-end/ProfileView.js:
+ (WebInspector.ProfileView):
+ (WebInspector.ProfileView.prototype.set profile):
+ (WebInspector.ProfileView.prototype.get bottomUpProfileDataGridTree):
+ (WebInspector.ProfileView.prototype.get topDownProfileDataGridTree):
+ (WebInspector.ProfileView.prototype.get currentTree):
+ (WebInspector.ProfileView.prototype.set currentTree):
+ (WebInspector.ProfileView.prototype.get topDownTree):
+ (WebInspector.ProfileView.prototype.get bottomUpTree):
+ (WebInspector.ProfileView.prototype.refresh):
+ (WebInspector.ProfileView.prototype.refreshVisibleData):
+ (WebInspector.ProfileView.prototype.refreshShowAsPercents):
+ (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
+ (WebInspector.ProfileView.prototype.performSearch):
+ (WebInspector.ProfileView.prototype._changeView):
+ (WebInspector.ProfileView.prototype._focusClicked):
+ (WebInspector.ProfileView.prototype._excludeClicked):
+ (WebInspector.ProfileView.prototype._resetClicked):
+ (WebInspector.ProfileView.prototype._sortProfile):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.showProfile):
+ (WebInspector.ProfilesPanel.prototype.showView):
+ (WebInspector.ProfilesPanel.prototype.searchMatchFound):
+ * inspector/front-end/TopDownProfileDataGridTree.js: Added.
+ (WebInspector.TopDownProfileDataGridNode):
+ (WebInspector.TopDownProfileDataGridNode.prototype._populate):
+ (WebInspector.TopDownProfileDataGridNode.prototype._exclude):
+ (WebInspector.TopDownProfileDataGridTree):
+ (WebInspector.TopDownProfileDataGridTree.prototype.focus):
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+
+2009-04-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Use static functions (and a couple templates)
+ to further reduce the amount of copy/paste code in SVGRenderTreeAsText
+
+ No test changes, only code cleanup.
+
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeNameValuePair):
+ (WebCore::writeNameAndQuotedValue):
+ (WebCore::writeIfNotEmpty):
+ (WebCore::writeIfNotDefault):
+ (WebCore::writeStyle):
+ (WebCore::writePositionAndStyle):
+ (WebCore::operator<<):
+
+2009-04-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ SVGRenderTreeAsText cleanup/code sharing.
+
+ No test changes, only code cleanup.
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::firstRunOrigin):
+ * rendering/RenderText.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStandardPrefix):
+ (WebCore::writeChildren):
+ (WebCore::write):
+ (WebCore::writeRenderResources):
+
+2009-04-23 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebCore part of fix for <rdar://problem/6333461> REGRESSION
+ (r36864-r36869): Dragging stocks widget scrollbar drags the whole
+ widget
+
+ * platform/Scrollbar.h:
+ (WebCore::Scrollbar::isScrollbar):
+ * platform/Widget.h:
+ (WebCore::Widget::isScrollbar):
+
+2009-04-23 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Adam Roben.
+
+ <rdar://problem/6808109> "Deletion UI" is not available for many
+ portions of HTML content
+
+ This patch makes the deletion UI show up in some new situations:
+ 1) If a block's background color is different from its parent's
+ 2) If a block has a background image.
+ 3) If a block has a single visible border.
+ However the block must now not only be at least a minimum width and
+ height, but also exceed a minimum area. In practice this has led to
+ much better element selection.
+
+ * editing/DeleteButtonController.cpp:
+ (WebCore::isDeletableElement):
+
+2009-04-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Adding XMLTokenizerScope.cpp to the build.
+
+ * WebCoreSources.bkl:
+
+2009-04-23 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/6788905> REGRESSION (41928?): hang in Position::upstream
+ https://bugs.webkit.org/show_bug.cgi?id=25312
+
+ I was unable to reproduce the problem, but I'm pretty sure this will fix it.
+
+ * rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition):
+ Since VisiblePosition doesn't ensure the offset is good, we shouldn't pass max int as an offset.
+
+2009-04-23 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25313
+ Missing scroll bars in GMail.
+
+ Test: fast/overflow/overflow-y-scroll.html
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars): Added check for the ScrollbarAlwaysOn
+ scroll mode.
+
+2009-04-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Justin Garcia.
+
+ - fix <rdar://problem/6081309> Mail crash when pressing down arrow in
+ some messages in WebCore::canHaveChildrenForEditing
+
+ Test: editing/selection/extend-by-line-anonymous-content-crash.html
+
+ * editing/visible_units.cpp:
+ (WebCore::previousLinePosition): Null-check node. If p is not an
+ editable position, then closestLeafChildForXPos() may have returned a
+ non-editable box, and in particular one belonging to anonymous content.
+ If node is 0, fall back on RenderObject::positionForPoint, which
+ finds the closest position in non-anonymous content.
+ (WebCore::nextLinePosition): Ditto.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createVisiblePosition): Fixed a typo.
+
+2009-04-23 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/6791439> REGRESSION: Get an error page instead of login page navigating back in gmail
+
+ Test: http/tests/history/back-to-post.php
+
+ * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ Apply a new cache policy if it changed after the platform request was first created.
+ While at it, also made sure to update timeout.
+
+2009-04-23 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ When creating a new drawable object, collect system's
+ information about the best depth it can provide and use it
+ in a new colormap that the new drawable requires.
+
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (WebCore::BitmapImage::getGdkPixbuf):
+
+2009-04-23 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=15654
+ GdkPixbuf support for ImageCairo
+
+ Add support for converting a Cairo surface to a GdkPixbuf.
+
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/Image.h:
+ (WebCore::Image::getGdkPixbuf):
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (WebCore::BitmapImage::getGdkPixbuf):
+
+2009-04-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make windowed plugins (on X11, Qt) behave nicer with wheel scrolling.
+
+ Basically, what we want is to send wheel events to the plugin *only*
+ when it has focus, or else send it to the parent frame.
+
+ This is a work around, and basically what we do, is to steal the
+ wheel events from the plugin, modify the window ID, and put the
+ event back into the Qt event loop.
+
+ * plugins/qt/PluginContainerQt.cpp:
+ (PluginClientWrapper::PluginClientWrapper):
+ (PluginClientWrapper::~PluginClientWrapper):
+ (PluginClientWrapper::x11Event):
+ (PluginContainerQt::PluginContainerQt):
+ (PluginContainerQt::~PluginContainerQt):
+ (PluginContainerQt::on_clientClosed):
+ (PluginContainerQt::on_clientIsEmbedded):
+ (PluginContainerQt::redirectWheelEventsToParent):
+ (PluginContainerQt::x11Event):
+ (PluginContainerQt::focusInEvent):
+ * plugins/qt/PluginContainerQt.h:
+
+2009-04-22 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak
+
+ <rdar://problem/6786961> - "Are you sure you want to resubmit this form?" nag displays twice.
+
+ For most loads, we were consulting the navigation policy delegate twice. Once from FrameLoader before
+ the load started and once from MainResourceLoader in its willSendRequest callback.
+
+ In the past we tried removing MainResourceLoader's call altogether. This caused a regression where urls
+ that redirect to a url handled by an external application would no longer work in Safari. It probably
+ also broke other WebKit apps in subtle ways.
+
+ Changing MainResourceLoader to make the check only on redirects fixes both bugs. We now only call the
+ policy delegate once for most standard loads, but we do correctly call it a second time for redirects.
+
+ Tests: http/tests/misc/policy-delegate-called-twice.html
+ http/tests/misc/redirect-to-external-url.html
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::willSendRequest): Call the navigation policy delegate only for redirects.
+
+2009-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix for <rdar://problem/6800695>
+
+ Add a hack to only allow navigating (via a link from a http page)
+ to feed: urls (same for feeds: and feedsearch:) that map to http:
+ or https: via their nested protocol. This includes both feed://example.com
+ and feed:http://example.com.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::isFeedWithNestedProtocolInHTTPFamily):
+ (WebCore::FrameLoader::loadFrameRequest):
+
+2009-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Autogenerate the XMLHttpRequest constructor getter/setter for the
+ WorkerContext and remove the now no longer needed JSWorkerContextBase.lut.h
+ file.
+
+ * DerivedSources.make: Remove JSWorkerContextBase.lut.h
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+
+ * bindings/js/JSWorkerContextBase.cpp:
+ * bindings/js/JSWorkerContextBase.h: Remove code to support hand written
+ code for XMLHttpRequest constructor lookup and shadowing.
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::customGetOwnPropertySlot): Remove JSC prefixes.
+ (WebCore::JSWorkerContext::xmlHttpRequest): Added. Custom implementation of
+ cached constructor lookup.
+ * workers/WorkerContext.idl: Make the XMLHttpRequestConstructor accessor not
+ V8 specific.
+
+2009-04-22 Darin Adler <darin@apple.com>
+
+ * page/Navigator.idl: Touch this file to fix build since Geolocation
+ configuration was recently turned off.
+
+2009-04-22 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25322
+ Can't delete empty paragraph after a block image
+
+ Empty paragraph removal would have been handled by mergeParagraphs, but we stopped short
+ because of some code that avoided problems that would arise from Positions that would go
+ bad during deletion.
+
+ We have several checks that prevent us from using bad Positions, this one in particular
+ was added to avoid bad Positions that result from text removal. So, I removed the check
+ and started correctly updating m_downstreamEnd during text removal so that it doesn't go
+ bad. m_upstreamStart doesn't need to be updated during text removal, since only text
+ after it will ever be removed.
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::deleteTextFromNode):
+ (WebCore::DeleteSelectionCommand::handleGeneralDelete):
+ (WebCore::DeleteSelectionCommand::mergeParagraphs):
+
+2009-04-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
+
+ Make mouseUp target the correct frame when the original
+ mousedown made the drag non-capturing.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passSubframeEventToSubframe):
+
+2009-04-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
+
+ This is the first step of allowing drag events to match the behaviour
+ of mouse move events when the default action of the initial mouse down
+ is prevented. Remaining issue is that the final mouse up event still
+ targets the original root frame.
+
+ Test: fast/events/mouse-drag-from-frame-to-other-frame.html
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passSubframeEventToSubframe):
+
+2009-04-22 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson
+
+ <rdar://problem/6702882> QT movie's video fails to be displayed after switching between tabs
+ <rdar://problem/6754957> Resizing Web browser window and hitting play will cause video blocks and artifacting
+
+ When in a media document, MediaPlayerPrivateQTKit uses a QTMovieView which may get
+ layer backing under some circumstances. However, drawing the view via
+ displayRectIgnoringOpacity:inContext: bypasses any layer setup that AppKit normally performs.
+ So when in the media document, we draw via displayRectIgnoringOpacity:.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::paint):
+
+2009-04-22 Timothy Hatcher <timothy@apple.com>
+
+ Fix a crash in Mail when forwarding a specific HTML email.
+ Caused by the fix for <rdar://problem/6512520> (r42096).
+ Unable to create a test case that works outside of Mail.
+
+ <rdar://problem/6796069>
+
+ Reviewed by Ada Chan.
+
+ * editing/markup.cpp:
+ (WebCore::createMarkup): Null check pastEnd before trying to
+ call Range::compareBoundaryPoints.
+
+2009-04-22 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Fix for <rdar://problem/6816957>
+ Turn off Geolocation by default
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-04-22 Eric Seidel <eric@webkit.org>
+
+ Rubber-stamped by David Hyatt.
+
+ Change RenderSVGImage to dump as RenderSVGImage instead of RenderImage
+
+ * rendering/RenderSVGImage.h:
+ (WebCore::RenderSVGImage::renderName):
+
+2009-04-21 Timothy Hatcher <timothy@apple.com>
+
+ Fix a crash on Gmail when they remove a "before unload" event listener when
+ it was never added to the pending map in the first place.
+
+ <rdar://problem/6814144>
+
+ Reviewed by Darin Adler.
+
+ * page/DOMWindow.cpp:
+ (WebCore::allowsPendingBeforeUnloadListeners): Renamed from shouldAddPendingBeforeUnloadListener.
+ (WebCore::DOMWindow::addEventListener): Call allowsPendingBeforeUnloadListeners now.
+ (WebCore::DOMWindow::removeEventListener): Call allowsPendingBeforeUnloadListeners before
+ removing the before unload listener.
+ (WebCore::DOMWindow::clearAttributeEventListener): Ditto.
+
+2009-04-22 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Made windowed plugins move/resize synchronized with the painting, so
+ that windowed plugins are not moved before the rest of the parent
+ frame during scrolling.
+
+ * plugins/qt/PluginContainerQt.cpp:
+ (PluginContainerQt::PluginContainerQt):
+ (PluginContainerQt::requestGeometry):
+ (PluginContainerQt::adjustGeometry):
+ * plugins/qt/PluginContainerQt.h:
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paint):
+
+2009-04-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix various bugs in the X11 Qt plugin focus handling.
+
+ Notify the focus controller on activation/deactivation of the plugin and
+ set focus on the plugin's element when it receives the window system
+ focus.
+
+ * WebCore.pro: Added PluginContainerQt to the Qt build.
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::focusPluginElement): New helper function, moved from PluginViewWin.
+ * plugins/PluginView.h:
+ (WebCore::PluginView::parentFrame): Added parent frame accessor.
+ * plugins/qt/PluginContainerQt.cpp: Added.
+ (PluginContainerQt::PluginContainerQt):
+ (PluginContainerQt::focusInEvent): Set the focus controller active on focus in events.
+ (PluginContainerQt::focusOutEvent): Deactivate the focus controller when loosing the focus.
+ * plugins/qt/PluginContainerQt.h: Added.
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::init): Allocate a PluginContainerQt instead of QX11EmbedContainer.
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::handleMouseEvent): Moved the code to set focus on the plugin element
+ to PluginView::focusPluginElement.
+
+2009-04-22 Tamas Szirbucz <szirbucz.tamas@stud.u-szeged.hu>
+
+ Reviewed by Ariya Hidayat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25023
+ Delete reply in QNetworkReplyHandler::abort() to avoid leak.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::abort):
+
+2009-04-21 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Allow the UI delegate to control cursor-setting.
+
+ Reviewed by Ada Chan.
+
+ * page/Chrome.cpp:
+ (WebCore::Chrome::setCursor):
+ Pass the call to the client.
+
+ * page/Chrome.h:
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::setCursor):
+ Stubbed; returns false.
+
+ * platform/Cursor.h:
+ Define PlatformCursorHandle for each platform.
+
+ * platform/win/WidgetWin.cpp:
+ Reordered some includes. Added an include of Page.h.
+ (WebCore::Widget::setCursor):
+ Fixed a typo in the comment about ignoreNextSetCursor. Get the Page, and
+ call its Chrome's setCursor() method with the passed cursor. Fall back
+ to SetCursor() if the Page is not available.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::handleMouseEvent):
+ Remove an unused variable. Cleaned up some whitespace.
+
+2009-04-21 John Abd-El-Malek <jam@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add a method to purge the Chromium plugin list cache.
+ https://bugs.webkit.org/show_bug.cgi?id=25318
+
+ * plugins/chromium/PluginDataChromium.cpp:
+ (WebCore::resetChromiumPluginCache):
+
+2009-04-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=25164> / <rdar://problem/6786319>.
+
+ We need to ensure that XMLTokenizer sets the current DocLoader before calling in to
+ any libxml2 methods that may trigger a load. The presence of a DocLoader indicates
+ that the load was originated by WebCore's use of libxml2 and that we should enforce
+ the same-origin policy on it. XMLTokenizer::initializeParserContext,
+ XMLTokenizer::doWrite and XMLTokenizer::doEnd were three methods that were not setting
+ the current DocLoader when they should have.
+
+ The XMLTokenizerScope class is introduced to simplify the pattern of saving, setting and
+ restoring the current DocLoader and libxml2 error handlers. The DocLoader and error handlers
+ are saved and set when the scope is allocated, and restored to their previous values when
+ the scope is exited.
+
+ Test: http/tests/security/xss-DENIED-xml-external-entity.xhtml
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizer.h:
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::matchFunc):
+ (WebCore::shouldAllowExternalLoad):
+ (WebCore::openFunc):
+ (WebCore::XMLTokenizer::doWrite):
+ (WebCore::XMLTokenizer::initializeParserContext):
+ (WebCore::XMLTokenizer::doEnd):
+ (WebCore::xmlDocPtrForString):
+ * dom/XMLTokenizerScope.cpp:
+ (WebCore::XMLTokenizerScope::XMLTokenizerScope):
+ (WebCore::XMLTokenizerScope::~XMLTokenizerScope):
+ * dom/XMLTokenizerScope.h:
+ * xml/XSLStyleSheet.cpp:
+ (WebCore::XSLStyleSheet::parseString):
+ * xml/XSLTProcessor.cpp:
+
+2009-04-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/5874009>
+ Add port 3659 (apple-sasl / PasswordServer) to the list of blocked ports.
+
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::portAllowed):
+
+2009-04-21 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25320
+ Crash when changing block styles in a root that contains no visible content (but contains nodes with renderers)
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): If the enclosing block is the
+ root editable element and it contains no visible content, create a new block but don't try and move
+ content into it, since there's nothing for moveParagraphs to move.
+
+
+2009-04-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 25162: REGRESSION (r41176-r41242): Drag-selection above/below the line does not select to beginning/end
+ https://bugs.webkit.org/show_bug.cgi?id=25162
+ rdar://problem/6764354
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Initialize editing behavior to Mac-style for PLATFORM(MAC).
+ Later we may want to change this default to encompass other versions running on Mac.
+
+ * page/Settings.h: Added EditingBehavior, setEditingBehavior, editingBehavior, and
+ m_editingBehavior. Also moved m_maximumDecodedImageSize out of the middle of all
+ the bit fields.
+
+ * platform/graphics/IntPoint.h: Added a constructor to turn an IntSize into an IntPoint.
+ I'm not sure the distinction here is serving us well at the moment. When converting from
+ global to local coordinates you want to do IntPoint - IntPoint and have the result be
+ another IntPoint, not an IntSize. And so on.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::positionForPointRespectingEditingBoundaries): Changed to use pointers more and
+ separate coordinates less.
+ (WebCore::RenderBlock::positionForPointWithInlineChildren): Turned into a member function.
+ Added separate cases to support the Mac and Windows behavior.
+ (WebCore::RenderBlock::positionForPoint): Updated for the change above. Also moved the
+ computation of pointInContents closer to the place it's used.
+
+ * rendering/RenderBlock.h: Updated for the new private member function.
+
+2009-04-17 Timothy Hatcher <timothy@apple.com>
+
+ Change pending unload and beforeunload counts to store the listeners
+ in a single data structure that can be quickly iterated for dispatch.
+
+ <rdar://problem/6383352&6383379&6383940>
+
+ Reviewed by Darin Adler.
+
+ * WebCore.base.exp: Change what symbols are exported.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading): Remove count updating code
+ and move an if inside a block already checking m_frame->document().
+ * page/Chrome.cpp: Remove disableSuddenTermination/enableSuddenTermination.
+ * page/Chrome.h: Ditto.
+ * page/ChromeClient.h: Ditto.
+ * page/DOMWindow.cpp:
+ (WebCore::pendingUnloadEventListenerMap): Create a static map.
+ (WebCore::pendingBeforeUnloadEventListenerMap): Ditto.
+ (WebCore::addPendingEventListener): Add the event listener to the map.
+ (WebCore::removePendingEventListener): Remove the event listener from the map.
+ (WebCore::removePendingEventListeners): Remove all listeners for the window.
+ (WebCore::dispatchWindowEventToListeners): Dispatch the event to the given listeners.
+ (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Send the beforeunload event.
+ (WebCore::DOMWindow::pendingUnloadEventListeners): Return a count of pending listeners.
+ (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Send the unload event.
+ (WebCore::DOMWindow::~DOMWindow): Remove the window from both event listener maps.
+ (WebCore::DOMWindow::addEventListener): Call addPendingEventListener when needed.
+ (WebCore::DOMWindow::removeEventListener): Call removePendingEventListener when needed.
+ (WebCore::DOMWindow::removeAllEventListeners): Call removePendingEventListeners.
+ (WebCore::DOMWindow::removeInlineEventListenerForType): Call removePendingEventListener when needed.
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::frame): Changed to be const.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler): Remove count tracking code.
+ * page/EventHandler.h: Ditto.
+ * page/Page.cpp:
+ (WebCore::Page::Page): Ditto.
+ * page/Page.h: Ditto.
+
+2009-04-21 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19644
+ Text copied with Select All pastes with a indent but shouldn't
+ <rdar://problem/6102483>
+ Pasting the content of an HTML message in Mail causes addition nested <div> elements to be added
+
+ To improve selectall/copy/paste fidelity of certain pages, we began wrapping copied content with
+ a div that held properties and attributes from the fully selected body. To fix the above issues,
+ only do this if if the body has certain properties or attributes. We'll begin adding to this list as
+ necessary. For now it's just background colors and images. Tested copy/paste of nytimes, wired,
+ arstechnica, and several others.
+
+ Massive nesting can still happen, it will just be much less common.
+
+ * editing/markup.cpp:
+ (WebCore::createMarkup):
+
+2009-04-21 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25250
+ Allow platforms to snap the scroll thumb back to the drag origin
+ during a drag. Implement functions for Safari/Win and Chromium/Win
+ to do this snapping at distances approximating the native ones.
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ (WebCore::Scrollbar::setValue):
+ (WebCore::Scrollbar::scroll):
+ (WebCore::Scrollbar::moveThumb):
+ (WebCore::Scrollbar::setCurrentPos):
+ (WebCore::Scrollbar::mouseMoved):
+ (WebCore::Scrollbar::mouseDown):
+ * platform/Scrollbar.h:
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
+ * platform/chromium/ScrollbarThemeChromium.h:
+ * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+ (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin):
+ * platform/chromium/ScrollbarThemeChromiumWin.cpp:
+ (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin):
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
+ (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
+ * platform/win/ScrollbarThemeWin.h:
+
+2009-04-21 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::eventParameterName): Remove unreachable code when SVG is
+ enabled.
+
+2009-04-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ !ENABLE(SVG) build fix.
+
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::eventParameterName):
+
+2009-04-21 Dave Moore <davemoore@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25309
+ Better use AtomicStrings when calling from the V8
+ bindings into WebCore code.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+
+2009-04-21 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25304: AX: Safari not identifying a secure text field
+ https://bugs.webkit.org/show_bug.cgi?id=25304
+
+ Secure text fields need to be able to return AXTitleUIElements.
+
+ Test: accessibility/secure-textfield-title-ui.html
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+
+2009-04-21 Dan Bernstein <mitz@apple.com>
+
+ - fix the Tiger build
+
+ * page/mac/EventHandlerMac.mm:
+ (method_setImplementation):
+
+2009-04-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25271
+
+ Fix the build with disabled DOM storage or disabled database support.
+
+ * bindings/js/ScriptObjectQuarantine.cpp:
+ * bindings/js/ScriptObjectQuarantine.h:
+
+2009-04-21 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed build fix.
+
+ Compile fix for r42633. const qualifier does not work
+ on a static method.
+
+ * dom/Document.h:
+ (WebCore::Document::isSVGDocument):
+
+2009-04-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler and John Sullivan.
+
+ - fix <rdar://problem/5914146> Crash at -[NSScrollView scrollWheel:]
+
+ -[NSScrollView scrollWheel:] runs a nested event-tracking run loop
+ in a mode that allows WebCore timers to fire and NSURLConnection
+ callbacks to be dispatched, which can release the NSScrollView and
+ cause it to be deallocated (one example is a DOM timer callback that
+ removes a subframe from the document). This leads to a crash in
+ -scrollView:.
+
+ The fix is to replace the implementation of -[NSScrollView scrollWheel:]
+ with one that optionally retains the receiver for the duration of the
+ call.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::nsScrollViewScrollWheelShouldRetainSelf): Added.
+ (WebCore::setNSScrollViewScrollWheelShouldRetainSelf): Added. Replaces
+ the implementation of -[NSScrollView scrollWheel:] with the
+ self-retaining one, and sets a static boolean that tells it whether to
+ retain the receiver around the call to the original implementation.
+ (WebCore::selfRetainingNSScrollViewScrollWheel): Added. If
+ setNSScrollViewScrollWheelShouldRetainSelf(true) was called and this
+ function is executing on the main thread, it retains the NSScrollView,
+ invokes the original -[NSScrollView scrollWheel:], then releases the
+ view. Otherwise it just calls through to the original implementation.
+ (WebCore::EventHandler::passWheelEventToWidget): Added calls to
+ setNSScrollViewScrollWheelShouldRetainSelf() around the call to
+ -scrollWheel:.
+
+2009-04-21 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Tiger crash fix: Put VM tags in their own header file, and fixed up the
+ #ifdefs so they're not used on Tiger.
+
+ * ForwardingHeaders/wtf/VMTags.h: Copied from WebCore/ForwardingHeaders/wtf/HashTraits.h.
+
+2009-04-21 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Based on a patch by Alp Toker.
+
+ Implement AtkComponent interface.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (core):
+
+2009-04-21 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Only implement AtkAction interface if we actually have an action.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-20 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25290
+ REGRESSION(r41732): Crash when constructing XMLHttpRequest in a detached document
+
+ Test: fast/dom/xmlhttprequest-constructor-in-detached-document.html
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSAudioConstructor.h:
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageConstructor.h:
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ * bindings/js/JSMessageChannelConstructor.h:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSOptionConstructor.h:
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ Avoid accessing JSDOMGlobalObject via ScriptExecutionContext, since it may not
+ work during frame teardown.
+
+2009-04-20 Geoffrey Garen <ggaren@apple.com>
+
+ Rubber stamped by Darin Adler and Sam Weinig.
+
+ Renamed "*InlineEventListener*" => "*AttributeEventListener*", and
+ "isInline" => "isAttribute".
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::~JSEventListener):
+ (WebCore::JSEventListener::handleEvent):
+ (WebCore::JSEventListener::virtualisAttribute):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::create):
+ (WebCore::JSEventListener::isAttribute):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/js/JSLazyEventListener.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/Element.cpp:
+ (WebCore::Element::setWindowAttributeEventListener):
+ * dom/Element.h:
+ * dom/EventListener.h:
+ (WebCore::EventListener::isAttribute):
+ (WebCore::EventListener::virtualisAttribute):
+ * dom/Node.cpp:
+ (WebCore::Node::clearAttributeEventListener):
+ (WebCore::Node::setAttributeEventListener):
+ (WebCore::Node::getAttributeEventListener):
+ (WebCore::Node::onabort):
+ (WebCore::Node::setOnabort):
+ (WebCore::Node::onblur):
+ (WebCore::Node::setOnblur):
+ (WebCore::Node::onchange):
+ (WebCore::Node::setOnchange):
+ (WebCore::Node::onclick):
+ (WebCore::Node::setOnclick):
+ (WebCore::Node::oncontextmenu):
+ (WebCore::Node::setOncontextmenu):
+ (WebCore::Node::ondblclick):
+ (WebCore::Node::setOndblclick):
+ (WebCore::Node::onerror):
+ (WebCore::Node::setOnerror):
+ (WebCore::Node::onfocus):
+ (WebCore::Node::setOnfocus):
+ (WebCore::Node::oninput):
+ (WebCore::Node::setOninput):
+ (WebCore::Node::onkeydown):
+ (WebCore::Node::setOnkeydown):
+ (WebCore::Node::onkeypress):
+ (WebCore::Node::setOnkeypress):
+ (WebCore::Node::onkeyup):
+ (WebCore::Node::setOnkeyup):
+ (WebCore::Node::onload):
+ (WebCore::Node::setOnload):
+ (WebCore::Node::onmousedown):
+ (WebCore::Node::setOnmousedown):
+ (WebCore::Node::onmousemove):
+ (WebCore::Node::setOnmousemove):
+ (WebCore::Node::onmouseout):
+ (WebCore::Node::setOnmouseout):
+ (WebCore::Node::onmouseover):
+ (WebCore::Node::setOnmouseover):
+ (WebCore::Node::onmouseup):
+ (WebCore::Node::setOnmouseup):
+ (WebCore::Node::onmousewheel):
+ (WebCore::Node::setOnmousewheel):
+ (WebCore::Node::onbeforecut):
+ (WebCore::Node::setOnbeforecut):
+ (WebCore::Node::oncut):
+ (WebCore::Node::setOncut):
+ (WebCore::Node::onbeforecopy):
+ (WebCore::Node::setOnbeforecopy):
+ (WebCore::Node::oncopy):
+ (WebCore::Node::setOncopy):
+ (WebCore::Node::onbeforepaste):
+ (WebCore::Node::setOnbeforepaste):
+ (WebCore::Node::onpaste):
+ (WebCore::Node::setOnpaste):
+ (WebCore::Node::ondragenter):
+ (WebCore::Node::setOndragenter):
+ (WebCore::Node::ondragover):
+ (WebCore::Node::setOndragover):
+ (WebCore::Node::ondragleave):
+ (WebCore::Node::setOndragleave):
+ (WebCore::Node::ondrop):
+ (WebCore::Node::setOndrop):
+ (WebCore::Node::ondragstart):
+ (WebCore::Node::setOndragstart):
+ (WebCore::Node::ondrag):
+ (WebCore::Node::setOndrag):
+ (WebCore::Node::ondragend):
+ (WebCore::Node::setOndragend):
+ (WebCore::Node::onreset):
+ (WebCore::Node::setOnreset):
+ (WebCore::Node::onresize):
+ (WebCore::Node::setOnresize):
+ (WebCore::Node::onscroll):
+ (WebCore::Node::setOnscroll):
+ (WebCore::Node::onsearch):
+ (WebCore::Node::setOnsearch):
+ (WebCore::Node::onselect):
+ (WebCore::Node::setOnselect):
+ (WebCore::Node::onselectstart):
+ (WebCore::Node::setOnselectstart):
+ (WebCore::Node::onsubmit):
+ (WebCore::Node::setOnsubmit):
+ (WebCore::Node::onunload):
+ (WebCore::Node::setOnunload):
+ * dom/Node.h:
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::ReplacementFragment):
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::parseMappedAttribute):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseMappedAttribute):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::parseMappedAttribute):
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseMappedAttribute):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseMappedAttribute):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseMappedAttribute):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::parseMappedAttribute):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseMappedAttribute):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::mouseButtonListener):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::setAttributeEventListener):
+ (WebCore::DOMWindow::clearAttributeEventListener):
+ (WebCore::DOMWindow::getAttributeEventListener):
+ (WebCore::DOMWindow::onabort):
+ (WebCore::DOMWindow::setOnabort):
+ (WebCore::DOMWindow::onblur):
+ (WebCore::DOMWindow::setOnblur):
+ (WebCore::DOMWindow::onchange):
+ (WebCore::DOMWindow::setOnchange):
+ (WebCore::DOMWindow::onclick):
+ (WebCore::DOMWindow::setOnclick):
+ (WebCore::DOMWindow::ondblclick):
+ (WebCore::DOMWindow::setOndblclick):
+ (WebCore::DOMWindow::onerror):
+ (WebCore::DOMWindow::setOnerror):
+ (WebCore::DOMWindow::onfocus):
+ (WebCore::DOMWindow::setOnfocus):
+ (WebCore::DOMWindow::onkeydown):
+ (WebCore::DOMWindow::setOnkeydown):
+ (WebCore::DOMWindow::onkeypress):
+ (WebCore::DOMWindow::setOnkeypress):
+ (WebCore::DOMWindow::onkeyup):
+ (WebCore::DOMWindow::setOnkeyup):
+ (WebCore::DOMWindow::onload):
+ (WebCore::DOMWindow::setOnload):
+ (WebCore::DOMWindow::onmousedown):
+ (WebCore::DOMWindow::setOnmousedown):
+ (WebCore::DOMWindow::onmousemove):
+ (WebCore::DOMWindow::setOnmousemove):
+ (WebCore::DOMWindow::onmouseout):
+ (WebCore::DOMWindow::setOnmouseout):
+ (WebCore::DOMWindow::onmouseover):
+ (WebCore::DOMWindow::setOnmouseover):
+ (WebCore::DOMWindow::onmouseup):
+ (WebCore::DOMWindow::setOnmouseup):
+ (WebCore::DOMWindow::onmousewheel):
+ (WebCore::DOMWindow::setOnmousewheel):
+ (WebCore::DOMWindow::onreset):
+ (WebCore::DOMWindow::setOnreset):
+ (WebCore::DOMWindow::onresize):
+ (WebCore::DOMWindow::setOnresize):
+ (WebCore::DOMWindow::onscroll):
+ (WebCore::DOMWindow::setOnscroll):
+ (WebCore::DOMWindow::onsearch):
+ (WebCore::DOMWindow::setOnsearch):
+ (WebCore::DOMWindow::onselect):
+ (WebCore::DOMWindow::setOnselect):
+ (WebCore::DOMWindow::onsubmit):
+ (WebCore::DOMWindow::setOnsubmit):
+ (WebCore::DOMWindow::onunload):
+ (WebCore::DOMWindow::setOnunload):
+ (WebCore::DOMWindow::onbeforeunload):
+ (WebCore::DOMWindow::setOnbeforeunload):
+ (WebCore::DOMWindow::onwebkitanimationstart):
+ (WebCore::DOMWindow::setOnwebkitanimationstart):
+ (WebCore::DOMWindow::onwebkitanimationiteration):
+ (WebCore::DOMWindow::setOnwebkitanimationiteration):
+ (WebCore::DOMWindow::onwebkitanimationend):
+ (WebCore::DOMWindow::setOnwebkitanimationend):
+ (WebCore::DOMWindow::onwebkittransitionend):
+ (WebCore::DOMWindow::setOnwebkittransitionend):
+ * page/DOMWindow.h:
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::parseMappedAttribute):
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::onabort):
+ (WebCore::SVGElementInstance::setOnabort):
+ (WebCore::SVGElementInstance::onblur):
+ (WebCore::SVGElementInstance::setOnblur):
+ (WebCore::SVGElementInstance::onchange):
+ (WebCore::SVGElementInstance::setOnchange):
+ (WebCore::SVGElementInstance::onclick):
+ (WebCore::SVGElementInstance::setOnclick):
+ (WebCore::SVGElementInstance::oncontextmenu):
+ (WebCore::SVGElementInstance::setOncontextmenu):
+ (WebCore::SVGElementInstance::ondblclick):
+ (WebCore::SVGElementInstance::setOndblclick):
+ (WebCore::SVGElementInstance::onerror):
+ (WebCore::SVGElementInstance::setOnerror):
+ (WebCore::SVGElementInstance::onfocus):
+ (WebCore::SVGElementInstance::setOnfocus):
+ (WebCore::SVGElementInstance::oninput):
+ (WebCore::SVGElementInstance::setOninput):
+ (WebCore::SVGElementInstance::onkeydown):
+ (WebCore::SVGElementInstance::setOnkeydown):
+ (WebCore::SVGElementInstance::onkeypress):
+ (WebCore::SVGElementInstance::setOnkeypress):
+ (WebCore::SVGElementInstance::onkeyup):
+ (WebCore::SVGElementInstance::setOnkeyup):
+ (WebCore::SVGElementInstance::onload):
+ (WebCore::SVGElementInstance::setOnload):
+ (WebCore::SVGElementInstance::onmousedown):
+ (WebCore::SVGElementInstance::setOnmousedown):
+ (WebCore::SVGElementInstance::onmousemove):
+ (WebCore::SVGElementInstance::setOnmousemove):
+ (WebCore::SVGElementInstance::onmouseout):
+ (WebCore::SVGElementInstance::setOnmouseout):
+ (WebCore::SVGElementInstance::onmouseover):
+ (WebCore::SVGElementInstance::setOnmouseover):
+ (WebCore::SVGElementInstance::onmouseup):
+ (WebCore::SVGElementInstance::setOnmouseup):
+ (WebCore::SVGElementInstance::onmousewheel):
+ (WebCore::SVGElementInstance::setOnmousewheel):
+ (WebCore::SVGElementInstance::onbeforecut):
+ (WebCore::SVGElementInstance::setOnbeforecut):
+ (WebCore::SVGElementInstance::oncut):
+ (WebCore::SVGElementInstance::setOncut):
+ (WebCore::SVGElementInstance::onbeforecopy):
+ (WebCore::SVGElementInstance::setOnbeforecopy):
+ (WebCore::SVGElementInstance::oncopy):
+ (WebCore::SVGElementInstance::setOncopy):
+ (WebCore::SVGElementInstance::onbeforepaste):
+ (WebCore::SVGElementInstance::setOnbeforepaste):
+ (WebCore::SVGElementInstance::onpaste):
+ (WebCore::SVGElementInstance::setOnpaste):
+ (WebCore::SVGElementInstance::ondragenter):
+ (WebCore::SVGElementInstance::setOndragenter):
+ (WebCore::SVGElementInstance::ondragover):
+ (WebCore::SVGElementInstance::setOndragover):
+ (WebCore::SVGElementInstance::ondragleave):
+ (WebCore::SVGElementInstance::setOndragleave):
+ (WebCore::SVGElementInstance::ondrop):
+ (WebCore::SVGElementInstance::setOndrop):
+ (WebCore::SVGElementInstance::ondragstart):
+ (WebCore::SVGElementInstance::setOndragstart):
+ (WebCore::SVGElementInstance::ondrag):
+ (WebCore::SVGElementInstance::setOndrag):
+ (WebCore::SVGElementInstance::ondragend):
+ (WebCore::SVGElementInstance::setOndragend):
+ (WebCore::SVGElementInstance::onreset):
+ (WebCore::SVGElementInstance::setOnreset):
+ (WebCore::SVGElementInstance::onresize):
+ (WebCore::SVGElementInstance::setOnresize):
+ (WebCore::SVGElementInstance::onscroll):
+ (WebCore::SVGElementInstance::setOnscroll):
+ (WebCore::SVGElementInstance::onsearch):
+ (WebCore::SVGElementInstance::setOnsearch):
+ (WebCore::SVGElementInstance::onselect):
+ (WebCore::SVGElementInstance::setOnselect):
+ (WebCore::SVGElementInstance::onselectstart):
+ (WebCore::SVGElementInstance::setOnselectstart):
+ (WebCore::SVGElementInstance::onsubmit):
+ (WebCore::SVGElementInstance::setOnsubmit):
+ (WebCore::SVGElementInstance::onunload):
+ (WebCore::SVGElementInstance::setOnunload):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::parseMappedAttribute):
+
+2009-04-20 Geoffrey Garen <ggaren@apple.com>
+
+ Approved by Mark Rowe, Cameron Zwarich, Oliver Hunt, and Ojan Vafai.
+
+ Used svn merge to roll out revisions 42678, 42690, 42694, 42697 because
+ they broke the Tiger and Windows buildbots.
+
+ * css/html4.css:
+ * css/themeWin.css:
+ * platform/graphics/SimpleFontData.cpp:
+ * platform/graphics/SimpleFontData.h:
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ * rendering/RenderTextControl.cpp:
+ * rendering/RenderTextControlMultiLine.cpp:
+ * rendering/RenderTextControlSingleLine.cpp:
+
+2009-04-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Adam Roben.
+
+ One last loose end, discovered using COLLECT_ON_EVERY_ALLOCATION, for
+ https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::mark): Don't ASSERT that an ElementInstance's
+ correspondingElement has a JS wrapper. If a GC falls exactly between the
+ allocation of the ElementInstance wrapper and the correspondingElement
+ wrapper, the correspondingElement won't have a wrapper at the time we
+ mark the ElementInstance's wrapper.
+
+2009-04-20 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Mark Rowe
+
+ Clean builds are broken on case-sensitive filesystems. Let's fix, shall we?
+
+ * platform/graphics/SimpleFontData.cpp: Remove "String.h" include. Ojan probably intended to include
+ "PlatformString.h" which was unnecessary because it is pulled in through other headers. This wasn't a
+ build failure on case-insensitive file systems because those systems would find the system <string.h>, averting
+ the warning.
+
+2009-04-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Last patch for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Converted "lazy" event listeners to be unprotected, just like all the others.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::~JSEventListener):
+ (WebCore::JSEventListener::jsFunction):
+ (WebCore::JSEventListener::markJSFunction):
+ (WebCore::JSEventListener::handleEvent):
+ (WebCore::JSEventListener::virtualIsInline):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::isInline): Merged JSAbstractEventListener
+ into JSEventListener. Now that the only difference between JSEventListener
+ and JSLazyEventListener is that JSLazyEventListener compiles lazily,
+ there's no need for an abstract base class.
+
+ * bindings/js/JSLazyEventListener.cpp: Converted JSLazyEventListener to
+ inherit from JSEventListener and match its un-GC-protected behavior.
+ (WebCore::JSLazyEventListener::JSLazyEventListener): ditto
+ (WebCore::JSLazyEventListener::parseCode): ditto
+ (WebCore::createInlineEventListener): When creating a lazy event listener,
+ ensure that the related node has a JS wrapper to mark the listener. Since
+ the parser makes these listeners, it's possible that no JS reference has
+ been made to the node yet.
+ * bindings/js/JSLazyEventListener.h: ditto
+
+ * dom/EventListener.h:
+ (WebCore::EventListener::clearJSFunction): Removed an usused function.
+
+2009-04-20 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25299
+ Don't bound caret to root line box if it is still inside its containing block
+
+ Can't yet write tests for behavior of non-standard caret widths.
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::localCaretRect):
+
+2009-04-20 Steve Falkenburg <sfalken@apple.com>
+
+ Separate JavaScriptCore.dll from WebKit.dll.
+ Slight performance improvement or no change on benchmarks.
+
+ Allows us to break a circular dependency between CFNetwork and WebKit on Windows,
+ and simplifies standalone JavaScriptCore builds.
+
+ Reviewed by Oliver Hunt.
+
+ * config.h: Specify __declspec(dllexport/dllimport) appropriately when exporting data.
+
+2009-04-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6722845> In the Cocoa event model, NPWindow's window field should be null
+
+ * bridge/npapi.h:
+ (_NPCocoaEvent::):
+ Add a CGContextRef member to the draw struct. Add an NPCoordinateSpace enum.
+
+ * plugins/npfunctions.h:
+ Add a prototype for NPN_ConvertPoint.
+
+2009-04-10 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Make textarea and text input metrics more closely match IEs.
+ https://bugs.webkit.org/show_bug.cgi?id=15312
+
+ This involves:
+ -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth
+ -set textarea width to cols*avgCharWidth
+ -Make default CSS match IEs
+ -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG.
+
+ Those values for textarea and inputs were derived by doing a ton of manual
+ testing of IE's width values for various textareas and fonts.
+
+ To get the average and max character width of a font, we do the following
+ for each platform:
+ -Win: TextMetrics expose avgCharWidth and maxCharWidth
+ -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight
+ maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent
+ -Linux: avgCharWidth = width of an '0', fallback on m_xHeight
+ maxCharWidth = max of avgCharWidth and m_ascent
+ -Mac: look in the OS/2 table for avgCharWidth and grab the maxCharWidth off the font.
+ If either one is not there, then calculate the value using the Linux approach.
+
+ Linux ports could probably dig into the OS/2 table as well, but I'll leave
+ that up to them to implement.
+
+ Tests: fast/forms/text-control-intrinsic-widths.html
+ fast/forms/textarea-metrics.html
+ svg/custom/svg-fonts-in-text-controls.html
+
+ * css/html4.css:
+ * css/themeWin.css:
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData):
+ (WebCore::SimpleFontData::initCharWidths):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::maxCharWidth):
+ (WebCore::SimpleFontData::avgCharWidth):
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::initGDIFont):
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformCharWidthInit):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::calcPrefWidths):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::preferredContentWidth):
+
+2009-04-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Remove m_absoluteBounds hack from SVG renderers and move outlineBoundsForRepaint into RenderSVGModelObject
+ https://bugs.webkit.org/show_bug.cgi?id=25276
+
+ This also exposed a buggy paint check in RenderSVGContainer::layout()
+ we should repaint if we are self painting OR if our kids changed, not AND.
+
+ Writing real outlineBoundsForRepaint required writing a mapLocalToContainer() function
+
+ No functional changes, thus no tests.
+
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::localToParentTransform):
+ (WebCore::RenderPath::layout):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::layout):
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::mapLocalToContainer):
+ (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::layout):
+ (WebCore::RenderSVGRoot::paint):
+ (WebCore::RenderSVGRoot::localToParentTransformWithoutCSSParentOffset):
+ (WebCore::RenderSVGRoot::localToParentTransform):
+ (WebCore::RenderSVGRoot::computeRectForRepaint):
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::layout):
+
+2009-04-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Seidel
+
+ https://bugs.webkit.org/show_bug.cgi?id=25282
+
+ outlineBoundsForRepaint() should compute a quad relative to the
+ repaintContainer. This fixes the repaint issues originally fixed in
+ https://bugs.webkit.org/show_bug.cgi?id=12885 for elements in compositing layers.
+ Failure was only apparent when building with ACCELERATED_COMPOSITING enabled.
+
+ Tests: compositing/repaint/content-into-overflow.html
+ compositing/repaint/overflow-into-content.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::outlineBoundsForRepaint):
+
+2009-04-20 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Tim Hatcher.
+
+ Add licenses for xcconfig files.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/DebugRelease.xcconfig:
+ * Configurations/FeatureDefines.xcconfig:
+ * Configurations/Version.xcconfig:
+ * Configurations/WebCore.xcconfig:
+
+2009-04-20 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25261
+ Implement the V8 binding for DOMWindow.event similarly to JSC, by using
+ the custom getter boilerplate from the IDL file.
+ Also, stub out DOMWindow.crypto which is defined by the idl.
+
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::invokeEventHandler):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+
+2009-04-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25243
+ Crash when data:// loads are cancelled
+
+ Properly handle cancellation of the load for data:// loads. This
+ fixes crashing in the followin test:
+
+ plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::parseDataUrl):
+
+2009-04-19 Dan Bernstein <mitz@apple.com>
+
+ - maybe fix release builds
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::notifyFinished):
+
+2009-04-19 Dan Bernstein <mitz@apple.com>
+
+ - not fix release builds
+
+ * dom/Document.cpp:
+ (WebCore::Document::executeScriptSoonTimerFired):
+
+2009-04-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix <rdar://problem/6734365> REGRESSION eBay "Save this search" link
+ does nothing the second time search results are opened
+
+ Test: fast/dom/HTMLScriptElement/nested-execution.html
+
+ Instead of executing scripts as soon as they finish loading, which may
+ happen synchronously during execution of another script, defer their
+ execution until the next run loop iteration, using a queue that is
+ similar to the HTML5 notion of the "list of scripts that will execute as
+ soon as possible", and in my testing was consistent with how Firefox
+ behaved.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document): Initialize m_executeScriptSoonTimer.
+ (WebCore::Document::~Document): deref() script elements in
+ m_scriptsToExecuteSoon.
+ (WebCore::Document::executeScriptSoonTimerFired): Added. Executes the
+ scripts in m_scriptsToExecuteSoon and deref()s them.
+ (WebCore::Document::executeScriptSoon): Added. Appends to
+ m_scriptsToExecuteSoon and ref()s the script element, which keeps the
+ ScriptElementData alive as well.
+ * dom/Document.h:
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::ScriptElementData): Initialize m_requested.
+ (WebCore::ScriptElementData::requestScript): Set m_requested to true, to
+ prevent further load requests.
+ (WebCore::ScriptElementData::execute): Added. Moved the code from
+ notifyFinished() which should not execute synchronously here, to be
+ called by the Document on a 0-interval timer.
+ (WebCore::ScriptElementData::notifyFinished): Moved the code to
+ dispatch events and evaluate the script, which should not execute
+ synchronously, out of here.
+ (WebCore::ScriptElementData::ignoresLoadRequest): Changed to test for
+ m_requested instead of m_cachedScript, because the latter is cleared
+ before the script is evaluated.
+ * dom/ScriptElement.h:
+
+2009-04-19 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Antti Koivisto and Darin Adler.
+
+ <rdar://problem/6127705> Excessive memory consumption on image load failure
+
+ When we fail to decode an image we clear most of the image data, but not the
+ input data itself, which can be backed by a CFData object that itself holds onto
+ a few hundred Kbs of memory. This patch merely ensures that this buffer gets
+ cleared.
+
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::error):
+
+2009-04-19 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add hooks so sudden termination will not cause loss of icons or local storage.
+ rdar://problem/5951701
+
+ * loader/icon/IconDatabase.cpp: Marked various constants static to give them
+ internal linkage.
+ (WebCore::IconDatabase::IconDatabase): Added initial value for m_syncTimer.
+ Removed unneeded initial value for m_defaultIconRecord. Changed assertion to
+ work cross-platform.
+ (WebCore::IconDatabase::wakeSyncThread): Added disableSuddenTermination, so
+ we won't terminate until the sync thread has done its thing.
+ (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Added disableSuddenTermination,
+ so we won't terminate if we have an outstanding sync timer.
+ (WebCore::IconDatabase::syncTimerFired): Added enableSuddenTermination, to
+ balance the one in scheduleOrDeferSyncTimer.
+ (WebCore::IconDatabase::syncThreadMainLoop): Added enableSuddenTermination, to
+ balance the one in wakeSyncThread.
+ (WebCore::IconDatabase::deleteAllPreparedStatements): Use clear() instead of set(0).
+
+ * loader/icon/IconDatabase.h: Use a Timer instead of an OwnPtr<Timer>.
+
+ * storage/LocalStorageArea.cpp:
+ (WebCore::LocalStorageArea::scheduleFinalSync): Added disableSuddenTermination.
+ (WebCore::LocalStorageArea::scheduleItemForSync): Ditto.
+ (WebCore::LocalStorageArea::scheduleClear): Ditto.
+ (WebCore::LocalStorageArea::syncTimerFired): Added a disableSuddenTermination if
+ we schedule a performSync callback for later and an unconditional
+ enableSuddenTermination to balance the ones in the schedule calls above.
+ (WebCore::LocalStorageArea::sync): Factored out the work of the sync function so it
+ can continue to use early return idiom.
+ (WebCore::LocalStorageArea::performSync): Added a call to enableSuddenTermination.
+
+ * storage/LocalStorageArea.h: Added declaration of the sync function.
+
+2009-04-19 David Kilzer <ddkilzer@apple.com>
+
+ Make FEATURE_DEFINES completely dynamic
+
+ Reviewed by Darin Adler.
+
+ Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
+ variables for each feature, making it possible to remove all
+ knowledge of FEATURE_DEFINES from build-webkit.
+
+ * Configurations/FeatureDefines.xcconfig: Extract a variable
+ from FEATURE_DEFINES for each feature setting.
+
+2009-04-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Removed a little more complexity from event handler creation and destruction.
+
+ Removed the jsProtectedEventListeners, jsProtectedInlineEventListeners,
+ and jsInlineEventListeners maps, and all the code for managing them.
+
+ ProtectedEventListeners don't exist anymore, so they're easy to nix.
+
+ Inline EventListeners do still exist, but there's no reason to track
+ them in a map. The map exists to enable 'removeEventListener' to associate
+ a unique JSEventListener with a given JavaScript function. But the
+ 'removeEventListener' API only works with non-inline event listeners!
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
+ (WebCore::JSDOMGlobalObject::findJSEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
+ (WebCore::JSDOMGlobalObject::createJSInlineEventListener):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::clearJSFunctionInline):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::~JSLazyEventListener):
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-04-18 Dan Bernstein <mitz@apple.com>
+
+ - try to fix the Windows build
+
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::characterAfter):
+
+2009-04-18 Dan Bernstein <mitz@apple.com>
+
+ - revert the previous change, which was to a file that the Windows
+ port does not even use
+
+ * icu/unicode/utf16.h:
+
+2009-04-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ - try to fix the Windows build
+
+ * icu/unicode/utf16.h:
+
+2009-04-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25066
+
+ When a <video> element gained a RenderLayer via opacity, reflection etc., the
+ layer hierarchy was not correctly updated because RenderMedia skipped a level
+ when asked for its children; it skipped m_controlsShadowRoot's renderer, which
+ actually has a layer.
+
+ Test: fast/layers/video-layer.html
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
+ Don't manually call setParent() on the renderer. It will happen later
+ as a result of addChild().
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createControlsShadowRoot):
+ Add m_controlsShadowRoot's renderer as a child.
+
+ * rendering/RenderMedia.h:
+ (WebCore::RenderMedia::children):
+ Now maintain a RenderObjectChildList, m_children, and remove the unneeded
+ removeChild() method. Make the two children() methods inline.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::moveLayers):
+ Assert if moveLayers() is called with an oldParent that is not the
+ layer's actual parent (which would have revealed this bug).
+
+2009-04-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Fixed a layout test failure, caused by my last check-in
+ (fast/dom/script-element-gc.html).
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::isObservableThroughDOM):
+ * html/HTMLScriptElement.h:
+ (WebCore::HTMLScriptElement::haveFiredLoadEvent): Treat script elements
+ just like image elements: if a script element is loading, mark its JS
+ wrapper, even if the element is not in the document.
+
+2009-04-18 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25170
+ Upstream V8WorkerCustom.cpp and V8WorkerContextCustom.cpp for V8 bindings.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp: Added.
+ * bindings/v8/custom/V8WorkerCustom.cpp: Added.
+
+2009-04-18 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/post_bug.cg://bugs.webkit.org/show_bug.cgi?id=25167
+ Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings.
+
+ * bindings/v8/V8Utilities.cpp: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.cpp.
+ (WebCore::createHiddenDependency):
+ (WebCore::removeHiddenDependency):
+ * bindings/v8/V8Utilities.h: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.h.
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-04-18 Drew Wilson <amw@apple.com>
+
+ <rdar://problem/6781407> VisiblePosition.characterAfter should return UChar32
+
+ Reviewed by Dan Bernstein.
+
+ No test case since there is no change in behavior.
+
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::characterAfter): Now handles surrogate
+ pairs correctly and returns a UChar32.
+ * editing/VisiblePosition.h:
+ (WebCore::VisiblePosition::characterBefore): Now returns a UChar32.
+ * editing/visible_units.cpp:
+ (WebCore::endOfFirstWordBoundaryContext): Renamed
+ firstNonComplexContextLineBreak() to this. Changed it to use the
+ generic requiresContextForWordBoundary() instead of
+ hasLineBreakingPropertyComplexContext().
+ (WebCore::startOfLastWordBoundaryContext): Replaces
+ lastNonComplexContextLineBreak(), but returns the offset of
+ the character after the last character that does not require
+ context for word breaking. Also changed to use
+ requiresContextForWordBoundary().
+ (WebCore::previousBoundary): Updated for the above changes in
+ names and semantics, and changed to use
+ requiresContextForWordBoundary().
+ (WebCore::nextBoundary): Ditto.
+ (WebCore::startWordBoundary): Ditto.
+ (WebCore::endWordBoundary): Ditto.
+ (WebCore::previousWordPositionBoundary): Ditto.
+ (WebCore::nextWordPositionBoundary): Ditto.
+ * platform/text/TextBoundaries.h:
+ (WebCore::requiresContextForWordBoundary): Added.
+ * platform/text/mac/TextBoundaries.mm:
+
+2009-04-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Fixed <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
+ REGRESSION (r42569): Profiles cannot be selected in inspector profiler
+
+ EventListeners are shared; RegisteredEventListeners are not. Therefore,
+ when a node wrapper needs to invalidate the node's JS event listeners,
+ it should invalidate its RegisteredEventListeners, not its EventListeners.
+ Otherwise, it might invalidate an EventListener shared by another node.
+
+ * dom/RegisteredEventListener.h:
+ (WebCore::invalidateEventListeners): ditto
+
+2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/6781295> video.buffered and video.seekable are not
+ the same. video.buffered should return only what is buffered and
+ not what is seekable
+
+ * WebCore.base.exp: Added wkQTMovieMaxTimeSeekable.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::maxTimeSeekable): Return wkQTMovieMaxTimeSeekable.
+
+ * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeSeekable.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/6747241> work around QTKit no longer reaching
+ QTMovieLoadStateComplete
+
+ * WebCore.base.exp: Export wkQTMovieMaxTimeLoadedChangeNotification.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovie): observe QTMovieMaxTimeLoadedChangeNotification.
+ (WebCore::MediaPlayerPrivate::updateStates): compare duuration() with maxTimeLoaded() instead of
+ using QTMovieLoadStateComplete to determine if a movie are fully loaded.
+
+ * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeLoadedChangeNotification.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+2009-04-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Make WML work again, most regressions test were failing.
+
+ * dom/Document.cpp: Be sure to create WML elements in WML namespace. Otherwhise hasTagName() comparisions fail.
+ (WebCore::Document::createElement):
+ * wml/WMLCardElement.cpp: Add ASSERT(hasTagName(cardTag)) to catch errors like this in future.
+ (WebCore::WMLCardElement::WMLCardElement):
+ * wml/WMLTagNames.in: Wrap comment in #if 0/#endif blocks, to silence the generation script.
+
+2009-04-17 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25277
+ If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box
+
+ Also added code to handle a caret wider than one pixel.
+
+ Added fast/inline/25277.html and fast/inline/25277-2.html
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::localCaretRect): Distribute a caret's width to either side of the offset,
+ so that a caret between two characters doesn't hang over one character more than the other.
+ If there is no wrapping, the caret can leave its containing block, but not its root line box.
+
+2009-04-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Some refactoring of "inline" event listeners.
+
+ Renames:
+ dispatchEventForType => dispatchEvent
+ setWindowInlineEventListenerForTypeAndAttribute => setWindowInlineEventListener
+ removeInlineEventListenerForType => clearInlineEventListener
+ setInlineEventListenerForType => setInlineEventListener
+ inlineEventListenerForType => getInlineEventListener
+
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::eventParameterName):
+ (WebCore::JSLazyEventListener::JSLazyEventListener):
+ (WebCore::createInlineEventListener):
+ * bindings/js/JSLazyEventListener.h: Added two helper functions for
+ creating "inline" event listeners. These replace Document::createEventListener,
+ and abstract the creation of JS event listeners for DOM attributes out
+ of the DOM. Removed legacy JSProtectedEventListener constructor code for
+ adding the event listener's function to a map, since lazy event listeners
+ don't have functions at construction time.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * dom/Document.h:
+ (WebCore::Document::isSVGDocument):
+ * dom/Element.cpp:
+ (WebCore::Element::setWindowInlineEventListener):
+ * dom/Element.h: Updated for renames. Nixed Document::createEventListener,
+ mentioned above. Moved setWindowInlineEventListenerForTypeAndAttribute
+ to Element, for simplicity.
+
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::setValueFromRenderer):
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchFocusEvent):
+ (WebCore::Node::dispatchBlurEvent):
+ (WebCore::Node::dispatchEvent):
+ (WebCore::Node::clearInlineEventListener):
+ (WebCore::Node::setInlineEventListener):
+ (WebCore::Node::getInlineEventListener):
+ (WebCore::Node::onabort):
+ (WebCore::Node::setOnabort):
+ (WebCore::Node::etc.):
+ * dom/Node.h: Updated for renames.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::ReplacementFragment): Updated for renames.
+
+ Updated these files for renames, and to use the new createInlineEventListener
+ helper function:
+
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::parseMappedAttribute):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseMappedAttribute):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::onChange):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::prepareSubmit):
+ (WebCore::HTMLFormElement::reset):
+ (WebCore::HTMLFormElement::parseMappedAttribute):
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseMappedAttribute):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseMappedAttribute):
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::dispatchLoadEvent):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::onSearch):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loadInternal):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseMappedAttribute):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::parseMappedAttribute):
+ (WebCore::HTMLScriptElement::dispatchLoadEvent):
+ (WebCore::HTMLScriptElement::dispatchErrorEvent):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseMappedAttribute):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::notifyFinished):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::mouseButtonListener):
+ * page/DOMWindow.cpp:
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::eventListeners):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::canMouseDownStartSelect):
+ (WebCore::EventHandler::canMouseDragExtendSelect):
+ (WebCore::EventHandler::sendScrollEvent):
+ * page/Page.cpp:
+ (WebCore::networkStateChanged):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::valueChanged):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::selectionChanged):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::parseMappedAttribute):
+ * svg/SVGElementInstance.cpp:
+ * svg/SVGImageLoader.cpp:
+ (WebCore::SVGImageLoader::dispatchLoadEvent):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::parseMappedAttribute):
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::dispatchErrorEvent):
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::defaultEventHandler):
+
+2009-04-17 David Kilzer <ddkilzer@apple.com>
+
+ Simplify FEATURE_DEFINES definition
+
+ Reviewed by Darin Adler.
+
+ This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
+ variables to their own FeatureDefines.xcconfig file. It also
+ extracts a new ENABLE_GEOLOCATION variable so that
+ FEATURE_DEFINES only needs to be defined once.
+
+ * Configurations/FeatureDefines.xcconfig: Added.
+ * Configurations/WebCore.xcconfig: Removed definition of
+ ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include
+ of FeatureDefines.xcconfig.
+ * WebCore.xcodeproj/project.pbxproj: Added
+ FeatureDefines.xcconfig file.
+ * bindings/scripts/CodeGeneratorObjC.pm: When creating a list of
+ command-line macro definitions, split on one-or-more spaces
+ instead of a single space since the FEATURE_DEFINES macro may
+ now contain more than one space between macros if some macros
+ aren't defined.
+
+2009-04-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mark Rowe
+
+ <rdar://problem/6786999> Tiger WebKit shouldn't try to POST on back/forward without nagging.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::willLoadFromCache):
+
+2009-04-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Added sudden termination functions that can be called without involving
+ the page or client.
+
+ * GNUmakefile.am: Added SuddenTermination.h.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto. Also added SuddenTermination.mm.
+
+ * platform/SuddenTermination.h: Added.
+ * platform/mac/SuddenTermination.mm: Added.
+
+2009-04-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Move more code into RenderSVGModelObject
+
+ needsLayer() already returns false from RenderSVGModelObject
+ lineHeight and baselinePosition are from days of RenderPath having RenderBox parents.
+
+ I also added comments to explain how focus rings work (now that I understand)
+ I got rid of two more uses of m_absoluteBounds (nearly dead!)
+
+ * rendering/RenderPath.cpp:
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::paint):
+ (WebCore::RenderSVGContainer::addFocusRingRects):
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::absoluteRects):
+ (WebCore::RenderSVGModelObject::absoluteQuads):
+ * rendering/RenderSVGModelObject.h:
+
+2009-04-16 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25238
+ Invalidate the hovered scrollbar part when resetting the pressed part,
+ since once there is no pressed part we can draw a hovered state.
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::setHoveredPart):
+ (WebCore::Scrollbar::setPressedPart):
+
+2009-04-16 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25223
+ REGRESSION: Back button after form submission to the same URL fails to navigate.
+
+ Test: http/tests/navigation/post-goback-same-url.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadItem): Check if the page we are leaving has
+ FormData.
+
+2009-04-17 Nikolas Zimmermann <nikolas.zimmerman@torchmobile.com>
+
+ Not reviewed. Fix WML enabled builds.
+
+ * rendering/RenderTableRow.cpp: Remove dead code, which is no longer necessary.
+ (WebCore::RenderTableRow::addChild):
+ * wml/WMLInputElement.cpp: Apply same fix HTMLInputElement received. Covert RenderObject's to RenderTextControl where needed.
+ (WebCore::WMLInputElement::defaultEventHandler):
+
+2009-04-17 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24849
+
+ Add support for the media element 'played' attribute.
+ This involves support of "normalized TimeRanges" as described by
+ the spec.
+
+ Test: media/video-played.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Renamed
+ m_currentTimeDuringSeek->m_lastSeekTime. Added m_playing and m_playedTimeRanges.
+ (WebCore::HTMLMediaElement::loadInternal): Reset m_playing, m_lastSeekTime, and
+ m_playedTimeRanges
+ (WebCore::HTMLMediaElement::seek): Set current time to m_playedTimeRanges
+ (WebCore::HTMLMediaElement::currentTime): m_currentTimeDuringSeek -> m_lastSeekTime
+ (WebCore::HTMLMediaElement::played): Returns m_playedTimeRanges.
+ (WebCore::HTMLMediaElement::updatePlayState): Add the new played time ranges when pausing.
+ Set the m_playing flag.
+ * html/HTMLMediaElement.h:
+
+ * html/TimeRanges.cpp:
+ (TimeRanges::add): Merge range(s) if overlap.
+ * html/TimeRanges.h: Add various helpers (below).
+ (WebCore::TimeRanges::Range::isPointInRange): Added.
+ (WebCore::TimeRanges::Range::isOverlappingRange): Ditto.
+ (WebCore::TimeRanges::Range::unionWithOverlappingRange): Ditto.
+ (WebCore::TimeRanges::Range::isBeforeRange): Ditto.
+
+2009-04-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
+ https://bugs.webkit.org/show_bug.cgi?id=25210
+
+ * WebCore.base.exp: Export the core and kit function overloads that are used
+ in WebKit. Also resorted this file.
+
+ * WebCore.xcodeproj/project.pbxproj: Re-added DOMHTMLCanvasElement.h to fix
+ a strange problem with the file type.
+
+ * bindings/objc/DOM.mm: Removed the many extraneous includes. Added new includes
+ so we can use and implement the new core and kit functions. Import DOMInternal.h
+ first so it can do its public/private magic.
+ (-[DOMNode _rootObject]): Changed to use early-return style.
+ (kitClass): Added. Tells the wrapper generator what kind of node class to create
+ to wrap DOM nodes. This has the code that used to be in the _wrapNode method.
+ (kit): Added. Takes an EventTarget and makes the appropriate type of wrapper,
+ dpending on whether it's a Node or an SVGElementInstance. This replace methods
+ that used to be on both of those classes.
+ (-[DOMNode boundingBox]): Changed to use early return, and the core function.
+ (-[DOMNode lineBoxRects]): Ditto.
+ (-[DOMNode renderedImage]): Ditto.
+ (-[DOMRange boundingBox]): Ditto.
+ (-[DOMRange lineBoxRects]): Ditto.
+ (-[DOMElement image]): Ditto.
+ (-[DOMElement _font]): Ditto.
+ (-[DOMElement _imageTIFFRepresentation]): Ditto.
+ (-[DOMElement _getURLAttribute:]): Ditto.
+ (-[DOMElement isFocused]): Ditto.
+ (kit): Hand-wrote the version of this for NodeFilter, since it's a protocol,
+ not a class in the binding.
+ (core): Ditto.
+ (-[DOMNodeFilter acceptNode:]): Use core.
+
+ * bindings/objc/DOMAbstractView.mm:
+ (-[DOMAbstractView document]): Use kit.
+ (-[DOMAbstractView _disconnectFrame]): Call removeDOMWrapper, which is no longer
+ in the WebCore namespace, since it's headed for WebKit in the future.
+ (core): Hand-wrote the version of this for DOMAbstractView.mm, since we store
+ a pointer to the Frame, not the DMWindow.
+ (kit): Ditto.
+
+ * bindings/objc/DOMCSS.mm:
+ (kitClass): Added. Tells the wrapper generator what kind of node class to create
+ to wrap CSS objects. This has the code that used to be in the _wrapStyleSheet,
+ _wrapCSSRule, and _wrapCSSValue methods.
+
+ * bindings/objc/DOMEvents.mm:
+ (kitClass): Added. Tells the wrapper generator what kind of node class to create
+ to wrap event objects. This has the code that used to be in the _wrapEvent methods.
+
+ * bindings/objc/DOMHTML.mm:
+ (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): Use kit and core.
+ (-[DOMHTMLDocument createDocumentFragmentWithText:]): Ditto.
+ (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
+ (-[DOMHTMLInputElement _rectOnScreen]): Ditto.
+ (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Ditto.
+ (-[DOMHTMLInputElement _selectedRange]): Ditto.
+ (-[DOMHTMLInputElement _setAutofilled:]): Ditto.
+ (-[DOMHTMLSelectElement _activateItemAtIndex:]): Ditto.
+ (-[DOMHTMLInputElement _isEdited]): Ditto.
+ (-[DOMHTMLTextAreaElement _isEdited]): Ditto.
+ (kitClass): Added. Gives HTMLOptionCollection objects an appropriate wrapper.
+
+ * bindings/objc/DOMInternal.h: Removed most of the imports. There's no reason
+ to have this header include all the other internal DOM headers. Removed unneeded
+ interfaces, including the redeclaration of _init in DOMObject, since it's already
+ inherited from WebScriptObject. Moved all the functions out of the WebCore
+ namespace since this code is destined for WebKit, which doesn't use a namespace.
+ Added kit and core functions for the two classes that live in this header.
+
+ * bindings/objc/DOMInternal.mm:
+ (-[WebScriptObject _initializeScriptDOMNodeImp]): Use core.
+
+ * bindings/objc/DOMObject.h: Made the _internal field be private instead of
+ protected. This also allows the "#define private public" trick to be used to
+ make the field accessible inside the bindings code.
+
+ * bindings/objc/DOMObject.mm:
+ (-[DOMObject dealloc]): Updated for namespace change.
+ (-[DOMObject sheet]): Use core and kit functions.
+
+ * bindings/objc/DOMRGBColor.mm:
+ (-[DOMRGBColor dealloc]): Updated for namespace change.
+ (-[DOMRGBColor red]): Use kit function.
+ (-[DOMRGBColor green]): Ditto.
+ (-[DOMRGBColor blue]): Ditto.
+ (-[DOMRGBColor alpha]): Ditto.
+ (core): Added. Replaces the _RGBColor method.
+ (kit): Added. Replaces the _wrapRGBColor method.
+
+ * bindings/objc/DOMSVGPathSegInternal.mm:
+ (kitClass): Added. Replaces the _wrapSVGPathSeg method.
+
+ * bindings/objc/DOMUtility.mm:
+ (JSC::createDOMWrapper): Use kit function.
+ (createDOMWrapper): Ditto.
+
+ * bindings/objc/DOMXPath.mm:
+ (core): Added. Replaces the _xpathNSResolver method.
+ (kit): Added. Replaces the _wrapXPathNSResolver method.
+
+ * bindings/objc/ObjCEventListener.mm:
+ (WebCore::ObjCEventListener::find): Changed to use early return.
+ (WebCore::ObjCEventListener::handleEvent): Use kit function.
+
+ * bindings/objc/ObjCNodeFilterCondition.mm:
+ (WebCore::ObjCNodeFilterCondition::acceptNode): Use kit function.
+
+ * bindings/objc/WebScriptObject.mm:
+ (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]):
+ Updated for namespace change.
+
+ * bindings/scripts/CodeGeneratorObjC.pm: Changed spelling of "license"
+ to U.S. spelling. Removed GetObjCTypeMaker, GetObjCTypeGetterName,
+ GetInternalTypeGetterSignature, and GetInternalTypeMakerSignature.
+ Changed includes to conform to new scheme. Generate core and kit
+ functions instead of methods and calls to those functions. Added a new
+ attribute, Polymorphic, to indicate classes that have derived subclasses.
+ Removed the old ObjCCustomInternalImpl attribute.
+
+ * css/CSSRule.idl: Use Polymorphic attribute, so core and kit functions
+ will be generated, with kit calling kitClass. This requires less hand-
+ written code than the old ObjCCustomInternalImpl.
+ * css/CSSValue.idl: Ditto.
+ * css/StyleSheet.idl: Ditto.
+ * dom/Event.idl: Ditto.
+ * dom/Node.idl: Ditto.
+ * html/HTMLCollection.idl: Ditto.
+ * svg/SVGPathSeg.idl: Ditto.
+
+ * editing/TextAffinity.h: Moved kit and core functions out of the
+ WebCore namespace since this code is destined for WebKit, which
+ doesn't use a namespace
+
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::ClipboardMac::declareAndWriteDragImage): Use kit function.
+
+ * platform/mac/DragDataMac.mm:
+ (WebCore::DragData::asFragment): Use core function.
+
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::Pasteboard::writeSelection): Use kit function.
+
+ * svg/SVGElementInstance.idl: Removed now-unneeded ObjCCustomInternalImpl
+ function. This can be generated in a standard way now.
+ * svg/SVGViewSpec.idl: Ditto.
+
+2009-04-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak
+
+ <rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage
+
+ If the Page is in private browsing mode when a statement is queued up, flag that
+ statement as read-only.
+
+ It would be better to set the read-only flag on the database thread when it actually
+ executes, but that would either require making Settings access a lock-protected operation
+ or involve a synchronous callback to the WebCore thread, neither of which seem worth it.
+ If it becomes an issue in practice, we can revisit this later.
+
+ Test: storage/private-browsing-readonly.html
+
+ * storage/Database.cpp:
+ (WebCore::Database::setAuthorizerReadOnly):
+ * storage/Database.h:
+
+ * storage/DatabaseAuthorizer.cpp: For all action types that would alter the database,
+ deny when in read-only mode.
+ (WebCore::DatabaseAuthorizer::reset):
+ (WebCore::DatabaseAuthorizer::createTable):
+ (WebCore::DatabaseAuthorizer::dropTable):
+ (WebCore::DatabaseAuthorizer::allowAlterTable):
+ (WebCore::DatabaseAuthorizer::createIndex):
+ (WebCore::DatabaseAuthorizer::dropIndex):
+ (WebCore::DatabaseAuthorizer::createTrigger):
+ (WebCore::DatabaseAuthorizer::dropTrigger):
+ (WebCore::DatabaseAuthorizer::createVTable):
+ (WebCore::DatabaseAuthorizer::dropVTable):
+ (WebCore::DatabaseAuthorizer::allowDelete):
+ (WebCore::DatabaseAuthorizer::allowInsert):
+ (WebCore::DatabaseAuthorizer::allowUpdate):
+ (WebCore::DatabaseAuthorizer::setReadOnly):
+ * storage/DatabaseAuthorizer.h:
+
+ * storage/SQLStatement.cpp:
+ (WebCore::SQLStatement::create): Add a m_readOnly flag.
+ (WebCore::SQLStatement::SQLStatement): Ditto.
+ (WebCore::SQLStatement::execute): If m_readOnly is set, tell the authorizer to change
+ to read-only mode.
+ * storage/SQLStatement.h:
+
+ * storage/SQLTransaction.cpp:
+ (WebCore::SQLTransaction::executeSQL): Flag the statement as read-only if the Page is
+ currently in private browsing mode.
+
+2009-04-17 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Move RenderPath and RenderSVGContainer onto a unified clippedOverflowRectForRepaint
+ https://bugs.webkit.org/show_bug.cgi?id=25268
+
+ Lots of minus lines. Now we're sharing more sane code
+ (which will respect -webkit-transforms! and scroll offsets correctly)
+
+ Which means this fixes:
+ https://bugs.webkit.org/show_bug.cgi?id=20769 and
+ https://bugs.webkit.org/show_bug.cgi?id=21968 too!
+
+ We're no longer expanding the paint rect "for anti-aliasing", since
+ I can't find a case where that's required. If it is, repaintRectInLocalCoordinates()
+ should be fixed to handle those cases instead of here.
+
+ This fixes svg/custom/scroll-hit-test (now that we respect scroll offsets when repainting)
+ as well as improves our focus ring drawing seen in svg/custom/focus-ring
+ focus rings are now closer to transformed content by a couple pixels (they were needlessly outset by the antialiasing hack)
+ Also, it fixes the dumped rects for markers, causing a progression in svg/custom/marker-overflow-clip
+
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::repaintRectInLocalCoordinates):
+ (WebCore::RenderPath::setPath):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
+ (WebCore::RenderSVGModelObject::computeRectForRepaint):
+ * rendering/RenderSVGModelObject.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::computeRectForRepaint):
+ * rendering/RenderSVGRoot.h:
+
+2009-04-17 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 25259: AX: VoiceOver cmd-cntl-space does not follow the google.com->more link
+ https://bugs.webkit.org/show_bug.cgi?id=25259
+
+ When a node becomes visible or hidden, accessibility needs to be told to update.
+
+ Test: accessibility/visible-elements.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+
+2009-04-17 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, added missing header.
+
+ * platform/graphics/wx/TransformationMatrixWx.cpp:
+
+2009-04-17 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed build fix.
+
+ Fix the build with enabled SVG filters
+
+ * rendering/RenderSVGModelObject.cpp: Include SVGResourceFilter.h.
+
+2009-04-16 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25196
+ Add a missing V8DOMMap include.
+
+ * bindings/v8/WorkerScriptController.cpp: Included V8DOMMap.h.
+
+2009-04-16 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25260
+ Finish V8 custom bindings for InspectorController.
+
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Added.
+
+2009-04-16 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Switch to wxGraphicsBitmap when using wxGraphicsContext so that we're not doing
+ unnecessary conversions internally when drawing bitmaps.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25248
+
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/wx/ImageSourceWx.cpp:
+ (WebCore::ImageSource::createFrameAtIndex):
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::BitmapImage::draw):
+ (WebCore::BitmapImage::drawPattern):
+
+2009-04-16 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Performing a block style change in an editable root that contains only a br adds a newline
+ https://bugs.webkit.org/show_bug.cgi?id=25256
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix a bad check for an root
+ block that didn't handle a root that contained a placeholder.
+
+2009-04-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Fix computeContainerBoundingBox to respect viewport translations
+ https://bugs.webkit.org/show_bug.cgi?id=25254
+
+ Previously computeContainerBoundingBox was just adding the viewportTranslation.
+ Which, although it has a confusing name, only contains the scale and translation
+ for the viewBox/preserveAspectRatio adjustment. It does not contain the
+ translation for the x/y offset of the viewport.
+ localToParentTransform() does contain this offset, so we use that instead
+ of the previous hacky code.
+
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGViewportContainer.h:
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::computeContainerBoundingBox):
+
+2009-04-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add a localToParentTransform() method which includes the
+ full transform between local and parent local coordinates.
+ https://bugs.webkit.org/show_bug.cgi?id=25226
+
+ Moved m_localTransform up into RenderSVGTransformableContainer
+ and added a comment to RenderSVGViewportContainer to make it more
+ clear that it does not have a localTransform().
+
+ This patch reveals two more failed design decisions:
+ 1. Use of RenderBox::absoluteTransform() to mean "absoluteTransform()
+ including only my localTransform()" callers are probably using it
+ incorrectly anyway and are just masking bugs in the confused code.
+ 2. computeContainerBoundingBox does not include viewport translations in
+ its computed bounding box, so bounding boxes will be off for parents of
+ inner <svg> elements. I'll fix this an updated the results in a separate change.
+
+ No functional changes, thus no tests.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::localToParentTransform):
+ (WebCore::RenderObject::absoluteTransform):
+ * rendering/RenderObject.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::layout):
+ * rendering/RenderSVGContainer.h:
+ (WebCore::RenderSVGContainer::viewportTransform):
+ * rendering/RenderSVGHiddenContainer.cpp:
+ * rendering/RenderSVGHiddenContainer.h:
+ (WebCore::RenderSVGHiddenContainer::absoluteTransform):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::localToParentTransform):
+ (WebCore::RenderSVGRoot::absoluteTransform):
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGTransformableContainer.cpp:
+ (WebCore::RenderSVGTransformableContainer::localToParentTransform):
+ (WebCore::RenderSVGTransformableContainer::localTransform):
+ * rendering/RenderSVGTransformableContainer.h:
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::localToParentTransform):
+ (WebCore::RenderSVGViewportContainer::absoluteTransform):
+ * rendering/RenderSVGViewportContainer.h:
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::computeContainerBoundingBox):
+
+2009-04-16 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Fix Chromium's rendering of <option> elements inside of <optgroups>.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25244
+
+ Test (will included as a manual test by https://bugs.webkit.org/show_bug.cgi?id=24900):
+
+ <select>
+ <optgroup label="Should be bold">
+ <option>Should not be bold</option>
+ </optgroup>
+ </select>
+
+ * css/themeWin.css: adding comments
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::getRowFont): use menuStyle() rather than the item's style
+
+2009-04-16 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25218
+
+ Make DOMWindow::inlineEventListenerForType not have the "inline"
+ keyword. As this method gets used outside of DOMWindow.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::inlineEventListenerForType):
+
+2009-04-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Fix <rdar://problem/6766969>
+
+ When deferred repaints are enabled and being reset and there is a active
+ timer, stop the timer and do the deferred repaints immediately.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::resetDeferredRepaintDelay):
+
+2009-04-16 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25241
+ Remove superfluous NotImplemented.h includes.
+
+ * html/CanvasRenderingContext2D.cpp:
+ * html/CanvasStyle.cpp:
+ * page/AccessibilityRenderObject.cpp:
+ * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+ * platform/graphics/GraphicsContext.cpp:
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ * platform/graphics/cairo/PathCairo.cpp:
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ * platform/graphics/gtk/FontGtk.cpp:
+ * platform/graphics/gtk/IconGtk.cpp:
+ * platform/graphics/qt/IconQt.cpp:
+ * platform/graphics/qt/ImageQt.cpp:
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ * platform/graphics/skia/ImageSkia.cpp:
+ * platform/graphics/win/ColorSafari.cpp:
+ * platform/graphics/win/FontWin.cpp:
+ * platform/graphics/win/GraphicsContextCGWin.cpp:
+ * platform/graphics/win/GraphicsContextCairoWin.cpp:
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp:
+ * platform/graphics/wx/ImageWx.cpp:
+ * platform/graphics/wx/TransformationMatrixWx.cpp:
+ * platform/gtk/PlatformScreenGtk.cpp:
+ * platform/gtk/PopupMenuGtk.cpp:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/gtk/ScrollbarGtk.cpp:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ * platform/posix/FileSystemPOSIX.cpp:
+ * platform/qt/DragDataQt.cpp:
+ * platform/qt/FileSystemQt.cpp:
+ * platform/qt/Localizations.cpp:
+ * platform/qt/PopupMenuQt.cpp:
+ * platform/win/EditorWin.cpp:
+ * platform/win/PasteboardWin.cpp:
+ * platform/wx/KeyboardEventWx.cpp:
+ * platform/wx/PopupMenuWx.cpp:
+ * platform/wx/SharedTimerWx.cpp:
+ * plugins/gtk/PluginViewGtk.cpp:
+ * plugins/mac/PluginPackageMac.cpp:
+ * plugins/qt/PluginPackageQt.cpp:
+ * plugins/win/PluginViewWin.cpp:
+ * rendering/RenderThemeChromiumLinux.cpp:
+ * svg/graphics/SVGImage.cpp:
+
+2009-04-16 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Some cleanup in event handling code.
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ * bindings/js/JSDOMGlobalObject.h: Removed findJSProtectedEventListener
+ and findJSProtectedEventListener because they are now unused.
+
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::clearGlobalObject):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::JSLazyEventListener):
+ (WebCore::JSLazyEventListener::~JSLazyEventListener):
+ (WebCore::JSLazyEventListener::globalObject):
+ * bindings/js/JSLazyEventListener.h:
+ (WebCore::JSLazyEventListener::clearGlobalObject): Nixed JSProtectedEventListener,
+ and merged it with JSLazyEventListener, the only remaining event listener
+ that still GC-protects its function and global object.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::ScriptController):
+ * bindings/js/ScriptController.h:
+ (WebCore::ScriptController::setEventHandlerLineNumber):
+ (WebCore::ScriptController::eventHandlerLineNumber): Renamed handlerLineno =>
+ handlerLineNumber, because anything less would be uncivilized. Removed
+ createInlineEventListener because it mostly did irrelevent work, so it
+ just got in the way of understanding how event handler creation works.
+
+ * dom/Document.cpp:
+ (WebCore::Document::createEventListener):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::startElementNs):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::processToken): Ditto.
+
+2009-04-16 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website
+ crashes on load due to messy HTML in search form
+ -and corresponding-
+ <rdar://problem/6210633>
+
+ Before this patch, <form>s were allowed to sit inside tables
+ without being wrapped by anonymous table parts. There was also a
+ concept that such a form could be "demoted" and would not be
+ allowed to have any children. This patch has the HTML parser mark
+ form elements that have been demoted as such, and then the demoted
+ forms are not given renderers. I also removed the code that allowed
+ forms to sit in tables without anonymous table sections. So now any
+ forms that do manage to get a renderer inside a table will also be
+ wrapped with appropriate table parts.
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::HTMLFormElement):
+ (WebCore::HTMLFormElement::rendererIsNeeded):
+ * html/HTMLFormElement.h:
+ (WebCore::HTMLFormElement::setDemoted):
+ (WebCore::HTMLFormElement::isDemoted):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::insertNode):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::addChild):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::addChild):
+
+2009-04-16 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=24527
+ caret does not paint the first time you focus on a 0px right padding RTL div
+
+ Test: fast/forms/caret-rtl.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::localCaretRect): When calculating x-axis if
+ alignment is alignRight, we need to subtract the caretWidth so that the
+ caret at IntRect(x, y, caretWidth, height) is inside the block.
+
+2009-04-16 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25228
+ SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)
+
+ Return the bounds of the transformed caret, not the transformed repaint rect for the caret (which is inflated).
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::localCaretRect):
+ (WebCore::SelectionController::absoluteBoundsForLocalRect):
+ (WebCore::SelectionController::caretRepaintRect):
+ (WebCore::SelectionController::recomputeCaretRect):
+ * editing/SelectionController.h:
+
+2009-04-16 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25187
+ Bug 25187: <video> may not be rendered upon certain racy conditions
+
+ Always create the video renderer when the load state reaches QTMovieLoadStateLoaded and
+ the element is visible, not just when the movie has just been opened.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::updateStates): Make sure we do not make false
+ assumption on the state changes order. Create the renderer if none is present,
+ when movie is loaded instead.
+
+2009-04-16 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add filterBoundingBox() to RenderSVGModelObject to share a tiny bit of code
+
+ RenderSVGModelObject has much more interesting code it can share,
+ but I'm just trying to get the commits out of my local branch and into
+ the repository in any order I can. :) This one was small.
+
+ This will be used by the unified RenderSVGModelObject
+ clippedOverflowRectForRepaint patch coming soon.
+
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::clippedOverflowRectForRepaint):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
+ * rendering/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::filterBoundingBox):
+ * rendering/RenderSVGModelObject.h:
+
+2009-04-16 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Eric Seidel and Adam Roben.
+
+ More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Simplified some EventHandler creation code.
+
+ Removed a pile of code whose sole purpose was to allow SVG event handlers
+ to supply a parameter named "evt" instead of the normal "event", and
+ replaced it with a single parameter to JSLazyEventListener's constructor
+ specifying the parameter name to use.
+
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::JSLazyEventListener):
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/js/JSLazyEventListener.h:
+ (WebCore::JSLazyEventListener::create):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::createInlineEventListener):
+ * bindings/js/ScriptController.h:
+ * dom/Document.cpp:
+ (WebCore::Document::createEventListener):
+
+2009-04-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox
+ in preparation for simplifying (and fixing) repaint logic in the SVG rendering tree.
+ https://bugs.webkit.org/show_bug.cgi?id=25224
+
+ objectBoundingBox() matches the SVG 1.1 concept of a "bounding box"
+
+ repaintRectInLocalCoordinates() should return the a rect covering all painted content.
+ However, repaintRectInLocalCoordinates() still only returns the "stroke bounding box"
+ in this patch. In a future patch, repaintRectInLocalCoordinates will be fixed to return
+ a rect covering all painted content. In order to avoid changing several hundred layout test results, I've left
+ the behavior as-is for now. The returned rect is used by various repaintRectInLocalCoordinates
+ implementations and sometimes adjusted to include all painted content, but not always, and
+ the places where the adjustments are made are sometimes wrong. Again, will be fixed in
+ an upcoming patch.
+
+ This patch discovered a bug in Font::drawTextUsingSVGFont, which is probably causing
+ bounding-box relative gradients on SVGFont glyphs to not paint correctly.
+ I chose not to try and fix the bug in this patch and instead left a FIXME.
+
+ This patch also discovered that at least tspan.getBBox() is broken. This
+ along with the foreignObject.getBBox() change will be tested (and fixed) in a
+ later patch. https://bugs.webkit.org/show_bug.cgi?id=25225
+
+ No change in behavior (besides the above mentioned foreignObject.getBBox()), thus no tests.
+
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::objectBoundingBox): this is a behavior improvement for getBBox() test case coming in a later patch
+ (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): only really used for layout test results, might some day be used for repaint.
+ * rendering/RenderForeignObject.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::objectBoundingBox): new methods, ASSERT if used but not implemented.
+ (WebCore::RenderObject::repaintRectInLocalCoordinates):
+ * rendering/RenderObject.h:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::objectBoundingBox):
+ (WebCore::RenderPath::repaintRectInLocalCoordinates):
+ (WebCore::RenderPath::clippedOverflowRectForRepaint):
+ (WebCore::RenderPath::lineHeight):
+ (WebCore::RenderPath::baselinePosition):
+ (WebCore::RenderPath::paint):
+ (WebCore::RenderPath::addFocusRingRects):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::paint):
+ (WebCore::RenderSVGContainer::objectBoundingBox):
+ (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGGradientStop.h:
+ (WebCore::RenderSVGGradientStop::objectBoundingBox):
+ (WebCore::RenderSVGGradientStop::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGHiddenContainer.cpp:
+ (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
+ (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGHiddenContainer.h:
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::objectBoundingBox):
+ (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
+ (WebCore::RenderSVGImage::calculateAbsoluteBounds):
+ (WebCore::RenderSVGImage::addFocusRingRects):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paint):
+ (WebCore::RenderSVGRoot::objectBoundingBox):
+ (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGTSpan.h:
+ (WebCore::RenderSVGTSpan::objectBoundingBox):
+ (WebCore::RenderSVGTSpan::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
+ (WebCore::RenderSVGText::absoluteRects):
+ (WebCore::RenderSVGText::absoluteQuads):
+ (WebCore::RenderSVGText::objectBoundingBox):
+ (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
+ * rendering/RenderSVGText.h:
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::viewportTransform):
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::computeContainerBoundingBox):
+ * rendering/SVGRenderSupport.h:
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::operator<<):
+ * svg/SVGFont.cpp:
+ (WebCore::Font::drawTextUsingSVGFont):
+ * svg/SVGLocatable.cpp:
+ (WebCore::SVGLocatable::getBBox):
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::buildPattern):
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::createMaskAndSwapContextForTextGradient):
+ (WebCore::clipToTextMask):
+ (WebCore::SVGPaintServerGradient::setup):
+ * svg/graphics/SVGPaintServerPattern.cpp:
+ (WebCore::SVGPaintServerPattern::setup):
+
+2009-04-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6032139> Table cell widths calculated
+ incorrectly on table that uses table-layout:fixed, colspans, and a mix
+ of percentage and pixel widths
+
+ Test: fast/table/fixed-granular-cols.html
+
+ The incorrect widths resulted from incorrect handling of the case where
+ the <col> elements are more granular than the table cells.
+
+ * rendering/FixedTableLayout.cpp:
+ (WebCore::FixedTableLayout::calcWidthArray): When processing <col>
+ elements, append effective columns or split existing effective columns
+ as needed.
+
+2009-04-16 Alexey Proskuryakov <ap@webkit.org>
+
+ <rdar://problem/6795285> Infinite recursion in ResourceHandle::receivedRequestToContinueWithoutCredential
+
+ Rolled out <http://trac.webkit.org/projects/webkit/changeset/42536> - the two instances of
+ authentication challenge are different, after all. Added a FIXME comment about a possible
+ future improvement.
+
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::clearAuthentication):
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ (WebCore::ResourceHandle::receivedCredential):
+ (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
+ (WebCore::ResourceHandle::receivedCancellation):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
+ (WebCore::ResourceHandle::receivedCredential):
+ (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
+ (WebCore::ResourceHandle::receivedCancellation):
+
+2009-04-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Also fixed <rdar://problem/6792909> WebInspector crashes when reloading
+ a page with breakpoints set
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::clearJSFunctionInline):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h: Actually clear our function and global
+ object pointers when our client instructs us to. (Oops!) Also, mark
+ our global object while we still intend to use it.
+
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::mark):
+ (WebCore::toJS):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * svg/SVGElementInstance.idl: For every SVGElementInstance wrapper, ensure
+ that the corresponding element also has a wrapper, to keep its event
+ listeners alive.
+
+2009-04-15 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25201
+ Add ScriptFunctionCall/ScriptObject for V8.
+
+ * bindings/v8/ScriptFunctionCall.cpp: Added.
+ * bindings/v8/ScriptFunctionCall.h: Added.
+ * bindings/v8/ScriptObject.cpp: Added.
+ * bindings/v8/ScriptObject.h: Added.
+ * bindings/v8/ScriptObjectQuarantine.cpp: Added.
+ * bindings/v8/ScriptObjectQuarantine.h: Added.
+ * bindings/v8/ScriptScope.cpp: Added.
+ * bindings/v8/ScriptScope.h: Added.
+ * bindings/v8/ScriptState.h:
+ (WebCore::ScriptState::ScriptState): Added new constructors.
+ (WebCore::ScriptState::frame): Added Frame ptr accessor.
+ * bindings/v8/ScriptString.h:
+ (WebCore::ScriptString::ScriptString): Added default constructor.
+ * bindings/v8/ScriptValue.h:
+ (WebCore::ScriptValue::isEqual): Added.
+
+2009-04-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed build fix. Add RenderSVGModelObject.* to GTK+'s build.
+
+ * GNUmakefile.am:
+
+2009-04-15 Steve Falkenburg <sfalken@apple.com>
+
+ <rdar://problem/6785760> WebCore should use a maximum of 6 connections per host, not 4
+
+ Reviewed by Adam Roben.
+
+ * platform/network/ResourceRequestBase.cpp:
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::initializeMaximumHTTPConnectionCountPerHost):
+
+2009-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add special casing to bindings generator so that custom functions
+ starting with xml or xslt conform to WebKit style guidelines.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::xmlHttpRequest):
+ (WebCore::JSDOMWindow::xsltProcessor):
+ * bindings/scripts/CodeGenerator.pm:
+
+2009-04-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Add minimal RenderSVGModelObject and make RenderPath and RenderSVGContainer use it.
+ https://bugs.webkit.org/show_bug.cgi?id=25221
+
+ RenderSVGModelObject is the base rendering class for things which live
+ in the SVG rendering tree. Not all SVG renders are RenderSVGModelObjects yet.
+
+ More patches coming. This is just adding the class, future patches
+ will pull more logic out of RenderPath and RenderSVGContainer into RenderSVGModelObject.
+
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::RenderPath):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::RenderSVGContainer):
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGModelObject.cpp: Added.
+ (WebCore::RenderSVGModelObject::RenderSVGModelObject):
+ * rendering/RenderSVGModelObject.h: Added.
+ (WebCore::RenderSVGModelObject::requiresLayer):
+ * rendering/RenderTreeAsText.cpp:
+ * rendering/SVGRenderTreeAsText.cpp:
+
+2009-04-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Remove more dead code from RenderSVGHiddenContainer.
+
+ lineHeight and baselinePosition used to be on RenderSVGContainer
+ (of which this is a subclass) because RenderSVGContainer used
+ to be a RenderBox and always the renderer for <svg>
+ Now <svg> uses RenderSVGRoot when needing a RenderBox (inside HTML)
+ and RenderSVGViewportContainer (when inside SVG content)
+ so there is no need for RenderSVGHiddenContainer to have these HTML-specific methods.
+
+ * rendering/RenderSVGHiddenContainer.cpp:
+ * rendering/RenderSVGHiddenContainer.h:
+
+2009-04-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Remove unneeded (broken) code from SVG renderers
+ https://bugs.webkit.org/show_bug.cgi?id=25214
+
+ Mostly due to my historical confusions about the render tree
+ and some methods not being removed after classes were split.
+
+ RenderSVGRoot is an RenderBox and should just use all the
+ standard RenderBox methods for inspector and repaint rects.
+
+ RenderSVGContainer is *not* a RenderBox (any more) and thus
+ doesn't need lineHeight or width/height or calcBounds.
+
+ RenderSVGViewportContainer had some broken code which tried
+ to see if the click was inside the container at all, but it
+ was using width/height metrics based off of the containing
+ block (from calcWidth) which is wrong (since its real
+ width/height are from its containing viewport not containing block).
+
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::RenderSVGContainer):
+ (WebCore::RenderSVGContainer::layout):
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGRoot.cpp:
+ * rendering/RenderSVGRoot.h:
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::layout):
+ (WebCore::RenderSVGViewportContainer::nodeAtPoint):
+
+2009-04-15 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser and Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25217
+ Simplify nearestViewportElement and farthestViewportElement using isViewportElement and a for loop
+ Add ASSERT(element) to all these functions since they should never be passed a null element.
+
+ * svg/SVGLocatable.cpp:
+ (WebCore::isViewportElement):
+ (WebCore::SVGLocatable::nearestViewportElement):
+ (WebCore::SVGLocatable::farthestViewportElement):
+ (WebCore::SVGLocatable::getBBox):
+ (WebCore::SVGLocatable::getCTM):
+ (WebCore::SVGLocatable::getScreenCTM):
+
+2009-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove support for the ObjCIvar extended attribute from the Objective-C
+ bindings generator. It is not used anymore.
+
+ * bindings/scripts/CodeGeneratorObjC.pm:
+
+2009-04-15 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25204
+ Create a fast path for ReplaceSelectionCommand that merges text nodes
+
+ During simple pastes, where we're just pasting a text node into a run of text, we would split the current
+ text and insert the new node in between. This is slow and we hit this bug:
+
+ https://bugs.webkit.org/show_bug.cgi?id=6148
+
+ in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic.
+
+ This change creates a fast path for ReplaceSelectionCommand that inserts text directly into the
+ text node that holds the selection (very similar to the fast path we wrote for InsertTextCommand).
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply):
+ (WebCore::ReplaceSelectionCommand::performTrivialReplace):
+ * editing/ReplaceSelectionCommand.h:
+ * editing/TextIterator.cpp:
+
+2009-04-15 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Move VDMX parsing into the Chromium Linux port.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25116
+
+ VDMX tables are optional tables in TrueType fonts which contain the
+ exact pixel height of a given font at a given pel size. In order to
+ match Windows font metrics we have to use these numbers.
+
+ Previously, the parsing was performed in Skia. As part of the merge
+ with upstream Skia, an interface for getting table data from a font
+ has been added to Skia and we're moving the parsing into WebKit.
+
+ This does not change any layout tests.
+
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::uniqueID):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+ * platform/graphics/chromium/FontTrueTypeLinux.cpp: Added.
+ * platform/graphics/chromium/FontTrueTypeLinux.h: Added.
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+
+2009-04-15 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25180
+
+ Restore stroked outlines to PlatformContextSkia::drawRect().
+ These were removed inadvertently in r41805, aka
+ https://bugs.webkit.org/show_bug.cgi?id=24662.
+ SkRect is { left, top, right, bottom }, not { left, top, width, height }.
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::drawRect):
+
+2009-04-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6777374> Generated content with display: run-in
+ causes a crash
+
+ Test: fast/runin/generated.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::handleRunInChild): Check if the run-in block is
+ generated, and if so, make the RenderInline anonymous instead of passing
+ a 0 node to the RenderInline constructor. If the run-in itself is
+ generated, do move :before and :after children from the block into the
+ inline, as they will not be regenerated. Changed nested ifs into early
+ returns.
+
+2009-04-15 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25192
+
+ Expose DOMWindow::removeInlineEventListenerForType and
+ DOMWindow::inlineEventListenerForType as public.
+
+ * page/DOMWindow.h:
+
+2009-04-14 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25198
+
+ Wrap RegisteredEventListener's markEventListeners and invalidateEventListeners
+ in a USE(JSC), since it doesn't compile with V8 bindings.
+
+ * dom/RegisteredEventListener.h:
+
+2009-04-15 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25194
+
+ Fix a caller of Settings::javaScriptCanOpenWindowsAutomatically() to
+ use the new name.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+
+2009-04-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Don't keep platform objects for authentication challenge in ResourceHandleInternal.
+ We already have a copy in AuthenticationChallenge object.
+
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::clearAuthentication):
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ (WebCore::ResourceHandle::receivedCredential):
+ (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
+ (WebCore::ResourceHandle::receivedCancellation):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
+ (WebCore::ResourceHandle::receivedCredential):
+ (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
+ (WebCore::ResourceHandle::receivedCancellation):
+
+2009-04-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Nixed some now-defunct autogeneration code.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-04-14 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix <rdar://problem/6755724> <audio> and <video> elements can reference local
+ file:/// URLs from remote in Safari
+
+ Tests: http/tests/security/local-video-poster-from-remote.html
+ http/tests/security/local-video-source-from-remote.html
+ http/tests/security/local-video-src-from-remote.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loadResource): Don't pass url to media engine unless loader->canLoad()
+ says it is OK.
+
+2009-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Part of <rdar://problem/6150868>
+ Fix incorrect handling of content that needs to go into the head element
+ once the head element has been removed.
+
+ Test: fast/parser/head-content-after-head-removal.html
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::HTMLParser): Remove unneeded initializer of m_head.
+ (WebCore::HTMLParser::handleError): Update since m_head is now a RefPtr.
+ (WebCore::HTMLParser::createHead): Ditto.
+ * html/HTMLParser.h: Make m_head a RefPtr.
+
+2009-04-14 Geoffrey Garen <ggaren@apple.com>
+
+ Used svn merge -r42529:42528 to roll out my last patch because it broke
+ the build.
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
+ (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
+ (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
+ (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
+ * bindings/js/JSDOMGlobalObject.h:
+
+2009-04-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Nixed some now-dead code related to protected event listeners.
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
+ * bindings/js/JSDOMGlobalObject.h:
+
+2009-04-14 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Stop using protected event listeners on SVGElementInstance.
+
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::mark): Mark our event listeners, since
+ they're not protected anymore.
+
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener): Make unprotected
+ event listeners, since we mark them now.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Autogenerate event listener
+ invalidation for SVGElementInstance.
+
+ * svg/SVGElementInstance.h:
+ (WebCore::SVGElementInstance::eventListeners): Added an accessor, for
+ the sake of autogenerated code.
+
+ * svg/SVGElementInstance.idl: Removed the ProtectedEventListener attribute
+ from event listener properties. Added a CustomMarkFunction attribute,
+ since we need to mark our event listeners.
+
+2009-04-14 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-04-14 Steve Falkenburg <sfalken@apple.com>
+
+ Add header guards to WebCore forwarding headers.
+
+ Speeds up WebCore debug build on Windows by 12% on my system,
+ since Visual Studio appears to not optimize for standard header
+ guards in included files.
+
+ Rubber stamped by Ada Chan.
+
+ * ForwardingHeaders/debugger/Debugger.h:
+ * ForwardingHeaders/debugger/DebuggerActivation.h:
+ * ForwardingHeaders/debugger/DebuggerCallFrame.h:
+ * ForwardingHeaders/interpreter/CallFrame.h:
+ * ForwardingHeaders/interpreter/Interpreter.h:
+ * ForwardingHeaders/masm/X86Assembler.h:
+ * ForwardingHeaders/parser/Parser.h:
+ * ForwardingHeaders/parser/SourceCode.h:
+ * ForwardingHeaders/parser/SourceProvider.h:
+ * ForwardingHeaders/pcre/pcre.h:
+ * ForwardingHeaders/profiler/Profile.h:
+ * ForwardingHeaders/profiler/ProfileNode.h:
+ * ForwardingHeaders/profiler/Profiler.h:
+ * ForwardingHeaders/runtime/ArgList.h:
+ * ForwardingHeaders/runtime/ArrayPrototype.h:
+ * ForwardingHeaders/runtime/BooleanObject.h:
+ * ForwardingHeaders/runtime/CallData.h:
+ * ForwardingHeaders/runtime/Collector.h:
+ * ForwardingHeaders/runtime/CollectorHeapIterator.h:
+ * ForwardingHeaders/runtime/Completion.h:
+ * ForwardingHeaders/runtime/ConstructData.h:
+ * ForwardingHeaders/runtime/DateInstance.h:
+ * ForwardingHeaders/runtime/Error.h:
+ * ForwardingHeaders/runtime/FunctionConstructor.h:
+ * ForwardingHeaders/runtime/FunctionPrototype.h:
+ * ForwardingHeaders/runtime/Identifier.h:
+ * ForwardingHeaders/runtime/InitializeThreading.h:
+ * ForwardingHeaders/runtime/InternalFunction.h:
+ * ForwardingHeaders/runtime/JSArray.h:
+ * ForwardingHeaders/runtime/JSByteArray.h:
+ * ForwardingHeaders/runtime/JSFunction.h:
+ * ForwardingHeaders/runtime/JSGlobalData.h:
+ * ForwardingHeaders/runtime/JSGlobalObject.h:
+ * ForwardingHeaders/runtime/JSLock.h:
+ * ForwardingHeaders/runtime/JSNumberCell.h:
+ * ForwardingHeaders/runtime/JSObject.h:
+ * ForwardingHeaders/runtime/JSString.h:
+ * ForwardingHeaders/runtime/JSValue.h:
+ * ForwardingHeaders/runtime/Lookup.h:
+ * ForwardingHeaders/runtime/ObjectPrototype.h:
+ * ForwardingHeaders/runtime/Operations.h:
+ * ForwardingHeaders/runtime/PropertyMap.h:
+ * ForwardingHeaders/runtime/PropertyNameArray.h:
+ * ForwardingHeaders/runtime/Protect.h:
+ * ForwardingHeaders/runtime/PrototypeFunction.h:
+ * ForwardingHeaders/runtime/StringObject.h:
+ * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h:
+ * ForwardingHeaders/runtime/StringPrototype.h:
+ * ForwardingHeaders/runtime/Structure.h:
+ * ForwardingHeaders/runtime/SymbolTable.h:
+ * ForwardingHeaders/runtime/UString.h:
+ * ForwardingHeaders/wrec/WREC.h:
+ * ForwardingHeaders/wtf/ASCIICType.h:
+ * ForwardingHeaders/wtf/AlwaysInline.h:
+ * ForwardingHeaders/wtf/Assertions.h:
+ * ForwardingHeaders/wtf/ByteArray.h:
+ * ForwardingHeaders/wtf/CurrentTime.h:
+ * ForwardingHeaders/wtf/Deque.h:
+ * ForwardingHeaders/wtf/DisallowCType.h:
+ * ForwardingHeaders/wtf/FastMalloc.h:
+ * ForwardingHeaders/wtf/Forward.h:
+ * ForwardingHeaders/wtf/GetPtr.h:
+ * ForwardingHeaders/wtf/HashCountedSet.h:
+ * ForwardingHeaders/wtf/HashFunctions.h:
+ * ForwardingHeaders/wtf/HashMap.h:
+ * ForwardingHeaders/wtf/HashSet.h:
+ * ForwardingHeaders/wtf/HashTable.h:
+ * ForwardingHeaders/wtf/HashTraits.h:
+ * ForwardingHeaders/wtf/ListHashSet.h:
+ * ForwardingHeaders/wtf/ListRefPtr.h:
+ * ForwardingHeaders/wtf/Locker.h:
+ * ForwardingHeaders/wtf/MainThread.h:
+ * ForwardingHeaders/wtf/MathExtras.h:
+ * ForwardingHeaders/wtf/MessageQueue.h:
+ * ForwardingHeaders/wtf/Noncopyable.h:
+ * ForwardingHeaders/wtf/NotFound.h:
+ * ForwardingHeaders/wtf/OwnArrayPtr.h:
+ * ForwardingHeaders/wtf/OwnPtr.h:
+ * ForwardingHeaders/wtf/PassRefPtr.h:
+ * ForwardingHeaders/wtf/Platform.h:
+ * ForwardingHeaders/wtf/PtrAndFlags.h:
+ * ForwardingHeaders/wtf/RandomNumber.h:
+ * ForwardingHeaders/wtf/RefCounted.h:
+ * ForwardingHeaders/wtf/RefCountedLeakCounter.h:
+ * ForwardingHeaders/wtf/RefPtr.h:
+ * ForwardingHeaders/wtf/RetainPtr.h:
+ * ForwardingHeaders/wtf/StdLibExtras.h:
+ * ForwardingHeaders/wtf/StringExtras.h:
+ * ForwardingHeaders/wtf/ThreadSpecific.h:
+ * ForwardingHeaders/wtf/Threading.h:
+ * ForwardingHeaders/wtf/TypeTraits.h:
+ * ForwardingHeaders/wtf/UnusedParam.h:
+ * ForwardingHeaders/wtf/Vector.h:
+ * ForwardingHeaders/wtf/VectorTraits.h:
+ * ForwardingHeaders/wtf/dtoa.h:
+ * ForwardingHeaders/wtf/unicode/Collator.h:
+ * ForwardingHeaders/wtf/unicode/UTF8.h:
+ * ForwardingHeaders/wtf/unicode/Unicode.h:
+ * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h:
+
+2009-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ Use a template function to generalize the way we create non-caching
+ JS function getters.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::nonCachingStaticFunctionGetter):
+ (WebCore::JSDOMWindow::customGetOwnPropertySlot):
+
+2009-04-14 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25099
+
+ When creating a QNetworkRequest make sure to populate the
+ CacheLoadControlAttribute with the value set by the ResourceRequest::cachePolicy() so that the cache will be used as WebKit expects.
+
+ * WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::requestCache):
+
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+
+2009-04-14 Timothy Hatcher <timothy@apple.com>
+
+ Fix a world leak caused by opening the Web Inspector. This was
+ a regression caused by the InspectorController becoming refcounted.
+
+ <rdar://problem/6782944>
+
+ Reviewed by Darin Adler.
+
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::get): Renamed to better match the
+ other functions.
+ (WebCore::ScriptGlobalObject::remove): Added. Deletes the property.
+ * bindings/js/ScriptObject.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::~InspectorController): Do less work
+ at destruction time since the object lifetime is tied to JS GC.
+ Assert that inspectedPageDestroyed cleared everything needed.
+ (WebCore::InspectorController::inspectedPageDestroyed): Do most
+ of the work that ~InspectorController was doing.
+ (WebCore::InspectorController::scriptObjectReady): Renamed getObject.
+
+2009-04-14 Antony Sargent <asargent@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ This is some cleanup motivated by the crash in http://crbug.com/9775 , which
+ happens because of calling window.open inside a window.onload handler.
+
+ These changes are just part of the fix, along with some asserts to help prevent
+ breakage on future changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25132
+
+ * bindings/v8/V8EventListenerList.cpp:
+ (WebCore::V8EventListenerList::add):
+ (WebCore::V8EventListenerList::remove):
+ (WebCore::V8EventListenerList::clear):
+ * bindings/v8/V8EventListenerList.h:
+ (WebCore::V8EventListenerList::size):
+
+2009-04-14 Evan Martin <evan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25142
+ Fix a race that can occur between flex and the perl script that parses
+ its output.
+
+ * css/maketokenizer: Consume all input.
+
+2009-04-14 Rohit Rao <rohitrao@google.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25184
+ Do not change the text color for selected text in Mac Chromium.
+
+ * rendering/RenderThemeChromiumMac.h:
+ (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
+ Now returns false, matching the behavior of Safari on Mac.
+
+2009-04-14 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25172
+ Extra partial layout during the first keypress in an empty block
+
+ Determining if a placeholder needs to be removed requires the creation of a VisiblePosition
+ which was triggering layout before we were finished modifying the DOM for the insert operation.
+
+ Find out if we need to remove a placeholder near the start of the operation, and if we do remember
+ where it's located. Then, later, remove it along with all of the other DOM operations we perform.
+
+ Renamed lineBreakExistsAtPosition to lineBreakExistsAtVisiblePosition and added a lineBreakExistsAtPosition
+ that takes in a Position. In InsertTextCommand, we can use the latter, since we normalize manually.
+
+ removePlaceholderAt now takes in a Position that it assumes has already been checked for a placeholder.
+
+ No test added as this only effects performance.
+
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::removePlaceholderAt):
+ (WebCore::CompositeEditCommand::moveParagraphs):
+ (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
+ (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
+ * editing/CompositeEditCommand.h:
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
+ (WebCore::DeleteSelectionCommand::doApply):
+ * editing/FormatBlockCommand.cpp:
+ (WebCore::FormatBlockCommand::doApply):
+ * editing/InsertLineBreakCommand.cpp:
+ (WebCore::InsertLineBreakCommand::doApply):
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::input):
+ * editing/htmlediting.cpp:
+ (WebCore::lineBreakExistsAtVisiblePosition):
+ (WebCore::lineBreakExistsAtPosition):
+ * editing/htmlediting.h:
+
+2009-04-14 Adam Roben <aroben@apple.com>
+
+ Remove support for profile-guided optimization on Windows
+
+ Rubber-stamped by Steve Falkenburg.
+
+ * WebCore.vcproj/WebCore.vcproj: Removed the Release_PGO
+ configuration.
+
+2009-04-14 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25163
+ Upstream fix for releasing v8 objects on worker thread termination in Chromium.
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::domDataList): Now uses Vector instead of HashMap.
+ (WebCore::domDataListMutex):
+ (WebCore::ThreadSpecificDOMData::ThreadSpecificDOMData): remove usage of currentThread();
+ (WebCore::ThreadSpecificDOMData::~ThreadSpecificDOMData): ditto.
+ (WebCore::NonMainThreadSpecificDOMData::~NonMainThreadSpecificDOMData): moved call to removeAllDOMObjectsInCurrentThread() to ~WorkerScriptController.
+ (WebCore::handleWeakObjectInOwningThread):
+ (WebCore::derefDelayedObjects):
+ (WebCore::removeAllDOMObjectsInCurrentThread): not static anymore.
+ * bindings/v8/V8DOMMap.h:
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::dispose): removed code that avoided dual-dereference of WorkerContext.
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): this ref() is countered in removeAllDOMObjectsInCurrentThread(), when the WorkerContext is removed from the v8 map.
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::~WorkerScriptController):
+
+2009-04-14 Adam Roben <aroben@apple.com>
+
+ Fix Bug 25183: Split up WebCore.vcproj's settings into vsprops files
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25183>
+
+ WebCore.vcproj now uses a set of .vsprops files to store most of its
+ settings.
+
+ Reviewed by Darin Adler.
+
+ * WebCore.vcproj/WebCore.vcproj: Moved settings from here into the new
+ .vsprops files.
+
+ * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added. Contains settings
+ for ports that build against CFNetwork.
+ * WebCore.vcproj/WebCoreCG.vsprops: Added. Contains settings for ports
+ that build against CoreGraphics.
+ * WebCore.vcproj/WebCoreCURL.vsprops: Added. Contains settings for
+ ports that build against libcurl.
+ * WebCore.vcproj/WebCoreCairo.vsprops: Added. Contains settings for
+ ports that build against Cairo.
+ * WebCore.vcproj/WebCoreCommon.vsprops: Added. Contains settings
+ shared by all ports.
+ * WebCore.vcproj/WebCoreMediaQT.vsprops: Added. Contains settings for
+ ports that use QTMovieWin to implement the MediaPlayerPrivate
+ interface.
+ * WebCore.vcproj/WebCorePthreads.vsprops: Added. Contains settings for
+ ports that build against pthreads.
+
+2009-04-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ http/tests/xmlhttprequest/basic-auth.html fails on Tiger.
+
+ Turns out that NSURLCredentialPersistenceNone doesn't work on Tiger, so we have to use
+ session persistence.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Route the credential through
+ receivedCredential(), ensuring that the Tiger-specific need to use session credentials
+ is honored.
+ (WebCore::ResourceHandle::receivedCredential): On Tiger, change PersistenceNone to
+ PersistenceForSession, because the former doesn't work.
+
+2009-04-14 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line
+
+ Test: editing/inserting/6703873.html
+
+ * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
+ If the startNode's original parent is now empty, we can remove it. Its already been cloned and copied with the startNode,
+ so we only need to keep it around if it actually holds some original content, otherwise it will look like an extra empty
+ container in the document.
+
+2009-04-14 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Add a proper implementation of AtkText::get_text and
+ AtkText::get_character_count, which takes into account non
+ TextControl text. With this the 'Text' field in Accerciser's
+ Interface Viewer is filled correctly.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-14 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Remove some dead code and g_return_if_fail from static functions.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-14 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Also implement text interface for StaticTextRole, which covers
+ most of the text in web pages.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Another Windows build fix.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::WebCoreSynchronousLoader::load):
+
+2009-04-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Windows build fix.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::WebCoreSynchronousLoader::willSendRequest):
+ (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
+
+2009-04-13 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6698851> Implement XMLHttpRequest withCredentials attribute
+
+ * WebCore.xcodeproj/project.pbxproj: Made ThreadableLoader.h private, as enum definitions
+ from it are now used in otehr private headers.
+
+ * xml/XMLHttpRequest.h:
+ * xml/XMLHttpRequest.idl:
+ Added withCredentials attribute. When it is false (default), neither credentials nor cookies
+ are sent with cross origin requests, When it is true, those are sent, but the server needs
+ to allow handling results via Access-Control-Allow-Credentials header. It was always possible
+ to send a cross-site request with credentials via IFRAME or IMG, so this just adds a way to
+ read results, as long as the server reports that it's allowed.
+ Having the default set to false ensures that requests won't fail unexpectedly because of
+ stored credentials and cookies for other resources in the target protection space.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::loadRequestSynchronously): Allow stored credentials for same origin
+ requests, and for cross origin ones that have withCredentials attribute set. Such code already
+ existed for cookies (but it's simpler, because we could just set a ResourceRequest flag).
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
+
+ * platform/network/ResourceHandle.h: Added willSendRequest() - just like for other callbacks,
+ is is easier to have code in the class. Also, loadResourceSynchronously() now takes a
+ StoredCredentials option, matching async case.
+
+ * platform/network/ResourceHandleClient.h:
+ (WebCore::ResourceHandleClient::receivedCredential): Removed. This method could never be
+ called, and no client used it.
+ (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): Ditto.
+
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal): Split username and password out
+ of request URL. We want to always get a callback for credentials to manage them in WebCore,
+ so network back-end shouldn't see them too early.
+
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::removeCredentials):
+ * platform/network/ResourceRequestBase.h:
+ Added a removeCredentials() method that removes login and password parts from request URL.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCoreCredentialStorage): Added a simple storage class for per-session credentials.
+ (WebCore::ResourceHandle::loadResourceSynchronously): Pass allowStoredCredentials through.
+ (WebCore::ResourceHandle::willSendRequest): On a redirect, credentials should be replaced.
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try credentials from the URL
+ and per-session credentials. Code was partially moved from Obj-C callback.
+ (WebCore::ResourceHandle::receivedCredential): Intercept per-session credentials and store
+ them in WebCore storage.
+ (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Don't
+ store the redirected URL - we only needed credentials, which are now stored separately.
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Removed
+ code that was setting credentials from URL. First, the code is now in ResourceHandle, and
+ also, it wasn't actually needed in Leopard release before this patch, see <rdar://problem/5298142>.
+ (-[WebCoreSynchronousLoader dealloc]): Release credentials. Note that unlike ResourceHandle,
+ this class still needs to track URL for checking whether a redirect is allowed. This is
+ not a great solution, and we should unify client code to use the same checks in sync and
+ async cases.
+ (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Just like in
+ async case, put credentials aside to ensure that network back-end asks for them.
+ (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Use credentials
+ from URL, or from WebCore storage.
+ (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Don't use stored
+ credentials when not allowed to.
+ (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
+ Put credentials aside to ensure that network back-end asks for them.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::WebCoreCredentialStorage::set):
+ (WebCore::WebCoreCredentialStorage::get):
+ (WebCore::willSendRequest):
+ (WebCore::ResourceHandle::start):
+ (WebCore::ResourceHandle::willSendRequest):
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ (WebCore::ResourceHandle::receivedCredential):
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+ (WebCore::WebCoreSynchronousLoader::willSendRequest):
+ (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
+ (WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):
+ (WebCore::WebCoreSynchronousLoader::load):
+ Same changes as in Mac case.
+
+ * platform/network/curl/ResourceHandleCurl.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+ * platform/network/qt/ResourceHandleQt.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+ Trying not to break the build.
+
+ * dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc):
+ * xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc):
+ Unconditionally allow stored credentials for these, as they only support same origin loads.
+
+ * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts):
+ WorkerContext.importScripts() can be cross-origin, but sending credentials with it is no worse
+ than sending them with <script src=...>, so this is also unconditionally allowed.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Pass through storedCredentials.
+ (WebCore::DocumentThreadableLoader::create): Ditto.
+ (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Save storedCredentials and
+ sameOrigin flags foruse in callbacks.
+ (WebCore::DocumentThreadableLoader::willSendRequest): Assert that loaders aren't all confused.
+ (WebCore::DocumentThreadableLoader::didSendData): Ditto.
+ (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
+ (WebCore::DocumentThreadableLoader::didReceiveData): Ditto.
+ (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
+ (WebCore::DocumentThreadableLoader::didFail): Ditto.
+ (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Don't use credential
+ storage if that's not allowed by the code that invoked DocumentThreadableLoader.
+ (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Simulate a failure
+ and cancel the request if we are about to ask the user for credentials for a cross-origin
+ request, which is forbidden by CORS (and would have been very confusing if allowed).
+ (WebCore::DocumentThreadableLoader::receivedCancellation): Assert that loaders aren't all confused.
+
+ * loader/DocumentThreadableLoader.h: Updated for the new flags (storedCredentials and
+ sameOrigin) that affect the loader. Eventually, we need to move all CORS logic from XHR here.
+
+ * loader/ThreadableLoader.h: (StoredCredentials): Added another flag that affects loader
+ behavior. We should combine all of these into a structure, and use it for sync requests, too.
+
+ * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
+ * loader/FrameLoader.h:
+ * loader/ThreadableLoader.cpp:
+ (WebCore::ThreadableLoader::create):
+ (WebCore::ThreadableLoader::loadResourceSynchronously):
+ * loader/WorkerThreadableLoader.cpp:
+ (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
+ (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
+ (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
+ * loader/WorkerThreadableLoader.h:
+ (WebCore::WorkerThreadableLoader::create):
+ Pass through storedCredentials.
+
+2009-04-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Remove an outdated comment in ScrollView.h
+
+ * platform/ScrollView.h:
+
+2009-04-13 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25177
+
+ QTTrack's -media method always return NULL in 64-bit QTKit, so
+ MediaPlayerPrivate::disableUnsupportedTracks should use
+ QTTrackMediaTypeAttribute to get a track's type.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
+
+2009-04-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ Stop using protected event listeners on the window object.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::mark): Mark our event listeners, since they're
+ no longer protected.
+
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener): Create unprotected event
+ listeners, since we mark them now.
+
+ * bindings/js/JSEventListener.h: Made some functions public so
+ DOMWindow could call them.
+
+ * bindings/js/JSNodeCustom.cpp: Moved markEventListeners to a header,
+ so it could be shared.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Generate event listener marking
+ and invalidating code for the DOMWindow.
+
+ * dom/RegisteredEventListener.h:
+ (WebCore::markEventListeners):
+ (WebCore::invalidateEventListeners): Added helper functions.
+
+ * page/DOMWindow.idl: Make the window's event listener attributes not
+ protected.
+
+2009-04-13 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25155
+
+ OS X standalone media documents should not switch from <video> to <embed> when
+ QTKit load state is QTMovieLoadStateLoading as that happens frequently when a loading
+ with a slow network connection or when a movie is not saved fast-start.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::updateStates): Don't open movie with plug-in when QTKit's
+ loadstate is QTMovieLoadStateLoading, wait until it drops below QTMovieLoadStateError.
+
+2009-04-13 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24453
+ REGRESSION: If setTimeout is called on a iframe's window, the DOM changes to
+ the main document that timer callback makes are not flushed.
+
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ Use Document::updateStyleForAllDocuments() instead of document->updateStyleIfNeeded()
+ since timers may affect documents other then their own.
+
+2009-04-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by David Hyatt.
+
+ Check document for nullity to avoid crashing on GTK+, when
+ creating the WebView.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::needsLayout):
+
+2009-04-13 Ada Chan <adachan@apple.com>
+
+ Forgot to capitalize the "US".
+
+ * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
+ (WebCore::currentTextBreakLocaleID):
+
+2009-04-13 Ada Chan <adachan@apple.com>
+
+ <rdar://problem/6564956> URL field double-click selects entire domain, rather than single word or entire URL
+ Revert back to the old word breaking behavior by using en_US_POSIX locale.
+
+ Reviewed by Steve Falkenburg.
+
+ * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
+ (WebCore::currentTextBreakLocaleID):
+
+2009-04-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ * platform/cf/BinaryPropertyList.cpp: Added comment.
+ * platform/cf/BinaryPropertyList.h: Fixed mistakes in comments.
+
+2009-04-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks
+ https://bugs.webkit.org/show_bug.cgi?id=25158
+ rdar://problem/6769693
+
+ Test: editing/selection/click-after-nested-block.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::isChildHitTestCandidate): Added. Helper so the two loops in positionForPoint
+ can share code.
+ (WebCore::RenderBlock::positionForPoint): Removed unneeded special case for first
+ child box. Changed special case for last child box to propertly handle the various
+ types of child box that are not hit test candidates (the same ones already handled
+ by the hit test loop below), adding in a loop so we find the last candidate.
+
+2009-04-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when
+ it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
+
+ * WebCore.base.exp:
+ * page/FrameView.h:
+ (WebCore::FrameView::visibleContentsResized):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/ScrollView.h:
+
+2009-04-13 Adam Roben <aroben@apple.com>
+
+ Add SharedBuffer::wrapCFData
+
+ This is the CF-equivalent of wrapNSData.
+
+ Reviewed by Brady Eidson.
+
+ * platform/SharedBuffer.h:
+ * platform/cf/SharedBufferCF.cpp:
+ (WebCore::SharedBuffer::wrapCFData):
+
+2009-04-13 Dan Bernstein <mitz@apple.com>
+
+ - build fix
+
+ * page/EventHandler.cpp:
+ (WebCore::documentPointForWindowPoint):
+
+2009-04-13 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6740294> Increase the connection count per host
+
+ Try to use six connections per host if possible.
+
+ * WebCore.base.exp:
+ * loader/loader.cpp:
+ (WebCore::Loader::Loader):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::initMaximumHTTPConnectionCountPerHost):
+ * platform/network/ResourceRequestBase.h:
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::initMaximumHTTPConnectionCountPerHost):
+
+2009-04-13 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25153
+ Can't place the caret into text field that scrolls the window on focus
+
+ We refetch the target node in the shadow node case, and when we do so the window coordinate for the mouse event may
+ be invalid because of scrolling that the focus handler did. Cache the document point (that we derived from the window
+ coordinate) and use that any time we refetch.
+
+ * page/EventHandler.cpp:
+ (WebCore::documentPointForWindowPoint):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::prepareMouseEvent):
+
+2009-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Rename JavaScriptCanOpenWindowsAutomatically to javaScriptCanOpenWindowsAutomatically
+ to conform to our style guidelines.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::allowPopUp):
+ * page/Settings.h:
+ (WebCore::Settings::javaScriptCanOpenWindowsAutomatically):
+
+2009-04-13 Geoffrey Garen <ggaren@apple.com>
+
+ Mac build fix: Made another header private.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-04-13 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25121
+ Upstream changes to handle error messages from V8 when running worker script.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::reportFatalErrorInV8):
+ (WebCore::handleConsoleMessage):
+ (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
+ (WebCore::WorkerContextExecutionProxy::dispose):
+ (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+
+2009-04-13 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: Made setInlineEventListenerForType not inline, since Document
+ calls it now. Made RegisteredEventListener.h a private header on Mac,
+ so WebKit can use it.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::setInlineEventListenerForType):
+
+2009-04-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/6404439> REGRESSION: Overlapping text and other
+ layout issues in View Sample feature of MYOB FIrstEdge v3
+
+ * page/Navigator.cpp:
+ (WebCore::shouldHideFourDot): Added "tdqm_loader.js" to the list of
+ JavaScript files this quirk applies to.
+
+2009-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Move open and showModalDialog functions out of JSDOMWindowBase
+ and into JSDOMWindow by partially generating them.
+
+ This slightly changes the behavior of getting window.showModalDialog
+ when the embedding app does not support it to return undefined regardless
+ of shadowing. This should not be an issue in a practice, but will be addressed
+ when we add a generic way to handle runtime specialization of property
+ access.
+
+ * DerivedSources.make: Remove JSDOMWindowBase.lut.h
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::):
+ (WebCore::JSDOMWindowBase::getOwnPropertySlot): Move canShowModalDialog check from
+ here to JSDOMWindow::customGetOwnPropertySlot.
+ (WebCore::JSDOMWindowBase::put): Remove dead code.
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::createWindow):
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::JSDOMWindow::customGetOwnPropertySlot):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::parseModalDialogFeatures): Move from JSDOMWindowBase.
+ (WebCore::DOMWindow::allowPopUp): Ditto.
+ (WebCore::DOMWindow::canShowModalDialog): Ditto.
+ (WebCore::DOMWindow::canShowModalDialogNow): Ditto.
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+
+2009-04-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Moved storage for window event listeners into the window object.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener): Add / remove window event
+ listeners to / from the window object.
+
+ * dom/Document.cpp:
+ (WebCore::Document::removeAllEventListeners):
+ (WebCore::Document::clear):
+ (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): Moved
+ a bunch of code to the DOMWindow class, and left behind a few calls through
+ to DOMWindow, to support legacy clients. (Eventually, these will go away, too.)
+
+ * dom/Document.h: ditto.
+
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchGenericEvent):
+ (WebCore::Node::dispatchWindowEvent): Dipatch window events on the window
+ object, not the document.
+
+ * dom/Node.h:
+ * dom/RegisteredEventListener.h: Moved RegisteredEventListenerVector
+ declaration, since it's required in more places now.
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::clear): Updated for rename. Also, remove event
+ listeners before detaching and clearing the document's window pointer,
+ since the the document needs its window pointer in order to tell the window
+ to clear its event listeners.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::canCachePageContainingThisFrame):
+ (WebCore::FrameLoader::logCanCacheFrameDecision): Updated for rename, and
+ movement of window event listeners into the window.
+
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageDocument::createDocumentStructure): Updated for movement
+ of window event listeners into the window.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::handleEvent):
+ (WebCore::DOMWindow::addEventListener):
+ (WebCore::DOMWindow::removeEventListener):
+ (WebCore::DOMWindow::removeAllEventListeners):
+ (WebCore::DOMWindow::hasEventListener):
+ (WebCore::DOMWindow::setInlineEventListenerForType):
+ (WebCore::DOMWindow::removeInlineEventListenerForType):
+ (WebCore::DOMWindow::inlineEventListenerForType):
+ (WebCore::DOMWindow::addPendingFrameUnloadEventCount):
+ (WebCore::DOMWindow::removePendingFrameUnloadEventCount):
+ (WebCore::DOMWindow::addPendingFrameBeforeUnloadEventCount):
+ (WebCore::DOMWindow::removePendingFrameBeforeUnloadEventCount):
+ * page/DOMWindow.h: Moved a bunch of code to the DOMWindow class, from the Document.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::shouldClose): Updated for movement of window event listeners into the window.
+
+2009-04-13 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25149
+
+ The Geolocation timer needs to start after the UA has granted permission.
+
+ * bindings/js/JSGeolocationCustom.cpp: Use PassRefPtr<PositionOptions>
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
+ * page/Geolocation.cpp: Add a RefPtr<PositionOptions> so it can be used
+ later when the timer is started. Change PositionOptions* to PassRefPtr<PositionOptions>
+ where needed.
+ (WebCore::Geolocation::GeoNotifier::GeoNotifier):
+ (WebCore::Geolocation::GeoNotifier::startTimer):
+ (WebCore::Geolocation::getCurrentPosition):
+ (WebCore::Geolocation::watchPosition):
+ (WebCore::Geolocation::setIsAllowed): Start the timer is the UA allows
+ (WebCore::Geolocation::startTimer):
+ (WebCore::Geolocation::startTimersForOneShots):
+ (WebCore::Geolocation::startTimersForWatchers):
+ (WebCore::Geolocation::startTimers):
+ * page/Geolocation.h:
+ (WebCore::Geolocation::GeoNotifier::create):
+
+2009-04-13 Pamela Greene <pam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Fix Chromium (V8) build by renaming methods to match changes
+ in http://trac.webkit.org/changeset/42377.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25141
+
+ * bindings/v8/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute): updateRendering() -> updateStyleIfNeeded()
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::handleEvent): updateDocumentsRendering() -> updateStyleForAllDocuments()
+
+2009-04-13 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25136
+ CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame
+
+ Test: fast/frames/frame-unload-crash.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::updateLoading): Added null check of m_frame.
+
+2009-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Tim Hatcher.
+
+ Put the MessagePort constructor back in ENABLE_CHANNEL_MESSAGING.
+
+ * page/DOMWindow.idl:
+
+2009-04-13 Greg Bolsinga <bolsinga@apple.com>
+
+ Fix GTK build break.
+
+ * platform/gtk/GeolocationServiceGtk.cpp:
+ (WebCore::GeolocationServiceGtk::updatePosition):
+
+2009-04-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler and Dan Bernstein.
+
+ Assertion in updateStyleForAllDocuments. Make sure to unscheduleStyleRecalc when an object goes into
+ the page cache. Disallow scheduling of style recalcs on a document that is already in the page cache.
+ Schedule a style recalc if needed when an object comes out of the page cache.
+
+ * dom/Document.cpp:
+ (WebCore::Document::scheduleStyleRecalc):
+ (WebCore::Document::setInPageCache):
+
+2009-04-13 Timothy Hatcher <timothy@apple.com>
+
+ Correctly sort (program) scripts in the Scripts panel popup menu.
+
+ Reviewed by Ada Chan.
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Refactor the code
+ and sort "(program)" options by the sourceID to maintain some order.
+ * inspector/front-end/utilities.js:
+ (indexOfObjectInListSortedByFunction): Fix a bug where identical objects would cause
+ an incorrect return value that confuses insertionIndexForObjectInListSortedByFunction.
+ Just set 'first' and break so the correct result will be returned.
+
+2009-04-13 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24770
+
+ Add custom code for Coordinates that returns null when required by the
+ Geolocation spec.
+
+ http://dev.w3.org/geo/api/spec-source.html#coordinates
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSCoordinatesCustom.cpp: Added.
+ (WebCore::JSCoordinates::altitude): returns null if the value cannot be provided.
+ (WebCore::JSCoordinates::altitudeAccuracy): Ditto
+ (WebCore::JSCoordinates::heading): Ditto
+ (WebCore::JSCoordinates::speed): Ditto
+ * page/Coordinates.h:
+ (WebCore::Coordinates::create): Add 'canProvide' parameters and values
+ (WebCore::Coordinates::canProvideAltitude):
+ (WebCore::Coordinates::canProvideAltitudeAccuracy):
+ (WebCore::Coordinates::canProvideHeading):
+ (WebCore::Coordinates::canProvideSpeed):
+ (WebCore::Coordinates::Coordinates):
+ * page/Coordinates.idl: specify custom getters
+ * platform/mac/GeolocationServiceMac.mm: Set the values correctly if they cannot be provided.
+ (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
+
+2009-04-13 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line
+
+ Test: editing/inserting/5510537.html
+
+ * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the break insertion position
+ is at the beginning of the topmost quote, then just insert the <br> before the blockquote. Otherwise, if the break
+ insertion position is at the beginning of any quote, adjust the position so the break comes before the current quote level
+ so we don't end up with an empty line in that quote in addition to the new line we're adding with the <br>.
+
+2009-04-11 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix problem when encoding history files with duplicate integer arrays near the end of the file.
+ This results in an assertion failure, and if assertions are turned off, corrupted output.
+
+ When writing an integer array it's important not to add an object reference to the
+ aggregate buffer. The writing of the array does not depend on the aggregate buffer. But,
+ more importantly, it's possible this instance integer array is a duplicate and won't be
+ written out. If so, there's no guarantee there's enough space in the aggregate buffer to
+ store the object references (the references will be ignored). In some cases the aggregate
+ buffer can then overrun the data being written; normally this is prevented by the fact that
+ the data being written will include a copy of the aggregate buffer.
+
+ Also removed a bit of unneeded dead code to handle the integer -1.
+
+ * platform/cf/BinaryPropertyList.cpp:
+ (WebCore::BinaryPropertyListPlan::BinaryPropertyListPlan): Removed unneeded
+ m_integerNegativeOneObjectReference, since property lists support only non-negative integers.
+ (WebCore::BinaryPropertyListPlan::writeInteger): Removed support for
+ m_integerNegativeOneObjectReference.
+ (WebCore::BinaryPropertyListPlan::integerObjectReference): Ditto.
+ (WebCore::BinaryPropertyListSerializer::writeIntegerWithoutAddingAggregateObjectReference):
+ Added. Factored out most of writeInteger, for use in writeIntegerArray, without calling
+ addAggregateObjectReference.
+ (WebCore::BinaryPropertyListSerializer::writeInteger): Changed to call the new
+ writeIntegerWithoutAddingAggregateObjectReference function.
+ (WebCore::BinaryPropertyListSerializer::writeIntegerArray): Call the new
+ writeIntegerWithoutAddingAggregateObjectReference function and therefore remove the
+ code to save and restore m_currentAggregateBufferByte, which is no longer needed.
+
+2009-04-13 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed Qt build fix.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::floatWidthForComplexText):
+
+2009-04-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Move the event and crypto attributes and the captureEvents and releaseEvents
+ functions out of JSDOMWindowBase by partially generating them.
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::currentEvent): Make const.
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::crypto): Not implemented.
+ (WebCore::JSDOMWindow::event):
+ (WebCore::JSDOMWindow::captureEvents): Not implemented.
+ (WebCore::JSDOMWindow::releaseEvents): Ditto.
+ * page/DOMWindow.idl:
+
+2009-04-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Move more attributes out of JSDOMWindowBase by
+ partially generating them.
+
+ - Expose the MessagePort constructor.
+
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (setJSDOMWindowBaseEvent):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::image):
+ (WebCore::JSDOMWindow::option):
+ (WebCore::JSDOMWindow::audio):
+ (WebCore::JSDOMWindow::webKitPoint):
+ (WebCore::JSDOMWindow::webKitCSSMatrix):
+ (WebCore::JSDOMWindow::xMLHttpRequest):
+ (WebCore::JSDOMWindow::xSLTProcessor):
+ (WebCore::JSDOMWindow::messageChannel):
+ (WebCore::JSDOMWindow::worker):
+ * page/DOMWindow.idl:
+
+2009-04-12 Timothy Hatcher <timothy@apple.com>
+
+ A resource's filename is not correct after a redirect in the Inspector.
+
+ Reviewed by Dan Bernstein.
+
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::updateScriptObject): Fix a typo in the
+ lastPathComponent property name.
+
+2009-04-12 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Test: editing/inserting/6609479-1.html
+
+ Follow-up to <rdar://problem/6609479>.
+
+ Before my last change, a Mail blockquote would've been broken up earlier, and you would've been guaranteed that the inserted content
+ was at the start of a paragraph. Now we need to check for that explicitly, and only merge the start of the inserted content if it is
+ at the start of a paragraph.
+
+ * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeStart):
+
+2009-04-11 Adele Peterson <adele@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/6609479> Pressing return inside a table cell that's inside quoted content will split the table
+
+ Test: editing/inserting/6609479.html
+
+ Don't break a blockquote if pasting or inserting into a table.
+
+ * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
+ * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
+
+2009-04-11 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6643103> Unscaled values from body.scrollHeight
+
+ Test: fast/css/zoom-body-scroll.html
+
+ Adjust scroll{Left,Top,Width,Height} values for zoom in getters and
+ setters.
+
+ * html/HTMLBodyElement.cpp:
+ (WebCore::adjustForZoom):
+ (WebCore::HTMLBodyElement::scrollLeft):
+ (WebCore::HTMLBodyElement::setScrollLeft):
+ (WebCore::HTMLBodyElement::scrollTop):
+ (WebCore::HTMLBodyElement::setScrollTop):
+ (WebCore::HTMLBodyElement::scrollHeight):
+ (WebCore::HTMLBodyElement::scrollWidth):
+
+2009-04-10 Timothy Hatcher <timothy@apple.com>
+
+ Allow page navigation and reload while stopped at a breakpoint.
+
+ <rdar://problem/6781108> Having a breakpoint active prevents page reload
+
+ Reviewed by Darin Adler.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didContinue): Call the resumedScript function.
+ * inspector/InspectorController.h: Added didContinue.
+ * inspector/JavaScriptDebugListener.h: Ditto.
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::pauseIfNeeded): Call didContinue on the listeners.
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.debuggerResumed): Update the interface and state.
+ * inspector/front-end/inspector.js:
+ (WebInspector.resumedScript): Call ScriptsPanel.debuggerResumed.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call resumeDebugger.
+
+2009-04-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ Remove unused include for JSLock.
+
+ * page/mac/FrameMac.mm:
+
+2009-04-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add back the keepAlive timer for after the script execution to
+ protect the callers of evaluate, as was part of the original intent
+ of timer.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * page/mac/FrameMac.mm:
+
+2009-04-10 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=25137
+
+ If we reload, the animation controller sticks around and has
+ a stale animation time. So the needed delay is computed wrong.
+ I added a reset of the animation timer on load.
+
+ I did not do a test case because this only happens on reload so I
+ couldn't make an automated test. I tried using an iframe and using
+ reload() but that doesn't tickle the bug.
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitOpen):
+
+2009-04-10 Grace Kloba <klobag@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ Move WORKERS header files inside ENABLE(WORKERS).
+ So if WORKERS is not enabled and the generated files are not generated, the build is still working.
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ * bindings/js/ScheduledAction.cpp:
+
+2009-04-10 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ <rdar://problem/6773515> crash in push_heap inside WebCore when printing
+
+ The crash was due to manipulating a timer on a different thread than the one it was created on.
+ This adds some diagnostics so we'll catch that kind of mistake immediately.
+
+ * platform/Timer.cpp:
+ (WebCore::TimerBase::TimerBase): Store the thread identifier in debug versions.
+ (WebCore::TimerBase::start): Assert it's the same thread the timer was created on.
+ (WebCore::TimerBase::stop): Ditto.
+ (WebCore::TimerBase::isActive): Ditto.
+ (WebCore::TimerBase::setNextFireTime): Ditto.
+
+ * platform/Timer.h: Added the thread identifier data member.
+
+2009-04-10 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=25108
+
+ If you remove a class with a transition while that transition is running
+ the animation timer will continue to fire after the transition is finished.
+ This has no visual indication, but it does drain the processor. And in some
+ cases it might even cause a glitch in future animations. Unfortunately there
+ is no way to test this without putting in printfs.
+
+ This happens because the animation logic is never traversed after a transition
+ is removed, so we never get a chance to cleanup. So I added cleanup in the logic
+ that fires the dispatch of the last style change when the animation finishes.
+
+ Test: transitions/remove-transition-style.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::cleanupFinishedAnimations):
+ * page/animation/CompositeAnimation.h:
+
+2009-04-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for <rdar://problem/6648858>
+ CrashTracer: [REGRESSION(Safari 4)] 60 crashes in Safari at com.apple.WebCore • WebCore::ScriptController::evaluate + 241
+
+ The Frame (and therefore ScriptController) were being destroyed
+ during JavaScript execution causing the JSDOMWindowShell to become
+ null.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate): Use a RefPtr to protect the Frame
+ instead of the keep-alive timer, since a nested event loop used from with-in
+ JavaScript execution could cause the timer to fire before returning.
+
+2009-04-10 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25133
+ Fix an error in InspectorController's bindings, clean up a few header
+ includes, make empty object construction in ScriptObject less ambiguous.
+
+ * bindings/js/JSInspectorControllerCustom.cpp:
+ (WebCore::JSInspectorController::setSetting): Send correct argument from
+ the bindings.
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptObject::createNew): Added.
+ * bindings/js/ScriptObject.h: Removed constructor, added decl for createNew.
+ * inspector/ConsoleMessage.cpp: Remove unused header.
+ * inspector/ConsoleMessage.h: Ditto.
+ * inspector/InspectorResource.cpp:
+ (WebCore::createHeadersObject): Changed to use ScriptObject::createNew.
+
+2009-04-10 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=25134
+
+ This both fixes a bug where I was not sending in the right time
+ to continue the animation and was not recomputing current time
+ when coming out of suspend.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::suspendAnimations):
+ (WebCore::AnimationControllerPrivate::resumeAnimations):
+
+2009-04-10 Adam Roben <aroben@apple.com>
+
+ Give Windows's <select> popup menus drop shadows
+
+ Rubber-stamped by Steve Falkenburg.
+
+ No test possible.
+
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::registerPopup): Use the CS_DROPSHADOW window class style.
+
+2009-04-10 Timothy Hatcher <timothy@apple.com>
+
+ Fix a bug in the Web Inspector where it would show scripts
+ from previous pages when toggling the debugger off and back on.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25095
+ rdar://problem/6769970
+
+ Reviewed by John Sullivan.
+
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): Null out the
+ debugger for the scriptController. This balances the attachDebugger
+ that was already in ScriptCachedFrameData::restore.
+ (WebCore::ScriptCachedFrameData::restore): Clean up an if statement.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell): Clear the debugger from
+ the current window before setting the new window.
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): Only accumulate
+ source providers for code associated this as the debugger.
+
+2009-04-10 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/6646998> Avoid starting QTKitServer if possible
+ When possible avoid asking QTKit for the MIME types that require QTKitServer
+ when running 64-bit.
+
+ * WebCore.base.exp: Added new entry point.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::addFileTypesToCache): Add an NSArray of types to the cache.
+ (WebCore::mimeCommonTypesCache): Add all "common" QTKit types to the cache.
+ (WebCore::mimeModernTypesCache): Add only "modern" QTKit types to the cache (this list does
+ not start QTKitServer if it is not already running).
+ (WebCore::MediaPlayerPrivate::getSupportedTypes): Refactored.
+ (WebCore::MediaPlayerPrivate::supportsType): Look in list of "modern" types first to avoid
+ starting QTKitServer if possible.
+
+ * platform/mac/WebCoreSystemInterface.h: Add wkQTIncludeOnlyModernMediaFileTypes.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+2009-04-10 Adam Roben <aroben@apple.com>
+
+ Turn on window animations for <select> popup menus
+
+ We turned these off back when <select> popup menus were partially
+ transparent. Now that they're opaque, there's no reason not to
+ animate them.
+
+ Reviewed by Steve Falkenburg.
+
+ No test possible.
+
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::show): Remove the #ifdef that was disabling the
+ window animation.
+
+2009-04-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix a regression from r42379 which made zero-width characters affect
+ line height
+
+ Test: fixes fast/text/wide-zero-width-space.html
+
+ * platform/graphics/mac/FontMacATSUI.mm:
+ (WebCore::overrideLayoutOperation): Add to the fallback font list set
+ here, and only if the glyph is not zero-width...
+ (WebCore::ATSULayoutParameters::initialize): ...instead of doing it
+ here. This matches WidthIterator's behavior.
+
+2009-04-10 Darin Fisher <darin@chromium.org>
+
+ Fixing build bustage caused by warnings being treated as errors.
+ 1- A local variable was only be used inside a debug assertion, which
+ caused grief for the release build.
+ 2- Missing initializer for member 'DocumentMarker::activeMatch'
+
+ * dom/Document.cpp:
+ (WebCore::Document::addMarker):
+ (WebCore::Document::setMarkersActive):
+
+2009-04-10 Finnur Thorarinsson <finnur.webkit@gmail.com>
+
+ Reviewed by John Sullivan.
+
+ Fixing: https://bugs.webkit.org/show_bug.cgi?id=25117
+ (TextMatches don't have a concept of active match)
+
+ For the ports that use the DocumentMarker as highlighting for FindInPage it is
+ useful to have a flag that specifies which marker is active, so it can be drawn
+ in a different color.
+
+ This allows me to remove the hack to use the SelectionController to highlight
+ the active match (in the ChromiumWin port).
+
+ * dom/Document.cpp:
+ (WebCore::Document::setMarkersActive):
+ * dom/Document.h:
+ * dom/DocumentMarker.h:
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintTextMatchMarker):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::platformActiveTextSearchHighlightColor):
+ (WebCore::RenderTheme::platformInactiveTextSearchHighlightColor):
+ * rendering/RenderTheme.h:
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
+ (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
+ (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
+ (WebCore::RenderThemeChromiumWin::platformInactiveTextSearchHighlightColor):
+ * rendering/RenderThemeChromiumWin.h:
+
+2009-04-10 Pamela Greene <pam@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Build fix for Chromium.
+ https://bugs.webkit.org/show_bug.cgi?id=12440
+
+ * page/chromium/FrameChromium.cpp:
+ (WebCore::computePageRectsForFrame): change docWidth() to overflowWidth()
+
+2009-04-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt
+
+ Add a timer for style recalc (similar to the one used for scheduling layouts). For now in order
+ to reduce the risk of regressions, I have left in all the synchronous machinery for updating style
+ following DOM events and JavaScript timeouts. Eventually these calls will be removed.
+
+ Where the timer will really kick in and be useful is for clients that do style changes from
+ Objective-C DOM bindings or that execute JavaScript to manipulate style from the JavaScriptCore C API.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::insertBefore):
+ (WebCore::ContainerNode::replaceChild):
+ (WebCore::ContainerNode::removeChild):
+ (WebCore::ContainerNode::appendChild):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::~Document):
+ (WebCore::Document::scheduleStyleRecalc):
+ (WebCore::Document::unscheduleStyleRecalc):
+ (WebCore::Document::styleRecalcTimerFired):
+ (WebCore::Document::updateStyleForAllDocuments):
+ (WebCore::Document::detach):
+ * dom/Document.h:
+ * dom/Node.cpp:
+ (WebCore::Node::setNeedsStyleRecalc):
+ (WebCore::Node::lazyAttach):
+
+2009-04-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://problem/6586787> JS debugger does not work in 64-bit
+
+ Don't truncate the source id in JSCallFrame
+
+ * inspector/JavaScriptCallFrame.h:
+
+2009-04-09 Adam Roben <aroben@apple.com>
+
+ Start compiling HistoryPropertyList on Windows
+
+ Reviewed by Darin Adler.
+
+ * WebCore.vcproj/WebCore.vcproj: Added HistoryPropertyList and its
+ dependencies to the project. Copy headers from history/cf to
+ $WebKitOutputDir.
+ * history/cf/HistoryPropertyList.cpp: Added StringExtras.h so that
+ this file will compile on Windows.
+
+2009-04-09 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6166612> Text boxes' metrics should be based on
+ the actual fonts used in them, not just the primary font
+
+ Covered by many existing layout tests
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::floatWidth): Added a fallbackFonts parameter. If the
+ platform supports collecting fallback fonts in its complex font path
+ and fallbackFonts is not null, all fallback fonts used for the text run
+ will be added to it.
+
+ * platform/graphics/Font.h:
+ (WebCore::Font::width): Ditto.
+
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::glyphDataForCharacter): Removed an unnecessary namespace
+ qualifier.
+ (WebCore::Font::floatWidthForSimpleText): Added a fallbackFonts
+ parameter, which is passed down to WidthIterator.
+
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::WidthIterator): Added a fallbackFonts parameter
+ and used it to initialize the m_fallbackFonts member.
+ (WebCore::WidthIterator::advance): Track the fonts being used and add
+ any fallback fonts to the m_fallbackFonts set. Make sure to only add
+ non-small-caps fonts.
+
+ * platform/graphics/WidthIterator.h:
+
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
+ implementation that returns false, meaning this platform's
+ implementation of floatWidthForComplexText() does not populate the
+ fallbackFonts set.
+ (WebCore::Font::floatWidthForComplexText): Updated for the new
+ prototype.
+
+ * platform/graphics/chromium/FontLinux.cpp: Ditto.
+
+ * platform/graphics/gtk/FontGtk.cpp: Ditto.
+
+ * platform/graphics/mac/CoreTextController.cpp:
+ (WebCore::CoreTextController::CoreTextController): Added a fallbackFonts
+ parameter and used it to initialize the m_fallbackFonts member.
+ (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Add
+ fallback fonts to m_fallbackFonts.
+
+ * platform/graphics/mac/CoreTextController.h:
+
+ * platform/graphics/mac/FontMac.mm:
+ (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
+ implementation that returns true, indicating that the Mac
+ implementations of floatWidthForComplexText() populate the fallbackFonts
+ set.
+ * platform/graphics/mac/FontMacATSUI.mm:
+ (WebCore::ATSULayoutParameters::ATSULayoutParameters): Added a
+ fallbackFonts parameter and used it to initialize the m_fallbackFonts
+ member.
+ (WebCore::ATSULayoutParameters::initialize): Add fallback fonts to
+ m_fallbackFonts.
+ (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
+ parameter, which is passed down to ATSULayoutParameters.
+
+ * platform/graphics/mac/FontMacCoreText.cpp:
+ (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
+ parameter, which is passed down to CoreTextController.
+
+ * platform/graphics/win/FontWin.cpp:
+ (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
+ implementation that returns true, indicating that the
+ UniscribeController-based implementations of floatWidthForComplexText()
+ populate the fallbackFonts set.
+ (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts
+ parameter, which is passed down to UniscribeController.
+
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::UniscribeController): Added a
+ fallbackfonts parameter and used it to initialize m_fallbackFonts.
+ (WebCore::UniscribeController::advance): Add fallback fonts to
+ m_fallbackFonts.
+
+ * platform/graphics/win/UniscribeController.h:
+
+ * platform/graphics/wx/FontWx.cpp:
+ (WebCore::Font::canReturnFallbackFontsForComplexText): Added an
+ implementation that returns false, meaning this platform's
+ implementation of floatWidthForComplexText() does not populate the
+ fallbackFonts set.
+ (WebCore::Font::floatWidthForComplexText): Updated for the new
+ prototype.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::computeLogicalBoxHeights): For an InlineTextBox
+ with multiple fonts, compute a common baseline and line height by
+ considering all fonts' ascents and descents (and line spacing, if
+ applicable).
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::setFallbackFonts): Added. Temporarily stores
+ the set of fallback fonts in a vector.
+ (WebCore::InlineTextBox::takeFallbackFonts): Added. Returns the fallback
+ fonts previously stored and removes them from storage.
+
+ * rendering/InlineTextBox.h:
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText): Initialized the
+ m_knownNotToUseFallbackFonts to false.
+ (WebCore::RenderText::styleDidChange): Reset
+ m_knownNotToUseFallbackFonts to false if the style difference is such that
+ affects layout.
+ (WebCore::RenderText::widthFromCache): Added a fallbackFonts parameter,
+ which is passed down to Font::width().
+ (WebCore::RenderText::trimmedPrefWidths): Updated for the change to
+ widthFromCache().
+ (WebCore::RenderText::calcPrefWidths): Made this call a private version
+ of calcPrefWidths() that takes a fallbackFonts parameter and set the
+ m_knownNotToUseFallbackFonts to true if the set comes back empty.
+ The private version passes the fallbackFonts set to widthFromCache().
+ (WebCore::RenderText::setText): Reset m_knownNotToUseFallbackFonts to
+ false.
+ (WebCore::RenderText::createFallbackFontMetricsBox): Added.
+ (WebCore::RenderText::width): Added a fallbackFonts parameter, which is
+ passed down to calcPrefWidths(), widthFromCache() and Font::width().
+ Set m_knownNotToUseFallbackFonts to true when appropriate.
+
+ * rendering/RenderText.h:
+
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::constructLine): Added an assertion and a continue
+ statement to remove one level of indentation.
+ (WebCore::RenderBlock::computeHorizontalPositionsForLine): Temporarily
+ store the set of fallback fonts in the InlineTextBox.
+ (WebCore::RenderBlock::computeVerticalPositionsForLine): Added an
+ assertion.
+
+2009-04-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben
+
+ Rename all of the changed()/setChanged()/setDocumentChanged() methods to mention style recalc
+ explicitly instead.
+
+ * bindings/js/JSCustomPositionCallback.cpp:
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomVoidCallback.cpp:
+ (WebCore::JSCustomVoidCallback::handleEvent):
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::updateStyleIfNeededForBindings):
+ (WebCore::ScriptController::initJavaJSBindings):
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::removeProperty):
+ (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
+ (WebCore::CSSMutableStyleDeclaration::setProperty):
+ (WebCore::CSSMutableStyleDeclaration::setStringProperty):
+ (WebCore::CSSMutableStyleDeclaration::setImageProperty):
+ (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
+ (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
+ (WebCore::CSSMutableStyleDeclaration::setCssText):
+ (WebCore::CSSMutableStyleDeclaration::merge):
+ (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
+ * css/CSSMutableStyleDeclaration.h:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
+ (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
+ * css/CSSVariablesDeclaration.cpp:
+ (WebCore::CSSVariablesDeclaration::removeVariable):
+ (WebCore::CSSVariablesDeclaration::setVariable):
+ (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc):
+ * css/CSSVariablesDeclaration.h:
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::insertBefore):
+ (WebCore::ContainerNode::replaceChild):
+ (WebCore::ContainerNode::removeChild):
+ (WebCore::ContainerNode::appendChild):
+ (WebCore::ContainerNode::detach):
+ (WebCore::ContainerNode::setFocus):
+ (WebCore::ContainerNode::setActive):
+ (WebCore::ContainerNode::setHovered):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::~Document):
+ (WebCore::Document::scheduleStyleRecalc):
+ (WebCore::Document::unscheduleStyleRecalc):
+ (WebCore::Document::recalcStyle):
+ (WebCore::Document::updateStyleIfNeeded):
+ (WebCore::Document::updateStyleForAllDocuments):
+ (WebCore::Document::updateLayout):
+ (WebCore::Document::implicitClose):
+ (WebCore::Document::prepareMouseEvent):
+ (WebCore::Document::setFocusedNode):
+ (WebCore::Document::setCSSTarget):
+ * dom/Document.h:
+ * dom/Element.cpp:
+ (WebCore::Element::recalcStyle):
+ (WebCore::checkForSiblingStyleChanges):
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::parseMaxLengthAttribute):
+ * dom/MouseRelatedEvent.cpp:
+ (WebCore::MouseRelatedEvent::receivedTarget):
+ * dom/Node.cpp:
+ (WebCore::Node::Node):
+ (WebCore::Node::setNeedsStyleRecalc):
+ (WebCore::Node::lazyAttach):
+ (WebCore::Node::dispatchGenericEvent):
+ * dom/Node.h:
+ (WebCore::Node::needsStyleRecalc):
+ (WebCore::Node::childNeedsStyleRecalc):
+ (WebCore::Node::setChildNeedsStyleRecalc):
+ * dom/OptionElement.cpp:
+ (WebCore::OptionElement::setSelectedState):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::evaluateScript):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::attributeChanged):
+ (WebCore::StyledElement::classAttributeChanged):
+ (WebCore::StyledElement::parseMappedAttribute):
+ * dom/Text.cpp:
+ (WebCore::Text::recalcStyle):
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::insertErrorMessageBlock):
+ * editing/DeleteButtonController.cpp:
+ (WebCore::DeleteButtonController::enable):
+ * editing/Editor.cpp:
+ (WebCore::Editor::setBaseWritingDirection):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::nodeWillBeRemoved):
+ (WebCore::SelectionController::layout):
+ (WebCore::SelectionController::focusedOrActiveStateChanged):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::parseMappedAttribute):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::setInnerText):
+ (WebCore::HTMLElement::isContentEditable):
+ (WebCore::HTMLElement::isContentRichlyEditable):
+ (WebCore::HTMLElement::contentEditable):
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::updateWidget):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::parseMappedAttribute):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute):
+ (WebCore::HTMLFrameSetElement::recalcStyle):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::setChecked):
+ (WebCore::HTMLInputElement::setIndeterminate):
+ (WebCore::HTMLInputElement::setValue):
+ (WebCore::HTMLInputElement::setAutofilled):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::finishParsingChildren):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::updateWidget):
+ (WebCore::HTMLObjectElement::finishParsingChildren):
+ (WebCore::HTMLObjectElement::childrenChanged):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::recalcStyle):
+ (WebCore::HTMLSelectElement::restoreState):
+ (WebCore::HTMLSelectElement::setRecalcListItems):
+ (WebCore::HTMLSelectElement::reset):
+ (WebCore::HTMLSelectElement::typeAheadFind):
+ * html/HTMLTableElement.cpp:
+ (WebCore::setTableCellsChanged):
+ (WebCore::HTMLTableElement::parseMappedAttribute):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::setValue):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::executeScript):
+ (WebCore::FrameLoader::gotoAnchor):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::alert):
+ (WebCore::DOMWindow::confirm):
+ (WebCore::DOMWindow::prompt):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hoverTimerFired):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::needsLayout):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::setNeedsStyleRecalc):
+ (WebCore::AnimationBase::updateStateMachine):
+ * page/animation/AnimationBase.h:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
+ (WebCore::AnimationControllerPrivate::clear):
+ (WebCore::AnimationControllerPrivate::updateAnimationTimer):
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ (WebCore::AnimationControllerPrivate::startupdateStyleIfNeededDispatcher):
+ (WebCore::AnimationControllerPrivate::addEventToDispatch):
+ (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
+ (WebCore::AnimationControllerPrivate::animationTimerFired):
+ (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
+ (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
+ (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
+ (WebCore::AnimationController::cancelAnimations):
+ * page/animation/AnimationControllerPrivate.h:
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::endAnimation):
+ (WebCore::KeyframeAnimation::sendAnimationEvent):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::updateDragState):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::selectionBounds):
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::svgAttributeChanged):
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
+ * svg/SVGCursorElement.cpp:
+ (WebCore::SVGCursorElement::svgAttributeChanged):
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::setNeedsUpdate):
+ * svg/SVGForeignObjectElement.cpp:
+ (WebCore::addCSSPropertyAndNotifyAttributeMap):
+ * svg/SVGStopElement.cpp:
+ (WebCore::SVGStopElement::parseMappedAttribute):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::parseMappedAttribute):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::svgAttributeChanged):
+ (WebCore::SVGUseElement::childrenChanged):
+ (WebCore::SVGUseElement::recalcStyle):
+ * svg/animation/SMILTimeContainer.cpp:
+ (WebCore::SMILTimeContainer::updateAnimations):
+ * wml/WMLAElement.cpp:
+ (WebCore::WMLAElement::parseMappedAttribute):
+ * wml/WMLInputElement.cpp:
+ (WebCore::WMLInputElement::setValue):
+ (WebCore::WMLInputElement::parseMappedAttribute):
+ * wml/WMLNoopElement.cpp:
+ (WebCore::WMLNoopElement::insertedIntoDocument):
+
+2009-04-09 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ When there is a shadow set but it specifies "no shadow", clear the
+ shadow shader. This will prevent Chromium from thinking there's a
+ shadow and using the Skia codepath rather than Windows.
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::setPlatformShadow):
+
+2009-04-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Crash when accessing svg.viewport on a detached SVGSVGElement
+ https://bugs.webkit.org/show_bug.cgi?id=25105
+
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::isOutermostSVG): return "true" that we are the "outermost" SVG element if we have no parent. (The spec is unclear as to what behavior we should have in this case, and I doubt anyone cares for now).
+
+2009-04-09 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25084
+ Upstream changes to V8 bindings for XHR so that it can work under either DOMWindow or WorkerContext.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::dispose):
+ (WebCore::WorkerContextExecutionProxy::retrieve):
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+ (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper):
+ (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
+ (WebCore::WorkerContextExecutionProxy::findOrCreateObjectEventListener):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::getEventListener):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-04-09 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson and Sam Weinig.
+
+ Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
+
+ Longer term solution is to change the design so Safari doesn't read and write all of history.
+ This patch is step one: Do the serializing, which is done on the main thread, much faster.
+
+ * WebCore.base.exp: Added new entry points.
+ * WebCore.xcodeproj/project.pbxproj: Added new source files.
+
+ * history/cf: Added.
+
+ * history/cf/HistoryPropertyList.cpp: Added.
+ * history/cf/HistoryPropertyList.h: Added. Code to write history files. In the future we'll also
+ have code for reading here too.
+
+ * platform/cf/BinaryPropertyList.cpp: Added.
+ * platform/cf/BinaryPropertyList.h: Added. Code to write binary property list files.
+
+2009-04-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ https://bugs.webkit.org/show_bug.cgi?id=25122
+
+ If deferred repainting is active, we need to ensure that there are no repaints
+ pending at the end of layoutIfNeededRecursive, which is called just before
+ painting via -viewWillDraw.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layoutIfNeededRecursive):
+
+2009-04-09 John Grabowski <jrg@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25117
+ Fix Mac Chromium form controls.
+
+ * rendering/RenderThemeChromiumMac.mm:
+ When rendering native controls in Mac Chromium, use a clean NSGraphicsContext.
+ Properly save and restore native graphics context.
+ (WebCore::RenderThemeChromiumMac::paintCheckbox):
+ (WebCore::RenderThemeChromiumMac::paintRadio):
+ (WebCore::RenderThemeChromiumMac::paintMenuList):
+ (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
+
+2009-04-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25030
+ Refactor MessagePort code to enable Chrome to use a MessagePortProxy object
+ instead of a real MessagePort for the entangledPort, since it could
+ theoretically live in a separate process.
+
+ The goal of this refactoring is to remove all assumptions that the object
+ representing the entangled port is actually of type MessagePort. All
+ operations that were previously directly modifying private MessagePort member
+ variables in the entangled port (i.e. entangle(), postMessage()) have been changed
+ to invoke functions in the MessagePortProxy interface instead which will allow
+ the Chrome bindings to proxy these calls to another process.
+
+ No new layout tests, as this is just a refactoring with no bug fixes
+ or new functionality.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::mark):
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::clone):
+ (WebCore::MessagePort::postMessage):
+ (WebCore::MessagePort::deliverMessage):
+ (WebCore::MessagePort::startConversation):
+ (WebCore::MessagePort::close):
+ (WebCore::MessagePort::entangle):
+ (WebCore::MessagePort::unentangle):
+ * dom/MessagePort.h:
+ (WebCore::MessagePort::entangledPort):
+ * dom/MessagePortProxy.h: Added.
+ (WebCore::MessagePortProxy::~MessagePortProxy):
+
+2009-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey "Big Boy" Garen.
+
+ Fix for <rdar://problem/5745677> Possible to stop load during an unload event
+ Also fixes https://bugs.webkit.org/show_bug.cgi?id=20605
+
+ Tests: fast/events/stop-load-in-unload-handler-using-document-write.html
+ fast/events/stop-load-in-unload-handler-using-window-stop.html
+
+ Don't allow calling methods that would stop the new load inside the unload
+ event.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::stopAllLoaders):
+ * loader/FrameLoader.h:
+
+2009-04-09 David Kilzer <ddkilzer@apple.com>
+
+ Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
+
+ Rolled r42345 back in. The build failure was caused by an
+ internal script which had not been updated the same way that
+ build-webkit was updated.
+
+ * Configurations/WebCore.xcconfig:
+ * DerivedSources.make:
+ * bindings/objc/DOM.mm:
+ (WebCore::createElementClassMap):
+ (+[DOMNode _wrapNode:WebCore::]):
+ * bindings/objc/DOMCSS.mm:
+ (+[DOMCSSValue _wrapCSSValue:WebCore::]):
+ * bindings/objc/DOMEvents.mm:
+ (+[DOMEvent _wrapEvent:WebCore::]):
+ * bindings/objc/DOMInternal.h:
+ * bindings/objc/ExceptionHandlers.mm:
+ (WebCore::raiseDOMException):
+ * html/HTMLEmbedElement.idl:
+ * html/HTMLFrameElement.idl:
+ * html/HTMLIFrameElement.idl:
+ * html/HTMLObjectElement.idl:
+
+2009-04-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=25109
+
+ Eliminate CompositeAnimationPrivate, which was a needless level
+ of abstraction. Remove the methods like addToStyleAvailableWaitList()
+ that simply turn around and call the animation controller.
+
+ Rename animationControllerPriv() to animationController().
+ Rename willNeedService() to timeToNextService().
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::~AnimationBase):
+ (WebCore::AnimationBase::updateStateMachine):
+ (WebCore::AnimationBase::timeToNextService):
+ (WebCore::AnimationBase::beginAnimationUpdateTime):
+ * page/animation/AnimationBase.h:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateAnimationTimer):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::~CompositeAnimation):
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::getAnimatedStyle):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::timeToNextService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ (WebCore::CompositeAnimation::cleanupFinishedAnimations):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::overrideImplicitAnimations):
+ (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::pauseAnimationAtTime):
+ (WebCore::CompositeAnimation::pauseTransitionAtTime):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+ * page/animation/CompositeAnimation.h:
+ (WebCore::CompositeAnimation::animationController):
+ (WebCore::CompositeAnimation::isSuspended):
+ (WebCore::CompositeAnimation::hasAnimations):
+ (WebCore::CompositeAnimation::CompositeAnimation):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+ (WebCore::ImplicitAnimation::timeToNextService):
+ * page/animation/ImplicitAnimation.h:
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::sendAnimationEvent):
+ (WebCore::KeyframeAnimation::timeToNextService):
+ * page/animation/KeyframeAnimation.h:
+
+2009-04-09 Alexey Proskuryakov <ap@webkit.org>
+
+ Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings.
+ It broke Mac build, and I don't know how to fix it.
+
+ * Configurations/WebCore.xcconfig:
+ * DerivedSources.make:
+ * bindings/objc/DOM.mm:
+ (WebCore::createElementClassMap):
+ (+[DOMNode _wrapNode:WebCore::]):
+ * bindings/objc/DOMCSS.mm:
+ (+[DOMCSSValue _wrapCSSValue:WebCore::]):
+ * bindings/objc/DOMEvents.mm:
+ (+[DOMEvent _wrapEvent:WebCore::]):
+ * bindings/objc/DOMInternal.h:
+ * bindings/objc/ExceptionHandlers.mm:
+ (WebCore::raiseDOMException):
+ * html/HTMLEmbedElement.idl:
+ * html/HTMLFrameElement.idl:
+ * html/HTMLIFrameElement.idl:
+ * html/HTMLObjectElement.idl:
+
+2009-04-09 Xan Lopez <xlopez@igalia.com>
+
+ Unreviewed build fix.
+
+ RenderView::docWidth() was made private by r42334. That commit
+ changes its usage for overflowWidth(), so do that here too.
+
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::computePageRects):
+
+2009-04-09 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Based on a patch by Alp Toker.
+
+ Implement AtkObject::ref_state_set. Still quite a few states not
+ implemented.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-09 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Based on a patch by Alp Toker.
+
+ Move fallback object creation to its own function, as it will be
+ used in several places.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (fallbackObject):
+
+2009-04-09 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Based on a patch by Alp Toker.
+
+ Move AccessibilityObject methods to their file.
+
+ * page/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::wrapper):
+ (WebCore::AccessibilityObject::setWrapper):
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-09 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21546
+ [GTK] ATK accessibility enhancements
+
+ Rework accessibility type generation code, based on Mozilla a11y
+ implementation.
+
+ Have one base a11y type, and generate derived types that implement
+ only the necessary interfaces at runtime, based on the specific
+ object we are wrapping. This allows to save a lot of code while
+ covering all possible cases.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-04-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix document.implementation.createDocument(null, "a:b") not to crash!
+ https://bugs.webkit.org/show_bug.cgi?id=25096
+
+ Test: fast/dom/DOMImplementation/createDocument-namespace-err.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::addChild): add ASSERT() to give a better crash next time
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createDocument): check the exception code before using the result
+
+2009-04-08 Adam Roben <aroben@apple.com>
+
+ Make <select>s in application chrome documents match the Vista system
+ dialog look
+
+ Reviewed by Dave Hyatt.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::documentIsInApplicationChromeMode): Added this simple helper
+ function.
+ (WebCore::RenderThemeWin::getThemeData): In application chrome mode,
+ the drop down button never uses any look but the "normal" look.
+ (WebCore::RenderThemeWin::paintMenuList): In application chrome mode,
+ use the "readonly" style to match system dialogs.
+
+2009-04-08 Adam Roben <aroben@apple.com>
+
+ Fix <rdar://6592515> Crash closing tab with Top Sites or Cover Flow
+ showing after clicking "Go Back" in phishing alert
+
+ RenderButton's m_timer is not stopped when its Document enters the
+ page cache. When the WebView was torn down, the timer would fire after
+ the Frame's Page had been destroyed, leading to a crash. This patch
+ just makes the timer do nothing when it fires. Making the timer not
+ fire when in the page cache is covered by bug 25110.
+
+ Reviewed by Dave Hyatt.
+
+ No test possible.
+
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::timerFired): Do nothing when we're in the page
+ cache.
+
+2009-04-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben
+
+ Fix bugs where we would mistakenly turn off blitting for iframes if an external paint
+ caused the checks to be triggered too early in the loading process of the frame.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+
+2009-04-08 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Cameron Zwarich
+
+ https://bugs.webkit.org/show_bug.cgi?id=25106
+
+ Fix signature of virtual function on AnimationBase so that it matches
+ those in the derived classes, by removing unused parameter.
+
+ * page/animation/AnimationBase.h:
+ (WebCore::AnimationBase::endAnimation):
+
+2009-04-08 David Kilzer <ddkilzer@apple.com>
+
+ <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
+
+ Reviewed by Darin Adler and Maciej Stachowiak.
+
+ Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so
+ that SVG DOM Objective-C bindings may be optionally disabled.
+
+ * Configurations/WebCore.xcconfig: Added
+ ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in
+ FEATURE_DEFINES and EXCLUDED_SOURCE_FILE_NAMES. When SVG DOM
+ Objective-C bindings are disabled, two generated header files no
+ longer exist and none of the generated DOMSVG*.mm files should
+ be compiled.
+ * DerivedSources.make: All of the WebCore.SVG*.exp files contain
+ SVG DOM Objective-C bindings classes, so exclude them unless
+ ENABLE_SVG_DOM_OBJC_BINDINGS is set.
+ * bindings/objc/DOM.mm: Switched from using ENABLE(SVG) to using
+ ENABLE(SVG_DOM_OBJC_BINDINGS).
+ (WebCore::createElementClassMap):
+ (+[DOMNode _wrapNode:WebCore::]):
+ * bindings/objc/DOMCSS.mm: Ditto.
+ (+[DOMCSSValue _wrapCSSValue:WebCore::]):
+ * bindings/objc/DOMEvents.mm: Ditto.
+ (+[DOMEvent _wrapEvent:WebCore::]):
+ * bindings/objc/DOMInternal.h: Ditto.
+ * bindings/objc/ExceptionHandlers.mm: Added use of
+ ENABLE(SVG_DOM_OBJC_BINDINGS).
+ (WebCore::raiseDOMException):
+ * html/HTMLEmbedElement.idl: Excluded -getSVGDocument method
+ in generated Objective-C DOM classes if SVG DOM Objective-C
+ bindings are disabled.
+ * html/HTMLFrameElement.idl: Ditto.
+ * html/HTMLIFrameElement.idl: Ditto.
+ * html/HTMLObjectElement.idl: Ditto.
+
+2009-04-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - limit the workaround for <rdar://problem/5781372> to Mac OS X versions
+ that need it
+
+ * platform/mac/WebFontCache.mm:
+ (fixUpWeight): Changed this function to be a no-op post-Leopard.
+
+2009-04-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6771547> Appending to a RenderText causes all its
+ lines to be dirtied
+
+ Test: fast/repaint/text-append-dirty-lines.html
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::setTextWithOffset): If no text boxes intersected
+ with or came after the new text, dirty the last root box, since the new
+ text may begin there. Having at least one dirty line prevents the
+ incorrect dirtying of all lines later during layoutInlineChildren().
+
+2009-04-08 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25100
+
+ Fixes a Chromium-specific crash in WebCore::ImageBuffer::context that
+ occurs when rendering semi-transparent RTL text.
+
+ Test: fast/text/complex-text-opacity.html
+
+ * platform/graphics/chromium/FontChromiumWin.cpp: Handle RTL when computing text bounds.
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
+
+2009-04-08 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin
+
+ Fix a porting error in my previous patch. A != was supposed to be an ==.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2009-04-08 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben and Darin Adler
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, repaints inconsistent for
+ fixed positioned elements.
+
+ Rewrite the updateScrollers method to be more correct in its results.
+
+ Test: fast/block/positioning/fixed-positioning-scrollbar-bug.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::recalcStyle):
+ (WebCore::Document::implicitClose):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::createScrollbar):
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::adjustPageHeight):
+ * page/FrameView.h:
+ * page/win/FrameWin.cpp:
+ (WebCore::computePageRectsForFrame):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/ScrollView.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::layout):
+ (WebCore::RenderView::docHeight):
+ (WebCore::RenderView::docWidth):
+ * rendering/RenderView.h:
+
+2009-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for <rdar://problem/6226200> Implement Microsoft's X-FRAME-OPTIONS anti-framing defense
+
+ Tests: http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
+ http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html
+ http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
+ http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html
+ http/tests/security/XFrameOptions/x-frame-options-deny.html
+ http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow.html
+ http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::processHttpEquiv): Stop the current load and redirect to about:blank
+ if an X-FRAME-OPTIONS <meta> tag http-equiq dictates we should.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions): Add logic to parse
+ the X-FRAME-OPTIONS parameter.
+ * loader/FrameLoader.h:
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse): Stop the current load if framed and
+ a X-FRAME-OPTIONS header and its parameter dictate that we should.
+
+2009-04-08 Adam Roben <aroben@apple.com>
+
+ Fix http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect.html on Windows
+
+ Reviewed by Sam Weinig.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::ResourceHandle::loadResourceSynchronously): Mimic the
+ ResourceHandleMac code by propagating the CFError's error code for
+ kCFErrorDomainCFNetwork errors to the ResourceResponse.
+
+2009-04-08 Anders Carlsson <andersca@apple.com>
+
+ Try to fix the PPC build.
+
+ * plugins/npfunctions.h:
+
+2009-04-08 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/5908616> tokenizer resizer should handle edge cases consistently
+
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::enlargeBuffer): Handle edge cases the same way as a failed fastMalloc.
+ (WebCore::HTMLTokenizer::enlargeScriptBuffer): Ditto.
+
+2009-04-08 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler
+
+ Make sure that cloneNode works with SVG attributes that require synchronization. This fixes
+ issues with <use> element shadow tree cloning where the clones can end up not obtaining the
+ correct attribute values.
+
+ A subsequent patch of mine will expose this problem and cause it to be covered by existing
+ layout tests, so no test is required at this time for this problem.
+
+ * dom/Element.cpp:
+ (WebCore::Element::cloneElementWithoutChildren):
+
+2009-04-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25093
+ REGRESSION: some scripts are showing in the Inspector with only "true"
+ as the source.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didParseSource): Fixed conversion issue.
+ (WebCore::InspectorController::failedToParseSource): Ditto.
+
+2009-04-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24904
+
+ Verify the MIME type of stylesheets (in standards mode) by looking
+ at the Content-Type header directly. This bypasses any content
+ sniffing that might be confusing the issue.
+
+ Test: http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header.html
+
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::canUseSheet):
+
+2009-04-08 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25041
+ <rdar://problem/6697754>
+ Bug 25041: HTMLMediaElement: OSX autoplay broken by r41907
+
+ OSX media player should set readyState to HAVE_ENOUGH_DATA when the movie's load state
+ reaches QTMovieLoadStatePlaythroughOK, not when the entire file has been downloaded,
+ so autoplay can begin when it should.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::updateStates): Set readState to
+ HAVE_ENOUGH_DATA when QTMovie load state reaches QTMovieLoadStatePlaythroughOK.
+ (WebCore::MediaPlayerPrivate::paint): Add braces missed in r42203.
+
+2009-04-08 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by David Kilzer. Based on a patch by Grace Kloba.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24656
+ cacheControlContainsNoCache() in ResourceResponseBase.h is wrong
+
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::parseCacheControlDirectives): Removed misused code for
+ parsing directive values, fixing parsing of directives that we care about.
+
+ * platform/network/ResourceResponseBase.h:
+ (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Fixed a copy/paste mistake,
+ m_cacheControlContainsMustRevalidate was returned instead of m_cacheControlContainsNoCache.
+
+2009-04-08 Adam Roben <aroben@apple.com>
+
+ Make text fields match the system look on Vista
+
+ Reviewed by Dave Hyatt.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::getThemeData): Use the new-to-Vista
+ EP_EDITBORDER_NOSCROLL part for text fields.
+
+2009-04-07 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24957
+ REGRESSION: Google calendar widget no longer shows upcoming events
+
+ Test: http/tests/xmlhttprequest/authorization-header.html
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Removed Authorization from
+ the list of forbidden headers.
+
+2009-04-07 miggilin <mr.diggilin@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Remove no longer needed debug warning and Windows-specific codepaths
+ (as we now use the Safari/Win port's timer there)
+
+ https://bugs.webkit.org/show_bug.cgi?id=25070
+
+ * platform/wx/SharedTimerWx.cpp:
+ (WebCore::setSharedTimerFireTime):
+
+
+2009-04-07 Adam Roben <aroben@apple.com>
+
+ Fix many <video> regression tests on Windows
+
+ Reviewed by Dave Hyatt.
+
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWin::getNaturalSize): Call GetMovieNaturalBoundsRect, which
+ returns the movie's natural bounds (duh), rather than GetMovieBox,
+ which returns the movie's current displayed size/position.
+
+2009-04-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler and Sam Weinig
+
+ <rdar://problem/5968249> "Private Browsing" doesn't affect HTML 5 LocalStorage
+
+ The expected behavior for persistent storage when private browsing mode is undefined by the spec.
+ For now we're going with a "read-only when in private browsing" policy until we can get feedback
+ and/or get the behavior specified in the spec.
+
+ Note that I purposefully made the change to restrict SessionStorage to read-only, also, with the
+ understanding that the spec allows for SessionStorage to persist across relaunches, even though
+ our implementation currently doesn't do this.
+
+ * dom/DOMCoreException.idl: Add some new ExceptionCodes defined in HTML5, one of which is needed
+ for LocalStorage changes (QUOTA_EXCEEDED_ERR)
+ * dom/ExceptionCode.cpp:
+ * dom/ExceptionCode.h:
+
+ * storage/StorageArea.cpp:
+ (WebCore::StorageArea::internalSetItem): If private browsing is enabled, throw the QUOTA_EXCEEDED_ERR
+ exception as the spec allows.
+ (WebCore::StorageArea::internalRemoveItem): If private browsing is enabled, silently fail to remove
+ the item.
+ (WebCore::StorageArea::internalClear): If private browsing is enabled, silently fail to clear the area.
+
+2009-04-07 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6148255>
+
+ Standalone media documents can not always handle everything
+ using a <video> element. In these cases switch to an <embed>
+ element that uses the QuickTime plugin, in the hope that it
+ will have more luck. Typical media types that trigger this
+ are streamed media and QTVR.
+
+ Equivalent Windows fix to come once reviewed. Note also that
+ this area of code needs a cleanup:
+ https://bugs.webkit.org/show_bug.cgi?id=25085
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
+ * html/HTMLMediaElement.h:
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::mediaElementSawUnsupportedTracks):
+ (WebCore::MediaDocument::replaceVideoWithEmbed):
+ * loader/MediaDocument.h:
+ - removes the <video> element and puts in an <embed>
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::MediaPlayerClient::mediaPlayerSawUnsupportedTracks):
+ - new internal method for flagging a problem
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ - looks for the types of content we don't handle
+ (WebCore::MediaPlayerPrivate::rateChanged):
+ (WebCore::MediaPlayerPrivate::sizeChanged):
+ (WebCore::MediaPlayerPrivate::timeChanged):
+ (WebCore::MediaPlayerPrivate::didEnd):
+ (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
+ (WebCore::MediaPlayerPrivate::sawUnsupportedTracks):
+ - inform the MediaClient that we have a potential problem
+
+2009-04-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6767428> Resurrect
+ +[WebFontCache fontWithFamily:traits:size:] for clients that call it
+ directly
+
+ WebFontCache is a class in the WebCore framework and is not WebKit API,
+ but apparently (perhaps mistakenly) some clients call this private
+ interface.
+
+ This change resurrects the interface and gives it reasonable behavior
+ (however, note that WebCore will not call the old interface, so hacks that
+ override it will have no effect on WebKit clients).
+
+ * platform/mac/WebFontCache.h:
+ * platform/mac/WebFontCache.mm:
+ (+[WebFontCache fontWithFamily:traits:size:]): Added. Call through to
+ +fontWithFamily:traits:weight:size:.
+
+2009-04-07 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben
+
+ Fix ScrollView's algorithm that determines whether or not to show scrollbars. There was a bug
+ with the method mainly because RenderView will size itself to the viewport's size, making it
+ impossible to really know the document's "true" size.
+
+ In order to solve this problem ScrollView now has a minimumContentsSize method. This method
+ returns the document size excluding the RenderView from the calculation. This width/height
+ is now cached on RenderView in m_docWidth/m_docHeight member variables.
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::adjustPageHeight):
+ (WebCore::FrameView::minimumContentsSize):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::minimumContentsSize):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::layout):
+ (WebCore::RenderView::calcDocHeight):
+ (WebCore::RenderView::calcDocWidth):
+ * rendering/RenderView.h:
+ (WebCore::RenderView::docWidth):
+ (WebCore::RenderView::docHeight):
+
+2009-04-07 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Build fix, not reviewed.
+
+ * WebCore.xcodeproj/project.pbxproj: Made ScriptObject.h private.
+
+2009-04-07 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25063
+ Refactor InspectorController to use ScriptObject/State.
+
+ * GNUmakefile.am: Added ScriptState.cpp.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+ * bindings/js/JSInspectorControllerCustom.cpp:
+ (WebCore::JSInspectorController::addSourceToFrame): Fixed argument index typo.
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call): Added reportExceptions parameter.
+ (WebCore::ScriptFunctionCall::construct): Ditto.
+ * bindings/js/ScriptFunctionCall.h: Ditto.
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::handleException): Added exception-reporting heloper.
+ (WebCore::ScriptObject::set): Changed to use handleException.
+ (WebCore::ScriptGlobalObject::set): Ditto,
+ * bindings/js/ScriptObject.cpp: Added ScriptGlobalObject.
+ (WebCore::ScriptGlobalObject::set): Added.
+ (WebCore::ScriptGlobalObject::getObject): Added.
+ * bindings/js/ScriptObject.h: Added ScriptGlobalObject decls.
+ (WebCore::ScriptGlobalObject::ScriptGlobalObject): Added.
+ * bindings/js/ScriptState.cpp: Added.
+ * bindings/js/ScriptState.h: Added scriptStateFromPage decl.
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToConsole): Changed to not report exceptions
+ to avoid re-entrancy.
+ * inspector/InspectorController.cpp: Refactored to use ScriptState/Object.
+ * inspector/InspectorController.h: Ditto.
+
+2009-04-07 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25083
+
+ Skia was previously calculating the leading value incorrectly, leading
+ us to add fHeight to get the height of a line of text. Now that Skia
+ is calculating fLeading correctly, we can remove fHeight.
+
+ This doesn't affect any layout tests.
+
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformInit):
+
+2009-04-07 Brian Weinstein <bweinstein@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24851
+
+ This fix removes the status code from the status message in a ResourceResponse, which allows a few more tests in http to pass.
+
+ * platform/network/cf/ResourceResponseCFNet.cpp:
+ (WebCore::ResourceResponse::platformLazyInit):
+
+2009-04-07 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25081
+
+ Skia is changing from reporting the XRange to reporting the XMin and
+ XMax. Obviously these are equivalent, but other users of the metrics
+ need the two numbers to be separate.
+
+ This doesn't affect any layout tests.
+
+ * platform/graphics/chromium/SimpleFontDataLinux.cpp:
+ (WebCore::SimpleFontData::platformInit):
+
+2009-04-07 Adam Roben <aroben@apple.com>
+
+ Make the look of <select>s match the system look on Vista
+
+ Reviewed by Dave Hyatt.
+
+ * rendering/RenderThemeWin.cpp: Added new constants.
+ (WebCore::RenderThemeWin::getThemeData): On Vista, use the
+ CP_DROPDOWNBUTTONRIGHT part for drop down buttons.
+ (WebCore::RenderThemeWin::paintMenuList): On Vista, use the CP_BORDER
+ part to draw the border of <select>s.
+ (WebCore::RenderThemeWin::paintMenuListButton): On Vista, outset the
+ drop down button to make its border coincide with the <select>'s
+ border.
+
+2009-04-07 Adam Roben <aroben@apple.com>
+
+ Move isRunningOnVistaOrLater to a shared location
+
+ Rubber-stamped in advance by Dave Hyatt.
+
+ * WebCore.vcproj/WebCore.vcproj: Added SystemInfo.{cpp,h}, and let VS
+ have its way with the rest of the file.
+ * platform/win/ScrollbarThemeWin.cpp: Moved isRunningOnVistaOrLater
+ from here...
+ * platform/win/SystemInfo.cpp: Added.
+ (WebCore::isRunningOnVistaOrLater): ...to here.
+ * platform/win/SystemInfo.h: Added.
+
+2009-04-07 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24692
+ Enable PopupMenuChromium to handle HTML select popups using native
+ cocoa controls on the Mac, all other platforms are unchanged.
+
+ We also split out the storage container for the popup menu items
+ so that ChromeClientChromium can access them for forwarding to
+ the embedding host (Chromium.app or test_shell).
+
+ * page/chromium/ChromeClientChromium.h:
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::items):
+ (WebCore::PopupContainer::PopupContainer):
+ (WebCore::PopupContainer::~PopupContainer):
+ (WebCore::PopupContainer::showPopup):
+ (WebCore::PopupContainer::showExternal):
+ (WebCore::PopupContainer::menuItemHeight):
+ (WebCore::popupData):
+ (WebCore::PopupListBox::pointToRowIndex):
+ (WebCore::PopupListBox::getRowBounds):
+ (WebCore::PopupListBox::isSelectableItem):
+ (WebCore::PopupListBox::updateFromElement):
+ (WebCore::PopupListBox::layout):
+ (WebCore::PopupListBox::clear):
+ (WebCore::PopupMenu::show):
+ * platform/chromium/PopupMenuChromium.h:
+ (WebCore::PopupItem::):
+ (WebCore::PopupItem::PopupItem):
+
+2009-04-07 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added some double-checking to event handler marking. Now, when the
+ wrapper that's responsible for marking an event handler's JavaScript
+ function gets collected, it clears the event handler's JavaScript function
+ so we won't dereference it after it's collected.
+
+ In theory, we would never dereference a JavaScript event handler after
+ its node's wrapper was collected anyway, but it's nice to be safe.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::mark):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::jsFunction):
+ (WebCore::JSEventListener::invalidateJSFunction):
+ (WebCore::JSEventListener::markJSFunction):
+ * bindings/js/JSEventListener.h:
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::mark):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::markEventListeners):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::mark):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorker::mark):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::mark):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::mark):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/EventListener.h:
+ (WebCore::EventListener::invalidateJSFunction):
+ (WebCore::EventListener::markJSFunction):
+ (WebCore::markIfNotNull):
+
+2009-04-07 David Levin <levin@chromium.org>
+
+ Build fix.
+
+ r44280 undid the change in r42268 that made CookieJar.h private.
+ This redoes the change.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-04-07 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Upstream changes to WorkerContextExecutionProxy for enabling V8 preemption.
+ https://bugs.webkit.org/show_bug.cgi?id=25034
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+
+2009-04-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6764359> Thai word selection misbehaves for the
+ last sentence in the document
+
+ Test: editing/selection/thai-word-at-document-end.html
+
+ * editing/visible_units.cpp:
+ - Added a BoundarySearchContextAvailability enum used to indicate
+ whether the caller to a boundary search function may be able to provide
+ additional text in the search direction and call again.
+ - Added a named type for the boundary search function signature. Changed
+ the signature to take a context availability parameter and a boolean
+ out parameter indicating whether more context is needed to perform
+ the search.
+ (WebCore::previousBoundary): If the beginning of the range was reached
+ but the last search wanted more context, perform the search again, this
+ time indicating that there is no earlier text.
+ (WebCore::nextBoundary): Similarly, in the other direction.
+ (WebCore::startWordBoundary): Check whether more context may be available
+ and ask for more context if needed.
+ (WebCore::endWordBoundary): Ditto.
+ (WebCore::previousWordPositionBoundary): Ditto.
+ (WebCore::nextWordPositionBoundary): Ditto.
+ (WebCore::startSentenceBoundary): Updated signature.
+ (WebCore::endSentenceBoundary): Ditto.
+ (WebCore::previousSentencePositionBoundary): Ditto.
+ (WebCore::nextSentencePositionBoundary): Ditto.
+
+2009-04-07 Geoffrey Garen <ggaren@apple.com>
+
+ Rubber stamped by Sam Weinig.
+
+ A little renaming:
+
+ function => jsFunction
+ listener => jsFunction
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent):
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::~JSEventListener):
+ (WebCore::JSEventListener::jsFunction):
+ (WebCore::JSEventListener::mark):
+ (WebCore::JSProtectedEventListener::JSProtectedEventListener):
+ (WebCore::JSProtectedEventListener::~JSProtectedEventListener):
+ (WebCore::JSProtectedEventListener::jsFunction):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSProtectedEventListener::create):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::jsFunction):
+ (WebCore::JSLazyEventListener::parseCode):
+ * dom/EventListener.h:
+ (WebCore::EventListener::jsFunction):
+
+2009-04-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler
+
+ While working on <rdar://problem/5968249>, noticed some glaring problems with LocalStorage.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::localStorage): Return the cached m_localStorage object if it exists to
+ avoid creating multiple representations for the same underlying StorageArea.
+ * page/DOMWindow.h:
+ (WebCore::DOMWindow::optionalLocalStorage): Return m_localStorage, not m_sessionStorage.
+
+2009-04-07 Darin Adler <darin@apple.com>
+
+ Roll out incorrect build fix.
+
+ * WebCore.NPAPI.exp: Reverted.
+
+2009-04-07 Darin Adler <darin@apple.com>
+
+ Another build fix.
+
+ * WebCore.NPAPI.exp: Added new functions.
+
+2009-04-07 Anders Carlsson <andersca@apple.com>
+
+ Another build fix.
+
+ * plugins/npfunctions.h:
+
+2009-04-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed build fix. Fix non-Mac builds.
+
+ * bridge/npapi.h:
+
+2009-04-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=25082
+
+ Clean up repaint logic when RenderLayers become and stop being composited.
+
+ * rendering/RenderLayer.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::rendererContentChanged):
+ (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
+ New compositing-only method that repaints a layer and all its non-composited descendants.
+ Takes a repaintContainer for performance; all the repaints necessarily share the same
+ repaintContainer.
+
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateLayerCompositingState):
+ Rather than use calculateCompositedBounds() to compute the repaint rect (which gave
+ the wrong answer when the composited layer tree was in flux), use the new
+ repaintOnCompositingChange() method.
+
+ (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
+ Call repaintIncludingNonCompositingDescendants(), and if necessary make sure
+ that the view/layer drawing synchronization happens.
+
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+ Do a repaintOnCompositingChange() when a layer is going to be composited. This is
+ a good place because we haven't started to change the compositing tree.
+
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+ After we've finished updating all the descendant layers, we can do a repaint for
+ layers that ceased compositing.
+
+2009-04-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=25069
+
+ Clean up the accelerated compositing code that determines the format of
+ the GraphicsLayer hierarchy, being more explicit about which parts have
+ to happen before and after descendant layers have been updated. Also remove
+ some unhelpful caching of state.
+
+ * dom/Document.cpp:
+ (WebCore::Document::recalcStyle):
+ Only call updateCompositingLayers() if we know we're not going to be
+ doing a layout soon.
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setDrawsContent):
+ Toggling drawsContent from false to true should do a setNeedsDisplay().
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::styleChanged):
+ updateLayerCompositingState() no longer updates the layer geometry, so
+ do that here if we're not going to rebuild layers anyway.
+ Also, updateLayerCompositingState() no longer does a setContentsNeedDisplay,
+ so do that if the style change indicates that a repaint is required.
+
+ * rendering/RenderLayerBacking.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::RenderLayerBacking):
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+ The 'drawing optimizations' logic has been rolled into updateGraphicsLayerConfiguration()
+ and updateGraphicsLayerGeometry().
+
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
+ Group that code that decides what GraphicsLayers are needed into this method,
+ which deals with clipping layers and 'direct compositing': images that can be
+ rendered via the compositor.
+
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ Call setDrawsContent() if updateGraphicsLayerConfiguration() didn't already
+ figure it out for image layers.
+
+ (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
+ Remove the m_simpleCompositingLayerStatusDirty cache indicator, since we just
+ computed it every time anyway.
+
+ * rendering/RenderLayerCompositor.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateLayerCompositingState):
+ updateGraphicsLayers() was renamed to updateGraphicsLayerConfiguration(),
+ which calls clippedByAncestor() etc. itself rather than having everything passed in.
+ Repaints are taken care of by styleChanged() and setDrawsContent().
+
+ (WebCore::RenderLayerCompositor::calculateCompositedBounds):
+ !layer->isComposited() && layer->transform() is a synonym for paintsWithTransform().
+
+ (WebCore::RenderLayerCompositor::setCompositingParent):
+ No need to call updateGraphicsLayerGeometry() here, because we're going to
+ rebuild layers anyway.
+
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+ Add comments, and test layerBacking instead of layer->isComposited().
+
+2009-04-07 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebCore.base.exp:
+
+2009-04-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6667001> NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo()
+
+ * WebCore.base.exp:
+ Add symbols needed by WebKit.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Make CookieJar a private header.
+
+ * bridge/npapi.h:
+ Add function definitions.
+
+ * plugins/npfunctions.h:
+ Fix the NPN_SetValueForURLProcPtr signature.
+
+2009-04-07 Adam Roben <aroben@apple.com>
+
+ Fix <rdar://6520933> REGRESSION (3.2.1-ToT): Scroll bar disappears in
+ WebView and Bookmarks view after switching theme or turning on High
+ Contrast mode
+
+ Reviewed by Dave Hyatt.
+
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::themeChanged): Null out scrollbarTheme
+ after closing it so that we'll re-open the theme next time we paint.
+
+2009-04-07 Adam Roben <aroben@apple.com>
+
+ Small cleanup/correctness fix in ScrollbarThemeWin
+
+ Reviewed by Dave Hyatt.
+
+ * platform/win/ScrollbarThemeWin.cpp: Removed the now-unused
+ haveTheme boolean.
+ (WebCore::checkAndInitScrollbarTheme): Check IsThemeActive() before
+ calling OpenThemeData. This seems to be what MSDN recommends.
+ (WebCore::ScrollbarThemeWin::themeChanged): Null-check scrollbarTheme
+ before closing it, rather than indirectly null-checking it via
+ checking haveTheme.
+
+2009-04-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - when -webkit-line-break: after-white-space is specified but the text
+ does not auto-wrap, do not shrink the trailing space to fit in the
+ available width
+
+ Test: fast/text/whitespace/nowrap-line-break-after-white-space.html
+
+ - when shrinking such trailing space, do not shrink below zero
+
+ Covered by existing tests
+
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::computeHorizontalPositionsForLine):
+ (WebCore::RenderBlock::layoutInlineChildren):
+
+2009-04-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Move RangeBoundaryPoint off of Position, per Darin's suggestion
+ https://bugs.webkit.org/show_bug.cgi?id=24966
+
+ Rename setToChild to setToBeforeChild (since that's what the method does)
+
+ * dom/Position.h:
+ (WebCore::Position::offsetInContainerNode):
+ * dom/Range.cpp:
+ (WebCore::Range::insertNode):
+ (WebCore::Range::selectNodeContents):
+ (WebCore::boundaryNodeWillBeRemoved):
+ * dom/Range.h:
+ (WebCore::Range::startPosition):
+ (WebCore::Range::endPosition):
+ * dom/RangeBoundaryPoint.h:
+ (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
+ (WebCore::RangeBoundaryPoint::container):
+ (WebCore::RangeBoundaryPoint::childBefore):
+ (WebCore::RangeBoundaryPoint::position):
+ (WebCore::RangeBoundaryPoint::offset):
+ (WebCore::RangeBoundaryPoint::clear):
+ (WebCore::RangeBoundaryPoint::set):
+ (WebCore::RangeBoundaryPoint::setOffset):
+ (WebCore::RangeBoundaryPoint::setToBeforeChild):
+ (WebCore::RangeBoundaryPoint::setToStartOfNode):
+ (WebCore::RangeBoundaryPoint::setToEndOfNode):
+ (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
+ (WebCore::RangeBoundaryPoint::invalidateOffset):
+
+2009-04-07 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add containerNode(), computeOffsetInContainerNode(),
+ computeNodeBeforePosition() and computeNodeAfterPosition().
+ https://bugs.webkit.org/show_bug.cgi?id=24763
+
+ These functions will replace uses of rangeCompliantPosition()
+ in future patches.
+
+ No changes in behavior, thus no tests.
+
+ * dom/Position.cpp:
+ (WebCore::Position::containerNode):
+ (WebCore::Position::computeOffsetInContainerNode):
+ (WebCore::Position::computeNodeBeforePosition):
+ (WebCore::Position::computeNodeAfterPosition):
+ (WebCore::Position::anchorType):
+ * dom/Position.h:
+ (WebCore::Position::):
+
+2009-04-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Bottleneck dispatching mutation events in a new dispatchMutationEvent
+ function.
+
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::dispatchModifiedEvent):
+ * dom/ContainerNode.cpp:
+ (WebCore::dispatchChildInsertionEvents):
+ (WebCore::dispatchChildRemovalEvents):
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchSubtreeModifiedEvent):
+ (WebCore::Node::dispatchMutationEvent):
+ * dom/Node.h:
+
+2009-04-06 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25059
+ Remove references to dominantScript, getGenericFontForScript.
+
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp: Removed references
+ to getGenericFontForScript.
+ (WebCore::FontCache::getLastResortFallbackFont): Removed calls to dominantScript.
+ * platform/graphics/chromium/FontCacheLinux.cpp: Ditto.
+ * rendering/RenderThemeChromiumLinux.cpp:
+ (WebCore::defaultGUIFont): Removed Document* arg.
+ (WebCore::RenderThemeChromiumLinux::systemFont): Ditto.
+ * rendering/RenderThemeChromiumLinux.h: Ditto.
+ * rendering/RenderThemeChromiumMac.h: Ditto.
+ * rendering/RenderThemeChromiumMac.mm: Ditto.
+ (WebCore::RenderThemeChromiumMac::systemFont): Ditto.
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::defaultGUIFont): Ditto.
+ (WebCore::RenderThemeChromiumWin::systemFont): Ditto.
+ * rendering/RenderThemeChromiumWin.h: Ditto.
+
+2009-04-06 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=21260
+ Unbounded memory growth when churning elements with anonymous event handler functions
+
+ The problem was that a protected event listener's scope chain would end
+ up with a reference to the Node protecting it, causing a cycle. The
+ solution is to stop protecting event listeners and rely on marking instead.
+
+ This patch converts most Node event listeners to use marking instead of
+ GC protection.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::isObservableThroughDOM):
+ (WebCore::markDOMNodesForDocument): Refactored the test for whether a Node
+ needs marking, and added a case for marking the node in order to mark its
+ event listeners.
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::markEventListeners):
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ (WebCore::JSNode::mark): Added code to mark a Node's event listeners when
+ marking the Node. Changed code using protected event listeners to use event
+ listeners.
+
+ * dom/Node.idl: Changed code using protected event listeners to use event
+ listeners.
+
+2009-04-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove unchecked bool return values for some dispatch event functions.
+
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchSubtreeModifiedEvent):
+ (WebCore::Node::dispatchUIEvent):
+ (WebCore::Node::dispatchWebKitAnimationEvent):
+ (WebCore::Node::dispatchWebKitTransitionEvent):
+ (WebCore::Node::dispatchProgressEvent):
+ * dom/Node.h:
+
+2009-04-06 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25058
+ Fix chromium build bustage caused by r42216
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * page/DOMWindow.idl:
+
+2009-04-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Rubber-stamped by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20575
+ No localization in WebKitGtk
+
+ * platform/gtk/FileChooserGtk.cpp: Remove usage of glib/gi18n.h,
+ since there are not translatable strings.
+ * platform/gtk/LocalizedStringsGtk.cpp: Use the glib i18n header
+ that is specific for libraries.
+
+2009-04-06 Mike Belshe <mike@belshe.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24978
+ Use custom implementations of a few Node methods so that
+ we don't over-aggressively create JS wrappers here.
+
+ * bindings/v8/custom/V8NodeCustom.cpp: Added custom implementations.
+ * dom/Node.idl: Removed JSC-specifier, making impl custom for V8 as well.
+
+2009-04-06 Dave Moore <davemoore@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25031
+ Make the V8 element collections check for named properties *before*
+ checking if there are any elements with the same name. Otherwise
+ it is both incorrect and slow.
+
+ Test: fast/dom/HTMLSelectElement/length-not-overridden.html
+
+ Both of these interceptors were attempting to find an element in the
+ collection that had a name or id of the property name before checking
+ for a JS property with that name.
+ * bindings/v8/V8Collection.h:
+ (WebCore::collectionNamedPropertyGetter):
+ (WebCore::nodeCollectionNamedPropertyGetter):
+
+2009-04-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=25052
+
+ Pull the call to updateGraphicsLayerGeometry() out of updateGraphicsLayers(),
+ because we need to call it at the end of rebuildCompositingLayerTree() once
+ we've determined which descendant layers are composited, otherwise
+ calculateCompositedBounds() can give the wrong answer.
+
+ Now that updateLayerCompositingState() doesn't end up calling updateGraphicsLayerGeometry(),
+ call that explicitly from styleChanged(), if we know a layer update is not pending,
+ and similarly from updateAfterLayout().
+
+ Test: compositing/overflow/overflow-positioning.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+ (WebCore::RenderLayerBacking::updateGraphicsLayers):
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+
+2009-04-06 Mike Belshe <mike@belshe.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Add accessors to AtomicString which take String/const char* arguments
+ so that we don't accidentally thrash the AtomicString table.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24979
+
+ * platform/text/AtomicString.h:
+
+2009-04-03 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make col and row work in WebCore/manual-tests/cursor.html. The issue
+ was spotted in the WebKit inspector.
+
+ * platform/gtk/CursorGtk.cpp:
+ (WebCore::columnResizeCursor):
+ (WebCore::rowResizeCursor):
+
+2009-04-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Don't show and hide the platformPluginWidget, as it's our QWebView
+
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::setParentVisible):
+
+2009-04-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add new files to the Qt build.
+ Export helper function from the Qt JSC binding, needed in WebKit/qt.
+
+ * WebCore.pro: Add new files.
+ * bridge/qt/qt_runtime.h: Declare convertQVariantToValue.
+
+2009-04-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Changed ScriptFunctionCall's last argument from a const char* as the function name to a String.
+
+ Internally the function name is stored as a WebCore::String and the Qt port wants to use this
+ constructor programmatically where the function name is also a WebCore::String.
+
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::ScriptFunctionCall):
+ * bindings/js/ScriptFunctionCall.h:
+
+2009-04-06 Mike Belshe <mike@belshe.com>
+
+ Reviewed by Eric Seidel.
+
+ HTMLCanvasElement crash when ImageBuffer creation fails.
+ https://bugs.webkit.org/show_bug.cgi?id=23212
+
+ Check for NULL before using the ImageBuffer as we might
+ be low on memory and creation may have failed.
+
+ Test case creation blocked by:
+ https://bugs.webkit.org/show_bug.cgi?id=25055
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+
+2009-04-05 Geoffrey Garen <ggaren@apple.com>
+
+ [Originally] Reviewed by Sam Weinig.
+
+ Rolled back in r42214 with crashes fixed.
+
+ [Removed irrelevant ExecState* parameter from event handler registration code.]
+
+ [No change in behavior.]
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
+ (WebCore::JSDOMGlobalObject::findJSEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::addEventListener):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::addEventListener):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorker::addEventListener):
+ (WebCore::JSWorker::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-04-05 Erik L. Bunce <elbunce@xendom.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25050
+
+ Fix an assert failure when dropping an 'empty' text/uri-list on a QWebView.
+
+ * platform/qt/DragDataQt.cpp:
+ (WebCore::DragData::asURL):
+
+2009-04-05 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build.
+
+ * bridge/qt/qt_runtime.h:
+ (JSC::Bindings::QtRuntimeMethod::createPrototype): Take the JSGlobalObject
+ as second argument.
+
+2009-04-04 Kevin Ollivier <kevino@theolliviers.com>
+
+ Build fixes for wxMac/Tiger.
+
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp:
+ (wxFontProperties::wxFontProperties):
+ * rendering/break_lines.cpp:
+ (WebCore::nextBreakablePosition):
+ * webcore-wx.bkl:
+
+2009-04-04 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Cameron Zwarich
+
+ https://bugs.webkit.org/show_bug.cgi?id=24648
+
+ Ensure that mapPoint(const IntPoint&) calls the FloatPoint
+ version to avoid infinite recursion.
+
+ No test because mapPoint(const IntPoint&) isn't ever called
+ on Mac, so I can't reproduce.
+
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (WebCore::TransformationMatrix::mapPoint):
+
+2009-04-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix <rdar://problem/6757862> REGRESSION: Cannot use the mouse to place
+ the insertion point inside a Thai character
+
+ Test: fast/text/international/thai-offsetForPosition-inside-character.html
+
+ * platform/graphics/mac/CoreTextController.cpp:
+ (WebCore::CoreTextController::offsetForPosition): Changed to use
+ cursorMovementIterator instead of characterBreakIterator, allowing this
+ function to return a valid cursor position even if it is not at
+ a character boundary.
+
+2009-04-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix an assertion failure when clicking at the beginning of a
+ glyph cluster at the beginning of a text run
+
+ Test: fast/text/offsetForPosition-cluster-at-zero.html
+
+ * platform/graphics/mac/CoreTextController.cpp:
+ (WebCore::CoreTextController::offsetForPosition): Corrected the bound
+ check on firstGlyphBeforeCluster, letting it be 0 or -1, but not less
+ than -1.
+
+2009-04-03 Brian Weinstein <bweinstein@gmail.com>
+
+ Allows 16 HTML/CSS standard colors to be shown as swatch backgrounds
+ when the names are given.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25044
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
+
+2009-04-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6330929>
+ https://bugs.webkit.org/show_bug.cgi?id=21456
+
+ Don't update the document pointer for all inactive windows on navigations.
+ This change causes us to differ slightly from Firefox when accessing the
+ document from within a closure tied to a navigated context, but as all
+ browsers differ on this edge case, I don't foresee compatibility issues.
+
+ Test: http/tests/security/cross-frame-access-document-direct.html
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::initScript):
+ (WebCore::ScriptController::updateDocument):
+ * bindings/js/ScriptController.h:
+
+2009-04-03 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Test: transitions/bad-transition-shorthand-crash.html
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=24787.
+
+ We were starting transitions with 0 duration and delay, which is
+ useless. With accelerated compositing on, this went through a code
+ path that tried to use m_toStyle, which never got set because the
+ transitions was short circuited before it had a chance to. So I
+ both protect against using that null pointer and avoid starting
+ the transition in the first place.
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::updateTransitions):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
+
+2009-04-03 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where you could not type any more in the Web Inspector's
+ search field after the first match is selected in the Resources panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23982
+ rdar://problem/6592367
+
+ Reviewed by Darin Adler.
+
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._jumpToSearchResult): Use the
+ window object of the frame to set the selection, not the main window.
+
+2009-04-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22081
+ <rdar://problem/6346030>
+ Don't allow overriding the return value of window.location.
+
+ Tests: fast/dom/Window/Location/location-override-toString-on-proto-using-defineGetter.html
+ fast/dom/Window/Location/location-override-toString-on-proto-using-with.html
+ fast/dom/Window/Location/location-override-toString-on-proto.html
+ fast/dom/Window/Location/location-override-toString-using-defineGetter.html
+ fast/dom/Window/Location/location-override-toString-using-with.html
+ fast/dom/Window/Location/location-override-toString.html
+ fast/dom/Window/Location/location-override-valueOf-on-proto-using-defineGetter.html
+ fast/dom/Window/Location/location-override-valueOf-on-proto-using-with.html
+ fast/dom/Window/Location/location-override-valueOf-on-proto.html
+ fast/dom/Window/Location/location-override-valueOf-using-defineGetter.html
+ fast/dom/Window/Location/location-override-valueOf-using-with.html
+ fast/dom/Window/Location/location-override-valueOf.html
+ fast/dom/Window/Location/window-override-location-using-defineGetter.html
+ fast/dom/Window/Location/window-override-window-using-defineGetter.html
+ fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString.html
+ fast/dom/Window/Location/window-shadow-location-using-string.html
+ fast/dom/Window/Location/window-shadow-window-using-js-object-with-location-field.html
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::defineGetter):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::JSLocation::customPut):
+ (WebCore::JSLocation::defineGetter):
+ (WebCore::JSLocationPrototype::customPut):
+ (WebCore::JSLocationPrototype::defineGetter):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * page/Location.idl:
+
+2009-04-03 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled out r42214 since it seems to have caused crashes on the buildbot.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
+ (WebCore::JSDOMGlobalObject::findJSEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::addEventListener):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorker::addEventListener):
+ (WebCore::JSWorker::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-04-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for <rdar://problem/6476356>
+ https://bugs.webkit.org/show_bug.cgi?id=23148
+
+ - Use the window object the Location and History objects are directly associated with
+ instead of the lexical global object to pick the object prototype to serve as the
+ base of the their respective prototype chains.
+ - Re-factor as necessary to allow passing the correct global object to the createPrototype
+ functions.
+
+ Tests: http/tests/security/cross-frame-access-history-prototype.html
+ http/tests/security/cross-frame-access-location-prototype.html
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::getCachedDOMStructure):
+ (WebCore::cacheDOMStructure):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::getDOMStructure):
+ (WebCore::getDOMPrototype):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::history):
+ (WebCore::JSDOMWindow::location):
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::location):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ * bindings/js/JSNamedNodesCollection.h:
+ (WebCore::JSNamedNodesCollection::createPrototype):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSRGBColor.h:
+ (WebCore::JSRGBColor::createPrototype):
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::JSWorkerConstructor::JSWorkerConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/objc/objc_runtime.h:
+ (JSC::Bindings::ObjcFallbackObjectImp::createPrototype):
+ * bridge/runtime_array.h:
+ (JSC::RuntimeArray::createPrototype):
+ * bridge/runtime_method.h:
+ (JSC::RuntimeMethod::createPrototype):
+ * bridge/runtime_object.h:
+ (JSC::RuntimeObjectImp::createPrototype):
+ * page/DOMWindow.idl:
+
+2009-04-03 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25009
+ Upstream changes to WorkerContextExecutionProxy for V8 bindings in order to use V8EventListenerList as container.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
+ (WebCore::WorkerContextExecutionProxy::dispose):
+ (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener):
+ (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+
+2009-04-03 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Removed irrelevant ExecState* parameter from event handler registration code.
+
+ No change in behavior.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
+ (WebCore::JSDOMGlobalObject::findJSEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::addEventListener):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ * bindings/js/JSWorkerCustom.cpp:
+ (WebCore::JSWorker::addEventListener):
+ (WebCore::JSWorker::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-04-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - fix <rdar://problem/6634771> Under full-page zoom, cannot scroll
+ MobileMe contact list
+
+ Test: fast/css/zoom-in-length-round-trip.html
+
+ * dom/Element.cpp:
+ (WebCore::adjustForLocalZoom): For zoom factors greater than 1, ensure
+ that the returned value is equal to the original unscaled value.
+ (WebCore::adjustForAbsoluteZoom): Ditto.
+
+2009-04-03 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=24941
+
+ This fix essentially does a -viewWillDraw call for layout. It adds
+ a CFRunLoopObserver which performs layout just before drawing on the
+ Mac platform. This makes sure layout is complete before rendering and
+ avoids a flash.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::scheduleViewUpdate):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::setCompositingLayersNeedUpdate):
+ (WebCore::RenderLayerCompositor::scheduleViewUpdate):
+ * rendering/RenderLayerCompositor.h:
+
+2009-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=24648
+
+ Optimize mapPoint(), mapRect() and mapQuad() for identity matrix and translations.
+
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::TransformationMatrix::mapPoint):
+ (WebCore::TransformationMatrix::mapRect):
+ (WebCore::TransformationMatrix::mapQuad):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (WebCore::TransformationMatrix::mapPoint):
+
+2009-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=25018
+
+ Add containsPoint() and containsQuad() methods to FloatQuad.
+
+ * platform/graphics/FloatQuad.cpp:
+ (WebCore::dot):
+ (WebCore::isPointInTriangle):
+ (WebCore::FloatQuad::containsPoint):
+ (WebCore::FloatQuad::containsQuad):
+ * platform/graphics/FloatQuad.h:
+
+2009-04-03 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Darin.
+
+ * loader/ProgressTracker.cpp: Included DocumentLoader.h
+ (WebCore::ProgressTracker::incrementProgress): Limit the 50%-clamp rule to
+ documents that use WebCore's layout system.
+
+2009-04-03 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25029
+ <rdar://problem/6336092> REGRESSION: movie does not resize correctly
+
+ Test: media/video-size-intrinsic-scale.html
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::naturalSize): Use QTMovieCurrentSizeAttribute instead
+ of QTMovieNaturalSizeAttribute so we return the correct size for movies saved
+ with a non-default matrix.
+ (WebCore::MediaPlayerPrivate::setSize): Don't resize the QTMovieView
+ because [QTMovieView setFrame] also resizes the movie itself, and as
+ the renderer calls setSize immediately when a movie reports a size change
+ (QTMovieSizeDidChangeNotification) we can get into a feedback loop
+ observing the size change and resetting the size, and this can cause
+ QuickTime to miss correctly setting a movie's size when the media size
+ changes after opening (as happens with an rtsp movie once the server sends
+ the track sizes). Instead, remember the size passed to paint() and
+ resize the view when it changes.
+ (WebCore::MediaPlayerPrivate::paint): Resize the view when passed a new size.
+
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWin::getNaturalSize): Use GetMovieBox instead of GetMovieNaturalBoundsRect
+ so we return the correct size for movies saved with non-default matrix.
+
+2009-04-03 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Restore FrameLoader::policyDocumentLoader to fix the Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=25028
+
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::policyDocumentLoader):
+
+2009-04-02 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Use long long, not int64, when working in webcore (sorry).
+ https://bugs.webkit.org/show_bug.cgi?id=25011
+
+ No change in functionality, so no tests.
+
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::getAppCacheID):
+ (WebCore::ResourceResponse::setAppCacheID):
+
+2009-04-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ Remove pre-processor checks for GTK+ >= 2.10, since we now require
+ at least that version.
+
+ * platform/graphics/gtk/FontPlatformDataGtk.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/gtk/ContextMenuItemGtk.cpp:
+ (WebCore::gtkStockIDFromContextMenuAction):
+ * platform/gtk/KeyEventGtk.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ (WebCore::contextMenuItemTagSelectAll):
+ * platform/gtk/MouseEventGtk.cpp:
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent):
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeSelection):
+ (WebCore::Pasteboard::documentFragment):
+ * platform/gtk/WheelEventGtk.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+
+2009-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=25021
+
+ Fix repainting an element with a reflection and transform after layout.
+ Telling the reflection to repaint directly is wrong, because, with
+ LayoutState enabled, it only takes the reflection's transform into account,
+ not that of the element. We can fix this, and keep the benefits of LayoutState,
+ by computing the reflected repaint rect, and repainting that using the original
+ renderer.
+
+ Test: fast/repaint/reflection-repaint-test.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+
+2009-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=23307
+
+ When repainting during layout (when LayoutState is enabled), we need
+ to apply the transform to the dirty rect, before applying x(), y() and
+ the offset storted in the LayoutState.
+
+ Also bypass LayoutState in mapLocalToContainer() if we have a repaintContainer,
+ since LayoutState is always root-relative.
+
+ Test: fast/repaint/transform-layout-repaint.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::mapLocalToContainer):
+ (WebCore::RenderBox::computeRectForRepaint):
+
+2009-04-02 Mark Rowe <mrowe@apple.com>
+
+ Fix the Mac build after r42191.
+
+ * WebCore.base.exp:
+
+2009-04-02 Mark Rowe <mrowe@apple.com>
+
+ Fix Windows build after r42190.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::keyEvent): Update to use the new name of the constant.
+
+2009-04-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ <rdar://problem/6625840> Previous Page isn't loaded after hitting back button at http://www.breakingnews.ie/
+
+ Test: http/tests/navigation/onload-navigation-iframe-2.html
+
+ * html/HTMLFrameElement.cpp:
+ (WebCore::HTMLFrameElement::HTMLFrameElement): Removed unneeded createdByParser flag.
+ * html/HTMLFrameElement.h: Ditto.
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Ditto.
+ * html/HTMLFrameElementBase.h: Ditto.
+ * html/HTMLFrameOwnerElement.cpp:
+ (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Ditto.
+ * html/HTMLFrameOwnerElement.h: Ditto.
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::HTMLIFrameElement): Ditto.
+ * html/HTMLIFrameElement.h: Ditto.
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::HTMLPlugInElement): Ditto.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm): Removed unneeded check of the createdByParser flag.
+ The original change that introduced this, http://trac.webkit.org/changeset/25410, does
+ not make it clear why this check was needed. And it seems it is not needed.
+
+2009-04-02 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add a way to get a list of focusable nodes.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ (WebCore::Document::getFocusableNodes):
+ * dom/Document.h:
+
+2009-04-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6654255> crash due to null FrameView in EventHandler
+
+ Lots of code was added to EventHandler that used view() and page() without
+ null checking, but both of those can become null due to the frame lifetime.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEventSingleClick):
+ (WebCore::EventHandler::eventMayStartDrag):
+ (WebCore::EventHandler::handleAutoscroll):
+ (WebCore::EventHandler::autoscrollTimerFired):
+ (WebCore::EventHandler::setPanScrollCursor):
+ (WebCore::EventHandler::allowDHTMLDrag):
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ (WebCore::EventHandler::stopAutoscrollTimer):
+ (WebCore::EventHandler::selectCursor):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::dispatchDragEvent):
+ (WebCore::EventHandler::prepareMouseEvent):
+ (WebCore::EventHandler::dispatchMouseEvent):
+ (WebCore::EventHandler::handleWheelEvent):
+ (WebCore::EventHandler::hoverTimerFired):
+ (WebCore::EventHandler::keyEvent):
+ (WebCore::EventHandler::dragHysteresisExceeded):
+ (WebCore::EventHandler::shouldDragAutoNode):
+ (WebCore::EventHandler::handleDrag):
+ (WebCore::EventHandler::handleTextInputEvent):
+ (WebCore::EventHandler::addPendingFrameUnloadEventCount):
+ (WebCore::EventHandler::removePendingFrameUnloadEventCount):
+ (WebCore::EventHandler::clearPendingFrameUnloadEventCount):
+ (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount):
+ (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount):
+ (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
+ Added null checks for view() and page(). Made minor code cleanups.
+
+2009-04-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix regression in <object> layout test. Make sure that even though a 404 image loads, that <object>
+ still considers it an error for the purposes of firing onerror.
+
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::dispatchLoadEvent):
+
+2009-04-02 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25010
+ Refactor InspectorController to replace all JS function invocations with
+ ScriptFunctionCall.
+
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::appendArgument): Added int, UString,
+ and JSValuePtr methods.
+ (WebCore::ScriptFunctionCall::call): Added simplified, exception-eating
+ method.
+ * bindings/js/ScriptFunctionCall.h: Decls for above.
+ * bindings/js/ScriptObjectQuarantine.cpp: Added helper for Node and DOMWindow.
+ (WebCore::getQuarantinedScriptObject):
+ * bindings/js/ScriptObjectQuarantine.h: Decls for above.
+ * inspector/InspectorController.cpp:
+ (WebCore::callSimpleFunction): Made into a static.
+ (WebCore::InspectorController::focusNode): Refactored to use ScriptFunctionCall.
+ (WebCore::InspectorController::toggleRecordButton): Ditto.
+ (WebCore::InspectorController::startGroup): Ditto.
+ (WebCore::InspectorController::setAttachedWindow): Ditto.
+ (WebCore::InspectorController::inspectedWindowScriptObjectCleared): Ditto.
+ (WebCore::InspectorController::addScriptProfile): Ditto.
+ (WebCore::InspectorController::didParseSource): Ditto.
+ (WebCore::InspectorController::failedToParseSource): Ditto.
+ (WebCore::InspectorController::didPause): Ditto.
+ * inspector/InspectorController.h: Removed callFunction and callSimpleFunction
+ decls.
+
+2009-04-02 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Upstream changes to V8WorkerContextEventListener for V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=25007
+
+ * bindings/v8/V8ObjectEventListener.h:
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+
+2009-04-02 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Upstream V8WorkerContextObjectEventListener for V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=25005
+
+ * bindings/v8/V8WorkerContextObjectEventListener.cpp: Added.
+ * bindings/v8/V8WorkerContextObjectEventListener.h: Added.
+
+2009-04-02 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Upstream V8EventListenerList for V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=25004
+
+ * bindings/v8/V8EventListenerList.cpp: Added.
+ * bindings/v8/V8EventListenerList.h: Added.
+
+2009-04-02 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Chromium's ResourceRequest and ResourceResponse structs need some new data members.
+ https://bugs.webkit.org/show_bug.cgi?id=24897
+
+ These fields are needed to facilitate Chromium's implementation of the HTML5
+ ApplicationCache feature. We need to know what frame (or context) is doing the
+ requesting, and from what cache the resulting resource was retrieved.
+
+ No change in functionality, so no tests.
+
+ * platform/network/chromium/ResourceRequest.h:
+ (WebCore::ResourceRequest::ResourceRequest):
+ (WebCore::ResourceRequest::appCacheContextID):
+ (WebCore::ResourceRequest::setAppCacheContextID):
+ * platform/network/chromium/ResourceResponse.h:
+ (WebCore::ResourceResponse::ResourceResponse):
+ (WebCore::ResourceResponse::getAppCacheID):
+ (WebCore::ResourceResponse::setAppCacheID):
+
+2009-04-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=24643.
+
+ Make sure images just ignore HTTP error codes and keep loading anyway. Only <object> checks http error codes and falls back. Everyone
+ else just ignores it and displays the image anyway.
+
+ Added http/tests/misc/image-error.html
+
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::notifyFinished):
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::CachedImage):
+ * loader/CachedImage.h:
+ (WebCore::CachedImage::httpStatusCodeError):
+ (WebCore::CachedImage::httpStatusCodeErrorOccurred):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::httpStatusCodeError):
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::didReceiveData):
+
+2009-04-02 Jian Li <jianli@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add XHR constructor in WorkerContext.idl for V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=24962
+
+ * workers/WorkerContext.idl:
+
+2009-04-02 Ben Murdoch <benm@google.com>
+
+ Fix Bug 19743: Release build fails on 32-bit Windows
+
+ <https://bugs.webkit.org/show_bug.cgi?id=19743>
+
+ Combines all the HTML element cpp files into one to help reduce the
+ size of WebCore.lib so we can build in release mode on 32bit Windows.
+
+ Reviewed by Adam Roben.
+
+ * WebCore.vcproj/WebCore.vcproj: Excluded all the separate
+ HTML*Element.cpp files from the build. Added HTMLElementsAllInOne.cpp
+ to the build.
+ * html/HTMLElementsAllInOne.cpp: Added.
+
+2009-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=24999
+
+ Optimize hit testing with transforms.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::mapLocalToContainer):
+ (WebCore::RenderBox::mapAbsoluteToLocalPoint):
+ getTransformFromContainer() change to return the matrix by reference.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::update3DTransformedDescendantStatus):
+ The method failed to set m_3DTransformedDescendantStatusDirty to false,
+ so did the work every time.
+
+ (WebCore::RenderLayer::createLocalTransformState):
+ Only call the expensive getTransformFromContainer() if there is a transform,
+ otherwise we just have a translation.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::getTransformFromContainer):
+ * rendering/RenderObject.h:
+ Change transformFromContainer() to getTransformFromContainer(), and return
+ the matrix by reference to reduce copying.
+ New enum values for arguments for readability.
+
+ * rendering/TransformState.cpp:
+ (WebCore::TransformState::move):
+ (WebCore::TransformState::applyTransform):
+ (WebCore::HitTestingTransformState::translate):
+ New method that adds a translation to the accumulated matrix, optionally
+ without flattening. Cheaper than applyTransform().
+
+ (WebCore::HitTestingTransformState::applyTransform):
+ (WebCore::HitTestingTransformState::flatten):
+ (WebCore::HitTestingTransformState::flattenWithTransform):
+ Add flattenWithTransform(), which is a helper that allows us to
+ avoid doing the inverse() twice.
+
+ * rendering/TransformState.h:
+ (WebCore::TransformState::):
+ (WebCore::TransformState::move):
+ (WebCore::HitTestingTransformState::):
+ New method on HitTestingTransformState that adds a translation to the
+ accumulated matrix, optionally without flattening. Cheaper than applyTransform().
+ New enum values for arguments for readability.
+
+2009-04-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=24648
+
+ Optimize common code paths in TransformationMatrix.
+
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::TransformationMatrix::translate):
+ (WebCore::TransformationMatrix::translate3d):
+ Optimize to avoid matrix copy.
+
+ (WebCore::TransformationMatrix::isInvertible):
+ Test for identity and translation matrices before computing
+ the determinant.
+
+ (WebCore::TransformationMatrix::inverse):
+ Optimize for identity matrix and translations.
+
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (WebCore::TransformationMatrix::isIdentityOrTranslation):
+ Utility method.
+
+2009-04-02 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24930
+ [Gtk] ISO files content is displayed inside the webview instead of being downloaded
+
+ Also sniff content of types declared as text/plain. This is
+ justified by the fact that it is common to have Apache HTTP
+ servers configured to send text/plain as Content-Type by default.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::gotHeadersCallback):
+
+2009-04-02 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Protect the handle when notifying the client that the response was
+ received also in gotChunkCallback, or we crash in didReceiveData
+ when the load is cancelled in didReceiveResponse.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::gotChunkCallback):
+
+2009-04-02 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25001
+ Crash when content type parameters have no value
+
+ Handle the case where a Content-Type header parameter has no
+ value (i.e. no = character), to work-around a bug in libsoup.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::fillResponseFromMessage):
+
+2009-04-02 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24490
+
+ Enable web workers in Qt.
+
+ * WebCore.pro:
+
+2009-04-01 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler. Based on work of Julien Chaffraix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22475
+ REGRESSION: Async XMLHttpRequest never finishes on nonexistent files anymore
+
+ https://bugs.webkit.org/show_bug.cgi?id=24886
+ XHR requests opened when offline never return
+
+ Tests: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
+ http/tests/xmlhttprequest/state-after-network-error.html
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::callReadyStateChangeListener): Only dispatch load event if this
+ wasn't an error.
+ (WebCore::XMLHttpRequest::abort): Fixed formatting.
+ (WebCore::XMLHttpRequest::genericError): Change state to DONE and dispatch readystatechange.
+ The comment saying that this doesn't match Firefox was added in r33559 without explanation
+ or tests, and I don't think that it's accurate. Also, Firefox and Safari 3 both change state
+ to HEADERS_RECEIVED before DONE on error - this doesn't match the spec, and I doubt
+ that any code depends on this, so I went with the spec here.
+
+2009-04-01 Steve Falkenburg <sfalken@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=24997
+ Race conditions in icon database threading code
+
+ m_syncThreadRunning set was mistakenly eliminated in r27717.
+ This reintroduces it.
+
+ Reviewed by Oliver Hunt.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::open): Set m_syncThreadRunning.
+
+2009-04-01 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6748609> Use ActiveDOMObject to suspend marquees
+
+ Make marquees ActiveDOMObjects, get rid of the special suspension code.
+
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
+ (WebCore::HTMLMarqueeElement::canSuspend):
+ (WebCore::HTMLMarqueeElement::suspend):
+ (WebCore::HTMLMarqueeElement::resume):
+ * html/HTMLMarqueeElement.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::clearTimers):
+ * rendering/RenderLayer.cpp:
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::marquee):
+
+2009-04-01 Dean Jackson <dino@apple.com>
+
+ Reviewed by Darin Adler
+
+ Make constant values static in previous commit, as suggested
+ by Darin.
+
+ * rendering/RenderVideo.cpp:
+
+2009-04-01 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser
+
+ https://bugs.webkit.org/show_bug.cgi?id=24993
+
+ Standalone media should have a smaller instrinsic
+ height.
+
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::RenderVideo):
+
+2009-04-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 22378: Crash submitting a form when parsing an XHTML document
+ https://bugs.webkit.org/show_bug.cgi?id=22378
+ rdar://problem/6388377
+
+ Tests: fast/loader/submit-form-while-parsing-1.xhtml
+ fast/loader/submit-form-while-parsing-2.html
+
+ * WebCore.base.exp: Updated.
+
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::HistoryItem): Renamed m_subItems to m_children.
+ Used uncheckedAppend because we reserveInitialCapacity.
+ (WebCore::HistoryItem::addChildItem): Renamed m_subItems to m_children.
+ Added an assertion that this is only used to add items that don't have
+ duplicate frame names.
+ (WebCore::HistoryItem::setChildItem): Added. Replaces an existing item
+ if any, preserving the isTargetItem flag.
+ (WebCore::HistoryItem::childItemWithTarget): Renamed from childItemWithName
+ for consistency with the other functions here that all call the frame name the
+ "target". Also updated for rename of m_subItems to m_children.
+ (WebCore::HistoryItem::findTargetItem): Renamed from recurseToFindTargetItem.
+ Removed unneeded size check.
+ (WebCore::HistoryItem::targetItem): Changed to always return the top item
+ if no item has the isTargetItem flag set. The old version would instead return
+ 0 in some cases, but return the top item if it had no children.
+ (WebCore::HistoryItem::children): Renamed m_subItems to m_children.
+ (WebCore::HistoryItem::hasChildren): Ditto.
+ (WebCore::HistoryItem::showTreeWithIndent): Ditto.
+
+ * history/HistoryItem.h: Name changes.
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::submit): Create and pass a FormState instead of
+ attaching "recorded form values" and "form about to be submitted" to the frame
+ loader. Parameter work fine for this; there's no need to store state on the
+ FrameLoader.
+
+ * loader/FormState.cpp:
+ (WebCore::FormState::FormState): Adopt a vector instead of copying a hash map.
+ (WebCore::FormState::create): Ditto.
+ * loader/FormState.h: Update to use a vector that we adopt instead of hash map
+ that we copy for auto-fill text field values.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::ScheduledRedirection::ScheduledRedirection): Added a new case for
+ form submissions and turned the "wasDuringLoad" state into a separate boolean
+ instead of using a special redirection type to track it.
+ (WebCore::FrameLoader::createWindow): Updated for name and argument change of
+ loadFrameRequest.
+ (WebCore::FrameLoader::urlSelected): Ditto.
+ (WebCore::FrameLoader::submitForm): Removed the "deferred form submission"
+ machinery, replacing it with the "scheduled redirection" mechanism, shared
+ with other kinds of redirection and navigation. Moved frame targeting here
+ so we can schedule the redirection on the right frame. Moved the multiple
+ form submission protection here. Moved the code to implement the rule that
+ m_navigationDuringLoad was used for here too.
+ (WebCore::FrameLoader::didOpenURL): Use the new wasDuringLoad flag instead
+ of the locationChangeDuringLoad type to detect location change during a load.
+ (WebCore::FrameLoader::executeScript): Removed call to now-obsolete function,
+ submitFormAgain.
+ (WebCore::FrameLoader::scheduleLocationChange): Moved the code to stop loading
+ out of this function into scheduleRedirection, so it can be shared with the
+ new scheduleFormSubmission function.
+ (WebCore::FrameLoader::scheduleFormSubmission): Added. Almost the same as
+ scheduleLocationChange, but with the arguments for a form submission.
+ (WebCore::FrameLoader::scheduleRefresh): Updated for the change to the
+ duringLoad flag.
+ (WebCore::FrameLoader::isLocationChange): Added case for formSubmission
+ and removed case for locationChangeDuringLoad.
+ (WebCore::FrameLoader::redirectionTimerFired): Ditto. Also removed unneeded
+ completeURL call and just use KURL constructor to match the other cases.
+ (WebCore::FrameLoader::provisionalLoadStarted): Removed the code to set up
+ the m_navigationDuringLoad, which is no longer needed. The new version of
+ this is in the submitForm function and sets the lockHistory boolean.
+ (WebCore::FrameLoader::scheduleRedirection): Moved the code to stop a load
+ in here that used to be in scheduleLocationChange.
+ (WebCore::FrameLoader::startRedirectionTimer): Added case for formSubmission
+ and removed case for locationChangeDuringLoad.
+ (WebCore::FrameLoader::stopRedirectionTimer): Ditto.
+ (WebCore::FrameLoader::completed): Removed call to now-obsolete function,
+ submitFormAgain.
+ (WebCore::FrameLoader::loadFrameRequest): Renamed from
+ loadFrameRequestWithFormAndValues. Replaced form element and form values
+ argument with a single FormState argument. Changed frame targeting code
+ to use the source frame in the case of a form submission to better match
+ the actual target frame.
+ (WebCore::FrameLoader::loadURL): Don't search for existing frames in the
+ form submission case since we already did that in the submitForm function.
+ (WebCore::FrameLoader::clientRedirected): Changed to work with the
+ m_isExecutingJavaScriptFormAction data member directly instead of taking
+ it as a function parameter.
+ (WebCore::FrameLoader::loadPostRequest): Don't search for existing frames
+ in the form submission case since we already did that in the submitForm
+ function.
+ (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Moved comment
+ in here that was misplaced elsewhere in the file.
+ (WebCore::FrameLoader::findFrameForNavigation): Changed to use the early
+ return idiom.
+ (WebCore::FrameLoader::recursiveGoToItem): Updated for HistoryItem changes.
+ (WebCore::FrameLoader::childFramesMatchItem): Ditto.
+ (WebCore::FrameLoader::updateHistoryForStandardLoad): Removed the
+ m_navigationDuringLoad logic; that's now handled by setting lockHistory
+ to true in the submitForm function.
+ (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
+ Use the new setChildItem function so we don't get multiple items for the
+ same frame name in the history item tree in the back/forward list.
+
+ * loader/FrameLoader.h: Renamed loadFrameRequestWithFormAndValues to
+ loadFrameRequest and made it take a form state object instead of the
+ form element and form values. Removed the unused functions
+ loadEmptyDocumentSynchronously, provisionalDocumentLoader,
+ notifyIconChnaged, and updateBaseURLForEmptyDocument. Changed the
+ submitForm function to take a form state argument. Eliminated the
+ clearRecordedFormValues, setFormAboutToBeSubmitted, and recordFormValue
+ functions, which are replaced by the form state arguments to submitForm
+ and loadFrameRequest. Removed the isJavaScriptFormAction argument from
+ the clientRedirected function; instead it looks at a data member directly.
+ Eliminated the submitFormAgain and overload of the submitForm function;
+ these are now subsumed into the remaining submitForm function and the
+ scheduleFormSubmission function. Removed unused and obsolete data
+ members m_navigationDuringLoad, m_deferredFormSubmission,
+ m_formAboutToBeSubmitted and m_formValuesAboutToBeSubmitted.
+
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+ Updated for name and argument change of loadFrameRequest.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::~Frame): Removed call to the now-unneeded
+ clearRecordedFormValues function.
+
+2009-04-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, fixing previous commit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24994
+ Revert V8DOMMap.cpp change which accidentally snuck into the previous
+ commit.
+
+ * bindings/v8/V8DOMMap.cpp: Revert change in previous commit.
+
+2009-04-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24994
+ Fix miscellaneous merge/upstreaming divergencies in Chromium port.
+
+ * bindings/v8/V8Collection.h: Added an include.
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURL::baseAsString): Added to match KURL.cpp.
+ * platform/chromium/ClipboardChromium.cpp: Added an include.
+
+2009-04-01 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24989
+ Refactor InspectorResource to use ScriptObject/FunctionCall.
+
+ * bindings/js/JSInspectorControllerCustom.cpp:
+ (WebCore::JSInspectorController::addResourceSourceToFrame): Tweaked to use
+ a more appropriate type conversion.
+ (WebCore::JSInspectorController::getResourceDocumentNode): Tweaked to
+ accommodate for InspectorResource refactoring.
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::appendArgument): Added long long type to match
+ existing jsNumber call signature.
+ * bindings/js/ScriptFunctionCall.h: Declaration for above.
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::createEmptyObject): Added.
+ (WebCore::ScriptObject::ScriptObject):
+ (WebCore::ScriptObject::set): Added a bunch of property setters.
+ * bindings/js/ScriptObject.h: Declarations for above.
+ * inspector/InspectorController.cpp: Moved all InspectorResource-managing code
+ to InspectorResource.cpp
+ (WebCore::InspectorController::populateScriptObjects): Changed to use
+ refactored InspectorResource.
+ (WebCore::InspectorController::resetScriptObjects): Ditto.
+ (WebCore::InspectorController::pruneResources): Ditto.
+ (WebCore::InspectorController::didCommitLoad): Ditto.
+ (WebCore::InspectorController::addResource): Ditto.
+ (WebCore::InspectorController::removeResource): Ditto.
+ (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto.
+ (WebCore::InspectorController::identifierForInitialRequest): Ditto.
+ (WebCore::InspectorController::willSendRequest): Ditto.
+ (WebCore::InspectorController::didReceiveResponse): Ditto.
+ (WebCore::InspectorController::didReceiveContentLength): Ditto.
+ (WebCore::InspectorController::didFinishLoading): Ditto.
+ (WebCore::InspectorController::didFailLoading): Ditto,
+ (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): Ditto.
+ (WebCore::InspectorController::scriptImported): Ditto.
+ * inspector/InspectorController.h: Removed InspectorResource-managing code decls
+ and tweaked some signatures to use ScriptString and long long for identifier.
+ * inspector/InspectorController.idl: Changed to use long long for identifier.
+ * inspector/InspectorResource.cpp: Refactored to use ScriptObject/FunctionCall.
+ (WebCore::InspectorResource::InspectorResource): Ditto.
+ (WebCore::InspectorResource::~InspectorResource): Ditto.
+ (WebCore::InspectorResource::createCached): Added.
+ (WebCore::InspectorResource::updateRequest): Added.
+ (WebCore::InspectorResource::updateResponse): Added.
+ (WebCore::createHeadersObject): Added.
+ (WebCore::InspectorResource::createScriptObject): Added.
+ (WebCore::InspectorResource::updateScriptObject): Added.
+ (WebCore::InspectorResource::releaseScriptObject): Added.
+ (WebCore::InspectorResource::type): Tweaked to use ScriptString.
+ (WebCore::InspectorResource::setXMLHttpResponseText): Added.
+ (WebCore::InspectorResource::sourceString): Tweaked to use ScriptString.
+ (WebCore::InspectorResource::startTiming): Added.
+ (WebCore::InspectorResource::markResponseReceivedTime): Added.
+ (WebCore::InspectorResource::endTiming): Added.
+ (WebCore::InspectorResource::markFailed): Added.
+ (WebCore::InspectorResource::addLength): Added.
+ * inspector/InspectorResource.h: Added decls for newly refactored-in methods.
+ (WebCore::InspectorResource::create): Added.
+ (WebCore::InspectorResource::isSameLoader): Added.
+ (WebCore::InspectorResource::markMainResource): Added.
+ (WebCore::InspectorResource::identifier): Added.
+ (WebCore::InspectorResource::requestURL): Added.
+ (WebCore::InspectorResource::frame): Added.
+ (WebCore::InspectorResource::mimeType): Added.
+ (WebCore::InspectorResource::Changes::Changes): Added new class to track
+ resource changes.
+ (WebCore::InspectorResource::Changes::hasChange): Added.
+ (WebCore::InspectorResource::Changes::set): Added.
+ (WebCore::InspectorResource::Changes::clear): Added.
+ (WebCore::InspectorResource::Changes::setAll): Added.
+ (WebCore::InspectorResource::Changes::clearAll): Added.
+
+2009-04-01 Tony Chang <tony@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Ensure the right click doesn't deselect text under it. This was
+ happening in the Chromium and GTK+ ports because they don't select
+ the text under the cursor on right click.
+
+ This was regressed in r41715, https://bugs.webkit.org/show_bug.cgi?id=19737
+
+ https://bugs.webkit.org/show_bug.cgi?id=24946
+
+ Test: fast/events/context-no-deselect.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+
+2009-04-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=24991
+
+ Need to use toRenderBoxModelObject(), not toRenderBox(), to test for layer()
+ when getting the transform.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::transformFromContainer):
+
+2009-03-31 Darin Adler <darin@apple.com>
+
+ Rolled out that last change until I can investigate the regression test failures it seems
+ to have caused.
+
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::decrement):
+ * dom/PositionIterator.h:
+ (WebCore::PositionIterator::PositionIterator):
+
+2009-03-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Bug 24621: PositionIterator doesn't iterate "after last child" positions when going backwards
+ https://bugs.webkit.org/show_bug.cgi?id=24621
+
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::decrement): Make sure that when the parent has no children, we
+ don't ever use Position::uncheckedPreviousOffset. This is consistent with the forward
+ iterator, but also should never arise because of the fix below.
+ * dom/PositionIterator.h:
+ (WebCore::PositionIterator::PositionIterator): Fixed so m_offset will always be 0 when
+ the passed-in node has no children. Like the change above, this is consistent with the rest
+ of the class, although in the long run I think it's a bit strange to treat a <p> element
+ with no children differently than a <p> element with children.
+
+2009-03-31 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24965
+ Bug 24965: HTMLMediaElement: network state changes can be missed
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setNetworkState): Always update m_networkState when the
+ state changes, even when no event needs to be fired.
+
+2009-03-31 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24964
+ Bug 24964: HTMLMediaElement: 'waiting' event may fire twice
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setReadyState): Only fire 'waiting' event once when ready state
+ drops below HAVE_FUTURE_DATA.
+
+2009-03-31 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24846
+ Bug 24846: HTMLMediaElement should implement 'autobuffer' attribute
+
+ Add 'autobuffer' attrubute to media element. 'autobuffer' is a hint that
+ the author recommends downloading the entire resource optimistically, so the
+ attribute is made available to the media engine to use if it is able.
+
+ Test: media/video-dom-autobuffer.html
+
+ * html/HTMLAttributeNames.in: Add autobuffer.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::parseMappedAttribute): New.
+ (WebCore::HTMLMediaElement::autobuffer): Ditto.
+ (WebCore::HTMLMediaElement::setAutobuffer): Ditto.
+
+ * html/HTMLMediaElement.h: Declare autobuffer and setAutobuffer.
+
+ * html/HTMLMediaElement.idl: Add autobuffer.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::MediaPlayer): Initialize m_autobuffer.
+ (WebCore::MediaPlayer::autobuffer): New.
+ (WebCore::MediaPlayer::setAutobuffer): Ditto.
+ * platform/graphics/MediaPlayer.h: Declare m_autobuffer, autobuffer and setAutobuffer
+
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::setAutobuffer): Declare setAutobuffer.
+
+2009-03-31 Craig Schlenter <craig.schlenter@gmail.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24550
+ Check return value of vasprintf. This should keep gcc 4.3.3
+ happy rather than have it complain about attribute warn_unused_result.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::error):
+
+2009-03-31 Dean Jackson <dino@apple.com>
+
+ Style guide violation!
+
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::defaultEventHandler):
+
+2009-03-31 Dean Jackson <dino@apple.com>
+
+ Fix Tiger build.
+
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::defaultEventHandler):
+
+2009-03-31 Jian Li <jianli@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Upstream V8DOMMap for v8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=24951
+
+ * bindings/v8/V8DOMMap.cpp: Added.
+ * bindings/v8/V8DOMMap.h: Added.
+
+2009-03-31 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24955
+
+ Spacebar didn't play/pause in standalone MediaDocument
+
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::defaultEventHandler):
+
+2009-03-31 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24901
+ Added the following methods to MediaPlayerPrivate for Chromium port.
+ void sizeChanged();
+ void rateChanged();
+ void durationChanged();
+
+ The above changes are to reflect changes in MediaPlayer.cpp.
+ More details can be found in the original changeset.
+ http://trac.webkit.org/changeset/41907
+
+ * platform/graphics/chromium/MediaPlayerPrivateChromium.h:
+
+2009-03-31 Rafael Weinstein <rafaelw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24947
+
+ Special-case drawing text-shadow on win32, to let GDI draw in cases
+ when both fill & shadow color are opaque and the shadow has no blur.
+
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
+ (WebCore::Font::drawComplexText):
+ * platform/graphics/skia/SkiaFontWin.cpp:
+ (WebCore::windowsCanHandleDrawTextShadow):
+ (WebCore::windowsCanHandleTextDrawing):
+ * platform/graphics/skia/SkiaFontWin.h:
+
+2009-03-31 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ r42055 removed some functions in FrameLoader used by Chrome,
+ this CL backs out some of those changes to unbreak the Chrome build.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24949
+
+ * WebCore.base.exp:
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+
+2009-03-31 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Build fixes for Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24945
+
+ * dom/Document.h:
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::imageToMarkup):
+
+2009-03-31 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build.
+
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::XMLTokenizer): Use NamedNodeMap instead of NamedAttrMap.
+
+2009-03-30 Steve Falkenburg <sfalken@apple.com>
+
+ Don't create CFDataRef with a fixed size.
+ Fixes synchronous XMLHTTPRequests on Windows.
+
+ Reviewed by Ada Chan.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::WebCoreSynchronousLoader::didReceiveData):
+
+2009-03-30 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bug 24594: PolicyDelegate NavigationAction is WebNavigationTypeOther instead of WebNavigationTypeReload
+ https://bugs.webkit.org/show_bug.cgi?id=24594
+ rdar://problem/6682110
+
+ Test: fast/loader/reload-policy-delegate.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadWithDocumentLoader): Set the triggering action here where we know it's
+ the policy loader and can use m_policyLoadType rather than letting it get set inside
+ checkNavigationPolicy.
+
+2009-03-30 Timothy Hatcher <timothy@apple.com>
+
+ <rdar://problem/5838871> CrashTracer: 1483 crashes Quicklooking
+ in Finder (painting without up to date layout)
+
+ Reviewed by Dan Bernstein.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintContents): Add an early return when
+ painting is attempted when layout is needed.
+
+2009-03-30 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24938
+
+ Sort alphabetically.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+
+2009-03-30 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24938
+
+ Build fixes for building --3d-rendering and --no-svg
+
+ * rendering/RenderLayerBacking.cpp:
+
+2009-03-30 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24938
+
+ Build fixes when building --no-svg
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing CSS properties
+ * css/CSSCursorImageValue.cpp:
+ (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Handle unused param
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Add missing CSS properties
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Add missing CSS properties
+ * dom/Node.cpp:
+ (WebCore::updateSVGElementInstancesAfterEventListenerChange): Handle unused param
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::floatWidth): Handle unused param
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData): Handle unused param
+
+2009-03-30 Darin Adler <darin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Bug 24916: REGRESSION: NavigationAction policy dispatch broken
+ https://bugs.webkit.org/show_bug.cgi?id=24916
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadURL): Rearrange the code so that the "event" PassRefPtr
+ is not used twice. This also optimizes the case where a frame name is specified,
+ but it's the name of the frame being loaded. Also called release in all the final
+ uses of FormState.
+
+2009-03-30 Darin Adler <darin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Bug 24937: NamedNodeMap and NamedAttrMap should not be separate classes
+ https://bugs.webkit.org/show_bug.cgi?id=24937
+
+ Also should fix the Windows COM bindings build.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Removed special case for NamedNodeMap.
+ * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
+
+ * dom/NamedAttrMap.h: Renamed class from NamedAttrMap to
+ NamedNodeMap and removed NamedNodeMap base class. Made the NamedNodeMap
+ functions all public and non-virtual. Removed virtualLength.
+
+ * dom/NamedNodeMap.h: Replaced file with just an include
+ of NamedAttrMap.h. As a follow up we will rename the NamedAttrMap
+ files and remove this file.
+
+ * bindings/js/JSNamedNodesCollection.cpp: Renamed from NamedAttrMap to NamedNodeMap.
+ * dom/Attr.h: Ditto.
+ * dom/Attribute.h: Ditto.
+ * dom/Document.cpp:
+ (WebCore::Document::importNode): Ditto.
+ * dom/Element.cpp:
+ (WebCore::Element::attributes): Ditto.
+ (WebCore::Element::setAttributeMap): Ditto.
+ (WebCore::Element::createAttributeMap): Ditto.
+ (WebCore::Element::insertedIntoDocument): Ditto.
+ (WebCore::Element::removedFromDocument): Ditto.
+ (WebCore::Element::openTagStartToString): Ditto.
+ (WebCore::Element::removeAttributeNode): Ditto.
+ (WebCore::Element::getAttributeNode): Ditto.
+ (WebCore::Element::getAttributeNodeNS): Ditto.
+ (WebCore::Element::hasAttribute): Ditto.
+ (WebCore::Element::hasAttributeNS): Ditto.
+ (WebCore::Element::normalizeAttributes): Ditto.
+ * dom/Element.h: Ditto.
+ * dom/NamedAttrMap.cpp:
+ (WebCore::NamedNodeMap::detachAttributesFromElement): Ditto.
+ (WebCore::NamedNodeMap::~NamedNodeMap): Ditto.
+ (WebCore::NamedNodeMap::isMappedAttributeMap): Ditto.
+ (WebCore::NamedNodeMap::getNamedItem): Ditto.
+ (WebCore::NamedNodeMap::getNamedItemNS): Ditto.
+ (WebCore::NamedNodeMap::removeNamedItem): Ditto.
+ (WebCore::NamedNodeMap::removeNamedItemNS): Ditto.
+ (WebCore::NamedNodeMap::setNamedItem): Ditto.
+ (WebCore::NamedNodeMap::item): Ditto.
+ (WebCore::NamedNodeMap::getAttributeItem): Ditto.
+ (WebCore::NamedNodeMap::clearAttributes): Ditto.
+ (WebCore::NamedNodeMap::detachFromElement): Ditto.
+ (WebCore::NamedNodeMap::setAttributes): Ditto.
+ (WebCore::NamedNodeMap::addAttribute): Ditto.
+ (WebCore::NamedNodeMap::removeAttribute): Ditto.
+ (WebCore::NamedNodeMap::mapsEquivalent): Ditto.
+ * dom/NamedMappedAttrMap.cpp:
+ (WebCore::NamedMappedAttrMap::clearAttributes): Ditto.
+ * dom/NamedMappedAttrMap.h:
+ (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Ditto.
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics): Ditto.
+ (WebCore::Node::isEqualNode): Ditto.
+ (WebCore::Node::isDefaultNamespace): Ditto.
+ (WebCore::Node::lookupNamespaceURI): Ditto.
+ (WebCore::Node::lookupNamespacePrefix): Ditto.
+ (WebCore::Node::compareDocumentPosition): Ditto.
+ * dom/Node.h: Ditto.
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::XMLTokenizer): Ditto.
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan): Ditto.
+ (WebCore::isEmptyFontTag): Ditto.
+ (WebCore::areIdenticalElements): Ditto.
+ * editing/markup.cpp:
+ (WebCore::appendStartMarkup): Ditto.
+ (WebCore::completeURLs): Ditto.
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError): Ditto.
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::updateWidget): Ditto.
+ * svg/SVGAnimatedProperty.h:
+ (WebCore::synchronizeProperty): Ditto.
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::FunLang::evaluate): Ditto.
+ * xml/XPathStep.cpp:
+ (WebCore::XPath::Step::nodesInAxis): Ditto.
+
+2009-03-30 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24750
+ [GTK] requests download instead of displaying page
+
+ Use soup facilities to append parameters to the content type, to
+ make that more robust;
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::fillResponseFromMessage):
+
+2009-03-30 David Kilzer <ddkilzer@apple.com>
+
+ <rdar://problem/6735683> Move SECTORDER_FLAGS from Xcode project to WebCore.xcconfig
+
+ Reviewed by Timothy Hatcher, Mark Rowe and Darin Adler.
+
+ * Configurations/Base.xcconfig: Moved Production definition of
+ SECTORDER_FLAGS to here from Xcode project file.
+ * Configurations/DebugRelease.xcconfig: Override SECTORDER_FLAGS
+ in Base.xcconfig to the empty string since it is not used for
+ Debug and Release configurations.
+ * WebCore.xcodeproj/project.pbxproj: Removed SECTORDER_FLAGS.
+
+2009-03-30 Adam Roben <aroben@apple.com>
+
+ Windows build fix after recent Node.idl changes
+
+ * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force sources
+ of classes that derive from Node to rebuild.
+
+2009-03-30 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * svg/graphics/SVGImage.cpp: Added a missing #include.
+
+2009-03-30 Mads Ager <ager@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24879
+ Add frame accessor to Screen, Console, and BarInfo objects. Add type
+ accessor to BarInfo objects.
+
+ In the V8 JavaScript bindings, we need access to the frame and
+ type for already created Screen, Console, and BarInfo objects in
+ order to keep their wrappers alive across GCs.
+
+ * page/BarInfo.cpp:
+ (WebCore::BarInfo::frame): Added.
+ (WebCore::BarInfo::type): Added.
+ * page/BarInfo.h:
+ * page/Console.cpp:
+ (WebCore::Console::frame): Added.
+ * page/Console.h:
+ * page/Screen.cpp:
+ (WebCore::Screen::frame): Added.
+ * page/Screen.h:
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Requested by Antti Koivisto.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::subresource): Tweaked code to be a little clearer and added
+ a better comment.
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 23445: Copying certain hidden text causes a crash
+ https://bugs.webkit.org/show_bug.cgi?id=23445
+ rdar://problem/6512520
+
+ Test: editing/pasteboard/copy-display-none.html
+
+ * editing/markup.cpp:
+ (WebCore::createMarkup): Added a check for the case where adjusting the start node moves
+ the start of the selection past the end of the range entirely. If we try to iterate we'll
+ never hit the end of the range and will probably crash iterating the rest of the document.
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 24672: ASSERTION FAILURE: !m_purgeableData in WebCore::CachedResource::data() saving a WebArchive
+ https://bugs.webkit.org/show_bug.cgi?id=24672
+ rdar://problem/6574263
+
+ I couldn't create a test case for this. In fact, the case in the bug doesn't exist any more,
+ but there is an Apple-internal website I was able to use to reproduce and fix.
+
+ * loader/CachedResource.h: Made makePurgeable public.
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::subresource): Call makePurgeable to make the resource non-purgeable
+ so we can get its data if it hasn't yet been purged.
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Fix build again.
+
+ * loader/EmptyClients.h: Fix typo in name of FormState.h.
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Try to fix the release build.
+
+ * history/CachedPage.cpp: Make include unconditional, not debug-only.
+
+2009-03-29 Greg Bolsinga <bolsinga@apple.com>
+
+ Undo that last build fix, since it turned out the file wasn't deleted.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-03-29 Greg Bolsinga <bolsinga@apple.com>
+
+ Fix build break by removing references to deleted header files.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Try to fix the Windows build.
+
+ * loader/EmptyClients.h: Added include of FormState.h.
+ * loader/MainResourceLoader.cpp: Ditto.
+
+2009-03-29 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24926
+ Fix Chromium build break.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL(DOMWindowShowModalDialog)): renamed 'features' into 'windowFeatures'.
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Another attempt to fix the Qt build.
+
+ * WebCore.pro: Added CheckedRadioButtons.cpp.
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Bug 24921: remove include of HTMLFormElement.h from Document.h
+ https://bugs.webkit.org/show_bug.cgi?id=24921
+
+ * GNUmakefile.am: Added CheckedRadioButtons source files.
+ * WebCore.scons: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+
+ * bindings/objc/PublicDOMInterfaces.h: Changed type of parentElement to Element.
+
+ * dom/CheckedRadioButtons.cpp: Copied from WebCore/html/HTMLFormElement.cpp.
+ Removed all the code except for CheckedRadioButtons, and moved that out to be
+ a namespace-level class instead of a member of HTMLFormElement.
+
+ * dom/CheckedRadioButtons.h: Copied from WebCore/html/HTMLFormElement.h.
+ Removed all the code except for CheckedRadioButtons, and moved that out to be
+ a namespace-level class instead of a member of HTMLFormElement.
+
+ * dom/Document.h: Removed unneeded includes, including HTMLFormElement.h.
+ Added include of CheckedRadioButtons.h. Changed uses of CheckedRadioButtons
+ class to use a namespace-level class instead of a member of HTMLFormElement.
+
+ * dom/Node.idl: Changed the type of parentElement from Node to Element for
+ two reasons. 1) Node was incorrect, since parentElement returns an Element.
+ 2) The bindings won't compile any more unless they know parentElement's
+ return value is an Element due to include changes.
+
+ * html/HTMLFormElement.cpp: Moved definitions of the functions in the
+ CheckedRadioButtons class to the new CheckedRadioButtons.cpp.
+
+ * html/HTMLFormElement.h: Moved definition of the CheckedRadioButtons
+ class to the new CheckedRadioButtons.h.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::checkedRadioButtons): Changed use of CheckedRadioButtons
+ class to use a namespace-level class instead of a member of HTMLFormElement.
+
+ * page/Chrome.cpp:
+ (WebCore::Chrome::createWindow): Tweaked formatting.
+
+ * css/CSSGrammar.y: Added newly-needed include.
+ * dom/Range.cpp: Ditto.
+ * editing/BreakBlockquoteCommand.cpp: Ditto.
+ * editing/CompositeEditCommand.cpp: Ditto.
+ * editing/InsertLineBreakCommand.cpp: Ditto.
+ * editing/ModifySelectionListLevel.cpp: Ditto.
+ * editing/RemoveFormatCommand.cpp: Ditto.
+ * editing/TextIterator.cpp: Ditto.
+ * editing/VisiblePosition.cpp: Ditto.
+ * loader/DocLoader.cpp: Ditto.
+ * page/AccessibilityRenderObject.cpp: Ditto.
+ * page/Page.cpp: Ditto.
+ * rendering/RenderBlock.cpp: Ditto.
+ * rendering/RenderLayer.cpp: Ditto.
+ * rendering/RenderObject.h: Ditto.
+ * storage/LocalStorageArea.cpp: Ditto.
+ * storage/SessionStorageArea.cpp: Ditto.
+
+2009-03-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6015407> attr parsing should allow only identifiers
+
+ Test: fast/css/attr-parsing.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseContent): Allow only CSS_IDENT, and filter out
+ identifiers that start with "-".
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText): Added a case for CSS_ATTR so the test
+ case works. This has the pleasant side effect of fixing a bug too.
+
+2009-03-29 Alexey Proskuryakov <ap@webkit.org>
+
+ <rdar://problem/6492712> Cross-origin redirects are not handled correctly.
+
+ Forgot to save the file after applying changes for review comments.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ (WebCore::didReceiveResponse):
+ (WebCore::didReceiveData):
+ (WebCore::didSendBodyData):
+ (WebCore::didFinishLoading):
+ (WebCore::didFail):
+ (WebCore::willCacheResponse):
+ (WebCore::didReceiveChallenge):
+ (WebCore::WebCoreSynchronousLoader::willSendRequest):
+ (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
+ (WebCore::WebCoreSynchronousLoader::didReceiveData):
+ (WebCore::WebCoreSynchronousLoader::didFinishLoading):
+ (WebCore::WebCoreSynchronousLoader::didFail):
+ (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
+
+2009-03-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6492712> Cross-origin redirects are not handled correctly.
+
+ Test: http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+ (WebCore::WebCoreSynchronousLoader::willSendRequest):
+ (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
+ (WebCore::WebCoreSynchronousLoader::didReceiveData):
+ (WebCore::WebCoreSynchronousLoader::didFinishLoading):
+ (WebCore::WebCoreSynchronousLoader::didFail):
+ (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
+ (WebCore::WebCoreSynchronousLoader::load):
+ Match Mac behavior more closely - we shouldn't rely on underlying library handling of
+ synchronous requests.
+
+ * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::willSendRequest):
+ -[NSURLConnection cancel] doesn't fully cancel the connection if called from willSendRequest
+ delegate method for a redirect.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]):
+ Match async behavior more closely.
+
+2009-03-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Bug 24914: empty-string assertion crash when running storage tests
+ https://bugs.webkit.org/show_bug.cgi?id=24914
+
+ * storage/Database.cpp:
+ (WebCore::Database::performOpenAndVerify): Don't store empty version strings
+ in the map, since empty strings are per-thread.
+
+2009-03-28 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24910
+ Fixes for Chromium build.
+
+ * bindings/v8/V8LazyEventListener.h: renamed IsInline() into virtualIsInline()
+ * bindings/v8/custom/V8CustomEventListener.h: ditto.
+ * dom/EventListener.h: used #if USE(JSC) to fix the build on non-JSC platform.
+
+2009-03-28 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Not reviewed, correcting landing error.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24812
+ Custom bindings should be in v8/custom, not v8.
+
+ * bindings/v8/V8HTMLDocumentCustom.cpp: Removed.
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Moved from parent dir.
+
+2009-03-28 Mike Belshe <mike@belshe.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24616
+ Add V8 custom bindings for DOMWindow.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp: Added.
+
+2009-03-28 Mike Belshe <mike@belshe.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24812
+ Add V8 custom bindings for HTMLDocument.
+
+ * bindings/v8/V8HTMLDocumentCustom.cpp: Added.
+
+2009-03-27 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix two SVG test failures in 64-bit.
+
+ getSubStringLength's arguments were declared as unsigned in the IDL and as signed long in the implementation.
+ This led to a value of -1 in JavaScript being converted to MAX_UINT in the bindings. In 32-bit this was
+ identical to -1 when interpeted as signed long, but in 64-bit it was still equal to MAX_UINT.
+
+ The solution for this is to use the IsIndex attribute on arguments that the SVG spec declares as "unsigned long"
+ but requires an exception be thrown when a negative value is passed. This results in the JS bindings handling the
+ check for a negative value and lets the implementation treat the arguments purely as unsigned values.
+
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::getNumberOfChars):
+ (WebCore::SVGTextContentElement::getSubStringLength):
+ (WebCore::SVGTextContentElement::getStartPositionOfChar):
+ (WebCore::SVGTextContentElement::getEndPositionOfChar):
+ (WebCore::SVGTextContentElement::getExtentOfChar):
+ (WebCore::SVGTextContentElement::getRotationOfChar):
+ (WebCore::SVGTextContentElement::getCharNumAtPosition):
+ (WebCore::SVGTextContentElement::selectSubString):
+ * svg/SVGTextContentElement.h:
+ * svg/SVGTextContentElement.idl:
+
+2009-03-27 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get mailto code out of FrameLoader.
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::transferMailtoPostFormDataToURL): Added. Factored out the mailto
+ logic so HTMLFormElement::submit isn't full of ugly bits. This includes the
+ part of the logic that involves transformeing the URL that was previously
+ inside FrameLoader.
+ (WebCore::HTMLFormElement::submit): Call transferMailtoPostFormDataToURL and
+ also release the data for slightly less refcount churn.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm): Removed all the special casing for mailto,
+ since HTMLFormElement now properly prepares both the URL and the form data.
+
+2009-03-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix <rdar://problem/6724514> A bit of OpenTypeUtilities cleanup
+
+ * platform/graphics/chromium/FontCustomPlatformData.cpp:
+ (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
+ (WebCore::createFontCustomPlatformData): Ditto.
+ * platform/graphics/opentype/OpenTypeUtilities.cpp:
+ (WebCore::EOTHeader::EOTHeader): Added. Initializes the buffer size to
+ the size of an EOTPrefix.
+ (WebCore::EOTHeader::updateEOTSize): Added. Updates the size field in
+ the prefix.
+ (WebCore::EOTHeader::appendBigEndianString): Changed the static
+ appendBigEndianStringToEOTHeader() into this member function.
+ (WebCore::EOTHeader::appendPaddingShort): Added.
+ (WebCore::getEOTHeader): Changed to use EOTHeader.
+ * platform/graphics/opentype/OpenTypeUtilities.h:
+ (WebCore::EOTHeader::size):
+ (WebCore::EOTHeader::data):
+ (WebCore::EOTHeader::prefix):
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::EOTStream::EOTStream): Changed to use EOTHeader.
+ (WebCore::createFontCustomPlatformData): Ditto.
+
+2009-03-27 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ To prepare for work on a form loading fix, remove some unused functions,
+ consolidate some functions, and make many more functions private in
+ FrameLoader.
+
+ * WebCore.base.exp: Remove some unused entry points, update another.
+
+ * dom/Document.cpp:
+ (WebCore::Document::detach): Clear m_frame directly instead of using
+ clearFramePointer.
+ * dom/Document.h: Ditto.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::urlSelected): Consolidate the two functions
+ of this name into a single function. Also changed the event argument
+ to be PassRefPtr<Event>.
+ (WebCore::FrameLoader::submitForm): Changed the event argument to
+ be PassRefPtr<Event>.
+ (WebCore::FrameLoader::scheduleLocationChange): Call completeURL
+ explicitly so we can remove the version of changeLocation that does
+ completeURL for us.
+ (WebCore::FrameLoader::redirectionTimerFired): Ditto.
+ (WebCore::FrameLoader::loadURLIntoChildFrame): Set m_provisionalHistoryItem
+ directly so we don't need a setProvisionalHistoryItem function.
+ (WebCore::FrameLoader::canCachePageContainingThisFrame): Get at
+ m_quickRedirectComing directly so we don't need a isQuickRedirectComing
+ function.
+ (WebCore::FrameLoader::logCanCacheFrameDecision): Ditto.
+ (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Changed the
+ event argument to be PassRefPtr<Event>.
+ (WebCore::FrameLoader::loadURL): Move the logic of the continueLoadWithData
+ function here because this is the only caller. If we want to make the
+ resulting function smaller we should refactor some other way. Also
+ streamlined the user-chosen encoding logic, but did not change what it does.
+ (WebCore::FrameLoader::finishedLoadingDocument): Changed the event argument
+ to be PassRefPtr<Event>.
+ (WebCore::FrameLoader::loadPostRequest): Ditto.
+ (WebCore::FrameLoader::receivedMainResourceError): Moved the logic from
+ the didNotOpenURL function here, since this was the only caller.
+
+ * loader/FrameLoader.h: Removed include of FormState.h and used a forward
+ declaration instead. Removed unneeded forward declation of Element.
+ Moved many functions into the private section, and removed some other
+ unused or uneeded functions.
+
+2009-03-27 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=24303
+ Using keyboard select RTL text, Highlights goes to opposite direction from Firefox and IE.
+
+ Test: editing/selection/extend-selection.html
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::directionOfEnclosingBlock): Added
+ (WebCore::SelectionController::modifyExtendingRight): Added. Currenctly
+ implemented for character and word granularity, all other granularities
+ are treated as "forward".
+ (WebCore::SelectionController::modifyExtendingForward): Renamed
+ modifyExtendingRightForward() to this.
+ (WebCore::SelectionController::modifyExtendingLeft): Added. Currenctly
+ implemented for character and word granularity, all other granularities
+ are treated as "backward".
+ (WebCore::SelectionController::modifyExtendingBackward): Renamed
+ modifyExtendingLeftBackward() to this.
+ (WebCore::SelectionController::modify): Change to call either the
+ left/right or backward/forward methods depending on the 'dir' argument
+ for extends.
+ * editing/SelectionController.h:
+
+2009-03-27 John Abd-El-Malek <jam@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24836
+ Fix navigator.plugins.refresh(false) in Chromium.
+
+ * plugins/chromium/PluginDataChromium.cpp:
+ (WebCore::PluginData::refresh):
+
+2009-03-27 Timothy Hatcher <timothy@apple.com>
+
+ Make scrollLeft, scrollTop, scrollWidth, and scrollHeight
+ virtual to fix the broken layout tests from my last commit.
+
+ Reviewed by Mark Rowe.
+
+ * dom/Element.cpp:
+ (WebCore::Element::scrollLeft):
+ (WebCore::Element::scrollTop):
+ (WebCore::Element::scrollWidth):
+ (WebCore::Element::scrollHeight):
+ * dom/Element.h:
+ * html/HTMLBodyElement.h:
+
+2009-03-27 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=24876>.
+ Bug 24876: fast/forms/select-max-length.html times out in debug builds due to HTMLSelectElement::setLength being O(N^2)
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::setLength): Repeatedly calling remove to remove elements causes us to recalculate the list
+ items after each node is removed, leading to O(N^2) behaviour. By inlining the batch removal in to setLength we can avoid
+ this gratuitous recalcuation.
+
+2009-03-27 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ We don't support images for GtkCursors yet. We need a placeholder to avoid crashes.
+ I took crosshair to have a common behavior with firefox.
+
+ [GTK] SVG - Crash on setting the cursor icon
+ https://bugs.webkit.org/show_bug.cgi?id=24565
+
+ * platform/gtk/CursorGtk.cpp:
+ (WebCore::Cursor::Cursor):
+
+2009-03-27 Timothy Hatcher <timothy@apple.com>
+
+ Remove redundant attributes and functions from IDL files that have the
+ same attributes and functions defined in the super class.
+
+ Reviewed by Simon Fraser.
+
+ * WebCore.xcodeproj/project.pbxproj: Remove DOMHTMLBodyElementPrivate.h.
+ * bindings/objc/PublicDOMInterfaces.h: Remove focus and blur from DOMHTMLElement.
+ * html/HTMLBodyElement.idl: Remove scrollLeft, scrollTop, scrollWidth
+ and scrollHeight.
+ * html/HTMLElement.idl: Remove blur and focus.
+
+2009-03-27 Adam Roben <aroben@apple.com>
+
+ Don't include substitute data URLs in global history redirect chains
+
+ <rdar://6690169>
+
+ Reviewed by Darin Adler.
+
+ This might be testable if:
+ - support were added to DRT for providing substitute data on failed
+ loads
+ - support were added to DRT for dumping redirect chains
+
+ I tried doing the above and was still unable to make a test.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::updateHistoryForStandardLoad):
+ (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList):
+ Call updateGlobalHistoryRedirectLinks only if the load succeeded
+ (i.e., there is no unreachableURL). Previous the FrameLoaderClient
+ implementations were unconditionally calling
+ updateGlobalHistoryRedirectLinks from within updateGlobalHistory.
+
+2009-03-27 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24861
+ Chromium port did not render decorations for <input type="search">.
+ This copies RenderThemeWin.*.
+
+ * css/themeChromiumWin.css: Removed.
+ * rendering/RenderThemeChromiumLinux.cpp:
+ (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
+ (WebCore::RenderThemeChromiumLinux::adjustSearchFieldCancelButtonStyle):
+ (WebCore::RenderThemeChromiumLinux::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeChromiumLinux::adjustSearchFieldDecorationStyle):
+ (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsDecorationStyle):
+ (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsButtonStyle):
+ (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsButton):
+ * rendering/RenderThemeChromiumLinux.h:
+ (WebCore::RenderThemeChromiumLinux::paintSearchField):
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::):
+ (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
+ (WebCore::RenderThemeChromiumWin::adjustSearchFieldCancelButtonStyle):
+ (WebCore::RenderThemeChromiumWin::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeChromiumWin::adjustSearchFieldDecorationStyle):
+ (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsDecorationStyle):
+ (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsButtonStyle):
+ (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsButton):
+ * rendering/RenderThemeChromiumWin.h:
+ (WebCore::RenderThemeChromiumWin::paintSearchField):
+
+2009-03-27 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser
+
+ If an object has a self-painting layer, don't count it as part of a block's visual overflow.
+ This fix has only been made for block-level children. The inline-level case is still broken
+ (and covered by an existing bug).
+
+ Added fast/block/positioning/negative-rel-position.html
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesVertically):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlockChildren):
+ (WebCore::RenderBlock::lowestPosition):
+ (WebCore::RenderBlock::rightmostPosition):
+ (WebCore::RenderBlock::leftmostPosition):
+
+2009-03-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6642221>
+ REGRESSION: With the Movie widget, movie trailer fails to load if movie had been previously viewed
+
+ Add a dashboard specific workaround so that we always create renderers for object elements, even if display:none is set.
+
+ I've filed <rdar://problem/6731022> against the Movies widget.
+
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::rendererIsNeeded):
+
+2009-03-25 Timothy Hatcher <timothy@apple.com>
+
+ Expose new DOM methods as public Objective-C API.
+
+ <rdar://problem/5837350> Expose new DOM classes and methods
+ as public API (match the additions to the JavaScript DOM)
+
+ Reviewed by Mark Rowe and Darin Adler.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/objc/DOMHTML.h:
+ * bindings/objc/DOMPrivate.h:
+ * bindings/objc/PublicDOMInterfaces.h:
+
+2009-03-27 Zack Rusin <zack@kde.org>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24280
+
+ Fix propagation of fill rules when rendering paths in the Qt build.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::toQtFillRule):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+
+2009-03-27 Zack Rusin <zack@kde.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24275
+
+ Fix text field theming in the Qt build with the KDE 4 Oxygen
+ style by adjusting the size vertically and horizontally to
+ set padding on the element equal to the width of the style painted border.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::RenderThemeQt):
+ (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
+ (WebCore::RenderThemeQt::adjustTextFieldStyle):
+ (WebCore::RenderThemeQt::paintTextField):
+ * platform/qt/RenderThemeQt.h:
+
+2009-03-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24852
+ Build fix for GNU mode RVCT compilation
+
+ * html/PreloadScanner.cpp:
+
+2009-03-27 Erik L. Bunce <elbunce@xendom.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24868
+
+ Make text of the writing direction items more user friendly.
+
+ * platform/qt/Localizations.cpp:
+ (WebCore::contextMenuItemTagLeftToRight):
+ (WebCore::contextMenuItemTagRightToLeft):
+
+2009-03-27 Erik L. Bunce <elbunce@xendom.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24274
+
+ Fixed the Qt 4.4 Mac build with netscape plugins enabled.
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-03-26 Mark Rowe <mrowe@apple.com>
+
+ Try and fix the Qt build.
+
+ * platform/text/TextEncodingDetectorNone.cpp:
+ (WebCore::detectTextEncoding):
+
+2009-03-26 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24874
+ 24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it
+
+ The 'duration' attribute is NaN when no media is available, so the
+ media element should take care when comparing with duration().
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when
+ it is NaN.
+ (WebCore::HTMLMediaElement::endedPlayback): Ditto.
+
+2009-03-26 Mark Rowe <mrowe@apple.com>
+
+ Fix the build.
+
+ * platform/text/TextEncodingDetectorICU.cpp:
+ * platform/text/TextEncodingDetectorNone.cpp:
+
2009-03-26 Jungshik Shin <jshin@chromium.org>
Reviewed by Cameron Zwarich.
@@ -4840,7 +29333,7 @@
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::createRenderer):
* loader/FrameLoader.cpp:
- (WebCore::FrameLoader::loadItem):
+ (WebCore::FrameLoader::createJavaAppletWidget):
2009-03-10 Justin Garcia <justin.garcia@apple.com>