summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/WebCore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/ChangeLog')
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog41580
1 files changed, 41580 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
new file mode 100644
index 0000000..2e2ce52
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -0,0 +1,41580 @@
+2009-02-26 Benjamin Meyer <benjamin.meyer@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24062
+ QNetworkCookieJar expects the url and not the policy url. Sending the
+ policy url will cause QNetworkCookieJar to behave incorrectly. One
+ example would be a cookie that does not have a path or domain.
+ QNetworkCookieJar will use the url it is given to fill in default values.
+ This allows setting cookies on the url of the main frame from an iFrame
+ when the cookie should be set on the url of the iFrame.
+
+ Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do
+
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::setCookies):
+
+2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Copyright notices in a few files
+
+ * platform/qt/RenderThemeQt.h:
+
+2008-12-13 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ 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-02-13 Prasanth Ullattil <pullatti@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fixes crash in the Qt port on Windows with comboboxes
+
+ The focusWidget in the input context is not reset properly.
+ The QApplication::setFocusWidget() wont reset the IC if the reason is
+ PopupFocusReason, this is not ideal. For the time being we are going
+ to do this from webkit itself.
+
+ * platform/qt/QWebPopup.cpp:
+ (WebCore::QWebPopup::hidePopup):
+
+2009-02-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ For the Qt port implement Image::drawPattern via
+ BitmapImage::drawPatterns' implementation and implement
+ Gradient::fill.
+
+ This partially fixes rendering of generated gradient content.
+
+ * platform/graphics/BitmapImage.h: Remove the drawPattern
+ implementation for the Qt port in BitmapImage, it's been moved to
+ Image::drawPattern.
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::fill): Implement using a simple fillRect.
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::Image::drawPattern): Moved implementation from
+ BitmapImage::drawPattern.
+
+2009-02-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Added support for different ownership models for wrapped QObjects in
+ the JavaScript environment.
+
+ * bindings/js/ScriptControllerQt.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget): Specify
+ QtOwnership for scriptable widgets.
+ * bridge/npruntime_internal.h: Add "NormalState" to the list of
+ undef'ed macros as an included Qt header uses "NormalState" as value
+ in an enum.
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance): Save and initialize ownership
+ member.
+ (JSC::Bindings::QtInstance::~QtInstance): Respect
+ QScriptEngine::ValueOwnership policy with regards to wrapped m_object.
+ (JSC::Bindings::QtInstance::getQtInstance): Pass the ownership down to
+ the instance.
+ * bridge/qt/qt_instance.h:
+ (JSC::Bindings::QtInstance::create): Ditto.
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue): Use QtOwnership for
+ automatically wrapped QObjects.
+ (JSC::Bindings::QtConnectionObject::execute): Ditto.
+
+2009-02-04 Trenton Schulz <trenton.schulz@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix implementation of PluginViewMac::invalidateRect to update only the
+ specified rect, not the entire browser window.
+
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::invalidateRect):
+
+2009-02-03 Adam Treat <adam.treat@torchmobile.com>
+
+ Fix the Qt build after r40536.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue):
+
+2009-02-03 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix conversion of QByteArray to JavaScript and back. Instead of
+ converting it to a String (data loss!) we now map it to JSByteArray.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::):
+ (JSC::Bindings::valueRealType): Added JSByteArray as converstion type.
+ (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to
+ QVariant(QByteArray).
+ (JSC::Bindings::convertQVariantToValue): Convert from
+ QVariant::ByteArray to jsByteArray.
+
+2009-01-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Bug 23580: GNU mode RVCT compilation support
+ <https://bugs.webkit.org/show_bug.cgi?id=23580>
+
+ * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__.
+
+2009-01-28 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Speed-up clipping: avoid calling expensive QPainter::clipRegion().
+ Beside, the check is not necessary since QPainter::setClipRect() will
+ work just fine if there is no clip region yet.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::clip):
+
+2009-01-27 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ http://www.qtsoftware.com/developer/task-tracker/index_html?id=238662&method=entry
+
+ [Qt] Map function keys F1 to F24.
+
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent):
+
+2009-01-23 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Holger Hans Peter Freyther.
+
+ Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a
+ huge memory leak by ensuring that the timer is fired one last time on
+ application tear down thus triggering the GCController thereby freeing
+ JavaScript objects as well as triggering other timer based tear down methods.
+
+ * platform/qt/SharedTimerQt.cpp:
+ (WebCore::SharedTimerQt::~SharedTimerQt):
+
+2009-01-09 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [QT] Make SharedTimer use QBasicTimer
+
+ Kill the SharedTimerQt.h and the usage of signal and slots
+ by using QBasicTimer.
+
+ * WebCore.pro:
+ * platform/qt/SharedTimerQt.cpp:
+ (WebCore::SharedTimerQt::SharedTimerQt):
+ (WebCore::SharedTimerQt::inst):
+ (WebCore::SharedTimerQt::start):
+ (WebCore::SharedTimerQt::stop):
+ (WebCore::SharedTimerQt::timerEvent):
+ (WebCore::setSharedTimerFiredFunction):
+ (WebCore::setSharedTimerFireTime):
+ (WebCore::stopSharedTimer):
+ * platform/qt/SharedTimerQt.h: Removed.
+
+2009-01-25 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix gcc compiler warning (deprecated conversion from constant string to char*)
+
+ "" cannot be stored in a char*
+
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::destroyStream):
+
+2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Bug 23475: fast/text/find-backwards.html fails with ICU disabled SearchBuffer
+ https://bugs.webkit.org/show_bug.cgi?id=23475
+
+ * editing/TextIterator.cpp:
+ (WebCore::SearchBuffer::search): Set the character start flag to false to
+ ensure we won't ever return the same result twice. There are other ways we
+ could accomplish this, mentioned in the comment, but this one was the smallest
+ and cleanest I could think of.
+
+2009-01-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ [Qt] Simplify the assertion.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::getWindowsContext):
+ (WebCore::GraphicsContext::releaseWindowsContext):
+
+2009-01-19 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ [Qt] Build fix after r39971.
+
+ * platform/qt/LoggingQt.cpp:
+ (WebCore::InitializeLoggingChannelsIfNecessary):
+
+2009-01-19 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ http://www.qtsoftware.com/developer/task-tracker/index_html?id=211228&method=entry
+
+ [Qt] Show focus rect when a button gets the focus for the first time.
+ This is important at least for Windows style.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::applyTheme):
+
+2009-01-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Kevin Decker and Adam Roben.
+
+ - fix a regression that resulted in a crash when plug-ins were
+ disabled.
+
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::updateWidget): Added a null check.
+
+2009-01-16 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fixes QString and 8-bit mix fixes.
+
+ Details: Make sure we use QLatin1String where appropriate (and don't
+ use QString when not necessary)
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::create):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformInit):
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::openTemporaryFile):
+ * platform/qt/LoggingQt.cpp:
+ (WebCore::InitializeLoggingChannelsIfNecessary):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
+ * plugins/qt/PluginDataQt.cpp:
+ (WebCore::PluginData::initPlugins):
+
+2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22452
+
+ When plugins are disabled, plugin data should not be available for
+ the page. This ensures that navigator.plugins would not see the
+ additional MIME types supported by the plugins.
+
+ * page/Page.cpp:
+ (WebCore::Page::pluginData):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldUsePlugin):
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::updateWidget):
+
+2009-01-09 Darin Adler <darin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Bug 22913: REGRESSION: Space bar doesn't scroll on windows
+ https://bugs.webkit.org/show_bug.cgi?id=22913
+ rdar://problem/6479834
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::defaultKeyboardEventHandler): Added code to call
+ defaultSpaceEventHandler.
+ (WebCore::EventHandler::defaultSpaceEventHandler): Added. Scrolls down or up based
+ on the shift key.
+ * page/EventHandler.h: Added defaultSpaceEventHandler.
+
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformScroll): Return false, because this function does
+ not scroll. In an earlier version of this patch, I used this to prevent the
+ patch from affecting the Mac, but I decided to use #if instead.
+
+2009-01-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Release build fix.
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::storeUpdatedType): Use ASSERT_UNUSED.
+
+2009-01-13 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Test: http/tests/appcache/xhr-foreign-resource.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=23256
+ Implement application cache foreign entries
+
+ * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
+ Removed a misplaced check for foreign resources that prevented them from being loaded altogether.
+
+ * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache):
+ If a document that was loaded from appcache should be associated with a different cache,
+ mark the resource as foreign in the original cache and start over.
+
+ * loader/appcache/ApplicationCacheResource.cpp: (WebCore::ApplicationCacheResource::addType):
+ This function can now be called after a cache is stored, so it no longer asserts the opposite.
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL): Fix database pass to correctly ignore
+ in-memory caches that were already rejected.
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto.
+ (WebCore::ApplicationCacheStorage::storeUpdatedType): Added a function that updates type of
+ an already stored cached resource.
+
+ * loader/appcache/ApplicationCacheStorage.h: Added storeUpdatedType().
+
+2009-01-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Speculative fix for an Uninitialized Memory Read (UMR)
+ seen by purify in chormium's equivalent V8 file.
+
+ * bindings/js/JSSVGPODTypeWrapper.h:
+ (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
+
+2009-01-13 Christian Dywan <christian@twotoasts.de>
+
+ Build fix, StorageEvent is only defined if we have DOM_STORAGE
+
+ * dom/Document.cpp:
+ (WebCore::Document::createEvent): Conditionalize StorageEvent
+
+2009-01-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Bug 23277: space bar scrolls the page when typed in any text field
+ https://bugs.webkit.org/show_bug.cgi?id=23277
+ rdar://problem/6490249
+
+ There's already a regression test for this, since bug 16421 was the same problem, but on
+ Mac. The regression test is fast/events/space-scroll-event.html, so I won't write a new one.
+
+ This bug doesn't affect Mac because the canEdit check in -[WebHTMLView insertText:] prevents
+ a text input event from being generated at all. That difference may in itself be a bug, but
+ the only symptom is that you get text input events in more cases on platforms other than Mac.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTextInputEvent): Return whether the event's default was
+ handled, not the result of the dispatchEvent function, which indicates only whether the
+ default behavior was prevented, not if the default behavior did some insertion. This fix
+ makes it so the keyboard event handler can detect that no space was inserted and know that
+ the space bar keypress event can be treated as a scrolling command.
+ (WebCore::EventHandler::defaultKeyboardEventHandler): Handle the keypress event, not the
+ keydown event. Without the change above, making this change would have restored the old
+ behavior, reintroducing bug 22913 where the space bar doesn't scroll at all on Windows.
+
+2009-01-12 Robert Blaut <webkit@blaut.biz>
+
+ Reviewed by Darin Adler
+
+ Fix for <https://bugs.webkit.org/show_bug.cgi?id=22096>
+ Bug 22096: REGRESSION (r35879) scrolldelay is counted in seconds
+ instead of miliseconds
+
+ Test: fast/css/webkit-marquee-speed-unit-in-quirksmode.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::validUnit): treat unitless values in quirks mode
+ as miliseconds instead of seconds.
+
+2009-01-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix crash in the Qt port when deleting a popup from within a
+ JavaScript onchange handler.
+
+ * platform/qt/QWebPopup.cpp:
+ (WebCore::QWebPopup::QWebPopup): Perform the activation of the
+ combobox item (i.e. the call to the JS handler) from a different
+ call stack by using a queued connection.
+
+2009-01-13 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Make sure media elements dispatch the 'loaded' event
+
+ We assume that when Phonon goes into paused state that we have the
+ complete media file. Once we do media loading ourselves we can
+ distinguish between loading the first frame and the complete media.
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::updateStates):
+
+2009-01-13 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Add more verbose error output when loading NPAPI plugins
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::load):
+
+2009-01-13 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Change how themes adjust mediaControls.css to match html4/quicks.css
+
+ Instead of providing the full style sheet, the themes provide extra
+ overrides to the default style defined in UserAgentStyleSheetsData.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23210
+
+ Also, merge WebKitResources.qrc and WebCoreResources.qrc to speed up
+ build time for the Qt port.
+
+ * Resources/WebKitResources.qrc: Removed. Merged into WebCore.qrc
+ * WebCore.pro:
+ * WebCore.qrc: Added.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForElement):
+ * css/qt/mediaControls-extras.css: Rename from html4-adjustments-qt.css
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
+ * platform/qt/RenderThemeQt.h:
+ * platform/qt/WebCoreResources.qrc: Removed.
+ * platform/qt/html4-adjustments-qt.css: Rename to mediaControls-extras.css
+ * rendering/RenderTheme.cpp:
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::extraMediaControlsStyleSheet):
+
+2009-01-10 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23210
+ Make it easier for ports to define custom UI for media controls
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForElement): call theme()->styleSheetForMediaControls to
+ get the media controller style sheet
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlInputElement::hitTest): Added
+ * rendering/MediaControlElements.h: Updated
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function
+ so control elements don't necessarily have to be rectangular
+
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::styleSheetForMediaControls): Added
+ (WebCore::RenderTheme::hitTestMediaControlPart): Added
+ * rendering/RenderTheme.h: Updated
+
+2009-01-12 Kevin Ollivier <kevino@theolliviers.com>
+
+ !ENABLE(SVG_FONTS) build fix. Move defaultUnitsPerEm into a non-SVG header
+ so it can be used by all builds.
+
+ * platform/graphics/Font.h:
+ * platform/graphics/SimpleFontData.cpp:
+ * svg/SVGFontFaceElement.cpp:
+ * svg/SVGFontFaceElement.h:
+
+2008-01-12 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22936
+ Fix uninitialized memory read error, reported by Purify.
+
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData): Added initializer for
+ m_unitsPerEm using cDefaultUnitsPerEm constant.
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::unitsPerEm): Replaced literal value with
+ the constant.
+ * svg/SVGFontFaceElement.h: Added cDefaultUnitsPerEm constant.
+
+2009-01-12 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Do not set fixedLayoutSize for anything other than the mainframe during
+ the transition as this is a page level state like the viewportSize.
+
+ * loader/FrameLoaderClient.cpp:
+ (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
+
+2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Swap the .h and the .cpp output in the Qt build for the
+ UserAgentStyleSheetData files, to put the definition in the .cpp file
+ and the declaration in the header file.
+
+ * WebCore.pro:
+
+2009-01-09 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Prevent qmake from generating duplicate rules for embedded stylesheets
+
+ The STYLESHEETS_EMBED variable used to contain only one file name, but
+ now that it is a list of files we need to change it to be a dependency
+ for the stylesheet generator instead of the input.
+
+ * WebCore.pro:
+
+2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix qmake warning about missing test function, a contains() call was
+ missing.
+
+ * WebCore.pro:
+
+2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Add the Qt API headers to HEADERS, too, for improved completion in IDEs.
+
+ * WebCore.pro:
+
+2009-01-09 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23199
+
+ Fix deref's of string happening on two different threads.
+
+ No observable change in behavior, so no test. However, there are asserts
+ being added for https://bugs.webkit.org/show_bug.cgi?id=23175 which
+ will detect this issue while running the normal worker tests.
+
+ * dom/WorkerThread.cpp:
+ (WebCore::WorkerThreadStartupData::create):
+ (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::workerThread):
+ * dom/WorkerThread.h:
+
+2009-01-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adam Roben.
+
+ - use native glyph support in Core Graphics when available
+
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::Font::drawGlyphs): Changed to use drawGDIGlyphs() only if
+ native glyph support is not available or stroking is required. Changed
+ to pass the font's useGDI() flag to wkSetCGContextFontRenderingStyle to
+ request the use of native glyphs.
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData): Added a call to
+ wkSetFontPlatformInfo to attach the LOGFONT to the CGFont.
+ * platform/graphics/win/FontPlatformDataCGWin.cpp:
+ (WebCore::FontPlatformData::platformDataInit): Ditto.
+
+2009-01-08 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22929
+ Fix memory regression when decoding large animated GIFs.
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::clear):
+
+2009-01-08 Scott Violet <sky@chromium.org>
+
+ Reviewed by Eric Seidel (and Adam Barth).
+
+ Fix Images to return their file extension
+ http://code.google.com/p/chromium/issues/detail?id=5827
+
+ * platform/graphics/skia/ImageSourceSkia.cpp:
+ (WebCore::ImageSource::filenameExtension):
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add PathSkia and PatternSkia implementations to WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=23200
+
+ * platform/graphics/skia/PathSkia.cpp: Added.
+ (WebCore::Path::Path):
+ (WebCore::Path::~Path):
+ (WebCore::Path::operator=):
+ (WebCore::Path::isEmpty):
+ (WebCore::Path::contains):
+ (WebCore::Path::translate):
+ (WebCore::Path::boundingRect):
+ (WebCore::Path::moveTo):
+ (WebCore::Path::addLineTo):
+ (WebCore::Path::addQuadCurveTo):
+ (WebCore::Path::addBezierCurveTo):
+ (WebCore::Path::addArcTo):
+ (WebCore::Path::closeSubpath):
+ (WebCore::Path::addArc):
+ (WebCore::Path::addRect):
+ (WebCore::Path::addEllipse):
+ (WebCore::Path::clear):
+ (WebCore::convertPathPoints):
+ (WebCore::Path::apply):
+ (WebCore::Path::transform):
+ (WebCore::Path::debugString):
+ (WebCore::boundingBoxForCurrentStroke):
+ (WebCore::Path::strokeBoundingRect):
+ * platform/graphics/skia/PatternSkia.cpp: Added.
+ (WebCore::shaderRule):
+ (WebCore::Pattern::createPlatformPattern):
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add ImageSourceSkia to platform/graphics/skia
+ https://bugs.webkit.org/show_bug.cgi?id=23200
+
+ ImageSourceSkia is mostly a hack to support our
+ ICO decoder model. See ImageSourceSkia.h for more
+ explanation. Eventually we'd like to make our ICO
+ decoder lazy.
+
+ * platform/graphics/ImageSource.h: mark m_decoder as protected
+ * platform/graphics/skia/ImageSourceSkia.cpp: Added.
+ (WebCore::createDecoder):
+ (WebCore::ImageSource::ImageSource):
+ (WebCore::ImageSource::~ImageSource):
+ (WebCore::ImageSource::clear):
+ (WebCore::ImageSource::initialized):
+ (WebCore::ImageSource::setData):
+ (WebCore::ImageSource::isSizeAvailable):
+ (WebCore::ImageSource::size):
+ (WebCore::ImageSource::frameSizeAtIndex):
+ (WebCore::ImageSource::repetitionCount):
+ (WebCore::ImageSource::frameCount):
+ (WebCore::ImageSource::createFrameAtIndex):
+ (WebCore::ImageSource::frameIsCompleteAtIndex):
+ (WebCore::ImageSource::frameDurationAtIndex):
+ (WebCore::ImageSource::frameHasAlphaAtIndex):
+ (WebCore::ImageSourceSkia::setData):
+ (WebCore::ImageSource::filenameExtension):
+ * platform/graphics/skia/ImageSourceSkia.h: Added.
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add NativeImageSkia (PlatformImagePtr) to platform/graphics/skia
+ https://bugs.webkit.org/show_bug.cgi?id=23200
+
+ * platform/graphics/skia/NativeImageSkia.cpp: Added.
+ (NativeImageSkia::NativeImageSkia):
+ (NativeImageSkia::decodedSize):
+ (NativeImageSkia::hasResizedBitmap):
+ (NativeImageSkia::resizedBitmap):
+ (NativeImageSkia::shouldCacheResampling):
+ * platform/graphics/skia/NativeImageSkia.h: Added.
+ (NativeImageSkia::setDataComplete):
+ (NativeImageSkia::isDataComplete):
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add ImageBufferSkia and ImageSkia files.
+ https://bugs.webkit.org/show_bug.cgi?id=23200
+ For now we've left BitmapImage and BitmapImageSingleFrameSkia
+ implementations in the ImageSkia file (like ImageCG has), but
+ we intend to break them out into their own files.
+
+ * platform/graphics/skia/ImageBufferSkia.cpp: Added.
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::ImageBuffer::~ImageBuffer):
+ (WebCore::ImageBuffer::context):
+ (WebCore::ImageBuffer::image):
+ (WebCore::ImageBuffer::getImageData):
+ (WebCore::ImageBuffer::putImageData):
+ (WebCore::ImageBuffer::toDataURL):
+ * platform/graphics/skia/ImageSkia.cpp: Added.
+ (WebCore::):
+ (WebCore::FrameData::clear):
+ (WebCore::Image::loadPlatformResource):
+ (WebCore::Image::drawPattern):
+ (WebCore::BitmapImage::initPlatformData):
+ (WebCore::BitmapImage::invalidatePlatformData):
+ (WebCore::BitmapImage::checkForSolidColor):
+ (WebCore::BitmapImage::draw):
+ (WebCore::BitmapImageSingleFrameSkia::draw):
+ (WebCore::BitmapImageSingleFrameSkia::create):
+
+2009-01-08 James Robinson <jamesr@google.com>
+
+ Reviewed by Mark Rowe.
+ Landed by Pamela Greene.
+
+ WebCore::Event::timeStamp() is a simple accessor and should be const
+
+ https://bugs.webkit.org/show_bug.cgi?id=23176
+
+ * dom/Event.h:
+ (WebCore::Event::timeStamp):
+
+2009-01-08 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix <rdar://problem/6467206>
+ Resources loaded from the memory cache do not get correctly inserted into the DocLoader resource map (22994)
+
+ Use CachedResourceHandle in document resource map so resources get updated correctly when using
+ using cache validation conditionals.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::evict):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::~DocLoader):
+ (WebCore::DocLoader::requestResource):
+ (WebCore::DocLoader::setAutoLoadImages):
+ (WebCore::DocLoader::removeCachedResource):
+ * loader/DocLoader.h:
+ (WebCore::DocLoader::cachedResource):
+ (WebCore::DocLoader::allCachedResources):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::getSubresources):
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::updateFromElement):
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a cleaned-up GraphicsContextSkia implementation to WebKit.
+ https://bugs.webkit.org/show_bug.cgi?id=23191
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp: Added.
+ (WebCore::):
+ (WebCore::GraphicsContext::GraphicsContext):
+ (WebCore::GraphicsContext::~GraphicsContext):
+ (WebCore::GraphicsContext::platformContext):
+ (WebCore::GraphicsContext::savePlatformState):
+ (WebCore::GraphicsContext::restorePlatformState):
+ (WebCore::GraphicsContext::beginTransparencyLayer):
+ (WebCore::GraphicsContext::endTransparencyLayer):
+ (WebCore::GraphicsContext::addInnerRoundedRectClip):
+ (WebCore::GraphicsContext::addPath):
+ (WebCore::GraphicsContext::beginPath):
+ (WebCore::GraphicsContext::clearPlatformShadow):
+ (WebCore::GraphicsContext::clearRect):
+ (WebCore::GraphicsContext::clip):
+ (WebCore::GraphicsContext::clipOut):
+ (WebCore::GraphicsContext::clipOutEllipseInRect):
+ (WebCore::GraphicsContext::clipPath):
+ (WebCore::GraphicsContext::clipToImageBuffer):
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::drawConvexPolygon):
+ (WebCore::GraphicsContext::drawEllipse):
+ (WebCore::GraphicsContext::drawFocusRing):
+ (WebCore::GraphicsContext::drawLine):
+ (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
+ (WebCore::GraphicsContext::drawLineForText):
+ (WebCore::GraphicsContext::drawRect):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::fillRoundedRect):
+ (WebCore::GraphicsContext::getCTM):
+ (WebCore::GraphicsContext::roundToDevicePixels):
+ (WebCore::GraphicsContext::scale):
+ (WebCore::GraphicsContext::setAlpha):
+ (WebCore::GraphicsContext::setCompositeOperation):
+ (WebCore::GraphicsContext::setImageInterpolationQuality):
+ (WebCore::GraphicsContext::setLineCap):
+ (WebCore::GraphicsContext::setLineDash):
+ (WebCore::GraphicsContext::setLineJoin):
+ (WebCore::GraphicsContext::setMiterLimit):
+ (WebCore::GraphicsContext::setPlatformFillColor):
+ (WebCore::GraphicsContext::setPlatformShadow):
+ (WebCore::GraphicsContext::setPlatformStrokeColor):
+ (WebCore::GraphicsContext::setPlatformStrokeStyle):
+ (WebCore::GraphicsContext::setPlatformStrokeThickness):
+ (WebCore::GraphicsContext::setPlatformTextDrawingMode):
+ (WebCore::GraphicsContext::setURLForRect):
+ (WebCore::GraphicsContext::setUseAntialiasing):
+ (WebCore::GraphicsContext::strokeArc):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+ (WebCore::GraphicsContext::rotate):
+ (WebCore::GraphicsContext::translate):
+
+2009-01-08 David Hyatt <hyatt@apple.com>
+
+ Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll.
+
+ Make scrollRectIntoViewRecursively call out to the HostWindow to continue the recursive scroll for
+ any scrollable views that may contain a WebView. Does nothing on platforms other than the Mac, but
+ might eventually be of interest to other platforms.
+
+ Reviewed by Oliver Hunt
+
+ * WebCore.base.exp:
+ * page/Chrome.cpp:
+ (WebCore::Chrome::scrollRectIntoView):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::scrollRectIntoView):
+ * platform/HostWindow.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollRectIntoViewRecursively):
+
+2009-01-08 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by David Hyatt.
+
+ No need to make this part of HostWindow and moreover HostWindow should
+ not have any reference to non-platform parts of WebCore.
+
+ * page/Chrome.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setContentsSize):
+ * platform/HostWindow.h:
+
+2009-01-08 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Simplify Mac interfaces for drawing media controller elements
+
+ <rdar://problem/6293969>
+
+ * WebCore.base.exp: update for changed WebKitSystemInterface media controller functions
+
+ * platform/mac/WebCoreSystemInterface.h: Ditto
+ * platform/mac/WebCoreSystemInterface.mm: Ditto
+
+ * rendering/MediaControlElements.h:
+ (WebCore::): Add MediaControlElements enum
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMediaFullscreenButton): update for changed WebKitSystemInterface
+ media controller functions
+ (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto
+ (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto
+ (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto
+ (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto
+ (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto
+ (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add two more files for platform/graphics/skia.
+ https://bugs.webkit.org/show_bug.cgi?id=23191
+
+ * platform/graphics/skia/GradientSkia.cpp: Added.
+ (WebCore::Gradient::platformDestroy):
+ (WebCore::F2B):
+ (WebCore::makeSkColor):
+ (WebCore::totalStopsNeeded):
+ (WebCore::fillStops):
+ (WebCore::compareStops):
+ (WebCore::Gradient::platformGradient):
+ (WebCore::Gradient::fill):
+ * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Copied from WebCore/bindings/js/ScriptValue.h.
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContextPlatformPrivate::context):
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Commit the right files this time! (Instead of the ugly unfixed ones.)
+ https://bugs.webkit.org/show_bug.cgi?id=23191
+
+ * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
+ * platform/graphics/skia/FloatPointSkia.cpp:
+ * platform/graphics/skia/FloatRectSkia.cpp:
+ * platform/graphics/skia/IntPointSkia.cpp:
+ * platform/graphics/skia/IntRectSkia.cpp:
+ (WebCore::IntRect::operator SkRect):
+ * platform/graphics/skia/SkiaUtils.cpp:
+ (WebCore::):
+ (WebCore::WebCoreCompositeToSkiaComposite):
+ (WebCore::SkPMColorToWebCoreColor):
+ (WebCore::IntersectRectAndRegion):
+ (WebCore::ClipRectToCanvas):
+ (WebCore::SkPathContainsPoint):
+ (WebCore::scratchContext):
+ * platform/graphics/skia/SkiaUtils.h:
+ (WebCore::WebCoreFloatToSkScalar):
+ (WebCore::WebCoreDoubleToSkScalar):
+
+2009-01-08 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add the first few files from platform/graphics/skia
+ https://bugs.webkit.org/show_bug.cgi?id=23191
+
+ These are all pretty simple.
+ Eventually BitmapImageSingleFrameSkia might grow a .cpp file, for now it's just a header.
+ SkiaUtils needs to die, but that can come later, no need to block up-streaming now.
+
+ * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Added.
+ (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
+ (WebCore::BitmapImageSingleFrameSkia::size):
+ (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
+ (WebCore::BitmapImageSingleFrameSkia::decodedSize):
+ (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
+ (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia):
+ * platform/graphics/skia/FloatPointSkia.cpp: Copied from WebCore/platform/graphics/mac/FloatPointMac.mm.
+ (WebCore::FloatPoint::FloatPoint):
+ (WebCore::FloatPoint::operator SkPoint):
+ * platform/graphics/skia/FloatRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
+ (WebCore::FloatRect::FloatRect):
+ (WebCore::FloatRect::operator SkRect):
+ * platform/graphics/skia/IntPointSkia.cpp: Copied from WebCore/platform/graphics/win/IntPointWin.cpp.
+ (WebCore::IntPoint::IntPoint):
+ (WebCore::IntPoint::operator SkIPoint):
+ (WebCore::IntPoint::operator SkPoint):
+ * platform/graphics/skia/IntRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp.
+ (WebCore::IntRect::operator SkIRect):
+ (WebCore::IntRect::operator SkRect):
+ (WebCore::IntRect::IntRect):
+ * platform/graphics/skia/SkiaUtils.cpp: Added.
+ (WebCore::WebCorePointToSkiaPoint):
+ (WebCore::WebCoreRectToSkiaRect):
+ (WebCore::):
+ (WebCore::WebCoreCompositeToSkiaComposite):
+ (WebCore::InvScaleByte):
+ (WebCore::SkPMColorToColor):
+ (WebCore::SkPMColorToWebCoreColor):
+ (WebCore::IntersectRectAndRegion):
+ (WebCore::ClipRectToCanvas):
+ (WebCore::SkPathContainsPoint):
+ (WebCore::scratchContext):
+ * platform/graphics/skia/SkiaUtils.h: Added.
+ (WebCore::WebCoreFloatToSkScalar):
+ (WebCore::WebCoreDoubleToSkScalar):
+
+2009-01-08 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fixed CSS Transitions with zero-duration but non-zero-delay not starting or ending properly.
+
+ Also updated AnimationController::numberOfActiveAnimations() which now returns the number of "active" animations,
+ instead of simply the "running" ones.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23177
+
+ Tests: transitions/zero-duration-with-non-zero-delay-end.html
+ transitions/zero-duration-with-non-zero-delay-start.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::animationTimerFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
+
+2009-01-08 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/6477501> Repro crash loading HTML5 AppCache manifest directly
+
+ The crash happened whenever a cached resource was downloaded, as opposed to used directly.
+
+ No test, as downloading cannot be tested automatically.
+
+ * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
+ Cancel downloads that do not have an associated ResourceHandle, such as downloads from the
+ application cache. Activity window shows "The URL can't be shown", and the frame remains empty.
+
+2009-01-08 Justin McPherson <justin.mcpherson@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt build on older X11 systems with special X paths.
+
+ * WebCore.pro: Use the x11 qmake config to pull in extra paths
+ needed for NPAPI.
+
+2009-01-08 Adam Roben <aroben@apple.com>
+
+ Windows build fix after r39699
+
+ * DerivedSources.cpp: Added JSDOMStringList.cpp.
+
+2009-01-08 Kent Hansen <khansen@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix copy & paste of images in the Qt port.
+
+ Store the QPixmap itself in the mimedata, not a QPixmap* converted to bool.
+
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::declareAndWriteDragImage):
+
+2009-01-08 Hiroyuki Ikezoe <poincare@ikezoe.net>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23127
+
+ Invoke pango_coverage_get with each Unicode character.
+
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::containsCharacters):
+
+2009-01-07 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Part one of
+ https://bugs.webkit.org/show_bug.cgi?id=23165
+ Add support for application cache dynamic entries
+
+ Test: http/tests/appcache/dynamic-entries-no-cache.html
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ Added new files.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::hasItem):
+ Added binding for hasItem(). Like other DOMApplicationCache methods, it needs to be custom
+ to resolve relative URLs correctly.
+
+ * bindings/js/JSDOMStringListCustom.cpp: Added.
+ * dom/DOMStringList.cpp: Added.
+ * dom/DOMStringList.h: Added.
+ * dom/DOMStringList.idl: Added.
+ Added an implementation of DOM 3 Core DOMStringList interface, which is returned by
+ DOMApplicationCache items attribute.
+
+ * dom/StaticStringList.cpp: Added.
+ * dom/StaticStringList.h: Added.
+ An implementation of DOMStringList that makes a snapshot (for DOMApplicationCache, this
+ matches Firefox, as the spec doesn't say whether the returned list should be live or not).
+
+ * loader/appcache/ApplicationCache.h: Added a list of pending dynamic entry actions, to be
+ used in the near future.
+
+ * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length
+ attribute and item(), we now have an items attribute that returns a DOMStringList, and a
+ hasItem convenience method.
+
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::items):
+ (WebCore::DOMApplicationCache::hasItem):
+ * loader/appcache/DOMApplicationCache.h:
+ Added implementations of items attribute and hasItem() (note that underlying ApplicationCache
+ methods are still unimplemented though).
+
+ * page/DOMWindow.idl: Expose a DOMStringList global constructor.
+
+2009-01-07 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23122
+
+ This completes the removal of dependencies on WebKit from the platform code
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::getDelayValue):
+ (WebCore::getDurationValue):
+ (WebCore::getTimingFunctionValue):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSHelper.h:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapAnimationDelay):
+ (WebCore::CSSStyleSelector::mapAnimationDirection):
+ (WebCore::CSSStyleSelector::mapAnimationDuration):
+ (WebCore::CSSStyleSelector::mapAnimationIterationCount):
+ (WebCore::CSSStyleSelector::mapAnimationName):
+ (WebCore::CSSStyleSelector::mapAnimationPlayState):
+ (WebCore::CSSStyleSelector::mapAnimationProperty):
+ (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
+ * platform/animation/Animation.cpp:
+ (WebCore::Animation::Animation):
+ * platform/animation/Animation.h:
+ (WebCore::Animation::initialAnimationDelay):
+ (WebCore::Animation::initialAnimationDirection):
+ (WebCore::Animation::initialAnimationDuration):
+ (WebCore::Animation::initialAnimationIterationCount):
+ (WebCore::Animation::initialAnimationName):
+ (WebCore::Animation::initialAnimationPlayState):
+ (WebCore::Animation::initialAnimationProperty):
+ (WebCore::Animation::initialAnimationTimingFunction):
+ * rendering/style/RenderStyle.h:
+
+2008-01-07 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22929
+
+ Fix errors while decoding GIFs by not calling setData() repeatedly
+ when it's not necessary. Pushes the responsibility for calling
+ setData() after clear() into the ImageSource which presumably knows
+ better than BitmapImage what needs to be done.
+
+ NOTE: The above bug is mainly about a memory regression, which this
+ patch does not fix.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::destroyDecodedData):
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/cairo/ImageSourceCairo.cpp:
+ (WebCore::ImageSource::clear):
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::clear):
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::~ImageSource):
+ (WebCore::ImageSource::clear):
+ * platform/graphics/wx/ImageSourceWx.cpp:
+ (WebCore::ImageSource::~ImageSource):
+ (WebCore::ImageSource::clear):
+
+2009-01-07 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6355786> Find fails for queries that contain a line break
+
+ * editing/TextIterator.cpp:
+ (WebCore::findPlainText): Allow find with queries that contain newlines.
+
+2009-01-07 Dean Jackson <dino@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Allow removal of inline shorthand properties for
+ animation, transition and transform origin. Also
+ add getter for shorthand animation property.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22605
+
+ Test: fast/css/transform-inline-style-remove.html
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
+ Getter for animation property shorthand
+ (WebCore::initShorthandMap):
+ Adds initialisation for transform-origin, animation and transition
+
+2009-01-07 Benjamin Otte <otte@gnome.org>
+
+ Reviewed by Holger Freyther.
+
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
+ (WebCore::parseDataUrl):
+ (WebCore::ResourceHandle::startData): keep track of the idle handler
+ we add and remove it in the destructor
+
+2009-01-07 Dean Jackson <dino@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Finish renaming of AffineTransform to TransformationMatrix, this
+ time ensuring that the platform implementations get the correct
+ name. Also, clean up some whitespace cruft in old content.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23151
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/cairo/AffineTransformCairo.cpp: Removed.
+ * platform/graphics/cairo/TransformationMatrixCairo.cpp: Copied from WebCore/platform/graphics/cairo/AffineTransformCairo.cpp.
+ * platform/graphics/cg/AffineTransformCG.cpp: Removed.
+ * platform/graphics/cg/TransformationMatrixCG.cpp: Copied from WebCore/platform/graphics/cg/AffineTransformCG.cpp.
+ * platform/graphics/qt/AffineTransformQt.cpp: Removed.
+ * platform/graphics/qt/TransformationMatrixQt.cpp: Copied from WebCore/platform/graphics/qt/AffineTransformQt.cpp.
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ * platform/graphics/transforms/TransformationMatrix.h:
+ * platform/graphics/wx/AffineTransformWx.cpp: Removed.
+ * platform/graphics/wx/TransformationMatrixWx.cpp: Copied from WebCore/platform/graphics/wx/AffineTransformWx.cpp.
+ * webcore-wx.bkl:
+
+2009-01-07 Anders Carlsson <andersca@apple.com>
+
+ Another build fix.
+
+ * WebCore.LP64.exp:
+
+2008-12-16 David Hyatt <hyatt@apple.com>
+
+ Make Safari RSS behave nicely with full page zoom. Need to add a new value to enable resetting of zoom
+ back to the document-level default.
+
+ Reviewed by Darin Adler
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/CSSValueKeywords.in:
+
+2009-01-07 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
+ https://bugs.webkit.org/show_bug.cgi?id=23160
+
+ * WebCore.base.exp: Added Page::setMemoryCacheClientCallsEnabled.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::didLoadResourceFromMemoryCache): Updated to take a CachedResource
+ so that there's no extra work the caller has to do when the inspector is disabled.
+ * inspector/InspectorController.h: Ditto.
+
+ * loader/DocumentLoader.h: Added recordMemoryCacheLoadForFutureClientNotification,
+ takeMemoryCacheLoadsForClientNotification, and m_resourcesLoadedFromMemoryCacheForClientNotification.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadedResourceFromMemoryCache): Streamlined code so less work is done when
+ there's no inspector or client call needed. Added code to check areMemoryCacheClientCallsEnabled
+ and if it's false, use recordMemoryCacheLoadForFutureClientNotification.
+ (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Added.
+ * loader/FrameLoader.h: Ditto.
+
+ * page/Page.cpp:
+ (WebCore::Page::Page): Initialize m_areMemoryCacheClientCallsEnabled to be compatible with old behavior.
+ (WebCore::Page::setMemoryCacheClientCallsEnabled): Added.
+ * page/Page.h: Added setMemoryCacheClientCallsEnabled, areMemoryCacheClientCallsEnabled,
+ and m_areMemoryCacheClientCallsEnabled.
+
+2009-01-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Qt build fix after r39670.
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject):
+ * bridge/qt/qt_class.h:
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::mark):
+ (JSC::Bindings::QtInstance::invokeMethod):
+ (JSC::Bindings::QtInstance::defaultValue):
+ (JSC::Bindings::QtInstance::stringValue):
+ (JSC::Bindings::QtInstance::numberValue):
+ (JSC::Bindings::QtInstance::booleanValue):
+ (JSC::Bindings::QtInstance::valueOf):
+ (JSC::Bindings::QtField::valueFromInstance):
+ (JSC::Bindings::QtField::setValueToInstance):
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::valueRealType):
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue):
+ (JSC::Bindings::findMethodIndex):
+ (JSC::Bindings::QtRuntimeMetaMethod::call):
+ (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
+ (JSC::Bindings::QtRuntimeConnectionMethod::call):
+ (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
+ (JSC::Bindings::::setValueAt):
+ (JSC::Bindings::::valueAt):
+ * bridge/qt/qt_runtime.h:
+ (JSC::Bindings::QtRuntimeMethod::createStructure):
+
+2009-01-06 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/6391734> SnowLeopard: Crash doing Copy Image from context menu
+
+ Can't create an automated test case for specific contextual menu items yet and
+ a normal Copy doesn't cause a crash.
+
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::fileWrapperForImage): The SharedBuffer may not have platform data. It may,
+ for example, have a purgeable or regular buffer.
+
+2009-01-06 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=23157>.
+ Bug 23157: Crashes on Acid 3
+
+ * dom/Document.cpp:
+ (WebCore::Document::recalcStyle): Null-check the frame.
+
+2009-01-05 Gavin Barraclough <baraclough@apple.com>
+
+ Rubber Stamped by Oliver Hunt.
+
+ Replace all uses of JSValue* with new wrapper class, JSValuePtr.
+ See JavaScriptCore/ChangeLog for more detailed description.
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::setValue):
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter):
+ (WebCore::JSCSSStyleDeclaration::customPut):
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSCanvasPixelArrayCustom.h:
+ (WebCore::JSCanvasPixelArray::getByIndex):
+ (WebCore::JSCanvasPixelArray::indexSetter):
+ * 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/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::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::findJSUnprotectedEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::createWindow):
+ (WebCore::showModalDialog):
+ (jsDOMWindowBaseCrypto):
+ (jsDOMWindowBaseEvent):
+ (jsDOMWindowBaseImage):
+ (jsDOMWindowBaseMessageChannel):
+ (jsDOMWindowBaseOption):
+ (jsDOMWindowBaseXMLHttpRequest):
+ (jsDOMWindowBaseAudio):
+ (jsDOMWindowBaseWorker):
+ (jsDOMWindowBaseXSLTProcessor):
+ (setJSDOMWindowBaseEvent):
+ (setJSDOMWindowBaseAudio):
+ (setJSDOMWindowBaseImage):
+ (setJSDOMWindowBaseMessageChannel):
+ (setJSDOMWindowBaseOption):
+ (setJSDOMWindowBaseWorker):
+ (setJSDOMWindowBaseXMLHttpRequest):
+ (setJSDOMWindowBaseXSLTProcessor):
+ (WebCore::JSDOMWindowBase::childFrameGetter):
+ (WebCore::JSDOMWindowBase::indexGetter):
+ (WebCore::JSDOMWindowBase::namedItemGetter):
+ (WebCore::JSDOMWindowBase::getOwnPropertySlot):
+ (WebCore::JSDOMWindowBase::put):
+ (WebCore::JSDOMWindowBase::clear):
+ (windowProtoFuncOpen):
+ (windowProtoFuncShowModalDialog):
+ (windowProtoFuncNotImplemented):
+ (WebCore::JSDOMWindowBase::setReturnValueSlot):
+ (WebCore::JSDOMWindowBase::installTimeout):
+ (WebCore::toJS):
+ (WebCore::toJSDOMWindow):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::lookupGetter):
+ (WebCore::JSDOMWindow::lookupSetter):
+ (WebCore::JSDOMWindow::setLocation):
+ (WebCore::JSDOMWindow::postMessage):
+ (WebCore::setTimeoutOrInterval):
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::clearTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ (WebCore::JSDOMWindow::clearInterval):
+ (WebCore::JSDOMWindow::atob):
+ (WebCore::JSDOMWindow::btoa):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ (WebCore::toDOMWindow):
+ (WebCore::nonCachingStaticCloseFunctionGetter):
+ (WebCore::nonCachingStaticBlurFunctionGetter):
+ (WebCore::nonCachingStaticFocusFunctionGetter):
+ (WebCore::nonCachingStaticPostMessageFunctionGetter):
+ * bindings/js/JSDOMWindowCustom.h:
+ (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::JSAbstractEventListener::handleEvent):
+ (WebCore::eventParameterName):
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSEventTarget.h:
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSEventTargetNodeCustom.cpp:
+ (WebCore::JSEventTargetNode::addEventListener):
+ (WebCore::JSEventTargetNode::removeEventListener):
+ * 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):
+ * 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::selectionEnd):
+ * 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/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::evaluate):
+ (WebCore::JSJavaScriptCallFrame::thisObject):
+ (WebCore::JSJavaScriptCallFrame::type):
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ * 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):
+ * bindings/js/JSMessageChannelConstructor.h:
+ * 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::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::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):
+ * bindings/js/JSSVGLengthCustom.cpp:
+ (WebCore::JSSVGLength::value):
+ (WebCore::JSSVGLength::convertToSpecifiedUnits):
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::multiply):
+ (WebCore::JSSVGMatrix::inverse):
+ (WebCore::JSSVGMatrix::translate):
+ (WebCore::JSSVGMatrix::scale):
+ (WebCore::JSSVGMatrix::scaleNonUniform):
+ (WebCore::JSSVGMatrix::rotate):
+ (WebCore::JSSVGMatrix::rotateFromVector):
+ (WebCore::JSSVGMatrix::flipX):
+ (WebCore::JSSVGMatrix::flipY):
+ (WebCore::JSSVGMatrix::skewX):
+ (WebCore::JSSVGMatrix::skewY):
+ * 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/JSWorkerContextBase.cpp:
+ (WebCore::JSWorkerContextBase::put):
+ * bindings/js/JSWorkerContextBase.h:
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::self):
+ (WebCore::JSWorkerContext::setSelf):
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ * 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::ScheduledAction):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::initialize):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::getString):
+ (WebCore::ScriptValue::isNull):
+ (WebCore::ScriptValue::isUndefined):
+ * 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:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * 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.cpp:
+ (JSC::Bindings::Instance::getValueOfField):
+ (JSC::Bindings::Instance::setValueOfField):
+ * bridge/runtime.h:
+ (JSC::Bindings::Class::fallbackObject):
+ (JSC::Bindings::Instance::getValueOfUndefinedField):
+ (JSC::Bindings::Instance::setValueOfUndefinedField):
+ (JSC::Bindings::Instance::invokeDefaultMethod):
+ (JSC::Bindings::Instance::invokeConstruct):
+ (JSC::Bindings::Instance::valueOf):
+ * 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/InspectorController.cpp:
+ * 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:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dropProtection):
+
+2009-01-06 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Added new API on AnimationController::numberOfActiveAnimations() to be used by DRT.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23126
+
+ Test: animations/animation-controller-drt-api.html
+
+ * WebCore.base.exp:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
+ (WebCore::AnimationController::numberOfActiveAnimations):
+ * page/animation/AnimationController.h:
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+ * page/animation/CompositeAnimation.h:
+
+2009-01-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Upstream 3 more files to get the WebCore-Chromium build a bit further.
+
+ * WebCore.scons:
+ * page/chromium/AccessibilityObjectChromium.cpp: Added.
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+ * page/chromium/AccessibilityObjectWrapper.h: Added.
+ (WebCore::AccessibilityObjectWrapper::~AccessibilityObjectWrapper):
+ (WebCore::AccessibilityObjectWrapper::attached):
+ (WebCore::AccessibilityObjectWrapper::accessibilityObject):
+ (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
+ * platform/chromium/PasteboardPrivate.h: Added.
+ (WebCore::PasteboardPrivate::):
+
+2009-01-06 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Tests: animations/simultaneous-start-left.html
+ animations/simultaneous-start-transform.html
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=22870
+
+ I added calls beginAnimationUpdate() and endAnimationUpdate() calls
+ to AnimationController. These are called by Document at the start
+ and end of the recalcStyle cycle. Right now, I'm just using the
+ beginAnimationUpdate() method to reset an animation time value.
+ The first time the animation time is accessed after this reset I set
+ it to the currentTime. So all animations in that cycle get the same
+ start time.
+
+ The test cases checked in test this, but in the case of the 'left'
+ test it actually doesn't make any difference in most cases. This is
+ because values are clamped to whole pixels, so the start times would
+ have to be pretty far off for the test to fail using the old
+ currentTime() model. Still, under really heavy load, it's possible for
+ the test to fail without these changes.
+
+ The 'transform' test is another story. It animates to the full resolution
+ of a floating point number, so the test fails miserably without this
+ fix.
+
+ * dom/Document.cpp:
+ (WebCore::Document::recalcStyle):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+ (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
+ (WebCore::AnimationBase::willNeedService):
+ (WebCore::AnimationBase::progress):
+ (WebCore::AnimationBase::goIntoEndingOrLoopingState):
+ (WebCore::AnimationBase::beginAnimationUpdateTime):
+ * page/animation/AnimationBase.h:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
+ (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime):
+ (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
+ (WebCore::AnimationController::updateAnimations):
+ (WebCore::AnimationController::beginAnimationUpdateTime):
+ (WebCore::AnimationController::beginAnimationUpdate):
+ (WebCore::AnimationController::endAnimationUpdate):
+ * page/animation/AnimationController.h:
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::animate):
+
+2009-01-06 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Bug 22858: Simplify make_names.pl code for avoiding multiple definitions or inclusions
+ https://bugs.webkit.org/show_bug.cgi?id=22858
+
+ I had introduced an awkward situation using hasCustomJSWrapper and
+ sometimes boolean parameter in order to ensure JS wrapper generated once
+ or header included once.
+
+ Simplified the code by using a %seenTag hash to detect multiple definitions
+ or inclusions and skipping it.
+
+ Also cleaned up a bit make_names.pl by using more explicit names and moving
+ code to where it belongs.
+
+ * dom/make_names.pl:
+ * html/HTMLTagNames.in: Necessary changes that were not detected by
+ the previous syntax but will be required for autogenerating HTMLElementFactory.
+
+2009-01-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a way for frame loader clients to always create a PluginDocument, regardless of
+ the real document MIME type.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::begin):
+ (WebCore::FrameLoader::shouldUsePlugin):
+ * loader/FrameLoaderClient.h:
+ (WebCore::FrameLoaderClient::shouldUsePluginDocument):
+
+2009-01-06 Dean Jackson <dino@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Extend Media Queries to cover transitions,
+ animations, transform-2d and transform-3d
+ http://webkit.org/specs/MediaQueriesExtensions.html
+ Note that the implementation uses -webkit- prefixes
+ even though the spec doesn't have them.
+ https://bugs.webkit.org/show_bug.cgi?id=22494
+
+ Tests: fast/media/mq-animation.html
+ fast/media/mq-transform-01.html
+ fast/media/mq-transform-02.html
+ fast/media/mq-transform-03.html
+ fast/media/mq-transform-04.html
+ fast/media/mq-transition.html
+
+ * css/MediaFeatureNames.h:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::animationMediaFeatureEval):
+ (WebCore::transitionMediaFeatureEval):
+ (WebCore::transform_2dMediaFeatureEval):
+ (WebCore::transform_3dMediaFeatureEval):
+
+2009-01-06 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Bring the Chromium-WebCore build closer to building
+ by upstreaming PlatformWidget.h add adding the JSC
+ plugin bridge files to the build.
+
+ * WebCore.scons:
+ * platform/chromium/PlatformWidget.h: Added.
+
+2009-01-06 Eric Seidel <eric@webkit.org>
+
+ Build fix only, no review.
+
+ Bring the Chromium-WebCore build back closer to building
+ by adding files from recent commits.
+
+ * WebCore.scons:
+
+2009-01-06 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6474973> REGRESSION: PLT ~2% slower due to 39465 (consolidate thread data)
+
+ I could not reproduce the slowdown on my PowerPC test machine, but the change should bring
+ performance back.
+
+ * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Don't use AtomicallyInitializedStatic.
+ Prior to r39465, it was only used for cached converters, which was necessary because the
+ first access to ICU or TEC one could happen on a secondary thread, but now they are all
+ initialized from ThreadGlobalData constructor.
+
+2009-01-06 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23129
+ Devirtualize Node::childNodes().
+
+2009-01-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed build fix.
+
+ Fix the Qt build with Qt 4.4.x, the HTTP-only cookie support was
+ added in Qt 4.5.
+
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::setCookies):
+ (WebCore::cookies):
+
+2009-01-06 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23133
+ Fix SVG disabled build. Move 'pointer-events' from SVGCSSPropertyNames.in to
+ CSSPropertyNames.in and move PointerEvents functions out of #if ENABLE(SVG)
+
+ NOTE: Property name fixes landed as part of r39648.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator EPointerEvents):
+ * css/CSSPropertyNames.in:
+ * css/SVGCSSPropertyNames.in:
+
+2009-01-06 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r39634): Fix build for non-SVG builds (Wx)
+
+ * css/CSSPropertyNames.in: Added 'pointer-events'.
+ * css/SVGCSSPropertyNames.in: Commented out pointer-events
+ since it's now a plain CSS property.
+
+2009-01-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Lars Knoll.
+
+ Added support for HTTP-only cookies to the Qt build.
+
+ * platform/qt/CookieJarQt.cpp:
+ (WebCore::setCookies): Don't set HTTP-only cookies through the DOM.
+ (WebCore::cookies): Don't return HTTP-only cookies to the DOM.
+
+2009-01-05 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23084
+ Avoid redundant AtomicString conversions
+
+ * dom/Node.cpp: Create an AtomicString early to avoid converting twice
+ (WebCore::Node::getElementsByTagNameNS):
+ * dom/QualifiedName.h: Use the appropriate AtomicString constructor instead of converting from a String
+
+2009-01-05 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=22985
+
+ Add an assertion that clip rects are being used when painting with the same
+ rootLayer that they were computed with.
+
+ Fix two issues detected by the assertion:
+
+ RenderLayer::updateClipRects() should not unconditionally update the clip rects
+ on its parent, but stop when reaching rootLayer (just like calculateClipRects()).
+
+ We need to pass the temporaryClipRects flag down through reflection painting
+ to handle the case of nested reflections.
+
+ Also use temporary clip rects in RenderTreeAsText, since that code does not
+ reset the painting root for transformed layers, so cached clip rects will not
+ match those used for painting.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::updateClipRects):
+ (WebCore::RenderLayer::clearClipRects):
+ * rendering/RenderLayer.h:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeLayers):
+
+2009-01-05 Adam Treat <adam.treat@torchmobile.com>
+
+ Fix the Qt build
+
+ * platform/graphics/qt/AffineTransformQt.cpp:
+ (WebCore::TransformationMatrix::TransformationMatrix):
+
+2009-01-05 Mark Rowe <mrowe@apple.com>
+
+ Fix the build some more.
+
+ * platform/graphics/cairo/AffineTransformCairo.cpp:
+ (WebCore::TransformationMatrix::TransformationMatrix):
+
+2009-01-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Fix Cairo/Gtk build
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::putImageData):
+
+2009-01-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Rename AffineTransform to TransformationMatrix in
+ preparation for future enhancements (non-affine matrices)
+
+ https://bugs.webkit.org/show_bug.cgi?id=22943
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * platform/graphics/transforms/AffineTransform.cpp: Removed.
+ * platform/graphics/transforms/AffineTransform.h: Removed.
+ * platform/graphics/transforms/TransformationMatrix.cpp: Copied from WebCore/platform/graphics/transforms/AffineTransform.cpp.
+ * platform/graphics/transforms/TransformationMatrix.h: Copied from WebCore/platform/graphics/transforms/AffineTransform.h.
+ * lots of other files with s/AffineTransform/TransformationMatrix/g
+
+2008-01-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Implement 'pointer-events' for HTML content. This involved
+ adding a new value 'auto' which behaves as 'visiblePainted'
+ in SVG content.
+
+ Moved the property out of the SVG CSS code and into
+ the general CSS (both parsing and RenderStyle).
+
+ Changes to the hit testing functionality of the Render tree,
+ specifically the nodeAtPoint methods. Where they used to
+ test for visibility, they now use a helper function defined
+ on base classes (RenderObject and InlineBox) that checks both
+ visibility and pointer-events.
+
+ https://bugs.webkit.org/show_bug.cgi?id=11395
+
+ Tests: fast/events/pointer-events-2.html
+ fast/events/pointer-events.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator EPointerEvents):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/SVGCSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
+ * css/SVGCSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applySVGProperty):
+ * manual-tests/pointer-events.html: Added.
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::nodeAtPoint):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::visibleToHitTesting):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::nodeAtPoint):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::nodeAtPoint):
+ * rendering/PointerEventsHitRules.cpp:
+ (WebCore::PointerEventsHitRules::PointerEventsHitRules):
+ * rendering/PointerEventsHitRules.h:
+ (WebCore::PointerEventsHitRules::):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::nodeAtPoint):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::nodeAtPoint):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::visibleToHitTesting):
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::nodeAtPoint):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::nodeAtPoint):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::nodeAtPoint):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::nodeAtPoint):
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ (WebCore::InheritedFlags::setBitDefaults):
+ (WebCore::InheritedFlags::pointerEvents):
+ (WebCore::InheritedFlags::setPointerEvents):
+ (WebCore::InheritedFlags::initialPointerEvents):
+ * rendering/style/RenderStyleConstants.h:
+ (WebCore::):
+ * rendering/style/SVGRenderStyle.h:
+ (WebCore::SVGRenderStyle::InheritedFlags::operator==):
+ (WebCore::SVGRenderStyle::setBitDefaults):
+ * rendering/style/SVGRenderStyleDefs.h:
+ * css/CSSValueKeywords.in:
+ * css/SVGCSSValueKeywords.in:
+
+2009-01-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Fix Cairo/Gtk build
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::getImageData):
+
+2009-01-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ CanvasPixelArray performance is too slow
+ <https://bugs.webkit.org/show_bug.cgi?id=23123>
+
+ Remove the WebCore CanvasPixelArray implementation and replace
+ CPA usage with JSC::ByteArray. Replace the JSCanvasPixelArray
+ wrapper with an explicitly instantiated JSByteArray put on the
+ JSImageData object as an ordinary ReadOnly, DontDelete property.
+
+ * DerivedSources.make:
+ * ForwardingHeaders/runtime/ByteArray.h: Added.
+ * ForwardingHeaders/runtime/JSByteArray.h: Added.
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSCanvasPixelArrayCustom.h: Removed.
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * html/CanvasPixelArray.cpp: Removed.
+ * html/CanvasPixelArray.h: Removed.
+ * html/CanvasPixelArray.idl: Removed.
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::createEmptyImageData):
+ * html/ImageData.cpp:
+ (WebCore::ImageData::ImageData):
+ * html/ImageData.h:
+ (WebCore::ImageData::data):
+ * html/ImageData.idl:
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::getImageData):
+ (WebCore::ImageBuffer::putImageData):
+
+2009-01-05 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Add notification for contentsSizeChanged which the Qt API will
+ introduce.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::contentsSizeChanged):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::contentsSizeChanged):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setContentsSize):
+ * page/FrameView.h:
+ * platform/HostWindow.h:
+ * platform/ScrollView.h:
+
+2009-01-05 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * plugins/PluginView.h:
+ (WebCore::PluginManualLoader::~PluginManualLoader):
+
+2009-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ Add an abstract PluginManualLoader class and make PluginView inherit from it.
+
+ Add some error checking that currently exists in WebKit (but not for long!)
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::didReceiveResponse):
+ (WebCore::PluginView::didReceiveData):
+ (WebCore::PluginView::didFinishLoading):
+ (WebCore::PluginView::didFail):
+ * plugins/PluginView.h:
+
+2009-01-05 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes FrameView to respect the state of scrollbarmode when it is explicitly
+ set programatically via a webkit API.
+
+ * loader/FrameLoaderClient.cpp:
+ (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
+ * loader/FrameLoaderClient.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::initScrollbars):
+ (WebCore::FrameView::updateDefaultScrollbarState):
+ * page/FrameView.h:
+
+2009-01-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 23109: REGRESSION: Backwards search in a long document matches incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=23109
+
+ Test: fast/text/find-backwards.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::SearchBuffer::append): Fix incorrect size passed to memcpy.
+ (WebCore::SearchBuffer::search): Handle case where we have an empty buffer but
+ we're at a break; must not try to search because ICU will give us an error.
+ Fix incorrect size passed to memcpy and memmove.
+ (WebCore::findPlainText): Fix case where we found a match and need to search
+ again because we want to find the last match. We need to try again without
+ adding any more text or handling the break before moving on.
+
+2009-01-05 Adam Treat <adam.treat@torchmobile.com>
+
+ Fix the Qt build
+
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::put):
+
+2009-01-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Fix platforms that don't have Workers enabled.
+
+ * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Create ThreadGlobalData in
+ two stages, so that EventNames constructor can access the just-created atomic string table.
+ This matches what happens in ThreadSpecific case.
+
+2009-01-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Suggested by Dave Levin.
+
+ Mac release build fix.
+
+ * WebCore.base.exp: Remove ThreadGlobalData::eventNames(), which is now inline.
+
+2009-01-05 Darin Adler <darin@apple.com>
+
+ * dom/Document.cpp: Fix build. Oops again.
+
+2009-01-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fix hang whenever following an anchor.
+
+ * dom/Document.cpp:
+ (WebCore::Document::findAnchor): Oops!
+
+2009-01-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23073
+ <rdar://problem/6471129> Workers crash on Windows Release builds
+
+ * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::ThreadGlobalData):
+ * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::eventNames):
+ Now that ThreadSpecific sets up the pointer before invoking data constructor, we can
+ initialize EventNames right away.
+
+2009-01-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Bug 23106: HTMLFormCollection::namedItem ignores caseSensitive argument
+ https://bugs.webkit.org/show_bug.cgi?id=23106
+
+ This led me to a bunch of dead code. It turns out that HTML collections
+ were carrying the case-insensitive code just so they could be used to
+ find anchors, something we can do more simply and efficiently without
+ creating a DOM HTMLCollection object.
+
+ No behavior change. Just adding a new function findAnchor function and
+ removing some dead code.
+
+ * dom/Document.cpp:
+ (WebCore::Document::findAnchor): Added.
+ * dom/Document.h: Ditto.
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::accessKey): Take and return AtomicString
+ references for better efficiency.
+ (WebCore::HTMLAnchorElement::setAccessKey): Ditto.
+ (WebCore::HTMLAnchorElement::charset): Ditto.
+ (WebCore::HTMLAnchorElement::setCharset): Ditto.
+ (WebCore::HTMLAnchorElement::coords): Ditto.
+ (WebCore::HTMLAnchorElement::setCoords): Ditto.
+ (WebCore::HTMLAnchorElement::setHref): Ditto.
+ (WebCore::HTMLAnchorElement::hreflang): Ditto.
+ (WebCore::HTMLAnchorElement::setHreflang): Ditto.
+ (WebCore::HTMLAnchorElement::name): Ditto.
+ (WebCore::HTMLAnchorElement::setName): Ditto.
+ (WebCore::HTMLAnchorElement::rel): Ditto.
+ (WebCore::HTMLAnchorElement::setRel): Ditto.
+ (WebCore::HTMLAnchorElement::rev): Ditto.
+ (WebCore::HTMLAnchorElement::setRev): Ditto.
+ (WebCore::HTMLAnchorElement::shape): Ditto.
+ (WebCore::HTMLAnchorElement::setShape): Ditto.
+ (WebCore::HTMLAnchorElement::setTarget): Ditto.
+ (WebCore::HTMLAnchorElement::type): Ditto.
+ (WebCore::HTMLAnchorElement::setType): Ditto.
+ * html/HTMLAnchorElement.h: Ditto.
+
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::checkForNameMatch): Changed argument to an
+ AtomicString and removed the caseSensitive boolean, since we're now always
+ case sensitive.
+ (WebCore::HTMLCollection::namedItem): Ditto.
+ (WebCore::HTMLCollection::nextNamedItem): Ditto.
+ * html/HTMLCollection.h: Ditto.
+ * html/HTMLFormCollection.cpp:
+ (WebCore::HTMLFormCollection::getNamedItem): Ditto.
+ (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
+ (WebCore::HTMLFormCollection::nextNamedItemInternal): Ditto.
+ (WebCore::HTMLFormCollection::namedItem): Ditto.
+ (WebCore::HTMLFormCollection::nextNamedItem): Ditto.
+ * html/HTMLFormCollection.h: Ditto.
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::namedItem): Ditto.
+ * html/HTMLSelectElement.h: Ditto.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::gotoAnchor): Use the new findAnchor function.
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::internalLinkElement): Ditto.
+
+2009-01-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Bug 23104: minor mistakes in init functions for animation and transition events
+ https://bugs.webkit.org/show_bug.cgi?id=23104
+
+ Test: fast/events/init-events.html
+
+ Also fixed two StorageEvent problems the test case uncovered:
+
+ Made document.createEvent("StorageEvent") work.
+ Allow null values for StorageEvent.oldValue and StorageEvent.newValue.
+
+ * dom/Document.cpp:
+ (WebCore::Document::createEvent): Sorted alphabetically by the name of the event
+ class. Added StorageEvent.
+
+ * dom/UIEvent.idl: Fixed typo in a comment.
+
+ * dom/WebKitAnimationEvent.cpp:
+ (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent): Use all the arguments.
+ * dom/WebKitTransitionEvent.cpp:
+ (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent): Ditto.
+
+ * storage/StorageEvent.idl: Use the ConvertNullToNullString keyword on the
+ arguments to initStorageEvent so it can create events with null values for the
+ oldValue and newValue, just like the real storage events. Note that the properties
+ already had ConvertNullStringTo=Null, so this is just the other half of that.
+
+2009-01-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Bug 23102: turn on unused parameter warnings in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=23102
+
+ First step: Fix the simple cases where we can just remove an argument name.
+ Also made a few more things protected and private.
+
+ * many files
+
+2009-01-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23115
+ Create a version of ASSERT for use with otherwise unused variables
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::verifySchemaVersion): Use the new ASSERT_UNUSED macro.
+
+2009-01-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Non-Mac build fix.
+
+ * loader/appcache/ApplicationCacheStorage.cpp: Include wtf/StringExtras.h for snprintf.
+
+2009-01-05 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Remove unnecessary methods from EmptyFrameLoaderClient
+
+ * loader/EmptyClients.h:
+
+2009-01-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23077
+ Make application cache use SQLite built-in user_version
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::verifySchemaVersion): Changed to track versions with
+ PRAGMA user_version.
+
+ * loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::):
+ Used the occasion to get rid of the hole in bitmask that was a leftover from opportunistic
+ cache entries.
+
+2009-01-04 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23084
+ Avoid redundant AtomicString conversions
+
+ * dom/Node.cpp:
+ (WebCore::Node::getElementsByTagName): Pass starAtom instead of "*"
+ (WebCore::Node::getElementsByTagNameNS): Take an AtomicString for the namespace URI
+ (WebCore::Node::isDefaultNamespace): Ditto
+ (WebCore::Node::lookupPrefix): Ditto
+ (WebCore::Node::lookupNamespacePrefix): Ditto
+ * dom/Node.h: Ditto
+
+2009-01-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 23105: canvas setFillColor function ignores alpha argument
+ https://bugs.webkit.org/show_bug.cgi?id=23105
+
+ Test: fast/canvas/set-colors.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setFillColor): Pass alpha value through instead
+ of ignoring it and always passing 1.
+
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyStrokeColor): Fix spelling of transparent in comments.
+ (WebCore::CanvasStyle::applyFillColor): Ditto.
+
+2009-01-04 Darin Adler <darin@apple.com>
+
+ Bug 23086: REGRESSION(r39540/r39541): Windows build fails due to ICU errors
+ https://bugs.webkit.org/show_bug.cgi?id=23086
+
+ * editing/TextIterator.cpp: Check UCONFIG_NO_COLLATION and don't compile
+ in the new search path if it's 0.
+
+2009-01-04 David Kilzer <ddkilzer@apple.com>
+
+ Don't install *.idl and *.in files as resources
+
+ Reviewed by Oliver Hunt.
+
+ Don't install these files as resources in the WebCore framework:
+ - WMLAttributeNames.in
+ - WMLTagNames.in
+ - WorkerContext.idl
+ - WorkerLocation.idl
+ - WorkerNavigator.idl
+
+ * WebCore.xcodeproj/project.pbxproj: Removed resources.
+
+2009-01-04 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=23090
+
+ If an object gets a Layout hint, and the style change will result in
+ the creation of a RenderLayer, then we need to repaint the old position
+ of the object. This was done for transform, but we have to test opacity too.
+
+ Test: fast/repaint/create-layer-repaint.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+
+2009-01-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 23103: Safari's auto-fill no longer works for <select> elements
+ https://bugs.webkit.org/show_bug.cgi?id=23103
+ rdar://problem/6472061
+
+ * bindings/objc/DOMHTML.mm:
+ (-[DOMHTMLSelectElement _activateItemAtIndex:]): Implemented this.
+
+2009-01-04 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Add fixedLayoutSize feature to ScrollView to allow for controlling the
+ layout beyond the constraint of the current viewports dynamic size
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::heightMediaFeatureEval):
+ (WebCore::widthMediaFeatureEval):
+ * dom/Element.cpp:
+ (WebCore::Element::clientWidth):
+ (WebCore::Element::clientHeight):
+ * loader/FrameLoaderClient.cpp:
+ (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
+ * loader/FrameLoaderClient.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::layoutWidth):
+ (WebCore::ScrollView::layoutHeight):
+ (WebCore::ScrollView::fixedLayoutSize):
+ (WebCore::ScrollView::setFixedLayoutSize):
+ (WebCore::ScrollView::useFixedLayout):
+ (WebCore::ScrollView::setUseFixedLayout):
+ * platform/ScrollView.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::viewHeight):
+ (WebCore::RenderView::viewWidth):
+ * rendering/RenderView.h:
+
+2009-01-03 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by Darin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22660
+ SVG elements that are moved are nor fully invalidated/earsed
+
+ Mark the SVG root as needing a layout when its position changes.
+
+ Tests: svg/custom/circle-move-invalidation.svg
+
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::position):
+ * rendering/RenderSVGRoot.h:
+
+2009-01-03 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix.
+
+ * loader/FrameLoader.h:
+
+2009-01-02 Cary Clark <caryclark@google.com>
+
+ Reviewed and landed by Darin Adler.
+
+ Bug 22963: write icons before reading them
+ https://bugs.webkit.org/show_bug.cgi?id=22963
+
+ Reverse the order in the icon database main thread loop to
+ write the pending icons to the database before trying
+ to read any requested icons. This ensures that a requested icon
+ has the correct data when read.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::syncThreadMainLoop):
+
+2009-01-02 Darin Adler <darin@apple.com>
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadItem): One small thing I forgot in my last check-in.
+ This cuts down on the number of hash table operations during loading.
+
+2009-01-02 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed and landed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23025
+ DOMTimer lifetime cleanup: timeoutMap methods on Document now do not delete the timer.
+ Instead, all 3 places that delete timers do it directly calling 'delete' and then timer's dtor removes the ID from the timeoutMap.
+ Note that in case the context is destroyed and timers are deleted at once, the check in ~DOMTimer() prevents
+ unnecessary HashMap remove in case the Document is being destroyed.
+
+ * bindings/js/DOMTimer.cpp:
+ (WebCore::DOMTimer::~DOMTimer): removes the id from the timeoutMap.
+ (WebCore::DOMTimer::install):
+ (WebCore::DOMTimer::removeById): simply uses 'delete this'.
+ (WebCore::DOMTimer::fired): same.
+ (WebCore::DOMTimer::contextDestroyed): same.
+ * dom/Document.cpp:
+ (WebCore::Document::removeTimeout): now it only removes the id from the map, does not delete the timer.
+
+2009-01-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
+ inside its web view when resizing its window
+ https://bugs.webkit.org/show_bug.cgi?id=23072
+ rdar://problem/6368028
+
+ The first attempt at fixing this did not work.
+ This time I was able to reproduce the bug and test the fix.
+
+ Bug 11212: REGRESSION: Activity window doesn't always list all files until refresh
+ https://bugs.webkit.org/show_bug.cgi?id=11212
+ rdar://problem/4959702
+
+ I had to fix this second bug because otherwise the WebKit code to trigger the first
+ fix didn't run.
+
+ Also fixes memory use that kept growing as we maintained a set of all URLs loaded in
+ a particular frame. Bad idea! It's bad enough that we do it for each document, but
+ the old version kept the set around forever as you moved from one document to the next.
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseMappedAttribute): Change this so that we allow
+ turning off scrolling when the quirk is enabled. We just don't allow turning it on.
+ This fixes one of the two problems with the initial patch; the other fix is in WebKit.
+
+ * loader/DocumentLoader.h: Moved didTellClientAboutLoad and haveToldClientAboutLoad
+ here from FrameLoader. The old way meant that a given frame would forever remember
+ the URL of any resources loaded in that frame and never send any "loaded from cache"
+ client calls about those URLs.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadResourceSynchronously): Removed call to didTellCientAboutLoad.
+ This is now handled by dispatchWillSendRequest, which is safer since that's the actual
+ function that tells the client about the load.
+ (WebCore::FrameLoader::loadedResourceFromMemoryCache): Changed calls to
+ haveToldClientAboutLoad and didTellClientAboutLoad to call the document loader.
+ Also removed the call in the case where we don't load from the cache, since
+ dispatchWillSendRequest now takes care of it.
+ (WebCore::FrameLoader::dispatchWillSendRequest): Put calls to didTellClientAboutLoad
+ here. Call it both on the URL we pass in and the URL the client returns; we won't
+ tell the client about either if it's loaded from the memory cache.
+
+ * loader/FrameLoader.h: Removed didTellClientAboutLoad, haveToldClientAboutLoad, and
+ m_urlsClientKnowsAbout.
+
+ * loader/SubresourceLoader.cpp: Removed unneeded load function that called
+ didTellClientAboutLoad. That's now taken care of in dispatchWillSendRequest.
+
+ * loader/SubresourceLoader.h: Removed load function. Also made all members private
+ except for create and clearClient.
+
+2009-01-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=23082
+
+ Fix GIF animation by ensuring that the signature of
+ startAnimation() in the base class matches the method in BitmapImage.
+
+ Test: fast/backgrounds/animated-gif-as-background.html
+
+ * platform/graphics/Image.h:
+ (WebCore::Image::startAnimation):
+
+2009-01-02 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22699
+ Enable NodeList caching for getElementsByTagName
+
+ test: fast/dom/getelementsbytagnamens-mixed-namespaces.html
+
+ * dom/Document.cpp:
+ (WebCore::FormElementKeyHash::hash): Use WTF::stringHashingStartValue
+ * dom/Node.cpp:
+ (WebCore::Node::getElementsByTagNameNS): Ensure rare data and add a node list cache
+ (WebCore::NodeListsNodeData::invalidateCaches): Invalidate the tag name node list cache as well as the others
+ (WebCore::NodeListsNodeData::isEmpty): Check the tag name node list cache as well as the others
+ * dom/NodeRareData.h: Add m_tagNodeListCaches
+ * dom/QualifiedName.cpp:
+ * dom/QualifiedName.h: Move QNameHash to the header, make it work on QualifiedNames, and rename to QualifiedNameHash
+ * dom/StyledElement.cpp:
+ (WebCore::MappedAttributeHash::hash): Use WTF::stringHashingStartValue
+ * dom/TagNodeList.cpp:
+ (WebCore::TagNodeList::TagNodeList): Add a NodeList cache argument
+ * dom/TagNodeList.h:
+ (WebCore::TagNodeList::create): Add a NodeList cache argument
+ * platform/text/StringHash.h:
+ (WebCore::CaseFoldingHash::hash): Use WTF::stringHashingStartValue
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::TextEncodingNameHash::hash): Use WTF::stringHashingStartValue
+
+2009-01-02 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417>
+ Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale
+
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::calcReplacedWidth): Multiply aspect ratio width by style()->effectiveZoom()
+ (WebCore::RenderVideo::calcReplacedHeight): Multiply aspect ratio height by style()->effectiveZoom()
+
+2009-01-02 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r39552): Add mediaControls.css to other build files
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-01-02 David Kilzer <ddkilzer@apple.com>
+
+ Try to fix Wx build after r39427
+
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::strokeBoundingRect): Added stub.
+
+2009-01-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/6471356> Failed assertion on quit
+
+ * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ Only assert that empty string are all removed on secondary threads.
+
+2009-01-02 David Kilzer <ddkilzer@apple.com>
+
+ Bug 23081: These files are no longer part of the KDE libraries
+
+ <https://bugs.webkit.org/show_bug.cgi?id=23081>
+
+ Reviewed by Darin Adler.
+
+ Removed "This file is part of the KDE libraries" comment from
+ source files. Added or updated Apple copyrights as well.
+
+ No tests since there are only changes to comments.
+
+ * bridge/testbindings.cpp:
+ * html/HTMLEntityNames.gperf:
+ * loader/Cache.h:
+ * loader/CachedCSSStyleSheet.h:
+ * loader/CachedResourceClient.h:
+ * loader/CachedResourceClientWalker.cpp:
+ * loader/CachedResourceClientWalker.h:
+ * loader/CachedScript.cpp:
+ * loader/CachedScript.h:
+ * loader/CachedXBLDocument.cpp:
+ * loader/CachedXBLDocument.h:
+ * loader/CachedXSLStyleSheet.cpp:
+ * loader/CachedXSLStyleSheet.h:
+ * rendering/GapRects.h:
+ * xml/XMLSerializer.cpp:
+
+2009-01-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ Use an OwnPtr for m_chromeClient.
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::~SVGImage):
+ (WebCore::SVGImage::dataChanged):
+ * svg/graphics/SVGImage.h:
+
+2009-01-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=22981
+
+ Repaints inside of an SVGImage were thrown on the floor,
+ which broke incremental painting due to loading, or SVG animation.
+ Fix this by assigning the SVGImage a ChromeClient subclass that passes
+ along repaints via a new method on ImageObserver, which also takes
+ a rect parameter for the changed rect, allowing incremental repaints.
+ Fix RenderImage::imageChanged to take advantage of this changedRect to
+ only repaint the changed parts of the image.
+
+ This also enables incremental painting for canvas-as-image, so
+ add tests for that too.
+
+ Tests: fast/backgrounds/animated-svg-as-background.html
+ fast/backgrounds/animated-svg-as-mask.html
+ fast/canvas/canvas-as-image-incremental-repaint.html
+ fast/canvas/canvas-as-image.html
+ fast/images/animated-svg-as-image.html
+
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::canvasChanged):
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::notifyObservers):
+ (WebCore::CachedImage::data):
+ (WebCore::CachedImage::changedInRect):
+ * loader/CachedImage.h:
+ * loader/CachedResourceClient.h:
+ (WebCore::CachedResourceClient::imageChanged):
+ * platform/graphics/ImageObserver.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::imageChanged):
+ * rendering/RenderBox.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::imageChanged):
+ * rendering/RenderImage.h:
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::imageChanged):
+ * rendering/RenderListMarker.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::imageChanged):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::imageChanged):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::imageChanged):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::imageChanged):
+ * rendering/RenderScrollbarPart.h:
+ * rendering/RenderTableCol.cpp:
+ (WebCore::RenderTableCol::imageChanged):
+ * rendering/RenderTableCol.h:
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::imageChanged):
+ * rendering/RenderTableRow.h:
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::imageChanged):
+ * rendering/RenderTableSection.h:
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImageChromeClient::SVGImageChromeClient):
+ (WebCore::SVGImageChromeClient::image):
+ (WebCore::SVGImageChromeClient::chromeDestroyed):
+ (WebCore::SVGImageChromeClient::repaint):
+ (WebCore::SVGImage::SVGImage):
+ (WebCore::SVGImage::~SVGImage):
+ (WebCore::SVGImage::dataChanged):
+ * svg/graphics/SVGImage.h:
+
+2009-01-02 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=23043
+
+ Pull media controls css out of html4.css into separate file. Don't generate
+ wml, svg, or media css globals unless the feature is enabled.
+
+ * DerivedSources.make:
+ Don't include css for unused features.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ include mediaControls.css
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForElement):
+ don't parse or add media css unless VIDEO feature is enabled and the target
+ element is video or audio
+
+ * css/html4.css:
+ moved media controls css to mediaControls.css
+
+ * css/mediaControls.css: Added.
+
+2009-01-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23022
+ Fix multiple issues with appcache online whitelist handling
+
+ Test: http/tests/appcache/online-whitelist.html
+
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::isURLInOnlineWhitelist): Test whitelist entries as prefixes,
+ making it possible to use them for CGI invocation (as required by HTML5).
+
+ * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
+ Re-ordered checks, so that resources that are cached, but are also listed in online whitelist
+ are loaded from the cache. This is required by HTML5, although Firefox doesn't match.
+
+ * loader/appcache/ManifestParser.cpp:
+ (WebCore::parseManifest):
+ * loader/appcache/ManifestParser.h:
+ * loader/appcache/ApplicationCache.h:
+ (WebCore::ApplicationCache::onlineWhitelist):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::store):
+ (WebCore::ApplicationCacheStorage::loadCache):
+ Changed online whitelist to be a vector of URLs, which is better suited for the new algorithm.
+
+2009-01-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
+ https://bugs.webkit.org/show_bug.cgi?id=23072
+ rdar://problem/6368028
+
+ * WebCore.base.exp: Updated.
+ * WebCore.xcodeproj/project.pbxproj: Mark HTMLHeadElement.h Private so it can be used in WebKit.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document): Initialize m_frameElementsShouldIgnoreScrolling to false.
+ * dom/Document.h: Added setFrameElementsShouldIgnoreScrolling, frameElementsShouldIgnoreScrolling,
+ and m_frameElementsShouldIgnoreScrolling.
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseMappedAttribute): Don't allow changes to the scrolling attribute
+ to affect the scrolling mode if frameElementsShouldIgnoreScrolling() returns true. This is only
+ triggered on Mac OS X when running the Dictionary application.
+
+2009-01-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23036
+ <rdar://problem/6451666> Implement AppCache fallback entries (23036)
+
+ Test: http/tests/appcache/fallback.html
+
+ * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously): Use fallback
+ entries if normal loading fails.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Do not prevent normal
+ loading for resources that match fallback namespaces - they are only loaded from the cache
+ if that fails.
+ (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Get a fallback entry for
+ resource from associated appcache, or from passed in one, if any.
+ (WebCore::DocumentLoader::scheduleLoadFallbackResourceFromApplicationCache): If a fallback
+ entry for resourse exists, add it to pending substitute loads.
+
+ * loader/DocumentLoader.h: Added new functions for loading fallback data for resources.
+
+ * loader/ResourceLoader.h:
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache): This function
+ is called when normal loading fails (which includes network failures, 4xx and 5xx responses,
+ and cross-origin redirects) to load appcache fallback data instead. It can use either the
+ cache that is associated with the browsing context, or a custom one if association is yet
+ to take place.
+ (WebCore::ResourceLoader::willSendRequest): Try using fallback data.
+ (WebCore::ResourceLoader::didReceiveResponse): Ditto.
+ (WebCore::ResourceLoader::didFail): Ditto.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse): Locate an appropriate cache and load
+ fallback data from it if loading fails. The browsing context may still be associated with
+ its previous document here, so the cache to load from must be passed explicitly.
+ (WebCore::MainResourceLoader::didFail): Ditto.
+ (WebCore::MainResourceLoader::load): Remove unnecessary check and FIXME.
+
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::setFallbackURLs):
+ (WebCore::ApplicationCache::urlMatchesFallbackNamespace):
+ * loader/appcache/ApplicationCache.h:
+ (WebCore::ApplicationCache::fallbackURLs):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::store):
+ (WebCore::ApplicationCacheStorage::loadCache):
+ (WebCore::ApplicationCacheStorage::storeCopyOfCache):
+ * loader/appcache/ApplicationCacheStorage.h:
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
+ (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
+ * loader/appcache/ApplicationCacheGroup.h:
+ Implement fallback map saving and loading, pass it to the cache.
+
+ * loader/appcache/ManifestParser.h: Use a correct data structure for fallback map - keys
+ are matched by prefix, so HAshMap cannot be used.
+
+ * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Fix bugs in fallback section
+ parsing.
+
+2009-01-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6450530> WebCore::FontPlatformData should not leak
+
+ Whoops, previous patch should also have fixed the font referencing in
+ the constructor.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/mac/FontPlatformDataMac.mm:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2009-01-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/6450530> WebCore::FontPlatformData should not leak
+
+ Make sure we only adopt the new font, rather than re-referencing (and so leaking).
+
+ * platform/graphics/mac/FontPlatformDataMac.mm:
+ (WebCore::FontPlatformData::setFont):
+
+2009-01-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 23071: REGRESSION (r39536): New test failures after committing patch in bug 23051 (ICU search)
+ https://bugs.webkit.org/show_bug.cgi?id=23071
+
+ Also fix some things that Dan suggested during review of the ICU search patch that I forgot
+ the first time around.
+
+ * editing/TextIterator.cpp: Use ICU search on all platforms that use ICU, now that
+ we've double checked it works everywhere, removing HAVE_ICU_SEARCH entirely.
+ Removed unused m_atBreak data member from the non-ICU code path.
+ (WebCore::TextIterator::TextIterator): Move null check up.
+ (WebCore::TextIterator::handleTextBox): Fix mistake that made the iterator include
+ collapsed whitespace. This was left over from an earlier version of the patch.
+ (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
+ Move null check up.
+
+2009-01-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler, Oliver Hunt
+
+ https://bugs.webkit.org/show_bug.cgi?id=23065
+
+ Enable incremental painting of canvas. This turns incremental painting
+ back on, and fixes issues with stroke width and miters, calling willDraw()
+ for strokeText and fillText, and taking shadows into account.
+
+ Test: fast/canvas/canvas-incremental-repaint.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasStrokeStyleApplier::CanvasStrokeStyleApplier):
+ (WebCore::CanvasStrokeStyleApplier::strokeStyle):
+ (WebCore::CanvasRenderingContext2D::stroke):
+ (WebCore::CanvasRenderingContext2D::willDraw):
+ (WebCore::CanvasRenderingContext2D::putImageData):
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * html/CanvasRenderingContext2D.h:
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::willDraw):
+ * platform/graphics/FloatRect.h:
+ (WebCore::mapRect): new method to map a rect contained
+ in one rect to an equivalent rect inside another rect.
+
+2008-12-29 Konstantin Käfer <kkaefer@gmail.com>
+
+ Reviewed by Tim Hatcher.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=17229
+ <rdar://problem/5732829> Inspector should show properties of all JS objects in Console
+
+ Prints objects not as plain text but makes them expandable so that
+ they can be inspected.
+
+ * inspector/front-end/Console.js:
+ (): added a parameter "inline" to the WebInspector.Console._format function which indicates
+ whether the object is printed in the context of another string (with console.log()) or
+ as sole element.
+ (.): objects and DOM nodes are now printed in an expandable form when they are printed alone
+ (i.e. not in the context of a console.log() string) so that they can be inspected.
+ * inspector/front-end/PropertiesSection.js:
+ (WebInspector.PropertiesSection.prototype.set title): Allow DOM Nodes as title instead of strings
+ in that case, the Node is inserted into the title instead of the string value of the passed
+ object. This is used for displaying linkified titles, for example when inspecting DOM nodes,
+ the syntax highlighted HTML representation is shown instead of the plain source code.
+ * inspector/front-end/inspector.css: correct the offsetParent for the expandable object inspector.
+
+2009-01-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
+ https://bugs.webkit.org/show_bug.cgi?id=23051
+ rdar://problem/3574497
+
+ Test: editing/execCommand/findString-diacriticals.html
+
+ * editing/TextIterator.cpp: Changed the CircularSearchBuffer class to have a new
+ name, since it doesn't always use a circular buffer any more. Changed the interface
+ so it can work well in the new chunky comparison mode for ICU search, and also
+ added private data members for both the ICU-search and non-ICU-search code paths.
+ (WebCore::TextIterator::TextIterator): Use the versions of the Range functions
+ that don't take an exception code.
+ (WebCore::TextIterator::handleTextBox): Added a special case to handle the position
+ of a collapsed-away space better. This is not needed for search mechanism, but was
+ helpful in an earlier version of this patch, and is still an improvement.
+ (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Use the
+ versions of the Range functions that don't take an exception code.
+ (WebCore::CharacterIterator::range): Ditto.
+ (WebCore::characterSubrange): Added. Helper function used in both places below where
+ we want to convert a range and character offsets into a subrange.
+ (WebCore::WordAwareIterator::advance): Use the versions of the Range functions that
+ don't take an exception code.
+ (WebCore::createSearcher): Added.
+ (WebCore::searcher): Added.
+ (WebCore::lockSearcher): Added.
+ (WebCore::unlockSearcher): Added.
+ (WebCore::SearchBuffer::SearchBuffer): Added.
+ (WebCore::SearchBuffer::~SearchBuffer): Added.
+ (WebCore::SearchBuffer::append): Added.
+ (WebCore::SearchBuffer::atBreak): Added.
+ (WebCore::SearchBuffer::reachedBreak): Added.
+ (WebCore::SearchBuffer::search): Added.
+ (WebCore::SearchBuffer::length): Added.
+ (WebCore::TextIterator::subrange): Changed to call the characterSubrange
+ function above.
+ (WebCore::TextIterator::rangeFromLocationAndLength): Use the versions of the
+ Range functions that don't take an exception code. Also tweak some other details
+ of the code.
+ (WebCore::isAllCollapsibleWhitespace): Added.
+ (WebCore::collapsedToBoundary): Added.
+ (WebCore::findPlainText): Rewrote to use new interface and streamline the
+ logic a bit.
+
+ Add the relevant files in the icu directory. As icu/README says, the "icu"
+ directory is really just for Mac OS X, where we have the ICU library but not
+ the headers installed. It should be moved inside platform/mac at some point
+ to make this more clear (and the copy in JavaScriptCore should be moved
+ somewhere similar for the same reason).
+
+ * icu/unicode/ucoleitr.h: Added.
+ * icu/unicode/usearch.h: Added.
+
+2009-01-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ CrashTracer: [REGRESSION] 1090 crashes in Safari at com.apple.JavaScriptCore: KJS::JSGlobalObject::stopTimeoutCheck + 0
+ <rdar://problem/5821130>
+
+ This was caused by a plugin instance calling into JS code that removed the plugin
+ object. This fix is to cache the global object locally in a ProtectedPtr so we don't
+ need to rely on the continued existence of the plugin instance.
+
+ * bridge/NP_jsobject.cpp:
+ (_NPN_InvokeDefault):
+ (_NPN_Invoke):
+ (_NPN_Evaluate):
+ (_NPN_Construct):
+
+2008-12-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22964
+
+ MinGW build failure.
+
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::containsCharacters):
+
+2008-12-31 Alexander V. Butenko <alex@digiqube.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22750
+ [gtk] webkit up to r39121 crash on image urls like
+ http:///sitename.com
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::start):
+
+2008-12-31 Hiroyuki Ikezoe <poincare@ikezoe.net>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=18310
+
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::determinePitch): Do not invoke
+ isFixedPitch() when the font is a custom font.
+
+2008-12-31 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ More work on Bug 3781: Animation via canvas could be faster
+ <https://bugs.webkit.org/show_bug.cgi?id=3781>
+
+ Make use of the fast path parsing of color strings that Color
+ uses. This improves performance of '#rgb', '#rrggbb', etc and
+ named (eg. 'green') colors.
+
+ Improves frame rate of test by around 40%
+
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyStrokeColor):
+ (WebCore::CanvasStyle::applyFillColor):
+
+2008-12-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=23042
+
+ Rather than doing a repaint() inside of computeAbsoluteRepaintRect()
+ when there is a reflection, compute the location of the rect inside
+ the reflection and take the union of the unreflected and reflected rects.
+
+ Test: fast/repaint/reflection-redraw.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeAbsoluteRepaintRect):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::reflectedRect):
+ * rendering/RenderObject.h:
+
+2008-12-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ - fix <rdar://problem/6469944> REGRESSION(3.2.1-ToT): Repro crash in WebCore::HTMLInputElement::updatePlaceholderVisibility opening http://billshrink.com
+
+ Test: fast/forms/placeholder-non-textfield.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute): Only call
+ updatePlaceholderVisibility() when the placeholder attribute changes if
+ the element is a text field.
+
+2008-12-30 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ First step of Bug 3781: Animation via canvas could be faster
+
+ Amortise the cost of calling repaint by coalescing repaint rects
+ while the canvas is drawn to. In a later step we'll stop calling
+ repaint() directly, and instead have all dirty canvases repaint
+ at the end of JS execution.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::willDraw):
+ (WebCore::HTMLCanvasElement::paint):
+ * html/HTMLCanvasElement.h:
+
+2008-12-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Antti Koivisto.
+
+ Bug 22931: Using the inspector with purgeable resources leads to assertion failures
+ <https://bugs.webkit.org/show_bug.cgi?id=22931>
+
+ Change InspectorResource::sourceString() so that it doesn't attempt to
+ unsafely get the data of a purgeable CachedResource.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorResource::sourceString): Attempt to make a purgeable
+ resource unpurgeable, and if this not possible, return an empty string.
+ * loader/CachedResource.h: Make InspectorResource a friend of CachedResource.
+
+2008-12-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23023
+ Remove incomplete support for opportunistic appcache entries
+
+ No change in behavior, thus no test.
+
+ * loader/appcache/ApplicationCacheResource.h:
+ (WebCore::ApplicationCacheResource::Type): Removed Opportunistic bit, will re-use when schema
+ version changes.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::scheduleApplicationCacheLoad):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
+ * loader/appcache/ApplicationCacheResource.cpp:
+ (WebCore::ApplicationCacheResource::dumpType):
+
+2008-12-29 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Add arcTo support for Cairo. This is needed by Canvas.
+ Cairo has no native support for arcTo. We have to make our
+ own implementation.
+
+ [Canvas] Cairo needs arcTo
+ https://bugs.webkit.org/show_bug.cgi?id=23003
+
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::addArcTo):
+
+2008-12-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Bug 23030: Cannot setTransform with a non-invertible ctm
+
+ Removed a series of unnecessary and incorrect checks for an invertible
+ transform.
+
+ Test: fast/canvas/canvas-set-properties-with-non-invertible-ctm.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setStrokeStyle):
+ (WebCore::CanvasRenderingContext2D::setFillStyle):
+ These properties are not effected by the current CTM, so there
+ is no need to prevent them from being assigned.
+
+ (WebCore::CanvasRenderingContext2D::setTransform):
+ The whole point of tracking whether the current CTM was expected to be
+ non-invertible was to allow setTransform to be used when the CTM had become
+ non-invertible.
+
+ (WebCore::CanvasRenderingContext2D::beginPath):
+ (WebCore::CanvasRenderingContext2D::closePath):
+ beginPath and closePath change the state of the path, but not any of
+ its coordinates so there is no need prevent them from being called.
+
+2008-12-29 Josh Roesslein <jroesslein@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22968
+
+ Context menu rendering error when full page zoomed
+
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::handleContextMenuEvent):
+
+2008-12-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add some basic memory statistic logging for Node.
+
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::Node):
+ (WebCore::Node::~Node):
+ (WebCore::Node::setDocument):
+ * dom/Node.h:
+
+2008-12-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove one use of DeprecatedPtrList.
+
+ * css/CSSRuleList.cpp:
+ (WebCore::CSSRuleList::~CSSRuleList):
+ (WebCore::CSSRuleList::length):
+ (WebCore::CSSRuleList::item):
+ (WebCore::CSSRuleList::deleteRule):
+ (WebCore::CSSRuleList::append):
+ (WebCore::CSSRuleList::insertRule):
+ * css/CSSRuleList.h: Change m_lstCSSRules from using DeprecatedPtrList to a Vector.
+ I measured no performance change and was comforted by the fact that we use a Vector
+ for StyleList, which serves the exact same purpose.
+
+2008-12-29 Adele Peterson <adele@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21797
+ <rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when
+ running fast/dom/document-attribute-js-null.html and http/tests/security/cookies/create-document.html
+
+ Return early if the document is trying to get or set a cookie with an empty cookie url.
+
+ * dom/Document.cpp:
+ (WebCore::Document::cookie):
+ (WebCore::Document::setCookie):
+
+2008-12-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Sam Weinig.
+
+ Bug 23016: JavaScriptDebugServer::recompileAllJSFunctions() should not execute JS while reparsing all functions
+ <https://bugs.webkit.org/show_bug.cgi?id=23016>
+ <rdar://problem/6425077>
+
+ JavaScriptDebugServer::recompileAllJSFunctions() calls sourceParsed() while
+ reparsing all JS functions, which will execute JS in the inspector. Depending
+ on the order in which functions are recompiled, a function could have a new
+ body but other functions that have not been recompiled could have an optimized
+ (in the sense of inline caching) call to it, bypassing the check of whether or
+ not there is generated bytecode. This leads to a crash caused by accessing
+ indices off of a null pointer.
+
+ To fix the problem, simply delay calling sourceParsed() until after all functions
+ have been reparsed. The crash isn't 100% reproducible, but on the one test case
+ I have, this makes it impossible to reproduce after a large number of attempts,
+ when it used to happen every few attempts.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
+
+2008-12-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Rubber-stamped by Antti Koivisto.
+ Oops, remove some last minute ASSERTS that are obviously wrong.
+
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
+
+2008-12-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Antti Koivisto.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=23015
+
+ Don't rely on HTMLFormControlElement in RenderTextControl.
+
+ Introduce an abstract FormControlElement class, containing the
+ valueMatchesRenderer/setValueMatchesRenderer, the only HTMLFormControlElement
+ specific methods that RenderTextControl relies on.
+
+ This makes it possible for WML to reuse RenderTextControl.
+ RenderTextControlSingleLine still relies on HTMLInputElement,
+ this will change if WMLInputElement is introduced.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/FormControlElement.h: Added.
+ (WebCore::FormControlElement::~FormControlElement):
+ (WebCore::FormControlElement::FormControlElement):
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::valueMatchesRenderer):
+ (WebCore::HTMLFormControlElement::setValueMatchesRenderer):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::updateValue):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::adjustInnerTextStyle):
+ (WebCore::RenderTextControl::updateFromElement):
+ (WebCore::RenderTextControl::setInnerTextValue):
+ (WebCore::RenderTextControl::selectionChanged):
+ (WebCore::RenderTextControl::formControlElement):
+ * rendering/RenderTextControl.h:
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
+ (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+
+2008-12-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Darin Adler.
+
+ Bug 23006: Many Loader::Host member functions are not safe to use reentrantly
+ <https://bugs.webkit.org/show_bug.cgi?id=23006>
+ <rdar://problem/6216106>
+
+ Many Loader::Host member functions set m_processingResource to true when they
+ begin processing a resource and set it to false when they are done. Thanks to
+ JavaScript and the web inspector, almost anything can happen during the
+ processing of a resource, including these functions being called reentrantly,
+ which is unsafe due to this way of using m_processingResource.
+
+ This can theoretically cause a Loader::Host to be used after it is freed,
+ because when Loader::servedPendingRequests() is called, it will free Hosts
+ that have m_processingResource set to false.
+
+ To fix this, we replace m_processingResource with m_numResourcesProcessing,
+ which is incremented and decremented using a helper object, ProcessingResource.
+
+ There are no occurrences of crashes caused by this bug that are reproducible
+ by multiple people, but this fixes the problem of m_processingResource being
+ set to false while a Host is still alive.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::Host):
+ (WebCore::Loader::Host::didFinishLoading): Change to use ProcessingResource
+ instead of manually setting m_processingResource.
+ (WebCore::Loader::Host::didFail): Ditto.
+ (WebCore::Loader::Host::didReceiveData): Ditto.
+ * loader/loader.h:
+ (WebCore::Loader::Host::ProcessingResource::ProcessingResource): Added.
+ (WebCore::Loader::Host::ProcessingResource::~ProcessingResource): Added.
+ (WebCore::Loader::Host::processingResource): Change to use m_numResourcesProcessing
+ instead of just getting m_processingResource.
+
+2008-12-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23007
+ REGRESSION: Timer-related crash when closing Web Inspector
+
+ Test: fast/dom/Window/remove-timeout-crash.html
+
+ * bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::fired): Besides deleting the timer, make
+ sure to remove it from a Document map.
+
+2008-12-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23012
+ Bring application cache manifest parsing up to date
+
+ Test: http/tests/appcache/manifest-parsing.html
+
+ * loader/appcache/ManifestParser.cpp:
+ (WebCore::Mode): Added a constant for unknown sections, which are ignored when parsing. This
+ is necessary for future extensions.
+ (WebCore::parseManifest): Parse unknown sections correctly. Ignore trailing tokens in
+ supported sections.
+
+2008-12-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Darin Adler.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22996
+
+ RenderTextControl heavily depends on HTMLInputElement & HTMLTextAreaElement.
+ It handles multi & single line text control rendering in one class. Split up
+ in two new classes: RenderTextControlSingleLine & RenderTextControlMultiLine.
+
+ This has several benefits - code is more readable now, the memory usage
+ for RenderTextControlMultiLine is reduced, as all stuff related to search fields
+ lives in RenderTextControlSingleLine, and it's easier to introduce an
+ abstraction for input/textarea-like elements for other HTML flavours like WML.
+
+ * GNUmakefile.am:
+ * WebCore.order:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::createRenderer):
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ (WebCore::HTMLInputElement::updatePlaceholderVisibility):
+ (WebCore::HTMLInputElement::addSearchResult):
+ (WebCore::HTMLInputElement::onSearch):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::createRenderer):
+ (WebCore::HTMLTextAreaElement::defaultEventHandler):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::RenderTextControl):
+ (WebCore::RenderTextControl::~RenderTextControl):
+ (WebCore::RenderTextControl::styleDidChange):
+ (WebCore::RenderTextControl::adjustInnerTextStyle):
+ (WebCore::RenderTextControl::createSubtreeIfNeeded):
+ (WebCore::RenderTextControl::textBlockHeight):
+ (WebCore::RenderTextControl::textBlockWidth):
+ (WebCore::RenderTextControl::updateFromElement):
+ (WebCore::RenderTextControl::setInnerTextValue):
+ (WebCore::RenderTextControl::setSelectionRange):
+ (WebCore::RenderTextControl::visiblePositionForIndex):
+ (WebCore::RenderTextControl::indexForVisiblePosition):
+ (WebCore::RenderTextControl::subtreeHasChanged):
+ (WebCore::RenderTextControl::scrollbarThickness):
+ (WebCore::RenderTextControl::calcHeight):
+ (WebCore::RenderTextControl::hitInnerTextBlock):
+ (WebCore::RenderTextControl::forwardEvent):
+ (WebCore::RenderTextControl::calcPrefWidths):
+ (WebCore::RenderTextControl::selectionChanged):
+ (WebCore::RenderTextControl::innerTextElement):
+ * rendering/RenderTextControl.h:
+ (WebCore::RenderTextControl::hasControlClip):
+ (WebCore::RenderTextControl::canHaveChildren):
+ (WebCore::RenderTextControl::avoidsFloats):
+ (WebCore::RenderTextControl::isEdited):
+ (WebCore::RenderTextControl::setEdited):
+ * rendering/RenderTextControlMultiLine.cpp: Added.
+ (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
+ (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
+ (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
+ (WebCore::RenderTextControlMultiLine::layout):
+ (WebCore::RenderTextControlMultiLine::nodeAtPoint):
+ (WebCore::RenderTextControlMultiLine::forwardEvent):
+ (WebCore::RenderTextControlMultiLine::preferredContentWidth):
+ (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
+ (WebCore::RenderTextControlMultiLine::baselinePosition):
+ (WebCore::RenderTextControlMultiLine::updateFromElement):
+ (WebCore::RenderTextControlMultiLine::cacheSelection):
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+ * rendering/RenderTextControlMultiLine.h: Added.
+ (WebCore::RenderTextControlMultiLine::isTextArea):
+ * rendering/RenderTextControlSingleLine.cpp: Added.
+ (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
+ (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
+ (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible):
+ (WebCore::RenderTextControlSingleLine::updatePlaceholderVisibility):
+ (WebCore::RenderTextControlSingleLine::addSearchResult):
+ (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
+ (WebCore::RenderTextControlSingleLine::showPopup):
+ (WebCore::RenderTextControlSingleLine::hidePopup):
+ (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
+ (WebCore::RenderTextControlSingleLine::paint):
+ (WebCore::RenderTextControlSingleLine::layout):
+ (WebCore::RenderTextControlSingleLine::nodeAtPoint):
+ (WebCore::RenderTextControlSingleLine::forwardEvent):
+ (WebCore::RenderTextControlSingleLine::styleDidChange):
+ (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
+ (WebCore::RenderTextControlSingleLine::textBlockWidth):
+ (WebCore::RenderTextControlSingleLine::preferredContentWidth):
+ (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
+ (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
+ (WebCore::RenderTextControlSingleLine::updateFromElement):
+ (WebCore::RenderTextControlSingleLine::cacheSelection):
+ (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+ (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
+ (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
+ (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
+ (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
+ (WebCore::RenderTextControlSingleLine::autosaveName):
+ (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
+ (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
+ (WebCore::RenderTextControlSingleLine::valueChanged):
+ (WebCore::RenderTextControlSingleLine::itemText):
+ (WebCore::RenderTextControlSingleLine::itemIsEnabled):
+ (WebCore::RenderTextControlSingleLine::itemStyle):
+ (WebCore::RenderTextControlSingleLine::menuStyle):
+ (WebCore::RenderTextControlSingleLine::clientInsetLeft):
+ (WebCore::RenderTextControlSingleLine::clientInsetRight):
+ (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
+ (WebCore::RenderTextControlSingleLine::clientPaddingRight):
+ (WebCore::RenderTextControlSingleLine::listSize):
+ (WebCore::RenderTextControlSingleLine::selectedIndex):
+ (WebCore::RenderTextControlSingleLine::itemIsSeparator):
+ (WebCore::RenderTextControlSingleLine::itemIsLabel):
+ (WebCore::RenderTextControlSingleLine::itemIsSelected):
+ (WebCore::RenderTextControlSingleLine::setTextFromItem):
+ (WebCore::RenderTextControlSingleLine::fontSelector):
+ (WebCore::RenderTextControlSingleLine::hostWindow):
+ (WebCore::RenderTextControlSingleLine::createScrollbar):
+ * rendering/RenderTextControlSingleLine.h: Added.
+ (WebCore::RenderTextControlSingleLine::hasControlClip):
+ (WebCore::RenderTextControlSingleLine::isTextField):
+ (WebCore::RenderTextControlSingleLine::placeholderIsVisible):
+ (WebCore::RenderTextControlSingleLine::popupIsVisible):
+ (WebCore::RenderTextControlSingleLine::shouldPopOver):
+ (WebCore::RenderTextControlSingleLine::valueShouldChangeOnHotTrack):
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
+ (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
+
+2008-12-28 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22755
+ Prepare to add create/remove timeout methods to JSWorkerContext by moving
+ timer-specific code from JSDOMWindowBase to DOMTimer.
+ Moved everything JS-related from DOMTimer to ScheduledAction.
+ Now ScheduledAction is what it wanted to be all the time: a JS engine-specific
+ container for timer callback that knows how to invoke it.
+ DOMTimer is not anymore JS-specific.
+
+ This is mostly moving the code around. No intended functional changes.
+
+ * bindings/js/DOMTimer.cpp:
+ (WebCore::DOMTimer::DOMTimer):
+ (WebCore::DOMTimer::~DOMTimer):
+ (WebCore::DOMTimer::install):
+ (WebCore::DOMTimer::removeById):
+ (WebCore::DOMTimer::fired):
+ (WebCore::DOMTimer::stop):
+ * bindings/js/DOMTimer.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::installTimeout):
+ (WebCore::JSDOMWindowBase::removeTimeout):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ * dom/Document.cpp:
+ (WebCore::Document::addTimeout):
+
+2008-12-26 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22999
+ Check if database thread exists.
+
+ * storage/Database.cpp:
+ (WebCore::Database::openAndVerifyVersion):
+ (WebCore::Database::markAsDeletedAndClose):
+ (WebCore::Database::tableNames):
+
+2008-12-26 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23001
+ A call to applicationCache.update() from a cached event listener should be ignored
+
+ Test: http/tests/appcache/idempotent-update.html
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Only reset m_status after
+ dispatching events.
+
+2008-12-26 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22997
+ ASSERTION FAILED: !m_resources.contains(url) in ApplicationCache::addResource()
+
+ Tests: http/tests/appcache/top-frame-1.html
+ http/tests/appcache/top-frame-2.html
+ http/tests/appcache/top-frame-3.html
+ http/tests/appcache/top-frame-4.html
+
+ * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest):
+ Fixed one more instance of top level frame being used for caching purposes.
+
+2008-12-26 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22987
+ Fix for broken test editing/execCommand/5763082.html
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::mergeIdenticalElements): Used local RefPtr to hold onto
+ function parameter across multiple calls.
+
+2008-12-25 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22993
+ Application cache shouldn't be inherited by subframes
+
+ <rdar://problem/6284708> AppCache crashes in ApplicationCacheResource::addType()
+ This crash happened because main resource for subframe was looked up in top frame's
+ appcache. If not for the spec change, it could have been fixed by preventing the load
+ altogether.
+
+ Test: http/tests/appcache/foreign-iframe-main.html
+ I intend to write additional tests for the behavior change.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::applicationCache):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::load):
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::associatedCache):
+ Removed DocumentLoader::topLevelApplicationCache(), and changed callers accordingly.
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::selectCache):
+ (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
+ Removed checks for the frame being top-level one, now that subframes are cached independently.
+
+2008-12-25 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/6465669> Frequent !isPurgeable() assertion in WebCore::CachedResource::addClient
+
+ Disallow turning resources that are being revalidated to purgable state.
+
+ No test, the condition is difficult to produce in DRT.
+
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::allClientsRemoved):
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::destroyDecodedData):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::isSafeToMakePurgeable):
+ (WebCore::CachedResource::makePurgeable):
+ * loader/CachedResource.h:
+ * loader/CachedScript.cpp:
+ (WebCore::CachedScript::destroyDecodedData):
+
+2008-12-25 Alexey Proskuryakov <ap@webkit.org>
+
+ Qt build fix.
+
+ * WebCore.pro: Added ThreadGlobalData.cpp.
+
+2008-12-24 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebCore.base.exp: Remove a symbol from the export file now that it is no longer generated.
+
+2008-12-24 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed build fix to find addSubresourceURL
+
+ This is needed to compile on WebKit/Gtk+
+
+ * css/CSSFontFaceSrcValue.cpp:
+
+2008-12-23 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22980
+ WebCore uses more thread specific keys than it really needs
+
+ Consolidated ThreadSpecific data into a single ThreadGlobalData structure.
+
+ * GNUmakefile.am:
+ * WebCore.base.exp:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * dom/EventNames.cpp:
+ * dom/EventNames.h:
+ (WebCore::eventNames):
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ * platform/ThreadGlobalData.cpp: Added.
+ (WebCore::threadGlobalData):
+ (WebCore::ThreadGlobalData::ThreadGlobalData):
+ (WebCore::ThreadGlobalData::~ThreadGlobalData):
+ * platform/ThreadGlobalData.h: Added.
+ (WebCore::ThreadGlobalData::eventNames):
+ (WebCore::ThreadGlobalData::emptyString):
+ (WebCore::ThreadGlobalData::atomicStringTable):
+ (WebCore::ThreadGlobalData::cachedConverterICU):
+ (WebCore::ThreadGlobalData::cachedConverterTEC):
+ * platform/text/AtomicString.cpp:
+ (WebCore::stringTable):
+ (WebCore::AtomicString::add):
+ (WebCore::AtomicString::remove):
+ (WebCore::AtomicString::find):
+ (WebCore::AtomicString::init):
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::empty):
+ * platform/text/StringImpl.h:
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::ICUConverterWrapper::~ICUConverterWrapper):
+ (WebCore::cachedConverterICU):
+ * platform/text/TextCodecICU.h:
+ (WebCore::ICUConverterWrapper::ICUConverterWrapper):
+ * platform/text/mac/TextCodecMac.cpp:
+ (WebCore::cachedConverterTEC):
+ * platform/text/mac/TextCodecMac.h:
+ (WebCore::TECConverterWrapper::TECConverterWrapper):
+ (WebCore::TECConverterWrapper::~TECConverterWrapper):
+
+2008-12-23 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebCore.xcodeproj/project.pbxproj: CSSPropertyNames.h is a generated file so it needs to be explicitly copied
+ into the PrivateHeaders directory, rather than relying on the automatic copying of headers which runs before the
+ derived sources are generated.
+
+2008-12-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=22941
+
+ If the document element has opacity, we need to erase the view background to
+ white before painting.
+
+ Test: fast/backgrounds/opacity-on-document-element.html
+
+ * rendering/RenderView.cpp:
+ (WebCore::rendererObscuresBackground):
+
+2008-12-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=21910
+
+ Fix SVGImage painting by ensuring that the SVGImage resizes its FrameView correctly.
+ Otherwise the FrameView is left at 0x0, and nothing paints.
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::draw):
+
+2008-12-23 Darin Adler <darin@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - improve robustness of undo/redo in HTML editing to fix the following bugs
+ <https://bugs.webkit.org/show_bug.cgi?id=19703> Crash in WebCore::InsertNodeBeforeCommand::doUnapply()
+ <rdar://problem/4059423> DOM operations performed on editable HTML can cause a crash later during Undo
+
+ Major categories of improvements:
+
+ 1) Added null checks.
+ 2) Eliminated type casts without corresponding type checks.
+ 3) Avoided possible infinite loops by building up lists of nodes to operate on
+ before starting to make DOM changes.
+ 4) Use more RefPtr.
+
+ No test at this time, but test cases should follow in separate patches.
+
+ * WebCore.xcodeproj/project.pbxproj: Set the role of CSSPropertyNames.h to Private so it
+ can be used in other Private headers, specifically editing ones.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::locateCousinList): Adopt parentElement.
+ (WebCore::CSSStyleSelector::locateSharedStyle): Ditto.
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
+
+ * dom/Element.cpp: (WebCore::Element::cloneElement): Added.
+ * dom/Element.h: Added cloneElement and an implementation of parentElement.
+ * dom/Node.h: Moved parentElement from here to Element.h and changed its
+ implementation so it will return 0 when the parent is not an element
+ (document, document fragment, etc.).
+
+ * editing/AppendNodeCommand.cpp:
+ (WebCore::AppendNodeCommand::AppendNodeCommand): Made parent be an Element.
+ Moved assertions from doApply in here.
+ (WebCore::AppendNodeCommand::doApply): Simplified to just a single unchecked
+ appendChild call.
+ (WebCore::AppendNodeCommand::doUnapply): Simplified to just a single remove call.
+ * editing/AppendNodeCommand.h: Updated.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::createStyleSpanElement): Eliminate casting by creating an element in a more
+ direct way with new instead of createElementNS.
+ (WebCore::ApplyStyleCommand::ApplyStyleCommand): Use PassRefPtr.
+ (WebCore::ApplyStyleCommand::removeCSSStyle): Use CSSPropertyID.
+ (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Use cloneElement.
+ * editing/ApplyStyleCommand.h:
+
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply): Use Element* and cloneElement.
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::applyStyledElement): Use PassRefPtr and unsigned.
+ (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
+ (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
+ (WebCore::CompositeEditCommand::insertNodeAfter): Ditto.
+ (WebCore::CompositeEditCommand::insertNodeAt): Ditto.
+ (WebCore::CompositeEditCommand::appendNode): Ditto.
+ (WebCore::CompositeEditCommand::removeChildrenInRange): Ditto. Also use a vector to
+ make the list of children in case removing them has side effects.
+ (WebCore::CompositeEditCommand::removeNode): Ditto.
+ (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
+ (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Ditto.
+ (WebCore::CompositeEditCommand::splitTextNode): Ditto.
+ (WebCore::CompositeEditCommand::splitElement): Ditto.
+ (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
+ (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
+ (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
+ (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
+ (WebCore::CompositeEditCommand::inputText): Ditto.
+ (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
+ (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
+ (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
+ (WebCore::CompositeEditCommand::insertNodeAtTabSpanPosition): Ditto.
+ (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
+ (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Implement by calling
+ setNodeAttribute instead of with its own SimpleEditCommand.
+ (WebCore::CompositeEditCommand::setNodeAttribute): Ditto.
+ (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
+ (WebCore::CompositeEditCommand::appendBlockPlaceholder): Ditto.
+ (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): Ditto.
+ (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Ditto. Don't
+ bother using an undoable operation to put the break element into the paragraph
+ element because there's no need to split them and redo this when doing undo/redo.
+ (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
+ (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
+ * editing/CompositeEditCommand.h: Ditto.
+
+ * editing/DeleteFromTextNodeCommand.cpp:
+ (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Use unsigned.
+ (WebCore::DeleteFromTextNodeCommand::doApply): Eliminated inappropriate assertions.
+ (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto.
+ * editing/DeleteFromTextNodeCommand.h:
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::removeNode): Use PassRefPtr.
+ (WebCore::DeleteSelectionCommand::deleteTextFromNode): Ditto.
+ * editing/DeleteSelectionCommand.h:
+
+ * editing/FormatBlockCommand.cpp:
+ (WebCore::FormatBlockCommand::FormatBlockCommand): Use AtomicString.
+ (WebCore::FormatBlockCommand::doApply): Use Element.
+ * editing/FormatBlockCommand.h:
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::createIndentBlockquoteElement): Use new to create the element
+ instead of calling a function so we have a more specific type.
+ (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
+ Use RefPtr and Element.
+ (WebCore::IndentOutdentCommand::indentRegion): Ditto.
+ (WebCore::IndentOutdentCommand::outdentParagraph): Ditto.
+ * editing/IndentOutdentCommand.h:
+
+ * editing/InsertIntoTextNodeCommand.cpp:
+ (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
+ Use unsigned. Added an assertion.
+ (WebCore::InsertIntoTextNodeCommand::doApply): Eliminated inappropriate assertions.
+ (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
+ * editing/InsertIntoTextNodeCommand.h:
+
+ * editing/InsertLineBreakCommand.cpp:
+ (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): Use Element.
+ (WebCore::InsertLineBreakCommand::insertNodeBeforePosition): Ditto.
+
+ * editing/InsertListCommand.cpp:
+ (WebCore::InsertListCommand::doApply): Use Element.
+
+ * editing/InsertNodeBeforeCommand.cpp:
+ (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Moved assertions
+ here from doApply.
+ (WebCore::InsertNodeBeforeCommand::doApply): Eliminated inappropriate assertions.
+ Added a null check.
+ (WebCore::InsertNodeBeforeCommand::doUnapply): Simplified to just a single remove call.
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply): Use Element and cloneElement.
+
+ * editing/JoinTextNodesCommand.cpp:
+ (WebCore::JoinTextNodesCommand::doApply): Eliminated inappropriate assertions.
+ Added some runtime checks. Don't store anything in m_offset.
+ (WebCore::JoinTextNodesCommand::doUnapply): Ditto.
+ * editing/JoinTextNodesCommand.h:
+
+ * editing/MergeIdenticalElementsCommand.cpp:
+ (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Moved
+ an assertion here from doApply.
+ (WebCore::MergeIdenticalElementsCommand::doApply): Eliminated inappropriate assertions.
+ Added a null check. Changed implementation to use remove to avoid null parent issue.
+ Use a vector of nodes to avoid possible infinite loop if mutation happens while iterating.
+ (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto.
+
+ * editing/ModifySelectionListLevel.cpp:
+ (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange): Use Element*.
+ (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto.
+ * editing/ModifySelectionListLevel.h:
+
+ * editing/RemoveCSSPropertyCommand.cpp:
+ (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Use PassRefPtr and
+ CSSPropertyID. Also renamed m_decl to m_style.
+ (WebCore::RemoveCSSPropertyCommand::doApply): Eliminated inappropriate assertions.
+ (WebCore::RemoveCSSPropertyCommand::doUnapply): Ditto.
+
+ * editing/RemoveNodeAttributeCommand.cpp: Removed contents of this file. To be deleted.
+ Use SetNodeAttributeCommand instead.
+ * editing/RemoveNodeAttributeCommand.h: Ditto.
+
+ * editing/RemoveNodeCommand.cpp:
+ (WebCore::RemoveNodeCommand::RemoveNodeCommand): Moved assertions here from doApply.
+ Don't initialize m_refChild here; rather do it in doApply.
+ (WebCore::RemoveNodeCommand::doApply): Eliminated inappropriate assertions. Added
+ checks and streamlined implementation.
+ (WebCore::RemoveNodeCommand::doUnapply): Ditto.
+ * editing/RemoveNodeCommand.h:
+
+ * editing/RemoveNodePreservingChildrenCommand.cpp:
+ (WebCore::RemoveNodePreservingChildrenCommand::doApply): Use a vector.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::insertFragmentForTestRendering): Removed now-unneeded cast.
+
+ * editing/SetNodeAttributeCommand.cpp:
+ (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Use AtomicString.
+ Removed assertion that prevents us from using this to remove an attribute.
+ (WebCore::SetNodeAttributeCommand::doApply): Eliminated inappropriate assertions.
+ (WebCore::SetNodeAttributeCommand::doUnapply): Ditto.
+ * editing/SetNodeAttributeCommand.h:
+
+ * editing/SplitElementCommand.cpp:
+ (WebCore::SplitElementCommand::SplitElementCommand): Moved assertion here from doApply.
+ (WebCore::SplitElementCommand::doApply): Check some more invariants and use a vector
+ to avoid possible infinite loops.
+ (WebCore::SplitElementCommand::doUnapply): Ditto.
+
+ * editing/SplitTextNodeCommand.cpp:
+ (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Moved assertions and comment
+ here from doApply.
+ (WebCore::SplitTextNodeCommand::doApply): Check for null and failures when applying.
+ (WebCore::SplitTextNodeCommand::doUnapply): Ditto.
+
+ * editing/SplitTextNodeContainingElementCommand.cpp:
+ (WebCore::SplitTextNodeContainingElementCommand::doApply): Use Element.
+
+ * editing/WrapContentsInDummySpanCommand.cpp:
+ (WebCore::WrapContentsInDummySpanCommand::doApply): Check for null and ignore failures.
+ Don't reuse the dummy span. Simplified logic.
+ (WebCore::WrapContentsInDummySpanCommand::doUnapply): Ditto.
+
+ * editing/htmlediting.cpp:
+ (WebCore::isBlock): Make sure this returns true only for elements.
+ (WebCore::enclosingBlock): Return an Element*.
+ (WebCore::enclosingTableCell): Ditto.
+ (WebCore::enclosingList): Return an HTMLElement*.
+ (WebCore::outermostEnclosingList): Return an HTMLElement*.
+ (WebCore::createDefaultParagraphElement): Return an HTMLElement*.
+ (WebCore::createBreakElement): Return an HTMLElement*.
+ (WebCore::createOrderedListElement): Return an HTMLElement*.
+ (WebCore::createUnorderedListElement): Return an HTMLElement*.
+ (WebCore::createListItemElement): Return an HTMLElement*.
+ (WebCore::createHTMLElement): Return an HTMLElement*.
+ * editing/htmlediting.h:
+
+ * editing/markup.cpp:
+ (WebCore::createFragmentFromText): Use createBreakElement and use Element*.
+
+ * page/MouseEventWithHitTestResults.cpp:
+ (WebCore::MouseEventWithHitTestResults::targetNode): Use parentElement.
+
+2008-12-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ * dom/Node.h: Tweak comments and order of bits that Sam moved
+ here last night.
+ * dom/Node.cpp: Ditto.
+
+2008-12-22 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 11106: Some XMLHttpRequest URI resolving tests fail
+ https://bugs.webkit.org/show_bug.cgi?id=11106
+
+ Use the ScriptExecutionContext to resolve the URI when calling open in JavaScript.
+ The previous code was using the containing DOMWindow to do so which would fail for
+ XMLHttpRequest object being passed between iframe.
+
+ Tests: http/tests/xmlhttprequest/uri-resolution-opera-open-004.html
+ http/tests/xmlhttprequest/uri-resolution-opera-open-005.html
+ http/tests/xmlhttprequest/uri-resolution-opera-open-006.html
+ http/tests/xmlhttprequest/uri-resolution-opera-open-007.html
+ http/tests/xmlhttprequest/uri-resolution-opera-open-008.html
+ http/tests/xmlhttprequest/uri-resolution-opera-open-009.html
+ http/tests/xmlhttprequest/uri-resolution-opera-open-010.html
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open): Use the ScriptExecutionContext
+ to resolve the URL.
+
+ * dom/Document.cpp:
+ (WebCore::Document::virtualCompleteURL): Virtual method added to
+ avoid performance hit on completeURL call.
+
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ (WebCore::ScriptExecutionContext::completeURL): Non-virtual method
+ that wrap the call to the virtual call.
+ * dom/WorkerContext.cpp:
+ (WebCore::WorkerContext::virtualCompleteURL): Pure virtual method.
+ * dom/WorkerContext.h:
+
+2008-12-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=22978
+ a couple tweaks to the new strokeBoundingRect functions
+
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext
+ if the applier is non-null.
+
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::putBytesNowhere): Added.
+ (WebCore::createScratchContext): Changed to use a "/dev/null" type
+ function to discard bytes rather than using a data object. This
+ eliminates the possibility that memory will be used if someone draws
+ into the scratch context by accident. Also moved to the top of the
+ file; it was in a slightly strange place before.
+ (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext
+ if the applier is non-null. Simplify the empty path special case.
+
+2008-12-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Save a word in all Elements by moving the 5 loose bits to Node,
+ where we had 16 spare.
+
+ * dom/Element.cpp:
+ (WebCore::Element::Element):
+ * dom/Element.h:
+ * dom/Node.cpp:
+ (WebCore::Node::Node):
+ * dom/Node.h:
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22972
+
+ Add WML <meta> element support. All needed functionality is present
+ in Document::processHttpEquiv, already covered by tests.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * wml/WMLMetaElement.cpp: Added.
+ (WebCore::WMLMetaElement::WMLMetaElement):
+ (WebCore::WMLMetaElement::parseMappedAttribute):
+ (WebCore::WMLMetaElement::insertedIntoDocument):
+ * wml/WMLMetaElement.h: Added.
+ * wml/WMLTagNames.in:
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Rubber-stamped by Darin Adler.
+
+ Don't reference specific layout tests in comments.
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::createFormData):
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22965
+
+ Add WML <head> element support. Doesn't require a WMLHeadElement.
+ No functional behaviour, as we already created a WMLElement for headTag, by default.
+ It's just cleaner to list <head> in WMLTagNames, forwarding to a WMLElement constructor.
+
+ * wml/WMLTagNames.in:
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22971
+
+ Fix regression caused by the HTMLFormElement refactorization.
+ File form elements without a name have to be included in multipart/form-data
+ submission. Cover this behaviour with a new test case.
+
+ Test: http/tests/misc/empty-file-formdata.html
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::createFormData):
+ * wml/WMLTagNames.in:
+
+2008-12-22 David Kilzer <ddkilzer@apple.com>
+
+ <rdar://problem/6438298> Bump schema version for app cache
+
+ Reviewed by Alexey Proskuryakov.
+
+ * loader/appcache/ApplicationCacheStorage.cpp: Increment
+ SchemaVersion from 2 to 3.
+
+2008-12-22 David Kilzer <ddkilzer@apple.com>
+
+ Use Deque in CSSStyleSheet::addSubresourceStyleURLs()
+
+ Reviewed by Darin Adler.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Replaced
+ use of ListHashSet with more efficient Deque.
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix obvious crash fix for WML enabled builds.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::adjustRenderStyle):
+
+2008-12-22 David Kilzer <ddkilzer@apple.com>
+
+ Bug 11850: Webarchive fails to save images referenced in CSS
+
+ <https://bugs.webkit.org/show_bug.cgi?id=11850>
+
+ Reviewed by Darin Adler.
+
+ This entry contains two parts since the tests for adding a
+ completeURL() method to StyleSheet and CSSStyleSheet (part 1) depend
+ on Bug 11850 being fixed (part 2).
+
+ --
+
+ Tests: http/tests/webarchive/test-css-url-encoding-shift-jis.html
+ http/tests/webarchive/test-css-url-encoding-utf-8.html
+ http/tests/webarchive/test-css-url-encoding.html
+
+ Added completeURL() methods to StyleSheet and CSSStyleSheet that
+ match the behavior of Document::completeURL(). Most notably,
+ CSSStyleSheet::completeURL() uses the charset of the stylesheet
+ (if it exists) to construct URLs, just like Document::completeURL().
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Use CSSStyleSheet::completeURL().
+ (WebCore::CSSParser::parseContent): Ditto.
+ (WebCore::CSSParser::parseFillImage): Ditto.
+ (WebCore::CSSParser::parseFontFaceSrc): Ditto.
+ (WebCore::CSSParser::parseBorderImage): Ditto.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::completeURL): Added.
+ * css/CSSStyleSheet.h:
+ (WebCore::CSSStyleSheet::completeURL): Added declaration.
+
+ * css/StyleSheet.cpp:
+ (WebCore::StyleSheet::completeURL): Added.
+ * css/StyleSheet.h:
+ (WebCore::StyleSheet::completeURL): Added declaration.
+
+ * dom/Document.cpp:
+ (WebCore::Document::completeURL): Added comment referring to the new
+ completeURL() methods in StyleSheet and CSSStyleSheet.
+
+ --
+
+ Tests: webarchive/test-css-url-resources-in-stylesheets.html
+ webarchive/test-css-url-resources-inline-styles.html
+
+ Walk stylesheets and inline style attributes for url() references
+ when building a list of URLs to include in a webarchive. Note that
+ not all URLs found this way will be included in the webarchive if
+ they were not used (and thus not downloaded) when laying out the
+ page.
+
+ The key method for CSS stylesheets is
+ CSSStyleSheet::addSubresourceStyleURLs() which iterates over all
+ CSSStyleSheet objects recursively referenced from its own stylesheet
+ through @import rules. Starting with the CSSRule objects in each
+ sheet and continuing down through the CSSMutableStyleDeclaration and
+ CSSValue objects, addSubresourceStyleURLs() methods are called to
+ gather URLs.
+
+ For inline style attributes in HTML DOM elements,
+ StyledElement::addSubresourceAttributeURLs() calls
+ CSSMutableStyleDeclaration::addSubresourceStyleURLs() to gather URLs
+ from each element, hence the need to call
+ addSubresourceAttributeURLs() on superclasses when the method is
+ implemented on the element class itself.
+
+ * css/CSSBorderImageValue.cpp:
+ (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added.
+ * css/CSSBorderImageValue.h:
+ (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSFontFaceRule.cpp:
+ (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added.
+ * css/CSSFontFaceRule.h:
+ (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSFontFaceSrcValue.cpp:
+ (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added.
+ * css/CSSFontFaceSrcValue.h:
+ (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::addSubresourceStyleURLs): Added.
+ * css/CSSImportRule.h:
+ (WebCore::CSSImportRule::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added.
+ Iterates over m_properties vector of CSSProperty objects calling
+ addSubresourceStyleURLs() on each property's CSSValue object.
+ * css/CSSMutableStyleDeclaration.h:
+ (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added.
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSReflectValue.cpp:
+ (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added.
+ * css/CSSReflectValue.h:
+ (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSRule.h:
+ (WebCore::CSSRule::addSubresourceStyleURLs): Added. Virtual
+ method with empty implementation that's overridden by subclasses
+ as needed.
+
+ * css/CSSStyleRule.cpp:
+ (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added.
+ * css/CSSStyleRule.h:
+ (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated to
+ call CSSRule::addSubresourceStyleURLs on each rule to extract
+ URLs. Removed unneeded baseURL parameter now that the
+ completeURL() method exists.
+ * css/CSSStyleSheet.h:
+ (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated
+ declaration.
+
+ * css/CSSValue.h:
+ (WebCore::CSSValue::addSubresourceStyleURLs): Added. Virtual
+ method with empty implementation that's overridden by subclasses
+ as needed.
+
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::addSubresourceStyleURLs): Added.
+ Iterates over m_values vector of CSSValue objects calling
+ addSubresourceStyleURLs() on each.
+ * css/CSSValueList.h:
+ (WebCore::CSSValueList::addSubresourceStyleURLs): Added
+ declaration.
+
+ * css/StyleSheet.h:
+ (WebCore::StyleSheet::addSubresourceStyleURLs): Updated
+ declaration to remove unneeded baseURL parameter.
+
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
+ Fixed to use the StyleBase::baseURL() method to get the
+ stylesheet's URL instead of calling Document::completeURL().
+
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::addSubresourceAttributeURLs): Added method
+ to extract URLs from inline style declarations.
+ * dom/StyledElement.h:
+ (WebCore::StyledElement::addSubresourceAttributeURLs): Added
+ declaration.
+
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Call
+ addSubresourceAttributeURLs() in superclass to extract URLs
+ from inline style declarations.
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLParamElement.cpp:
+ (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLTableCellElement.cpp:
+ (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
+ * svg/SVGCursorElement.cpp:
+ (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Ditto.
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
+
+2008-12-22 Dhananjoy Chutia <dhanrd@gmail.com>
+
+ Reviewed by David Kilzer.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22959
+ Memory leak fixes for WebKit+soup
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::finishedCallback):
+
+2008-12-22 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6277060> ASSERTION FAILED: !m_cacheBeingUpdated if the manifest is not available
+
+ Tests: http/tests/appcache/404-manifest.html
+ http/tests/appcache/fail-on-update.html
+
+ * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::stopLoading):
+ Removed the incorrect assertion.
+
+ * loader/appcache/ApplicationCacheGroup.h: Added an explanation of somewhat nonintuitive
+ m_currentHandle handling.
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov & George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22961
+
+ Add WML <fieldset> element support.
+ Unlike HTML's <fieldset> element, WML doesn't provide a <legend> child element
+ to describe the <fieldset>. WML instead offers a 'title' attribute on the <fieldset>
+ element. To integrate within the existing RenderFieldset code, we just create an
+ internal <insertedLegend> element as first child for a WML <fieldset> element, containing
+ the title attribute value.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::adjustRenderStyle):
+ * css/wml.css:
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::RenderFieldset):
+ (WebCore::RenderFieldset::findLegend):
+ * rendering/RenderFieldset.h:
+ * rendering/RenderLegend.cpp:
+ (WebCore::RenderLegend::RenderLegend):
+ * rendering/RenderLegend.h:
+ * wml/WMLFieldSetElement.cpp: Added.
+ (WebCore::WMLFieldSetElement::WMLFieldSetElement):
+ (WebCore::WMLFieldSetElement::~WMLFieldSetElement):
+ (WebCore::WMLFieldSetElement::parseMappedAttribute):
+ (WebCore::WMLFieldSetElement::insertedIntoDocument):
+ (WebCore::WMLFieldSetElement::removedFromDocument):
+ (WebCore::WMLFieldSetElement::createRenderer):
+ * wml/WMLFieldSetElement.h: Added.
+ * wml/WMLInsertedLegendElement.cpp: Added.
+ (WebCore::WMLInsertedLegendElement::WMLInsertedLegendElement):
+ (WebCore::WMLInsertedLegendElement::~WMLInsertedLegendElement):
+ (WebCore::WMLInsertedLegendElement::createRenderer):
+ * wml/WMLInsertedLegendElement.h: Added.
+ * wml/WMLTagNames.in:
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Try to fix clean Mac builds, set role=private for FormDataBuilder.h
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Rubber-stamped by George Staikos.
+
+ Unify all TorchMobile copyright lines. Consolidate in a single line, as requested by Mark Rowe, some time ago.
+
+ * css/CSSStyleSelector.cpp:
+ * css/wml.css:
+ * dom/DOMImplementation.cpp:
+ * dom/Document.cpp:
+ * dom/Document.h:
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * dom/XMLTokenizerQt.cpp:
+ * history/BackForwardList.cpp:
+ * history/BackForwardList.h:
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+ * loader/MainResourceLoader.cpp:
+ * page/Page.cpp:
+ * page/Page.h:
+ * platform/MIMETypeRegistry.cpp:
+ * platform/network/FormDataBuilder.cpp:
+ * platform/network/FormDataBuilder.h:
+ * platform/qt/MIMETypeRegistryQt.cpp:
+ * wml/WMLAElement.cpp:
+ * wml/WMLAElement.h:
+ * wml/WMLAccessElement.cpp:
+ * wml/WMLAccessElement.h:
+ * wml/WMLAnchorElement.cpp:
+ * wml/WMLAnchorElement.h:
+ * wml/WMLBRElement.cpp:
+ * wml/WMLBRElement.h:
+ * wml/WMLCardElement.cpp:
+ * wml/WMLCardElement.h:
+ * wml/WMLDoElement.cpp:
+ * wml/WMLDoElement.h:
+ * wml/WMLDocument.cpp:
+ * wml/WMLDocument.h:
+ * wml/WMLElement.cpp:
+ * wml/WMLElement.h:
+ * wml/WMLErrorHandling.cpp:
+ * wml/WMLErrorHandling.h:
+ * wml/WMLEventHandlingElement.cpp:
+ * wml/WMLEventHandlingElement.h:
+ * wml/WMLGoElement.cpp:
+ * wml/WMLGoElement.h:
+ * wml/WMLImageElement.cpp:
+ * wml/WMLImageElement.h:
+ * wml/WMLImageLoader.cpp:
+ * wml/WMLImageLoader.h:
+ * wml/WMLIntrinsicEvent.cpp:
+ * wml/WMLIntrinsicEvent.h:
+ * wml/WMLIntrinsicEventHandler.cpp:
+ * wml/WMLIntrinsicEventHandler.h:
+ * wml/WMLNoopElement.cpp:
+ * wml/WMLNoopElement.h:
+ * wml/WMLOnEventElement.cpp:
+ * wml/WMLOnEventElement.h:
+ * wml/WMLPElement.cpp:
+ * wml/WMLPElement.h:
+ * wml/WMLPageState.cpp:
+ * wml/WMLPageState.h:
+ * wml/WMLPostfieldElement.cpp:
+ * wml/WMLPostfieldElement.h:
+ * wml/WMLPrevElement.cpp:
+ * wml/WMLPrevElement.h:
+ * wml/WMLRefreshElement.cpp:
+ * wml/WMLRefreshElement.h:
+ * wml/WMLSetvarElement.cpp:
+ * wml/WMLSetvarElement.h:
+ * wml/WMLTableElement.cpp:
+ * wml/WMLTableElement.h:
+ * wml/WMLTaskElement.cpp:
+ * wml/WMLTaskElement.h:
+ * wml/WMLTemplateElement.cpp:
+ * wml/WMLTemplateElement.h:
+ * wml/WMLTimerElement.cpp:
+ * wml/WMLTimerElement.h:
+ * wml/WMLVariables.cpp:
+ * wml/WMLVariables.h:
+
+2008-12-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22638
+
+ Add POST method support to WMLGoElement. GET & POST over HTTP
+ covered by a new set of WML HTTP layout tests.
+
+ Tests: http/tests/wml/go-task-get-method-accept-charset.html
+ http/tests/wml/go-task-get-method.html
+ http/tests/wml/go-task-post-method-accept-charset.html
+ http/tests/wml/go-task-post-method.html
+
+ * wml/WMLGoElement.cpp:
+ (WebCore::WMLGoElement::WMLGoElement):
+ (WebCore::WMLGoElement::registerPostfieldElement):
+ (WebCore::WMLGoElement::parseMappedAttribute):
+ (WebCore::WMLGoElement::executeTask):
+ (WebCore::WMLGoElement::preparePOSTRequest):
+ (WebCore::WMLGoElement::prepareGETRequest):
+ (WebCore::WMLGoElement::createFormData):
+ * wml/WMLGoElement.h:
+ * wml/WMLPostfieldElement.cpp:
+ (WebCore::encodedString):
+ (WebCore::WMLPostfieldElement::encodeData):
+ * wml/WMLPostfieldElement.h:
+
+2008-12-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Darin Adler and George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22949
+
+ Refactor HTMLFormElement to share a maximum level of code between HTMLFormElement & WMLGoElement.
+ Create a new helper class 'FormDataBuilder', which is hold as member variable in those classes.
+ It encapsulates all functionality needed to generate a FormData object, usable for HTML/WML form
+ submission, including boundary string generation, multi-part form handling etc.
+
+ No functional changes, no test cases affected.
+ WMLGoElement will be converted in a follow-up patch.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::HTMLFormElement):
+ (WebCore::HTMLFormElement::dataEncoding):
+ (WebCore::HTMLFormElement::createFormData):
+ (WebCore::HTMLFormElement::submit):
+ (WebCore::HTMLFormElement::parseMappedAttribute):
+ * html/HTMLFormElement.h:
+ (WebCore::HTMLFormElement::enctype):
+ (WebCore::HTMLFormElement::encoding):
+ (WebCore::HTMLFormElement::setEncoding):
+ (WebCore::HTMLFormElement::acceptCharset):
+ * platform/network/FormDataBuilder.cpp: Added.
+ (WebCore::FormDataBuilder::FormDataBuilder):
+ (WebCore::FormDataBuilder::~FormDataBuilder):
+ (WebCore::FormDataBuilder::parseEncodingType):
+ (WebCore::FormDataBuilder::parseMethodType):
+ (WebCore::FormDataBuilder::dataEncoding):
+ (WebCore::appendString):
+ (WebCore::FormDataBuilder::beginMultiPartHeader):
+ (WebCore::FormDataBuilder::addBoundaryToMultiPartHeader):
+ (WebCore::FormDataBuilder::addFileNameToMultiPartHeader):
+ (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader):
+ (WebCore::FormDataBuilder::finishMultiPartHeader):
+ (WebCore::FormDataBuilder::clear):
+ (WebCore::FormDataBuilder::addKeyValuePairAsFormData):
+ (WebCore::FormDataBuilder::encodeStringAsFormData):
+ (WebCore::FormDataBuilder::generateUniqueBoundaryString):
+ * platform/network/FormDataBuilder.h: Added.
+ (WebCore::FormDataBuilder::isPostMethod):
+ (WebCore::FormDataBuilder::setIsPostMethod):
+ (WebCore::FormDataBuilder::isMultiPartForm):
+ (WebCore::FormDataBuilder::setIsMultiPartForm):
+ (WebCore::FormDataBuilder::encodingType):
+ (WebCore::FormDataBuilder::setEncodingType):
+ (WebCore::FormDataBuilder::acceptCharset):
+ (WebCore::FormDataBuilder::setAcceptCharset):
+ (WebCore::FormDataBuilder::encodedData):
+ (WebCore::FormDataBuilder::multiPartData):
+
+2008-12-21 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Darin Adler, Nikolas Zimmermann.
+
+ Move the the platform dependent strokeBBox functionality out of RenderPath
+ into Path with strokeBoundingRect.
+
+ RenderPath clean-up for strokeBoundingBox
+ [https://bugs.webkit.org/show_bug.cgi?id=22902]
+
+ * GNUmakefile.am:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/Path.h:
+ * platform/graphics/StrokeStyleApplier.h: Added.
+ (WebCore::StrokeStyleApplier::~StrokeStyleApplier):
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::strokeBoundingRect):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::createScratchContext):
+ (WebCore::scratchContext):
+ (WebCore::Path::strokeBoundingRect):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::pen):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::strokeBoundingRect):
+ * rendering/RenderPath.cpp:
+ (WebCore::StrokeBoundingRectStyleApplier::StrokeBoundingRectStyleApplier):
+ (WebCore::StrokeBoundingRectStyleApplier::strokeStyle):
+ (WebCore::RenderPath::relativeBBox):
+ * rendering/RenderPath.h:
+ * svg/graphics/cairo/RenderPathCairo.cpp:
+ * svg/graphics/cg/RenderPathCg.cpp:
+ * svg/graphics/qt/RenderPathQt.cpp:
+
+2008-12-20 David Kilzer <ddkilzer@apple.com>
+
+ Fix typo "CSSAferRuleValue" to "CSSAfterRuleValue"
+
+ * html/PreloadScanner.cpp:
+ (WebCore::PreloadScanner::tokenizeCSS):
+ * html/PreloadScanner.h:
+ (WebCore::PreloadScanner::CSSState):
+
+2008-12-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/6454076> Random crashes on JS raytracer
+
+ No test, because the crash is not readily reproducible.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::empty):
+ * platform/text/StringImpl.h:
+ Made empty string per-thread.
+
+2008-12-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Replace some uses of HardRetain etc with RetainPtr.
+
+ * platform/mac/DragImageMac.mm:
+ * platform/mac/SharedBufferMac.mm:
+ (WebCore::SharedBuffer::createCFData):
+ * rendering/RenderThemeMac.mm:
+ * svg/graphics/cg/SVGResourceFilterCg.mm:
+ (WebCore::SVGResourceFilter::prepareFilter):
+ (WebCore::SVGResourceFilter::applyFilter):
+ * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
+ * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
+ (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
+
+2008-12-19 miggilin <mr.diggilin@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Add Context Menu support to wx bindings.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22675
+
+ * platform/ContextMenu.h:
+ * platform/ContextMenuItem.h:
+ (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
+ * platform/wx/ContextMenuItemWx.cpp: Added.
+ * platform/wx/ContextMenuWx.cpp: Added.
+ * platform/wx/LocalizedStringsWx.cpp:
+ * platform/wx/TemporaryLinkStubs.cpp:
+ * webcore-wx.bkl:
+
+
+2008-12-19 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Temporary band-aide fix for <rdar://problem/6372481> In Gmail, a
+ crash occurs at
+ AccessibilityTable::isTableExposableThroughAccessibility() when
+ attempting to create a link in a rich text message
+
+ We need to disable Accessibility Tables until we get this fixed for
+ real to prevent rampant crashing.
+
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::AccessibilityTable):
+
+2008-12-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=22938
+
+ When the document element is transformed, we need to paint
+ the view background to avoid unpainted areas.
+
+ Test: fast/transforms/transformed-document-element.html
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paintBoxDecorations):
+
+2008-12-19 Steve Falkenburg <sfalken@apple.com>
+
+ Fix build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-12-19 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes after recent changes.
+
+ * WebCoreSources.bkl:
+ * platform/graphics/wx/ImageSourceWx.cpp:
+ (WebCore::ImageSource::clear):
+ * webcore-base.bkl:
+
+2008-12-19 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Sam Weinig.
+
+ [GTK] Fix make distcheck again
+
+ These files were moved to WebCore/platform/animation
+ and WebCore/platform/graphics/transforms.
+
+ * GNUmakefile.am:
+
+2008-12-19 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22900
+
+ Fix AtomicString usage, so that building works.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+
+2008-12-19 Adam Roben <aroben@apple.com>
+
+ Windows build fix on older versions of CFNetwork after r39393
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::highestSupportedCFURLConnectionClientVersion): Changed
+ preprocessor directives not to leave in unreachable code on old
+ versions of CFNetwork.
+
+2008-12-19 Antti Koivisto <antti@apple.com>
+
+ Comment fix.
+
+ * platform/PurgeableBuffer.h:
+
+2008-12-19 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ [GTK] Build fix by adding the new files.
+
+ * GNUmakefile.am:
+
+2008-12-19 Jade Han <jade.han@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Allow conversion of JavaScript Number and Boolean types to Qt types
+
+ https://bugs.webkit.org/show_bug.cgi?id=22880
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+
+2008-12-19 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Holger Freyther.
+
+ Implement ImageDecoder::filenameExtension() for Qt
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::filenameExtension):
+ * platform/graphics/qt/ImageDecoderQt.h:
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::filenameExtension):
+
+2008-12-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Alder.
+
+ Implement ImageSource::filenameExtension for Cario
+ https://bugs.webkit.org/show_bug.cgi?id=22905
+
+ * platform/graphics/cairo/ImageSourceCairo.cpp:
+ (WebCore::ImageSource::filenameExtension):
+ * platform/image-decoders/ImageDecoder.h:
+ * platform/image-decoders/bmp/BMPImageDecoder.h:
+ (WebCore::BMPImageDecoder::filenameExtension):
+ * platform/image-decoders/gif/GIFImageDecoder.h:
+ (WebCore::GIFImageDecoder::filenameExtension):
+ * platform/image-decoders/ico/ICOImageDecoder.h:
+ (WebCore::ICOImageDecoder::filenameExtension):
+ * platform/image-decoders/jpeg/JPEGImageDecoder.h:
+ (WebCore::JPEGImageDecoder::filenameExtension):
+ * platform/image-decoders/png/PNGImageDecoder.h:
+ (WebCore::PNGImageDecoder::filenameExtension):
+ * platform/image-decoders/xbm/XBMImageDecoder.h:
+ (WebCore::XBMImageDecoder::filenameExtension):
+
+2008-12-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - avoid using the ResourceHandle-level credential storage, if any,
+ unless the client opts to use it; when use of the credential
+ storage is disallowed, all authentication challenges are sent to
+ the client.
+ - let the FrameLoaderClient decide whether to use the credential
+ storage.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage): Added.
+ Returns false.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldUseCredentialStorage): Added. Calls through
+ to the FrameLoaderClient.
+ * loader/FrameLoader.h: Declared shouldUseCredentialStorage().
+ * loader/FrameLoaderClient.h: Declared shouldUseCredentialStorage().
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::shouldUseCredentialStorage): Added. Calls
+ through to the FrameLoader.
+ * loader/ResourceLoader.h:
+ (WebCore::ResourceLoader::shouldUseCredentialStorage): Implemented this
+ ResourceHandleClient method.
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::shouldUseCredentialStorage): Added.
+ Overrides the ResourceLoader implementation by letting the client
+ supply the return value. If the client does not do this, continues
+ with the ResourceLoader behavior of asking the FrameLoader.
+ * loader/SubresourceLoader.h: Removed an unused #include and declared
+ shouldUseCredentialStorage().
+ * loader/SubresourceLoaderClient.h:
+ (WebCore::SubresourceLoaderClient::getShouldUseCredentialStorage):
+ Added a default implementation which returns false, meaning the client
+ does not wish to decide whether the credential storage should be used.
+ * platform/network/ResourceHandle.h: Removed unused forward declarations.
+ Declared a new member function, shouldUseCredentialStorage(), on Mac and
+ CFNetwork-using builds.
+ * platform/network/ResourceHandleClient.h:
+ (WebCore::ResourceHandleClient::shouldUseCredentialStorage): Added this
+ default implementation that returns false.
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::findCFNetworkModule): Added. Returns a handle to the CFNetwork
+ module.
+ (WebCore::cfNetworkVersion): Added. Returns the high word of the
+ CFNetwork library's product version.
+ (WebCore::highestSupportedCFURLConnectionClientVersion): Added. Returns
+ the highest version of the CFURLConnectionClient structure supported by
+ the CFNetwork library. The only reason to check this at runtime is
+ that WebKit may be linking at runtime against an older version of
+ CFNetwork than the one it was built with, as is the case with nightly
+ builds.
+ (WebCore::shouldUseCredentialStorageCallback): Added this
+ CFURLConnection callback which calls through to
+ ResourceHandle::shouldUseCredentialStorage().
+ (WebCore::ResourceHandle::start): Pass a version 3 CFURLConnectionClient
+ including the shouldUseCredentialStorage callback. At runtime, clamp the
+ client structure version down to the highest supported by CFNetwork.
+ (WebCore::ResourceHandle::shouldUseCredentialStorage): Added. Calls through
+ to the client if there is one. Otherwise returns false.
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
+ (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
+ Added this delegate method which callls through to
+ ResourceHandle::shouldUseCredentialStorage().
+
+2008-12-18 David Kilzer <ddkilzer@apple.com>
+
+ Reset role to "Private" on 6 header files to fix clean builds after r39378
+
+ Reviewed by BUILD FIX.
+
+ * WebCore.xcodeproj/project.pbxproj: Added back "Private" role
+ that was lost on 6 headers when they were "moved":
+ AffineTransform.h, Animation.h, AnimationList.h,
+ TimingFunction.h, TransformOperation.h and
+ TransformOperations.h.
+
+2008-12-18 Pamela Greene <pam@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add initializer for m_textDirectionSubmenuInclusionBehavior.
+ https://bugs.webkit.org/show_bug.cgi?id=22926
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Initialize m_textDirectionSubmenuInclusionBehavior
+
+2008-12-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Add new FrameLoaderClient method to indicate the first visually
+ non-empty layout based on an heuristic. Right now that heuristic
+ is the first layout after an image, text or plugin has been added
+ to the render tree, but I can imagine it becoming much smarter.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::didFirstVisuallyNonEmptyLayout):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderClient.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameViewPrivate::reset):
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::performPostLayoutTasks):
+ (WebCore::FrameView::setIsVisuallyNonEmpty):
+ * page/FrameView.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::RenderImage):
+ * rendering/RenderPartObject.cpp:
+ (WebCore::RenderPartObject::RenderPartObject):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText):
+
+2008-12-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/6449841> reduce memory use of ResourceResponseBase by removing two maps
+
+ We were parsing the cache-control and pragma header field values into maps.
+ I changed that so instead we only cache two bits with the data we were actually
+ using. Later we might want to move this responsibility out of this class entirely;
+ we can cache it at the higher level instead.
+
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::mustRevalidate): Changed to call a specific API to get at
+ the bits in quest instead of a general "cache control directives" API.
+
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::setHTTPHeaderField): Remove the logic for the
+ pragma header field since no one is using this for now.
+ (WebCore::ResourceResponseBase::parseCacheControlDirectives): Eliminated the return
+ value and made this function have side effects only. Changed it so it's the caller's
+ responsibility to check m_haveParsedCacheControl. Set m_cacheControlContainsNoCache
+ and m_cacheControlContainsMustRevalidate rather than keeping a map around.
+
+ * platform/network/ResourceResponseBase.h:
+ (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Added.
+ (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate): Added.
+ (WebCore::ResourceResponseBase::ResourceResponseBase): Updated since I removed
+ m_haveParsedCacheControl and renamed m_haveParsedCacheControlHeader to remove
+ the imprecise use of the term "header".
+
+2008-12-18 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix.
+ Delete 2nd copy of code in these files.
+
+ * platform/animation/Animation.cpp:
+ * platform/animation/Animation.h:
+ * platform/animation/AnimationList.cpp:
+ * platform/animation/AnimationList.h:
+ * platform/animation/TimingFunction.h:
+ * platform/graphics/transforms/AffineTransform.cpp:
+ * platform/graphics/transforms/AffineTransform.h:
+ * platform/graphics/transforms/IdentityTransformOperation.h:
+ * platform/graphics/transforms/MatrixTransformOperation.cpp:
+ * platform/graphics/transforms/MatrixTransformOperation.h:
+ * platform/graphics/transforms/RotateTransformOperation.cpp:
+ * platform/graphics/transforms/RotateTransformOperation.h:
+ * platform/graphics/transforms/ScaleTransformOperation.cpp:
+ * platform/graphics/transforms/ScaleTransformOperation.h:
+ * platform/graphics/transforms/SkewTransformOperation.cpp:
+ * platform/graphics/transforms/SkewTransformOperation.h:
+ * platform/graphics/transforms/TransformOperation.h:
+ * platform/graphics/transforms/TransformOperations.cpp:
+ * platform/graphics/transforms/TransformOperations.h:
+ * platform/graphics/transforms/TranslateTransformOperation.cpp:
+ * platform/graphics/transforms/TranslateTransformOperation.h:
+
+2008-12-18 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22859
+ Abstract away the use of JSDOMWindow in CachedPage and introduce
+ ScriptCachedPageData abstraction.
+
+ * GNUmakefile.am: Added ScriptCachedPageData to project.
+ * WebCore.pro: Added ScriptCachedPageData to project.
+ * WebCore.vcproj/WebCore.vcproj: Added ScriptCachedPageData to project.
+ * WebCore.xcodeproj/project.pbxproj: Added ScriptCachedPageData to
+ project.
+ * bindings/js/ScriptCachedPageData.cpp: Added.
+ (WebCore::ScriptCachedPageData::ScriptCachedPageData):
+ (WebCore::ScriptCachedPageData::~ScriptCachedPageData):
+ (WebCore::ScriptCachedPageData::restore):
+ (WebCore::ScriptCachedPageData::clear):
+ * bindings/js/ScriptCachedPageData.h: Added.
+ * history/CachedPage.cpp: Replaced JSDOMWindow and ProtectedPtr with
+ ScriptCachedPageData.
+ (WebCore::CachedPage::CachedPage):
+ (WebCore::CachedPage::domWindow):
+ (WebCore::CachedPage::restore):
+ (WebCore::CachedPage::clear):
+ * history/CachedPage.h: Replaced JSDOMWindow and ProtectedPtr with
+ ScriptCachedPageData.
+
+2008-12-18 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22888
+
+ To avoid future dependency issues, all the TransformOperations and Animation related files need to be moved to platform
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/animation: Added.
+ * platform/animation/Animation.cpp: Copied from WebCore/rendering/style/Animation.cpp.
+ * platform/animation/Animation.h: Copied from WebCore/rendering/style/Animation.h.
+ * platform/animation/AnimationList.cpp: Copied from WebCore/rendering/style/AnimationList.cpp.
+ * platform/animation/AnimationList.h: Copied from WebCore/rendering/style/AnimationList.h.
+ * platform/animation/TimingFunction.h: Copied from WebCore/rendering/style/TimingFunction.h.
+ * platform/graphics/AffineTransform.cpp: Removed.
+ * platform/graphics/AffineTransform.h: Removed.
+ * platform/graphics/transforms: Added.
+ * platform/graphics/transforms/AffineTransform.cpp: Copied from WebCore/platform/graphics/AffineTransform.cpp.
+ * platform/graphics/transforms/AffineTransform.h: Copied from WebCore/platform/graphics/AffineTransform.h.
+ * platform/graphics/transforms/IdentityTransformOperation.h: Copied from WebCore/rendering/style/IdentityTransformOperation.h.
+ * platform/graphics/transforms/MatrixTransformOperation.cpp: Copied from WebCore/rendering/style/MatrixTransformOperation.cpp.
+ * platform/graphics/transforms/MatrixTransformOperation.h: Copied from WebCore/rendering/style/MatrixTransformOperation.h.
+ * platform/graphics/transforms/RotateTransformOperation.cpp: Copied from WebCore/rendering/style/RotateTransformOperation.cpp.
+ * platform/graphics/transforms/RotateTransformOperation.h: Copied from WebCore/rendering/style/RotateTransformOperation.h.
+ * platform/graphics/transforms/ScaleTransformOperation.cpp: Copied from WebCore/rendering/style/ScaleTransformOperation.cpp.
+ * platform/graphics/transforms/ScaleTransformOperation.h: Copied from WebCore/rendering/style/ScaleTransformOperation.h.
+ * platform/graphics/transforms/SkewTransformOperation.cpp: Copied from WebCore/rendering/style/SkewTransformOperation.cpp.
+ * platform/graphics/transforms/SkewTransformOperation.h: Copied from WebCore/rendering/style/SkewTransformOperation.h.
+ * platform/graphics/transforms/TransformOperation.h: Copied from WebCore/rendering/style/TransformOperation.h.
+ * platform/graphics/transforms/TransformOperations.cpp: Copied from WebCore/rendering/style/TransformOperations.cpp.
+ * platform/graphics/transforms/TransformOperations.h: Copied from WebCore/rendering/style/TransformOperations.h.
+ * platform/graphics/transforms/TranslateTransformOperation.cpp: Copied from WebCore/rendering/style/TranslateTransformOperation.cpp.
+ * platform/graphics/transforms/TranslateTransformOperation.h: Copied from WebCore/rendering/style/TranslateTransformOperation.h.
+ * rendering/style/Animation.cpp: Removed.
+ * rendering/style/Animation.h: Removed.
+ * rendering/style/AnimationList.cpp: Removed.
+ * rendering/style/AnimationList.h: Removed.
+ * rendering/style/IdentityTransformOperation.h: Removed.
+ * rendering/style/MatrixTransformOperation.cpp: Removed.
+ * rendering/style/MatrixTransformOperation.h: Removed.
+ * rendering/style/RotateTransformOperation.cpp: Removed.
+ * rendering/style/RotateTransformOperation.h: Removed.
+ * rendering/style/ScaleTransformOperation.cpp: Removed.
+ * rendering/style/ScaleTransformOperation.h: Removed.
+ * rendering/style/SkewTransformOperation.cpp: Removed.
+ * rendering/style/SkewTransformOperation.h: Removed.
+ * rendering/style/TimingFunction.h: Removed.
+ * rendering/style/TransformOperation.h: Removed.
+ * rendering/style/TransformOperations.cpp: Removed.
+ * rendering/style/TransformOperations.h: Removed.
+ * rendering/style/TranslateTransformOperation.cpp: Removed.
+ * rendering/style/TranslateTransformOperation.h: Removed.
+
+2008-12-18 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link
+ <https://bugs.webkit.org/show_bug.cgi?id=21855>
+ <rdar://problem/6278244>
+
+ If JavaScript is not currently executing, the handleEvent member function
+ of JSAbstractEventListener should set the dynamic global object to the
+ global object of the context in which the event occurred.
+
+ If this is not set, then JavaScriptCore will simply take the global object
+ of the context where the event handler function was created, which may be
+ a different frame. This will cause the popup blocker to incorrectly block
+ windows opened from onclick events inside of an iframe whose handler was
+ created in the outer frame, as it will check the outer frame and see that
+ it is not processing any events.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent):
+
+2008-12-17 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=22570
+
+ Add the ability to compute clip rects independently from
+ caching them on the RenderLayer. When painting reflections, use
+ such temporarily computed clipRects, otherwise the layer may cache
+ clipRects which are invalid, since they have been computed with
+ a rootLayer that is not the one usually used to paint.
+
+ Test: fast/reflections/reflection-overflow-hidden.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::updateClipRects):
+ (WebCore::RenderLayer::calculateClipRects):
+ (WebCore::RenderLayer::calculateRects):
+ * rendering/RenderLayer.h:
+ (WebCore::ClipRects::ClipRects):
+ (WebCore::ClipRects::reset):
+ (WebCore::ClipRects::overflowClipRect):
+ (WebCore::ClipRects::setOverflowClipRect):
+ (WebCore::ClipRects::fixedClipRect):
+ (WebCore::ClipRects::setFixedClipRect):
+ (WebCore::ClipRects::posClipRect):
+ (WebCore::ClipRects::setPosClipRect):
+ (WebCore::ClipRects::setFixed):
+ (WebCore::ClipRects::operator==):
+ (WebCore::ClipRects::operator=):
+ * rendering/RenderReplica.cpp:
+ (WebCore::RenderReplica::paint):
+
+2008-12-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22618
+
+ Fix MinGW QtWebKit linking problems and also make the
+ QtWebKit build system more robust.
+
+ * WebCore.pro:
+
+2008-12-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22866
+
+ wml.css is based on an older copy of html4.css. Synchronize them.
+ Remove all entries, that are irrelevant for WML.
+
+ Fix <do> appearance: should behave like HTMLs <button>.
+
+ * css/wml.css:
+
+2008-12-17 Yury Semikhatsky <yurys@google.com>
+
+ Reviewed by Timothy Hatcher.
+ Landed by Adam Barth.
+
+ Added more checks that WebInspector.panels.{resources,scripts} are
+ defined where they are accessed from other panels and WebInspector
+ (some panels are not yet supported in Chrome).
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.addMessage):
+ (WebInspector.Console.prototype.clearMessages):
+ (WebInspector.Console.prototype.completions):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.get searchableViews):
+ (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource):
+ (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
+ (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._addBreakpoint):
+ * inspector/front-end/inspector.js:
+ (WebInspector.addResource):
+ (WebInspector.removeResource):
+ (WebInspector.showResourceForURL):
+
+2008-12-17 Cary Clark < caryclark@google.com>
+
+ Reviewed by Darin Adler.
+ Landed by Adam Barth.
+
+ Add ENABLE_TEXT_CARET to permit the ANDROID platform
+ to invalidate and draw the caret in a separate thread.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::clearCaretRectIfNeeded): Body of
+ function does nothing if text caret is disabled.
+ (WebCore::Frame::selectionLayoutChanged): Do nothing
+ if text caret is disabled and the caret only blinked.
+ (WebCore::Frame::caretBlinkTimerFired):
+ (WebCore::Frame::paintCaret):
+ (WebCore::Frame::paintDragCaret): Body of
+ functions does nothing if text caret is disabled.
+
+2008-12-16 Darin Adler <darin@apple.com>
+
+ Reviewed and landed by Cameron Zwarich.
+
+ Change the style of AtomicString::add() to match Identifier:add().
+
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::add):
+
+2008-12-16 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22827
+ <rdar://problem/6247724> RenderThemeWin buttons have weird heavy text
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::fillFontDescription): Add version that takes a font size.
+ (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size.
+ This will match Firefox.
+
+2008-12-16 Stephanie Lewis <slewis@apple.com>
+
+ Another build fix.
+
+ * platform/text/AtomicString.h:
+ (WebCore::AtomicString::AtomicString):
+
+2008-12-16 Stephanie Lewis <slewis@apple.com>
+
+ Windows Build Fix.
+
+ * platform/text/AtomicString.h:
+ (WebCore::AtomicString::AtomicString):
+ (WebCore::AtomicString::createCFString):
+
+2008-12-16 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22885
+ Fix memory corruption in GIFImageDecoder.cpp with certain GIFs.
+
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::frameComplete):
+
+2008-12-16 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Change HTTPHeaderMap to use an AtomicString as its key.
+ Shaves ~1MB off of the Mozilla Memory Test
+ No functionality difference
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorController.cpp:
+ (WebCore::addHeaders):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::parseHeader):
+ * platform/network/HTTPHeaderMap.h:
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::httpHeaderField):
+ (WebCore::ResourceRequestBase::setHTTPHeaderField):
+ (WebCore::ResourceRequestBase::addHTTPHeaderField):
+ * platform/network/ResourceRequestBase.h:
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::httpHeaderField):
+ (WebCore::ResourceResponseBase::setHTTPHeaderField):
+ * platform/network/ResourceResponseBase.h:
+ * platform/text/StringHash.h:
+ (WebCore::CaseFoldingHash::hash):
+ (WebCore::CaseFoldingHash::equal):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::isSetCookieHeader):
+ (WebCore::XMLHttpRequest::setRequestHeader):
+ (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+ (WebCore::XMLHttpRequest::getRequestHeader):
+ (WebCore::XMLHttpRequest::getResponseHeader):
+ * xml/XMLHttpRequest.h:
+
+2008-12-16 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Darin Adler.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22876
+
+ Remove legacy randomNumber() functionality from HTMLFormElement, and use the new wtf/RandomNumber.h.
+ Also remove an uneeded QFileInfo include while I'm at it - there is no Qt usage in this file.
+
+ * ForwardingHeaders/wtf/RandomNumber.h: Added.
+ * html/HTMLFormElement.cpp:
+ (WebCore::getUniqueBoundaryString):
+
+2008-12-16 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Qt/Win build fix
+
+ * platform/win/SystemTimeWin.cpp:
+
+2008-12-16 Kalle Vahlman <kalle.vahlman@movial.com>
+
+ Reviewed by Holger Freyther.
+
+ [CURL] memory leak of ResouceHandles
+ http://bugs.webkit.org/show_bug.cgi?id=20777
+
+ Fix ResourceHandle ref management to be consistent and correct.
+ Original patch from Marco Barisione.
+
+ * platform/network/curl/ResourceHandleCurl.cpp:
+ (WebCore::ResourceHandle::start):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::removeFromCurl):
+ (WebCore::ResourceHandleManager::add):
+ (WebCore::ResourceHandleManager::removeScheduledJob):
+
+2008-12-16 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build.
+
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::clear): Adjust to new signature.
+
+2008-12-15 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Cameron Zwarich.
+
+ <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/DebugRelease.xcconfig:
+
+2008-12-15 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22871
+ <rdar://problem/6417316> RenderThemeWin buttons are too short/thin
+
+ * rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle):
+ Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style.
+
+2008-12-15 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22865
+
+ Add complete WML <table> / <tr> / <td> element support.
+ Proper handling of all table related attributes, including tests.
+
+ Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error)
+ fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error)
+ fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error)
+ fast/wml/table-element-columns-attribute-missing.wml (missing 'columns')
+ fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches)
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::offsetParent):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::addChild):
+ * wml/WMLTableElement.cpp: Added.
+ (WebCore::WMLTableElement::WMLTableElement):
+ (WebCore::WMLTableElement::~WMLTableElement):
+ (WebCore::WMLTableElement::mapToEntry):
+ (WebCore::WMLTableElement::parseMappedAttribute):
+ (WebCore::WMLTableElement::finishParsingChildren):
+ * wml/WMLTableElement.h: Added.
+ * wml/WMLTagNames.in:
+
+2008-12-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window
+
+ Test: fast/dom/Window/window-custom-prototype.html
+
+ Replaced toGlobalObject with the more generally useful unwrappedObject.
+
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::unwrappedObject): Added.
+ * bindings/js/JSDOMWindowShell.h: Declared unwrappedObject.
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto.
+
+2008-12-15 Gustavo Noronha Silva <kov@kov.eti.br>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22686
+
+ GTK+ build fix.
+
+ * GNUmakefile.am:
+
+2008-12-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22847
+ Geolocation PositionOptions cannot be an arbitrary object.
+
+ Allow the PositionOptions to be a vanilla JS object and parse it
+ appropriately.
+
+ * DerivedSources.make: Remove PositionOptions.
+ * GNUmakefile.am: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+
+ * bindings/js/JSGeolocationCustom.cpp:
+ (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy
+ and timeout fields from a vanilla JS object in order to create the
+ PositionOptions object, checking for exceptions as necessary.
+ (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions
+ instead of toPositionOptions.
+ (WebCore::JSGeolocation::watchPosition): Ditto.
+ * page/PositionOptions.idl: Removed
+
+2008-12-15 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22108
+ Large animated GIFs weren't always animating. The code that deleted
+ the entire decoder after each frame of a large image was resulting in
+ us forgetting the loop count, breaking animations intermittently.
+
+ Instead of throwing the whole decoder away, we're more careful to just
+ delete frames we don't care about. This additionally addresses
+ problems in the Cairo and Chromium ports with excessive peak memory
+ use and CPU use when decoding large animated GIFs because it leads to
+ much less redecoding (O(n) instead of O(n^2) CPU, and O(1) instead of
+ O(n) memory).
+
+ This change has less impact on the CG decoder, which seems to throw
+ away frames automatically when their external references are dropped;
+ this means the CG decoder didn't suffer from the peak memory usage
+ issue before (and still doesn't), but it also still burns excessive
+ CPU redecoding earlier frames, that in theory it wouldn't need to
+ redecode if it would judiciously save the most recent frames. At
+ least this patch plumbs some useful info to the ImageSource so it can
+ help guide the CG decoder heuristics in the future.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::frameBytes):
+ (WebCore::BitmapImage::destroyDecodedData):
+ (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
+ (WebCore::BitmapImage::destroyMetadataAndNotify):
+ (WebCore::BitmapImage::clearFrame):
+ (WebCore::BitmapImage::cacheFrame):
+ (WebCore::BitmapImage::dataChanged):
+ (WebCore::BitmapImage::startAnimation):
+ (WebCore::BitmapImage::resetAnimation):
+ (WebCore::BitmapImage::internalAdvanceAnimation):
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/GeneratedImage.h:
+ (WebCore::GeneratedImage::destroyDecodedData):
+ * platform/graphics/Image.h:
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/cairo/ImageSourceCairo.cpp:
+ (WebCore::ImageSource::~ImageSource):
+ (WebCore::ImageSource::clear):
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::~ImageSource):
+ (WebCore::ImageSource::clear):
+ * platform/graphics/cg/PDFDocumentImage.h:
+ (WebCore::PDFDocumentImage::destroyDecodedData):
+ * platform/graphics/qt/StillImageQt.h:
+ (WebCore::StillImage::destroyDecodedData):
+ * platform/image-decoders/ImageDecoder.h:
+ (WebCore::RGBA32Buffer::clear):
+ (WebCore::ImageDecoder::clearFrameBufferCache):
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::repetitionCount):
+ (WebCore::GIFImageDecoder::clearFrameBufferCache):
+ (WebCore::GIFImageDecoder::initFrameBuffer):
+ * platform/image-decoders/gif/GIFImageDecoder.h:
+ * platform/image-decoders/gif/GIFImageReader.h:
+ (GIFImageReader::GIFImageReader):
+ * svg/graphics/SVGImage.h:
+ (WebCore::SVGImage::destroyDecodedData):
+
+2008-12-15 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache
+ <https://bugs.webkit.org/show_bug.cgi?id=22562>
+ <rdar://problem/6414593>
+
+ Restore the Frame's DOMWindow to its previous value when going back in
+ the back/forward cache. The fact that it was not getting set before may
+ have always caused some subtle bugs with the back/forward cache, but
+ after r37971, it causes no events to fire after restoring a page.
+
+ Previously, ScriptController::clearScriptObjects() was calling
+ clearPlatformScriptObjects(), which was not actually clearing any
+ objects, only updating them to reflect some change in state. Since the
+ window shell was not updated until after the call to clearScriptObjects(),
+ this didn't actually make that much sense.
+
+ We rename clearPlatformScriptObjects() to reflect its actual purpose and
+ call it after the window shell has been updated rather than before.
+
+ Unfortunately, there is no way to test this with a layout test because
+ it involves the back/forward cache.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from
+ clearPlatformScriptObjects(), because the only nonempty implementation
+ doesn't actually clear any objects, it updates them. Also made public.
+ (WebCore::ScriptController::clearScriptObjects): Remove the call to
+ clearPlatformScriptObjects().
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::updatePlatformScriptObjects):
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::domWindow): Added.
+ * history/CachedPage.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects().
+ (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects().
+ (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects().
+ * page/Frame.cpp:
+ (WebCore::Frame::setDOMWindow): Added.
+ (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects().
+ * page/Frame.h:
+
+2008-12-15 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
+ https://bugs.webkit.org/show_bug.cgi?id=17998
+
+ - Enable conditional revalidation for reloads by default.
+ - Add a parameter to FrameLoader::reload() for forcing end-to-end reload.
+ - To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader.
+ Instead synthezise the policy on demand.
+
+ This speeds up reloads and makes them use way less bandwidth.
+
+ * WebCore.base.exp:
+ * loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate.
+ (WebCore::):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::DocLoader):
+ (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate.
+ (WebCore::DocLoader::requestResource):
+ (WebCore::DocLoader::cachePolicy):
+ * loader/DocLoader.h: Get rid of m_cachePolicy member.
+ * loader/FrameLoader.cpp:
+ (WebCore::ScheduledRedirection::ScheduledRedirection):
+ Add parameter to differentiate refresh from other types of redirects.
+ m_cachePolicy was used for signaling this before.
+ (WebCore::isBackForwardLoadType):
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::changeLocation):
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::receivedFirstData):
+ (WebCore::FrameLoader::write):
+ (WebCore::FrameLoader::startIconLoader):
+ (WebCore::FrameLoader::restoreDocumentState):
+ (WebCore::FrameLoader::scheduleHTTPRedirection):
+ (WebCore::FrameLoader::scheduleLocationChange):
+ (WebCore::FrameLoader::scheduleRefresh):
+ (WebCore::FrameLoader::redirectionTimerFired):
+ (WebCore::FrameLoader::canCachePage):
+ (WebCore::FrameLoader::loadURL):
+ (WebCore::FrameLoader::reload):
+ Differentiate between revalidation and reload.
+ No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers.
+ (WebCore::FrameLoader::transitionToCommitted):
+ (WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type.
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+ (WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin
+ (WebCore::FrameLoader::shouldScrollToAnchor):
+ (WebCore::FrameLoader::loadItem):
+ (WebCore::FrameLoader::updateHistoryForReload):
+ (WebCore::FrameLoader::updateHistoryForCommit):
+ (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
+ * loader/FrameLoader.h:
+ * loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin
+ (WebCore::):
+ * loader/NavigationAction.cpp:
+ (WebCore::navigationType): Support FrameLoadTypeReloadFromOrigin
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests):
+
+2008-12-15 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ Add null checks to PlatformScreenQt
+
+ The other ports do the null checks and JSDOMWindowBase is
+ at least one caller that is passing 0.
+
+ * platform/qt/PlatformScreenQt.cpp:
+ (WebCore::screenDepth):
+ (WebCore::screenDepthPerComponent):
+ (WebCore::screenIsMonochrome):
+ (WebCore::screenRect):
+ (WebCore::screenAvailableRect):
+
+2008-12-15 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time
+
+ * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
+ Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation
+ made RegisterFile allocaiton fail after a while.
+
+2008-12-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - half of https://bugs.webkit.org/show_bug.cgi?id=17425
+ eliminate DeprecatedPtrList
+
+ * dom/Document.cpp:
+ (WebCore::Document::removeImage): Change to set slots in the vector
+ to 0 rather than removing items from a list.
+ (WebCore::Document::dispatchImageLoadEventsNow): Rewrite to process
+ the list. Since we now use a "set to zero" design, we don't need to
+ be careful about where the iterator points while iterating the list,
+ instead we just have to skip zeros.
+
+ * dom/Document.h: Use Vector instead of DeprecatedPtrList.
+
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::dispatchGenericEvent): Use a Vector instead
+ of a DeprecatedPtrList for the list of nodes to handle. Also streamlined
+ the logic a bit and used goto in a couple key places.
+
+ * dom/Node.cpp:
+ (WebCore::Node::eventParentNode): Moved this function into this file
+ because it's a virtual function so already can't be inlined. Also updated
+ to return a ContainerNode, so it needs to be in a place where the
+ definition of ContainerNode is visible, not the header file.
+
+ * dom/Node.h: Changed return type of eventParentNode to ContainerNode
+ and moved its definition into the cpp file.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::PendingCallbacks::~PendingCallbacks): Added a call to
+ deleteAllValues here instead of setAutoDelete in the constructor, since
+ we're using Deque instead of DeprecatedPtrList.
+ (WebCore::PendingCallbacks::callAndRemoveFirstCallback): Changed the
+ code to use an OwnPtr since the deque won't delete the callback object.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use a
+ Vector instead of a DeprecatedPtrList.
+
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::eventParentNode): Moved this function into this file
+ because it's a virtual function so already can't be inlined. Also updated
+ to return a ContainerNode.
+
+ * svg/SVGElement.h: Changed setShadowParentNode to take a ContainerNode*,
+ made eventParentNode return a ContainerNode*, and made m_shadowParent a
+ ContainerNode*.
+
+2008-12-14 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22857
+
+ Jumps within a WML deck using <go> task elements fail. Manual reloading
+ is necessary to display the page - fix cache-policy in WMLGoElement::executeTask
+ to prevent the problem.
+
+ Refactor setActiveCardInDocument in two new functions: findNamedCardInDocument
+ and determineActiveCard, to fix a side-effect of executing a <go> task:
+ when switching cards within a deck the active card was changed before the load
+ was fired which resulted in a flash effect on the screen, and doing unnecessary work.
+
+ Test: wml/go-task-animation.html
+
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::findNamedCardInDocument):
+ (WebCore::WMLCardElement::determineActiveCard):
+ * wml/WMLCardElement.h:
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::finishedParsing):
+ * wml/WMLGoElement.cpp:
+ (WebCore::WMLGoElement::executeTask):
+ (WebCore::WMLGoElement::prepareGETRequest):
+ * wml/WMLGoElement.h:
+
+2008-12-14 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fixes an issue in cairo. A fully transparent color can cause wrong
+ drawings on canvas' composite.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22846
+ [CAIRO] Canvas: transparent color and composite
+
+ Test: fast/canvas/canvas-transparency-and-composite.html
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+
+2008-12-13 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
+ https://bugs.webkit.org/show_bug.cgi?id=22665
+
+ Remove setCreatedByParser from frame and iframe.
+
+ * html/HTMLElementFactory.cpp:
+ (WebCore::frameConstructor):
+ (WebCore::iframeConstructor):
+ (WebCore::objectConstructor):
+ * html/HTMLFrameElement.cpp:
+ (WebCore::HTMLFrameElement::HTMLFrameElement):
+ * html/HTMLFrameElement.h:
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
+ * html/HTMLFrameElementBase.h:
+ * html/HTMLFrameOwnerElement.cpp:
+ (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
+ * html/HTMLFrameOwnerElement.h:
+ (WebCore::HTMLFrameOwnerElement::createdByParser):
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::HTMLIFrameElement):
+ * html/HTMLIFrameElement.h:
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::HTMLPlugInElement):
+ * html/HTMLTagNames.in:
+
+2008-12-13 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22843
+ Auto-generate JSWorkerContext
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/WorkerContext.idl: Added.
+ * page/DOMWindow.idl:
+ Added ExtendsDOMGlobalObject, a new attribute for behaviors common to DOMWindow and
+ WorkerContext.
+
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::initScript):
+ Made JSWorkerContext creation look more like JSDOMWindow creation, to work with generated code.
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSWorkerContext.cpp: Removed.
+ * bindings/js/JSWorkerContext.h: Removed.
+ * bindings/js/JSWorkerContextBase.cpp: Copied from WebCore/bindings/js/JSWorkerContext.cpp.
+ (WebCore::JSWorkerContextBase::JSWorkerContextBase):
+ (WebCore::JSWorkerContextBase::~JSWorkerContextBase):
+ (WebCore::JSWorkerContextBase::scriptExecutionContext):
+ (WebCore::getJSWorkerContextBaseTable):
+ (WebCore::):
+ (WebCore::JSWorkerContextBase::put):
+ * bindings/js/JSWorkerContextBase.h: Copied from WebCore/bindings/js/JSWorkerContext.h.
+ * bindings/js/JSWorkerContextCustom.cpp: Added.
+ (WebCore::JSWorkerContext::customGetOwnPropertySlot):
+ (WebCore::JSWorkerContext::mark):
+ (WebCore::JSWorkerContext::self):
+ (WebCore::JSWorkerContext::setSelf):
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ Moved code around. Note that currently, JSWorkerContextBase lookup table is empty, but we'll
+ need to add some global objects to it in the future, as it is done in JSDOMWindowBase.
+
+ * page/WorkerNavigator.cpp:
+ * page/WorkerNavigator.h:
+ Added ENABLE(WORKERS) ifdefs.
+
+2008-12-13 Darin Adler <darin@apple.com>
+
+ - fix Release build
+
+ * dom/Node.cpp:
+ (WebCore::Node::rareData): Remove inappropriate inline directive.
+
+2008-12-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=18734
+ REGRESSION (r31081): Focus problems in Gmail 2/Plain text message text
+ <rdar://problem/5892415>
+
+ Test: fast/forms/textarea-selection-preservation.html
+
+ The regression reported was caused by the fact that the renderer code had
+ a bug where it would constantly think the newline at the end of text was
+ missing, and so it would replace all the text even though it wasn't changing,
+ which would destroy the selection.
+
+ When writing the regression test I discovered another problem: The value
+ property in HTMLTextAreaElement was intentionally changing the selection
+ to the end of the textarea, but doing that even when the value wasn't changing.
+
+ This patch fixes both and the test checks both.
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::setValue): Exit early if the value is
+ not changing.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::text): Add a newline character for each <br>
+ element encountered in the control
+
+2008-12-13 Darin Adler <darin@apple.com>
+
+ - file deletion part of https://bugs.webkit.org/show_bug.cgi?id=17497
+ eliminate DeprecatedValueList
+
+ * GNUmakefile.am: Removed references to deleted files.
+ * WebCore.pro: Ditto.
+ * WebCore.scons: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+
+ * platform/DeprecatedPtrQueue.h: Removed.
+ * platform/DeprecatedValueList.h: Removed.
+ * platform/DeprecatedValueListImpl.cpp: Removed.
+ * platform/DeprecatedValueListImpl.h: Removed.
+
+2008-12-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=17497
+ eliminate DeprecatedValueList
+
+ * css/CSSStyleDeclaration.cpp: Removed unneeded include.
+
+ * dom/Document.cpp:
+ (WebCore::Document::removeAllEventListenersFromAllNodes):
+ Set the removed flag on the window event listeners in case we
+ are in the middle of dispatching events on this window.
+ (WebCore::Document::clear): Ditto.
+ (WebCore::Document::handleWindowEvent): Changed to use a vector
+ instead of a DeprecatedPtrList.
+ (WebCore::Document::windowInlineEventListenerForType): Ditto.
+ (WebCore::Document::removeWindowInlineEventListenerForType): Ditto.
+ Also added a call to setRemoved, which is needed here just as in
+ other functions that remove.
+ (WebCore::Document::removeWindowEventListener): Ditto.
+ (WebCore::Document::hasWindowEventListener): Ditto.
+
+ * dom/Document.h: Changed RegisteredEventListenerList to
+ RegisteredEventListeners.
+
+ * dom/Element.cpp:
+ (WebCore::Element::attach): Use a function to access rare data instead
+ of getting directly at the data field.
+ (WebCore::Element::focus): Ditto.
+ (WebCore::Element::cancelFocusAppearanceUpdate): Ditto.
+
+ * dom/ElementRareData.h: Use "using" to make things that are protected
+ in NodeRareData be public here.
+
+ * dom/EventTarget.h: Removed include of DeprecatedValueList and
+ related declearations that weren't needed. Tweaked the definitions
+ of the forbidEventDispatch functions too.
+
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::EventTargetNode): Eliminated code that
+ was used to initialized m_regdListeners.
+ (WebCore::EventTargetNode::~EventTargetNode): Elminated delete of
+ m_regdListeners. Changed code to use eventListeners() instead of
+ m_regdListeners.
+ (WebCore::EventTargetNode::eventListeners): Added.
+ (WebCore::EventTargetNode::insertedIntoDocument): Use eventListeners.
+ (WebCore::EventTargetNode::removedFromDocument): Ditto.
+ (WebCore::EventTargetNode::willMoveToNewOwnerDocument): Ditto.
+ (WebCore::EventTargetNode::didMoveToNewOwnerDocument): Ditto.
+ (WebCore::EventTargetNode::addEventListener): Ditto.
+ (WebCore::EventTargetNode::removeEventListener): Ditto.
+ (WebCore::EventTargetNode::removeAllEventListeners): Ditto.
+ Also added code to call setRemoved on all the listeners.
+ (WebCore::EventTargetNode::handleLocalEvents): Ditto.
+ (WebCore::EventTargetNode::dispatchGenericEvent): Fixed indentation.
+ (WebCore::EventTargetNode::removeInlineEventListenerForType): Use
+ the new event listeners vector. Also added missing call to setRemoved.
+ (WebCore::EventTargetNode::inlineEventListenerForType): Ditto.
+
+ * dom/EventTargetNode.h: Added a new RegisteredEventListenerVector
+ type and replaced the old localEventListeners function with a new
+ eventListeners function. Removed m_regdListeners.
+
+ * dom/Node.cpp:
+ (WebCore::Node::childNodes): Removed unneeded std prefix.
+ (WebCore::Node::setFocus): Use function instead of going directly
+ at rare data.
+ (WebCore::Node::rareDataFocused): Ditto.
+ (WebCore::Node::registerDynamicNodeList): Removed unneeded std prefix.
+ (WebCore::Node::getElementsByName): Ditto.
+ (WebCore::Node::getElementsByClassName): Ditto.
+ (WebCore::Node::compareDocumentPosition): Ditto.
+
+ * dom/Node.h: Removed unneeded forward declaration of
+ RegisteredEventListener. This is now in EventTargetNode.
+
+ * dom/NodeRareData.h: Renamed m_focused to m_isFocused and made it
+ private. Made m_needsFocusAppearanceUpdateSoonAfterAttach private.
+ Added listeners and ensureListeners functions as well as isFocused,
+ setFocused, and focus-appearance functions. Made all data members private.
+
+ * dom/RegisteredEventListener.cpp: Removed operator ==.
+ * dom/RegisteredEventListener.h: Removed operator == and !=.
+
+ * svg/SVGElement.cpp:
+ (WebCore::hasLoadListener): Rewrote to work with the vector.
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto.
+
+2008-12-13 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22824
+
+ Change ENABLE(FONT_FAST_PATH) to USE(FONT_FAST_PATH). With r39206
+ floatWidth always used the complex path causing a regression
+ in the pixel tests.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::floatWidth): Use the fast path again
+
+2008-12-13 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fixes behavior of gradients on empty path in canvas/Cg
+
+ https://bugs.webkit.org/show_bug.cgi?id=22844
+ [Cg] Canvas fill() draws gradients even without a path
+
+ Test: fast/canvas/canvas-gradient-without-path.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::fill):
+ (WebCore::CanvasRenderingContext2D::stroke):
+
+2008-12-13 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix.
+
+ * platform/graphics/wx/ImageSourceWx.cpp:
+ (WebCore::ImageSource::filenameExtension):
+
+2008-12-12 Brent Fulgham <bfulgham@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22805
+
+ Provides implementation of image dragging logic for Windows Cairo
+ back-end.
+
+ * platform/win/DragImageCGWin.cpp:
+ (WebCore::deallocContext): Add a generic CGContextRef destructor.
+ * platform/win/DragImageCairoWin.cpp:
+ (WebCore::deallocContext): Add a generic cairo_* destructor.
+ (WebCore::allocImage): New implementation to allocate a Cairo
+ surface of a specified size.
+ (WebCore::createCairoContextFromBitmap): New implementation to
+ create a Cairo surface from a Windows BITMAP.
+ (WebCore::scaleDragImage): Replace stub with implementation to
+ actually create a scaled image.
+ (WebCore::createDragImageFromImage): Replace stub with implementation
+ to actually create an image.
+
+2008-12-12 Dean Jackson <dino@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Expose WebKitAnimationEvent, WebKitTransitionEvent,
+ WebKitCSSTransformValue, WebKitCSSKeyframeRule and
+ WebKitCSSKeyframesRule to Window object.
+ This required generating constructors for the event
+ interfaces.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20560
+
+ * dom/WebKitAnimationEvent.idl:
+ * dom/WebKitTransitionEvent.idl:
+ * page/DOMWindow.idl:
+
+2008-12-12 Dave Moore <davemoore@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=22798
+
+ In Font::drawTextUsingSVGFont() a variable of type SVGTextRunWalkerDrawTextData
+ is created on the stack (called data). One of its fields, charsConsumed, is
+ unitialized, leading to random values after calling walk() on the
+ SVGTextRunWalker created with it. I now initialize the variable
+
+ This bug was revealed in our Purify run. I don't know of any specific incorrect
+ behavior caused by it but it would lead to the charsConsumed field having a
+ a wrong value.
+
+ * svg/SVGFont.cpp:
+ (WebCore::Font::drawTextUsingSVGFont):
+
+2008-12-12 Beth Dakin <bdakin@apple.com>
+
+ Rubber Stamped by Steve Falkenburg.
+
+ Build fix.
+
+ * platform/KURL.h:
+
+2008-12-12 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add the ability so that Google-URL can optionally be used in a build
+ of WebKit without changing the shared header. The guts of KURL are
+ optionally ifdefed out, and the replacement code goes in a different
+ header to avoid polluting KURL.h
+
+ * platform/KURL.cpp:
+ * platform/KURL.h:
+ (WebCore::KURL::string):
+ (WebCore::KURL::operator const String&):
+ (WebCore::KURL::operator JSC::UString):
+ (WebCore::KURL::operator NSString*):
+ (WebCore::KURL::parsed):
+ (WebCore::KURL::utf8String):
+ (WebCore::KURL::isNull):
+ (WebCore::KURL::isEmpty):
+ (WebCore::KURL::isValid):
+ (WebCore::KURL::hostStart):
+ (WebCore::KURL::hostEnd):
+ (WebCore::KURL::pathStart):
+ (WebCore::KURL::pathEnd):
+ (WebCore::KURL::pathAfterLastSlash):
+
+2008-12-11 Steve Falkenburg <sfalken@apple.com>
+
+ Delete the previous timer-queue timer in the main thread, just prior to scheduling a new timer.
+ The code previously called DeleteTimerQueueTimer in the timer callback proc.
+
+ The new technique simplifies the code, since we now create and delete timers on the
+ same thread, and don't access the timer queue or timer handles in the callback.
+ This allows us to remove some mutex use, and more importantly, it solves a race
+ condition that was occuring between ChangeTimerQueueTimer and DeleteTimerQueueTimer.
+
+ Since the timer callback isn't passed the timer handle, we were retrieving that handle
+ via a global. If the timer callback code was entered, but then a new timer was immediately
+ scheduled (prior to the callback acquiring the mutex and calling DeleteTimerQueueTimer),
+ there was a small window where the timer could be re-scheduled via ChangeTimerQueueTimer
+ and then immediately deleted once the already running callback acquired the mutex and
+ then called DeleteTimerQueueTimer. This resulted in the newly scheduled timer never firing.
+
+ Reviewed by Oliver Hunt.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::queueTimerProc): Don't delete the timer in the callback.
+ (WebCore::setSharedTimerFireTime): Always delete and create the timer instead of using ChangeTimerQueueTimer.
+ (WebCore::stopSharedTimer): Call DeleteTimerQueueTimer directly.
+
+2008-12-12 Kai Brüning <kai@granus.net>
+
+ Reviewed and tweaked by Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=18205
+ DOMNode objects are garbage collected although there are strong references
+ <rdar://problem/6441200>
+
+ Fixes resurrection bug for wrapper objects by using an NSMapTable with zeroing weak
+ memory for the wrapper reference for DOMWrapperCache (DOMInternal.mm),
+ JSWrapperCache (WebScriptObject.mm) and wrapperCache (DOMRGBColor.mm).
+ BUILDING_ON_TIGER is used to create a Leopard-only NSMapTable or an old-style
+ procedural map table for Tiger systems.
+
+ No regression tests yet since we don't currently run any tests in GC mode.
+
+ * bindings/objc/DOMInternal.h: added WebCore::createWrapperCache for use by all three caches
+ * bindings/objc/DOMInternal.mm:
+ (WebCore::createWrapperCache): Contains the compile-time check for map table creation
+ (WebCore::getDOMWrapper): HashMap -> NSMapTable
+ (WebCore::addDOMWrapper): ditto
+ (WebCore::removeDOMWrapper): ditto
+ * bindings/objc/DOMObject.mm: removed [DOMObject finalize]
+ * bindings/objc/DOMRGBColor.mm: removed [DOMRGBColor finalize]
+ (WebCore::getWrapperForRGB): CFMutableDictionaryRef -> NSMapTable
+ (WebCore::setWrapperForRGB): ditto
+ (WebCore::removeWrapperForRGB): ditto
+ * bindings/objc/WebScriptObject.mm:
+ (WebCore::getJSWrapper): HashMap -> NSMapTable
+ (WebCore::addJSWrapper): ditto
+ (WebCore::removeJSWrapper): ditto
+ (-[WebScriptObject finalize]): removed call of removeJSWrapper()
+
+2008-12-12 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22813
+ Remove unused references to JSDOMBinding, CallFrame, and JSLock.
+
+ * dom/Node.cpp: Removed CallFrame and JSLock header includes.
+ * loader/FrameLoader.cpp: Removed JSDOMBinding header include.
+
+2008-12-12 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ Update the WebKit.qrc and add a script to automatically generate the file.
+
+ With the way rcc and qmake work this can not be done at build time
+ as the WebKit.qrc must sit inside the directory that contains the files
+ and at build time we may not change the content of the source directory.
+
+ * inspector/front-end/WebKit.qrc: Updated with new script
+
+2008-12-12 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ REGRESSION: Canvas is broken in high dpi mode
+ <rdar://problem/6432739> <https://bugs.webkit.org/show_bug.cgi?id=22823>
+
+ Simply made sure that we correctly scale the graphics context to
+ account for the difference between logical and buffer resolution.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+ (WebCore::HTMLCanvasElement::baseTransform):
+
+2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Oliver Hunt.
+
+ Share PluginView::paintMissingPluginIcon() between ports
+
+ Also, enable this feature for Qt/X11, Qt/Mac and GTK
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::paintMissingPluginIcon):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::paint):
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::paint):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::paint):
+ * plugins/win/PluginViewWin.cpp:
+
+2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt/Mac] Implement PluginView::updatePluginWidget()
+
+ We should update the window and clip rect regardless of whether or
+ not the plugin has been loaded, for example to ensure that the
+ missing plugin image is placed correctly.
+
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::updatePluginWidget):
+
+2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Oliver Hunt.
+
+ Make PluginView::updatePluginWidget() non-const
+
+ We can do this now since frameRectsChanged() is no longer const. This
+ also allows us to get rid of the mutables in the PluginView.
+
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (PluginView::updatePluginWidget):
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/wx/PluginViewWx.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+
+2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Implement ImageSource::filenameExtension() for the Qt port
+
+ We're using QImageReader::imageFormat().toLower() to check
+ that the image format is supported, and if it is we store
+ the resulting extension when creating the ImageDecoderQt.
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::create):
+ (WebCore::ImageDecoderQt::ImageDecoderQt):
+ (WebCore::ImageDecoderQt::imageFormat):
+ * platform/graphics/qt/ImageDecoderQt.h:
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::setData):
+ (WebCore::ImageSource::filenameExtension):
+
+2008-12-11 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen
+
+ Account for the size of the response and request headers as well as other overhead
+ when calculating the size a resource takes up in the cache. Halts unbounded
+ growth in the cache. Reduced stress test memory high water marks by > 50%.
+
+ Uses estimates gathered from the stress test to set the overhead size.
+ A version of the patch was created that calculated most of the sizes, but it was
+ decided that the patch was still at a basic level an estimate. What gains it made
+ in accuracy was offset by the complexity involved in creating and updating the
+ estimate.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::resourceAccessed):
+ (WebCore::Cache::TypeStatistic::addResource):
+ (WebCore::Cache::dumpLRULists):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::overheadSize):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::size):
+
+2008-12-11 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Holger Freyther.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22814
+
+ Add <wml> image element support. Based on HTML/SVGImage{Element/Loader}, with
+ the only difference that WML defines a second source attribute 'localsrc', that
+ takes precedence over the 'src' attribute. If loading the 'localsrc' attribute
+ fails, the user agent should try loading the 'src' attribute. If both fail the
+ 'alt' fallback content will be used - just like in HTML.
+
+ Fixes: fast/wml/img-localsrc.wml (<img> and 'localsrc' attribute)
+ fast/wml/img-src-localsrc-alt.wml ('localsrc'/'src' fallback handling)
+ fast/wml/img-src.wml (<img> and 'src' attribute)
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::altDisplayString):
+ (WebCore::HitTestResult::absoluteImageURL):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::updateAltText):
+ * wml/WMLImageElement.cpp: Added.
+ (WebCore::WMLImageElement::WMLImageElement):
+ (WebCore::WMLImageElement::~WMLImageElement):
+ (WebCore::WMLImageElement::mapToEntry):
+ (WebCore::WMLImageElement::parseMappedAttribute):
+ (WebCore::WMLImageElement::attach):
+ (WebCore::WMLImageElement::createRenderer):
+ (WebCore::WMLImageElement::insertedIntoDocument):
+ (WebCore::WMLImageElement::isURLAttribute):
+ (WebCore::WMLImageElement::imageSourceAttributeName):
+ (WebCore::WMLImageElement::altText):
+ * wml/WMLImageElement.h: Added.
+ (WebCore::WMLImageElement::useFallbackAttribute):
+ (WebCore::WMLImageElement::setUseFallbackAttribute):
+ * wml/WMLImageLoader.cpp: Added.
+ (WebCore::WMLImageLoader::WMLImageLoader):
+ (WebCore::WMLImageLoader::~WMLImageLoader):
+ (WebCore::WMLImageLoader::dispatchLoadEvent):
+ (WebCore::WMLImageLoader::sourceURI):
+ (WebCore::WMLImageLoader::notifyFinished):
+ * wml/WMLImageLoader.h: Added.
+ * wml/WMLTagNames.in:
+
+2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22043
+
+ Do not run into the WebCore::DocumentLoader::updateLoading
+ ASSERT on Gtk+/CURL when trying to load tests from our LayoutTests.
+
+ Do not call setPrimaryLoadComplete when the
+ activeDocumentLoader has already been replaced. This can happen
+ when a script executed from within FramerLoader::didFinishLoading will
+ navigate to another URL.
+
+ The assertion is caused by existing tests (e.g.
+ fast/history/clicked-link-is-visited.html) reproducing this with
+ network backends not equal to curl is tough or maybe not
+ even possible.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::setPrimaryLoadComplete):
+
+2008-12-11 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ - Remove some dead, commented-out code from WMLAElement.
+ - Add missing virtual destructor for <noop>, as suggested by Alexey.
+ - Refactor addHTMLAlignment in a static helper function to share with WML.
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::addHTMLAlignment):
+ (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
+ * html/HTMLElement.h:
+ * wml/WMLAElement.cpp:
+ (WebCore::WMLAElement::defaultEventHandler):
+ * wml/WMLNoopElement.cpp:
+ (WebCore::WMLNoopElement::~WMLNoopElement):
+ * wml/WMLNoopElement.h:
+
+2008-12-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ <rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
+ <https://bugs.webkit.org/show_bug.cgi?id=22804>
+
+ This issue was caused by css generated content resulting in non-svg flowboxes
+ being injected into SVG content. As SVG spec does not describe behaviour in
+ this case, and neither Opera nor Firefox displays such generated content, so
+ now we make svg text layout and rendering just ignore any such content.
+
+ Test: svg/css/crash-css-generated-content.xhtml
+
+ * rendering/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBox::buildLayoutInformation):
+ (WebCore::SVGRootInlineBox::layoutInlineBoxes):
+ (WebCore::SVGRootInlineBox::buildTextChunks):
+
+2008-12-11 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling
+ <https://bugs.webkit.org/show_bug.cgi?id=21256>
+ <rdar://problem/6362978>
+
+ The ScrollView refactoring in r36906 caused the ScrollView and the
+ platform widget to disagree about whether optimizing scrolling via
+ blitting is allowed. The easiest way to fix this is to make ScrollView
+ simply ask the platform widget whether this is safe on platforms that
+ are affected.
+
+ It is not possible to write a layout test for this bug because it
+ involves the back/forward cache.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::setCanBlitOnScroll):
+ (WebCore::ScrollView::canBlitOnScroll):
+ (WebCore::ScrollView::platformSetCanBlitOnScroll):
+ (WebCore::ScrollView::platformCanBlitOnScroll):
+ * platform/ScrollView.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformSetCanBlitOnScroll):
+ (WebCore::ScrollView::platformCanBlitOnScroll):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformSetCanBlitOnScroll):
+ (WebCore::ScrollView::platformCanBlitOnScroll):
+
+2008-12-11 Brent Fulgham <bfulgham@gmail.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22808
+
+ Correct build break due to malformed XML in Visual Studio project
+ following @r39205 change.
+
+ * WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads.
+
+2008-12-10 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=22738
+
+ This gets rid of the per-animation timers which were used when an animation
+ started, ended and looped. Their job is now done by the main AnimationController's
+ timer. It is now set to fire as needed. For instance, if there is a delay, it will
+ fire after the delay time and then every 30ms to run the animation. The start, loop
+ and end events are generated as needed during the firing of this timer.
+
+ I had to add one more bit of code. When animation timers used to fire the animation events.
+ This would always happen from the RunLoop, so any style changes that happened in the
+ event handler would get picked up on the next updateRendering() call. But now the start
+ event is generated during the styleIsAvailable() call, which is in the middle of the
+ updateRendering() cycle. And calling an event handler in the middle of updateRendering()
+ is not allowed and causes style changes to get missed. We already have a mechanism in
+ AnimationController to defer updateRendering() calls. So I added logic to defer all
+ event handling to there. Now, I put any request for event handling into a list and ask
+ for a deferred updateRendering() call. When that deferred timer fires, I go through that
+ list, send all the events and then call updateRendering().
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::AnimationBase):
+ (WebCore::AnimationBase::updateStateMachine):
+ (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
+ (WebCore::AnimationBase::willNeedService):
+ (WebCore::AnimationBase::goIntoEndingOrLoopingState):
+ * page/animation/AnimationBase.h:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateAnimationTimer):
+ (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
+ (WebCore::AnimationControllerPrivate::addEventToDispatch):
+ (WebCore::AnimationControllerPrivate::animationTimerFired):
+ (WebCore::AnimationController::addEventToDispatch):
+ * page/animation/AnimationController.h:
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::updateTransitions):
+ (WebCore::CompositeAnimationPrivate::willNeedService):
+ (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
+ (WebCore::CompositeAnimation::willNeedService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ * page/animation/CompositeAnimation.h:
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::animate):
+ (WebCore::ImplicitAnimation::onAnimationEnd):
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+ * page/animation/ImplicitAnimation.h:
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::animate):
+ (WebCore::KeyframeAnimation::sendAnimationEvent):
+ * page/animation/KeyframeAnimation.h:
+ (WebCore::KeyframeAnimation::setUnanimatedStyle):
+
+2008-12-11 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build with an empty filenameExtension() implementation.
+
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::filenameExtension):
+
+2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix crash in the cairo implementation of the SVGPaintServer
+
+ For SVGFonts the RenderObject can be zero. The existing SVGFont
+ test cases is exposing this bug. Qt and other ports have fixed
+ this issue by adding null checks as well.
+
+ * svg/graphics/cairo/SVGPaintServerCairo.cpp:
+ (WebCore::SVGPaintServer::renderPath):
+
+2008-12-11 Holger Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20953
+
+ Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font
+ handling. FontQt.cpp from now on is only implementing the complex path. Create
+ FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within
+ the framework set by the Font code.
+
+ Sharing the Font.cpp implementation allows the Qt port to support
+ the CSS font faces and SVG fonts.
+
+ Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more
+ easily deprecate it.
+
+ This commit is removing a lot of #ifdefs from Font.h as the Qt Font
+ implementation is now in line with the rest of WebCore.
+
+ * WebCore.pro:
+ * platform/graphics/Font.h: Remove #ifdefs
+ (WebCore::Font::letterSpacing):
+ (WebCore::Font::setLetterSpacing):
+ (WebCore::Font::isPlatformFont):
+ * platform/graphics/FontFallbackList.h:
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::SimpleFontData):
+ (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache
+ on Qt, move the initialisation over.
+ (WebCore::SimpleFontData::~SimpleFontData):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::getQtFont):
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter
+ (WebCore::FontCache::releaseFontData): Add to build
+ * platform/graphics/qt/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+ (WebCore::createFontCustomPlatformData):
+ * platform/graphics/qt/FontCustomPlatformData.h:
+ * platform/graphics/qt/FontFallbackListQt.cpp: Added.
+ (WebCore::FontFallbackList::FontFallbackList):
+ (WebCore::FontFallbackList::invalidate):
+ (WebCore::FontFallbackList::releaseFontData):
+ (WebCore::FontFallbackList::determinePitch):
+ (WebCore::FontFallbackList::fontDataAt):
+ (WebCore::FontFallbackList::fontDataForCharacters):
+ (WebCore::FontFallbackList::setPlatformFont):
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformData::font):
+ (WebCore::FontPlatformData::size):
+ * platform/graphics/qt/FontPlatformDataQt.cpp: Added.
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ (WebCore::Font::font):
+ * platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
+ (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneTreeFontData):
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::determinePitch):
+ (WebCore::SimpleFontData::containsCharacters):
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformGlyphInit):
+ (WebCore::SimpleFontData::platformDestroy):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes.
+
+2008-12-11 Holger Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20953
+
+ For Qt it is not pratical to have a FontCache and GlyphPageTreeNode
+ implementation. This is one of the reasons why the Qt port is currently not
+ using WebCore/platform/graphics/Font.cpp. By allowing to not use
+ the simple/fast-path the Qt port will be able to use it.
+
+ Introduce USE(FONT_FAST_PATH) and define it for every port but the
+ Qt one.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::drawText):
+ (WebCore::Font::floatWidth):
+ (WebCore::Font::selectionRectForText):
+ (WebCore::Font::offsetForPosition):
+ * platform/graphics/Font.h:
+
+2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20953
+
+ Split out the font fast path from Fast.cpp into FontFastPath.cpp. This
+ will allow the Qt port to share most of WebCore::Font
+ implementation but the fast path. Qt does not provide the API to get
+ individual Glyphs making the fast path hard to support.
+
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * platform/graphics/Font.cpp:
+ * platform/graphics/FontFastPath.cpp: Added.
+ (WebCore::Font::glyphDataForCharacter):
+
+2008-12-11 Robert Carr <racarr@svn.gnome.org>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22560
+
+ Code in PlatformScreenGtk for screenDepth and screenRect can not
+ assume that the platformWindow for the widget has a valid "window"
+ member. For example in the case of, a new browser view opening as a
+ child of a GtkNotebook, but never being switched to, or manually
+ realized. Solve by using the toplevel window of the widget, rather
+ than the widget itself.
+
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::screenDepth):
+ (WebCore::screenRect):
+
+2008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Darin Adler and Holger Freyther.
+
+ Make Widget::frameRectsChanged() and overrides non-const
+
+ This will hopefully allow us to get rid of some of the mutables in
+ the classes that react to the callback by changing their own state.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::frameRectsChanged):
+ * platform/ScrollView.h:
+ * platform/Widget.h:
+ (WebCore::Widget::frameRectsChanged):
+ * platform/gtk/ScrollbarGtk.cpp: Remove non-const version since
+ this was more complex and did the same thing, changed const of
+ the leftover frameRectsChanged() method.
+ (ScrollbarGtk::frameRectsChanged):
+ * platform/gtk/ScrollbarGtk.h:
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::frameRectsChanged):
+ * plugins/PluginView.h:
+
+2008-12-11 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed and implemented with Tor Arne Vestbø.
+
+ Reimplement RenderTheme::caretBlinkInterval for Qt.
+
+ The QApplication::cursorFlashTime is in milliseconds and describes
+ the whole cycle while WebCore expects half a cycle.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::caretBlinkInterval):
+ * platform/qt/RenderThemeQt.h:
+
+2008-12-09 Trenton Schulz <trenton.schulz@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better
+
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::tigerOrBetter):
+ (WebCore::PluginView::globalMousePosForPlugin):
+
+2008-12-10 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Eric Seidel and George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799
+
+ Add WML <template> support. The <template> element is specified at deck-level
+ and declares a template for all <card> elements in the document.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * editing/htmlediting.cpp:
+ (WebCore::canHaveChildrenForEditing): Treat <do> just like a <button>.
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::WMLCardElement):
+ (WebCore::WMLCardElement::setTemplateElement):
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
+ (WebCore::WMLCardElement::handleDeckLevelTaskOverridesIfNeeded):
+ * wml/WMLCardElement.h:
+ (WebCore::WMLCardElement::templateElement):
+ * wml/WMLDoElement.cpp:
+ (WebCore::WMLDoElement::insertedIntoDocument):
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::finishedParsing):
+ * wml/WMLErrorHandling.cpp:
+ (WebCore::errorMessageForErrorCode):
+ * wml/WMLErrorHandling.h:
+ (WebCore::):
+ * wml/WMLEventHandlingElement.cpp:
+ (WebCore::WMLEventHandlingElement::~WMLEventHandlingElement):
+ * wml/WMLEventHandlingElement.h:
+ (WebCore::WMLEventHandlingElement::doElements):
+ * wml/WMLTagNames.in:
+ * wml/WMLTemplateElement.cpp: Added.
+ (WebCore::WMLTemplateElement::WMLTemplateElement):
+ (WebCore::WMLTemplateElement::~WMLTemplateElement):
+ (WebCore::WMLTemplateElement::parseMappedAttribute):
+ (WebCore::WMLTemplateElement::registerTemplatesInDocument):
+ * wml/WMLTemplateElement.h: Added.
+ * wml/WMLTimerElement.cpp:
+ (WebCore::WMLTimerElement::timerFired):
+
+2008-12-09 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix memory leak - need to call stopActiveDOMObjects
+ when cached pages get destroyed.
+ https://bugs.webkit.org/show_bug.cgi?id=22753
+
+ * dom/Document.cpp:
+ (WebCore::Document::detach):
+
+2008-12-10 Alice Liu <alice.liu@apple.com>
+
+ Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685
+
+ Reviewed by Darin Adler.
+
+ * manual-tests/drag-image-to-desktop.html: Added.
+
+2008-12-10 Alice Liu <alice.liu@apple.com>
+
+ fixed https://bugs.webkit.org/show_bug.cgi?id=20685
+
+ Reviewed by Darin Adler.
+
+ Manual test case is manual-tests/drag-image-to-desktop.html
+
+ Added new files to projects
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+ * page/DragController.cpp:
+ (WebCore::DragController::startDrag):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedImageMIMETypes):
+ (WebCore::initializeSupportedImageMIMETypesForEncoding):
+
+ These changes add a method to obtain the extension for an image
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::filenameExtension):
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/Image.h:
+ (WebCore::Image::filenameExtension):
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/cairo/ImageSourceCairo.cpp:
+ (WebCore::ImageSource::filenameExtension):
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::filenameExtension):
+
+ These changes added a utility that returns the preferred extension for a UTI
+ * platform/graphics/cg/ImageSourceCG.h: Added.
+ * platform/graphics/cg/ImageSourceCGMac.mm: Added.
+ (WebCore::MIMETypeForImageSourceType):
+ (WebCore::preferredExtensionForImageSourceType):
+ * platform/graphics/cg/ImageSourceCGWin.cpp: Added.
+ (WebCore::MIMETypeForImageSourceType):
+ (WebCore::preferredExtensionForImageSourceType):
+
+ * platform/mac/MIMETypeRegistryMac.mm:
+ moved getMIMETypeForUTI to ImageSourceCGMac.mm
+
+ Ask image for its file extension instead of relying on MIME type and file path
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::createGlobalImageFileDescriptor):
+
+ Remove extraneous code from getPreferredExtensionForMIMEType.
+ Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp
+ * platform/win/MIMETypeRegistryWin.cpp:
+ (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+
+2008-12-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ <rdar://problem/6431224>
+
+ When updating the value of a slider, don't mark the parents
+ as needing layout, because the size of the slider can never
+ change. This fixes full-page repaints in some cases.
+
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::updateFromElement):
+
+2008-12-10 Simon Fraser <simon.fraser@apple.com>
+
+ Potential build fix. The forward declaration of FloatPoint should
+ be inside the WebCore namespace.
+
+ * platform/graphics/FloatPoint3D.h:
+
+2008-12-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22793
+
+ Cleanup FloatPoint3D: inline the getters and setters,
+ fix a potential divide-by-zero in normalize(), and add
+ a FloatPoint constructor.
+
+ * platform/graphics/FloatPoint3D.cpp:
+ (WebCore::FloatPoint3D::FloatPoint3D):
+ (WebCore::FloatPoint3D::normalize):
+ * platform/graphics/FloatPoint3D.h:
+ (WebCore::FloatPoint3D::x):
+ (WebCore::FloatPoint3D::setX):
+ (WebCore::FloatPoint3D::y):
+ (WebCore::FloatPoint3D::setY):
+ (WebCore::FloatPoint3D::z):
+ (WebCore::FloatPoint3D::setZ):
+
+2008-12-09 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
+ https://bugs.webkit.org/show_bug.cgi?id=22665
+
+ - Removed setCreatedByParser from style and link elements.
+
+ - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser.
+
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizer.h:
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::startElementNs):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::parseStartElement):
+ * html/HTMLElementFactory.cpp:
+ (WebCore::linkConstructor):
+ (WebCore::styleConstructor):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::HTMLLinkElement):
+ * html/HTMLLinkElement.h:
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::HTMLStyleElement):
+ * html/HTMLStyleElement.h:
+ * html/HTMLTagNames.in:
+ * svg/SVGStyleElement.cpp:
+ (WebCore::SVGStyleElement::SVGStyleElement):
+ * svg/SVGStyleElement.h:
+ * svg/svgtags.in:
+
+2008-12-10 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin
+
+ https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> -
+ Dialog when going back to a page from whence you submitted a form
+
+ http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to
+ http requests, which caused the networking layer to have an incomplete set of headers
+ just before consulting the Policy Delegate. This caused a cache miss and incorrectly made
+ us believe we'd be resubmitting the form.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by
+ the Origin header mechanism as discussed in bug 22194, restore the previous behavior of
+ setting all the headers before the networking layer is asked about the cache lookup.
+
+2008-12-10 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Add back ability to end all profiling via console by invoking profileEnd
+ with no arguments.
+
+ * page/Console.cpp:
+ (WebCore::Console::profileEnd): Removed title null-checking and
+ subsequent early exit.
+
+2008-12-10 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Darin Adler.
+
+ KeyframeAnimation::animate() needs to compute the elapsed animation time
+ properly taking into account its paused state.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22773
+
+ Test: animations/animation-drt-api-multiple-keyframes.html
+
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::animate):
+
+2008-12-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ Part of
+ https://bugs.webkit.org/show_bug.cgi?id=22570
+
+ Rename methods on RenderLayer for clarity:
+ clearClipRects -> clearClipRectsIncludingDescendants
+ clearClipRect -> clearClipRects
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::destroy):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPosition):
+ (WebCore::RenderLayer::removeOnlyThisLayer):
+ (WebCore::RenderLayer::insertOnlyThisLayer):
+ (WebCore::RenderLayer::clearClipRectsIncludingDescendants):
+ (WebCore::RenderLayer::clearClipRects):
+ * rendering/RenderLayer.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::destroy):
+
+2008-12-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix after the script call stack/frame additions.
+
+ * WebCoreSources.bkl:
+
+2008-12-10 Srinivasa Rao M. Hamse <msrinirao@gmail.com>
+
+ Reviewed by Holger Freyther.
+
+ F1-F12 key mappings for WebKit Gtk Port
+
+ * platform/gtk/KeyEventGtk.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent):
+
+2008-12-10 Enrico Ros <enrico.ros@m31.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt build when SVG is disabled. A broken dependancy caused
+ unnecessary rebuilds even with no changes.
+
+ * WebCore.pro: fix a broken build dependancy
+
+2008-12-10 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
+ https://bugs.webkit.org/show_bug.cgi?id=21820
+
+ <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
+ <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence
+
+ Tests: editing/deleting/delete-ligature-001.html
+ editing/deleting/delete-ligature-002.html
+ editing/deleting/delete-ligature-003.html
+
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character
+ of a ligature which consists of multiple Unicode characters when deleting it with
+ a backspace key.
+
+2008-12-10 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22177
+ Fix the windows build by removing calls to notifyFormStateChanged
+ where they didn't appear in the original reviewed patch.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::type):
+ (WebCore::HTMLInputElement::attach):
+
+2008-12-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Add ScriptController::updateSecurityOrigin to notify the bindings
+ that a document's securityOrigin has been updated. This is used by
+ V8 to update its security context.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::updateSecurityOrigin):
+ * bindings/js/ScriptController.h:
+ * dom/Document.cpp:
+ (WebCore::Document::setDomain):
+
+2008-12-09 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Fix a few config issues to let the Chromium Windows WebCore build get further.
+
+ * WebCore.scons:
+
+2008-12-09 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22177
+
+ Add a callback on ChromeClient that the state of form elements on
+ the page has changed. This is to allow clients implementing session
+ saving to know when the current state is dirty.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::notifyFormStateChanged):
+ (WebCore::HTMLInputElement::setInputType):
+ (WebCore::HTMLInputElement::type):
+ (WebCore::HTMLInputElement::attach):
+ (WebCore::HTMLInputElement::setValue):
+ (WebCore::HTMLInputElement::setValueFromRenderer):
+ (WebCore::HTMLInputElement::setFileListFromRenderer):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::setSelectedIndex):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::notifyFormStateChanged):
+ (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
+ (WebCore::HTMLTextAreaElement::updateValue):
+ (WebCore::HTMLTextAreaElement::setValue):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::formStateDidChange):
+ * page/ChromeClient.h:
+
+2008-12-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19762
+
+ Fix intermittent crash in buildbot. The CSSCursorImageValues and
+ SVGCursorElements held onto raw SVGElement pointers without any
+ guarantee that the element is still around.
+
+ We did not fix the design that resulted in this issue, we just fixed
+ the pointer lifetimes.
+
+ * css/CSSCursorImageValue.cpp:
+ (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers.
+ (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer.
+ (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element
+ is destroyed.
+ * css/CSSCursorImageValue.h: Added removeReferencedElement.
+
+ * svg/SVGCursorElement.cpp:
+ (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers.
+ (WebCore::SVGCursorElement::addClient): Set up a back pointer.
+ (WebCore::SVGCursorElement::removeClient): Zero out the back pointer.
+
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::SVGElement): Initialize back pointers to zero.
+ (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value
+ to remove the element from their sets.
+ * svg/SVGElement.h:
+ (WebCore::SVGElement::setCursorElement): Added.
+ (WebCore::SVGElement::setCursorImageValue): Added.
+
+2008-12-09 David Hyatt <hyatt@apple.com>
+
+ Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning
+ frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically
+ yet as you switch from page to page (until they are destroyed and recreated).
+
+ Reviewed by Adele
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::createScrollbar):
+
+2008-12-09 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22689
+ Match Firefox button metrics on Windows.
+
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::addChild):
+ (WebCore::RenderButton::styleDidChange):
+ (WebCore::RenderButton::setupInnerStyle):
+ * rendering/RenderButton.h:
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustButtonInnerStyle):
+ * rendering/RenderTheme.h:
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::adjustSliderThumbSize):
+ (WebCore::RenderThemeWin::adjustButtonInnerStyle):
+ * rendering/RenderThemeWin.h:
+
+2008-12-09 Darin Fisher <darin@chromium.org>
+
+ Fixes bustages.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22631
+ Adding missing files from previous commit.
+
+ * bindings/js/ScriptCallFrame.cpp: Added.
+ (WebCore::ScriptCallFrame::ScriptCallFrame):
+ (WebCore::ScriptCallFrame::~ScriptCallFrame):
+ (WebCore::ScriptCallFrame::argumentAt):
+ * bindings/js/ScriptCallFrame.h: Added.
+ (WebCore::ScriptCallFrame::functionName):
+ (WebCore::ScriptCallFrame::sourceURL):
+ (WebCore::ScriptCallFrame::lineNumber):
+ (WebCore::ScriptCallFrame::argumentCount):
+ * bindings/js/ScriptCallStack.cpp: Added.
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::~ScriptCallStack):
+ (WebCore::ScriptCallStack::at):
+ (WebCore::ScriptCallStack::size):
+ (WebCore::ScriptCallStack::initialize):
+ * bindings/js/ScriptCallStack.h: Added.
+ (WebCore::ScriptCallStack::state):
+
+2008-12-09 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22631
+ Streamline Console.cpp, abstract out the use of JSC::ExecState and
+ JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack
+ abstractions.
+
+ * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build
+ * WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build
+ * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and
+ ScriptCallStack to project
+ * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and
+ ScriptCallStack to project
+ * bindings/js/JSConsoleCustom.cpp: Remove custom bindings.
+ * bindings/js/ScriptCallFrame.cpp: Added.
+ (WebCore::ScriptCallFrame::ScriptCallFrame):
+ (WebCore::ScriptCallFrame::~ScriptCallFrame):
+ (WebCore::ScriptCallFrame::argumentAt):
+ * bindings/js/ScriptCallFrame.h: Added.
+ (WebCore::ScriptCallFrame::functionName):
+ (WebCore::ScriptCallFrame::sourceURL):
+ (WebCore::ScriptCallFrame::lineNumber):
+ (WebCore::ScriptCallFrame::argumentCount):
+ * bindings/js/ScriptCallStack.cpp: Added.
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::~ScriptCallStack):
+ (WebCore::ScriptCallStack::at):
+ (WebCore::ScriptCallStack::size):
+ (WebCore::ScriptCallStack::initialize):
+ * bindings/js/ScriptCallStack.h: Added.
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ (WebCore::ScriptCallStack::~ScriptCallStack):
+ (WebCore::ScriptCallStack::state):
+ (WebCore::ScriptCallStack::at):
+ (WebCore::ScriptCallStack::size):
+ (WebCore::ScriptCallStack::initialize):
+ * bindings/js/ScriptString.h: Added missing PlatformString include.
+ (WebCore::ScriptString::ScriptString): Added default constructor.
+ (WebCore::ScriptString::operator==): Added equality operator.
+ (WebCore::ScriptString::operator!=):
+ * bindings/js/ScriptValue.cpp: Added isNull and isUndefined.
+ (WebCore::ScriptValue::isNull):
+ (WebCore::ScriptValue::isUndefined):
+ * bindings/js/ScriptValue.h: Added isNull and isUndefined
+ * bindings/scripts/CodeGeneratorJS.pm: Add handling for
+ CustomArgumentHandling attribute.
+ * inspector/InspectorController.cpp: Refactored to use
+ ScriptCallFrame and ScriptCallStack.
+ (WebCore::ConsoleMessage::ConsoleMessage):
+ (WebCore::InspectorController::addMessageToConsole):
+ (WebCore::InspectorController::startGroup):
+ (WebCore::InspectorController::addScriptConsoleMessage):
+ (WebCore::InspectorController::count):
+ (WebCore::InspectorController::startTiming):
+ (WebCore::InspectorController::stopTiming):
+ * inspector/InspectorController.h: Refactored to use ScriptCallFrame and
+ ScriptCallStack.
+ * inspector/front-end/Console.js: Modified to use argument value itself
+ rather than f.name for stack trace.
+ * page/Console.cpp: Refactored to use ScriptCallFrame and
+ ScriptCallStack.
+ (WebCore::getFirstArgumentAsString):
+ (WebCore::Console::addMessage):
+ (WebCore::Console::debug):
+ (WebCore::Console::error):
+ (WebCore::Console::info):
+ (WebCore::Console::log):
+ (WebCore::Console::dir):
+ (WebCore::Console::dirxml):
+ (WebCore::Console::trace):
+ (WebCore::Console::assertCondition):
+ (WebCore::Console::count):
+ (WebCore::Console::profile):
+ (WebCore::Console::profileEnd):
+ (WebCore::Console::time):
+ (WebCore::Console::timeEnd):
+ (WebCore::Console::group):
+ (WebCore::Console::warn):
+ * page/Console.h:
+ * page/Console.idl: Removed Custom attributes, added
+ CustomArgumentHandling attributes, and tweaked argument defs.
+
+2008-12-09 Darin Adler <darin@apple.com>
+
+ Try to fix non-Mac builds.
+
+ * GNUmakefile.am: Added NavigatorBase.
+ * WebCore.pro: Ditto.
+ * WebCore.scons: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+
+ Unrelated tweak sitting in my tree.
+
+ * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method.
+
+2008-12-09 Darin Adler <darin@apple.com>
+
+ Try to fix Tiger build.
+
+ * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain.
+
+2008-12-09 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22719
+ Implement Navigator object in Workers
+
+ Test: fast/workers/worker-navigator.html
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Added WorkerNavigator sources.
+
+ * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator):
+ Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec,
+ but it is not the same interface that is available on Windows).
+
+ * dom/Worker.cpp:
+ (WebCore::Worker::notifyFinished):
+ * dom/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ (WebCore::WorkerContext::navigator):
+ * dom/WorkerContext.h:
+ (WebCore::WorkerContext::create):
+ * dom/WorkerThread.cpp:
+ (WebCore::WorkerThread::create):
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::workerThread):
+ * dom/WorkerThread.h:
+ Pass a pre-computed user agent string into worker, because it cannot call a client method
+ directly, and pre-computing is easier than sending a synchronous message to the main thread.
+
+ * page/Navigator.cpp:
+ * page/Navigator.h:
+ * page/NavigatorBase.cpp: Added.
+ * page/NavigatorBase.h: Added.
+ Factor out common (and uncommon, but very similar) functionality into a base class.
+
+ * page/WorkerNavigator.cpp: Added.
+ * page/WorkerNavigator.h: Added.
+ * page/WorkerNavigator.idl: Added.
+ Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator.
+
+ * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier):
+ Make networkStateNotifier() static constructor thread safe. The object is created on the
+ thread it is first called from, while callbacks are registered on the main thread. Calls to
+ onLine() from other threads are safe, because it is just loading a boolean.
+
+ * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier):
+ Schedule notifications on main event loop, not the current one.
+
+2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Rubber-stamped by Alexey Proskuryakov.
+
+ Forgot to update Qt/WML build - add some new files to the build.
+
+ * WebCore.pro:
+
+2008-12-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637
+
+ Implement the GET method for WMLGoElement, and some test covering it's behaviour.
+ Update all build systems supporting WML that haven't been updated since a while.
+
+ Add WMLPostField stub implementation, needed for implementing POST method.
+
+ Tests: wml/go-task-get-method-external-deck-with-href.html
+ wml/go-task-get-method-external-deck.html
+ wml/go-task-get-method-same-deck.html
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::resetWMLPageState):
+ * wml/WMLCardElement.cpp:
+ * wml/WMLCardElement.h:
+ * wml/WMLEventHandlingElement.cpp:
+ (WebCore::WMLCardElement::registerDoElement):
+ * wml/WMLEventHandlingElement.h:
+ * wml/WMLGoElement.cpp:
+ (WebCore::WMLGoElement::WMLGoElement):
+ (WebCore::WMLGoElement::registerPostfieldElement):
+ (WebCore::WMLGoElement::parseMappedAttribute):
+ (WebCore::WMLGoElement::executeTask):
+ (WebCore::WMLGoElement::parseContentType):
+ (WebCore::WMLGoElement::preparePOSTRequest):
+ (WebCore::WMLGoElement::prepareGETRequest):
+ * wml/WMLGoElement.h:
+ * wml/WMLPostfieldElement.cpp: Added.
+ (WebCore::WMLPostfieldElement::WMLPostfieldElement):
+ (WebCore::WMLPostfieldElement::parseMappedAttribute):
+ (WebCore::WMLPostfieldElement::insertedIntoDocument):
+ * wml/WMLPostfieldElement.h: Added.
+ (WebCore::WMLPostfieldElement::name):
+ (WebCore::WMLPostfieldElement::value):
+ * wml/WMLTagNames.in:
+
+2008-12-08 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=16814
+ Allow ports to disable ActiveX->NPAPI conversion for Media Player.
+ Improve handling of miscellaneous ActiveX objects.
+
+ * rendering/RenderPartObject.cpp:
+ (WebCore::mapClassIdToServiceType):
+ (WebCore::shouldUseChildEmbedOfObject):
+ (WebCore::RenderPartObject::updateWidget):
+
+2008-12-08 Darin Adler <darin@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=22409
+ REGRESSION: cmd-shift-left/right don't switch tabs, instead select text
+
+ Tests: editing/execCommand/enabling-and-selection-2.html
+ editing/execCommand/enabling-and-selection.html
+
+ * editing/EditorCommand.cpp: Updated table to use these functions by their new names.
+ (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm.
+ An invisible selection with a position that selects no characters doesn't count
+ as a visible selection.
+ (WebCore::enabledVisibleSelectionAndMark): Ditto.
+
+2008-12-08 David Kilzer <ddkilzer@apple.com>
+
+ Remove duplicate entries from WebCore project.
+
+ Reviewed by Eric Seidel.
+
+ Bug 22555: Sort "children" sections in Xcode project files.
+ <https://bugs.webkit.org/show_bug.cgi?id=22555>
+
+ Recipe for removing duplicates:
+ $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj
+ $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj
+
+ * WebCore.xcodeproj/project.pbxproj: Removed duplicates.
+
+2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it
+ https://bugs.webkit.org/show_bug.cgi?id=22665
+
+ Remove setCreatedByParser from the script elements (HTML and SVG).
+
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed
+ call to setCreatedByParser for the 2 elements.
+
+ * dom/make_names.pl: Modified to call the constructor with
+ the createByParser parameter if 'constructorNeedsCreatedByParser'
+ is set.
+
+ * html/HTMLElementFactory.cpp:
+ (WebCore::scriptConstructor):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::HTMLScriptElement):
+ * html/HTMLScriptElement.h:
+ * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser
+ to script.
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::SVGScriptElement):
+ * svg/SVGScriptElement.h:
+ * svg/svgtags.in: Added constructorNeedsCreatedByParser
+ to script.
+
+2008-12-08 David Kilzer <ddkilzer@apple.com>
+
+ Bug 22555: Sort "children" sections in Xcode project files
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22555>
+
+ Reviewed by Eric Seidel.
+
+ * WebCore.xcodeproj/project.pbxproj: Sorted.
+ * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted.
+
+2008-12-08 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a bool to GraphicsContext so that shadows can ignore
+ transformations. This is needed by HTML canvas element
+ where the spec says shadows are applied w/o transformations.
+ https://bugs.webkit.org/show_bug.cgi?id=22580
+
+ No functional changes, thus no tests.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setShadow):
+ (WebCore::CanvasRenderingContext2D::applyShadow):
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/GraphicsContextPrivate.h:
+ (WebCore::GraphicsContextState::GraphicsContextState):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::setPlatformShadow):
+
+2008-12-08 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 17897: Not Rendering Images Imported from XHTML Document
+ <rdar://problem/5827614>
+
+ When we were loading document with XMLHttpRequest that contained images, the images
+ would not be fetched as they would not be displayed. However if we inserted such
+ an image element into a rendered document, we would not fetch the image and thus never
+ display it.
+
+ Now we check if the image has been loaded when we insert an HTMLImageElement into a
+ document.
+ To enable this, the image loader has an error flag. To avoid doing several attempts
+ when we know that the image is in error, we store the failed URL.
+ However Firefox and Opera ignore errors when the 'src' attribute changes and thus
+ we also have an updateFromElementIgnoringPreviousError to match the other browser.
+
+ Tests: http/tests/misc/image-blocked-src-change.html
+ http/tests/misc/image-blocked-src-no-change.html
+ http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg
+ http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html
+
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
+ (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have
+ an image.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError.
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto.
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::setImage): Added an assertion.
+ (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying
+ multiple errors in the console for a single image load).
+
+ (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error
+ before calling updateFromElement.
+
+ (WebCore::ImageLoader::notifyFinished): Added an assertion.
+ * loader/ImageLoader.h:
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError.
+
+2008-12-08 David Hyatt <hyatt@apple.com>
+
+ Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create
+ custom CSS scrollbars.
+
+ Reviewed by Eric Seidel
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::createScrollbar):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ (WebCore::ScrollView::createScrollbar):
+ * platform/ScrollView.h:
+
+2008-12-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - WebCore part of tracking the global history item for a WebView
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's
+ global history item to the current back/forward list item, respecting
+ private browsing mode.
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this
+ case.
+ (WebCore::FrameLoader::goToItem): Ditto in this case.
+ (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load
+ creates a new global history item, set the page's global history item
+ to it.
+ (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
+ Ditto.
+ * page/Page.cpp:
+ (WebCore::Page::setGlobalHistoryItem): Added this setter.
+ * page/Page.h: Added a m_globalHistoryItem data member.
+ (WebCore::Page::globalHistoryItem): Added this getter.
+
+2008-12-08 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dave Kilzer.
+
+ A few stylistic fixes suggested by Dave Kilzer.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::createIdentifier):
+ (WebCore::CSSPrimitiveValue::create):
+
+2008-12-08 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22737
+ Try debug version when locating CFNetwork
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::findCFNetworkModule):
+ (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
+ (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
+ * platform/network/win/CookieJarCFNetWin.cpp:
+ (WebCore::findCFNetworkModule):
+ (WebCore::findIsHTTPOnlyFunction):
+
+2008-12-08 Aaron Boodman <aa@chromium.org>
+
+ Reviewed by Stephanie Lewis.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22301
+ Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedParsing):
+
+2008-12-08 Trenton Schulz <trenton.schulz@nokia.com>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Fix build warning on Mac
+
+ * platform/text/mac/StringImplMac.mm:
+
+2008-12-08 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp
+ constructor.
+
+2008-12-08 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
+ <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)
+
+ This regression was caused by r39059 replacing the protector on the active
+ animation with a protector on just the composition. It turns out that both
+ protectors are necessary.
+
+ Test: transitions/transition-duration-cleared-in-transitionend-crash.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::animationTimerCallbackFired):
+
+2008-12-08 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22732
+ Remove unused files PausedTimeouts.h,.cpp
+ The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.scons:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ These are build files which had PausedTimeouts referenced.
+
+ * bindings/js/PausedTimeouts.cpp: Removed.
+ * bindings/js/PausedTimeouts.h: Removed.
+ * bindings/js/ScriptController.cpp: Removed '#include'
+ * page/Chrome.cpp: Removed '#include' and unused variable.
+
+2008-12-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=22594
+
+ Fix issues which break reading inline style for -webkit-transition
+ and -webkit-transform-origin.
+
+ Test: fast/css/transform-inline-style.html
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases
+ for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition
+ so that these shorthand properties are returned correctly.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues
+ with the correct CSSValueAll and CSSValueNone identifiers, not the
+ RenderStyle-level cAnimateAll, cAnimateNone.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll
+ and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties.
+
+2008-12-07 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22717
+ Make CSS values use less memory
+
+ Share CSSPrimitiveValue objects for commonly used values including
+ - idents
+ - colors
+ - small integers
+
+ This reduces the amount CSSPrimitiveValue instances by > 80%.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::createIdentifier):
+ (WebCore::CSSPrimitiveValue::createColor):
+ (WebCore::CSSPrimitiveValue::create):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::create):
+
+2008-12-07 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22717
+ Make CSS values use less memory
+
+ Get CSSValues off from the common StyleBase base class. They don't
+ need a parent pointer or anything else there and there is no real
+ reason to have them in same data structures with other CSSOM objects.
+
+ Disabled (instead of refactoring around the lack of common base) the ability
+ to have style declaration blocks as CSS variable values. They don't exist in
+ the spec so I wasn't sure if they have future or not. It would not be hard to
+ get them back. CSS variables are in any case an experimental feature and
+ not enabled by default.
+
+ * css/CSSInitialValue.h:
+ (WebCore::CSSInitialValue::createExplicit):
+ (WebCore::CSSInitialValue::createImplicit):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::addVariableDeclarationBlock):
+ * css/CSSParser.h:
+ * css/CSSValue.h:
+ (WebCore::CSSValue::~CSSValue):
+ (WebCore::CSSValue::parserValue):
+ * css/CSSVariablesDeclaration.cpp:
+ (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
+ (WebCore::CSSVariablesDeclaration::getVariableValue):
+ (WebCore::CSSVariablesDeclaration::removeVariable):
+ (WebCore::CSSVariablesDeclaration::addParsedVariable):
+ (WebCore::CSSVariablesDeclaration::getParsedVariable):
+ (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock):
+ * css/CSSVariablesDeclaration.h:
+ (WebCore::CSSVariablesDeclaration::create):
+ * css/StyleBase.h:
+
+2008-12-07 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Add gradient and pattern support for strokeRect on canvas/Cg.
+
+ Canvas strokeRect() doesn't support gradients
+ https://bugs.webkit.org/show_bug.cgi?id=19790
+
+ Test: fast/canvas/canvas-strokeRect.html
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::strokeRect):
+
+2008-12-06 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Add support for setTransform() in canvas.
+
+ <canvas> lacks transform() and setTransform()
+ https://bugs.webkit.org/show_bug.cgi?id=16604
+
+ Test: fast/canvas/canvas-setTransform.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::State::State):
+ (WebCore::CanvasRenderingContext2D::setStrokeStyle):
+ (WebCore::CanvasRenderingContext2D::setFillStyle):
+ (WebCore::CanvasRenderingContext2D::scale):
+ (WebCore::CanvasRenderingContext2D::rotate):
+ (WebCore::CanvasRenderingContext2D::translate):
+ (WebCore::CanvasRenderingContext2D::transform):
+ (WebCore::CanvasRenderingContext2D::setTransform):
+ (WebCore::CanvasRenderingContext2D::beginPath):
+ (WebCore::CanvasRenderingContext2D::closePath):
+ (WebCore::CanvasRenderingContext2D::moveTo):
+ (WebCore::CanvasRenderingContext2D::lineTo):
+ (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
+ (WebCore::CanvasRenderingContext2D::bezierCurveTo):
+ (WebCore::CanvasRenderingContext2D::arcTo):
+ (WebCore::CanvasRenderingContext2D::arc):
+ (WebCore::CanvasRenderingContext2D::rect):
+ (WebCore::CanvasRenderingContext2D::fill):
+ (WebCore::CanvasRenderingContext2D::stroke):
+ (WebCore::CanvasRenderingContext2D::clip):
+ (WebCore::CanvasRenderingContext2D::isPointInPath):
+ (WebCore::CanvasRenderingContext2D::clearRect):
+ (WebCore::CanvasRenderingContext2D::fillRect):
+ (WebCore::CanvasRenderingContext2D::strokeRect):
+ (WebCore::CanvasRenderingContext2D::drawImage):
+ (WebCore::CanvasRenderingContext2D::drawImageFromRect):
+ (WebCore::CanvasRenderingContext2D::willDraw):
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ * html/CanvasRenderingContext2D.h:
+ * html/CanvasRenderingContext2D.idl:
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::baseTransform):
+ * html/HTMLCanvasElement.h:
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::baseTransform):
+
+2008-12-06 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Also copy m_implicit field. Darin wanted this change commited separately.
+
+ * css/CSSProperty.h:
+ (WebCore::CSSProperty::operator=):
+
+2008-12-06 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22379
+ Make CSSOM use less memory
+
+ Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration.
+
+ Taught setter functions to use existing slots to avoid memory moves, plus some
+ other optimizations.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
+ (WebCore::CSSMutableStyleDeclaration::operator=):
+ (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
+ (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
+ (WebCore::CSSMutableStyleDeclaration::removeProperty):
+ (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
+ (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
+ (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
+ (WebCore::CSSMutableStyleDeclaration::setProperty):
+ (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
+ (WebCore::CSSMutableStyleDeclaration::setStringProperty):
+ (WebCore::CSSMutableStyleDeclaration::setImageProperty):
+ (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
+ (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
+ (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
+ (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
+ (WebCore::CSSMutableStyleDeclaration::length):
+ (WebCore::CSSMutableStyleDeclaration::item):
+ (WebCore::CSSMutableStyleDeclaration::cssText):
+ (WebCore::CSSMutableStyleDeclaration::setCssText):
+ (WebCore::CSSMutableStyleDeclaration::merge):
+ (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
+ (WebCore::CSSMutableStyleDeclaration::copy):
+ (WebCore::CSSMutableStyleDeclaration::findPropertyWithId):
+ * css/CSSMutableStyleDeclaration.h:
+ (WebCore::CSSMutableStyleDeclarationConstIterator::operator*):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::operator->):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::operator==):
+ (WebCore::CSSMutableStyleDeclaration::create):
+ (WebCore::CSSMutableStyleDeclaration::begin):
+ (WebCore::CSSMutableStyleDeclaration::end):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::operator=):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::operator++):
+ (WebCore::CSSMutableStyleDeclarationConstIterator::operator--):
+ * css/CSSProperty.h:
+ (WTF::):
+ * css/CSSStyleDeclaration.cpp:
+ (WebCore::CSSStyleDeclaration::diff):
+ (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
+ (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
+ (WebCore::CSSStyleSelector::applyDeclarations):
+ * dom/EventTarget.h:
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::init):
+ (WebCore::ApplyStyleCommand::isHTMLStyleNode):
+ (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
+ (WebCore::ApplyStyleCommand::removeCSSStyle):
+ * editing/Editor.cpp:
+ (WebCore::Editor::selectionStartHasStyle):
+ (WebCore::updateState):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::handleStyleSpans):
+ * editing/markup.cpp:
+ (WebCore::appendStartMarkup):
+
+2008-12-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Antti Koivisto, Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=22088
+
+ Fix logic related to repainting when transform changes:
+ If an object has a layer, and the transform changes, then we need
+ to do a repaintIncludingDescendants(), not just a repaint.
+
+ Test: fast/repaint/transform-repaint-descendants.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+
+2008-12-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=15739
+
+ When painting the selection on a replaced element, paint
+ using local coordinates so that the selection is correctly
+ painted for transformed elements.
+
+ Test: fast/replaced/selection-rect-transform.html
+
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::paint):
+
+2008-12-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=15671
+
+ Fix caret rendering to behave correctly with transforms:
+ * Rename caretRect() methods to localCaretRect() and
+ absoluteCaretBounds() as appropriate
+ * Fix localCaretRect() methods to return a rect in the
+ appropriate coordinates.
+ * Pass tx, ty down through the paintCaret() methods, after fixing them
+ up to account for differences between contents coords, and renderer-local
+ coords (via RenderBlock::offsetForContents()).
+ * Remove m_caretPositionOnLayout from SelectionController, and instead
+ call invalidateSelection() from RenderLayer::scrollToOffset(), because
+ we can no longer assume simple x/y offsets from scrolling with transforms.
+ * Move the logic to compute which RenderObject actually paints the caret into
+ SelectionController::caretRenderer(), rather than having it in RenderBlock.
+ * SelectionController now computes and caches a local caret rect. For invalidation,
+ it computes the absolute bounds of that (possibly transformed) local rect.
+ The local rect is computed in the coordinate system of the RenderObject that
+ will paint the caret (this may require offsetting from the actual renderer
+ at the start of the selection).
+ * Fix LayoutState(RenderObject* root) to take transforms into account
+ * Make offsetFromContainer() a virtual method on RenderObject, and implement
+ the RenderObject version. It's used to map from selection start renderer
+ to caret renderer.
+
+ Test: fast/transforms/transformed-caret.html
+
+ * WebCore.base.exp:
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::mergeParagraphs):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::SelectionController):
+ (WebCore::absoluteCaretY):
+ (WebCore::SelectionController::modify):
+ (WebCore::SelectionController::xPosForVerticalArrowNavigation):
+ (WebCore::SelectionController::layout):
+ (WebCore::SelectionController::caretRenderer):
+ (WebCore::SelectionController::localCaretRect):
+ (WebCore::SelectionController::absoluteCaretBounds):
+ (WebCore::SelectionController::caretRepaintRect):
+ (WebCore::SelectionController::recomputeCaretRect):
+ (WebCore::SelectionController::invalidateCaretRect):
+ (WebCore::SelectionController::paintCaret):
+ (WebCore::SelectionController::caretRendersInsideNode):
+ * editing/SelectionController.h:
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::localCaretRect):
+ (WebCore::VisiblePosition::absoluteCaretBounds):
+ (WebCore::VisiblePosition::xOffsetForVerticalNavigation):
+ * editing/VisiblePosition.h:
+ * editing/mac/SelectionControllerMac.mm:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::isContentEditable):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
+ * page/Frame.cpp:
+ (WebCore::Frame::firstRectForRange):
+ (WebCore::Frame::selectionLayoutChanged):
+ (WebCore::Frame::paintCaret):
+ (WebCore::Frame::paintDragCaret):
+ (WebCore::Frame::revealSelection):
+ (WebCore::Frame::revealCaret):
+ * page/Frame.h:
+ * rendering/LayoutState.cpp:
+ (WebCore::LayoutState::LayoutState):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintCaret):
+ (WebCore::RenderBlock::paintObject):
+ (WebCore::RenderBlock::positionForCoordinates):
+ (WebCore::RenderBlock::offsetForContents):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+ * rendering/RenderBox.h:
+ * rendering/RenderFlow.cpp:
+ (WebCore::RenderFlow::localCaretRect):
+ * rendering/RenderFlow.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::localCaretRect):
+ * rendering/RenderObject.h:
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::localCaretRect):
+ * rendering/RenderSVGInlineText.h:
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::RenderText):
+ (WebCore::RenderText::localCaretRect):
+ * rendering/RenderText.h:
+
+2008-12-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 22711: Current svn (build 39065) fails to compile
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22711>
+
+ BUILD FIX for r39065: Forgot parentheses after "document".
+
+ Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
+ <https://bugs.webkit.org/show_bug.cgi?id=22666>
+
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed
+ document to document().
+
+2008-12-06 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22710
+ Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document
+
+ * bindings/js/DOMTimer.cpp:
+ (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object.
+
+2008-12-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22666>
+
+ Reviewed by Darin Adler.
+
+ When creating a webarchive from WebCore::LegacyWebArchive::create(),
+ HashSet<String>, Vector<KURL> and Vector<String> were all used to
+ store a list of URLs for resources found in the document. Instead
+ use a single ListHashSet<KURL> to store the list and resolve the
+ relative URLs as they're added. We use a new inline method called
+ WebCore::addSubresourceURL() to add KURL objects to the ListHashSet
+ to prevent "null" KURL objects from crashing in the KURL hashing
+ function.
+
+ * WebCore.base.exp: Changed export of
+ WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL>
+ argument instead of a Vector<KURL>.
+
+ * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private
+ header for use in WebKit.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from
+ addSubresourceURLStrings(). Changed to use ListHashSet<KURL>
+ instead of HashSet<String>. Cleaned up code.
+ * css/CSSStyleSheet.h:
+ (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto.
+ * css/StyleSheet.h:
+ (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto.
+
+ * dom/Node.cpp:
+ (WebCore::Node::getSubresourceURLs): Changed to use
+ ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code.
+ * dom/Node.h:
+ (WebCore::Node::getSubresourceURLs): Ditto.
+ (WebCore::Node::addSubresourceAttributeURLs): Renamed from
+ getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL>
+ instead of Vector<String>.
+ (WebCore::addSubresourceURL): Added. Safely adds new KURL objects
+ to a ListHashSet<KURL> object. A "null" KURL object will cause the
+ hash function to crash since it contains a null StringImpl. Used in
+ Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in
+ the style subsystem.
+
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::addSubresourceAttributeURLs):
+ Renamed from getSubresourceAttributeStrings(). Changed to use
+ ListHashSet<KURL> instead of Vector<String>. Use
+ WebCore::addSubresourceURL() to add new KURL objects.
+ * dom/ProcessingInstruction.h: Ditto.
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLBodyElement.h: Ditto.
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLEmbedElement.h: Ditto.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLImageElement.h: Ditto.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLInputElement.h: Ditto.
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLLinkElement.h: Ditto.
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLObjectElement.h: Ditto.
+ * html/HTMLParamElement.cpp:
+ (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLParamElement.h: Ditto.
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLScriptElement.h: Ditto.
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLStyleElement.h: Ditto.
+ * html/HTMLTableCellElement.cpp:
+ (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLTableCellElement.h: Ditto.
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto.
+ * html/HTMLTableElement.h: Ditto.
+
+ * loader/archive/cf/LegacyWebArchive.cpp:
+ (WebCore::LegacyWebArchive::create): Changed from using
+ HashSet<String> to ListHashSet<KURL> for tracking unique
+ subresources. Changed from using Vector<KURL> to ListHashSet<KURL>
+ when calling WebCore::Node::getSubresourceURLs(). Cleaned up code.
+
+ * svg/SVGCursorElement.cpp:
+ (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed
+ from getSubresourceAttributeStrings(). Changed to use
+ ListHashSet<KURL> instead of Vector<String>. Use
+ WebCore::addSubresourceURL() to add new KURL objects.
+ * svg/SVGCursorElement.h: Ditto.
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto.
+ * svg/SVGFEImageElement.h: Ditto.
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto.
+ * svg/SVGImageElement.h: Ditto.
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto.
+ * svg/SVGScriptElement.h: Ditto.
+
+2008-12-05 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Make the page group use the proper link hashing functions rather than
+ calling the string hash functions directly. Add Chromium-specfic ifdefs
+ in the visited link computation functions to allow integration.
+
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::isLinkVisited):
+ (WebCore::PageGroup::addVisitedLink):
+ * platform/LinkHash.cpp:
+ (WebCore::visitedLinkHash):
+ * platform/LinkHash.h:
+
+2008-12-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
+ For iteration and end events, previous fixes to prevent the deletion of
+ Animation objects (ref counting and hanging onto a ref during event callbacks)
+ was sufficient to prevent dangling pointers. But start events are sent in
+ the styleAvailable() call, which iterates over CompositeAnimation objects,
+ which are not ref counted. So that object can get destroyed in the event
+ handler while still active. So I added refcounting for CompositeAnimations.
+
+ Additionally, when am iterating over the CompositingAnimation list, it can
+ be deleted, which mutates the list. So I now make one pass over the list
+ building a vector of CompositeAnimation objects that need to be called and
+ then iterate over that vector to make the actual calls.
+
+ Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
+ the Animation objects it owns, I now keep a ref to the CompositeAnimation
+ in the timer callback for the iteration and end events. That means I no
+ longer need to keep a ref to the Animation objects themselves in that timer
+ callback, since the CompositeAnimation already has one.
+
+ Tests: animations/animation-iteration-event-destroy-renderer.html
+ animations/animation-start-event-destroy-renderer.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+ (WebCore::AnimationBase::animationTimerCallbackFired):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
+ (WebCore::AnimationControllerPrivate::accessCompositeAnimation):
+ (WebCore::AnimationControllerPrivate::clear):
+ (WebCore::AnimationControllerPrivate::styleAvailable):
+ (WebCore::AnimationControllerPrivate::updateAnimationTimer):
+ (WebCore::AnimationControllerPrivate::animationTimerFired):
+ (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer):
+ (WebCore::AnimationControllerPrivate::suspendAnimations):
+ (WebCore::AnimationControllerPrivate::resumeAnimations):
+ (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
+ (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
+ (WebCore::AnimationController::updateAnimations):
+ (WebCore::AnimationController::setAnimationStartTime):
+ (WebCore::AnimationController::setTransitionStartTime):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::animationController):
+ (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable):
+ (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
+ (WebCore::CompositeAnimationPrivate::clearRenderer):
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::animationController):
+ (WebCore::CompositeAnimation::isWaitingForStyleAvailable):
+ * page/animation/CompositeAnimation.h:
+ (WebCore::CompositeAnimation::create):
+
+2008-12-05 David Kilzer <ddkilzer@apple.com>
+
+ Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22609>
+ <rdar://problem/6331749>
+
+ Reviewed by Darin Adler.
+
+ Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.
+
+ Added back the code that generates a "compact" hash (instead of a
+ perfect hash) as a build-time option using the
+ ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation): Compute the number of elements that will
+ be stored in each hash table and pass it to GenerateHashTable().
+ (GenerateHashTable): Added new second parameter representing the
+ number of elements to store in the compact hash table. Added back
+ code to compute compact hash tables. Generate both hash table sizes
+ and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
+
+2008-12-05 Brett Wilson <brettw@chromium.org>
+
+ Fix build bustage from previous patch.
+
+ * css/CSSSelector.h:
+
+2008-12-05 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Add a missing include for OwnPtr to make CSSSelector compile without
+ precompiled headers.
+
+ * css/CSSSelector.h:
+
+2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
+ without relying on high-level WebCore types, as requested by Dave Hyatt.
+
+ No functional changes, thus no test cases.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::getTickmarks):
+ * page/FrameView.h:
+ * platform/ScrollbarClient.h:
+
+2008-12-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Make sure Window event listeners also tell the
+ Document about the event type, so noisy events
+ will be dispatched even if nothing in the document
+ is listening.
+ https://bugs.webkit.org/show_bug.cgi?id=20572
+
+ * dom/Document.cpp:
+ (WebCore::Document::addWindowEventListener):
+
+2008-12-05 Adam Roben <aroben@apple.com>
+
+ Windows build fix after r39026
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ Add some missing .get()s.
+
+2008-12-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Tiger build fix.
+
+ * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
+
+2008-12-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
+ in Safari before opening a mail message in Mail
+
+ * platform/mac/WebCoreObjCExtras.mm:
+ (WebCoreObjCFinalizeOnMainThread):
+ Don't call initializeThreading: we now expect the caller to do it, to simplify keeping
+ Tiger and post-Tiger behavior in line.
+
+ * bindings/objc/DOMRGBColor.mm:
+ (+[DOMRGBColor initialize]):
+ * bindings/objc/WebScriptObject.mm:
+ (+[WebScriptObject initialize]):
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (+[AccessibilityObjectWrapper initialize]):
+ * platform/mac/SharedBufferMac.mm:
+ (+[WebCoreSharedBufferData initialize]):
+ Call JSC::initializeThreading();
+
+2008-12-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
+
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
+ * platform/network/ResourceRequestBase.h:
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
+ (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
+ (WebCore::setContentDispositionEncodingFallbackArray):
+ (WebCore::copyContentDispositionEncodingFallbackArray):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ Added a way to specify encoding fallback list for Content-Disposition header.
+
+ * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and
+ pass a list of encodings to try when decoding Content-Disposition header, as described
+ in comments.
+
+2008-12-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22672
+ ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout
+
+ Test: http/tests/xmlhttprequest/send-on-abort.html
+
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
+ Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
+
+ * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This
+ reverts a recent change that made the behavior slightly closer to Firefox - but the
+ compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
+
+2008-12-05 Tobias König <tobias.koenig@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Record required package dependencies for the Qt build for a correct
+ pkg-config file.
+
+ * WebCore.pro:
+
+2008-12-05 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model
+
+ * plugins/mac/PluginPackageMac.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ (WebCore::PluginPackage::isPluginBlacklisted):
+
+2008-12-05 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22472
+
+ Revises charset alias map for TextCodecICU.
+ - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
+ - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
+ - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
+ mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
+ alias 'dos-874' to 'windows-874'.
+ - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
+ Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
+ directly going to 'GBK'.
+ - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.
+
+ Tests: fast/encoding/char-decoding-mac.html
+ fast/encoding/char-decoding.html
+
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::TextCodecICU::registerExtendedEncodingNames):
+
+2008-12-04 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Add a MIME mapping for the .htm extension to wx and GTK ports.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22668
+
+ * platform/gtk/MIMETypeRegistryGtk.cpp:
+ (WebCore::):
+ * platform/wx/MimeTypeRegistryWx.cpp:
+ (WebCore::):
+
+2008-12-04 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Implement basic text paste support in wx and add notImplemented stubs
+ to catch other methods.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22667
+
+ * platform/wx/PasteboardWx.cpp:
+ (WebCore::Pasteboard::canSmartReplace):
+ (WebCore::Pasteboard::plainText):
+ (WebCore::Pasteboard::documentFragment):
+ (WebCore::Pasteboard::writeImage):
+
+2008-12-04 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix for !USE(WXGC) build config.
+
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::contains):
+ (WebCore::Path::addLineTo):
+ (WebCore::Path::addQuadCurveTo):
+ (WebCore::Path::addBezierCurveTo):
+ (WebCore::Path::addArcTo):
+ (WebCore::Path::closeSubpath):
+ (WebCore::Path::addArc):
+ (WebCore::Path::addRect):
+ (WebCore::Path::addEllipse):
+ (WebCore::Path::transform):
+ (WebCore::Path::apply):
+ (WebCore::Path::isEmpty):
+
+2008-12-04 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Turn off styled controls until we can implement them properly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22662
+
+ * platform/wx/RenderThemeWx.cpp:
+ (WebCore::RenderThemeWx::isControlStyled):
+
+2008-12-04 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ wx implementations for Path API.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22661
+
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::~Path):
+ (WebCore::Path::contains):
+ (WebCore::Path::addLineTo):
+ (WebCore::Path::addQuadCurveTo):
+ (WebCore::Path::addBezierCurveTo):
+ (WebCore::Path::addArcTo):
+ (WebCore::Path::closeSubpath):
+ (WebCore::Path::addArc):
+ (WebCore::Path::addRect):
+ (WebCore::Path::addEllipse):
+ (WebCore::Path::transform):
+ (WebCore::Path::isEmpty):
+
+2008-12-04 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 22564: Make HTML elements' constructors take a QualifiedName
+ https://bugs.webkit.org/show_bug.cgi?id=22564
+
+ Updated the remaining constructors.
+
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::constructImage):
+ * dom/Document.cpp:
+ (WebCore::Document::getCSSCanvasElement):
+ * editing/DeleteButton.cpp:
+ (WebCore::DeleteButton::DeleteButton):
+ * html/HTMLAppletElement.cpp:
+ (WebCore::HTMLAppletElement::HTMLAppletElement):
+ * html/HTMLAppletElement.h:
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::HTMLAreaElement):
+ * html/HTMLAreaElement.h:
+ * html/HTMLBaseFontElement.cpp:
+ (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
+ * html/HTMLBaseFontElement.h:
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::HTMLCanvasElement):
+ * html/HTMLCanvasElement.h:
+ * html/HTMLElementFactory.cpp:
+ (WebCore::hrConstructor):
+ (WebCore::paragraphConstructor):
+ (WebCore::basefontConstructor):
+ (WebCore::fontConstructor):
+ (WebCore::anchorConstructor):
+ (WebCore::imageConstructor):
+ (WebCore::mapConstructor):
+ (WebCore::areaConstructor):
+ (WebCore::canvasConstructor):
+ (WebCore::appletConstructor):
+ (WebCore::embedConstructor):
+ (WebCore::objectConstructor):
+ (WebCore::paramConstructor):
+ (WebCore::scriptConstructor):
+ (WebCore::tableConstructor):
+ (WebCore::tableCaptionConstructor):
+ (WebCore::tableRowConstructor):
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::HTMLEmbedElement):
+ * html/HTMLEmbedElement.h:
+ * html/HTMLFontElement.cpp:
+ (WebCore::HTMLFontElement::HTMLFontElement):
+ * html/HTMLFontElement.h:
+ * html/HTMLHRElement.cpp:
+ (WebCore::HTMLHRElement::HTMLHRElement):
+ * html/HTMLHRElement.h:
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::HTMLImageElement):
+ * html/HTMLImageElement.h:
+ * html/HTMLMapElement.cpp:
+ (WebCore::HTMLMapElement::HTMLMapElement):
+ * html/HTMLMapElement.h:
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::HTMLObjectElement):
+ * html/HTMLObjectElement.h:
+ * html/HTMLParagraphElement.cpp:
+ (WebCore::HTMLParagraphElement::HTMLParagraphElement):
+ * html/HTMLParagraphElement.h:
+ * html/HTMLParamElement.cpp:
+ (WebCore::HTMLParamElement::HTMLParamElement):
+ * html/HTMLParamElement.h:
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError):
+ (WebCore::HTMLParser::mapCreateErrorCheck):
+ (WebCore::HTMLParser::handleIsindex):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::HTMLScriptElement):
+ * html/HTMLScriptElement.h:
+ * html/HTMLTableCaptionElement.cpp:
+ (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
+ * html/HTMLTableCaptionElement.h:
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::HTMLTableElement):
+ (WebCore::HTMLTableElement::createCaption):
+ (WebCore::HTMLTableElement::insertRow):
+ * html/HTMLTableElement.h:
+ * html/HTMLTableRowElement.cpp:
+ (WebCore::HTMLTableRowElement::HTMLTableRowElement):
+ * html/HTMLTableRowElement.h:
+ * html/HTMLTableSectionElement.cpp:
+ (WebCore::HTMLTableSectionElement::insertRow):
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createContainingTable):
+ (WebCore::HTMLViewSourceDocument::addLine):
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageDocumentElement::ImageDocumentElement):
+
+2008-12-04 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Add file missing from last commit.
+
+ * bindings/js/ScriptState.h: Added.
+
+2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Geoff Garen.
+
+ Implement ScriptState abstraction (initially, a simple typedef)
+ as means of carrying exception information across bindings boundaries
+ and in a script engine-independent way.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::scriptStateFromNode):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/ScriptState.h: Added.
+ * dom/NodeFilter.cpp:
+ (WebCore::NodeFilter::acceptNode):
+ * dom/NodeFilter.h:
+ (WebCore::NodeFilter::acceptNode):
+ * dom/NodeFilterCondition.cpp:
+ (WebCore::NodeFilterCondition::acceptNode):
+ * dom/NodeFilterCondition.h:
+ * dom/NodeIterator.cpp:
+ (WebCore::NodeIterator::nextNode):
+ (WebCore::NodeIterator::previousNode):
+ * dom/NodeIterator.h:
+ (WebCore::NodeIterator::nextNode):
+ (WebCore::NodeIterator::previousNode):
+ * dom/Traversal.cpp:
+ (WebCore::Traversal::acceptNode):
+ * dom/Traversal.h:
+ * dom/TreeWalker.cpp:
+ (WebCore::TreeWalker::parentNode):
+ (WebCore::TreeWalker::firstChild):
+ (WebCore::TreeWalker::lastChild):
+ (WebCore::TreeWalker::previousSibling):
+ (WebCore::TreeWalker::nextSibling):
+ (WebCore::TreeWalker::previousNode):
+ (WebCore::TreeWalker::nextNode):
+ * dom/TreeWalker.h:
+ (WebCore::TreeWalker::parentNode):
+ (WebCore::TreeWalker::firstChild):
+ (WebCore::TreeWalker::lastChild):
+ (WebCore::TreeWalker::previousSibling):
+ (WebCore::TreeWalker::nextSibling):
+ (WebCore::TreeWalker::previousNode):
+ (WebCore::TreeWalker::nextNode):
+
+2008-12-04 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
+ and potential similar issue with pauseAnimationAtTimeOnElementWithId().
+
+ https://bugs.webkit.org/show_bug.cgi?id=22641
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
+ (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
+
+2008-12-04 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Remove unused Completion.h include.
+
+ * html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
+
+2008-11-13 David Hyatt <hyatt@apple.com>
+
+ Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.
+
+ Reviewed by Darin Adler
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setParentVisible):
+
+2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix small translation glitch in the Qt file chooser.
+
+ * platform/qt/FileChooserQt.cpp:
+ (WebCore::FileChooser::basenameForWidth):
+
+2008-12-04 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Blacklist Silverlight plugin on Qt/Mac until supported
+
+ Currently the plugin crashes with a corrupted stack trace, possibly
+ related to https://bugs.webkit.org/show_bug.cgi?id=20635
+
+ * plugins/mac/PluginPackageMac.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ (WebCore::PluginPackage::isPluginBlacklisted):
+
+2008-12-03 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix non-Mac build.
+
+ * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
+
+2008-12-03 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove uses of document() in XMLHttpRequest where simple.
+ https://bugs.webkit.org/show_bug.cgi?id=22619
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::responseXML):
+ Return NULL in the worker case which is according to spec (and avoids using document()).
+
+ (WebCore::XMLHttpRequest::callReadyStateChangeListener):
+ (WebCore::XMLHttpRequest::initSend):
+ Use scriptExecutionContext() instead of document().
+
+2008-12-03 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
+ https://bugs.webkit.org/show_bug.cgi?id=22642
+
+ * dom/Document.cpp:
+ (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
+ (WebCore::ScriptExecutionContextTaskTimer::fired):
+ (WebCore::PerformTaskContext::PerformTaskContext):
+ (WebCore::performTask):
+ (WebCore::Document::postTask):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.cpp:
+ * dom/ScriptExecutionContext.h:
+ * dom/WorkerContext.cpp:
+ (WebCore::ScriptExecutionContextTaskWorkerTask::create):
+ (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask):
+ (WebCore::ScriptExecutionContextTaskWorkerTask::performTask):
+ (WebCore::WorkerContext::postTask):
+ * dom/WorkerContext.h:
+
+2008-12-03 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Using ActiveDOMObject as base class for DOMTimer.
+ https://bugs.webkit.org/show_bug.cgi?id=22620
+
+ Using ActiveDOMObject simplifies the code because ActiveDOMObject
+ is wired for stop/pause/resume on loading/unloading/caching the page etc
+ so the timer-specific code that does the same can be removed.
+ In addition, timers can be now paused/resumed 'in place' which
+ makes it unnecessary to 'serialize' them into special PausedTimeouts
+ instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
+ Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
+ of timeouts and makes it possible to not roundtrip them via PausedTimeouts
+ every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.
+
+ Timeouts are now paused with other ActiveDOMObjects:
+ - before creating CachedPage in FrameLoader::commitProvisionalLoad()
+ - in JavaScriptDebugServer::setJavaScriptPaused
+ - during modal UI operations in Chrome::*
+ this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()
+
+ Timeouts are stopped to prevent future firing from:
+ - FrameLoader::clear()
+ - FrameLoader::frameDetached()
+ this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()
+
+ This is also one of the steps to having timers in Workers. See the plan of
+ the next steps in the bug above.
+
+ * bindings/js/DOMTimer.cpp:
+ (WebCore::DOMTimer::DOMTimer):
+ (WebCore::DOMTimer::fired):
+ (WebCore::DOMTimer::hasPendingActivity):
+ (WebCore::DOMTimer::contextDestroyed):
+ (WebCore::DOMTimer::stop):
+ (WebCore::DOMTimer::suspend):
+ (WebCore::DOMTimer::resume):
+ (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
+
+ * bindings/js/DOMTimer.h:
+ * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper
+ (WebCore::markActiveObjectsForContext):
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
+ (WebCore::JSDOMWindowBase::clear):
+ (WebCore::JSDOMWindowBase::installTimeout):
+ (WebCore::JSDOMWindowBase::removeTimeout):
+ (WebCore::JSDOMWindowBase::timerFired):
+ (WebCore::JSDOMWindowBase::disconnectFrame):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/ScriptController.h:
+
+ * dom/Document.cpp: Document now holds a hash map id->timeout
+ (WebCore::Document::addTimeout):
+ (WebCore::Document::removeTimeout):
+ (WebCore::Document::findTimeout):
+ * dom/Document.h:
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::CachedPage):
+ (WebCore::CachedPage::restore):
+ (WebCore::CachedPage::clear):
+ * history/CachedPage.h:
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
+ (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
+ * inspector/JavaScriptDebugServer.h:
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::commitProvisionalLoad):
+ removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear();
+ I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload'
+ and then calls into client which can be external code and can cause any active object created in onunload
+ to fire. We can stop them all before firing onunload but it does not make a lot of sense.
+ I have a test to go with the next patch which verifies that timers set in onunload do not fire.
+
+ (WebCore::FrameLoader::open):
+ * page/Chrome.cpp:
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
+ (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
+
+2008-12-03 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text
+
+ In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
+ end of pasted content so that users don't get stuck with non-standard pargraph
+ spacing. This content threw off our handling of interchange newlines. Any interchange
+ newline, regardless of it's position in the incoming fragment was considered to be
+ "at the start" of the fragment, and would result in us inserting in a newline before
+ inserted content. This patch makes the checks for interchange newlines more strict,
+ and treats interchange newlines found elsewhere as normal <br>s.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::ReplacementFragment):
+ (WebCore::ReplacementFragment::removeInterchangeNodes):
+ * editing/VisiblePosition.cpp:
+ (WebCore::VisiblePosition::init):
+ (WebCore::VisiblePosition::canonicalPosition):
+ * editing/VisiblePosition.h:
+
+2008-12-03 Eric Seidel <eric@webkit.org>
+
+ Rubber-stamped by David Hyatt.
+
+ Bring the WebCore chromium build a couple steps closer to building.
+
+ * WebCore.scons:
+
+2008-12-03 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix.
+
+ * WebCoreSources.bkl:
+
+2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636
+
+ Implement WML variable substitution & validation.
+ Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.
+
+ Tests: wml/variable-reference-invalid-character.html
+ wml/variable-reference-valid.html
+
+ * wml/WMLVariables.cpp:
+ (WebCore::isValidFirstVariableNameCharacter):
+ (WebCore::isValidVariableNameCharacter):
+ (WebCore::isValidVariableEscapingModeString):
+ (WebCore::isValidVariableName):
+ (WebCore::containsVariableReference):
+ (WebCore::substituteVariableReferences):
+ * wml/WMLVariables.h:
+
+2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Further preparations for WML layout tests.
+ - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
+ - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
+ - Add helper method in Document.idl, to reset the WML page state to a well-known default state.
+ (will be used in the upcoming LayoutTests/wml testcases)
+
+ * dom/Document.cpp:
+ (WebCore::Document::resetWMLPageState):
+ * dom/Document.h:
+ * dom/Document.idl:
+ * dom/Text.cpp:
+ (WebCore::Text::insertedIntoDocument):
+ * dom/Text.h:
+ * page/Console.cpp:
+ (WebCore::Console::addMessage):
+ * wml/WMLPageState.h: Readd heper function
+ (WebCore::WMLPageState::hasVariables):
+
+2008-12-03 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't leak selectors in case selector list parsing failed.
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::~CSSParser):
+
+2008-12-03 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=22520
+
+ This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
+ This patch fixes the testcase.
+
+ This is another case of animations getting destroyed in the end animation callback and causing dangling
+ pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
+ So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
+ and skip that call.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+
+2008-12-03 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22379
+ Make CSSOM use less memory
+
+ Reduce size of the CSSSelector by one more pointer by using an array
+ instead of a linked list to store them.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::parseSelector):
+ (WebCore::CSSParser::createStyleRule):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::reusableSelectorVector):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::~CSSSelector):
+ (WebCore::CSSSelector::isLastInSelectorList):
+ (WebCore::CSSSelector::setLastInSelectorList):
+ * css/CSSStyleRule.cpp:
+ (WebCore::CSSStyleRule::CSSStyleRule):
+ (WebCore::CSSStyleRule::~CSSStyleRule):
+ (WebCore::CSSStyleRule::selectorText):
+ * css/CSSStyleRule.h:
+ (WebCore::CSSStyleRule::adoptSelectorVector):
+ (WebCore::CSSStyleRule::selectorList):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSRuleSet::addRulesFromSheet):
+ * dom/Node.cpp:
+ (WebCore::forEachSelector):
+ (WebCore::selectorNeedsNamespaceResolution):
+ (WebCore::Node::querySelector):
+ (WebCore::Node::querySelectorAll):
+ * dom/SelectorNodeList.cpp:
+ (WebCore::createSelectorNodeList):
+ * dom/SelectorNodeList.h:
+
+2008-12-03 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22630
+ Assertion failure in XMLHttpRequest::contextDestroyed
+
+ Test: http/tests/xmlhttprequest/close-window.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::clear):
+ (WebCore::FrameLoader::commitProvisionalLoad):
+ Move stopping active objects to clear(), so that closing a window is also covered.
+
+ * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(),
+ because internalAbort() deref()'s.
+
+2008-12-03 Dean Jackson <dino@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement CSS 3 <angle> turn unit and support it
+ in rotations.
+ https://bugs.webkit.org/show_bug.cgi?id=22497
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::validUnit):
+ (WebCore::unitFromString):
+ (WebCore::CSSParser::lex):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText):
+ (WebCore::CSSPrimitiveValue::parserValue):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::createTransformOperations):
+ * css/tokenizer.flex:
+
+2008-12-03 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Make use of the gradient code in GraphicsContext and get rid of most of the
+ platform dependent code.
+
+ SVG should use the new Gradient support on GraphicsContext
+ https://bugs.webkit.org/show_bug.cgi?id=20543
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/FloatSize.h:
+ (WebCore::FloatSize::shrunkTo):
+ * svg/SVGLinearGradientElement.cpp:
+ (WebCore::SVGLinearGradientElement::buildGradient):
+ * svg/SVGRadialGradientElement.cpp:
+ (WebCore::SVGRadialGradientElement::buildGradient):
+ * svg/graphics/SVGPaintServer.h:
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
+ (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient):
+ (WebCore::SVGPaintServerGradient::gradient):
+ (WebCore::SVGPaintServerGradient::setGradient):
+ (WebCore::findTextRootObject):
+ (WebCore::createMaskAndSwapContextForTextGradient):
+ (WebCore::clipToTextMask):
+ (WebCore::SVGPaintServerGradient::setup):
+ (WebCore::SVGPaintServerGradient::renderPath):
+ (WebCore::SVGPaintServerGradient::teardown):
+ * svg/graphics/SVGPaintServerGradient.h:
+ (WebCore::SVGPaintServerGradient::setGradientStops):
+ (WebCore::SVGPaintServerGradient::gradientStops):
+ * svg/graphics/SVGPaintServerLinearGradient.h:
+ * svg/graphics/SVGPaintServerRadialGradient.h:
+ * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
+ * svg/graphics/cg/SVGPaintServerCg.cpp:
+ * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
+ * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
+ * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
+ * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.
+
+2008-12-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix formatting.
+
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::createRareData):
+
+2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Adam Roben.
+
+ As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.
+
+ * inspector/front-end/Console.js:
+ * page/Console.h:
+
+2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Next steps to make LayoutTests work:
+ Never access the main frame from WMLRefreshElement/WMLCardElement, but
+ the current documents frame (WML layout tests will run in an <iframe>)
+
+ Prepare WMLErrorHandling for the case that no tokenizer is available anymore
+ -> report errors through Console::addMessage(), so they get logged in the
+ expected layout test results.
+
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::setActiveCardInDocument):
+ * wml/WMLErrorHandling.cpp:
+ (WebCore::reportWMLError):
+ (WebCore::errorMessageForErrorCode):
+ * wml/WMLErrorHandling.h:
+ * wml/WMLRefreshElement.cpp:
+ (WebCore::WMLRefreshElement::executeTask):
+ * page/Console.cpp: Handle WMLMessageSource.
+ (WebCore::printMessageSourceAndLevelPrefix):
+ * page/Console.h: Add WMLMessageSource.
+ (WebCore::):
+
+2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Allow passing jsNull and jsUndefined to Qt plugins
+
+ Currently limited to functions with QString and QVariant arguments,
+ and properties of these types. Both jsNull and jsUndefined ends up
+ as default-constructed QStrings and QVariants, which means you can
+ check for isEmpty() and isValid() in the native plugin code.
+
+ Based on patches by Jade Han <jade.han@nokia.com>
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::findMethodIndex):
+
+2008-12-03 Trenton Schulz <trenton.schulz@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the build with Qt for Mac OS X.
+
+ * platform/PurgeableBuffer.h: Use the dummy wrappers for now.
+
+2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
+ in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be
+ reported, instead of 'WMLErrorInvalidVariableReference'.
+
+ * wml/WMLElement.cpp:
+ (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
+ (WebCore::WMLElement::parseValueForbiddingVariableReferences):
+ * wml/WMLElement.h:
+ * wml/WMLSetvarElement.cpp:
+ (WebCore::WMLSetvarElement::parseMappedAttribute):
+ * wml/WMLSetvarElement.h:
+ (WebCore::WMLSetvarElement::name):
+ (WebCore::WMLSetvarElement::value):
+
+2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Preparations to get WML layout tests going.
+ Make WMLPageState an OwnPtr to Page, and let Page create it on demand.
+
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::wmlPageState):
+ * page/Page.h:
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::WMLDocument):
+ (WebCore::WMLDocument::finishedParsing):
+ (WebCore::wmlPageStateForDocument):
+ * wml/WMLPageState.h: Don't inherit from RefCounted anymore.
+ (WebCore::WMLPageState::hasVariables): Remove helper function.
+
+2008-12-03 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22627
+ fast/workers/worker-terminate.html fails randomly
+
+ The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
+ is raised, and it sometimes reaches the main thread.
+
+ * dom/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerExceptionTask::create):
+ (WebCore::WorkerExceptionTask::WorkerExceptionTask):
+ (WebCore::WorkerExceptionTask::performTask):
+ (WebCore::WorkerMessagingProxy::postWorkerException):
+ * dom/WorkerMessagingProxy.h:
+ Ignore exceptions that happen in terminated workers.
+
+2008-12-03 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove some unncessary includes.
+
+ * wml/WMLAccessElement.cpp:
+ * wml/WMLDocument.h:
+ * wml/WMLRefreshElement.cpp:
+
+2008-12-03 Alexey Proskuryakov <ap@webkit.org>
+
+ Rubber-stamped by Cameron Zwarich and Adam Roben.
+
+ Fix a typo: m_executionForbidded.
+
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController):
+ (WebCore::WorkerScriptController::evaluate):
+ (WebCore::WorkerScriptController::forbidExecution):
+ * bindings/js/WorkerScriptController.h:
+
+2008-12-03 Dean McNamee <deanm@chromium.org>
+
+ Bug 22623: Uninitialized memory access in cache parsing code
+ <https://bugs.webkit.org/show_bug.cgi?id=22623>
+
+ Reviewed by David Kilzer.
+
+ Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.
+
+ * platform/network/ResourceResponseBase.h:
+ (WebCore::ResourceResponseBase::ResourceResponseBase):
+
+2008-12-03 Antti Koivisto <antti@apple.com>
+
+ Probable build fix.
+
+ * WebCoreSources.bkl:
+
+2008-12-03 Antti Koivisto <antti@apple.com>
+
+ Forgot to commit these.
+
+ * dom/Node.cpp:
+ (WebCore::forEachTagSelector):
+ (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
+ (WebCore::Node::querySelector):
+ * dom/SelectorNodeList.cpp:
+ (WebCore::createSelectorNodeList):
+
+2008-12-03 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein and Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22379
+ Make CSSOM use less memory
+
+ Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
+ struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
+ encountered had rare data.
+
+ This also eliminates the CSSNthSelector subclass which will make possible to store
+ CSSSelectors in an array instead of a linked list for futher memory savings.
+
+ * css/CSSGrammar.y:
+ * css/CSSNthSelector.cpp: Removed.
+ * css/CSSNthSelector.h: Removed.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createFloatingSelector):
+ * css/CSSParser.h:
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::specificity):
+ (WebCore::CSSSelector::operator==):
+ (WebCore::CSSSelector::selectorText):
+ (WebCore::CSSSelector::setTagHistory):
+ (WebCore::CSSSelector::attribute):
+ (WebCore::CSSSelector::setAttribute):
+ (WebCore::CSSSelector::setArgument):
+ (WebCore::CSSSelector::setSimpleSelector):
+ (WebCore::CSSSelector::parseNth):
+ (WebCore::CSSSelector::matchNth):
+ (WebCore::CSSSelector::RareData::parseNth):
+ (WebCore::CSSSelector::RareData::matchNth):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::CSSSelector):
+ (WebCore::CSSSelector::~CSSSelector):
+ (WebCore::CSSSelector::tagHistory):
+ (WebCore::CSSSelector::hasAttribute):
+ (WebCore::CSSSelector::argument):
+ (WebCore::CSSSelector::simpleSelector):
+ (WebCore::CSSSelector::RareData::RareData):
+ (WebCore::CSSSelector::createRareData):
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+
+2008-12-03 Jian Li <jianli@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove unneeded included file in WorkerThread.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=22613
+
+ * dom/WorkerThread.cpp: No need to include JSWorkerContext.h.
+
+2008-12-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22543
+ Consolidate ActiveDOMObject page cache interaction
+
+ Test: http/tests/xmlhttprequest/abort-on-leaving-page.html
+
+ * dom/ActiveDOMObject.cpp:
+ (WebCore::ActiveDOMObject::canSuspend):
+ (WebCore::ActiveDOMObject::suspend):
+ (WebCore::ActiveDOMObject::resume):
+ * dom/ActiveDOMObject.h:
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ * dom/ScriptExecutionContext.h:
+ Added methods for suspending and resuming active objects.
+
+ * dom/Worker.cpp:
+ (WebCore::Worker::canSuspend):
+ (WebCore::Worker::stop):
+ * dom/Worker.h:
+ Workers cannot be suspended yet. This is a change in behavior, as workers used to keep
+ running until their owner was destroyed.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because
+ their activity is not necessarily loading.
+ (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended.
+ Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page
+ uncacheable due to no-null main document error.
+ (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on
+ whether the document will be cached.
+ (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their
+ context is destroyed.
+
+ * xml/XMLHttpRequest.h: added canSuspend().
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended.
+ (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events
+ for Firefox compatibility. This is a change in behavior that helps test that requests do
+ get aborted.
+ (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so
+ assert that.
+
+2008-12-02 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?
+
+ Test: accessibility/th-as-title-ui.html
+
+ * page/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isGroup):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isGroup):
+ * page/AccessibilityRenderObject.h:
+ * page/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::rowIndexRange):
+ (WebCore::AccessibilityTableCell::columnIndexRange):
+ (WebCore::AccessibilityTableCell::titleUIElement):
+ * page/AccessibilityTableCell.h:
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+
+2008-12-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=22472
+
+ Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
+ that is large enough to encompass the selection, so that the repainting of
+ selected replaced elements works correctly.
+
+ Test: fast/repaint/selected-replaced.html
+
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::selectionRect):
+ (WebCore::RenderReplaced::localSelectionRect):
+ (WebCore::RenderReplaced::absoluteClippedOverflowRect):
+ * rendering/RenderReplaced.h:
+
+2008-12-02 Gregory Hughes <ghughes@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 22513: ZOOM: text selection does not send correct zoom bounds
+
+ When zoomed, text selection must send the zoom bounds in flipped
+ screen coordinates.
+
+ * editing/mac/SelectionControllerMac.mm:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+ * page/mac/WebCoreViewFactory.h:
+
+2008-12-02 Dean Jackson <dino@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove support for 'now' from CSS (was
+ erroneously added to transition and animation delay)
+ https://bugs.webkit.org/show_bug.cgi?id=22571
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseAnimationDelay):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapAnimationDelay):
+ * css/CSSValueKeywords.in:
+
+2008-12-02 Eric Seidel <eric@webkit.org>
+
+ Build fix, no review.
+
+ Fix the Mac and gtk builds:
+ Don't use a float to hold a double.
+ Remove a now duplicate symbol.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::selectionLayoutChanged):
+ * platform/gtk/TemporaryLinkStubs.cpp:
+
+2008-12-02 Chris Fleizach <cfleizach@apple.com>
+
+ Bug 22596: Some elements don't report AXBlockQuoteLevel
+ https://bugs.webkit.org/show_bug.cgi?id=22596
+
+ Reviewed by John Sullivan.
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (blockquoteLevel):
+ (AXAttributeStringSetBlockquoteLevel):
+ (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2008-12-02 Dean McNamee <deanm@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Correctly handle a theme returning a non-blinking interval. We should
+ not set any timers when the interval is 0 (non-blinking), otherwise we
+ repeatedly set and destroy a blinking timer, causing a paint and timer
+ storm. This is applicable to GTK and Windows, where a user can set a
+ non-blinking caret in their system preferences.
+
+ Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::selectionLayoutChanged):
+ * platform/Theme.h:
+ (WebCore::Theme::caretBlinkInterval):
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::caretBlinkInterval):
+ * platform/gtk/RenderThemeGtk.h:
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::caretBlinkInterval):
+
+2008-12-02 David Levin <levin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22538
+
+ startsWith uses find which searches through the whole string if no match is found.
+ Using reverseFind with an index of 0 has the benefit of only searching for the match
+ at the beginning of the string. This may only be a small benefit in the overall program,
+ but it may help in some cases when the string is big.
+
+ No observable change in behavior, so no test.
+
+ * platform/text/StringImpl.h:
+ (WebCore::StringImpl::startsWith):
+
+2008-10-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
+ https://bugs.webkit.org/show_bug.cgi?id=21951
+
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::forgetWrapper):
+
+2008-12-02 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add an ASSERT to try and catch the root cause of:
+ https://bugs.webkit.org/show_bug.cgi?id=22168
+ http://code.google.com/p/chromium/issues/detail?id=4122
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::emitText):
+
+2008-12-02 Brent Fulgham <bfulgham@gmail.com>
+
+ Reviewed by Adam Roben.
+
+ Remove some CG-specific code from the Windows Cairo build.
+ https://bugs.webkit.org/show_bug.cgi?id=22586
+
+ No new test cases since this update should create no user-visible
+ changes, and should be fully covered by the existing regression
+ tests.
+
+ * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::focusRingColor): Add stub method
+ * platform/win/TemporaryLinkStubs.cpp:
+ (WebCore::populateFontDatabase): Add stub method.
+
+2008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ MinGW compilation fix for PluginPackageWin.cpp
+
+ https://bugs.webkit.org/show_bug.cgi?id=22585
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+
+2008-12-02 Adam Roben <aroben@apple.com>
+
+ Build fix for Windows projects with NOMINMAX defined globally
+
+ * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already
+ defined.
+
+2008-12-02 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Build JavaScriptCore into libQtWebKit.so through a direct build
+ instead of a static library. When linking a static library into
+ a shared library qmake generates an incorrect .prl file, which
+ causes all sorts of different build problems when linking against
+ QtWebKit. Fixing this in qmake requires bigger changes that are
+ currently not possible, so we need to work around this limitation
+ for now. The advantages of the separate build did not outweight the
+ build problems it caused.
+
+ * WebCore.pro: include JavaScriptCore.pri, re-enable prl support
+ and rename the lut generator to domlut to avoid a conflict with
+ JavaScriptCore.pri's lut generator.
+
+2008-12-02 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22588
+ Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.
+
+ No observable change in behavior, so no test.
+
+ * dom/Document.cpp:
+ (WebCore::Document::open):
+ (WebCore::Document::domain):
+ (WebCore::Document::setDomain):
+ (WebCore::Document::initSecurityContext):
+ (WebCore::Document::setSecurityOrigin):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::setSecurityOrigin):
+ * dom/ScriptExecutionContext.h:
+ (WebCore::ScriptExecutionContext::securityOrigin):
+ * dom/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ * dom/WorkerContext.h:
+ These changes are for the move of securityOrigin().
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::createRequest):
+ (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
+ (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
+ (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
+ (WebCore::XMLHttpRequest::setRequestHeader):
+ (WebCore::XMLHttpRequest::getAllResponseHeaders):
+ (WebCore::XMLHttpRequest::getResponseHeader):
+ (WebCore::XMLHttpRequest::processSyncLoadResults):
+ (WebCore::XMLHttpRequest::willSendRequest):
+ (WebCore::XMLHttpRequest::accessControlCheck):
+ (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
+ Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
+
+2008-12-02 André Pönitz <apoenitz@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Disable the creation of debug information for the Qt build when done
+ inside Qt. With 670 mb it was slowing down gdb start significantly
+ for third-party applications that usually don't need it.
+
+ * WebCore.pro:
+
+2008-12-01 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
+ (r19811): Using the down arrow in a textarea gets "stuck" at the
+ end of a wrapped line
+ And corresponding: <rdar://problem/5347931>
+
+ The basic problem here is that Position::getInlineBoxAndOffset()
+ failed to look beyond a single renderer. This patch looks for a
+ better match beyond the first renderer when the affinity is
+ downstream and we failed to find a "perfect" match.
+ * dom/Position.cpp:
+ (WebCore::isNonTextLeafChild):
+ (WebCore::searchAheadForBetterMatch):
+ (WebCore::Position::getInlineBoxAndOffset):
+
+ This is a fix I made based on code inspection. It looks like the
+ old code here and skipped over the parent as a possible match.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::nextInPreOrderAfterChildren):
+
+2008-12-01 Brent Fulgham <bfulgham@gmail.com>
+
+ Reviewed by Adam Roben.
+
+ Add WML related files to Visual Studio projects.
+ https://bugs.webkit.org/show_bug.cgi?id=22561
+
+ * WebCore.vcproj/WebCore.vcproj:
+ 1. Add files from the wml directory to the set of windows files.
+ 2. Extend include paths with new wml directory.
+ 3. Add new autogenerated WML files to DerivedSources.
+ 4. Alphabetize preprocesor includes (holdover from earlier debugging).
+
+2008-12-01 Steve Falkenburg <sfalken@apple.com>
+
+ Revise node/selection image fix.
+ Moved updateLayout call so selection rect is fetched after the layout.
+
+ Reviewed by Adam Roben.
+
+ * page/win/FrameCGWin.cpp:
+ (WebCore::imageFromRect):
+ (WebCore::imageFromSelection):
+ (WebCore::Frame::nodeImage):
+
+2008-12-01 Steve Falkenburg <sfalken@apple.com>
+
+ Support needed to implement renderedImage for Windows.
+ https://bugs.webkit.org/show_bug.cgi?25648
+
+ Reviewed by Adam Roben.
+
+ * page/Frame.h:
+ * page/win/FrameCGWin.cpp:
+ (WebCore::imageFromRect):
+ (WebCore::imageFromSelection):
+ (WebCore::Frame::nodeImage):
+ * page/win/FrameCairoWin.cpp:
+ (WebCore::imageFromNode):
+
+2008-12-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=22581
+
+ Fix the painting of the caps lock indicator for transformed text inputs,
+ by replacing a call to absoluteContentBox() with code that computes the
+ painting rect for the input contents.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::paint):
+
+2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.
+
+ Convert all elements to parse their attribute values using these new helper functions. This simplifies the
+ actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
+ an error if there's a variable reference used in the attribute value, or if it's invalid.
+
+ Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
+ in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.
+
+ * wml/WMLAccessElement.cpp:
+ (WebCore::WMLAccessElement::parseMappedAttribute):
+ * wml/WMLDoElement.cpp:
+ (WebCore::WMLDoElement::defaultEventHandler):
+ (WebCore::WMLDoElement::parseMappedAttribute):
+ * wml/WMLElement.cpp:
+ (WebCore::WMLElement::parseValueSubstitutingVariableReferences):
+ (WebCore::WMLElement::parseValueForbiddingVariableReferences):
+ * wml/WMLElement.h:
+ * wml/WMLErrorHandling.cpp:
+ (WebCore::reportWMLError):
+ * wml/WMLErrorHandling.h:
+ (WebCore::):
+ * wml/WMLOnEventElement.cpp:
+ (WebCore::WMLOnEventElement::parseMappedAttribute):
+ * wml/WMLPrevElement.cpp:
+ (WebCore::WMLPrevElement::executeTask):
+ * wml/WMLSetvarElement.cpp:
+ (WebCore::WMLSetvarElement::parseMappedAttribute):
+ * wml/WMLTimerElement.cpp:
+ (WebCore::WMLTimerElement::parseMappedAttribute):
+
+2008-12-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fix switching active cards within a document. No way to test, until <go> support is implemented.
+
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::showCard):
+ (WebCore::WMLCardElement::hideCard):
+ (WebCore::WMLCardElement::setActiveCardInDocument):
+ * wml/WMLCardElement.h:
+
+2008-12-01 David Kilzer <ddkilzer@apple.com>
+
+ Fix logic error in LegacyWebArchive::create() from r38884.
+
+ * loader/archive/cf/LegacyWebArchive.cpp:
+ (WebCore::LegacyWebArchive::create): Only continue if the
+ subresource is actually added.
+
+2008-12-01 David Kilzer <ddkilzer@apple.com>
+
+ Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22466>
+ <rdar://problem/6403593>
+
+ Reviewed by Brady Eidson.
+
+ Test: http/tests/webarchive/test-preload-resources.html
+
+ * loader/archive/cf/LegacyWebArchive.cpp:
+ (WebCore::LegacyWebArchive::create): Check the WebCore cache for
+ resources if DocumentLoader::subresource() doesn't return them.
+ Note that the DocumentLoader::subresource() method returned
+ preloaded resources before r35867, but this caused a regression in
+ Mail.
+
+2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 22564: Make HTML elements' constructors take a QualifiedName
+ https://bugs.webkit.org/show_bug.cgi?id=22564
+
+ - Modified the remaining HTML elements' constructors to take a QualifiedName.
+
+ - Added an assertion that the QualifiedName given corresponds to the element constructed.
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ * html/HTMLAudioElement.cpp:
+ (WebCore::HTMLAudioElement::HTMLAudioElement):
+ * html/HTMLAudioElement.h:
+ * html/HTMLBRElement.cpp:
+ (WebCore::HTMLBRElement::HTMLBRElement):
+ * html/HTMLBRElement.h:
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::setInnerText):
+ * html/HTMLElementFactory.cpp:
+ (WebCore::brConstructor):
+ (WebCore::quoteConstructor):
+ (WebCore::marqueeConstructor):
+ (WebCore::audioConstructor):
+ (WebCore::videoConstructor):
+ (WebCore::sourceConstructor):
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
+ * html/HTMLMarqueeElement.h:
+ * html/HTMLQuoteElement.cpp:
+ (WebCore::HTMLQuoteElement::HTMLQuoteElement):
+ * html/HTMLQuoteElement.h:
+ * html/HTMLSourceElement.cpp:
+ (WebCore::HTMLSourceElement::HTMLSourceElement):
+ * html/HTMLSourceElement.h:
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::HTMLVideoElement):
+ * html/HTMLVideoElement.h:
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::updateFromElement):
+
+2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
+ https://bugs.webkit.org/show_bug.cgi?id=22441
+
+ Add an assertion to the modified HTML elements' constructor
+ to check that the QualifiedName parameter is the one that
+ matches the Element's.
+
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::HTMLBaseElement):
+ * html/HTMLBlockquoteElement.cpp:
+ (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::HTMLBodyElement):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::HTMLButtonElement):
+ * html/HTMLDListElement.cpp:
+ (WebCore::HTMLDListElement::HTMLDListElement):
+ * html/HTMLDirectoryElement.cpp:
+ (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
+ * html/HTMLDivElement.cpp:
+ (WebCore::HTMLDivElement::HTMLDivElement):
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::HTMLFormElement):
+ * html/HTMLFrameElement.cpp:
+ (WebCore::HTMLFrameElement::HTMLFrameElement):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
+ * html/HTMLHeadElement.cpp:
+ (WebCore::HTMLHeadElement::HTMLHeadElement):
+ * html/HTMLHtmlElement.cpp:
+ (WebCore::HTMLHtmlElement::HTMLHtmlElement):
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::HTMLIFrameElement):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ * html/HTMLIsIndexElement.cpp:
+ (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
+ * html/HTMLKeygenElement.cpp:
+ (WebCore::HTMLKeygenElement::HTMLKeygenElement):
+ * html/HTMLLIElement.cpp:
+ (WebCore::HTMLLIElement::HTMLLIElement):
+ * html/HTMLLabelElement.cpp:
+ (WebCore::HTMLLabelElement::HTMLLabelElement):
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::HTMLLegendElement):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::HTMLLinkElement):
+ * html/HTMLMenuElement.cpp:
+ (WebCore::HTMLMenuElement::HTMLMenuElement):
+ * html/HTMLMetaElement.cpp:
+ (WebCore::HTMLMetaElement::HTMLMetaElement):
+ * html/HTMLOListElement.cpp:
+ (WebCore::HTMLOListElement::HTMLOListElement):
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::HTMLOptionElement):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::HTMLSelectElement):
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::HTMLStyleElement):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
+ * html/HTMLTitleElement.cpp:
+ (WebCore::HTMLTitleElement::HTMLTitleElement):
+ * html/HTMLUListElement.cpp:
+ (WebCore::HTMLUListElement::HTMLUListElement):
+
+2008-12-01 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22046
+
+ Fixed another case of crashing because the animation object is getting deleted when
+ it's in the middle of a callback. I actually moved where I am retaining the pointer
+ up out of the lower level AnimationBase code and into the timer callback that calls
+ them. So now the pointer is valid throughout the entire sequence of callback code.
+
+ The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
+ crash which this patch fixes.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+ (WebCore::AnimationBase::animationTimerCallbackFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
+ (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
+ (WebCore::CompositeAnimationPrivate::styleAvailable):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::sendAnimationEvent):
+ (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
+
+2008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt/Mac] Initialize NPAPI plugins before getting their entry points
+
+ The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
+ copied from Windows, but caused Silverlight on Mac to crash when loaded.
+
+ Apparently the call order of NP_Initialize and NP_GetEntryPoints is
+ reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425
+
+ Reported-by: Peter Johnson <peter@zattoo.com>
+
+ * plugins/mac/PluginPackageMac.cpp:
+ (WebCore::PluginPackage::load):
+
+2008-11-30 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22510
+ Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510)
+
+ A nil pointer needed to be checked
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::activeDescendant):
+
+2008-11-30 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22530
+ Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID
+
+ * dom/WorkerThread.cpp:
+ (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this
+ function runs to completion before the thread begins execution.
+ (WebCore::WorkerThread::workerThread): Updated comments.
+ (WebCore::WorkerThread::stop): Ditto.
+ * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now
+ protects startup as a whole.
+
+ * storage/DatabaseThread.cpp:
+ * storage/DatabaseThread.h:
+ * storage/LocalStorageThread.cpp:
+ * storage/LocalStorageThread.h:
+ Fixed the same m_threadID problem.
+
+2008-11-29 Brent Fulgham <bfulgham@gmail.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove Visual Studio project dependencies on non-redistributable
+ components in the Debug_Cairo and Release_Cairo build targets.
+ See https://bugs.webkit.org/show_bug.cgi?id=22527
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-11-29 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Alexey Proskuryakov.
+
+ Fix some sorting
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-11-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21063
+ NULL pointer crash in dispatchEvent(null);
+
+ Test: fast/events/dispatchEvent-crash.html
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::dispatchEvent):
+ * dom/Worker.cpp:
+ (WebCore::Worker::dispatchEvent):
+ * dom/WorkerContext.cpp:
+ (WebCore::WorkerContext::dispatchEvent):
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::dispatchEvent):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dispatchEvent):
+ * xml/XMLHttpRequestUpload.cpp:
+ (WebCore::XMLHttpRequestUpload::dispatchEvent):
+
+2008-11-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=22454
+ <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org
+
+ Test: http/tests/misc/font-face-in-multiple-segmented-faces.html
+
+ The crash happened because style recalculation was invoked by
+ CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but
+ before another CSSSegmentedFontFace using the same CSSFontFace had done
+ so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace
+ prune their tables before telling the CSSFontSelector to recalc style.
+
+ * css/CSSFontFace.cpp:
+ (WebCore::CSSFontFace::fontLoaded):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::fontLoaded):
+ * css/CSSFontSelector.h:
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::fontLoaded):
+
+2008-11-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=14968
+ document.open() erroneously returns void instead of the new Document
+
+ Test: fast/dom/HTMLDocument/document-open-return-value.html
+
+ * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
+ Return the document on which this method was invoked, per HTML5.
+
+2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550
+
+ Add <timer> element support. It provides a way to execute a task with a delay.
+ The user is notified by firing the task associated with the <card>'s ontimer attribute.
+ Only one timer element is allowed per <card> (fix wrong error message in reportWMLError)
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::WMLCardElement):
+ (WebCore::WMLCardElement::setIntrinsicEventTimer):
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
+ * wml/WMLCardElement.h:
+ * wml/WMLDoElement.cpp:
+ (WebCore::WMLDoElement::defaultEventHandler):
+ * wml/WMLErrorHandling.cpp:
+ (WebCore::reportWMLError):
+ * wml/WMLPageState.h:
+ (WebCore::WMLPageState::getVariable):
+ * wml/WMLPrevElement.cpp:
+ (WebCore::WMLPrevElement::executeTask):
+ * wml/WMLRefreshElement.cpp:
+ (WebCore::WMLRefreshElement::executeTask):
+ * wml/WMLTagNames.in:
+ * wml/WMLTimerElement.cpp: Added.
+ (WebCore::WMLTimerElement::WMLTimerElement):
+ (WebCore::WMLTimerElement::parseMappedAttribute):
+ (WebCore::WMLTimerElement::insertedIntoDocument):
+ (WebCore::WMLTimerElement::timerFired):
+ (WebCore::WMLTimerElement::start):
+ (WebCore::WMLTimerElement::stop):
+ (WebCore::WMLTimerElement::storeIntervalToPageState):
+ * wml/WMLTimerElement.h: Added.
+
+2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Holger Freyther.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549
+
+ Add <do> element support. It provides a way to bind a task element to a <template>/<card> element.
+ Changes numerous of layout tests which contain <do> elements, as they render as buttons now.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::updateFromElement):
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::registerDoElement):
+ * wml/WMLCardElement.h:
+ * wml/WMLDoElement.cpp: Added.
+ (WebCore::WMLDoElement::WMLDoElement):
+ (WebCore::WMLDoElement::defaultEventHandler):
+ (WebCore::WMLDoElement::parseMappedAttribute):
+ (WebCore::WMLDoElement::insertedIntoDocument):
+ (WebCore::WMLDoElement::createRenderer):
+ (WebCore::WMLDoElement::recalcStyle):
+ * wml/WMLDoElement.h: Added.
+ (WebCore::WMLDoElement::registerTask):
+ (WebCore::WMLDoElement::isActive):
+ (WebCore::WMLDoElement::label):
+ (WebCore::WMLDoElement::name):
+ (WebCore::WMLDoElement::setActive):
+ (WebCore::WMLDoElement::setNoop):
+ * wml/WMLNoopElement.cpp:
+ (WebCore::WMLNoopElement::insertedIntoDocument):
+ * wml/WMLTagNames.in:
+ * wml/WMLTaskElement.cpp:
+ (WebCore::WMLTaskElement::insertedIntoDocument):
+
+2008-11-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545
+
+ Add onenterforward/onenterbackward/ontimer support for <card> elements.
+
+ No testing possible at the moment because WMLGoElement is not yet implemented.
+ After that we can add tests covering the <card> event handling.
+
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::WMLCardElement):
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
+ (WebCore::WMLCardElement::parseMappedAttribute):
+ (WebCore::WMLCardElement::setActiveCardInDocument):
+ * wml/WMLCardElement.h:
+ (WebCore::WMLCardElement::isNewContext):
+ (WebCore::WMLCardElement::isOrdered):
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::finishedParsing):
+ * wml/WMLIntrinsicEvent.cpp:
+ (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
+ * wml/WMLIntrinsicEvent.h:
+ (WebCore::WMLIntrinsicEvent::create):
+
+2008-11-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Regression seen on QtWebKit - causes a build failure on Win using MinGW
+
+ https://bugs.webkit.org/show_bug.cgi?id=22536
+
+ * WebCore.pro:
+
+2008-11-28 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix compilation and linking on Windows CE.
+
+ Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription()
+ from the Windows'ish build.
+
+ Link against the newly required mmtimer.
+
+ * WebCore.pro:
+ * plugins/PluginPackage.cpp:
+
+2008-11-28 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ http://bugs.webkit.org/show_bug.cgi?id=22524
+
+ Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage
+ of XMLHttpRequest by Workers (on threads).
+
+ No observable change in behavior, so no test.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
+ (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
+ (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
+ (WebCore::PreflightResultCacheItem::allowsRequest):
+ (WebCore::createXMLHttpRequestStaticData):
+ (WebCore::initializeXMLHttpRequestStaticData):
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+ (WebCore::XMLHttpRequest::isSafeRequestHeader):
+ (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist):
+ * xml/XMLHttpRequest.h:
+
+2008-11-27 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ r38825, was committed without checking whether anything in WebCore
+ uses JSFunction::m_body. Use the appropriate getters and setters
+ instead.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
+
+2008-11-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22529
+ Crashes seen on buildbots due to trying to stop a worker thread twice
+
+ * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
+ Don't try to stop the thread if it's already stopping.
+
+2008-11-27 Kent Hansen <khansen@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Make JavaScript bindings for Qt plugin widgets work again
+ this was a regression; need to handle non-NPAPI plugins as in 4.4.
+
+ * bindings/js/ScriptControllerQt.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+
+2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522
+
+ Catch WML errors (invalid variable name/reference, multiple access elements, etc)
+ while parsing the document, and stop parsing immediately and wrap the document
+ fragment in a XHTML error document, just like it's done from XML parsing errors.
+
+ Until now all card elements were hidden by default (no renderer created), and
+ WMLDocument::finishedParsing() took care of showing the right card (either the first,
+ or any named card in the document, specified by document URL reference). Change this
+ behaviour to support displaying partially parsed WML document fragments: Mark the first
+ WMLCardElement inserted into the document as visible. If the document parsing finishes
+ without problems, WMLDocument::finishedParsing() will be called, which takes care of
+ showing the desired card (common case: first card in the document, which is already
+ visible, so nothing actually has to be done). If an error occours, the document is
+ correctly rendered until the error happened - wrapped in a XHTML document.
+
+ Fixes: fast/wml/err-event-binding-conflict.wml
+ fast/wml/err-invalid-variable-name.wml
+ fast/wml/err-multi-access.wml
+ fast/wml/err-unallowed-task-in-anchor.wml
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * wml/WMLAccessElement.cpp:
+ (WebCore::WMLAccessElement::parseMappedAttribute):
+ (WebCore::WMLAccessElement::insertedIntoDocument):
+ * wml/WMLAccessElement.h:
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::insertedIntoDocument):
+ (WebCore::WMLCardElement::setActiveCardInDocument):
+ * wml/WMLCardElement.h:
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::finishedParsing):
+ * wml/WMLErrorHandling.cpp: Added.
+ (WebCore::reportWMLError):
+ * wml/WMLErrorHandling.h: Added.
+ (WebCore::):
+ * wml/WMLIntrinsicEventHandler.cpp:
+ (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
+ * wml/WMLIntrinsicEventHandler.h:
+ * wml/WMLNoopElement.cpp:
+ (WebCore::WMLNoopElement::insertedIntoDocument):
+ * wml/WMLOnEventElement.cpp:
+ (WebCore::WMLOnEventElement::parseMappedAttribute):
+ (WebCore::WMLOnEventElement::registerTask):
+ * wml/WMLPageState.cpp:
+ (WebCore::WMLPageState::setNeedCheckDeckAccess):
+ * wml/WMLPageState.h:
+ * wml/WMLSetvarElement.cpp:
+ (WebCore::WMLSetvarElement::parseMappedAttribute):
+
+2008-11-26 Glenn Wilson <gwilson@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953
+
+ This fixes the crash when the small-caps font variant is used
+ on a lower-case glyph that does not have a corresponding
+ upper-case glyph defined in the set of available fonts.
+
+ This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant.
+
+ Test: fast/css/small-caps-crash.html
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::glyphDataForCharacter):
+
+2008-11-26 Tony Chang <tony@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Add a new platform specific method cleanupAfterSystemDrag
+ that platforms can ue to clean up drag state after a
+ system drag. Use this method on PLAFORM(MAC).
+ https://bugs.webkit.org/show_bug.cgi?id=21956
+
+ * ChangeLog:
+ * page/DragController.cpp:
+ (WebCore::DragController::doSystemDrag):
+ * page/DragController.h:
+ * page/gtk/DragControllerGtk.cpp:
+ (WebCore::DragController::cleanupAfterSystemDrag):
+ * page/mac/DragControllerMac.mm:
+ (WebCore::DragController::cleanupAfterSystemDrag):
+ * page/qt/DragControllerQt.cpp:
+ (WebCore::DragController::cleanupAfterSystemDrag):
+ * page/win/DragControllerWin.cpp:
+ (WebCore::DragController::cleanupAfterSystemDrag):
+ * page/wx/DragControllerWx.cpp:
+ (WebCore::DragController::cleanupAfterSystemDrag):
+
+2008-11-26 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix path to string logic, correctly taking closed (sub-)paths into account.
+ Code was just broken on cg, observed by Dirk Schulze.
+
+ QPainterPath doesn't seem to expose any functionality to detect closed sub paths,
+ using the elementAt() function. There might be a workaround - Dirk will investigate.
+
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::CGPathToCFStringApplierFunction):
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::debugString):
+
+2008-11-26 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22519
+ Remove unnecessary include.
+
+ * dom/XMLTokenizer.cpp:
+
+2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Oliver Hunt.
+
+ Add <noop> element support, completing the task element support.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * wml/WMLNoopElement.cpp: Added.
+ (WebCore::WMLNoopElement::WMLNoopElement):
+ (WebCore::WMLNoopElement::insertedIntoDocument):
+ * wml/WMLNoopElement.h: Added.
+ * wml/WMLTagNames.in: Reorganize file a bit.
+
+2008-11-26 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
+ https://bugs.webkit.org/show_bug.cgi?id=22441
+
+ Make more HTML elements' constructors take a QualifiedName.
+
+ * editing/DeleteButtonController.cpp:
+ (WebCore::DeleteButtonController::createDeletionUI):
+ * html/HTMLBlockquoteElement.cpp:
+ (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
+ * html/HTMLBlockquoteElement.h:
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::HTMLButtonElement):
+ * html/HTMLButtonElement.h:
+ * html/HTMLDListElement.cpp:
+ (WebCore::HTMLDListElement::HTMLDListElement):
+ * html/HTMLDListElement.h:
+ * html/HTMLDirectoryElement.cpp:
+ (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
+ * html/HTMLDirectoryElement.h:
+ * html/HTMLDivElement.cpp:
+ (WebCore::HTMLDivElement::HTMLDivElement):
+ * html/HTMLDivElement.h:
+ * html/HTMLElementFactory.cpp:
+ (WebCore::styleConstructor):
+ (WebCore::titleConstructor):
+ (WebCore::frameConstructor):
+ (WebCore::framesetConstructor):
+ (WebCore::iframeConstructor):
+ (WebCore::formConstructor):
+ (WebCore::buttonConstructor):
+ (WebCore::inputConstructor):
+ (WebCore::isindexConstructor):
+ (WebCore::fieldsetConstructor):
+ (WebCore::keygenConstructor):
+ (WebCore::labelConstructor):
+ (WebCore::legendConstructor):
+ (WebCore::optgroupConstructor):
+ (WebCore::optionConstructor):
+ (WebCore::selectConstructor):
+ (WebCore::textareaConstructor):
+ (WebCore::dlConstructor):
+ (WebCore::ulConstructor):
+ (WebCore::olConstructor):
+ (WebCore::dirConstructor):
+ (WebCore::menuConstructor):
+ (WebCore::liConstructor):
+ (WebCore::blockquoteConstructor):
+ (WebCore::divConstructor):
+ (WebCore::headingConstructor):
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
+ * html/HTMLFieldSetElement.h:
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::HTMLFormElement):
+ * html/HTMLFormElement.h:
+ * html/HTMLFrameElement.cpp:
+ (WebCore::HTMLFrameElement::HTMLFrameElement):
+ * html/HTMLFrameElement.h:
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
+ * html/HTMLFrameSetElement.h:
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::HTMLIFrameElement):
+ * html/HTMLIFrameElement.h:
+ * html/HTMLInputElement.cpp:
+ * html/HTMLInputElement.h:
+ * html/HTMLIsIndexElement.cpp:
+ (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
+ * html/HTMLIsIndexElement.h:
+ * html/HTMLKeygenElement.cpp:
+ (WebCore::HTMLKeygenElement::HTMLKeygenElement):
+ * html/HTMLKeygenElement.h:
+ * html/HTMLLIElement.cpp:
+ (WebCore::HTMLLIElement::HTMLLIElement):
+ * html/HTMLLIElement.h:
+ * html/HTMLLabelElement.cpp:
+ (WebCore::HTMLLabelElement::HTMLLabelElement):
+ * html/HTMLLabelElement.h:
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::HTMLLegendElement):
+ * html/HTMLLegendElement.h:
+ * html/HTMLMenuElement.cpp:
+ (WebCore::HTMLMenuElement::HTMLMenuElement):
+ * html/HTMLMenuElement.h:
+ * html/HTMLOListElement.cpp:
+ (WebCore::HTMLOListElement::HTMLOListElement):
+ * html/HTMLOListElement.h:
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
+ * html/HTMLOptGroupElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::HTMLOptionElement):
+ * html/HTMLOptionElement.h:
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::formCreateErrorCheck):
+ (WebCore::HTMLParser::handleIsindex):
+ * html/HTMLSelectElement.cpp:
+ * html/HTMLSelectElement.h:
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::HTMLStyleElement):
+ * html/HTMLStyleElement.h:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
+ * html/HTMLTextAreaElement.h:
+ * html/HTMLTitleElement.cpp:
+ (WebCore::HTMLTitleElement::HTMLTitleElement):
+ * html/HTMLTitleElement.h:
+ * html/HTMLUListElement.cpp:
+ (WebCore::HTMLUListElement::HTMLUListElement):
+ * html/HTMLUListElement.h:
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createContainingTable):
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
+ (WebCore::MediaControlInputElement::MediaControlInputElement):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createPanel):
+ (WebCore::RenderMedia::createTimeDisplay):
+ * rendering/RenderSlider.cpp:
+ (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement):
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerElement::TextControlInnerElement):
+
+2008-11-26 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer.
+
+ * wml/WMLPageState.cpp:
+ (WebCore::WMLPageState::WMLPageState):
+
+2008-11-26 Matt Perry <mpcomplete@gmail.com>
+
+ Fix Qt bustage.
+
+ See https://bugs.webkit.org/show_bug.cgi?id=22051
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::extraDefaultStyleSheet):
+
+2008-11-26 Matt Perry <mpcomplete@gmail.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=22051
+ Renderthemes should be able to supply additional CSS rules to the core
+ ones.
+
+ * DerivedSources.make:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::parseUASheet):
+ (WebCore::loadFullDefaultStyle):
+ (WebCore::loadSimpleDefaultStyle):
+ * css/themeWin.css: Added.
+ * css/themeWinQuirks.css: Added.
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::extraDefaultStyleSheet):
+ * platform/qt/RenderThemeQt.h:
+ * rendering/RenderTheme.cpp:
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::extraDefaultStyleSheet):
+ (WebCore::RenderTheme::extraQuirksStyleSheet):
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::extraDefaultStyleSheet):
+ (WebCore::RenderThemeWin::extraQuirksStyleSheet):
+ * rendering/RenderThemeWin.h:
+
+2008-11-26 David Kilzer <ddkilzer@apple.com>
+
+ Make CSSStyleSheet::addSubresourceURLStrings() iterative
+
+ Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS
+ <https://bugs.webkit.org/show_bug.cgi?id=11850>
+
+ Reviewed by Brady Eidson.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm
+ from recursive to iterative for gathering the list of all CSS
+ stylesheets referenced in @import statements.
+
+2008-11-26 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Transformations to the context shouldn't transform the currentPath.
+ Fixed this on Qt.
+
+ [QT] GraphicsContext's currenPath can be transformed
+ https://bugs.webkit.org/show_bug.cgi?id=22163
+
+ * platform/graphics/GraphicsContextPrivate.h:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::restorePlatformState):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::translate):
+ (WebCore::GraphicsContext::rotate):
+ (WebCore::GraphicsContext::scale):
+ (WebCore::GraphicsContext::concatCTM):
+
+2008-11-26 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk build script minor fixes. Not reviewed.
+
+ * GNUmakefile.am:
+ - Add ScriptInstance.h (introduced in r38774) to
+ the build.
+ - Move WML and GEOLOCATION conditionals before the SVG
+ conditional to be consistent with the style of the script.
+ - Move GeolocationGtk sources to webcoregtk_sources.
+
+2008-11-26 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler and Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22469
+
+ Move the class DOMWindowTimer from JSDOMWindowBase into its own file in
+ preparation to making it work for Workers. For now, just move the code and couple
+ of global variables.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::installTimeout):
+ (WebCore::JSDOMWindowBase::pauseTimeouts):
+ (WebCore::JSDOMWindowBase::resumeTimeouts):
+ (WebCore::JSDOMWindowBase::timerFired):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/DOMTimer.cpp: Added.
+ (WebCore::DOMTimer::DOMTimer):
+ (WebCore::DOMTimer::~DOMTimer):
+ (WebCore::DOMTimer::fired):
+ * bindings/js/DOMTimer.h: Added.
+ (WebCore::DOMTimer::timeoutId):
+ (WebCore::DOMTimer::nestingLevel):
+ (WebCore::DOMTimer::setNestingLevel):
+ (WebCore::DOMTimer::action):
+ (WebCore::DOMTimer::takeAction):
+
+2008-11-25 Darin Fisher <darin@chromium.org>
+
+ Fix bustage.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22493
+ Need to expose bridge/*.h to the WebKit build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-11-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Fix build, by removing some wrong last-minute changes.
+
+ * wml/WMLIntrinsicEvent.cpp:
+ (WebCore::createTaskElement):
+ * wml/WMLOnEventElement.cpp:
+ (WebCore::WMLOnEventElement::registerTask):
+
+2008-11-25 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22493
+ Abstract away JSC:: usage in WebCore/html
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::pluginInstance):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/js/ScriptInstance.h: Added.
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
+ (WebCore::HTMLPlugInElement::getInstance):
+ * html/HTMLPlugInElement.h:
+
+2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477
+
+ A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent.
+ Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly.
+
+ Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement,
+ centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement()
+ function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a
+ <template>/<option> or <card> element.
+
+ Add complete <onevent> support.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::WMLCardElement):
+ (WebCore::WMLCardElement::setActiveCardInDocument):
+ * wml/WMLCardElement.h:
+ (WebCore::WMLCardElement::isVisible):
+ (WebCore::WMLCardElement::setVisible):
+ * wml/WMLElement.h:
+ (WebCore::WMLElement::isWMLTaskElement):
+ * wml/WMLEventHandlingElement.cpp: Added.
+ (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
+ (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded):
+ * wml/WMLEventHandlingElement.h: Added.
+ (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement):
+ (WebCore::WMLEventHandlingElement::eventHandler):
+ * wml/WMLOnEventElement.cpp: Added.
+ (WebCore::WMLOnEventElement::WMLOnEventElement):
+ (WebCore::WMLOnEventElement::parseMappedAttribute):
+ (WebCore::WMLOnEventElement::registerTask):
+ * wml/WMLOnEventElement.h: Added.
+ * wml/WMLSetvarElement.cpp:
+ (WebCore::WMLSetvarElement::parseMappedAttribute):
+ (WebCore::WMLSetvarElement::insertedIntoDocument):
+ * wml/WMLTagNames.in:
+ * wml/WMLTaskElement.cpp:
+ (WebCore::WMLTaskElement::insertedIntoDocument):
+ * wml/WMLTaskElement.h:
+ (WebCore::WMLTaskElement::isWMLTaskElement):
+
+2008-11-25 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL
+
+ https://bugs.webkit.org/show_bug.cgi?id=22503
+
+ * platform/graphics/mac/FontCustomPlatformData.cpp:
+ (WebCore::createFontCustomPlatformData):
+
+2008-11-25 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
+ https://bugs.webkit.org/show_bug.cgi?id=22441
+
+ Element's other than HTML ones take a QualifiedName in their constructors.
+ To make HTMLElementFactory closer to the other ElementFactory, we need
+ to make them take the same arguments.
+ This patch only makes the 5 first one in HTMLElementFactory abide by that. The others
+ will go into the next patch.
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::HTMLBaseElement):
+ * html/HTMLBaseElement.h:
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::HTMLBodyElement):
+ * html/HTMLBodyElement.h:
+ * html/HTMLElementFactory.cpp:
+ (WebCore::htmlConstructor):
+ (WebCore::headConstructor):
+ (WebCore::bodyConstructor):
+ (WebCore::baseConstructor):
+ (WebCore::linkConstructor):
+ (WebCore::metaConstructor):
+ * html/HTMLHeadElement.cpp:
+ (WebCore::HTMLHeadElement::HTMLHeadElement):
+ * html/HTMLHeadElement.h:
+ * html/HTMLHtmlElement.cpp:
+ (WebCore::HTMLHtmlElement::HTMLHtmlElement):
+ * html/HTMLHtmlElement.h:
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::HTMLLinkElement):
+ * html/HTMLLinkElement.h:
+ * html/HTMLMetaElement.cpp:
+ (WebCore::HTMLMetaElement::HTMLMetaElement):
+ * html/HTMLMetaElement.h:
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError):
+ (WebCore::HTMLParser::headCreateErrorCheck):
+ (WebCore::HTMLParser::createHead):
+ (WebCore::HTMLParser::finished):
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::createContainingTable):
+
+2008-11-25 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22487
+ I was not checking for the case of 0 length keyframe lists and dereffing a null pointer.
+
+ Tests: animations/empty-keyframes.html
+ animations/fill-unset-properties.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
+
+2008-11-25 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=22046
+
+ Fix a crash when an animation or transition end event handler
+ removes the element upon which the transition/animation is running,
+ by keeping a reference to the AnimationBase object on the stack.
+
+ Tests: animations/transform-animation-event-destroy-element.html
+ transitions/transform-transition-event-destroy-element.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::setChanged):
+ (WebCore::AnimationBase::updateStateMachine):
+ * page/animation/AnimationBase.h:
+ (WebCore::AnimationBase::clearRenderer):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::clear):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
+ * page/animation/CompositeAnimation.h:
+
+2008-11-25 Kevin Ollivier <kevino@theolliviers.com>
+
+ Better wx build fix - support PurgeableBuffer on Mac.
+
+ * platform/PurgeableBuffer.h:
+ * webcore-wx.bkl:
+
+2008-11-25 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22022
+
+ Add GeoleocationServiceGtk stubs and integrate it into the buildsystem
+
+ Add stubs for a Gtk Implementation.
+
+ * GNUmakefile.am:
+ * platform/gtk/GeolocationServiceGtk.cpp: Added.
+ (WebCore::GeolocationService::create):
+ (WebCore::GeolocationServiceGtk::GeolocationServiceGtk):
+ (WebCore::GeolocationServiceGtk::startUpdating):
+ (WebCore::GeolocationServiceGtk::stopUpdating):
+ (WebCore::GeolocationServiceGtk::suspend):
+ (WebCore::GeolocationServiceGtk::resume):
+ (WebCore::GeolocationServiceGtk::lastPosition):
+ (WebCore::GeolocationServiceGtk::lastError):
+ * platform/gtk/GeolocationServiceGtk.h: Added.
+
+2008-11-25 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix - we don't support PurgeableBuffer on Leopard for now.
+
+ * platform/PurgeableBuffer.h:
+
+2008-11-25 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=22483
+ Assertion failure in CachedResource::makePurgeable during layout tests
+
+ Deleting SVG image can re-enter destroyDecodedData.
+
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::destroyDecodedData):
+
+2008-11-25 David Levin <levin@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22443
+ Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by
+ Workers on threads.
+
+ No observable change in behavior, so no test.
+
+ * platform/text/PlatformString.h:
+ * platform/text/String.cpp:
+ (WebCore::String::substringCopy):
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::substringCopy):
+ * platform/text/StringImpl.h:
+ Added the ability to copy a substring.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
+ (WebCore::PreflightResultCache::PreflightResultCache):
+ (WebCore::PreflightResultCacheItem::addToAccessControlAllowList):
+ (WebCore::PreflightResultCacheItem::parseAccessControlAllowList):
+ (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge):
+ (WebCore::PreflightResultCacheItem::parse):
+ (WebCore::PreflightResultCacheItem::allowsRequest):
+ (WebCore::PreflightResultCache::shared):
+ (WebCore::PreflightResultCache::appendEntry):
+ (WebCore::PreflightResultCache::canSkipPreflight):
+ (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
+ (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
+ Made the PreflightResultCache threadsafe.
+
+ (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod):
+ (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders):
+ Consolidation of duplicate logic.
+
+2008-11-24 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ For Unicode encodings other than UTF-8, use UTF-8 for
+ form submission and URL query part encoding.
+
+ See https://bugs.webkit.org/show_bug.cgi?id=21635
+
+ Tests: http/tests/misc/submit-get-in-utf16be.html
+ http/tests/misc/submit-get-in-utf16le.html
+ http/tests/misc/submit-get-in-utf32be.html
+ http/tests/misc/submit-get-in-utf32le.html
+ http/tests/misc/submit-get-in-utf7.html
+ http/tests/misc/submit-post-in-utf16be.html
+ http/tests/misc/submit-post-in-utf16le.html
+ http/tests/misc/submit-post-in-utf32be.html
+ http/tests/misc/submit-post-in-utf32le.html
+ http/tests/misc/submit-post-in-utf7.html
+ http/tests/misc/url-in-utf16be.html
+ http/tests/misc/url-in-utf16le.html
+ http/tests/misc/url-in-utf32be.html
+ http/tests/misc/url-in-utf32le.html
+ http/tests/misc/url-in-utf7.html
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::formData):
+ * loader/TextResourceDecoder.cpp:
+ (WebCore::TextResourceDecoder::setEncoding):
+ * platform/KURL.cpp:
+ (WebCore::KURL::KURL):
+ * platform/text/TextEncoding.cpp:
+ (WebCore::UTF7Encoding):
+ (WebCore::TextEncoding::isNonByteBasedEncoding):
+ (WebCore::TextEncoding::closestByteBasedEquivalent):
+ (WebCore::TextEncoding::encodingForFormSubmission):
+ * platform/text/TextEncoding.h:
+
+2008-11-24 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
+ https://bugs.webkit.org/show_bug.cgi?id=22441
+
+ - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers.
+
+ - Tweaked the generated files to better match our coding style.
+
+ * dom/make_names.pl:
+
+2008-11-24 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22073
+ REGRESSION(r33544): Palace in the Sky crashes WebKit
+
+ HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while
+ there were no scripts left to execute.
+
+ If m_hasScriptsWaitingForStylesheets becomes true during script execution
+ bail out from executing more scripts synchronously.
+
+ Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html
+
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::reset):
+ (WebCore::HTMLTokenizer::notifyFinished):
+
+2008-11-24 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22465
+ Define KURL::copy() and use it in WorkerThread.cpp
+
+ * dom/WorkerThread.cpp:
+ (WebCore::WorkerThread::WorkerThread):
+ * platform/KURL.cpp:
+ (WebCore::KURL::copy):
+ * platform/KURL.h:
+
+2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Sam Weinig.
+
+ Name enum values in a style guide compatible way.
+ Allow WMLIntrinsicEvent inclusion, without needing other includes.
+
+ * wml/WMLIntrinsicEvent.cpp:
+ (WebCore::createTaskElement):
+ * wml/WMLIntrinsicEvent.h:
+ * wml/WMLIntrinsicEventHandler.cpp:
+ * wml/WMLIntrinsicEventHandler.h:
+ (WebCore::):
+
+2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Sam Weinig.
+
+ Add wmlPageStateForDocument() helper function and use it in some places.
+
+ * wml/WMLAccessElement.cpp:
+ (WebCore::WMLAccessElement::parseMappedAttribute):
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::WMLDocument):
+ (WebCore::WMLDocument::finishedParsing):
+ (WebCore::wmlPageStateForDocument):
+ * wml/WMLDocument.h:
+ * wml/WMLGoElement.cpp:
+ (WebCore::WMLGoElement::executeTask):
+ * wml/WMLPrevElement.cpp:
+ (WebCore::WMLPrevElement::executeTask):
+ * wml/WMLRefreshElement.cpp:
+ (WebCore::WMLRefreshElement::executeTask):
+ * wml/WMLTaskElement.cpp:
+ (WebCore::WMLTaskElement::storeVariableState):
+ * wml/WMLTaskElement.h:
+
+2008-11-24 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Geoff Garen and Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22214
+ Keep dead resources in memory cache in purgeable memory.
+ <rdar://problem/6333088>
+
+ OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory
+ areas as less important. Under memory pressure system can steal pages that have
+ been marked purgeable for (hopefully) better uses. This is ideal for caches.
+
+ Only resources larger than 16KB will be moved to the purgeable memory.
+
+ * WebCore.base.exp:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/Cache.cpp:
+ (WebCore::Cache::requestResource):
+ (WebCore::Cache::requestUserCSSStyleSheet):
+ (WebCore::Cache::resourceForURL):
+ (WebCore::Cache::pruneDeadResources):
+ (WebCore::Cache::TypeStatistic::addResource):
+ (WebCore::Cache::getStatistics):
+ (WebCore::Cache::dumpStats):
+ * loader/Cache.h:
+ (WebCore::Cache::TypeStatistic::TypeStatistic):
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::allClientsRemoved):
+ (WebCore::CachedCSSStyleSheet::sheetText):
+ * loader/CachedCSSStyleSheet.h:
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::addClient):
+ (WebCore::CachedImage::image):
+ (WebCore::CachedImage::imageSize):
+ (WebCore::CachedImage::imageRect):
+ (WebCore::CachedImage::destroyDecodedData):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::addClient):
+ (WebCore::CachedResource::makePurgeable):
+ (WebCore::CachedResource::isPurgeable):
+ (WebCore::CachedResource::wasPurged):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::data):
+ * loader/CachedScript.cpp:
+ (WebCore::CachedScript::allClientsRemoved):
+ (WebCore::CachedScript::script):
+ (WebCore::CachedScript::destroyDecodedData):
+ * platform/PurgeableBuffer.h: Added.
+ (WebCore::PurgeableBuffer::create):
+ (WebCore::PurgeableBuffer::size):
+ (WebCore::PurgeableBuffer::):
+ (WebCore::PurgeableBuffer::purgePriority):
+ (WebCore::PurgeableBuffer::isPurgeable):
+ (WebCore::PurgeableBuffer::~PurgeableBuffer):
+ (WebCore::PurgeableBuffer::data):
+ (WebCore::PurgeableBuffer::setPurgePriority):
+ (WebCore::PurgeableBuffer::wasPurged):
+ (WebCore::PurgeableBuffer::makePurgeable):
+ * platform/SharedBuffer.cpp:
+ (WebCore::SharedBuffer::~SharedBuffer):
+ (WebCore::SharedBuffer::adoptPurgeableBuffer):
+ (WebCore::SharedBuffer::size):
+ (WebCore::SharedBuffer::data):
+ (WebCore::SharedBuffer::append):
+ (WebCore::SharedBuffer::clear):
+ (WebCore::SharedBuffer::releasePurgeableBuffer):
+ * platform/SharedBuffer.h:
+ (WebCore::SharedBuffer::hasPurgeableBuffer):
+ * platform/cf/SharedBufferCF.cpp:
+ * platform/mac/PurgeableBufferMac.cpp: Added.
+ (WebCore::PurgeableBuffer::PurgeableBuffer):
+ (WebCore::PurgeableBuffer::~PurgeableBuffer):
+ (WebCore::PurgeableBuffer::create):
+ (WebCore::PurgeableBuffer::makePurgeable):
+ (WebCore::PurgeableBuffer::wasPurged):
+ (WebCore::PurgeableBuffer::setPurgePriority):
+ (WebCore::PurgeableBuffer::data):
+
+2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos & Eric Seidel.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430
+
+ Regenerate WML layout test results after implementing WML specific <card> handling:
+ Only the first <card> element should be visible after loading the document, others
+ can be shown by using the <go> task element.
+
+ * dom/Document.h: Make 'finishedParsing()' a virtual function.
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::WMLCardElement):
+ (WebCore::WMLCardElement::~WMLCardElement):
+ (WebCore::WMLCardElement::createRenderer):
+ (WebCore::WMLCardElement::setActiveCardInDocument):
+ (WebCore::WMLCardElement::setVisibility):
+ * wml/WMLCardElement.h:
+ * wml/WMLDocument.cpp:
+ (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing.
+ * wml/WMLDocument.h:
+
+2008-11-24 Glenn Wilson <gwilson@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ http://bugs.webkit.org/show_bug.cgi?id=15643
+
+ Added support for clients that wish to disable smart insert/delete
+ and enable the "trailing whitespace selection" work-around.
+
+ Tests: editing/selection/doubleclick-whitespace.html
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::selectTrailingWhitespaceEnabled):
+ * editing/Editor.h:
+ * editing/Selection.cpp:
+ (WebCore::Selection::includeTrailingWhitespace):
+ * editing/Selection.h:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled):
+ * page/EditorClient.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::selectClosestWordFromMouseEvent):
+
+2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Forgot to include WMLPageState.h in last commit.
+
+ * wml/WMLPageState.h:
+ (WebCore::WMLPageState::restrictDeckAccessToDomain):
+ (WebCore::WMLPageState::restrictDeckAccessToPath):
+
+2008-11-24 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Oliver Hunt & Eric Seidel.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431
+
+ Implement WMLAccessElement. It just propogates two attributes values to WMLPageState.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * wml/WMLAccessElement.cpp: Added.
+ (WebCore::WMLAccessElement::WMLAccessElement):
+ (WebCore::WMLAccessElement::parseMappedAttribute):
+ * wml/WMLAccessElement.h: Added.
+ * wml/WMLTagNames.in:
+ * wml/WMLPageState.h: Rename functions.
+ (WebCore::WMLPageState::restrictDeckAccessToDomain):
+ (WebCore::WMLPageState::restrictDeckAccessToPath):
+ * wml/WMLVariables.cpp: Add new helper function.
+ (WebCore::valueContainsVariableReference):
+ * wml/WMLVariables.h:
+ (WebCore::):
+
+2008-11-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=22470
+ remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL.
+ (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto.
+ * loader/FrameLoaderClient.h: Remove argument.
+
+2008-11-24 Finnur Thorarinsson <finnur.webkit@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432
+
+ Add plumbing for tickmark support for the scrollbars. The painting code
+ for the scrollbar just needed to call paintTickmarks at the right time
+ and a default no-op implementation is provided, which the ports will
+ need to override.
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ * platform/ScrollbarThemeComposite.h:
+ (WebCore::ScrollbarThemeComposite::paintTickmarks):
+
+2008-11-24 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22448
+ Create an abstraction for JSC::SourceCode
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/CachedScriptSourceProvider.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptSourceCode.h: Added.
+ (WebCore::ScriptSourceCode::ScriptSourceCode):
+ (WebCore::ScriptSourceCode::length):
+ (WebCore::ScriptSourceCode::jsSourceCode):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::Workevn ScriptController::evaluate):
+ * bindings/js/WorkerScriptController.h:
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::insertedIntoDocument):
+ (WebCore::ScriptElement::childrenChanged):
+ (WebCore::ScriptElementData::evaluateScript):
+ (WebCore::ScriptElementData::notifyFinished):
+ * dom/ScriptElement.h:
+ * dom/WorkerThread.cpp:
+ (WebCore::WorkerThread::workerThread):
+ * dom/WorkerThread.h:
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::notifyFinished):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::endElementNs):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::parseEndElement):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::scriptHandler):
+ (WebCore::HTMLTokenizer::scriptExecution):
+ (WebCore::HTMLTokenizer::notifyFinished):
+ * html/HTMLTokenizer.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::executeScript):
+ * loader/FrameLoader.h:
+
+2008-11-24 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - finish https://bugs.webkit.org/show_bug.cgi?id=22295
+ track which history items are from page load failures
+
+ * WebCore.base.exp: Exported new function.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added.
+ * loader/DocumentLoader.h: Ditto.
+
+2008-11-24 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class
+ https://bugs.webkit.org/show_bug.cgi?id=22461
+
+ Changing AccessibilityListBox to use its parent's signature for hit testing
+
+ * page/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::doAccessibilityHitTest):
+ * page/AccessibilityListBox.h:
+
+2008-11-24 Simon Fraser <simon.fraser@apple.com>
+
+ Fix Windows build: selectionRect() -> selectionBounds().
+
+ * page/win/FrameCGWin.cpp:
+ (WebCore::imageFromSelection):
+
+2008-11-24 Glenn Wilson <gwilson@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ http://bugs.webkit.org/show_bug.cgi?id=18703
+ "Changing the 'size' property on a text input does not affect its length"
+
+ Text fields would not repaint themselves after having their "size"
+ attributes modified. This fix tells the object to recalculate its
+ width and repaint itself when its "size" attribute is parsed.
+
+ Test: fast/js/text-field-resize.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+
+2008-11-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433
+
+ Make RenderView::selectionRect() private to cause compile-time
+ errors if someone tries to call it.
+
+ * rendering/RenderView.h:
+
+2008-11-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ Via: https://bugs.webkit.org/show_bug.cgi?id=22433
+
+ Rename RenderView::selectionRect() to selectionBounds(), to remove
+ longstanding ambiguity with the base class selectionRect() method.
+ Do the same on Frame for consistency with RenderView. Assert
+ that RenderView::selectionRect() is never called.
+
+ * WebCore.base.exp:
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::focusedOrActiveStateChanged):
+ * page/DragController.cpp:
+ (WebCore::dragLocForSelectionDrag):
+ * page/Frame.cpp:
+ (WebCore::Frame::selectionBounds):
+ (WebCore::Frame::revealSelection):
+ * page/Frame.h:
+ * page/mac/FrameMac.mm:
+ (WebCore::Frame::selectionImage):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::selectionRect):
+ (WebCore::RenderView::selectionBounds):
+ * rendering/RenderView.h:
+
+2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
+ https://bugs.webkit.org/show_bug.cgi?id=22441
+
+ - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of
+ an AtomicString.
+
+ - Updated the elements' constructors and the callers to reflect the previous change.
+
+ * dom/Document.cpp:
+ (WebCore::Document::createElement):
+ * html/HTMLDocument.cpp:
+ (WebCore::HTMLDocument::createElement):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::cloneNode):
+ * html/HTMLElementFactory.cpp:
+ (WebCore::htmlConstructor):
+ (WebCore::headConstructor):
+ (WebCore::bodyConstructor):
+ (WebCore::baseConstructor):
+ (WebCore::linkConstructor):
+ (WebCore::metaConstructor):
+ (WebCore::styleConstructor):
+ (WebCore::titleConstructor):
+ (WebCore::frameConstructor):
+ (WebCore::framesetConstructor):
+ (WebCore::iframeConstructor):
+ (WebCore::formConstructor):
+ (WebCore::buttonConstructor):
+ (WebCore::inputConstructor):
+ (WebCore::isindexConstructor):
+ (WebCore::fieldsetConstructor):
+ (WebCore::keygenConstructor):
+ (WebCore::labelConstructor):
+ (WebCore::legendConstructor):
+ (WebCore::optgroupConstructor):
+ (WebCore::optionConstructor):
+ (WebCore::selectConstructor):
+ (WebCore::textareaConstructor):
+ (WebCore::dlConstructor):
+ (WebCore::ulConstructor):
+ (WebCore::olConstructor):
+ (WebCore::dirConstructor):
+ (WebCore::menuConstructor):
+ (WebCore::liConstructor):
+ (WebCore::blockquoteConstructor):
+ (WebCore::divConstructor):
+ (WebCore::headingConstructor):
+ (WebCore::hrConstructor):
+ (WebCore::paragraphConstructor):
+ (WebCore::preConstructor):
+ (WebCore::basefontConstructor):
+ (WebCore::fontConstructor):
+ (WebCore::modConstructor):
+ (WebCore::anchorConstructor):
+ (WebCore::imageConstructor):
+ (WebCore::mapConstructor):
+ (WebCore::areaConstructor):
+ (WebCore::canvasConstructor):
+ (WebCore::appletConstructor):
+ (WebCore::embedConstructor):
+ (WebCore::objectConstructor):
+ (WebCore::paramConstructor):
+ (WebCore::scriptConstructor):
+ (WebCore::tableConstructor):
+ (WebCore::tableCaptionConstructor):
+ (WebCore::tableColConstructor):
+ (WebCore::tableRowConstructor):
+ (WebCore::tableCellConstructor):
+ (WebCore::tableSectionConstructor):
+ (WebCore::brConstructor):
+ (WebCore::quoteConstructor):
+ (WebCore::marqueeConstructor):
+ (WebCore::audioConstructor):
+ (WebCore::videoConstructor):
+ (WebCore::sourceConstructor):
+ (WebCore::HTMLElementFactory::createHTMLElement):
+ * html/HTMLElementFactory.h:
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::getNode):
+
+2008-11-24 Brent Fulgham <bfulgham@gmail.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22444
+
+ Correct bad default constructor for Cairo FontPlatformData so that
+ the m_scaledFont member is initialized. Previously this would be
+ set to 0xbaadf00d, which would result in infinite loops while
+ attempting to deal with the font cache.
+
+ * platform/graphics/win/FontPlatformData.h:
+ (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0
+
+2008-11-24 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22455
+ Add support for Worker.terminate()
+
+ Test: fast/workers/worker-terminate.html
+
+ * dom/Worker.idl:
+ * dom/Worker.cpp:
+ * dom/Worker.h:
+ Added terminate().
+
+ * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
+ * dom/WorkerMessagingProxy.cpp:
+ (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked
+ to terminate (this is not mentioned in draft spec, but makes sense anyway).
+ (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was
+ asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount
+ to only track messages that were posted to worker thread, avoiding a leak if the script
+ could not be loaded.
+ (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating.
+ (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for.
+ (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context
+ was destroyed, the worker object may still be alive now, so don't delete self in this case.
+ (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or
+ remember to stop it when it is created.
+ (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity
+ if the thread asked to stop anyway.
+ (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto.
+
+ * dom/WorkerThread.cpp:
+ * dom/WorkerThread.h:
+ Fixed a race condition in stop().
+
+2008-11-24 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22439
+ Won't load stylesheets with filenames less than 2 characters long in xhtml.
+
+ Test: http/tests/misc/single-character-pi-stylesheet.xhtml
+
+ * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
+ Fix up the logic.
+
+2008-11-24 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Mark Rowe.
+
+ [Gtk+] Add configure option to enable Web Workers and enable it by default
+
+ Add --enable-workers to the buildsystem (used by build-webkit) add
+ the to be build files to the GNUmakefile.am and change build-webkit
+ to enable Web Workers by default.
+
+ * GNUmakefile.am:
+
+2008-11-24 Alexey Proskuryakov <ap@webkit.org>
+
+ Build fix (for Windows Cairo port?)
+
+ * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as
+ the ENABLE macro is not available in idls.
+
+2008-11-22 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22421
+ Added ScriptValue to Visual Studio and XCode projects.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Holger Freyther.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426
+
+ Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * wml/WMLIntrinsicEvent.cpp: Added.
+ (WebCore::createTaskElement):
+ (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent):
+ * wml/WMLIntrinsicEvent.h: Added.
+ (WebCore::WMLIntrinsicEvent::create):
+ (WebCore::WMLIntrinsicEvent::createWithTask):
+ (WebCore::WMLIntrinsicEvent::taskElement):
+ * wml/WMLIntrinsicEventHandler.cpp: Added.
+ (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler):
+ (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent):
+ (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
+ (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent):
+ * wml/WMLIntrinsicEventHandler.h: Added.
+ (WebCore::):
+
+2008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Holger Freyther.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423
+
+ Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation.
+ Activate code handling <setvar> registration in WMLTaskElement.
+
+ * wml/WMLGoElement.cpp: Added.
+ (WebCore::WMLGoElement::WMLGoElement):
+ (WebCore::WMLGoElement::~WMLGoElement):
+ (WebCore::WMLGoElement::parseMappedAttribute):
+ (WebCore::WMLGoElement::executeTask):
+ * wml/WMLGoElement.h: Added.
+ * wml/WMLPrevElement.cpp: Added.
+ (WebCore::WMLPrevElement::WMLPrevElement):
+ (WebCore::WMLPrevElement::~WMLPrevElement):
+ (WebCore::WMLPrevElement::executeTask):
+ * wml/WMLPrevElement.h: Added.
+ * wml/WMLRefreshElement.cpp: Added.
+ (WebCore::WMLRefreshElement::WMLRefreshElement):
+ (WebCore::WMLRefreshElement::~WMLRefreshElement):
+ (WebCore::WMLRefreshElement::executeTask):
+ * wml/WMLRefreshElement.h: Added.
+ * wml/WMLSetvarElement.cpp: Added.
+ (WebCore::WMLSetvarElement::WMLSetvarElement):
+ (WebCore::WMLSetvarElement::~WMLSetvarElement):
+ (WebCore::WMLSetvarElement::parseMappedAttribute):
+ (WebCore::WMLSetvarElement::insertedIntoDocument):
+ (WebCore::WMLSetvarElement::name):
+ (WebCore::WMLSetvarElement::value):
+ * wml/WMLSetvarElement.h: Added.
+ * wml/WMLTagNames.in:
+ * wml/WMLTaskElement.cpp:
+ (WebCore::WMLTaskElement::registerVariableSetter):
+ (WebCore::WMLTaskElement::storeVariableState):
+ * wml/WMLTaskElement.h:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-11-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Forgot to include WMLPageState.* in the last commit.
+
+ * wml/WMLPageState.cpp:
+ (WebCore::WMLPageState::setNeedCheckDeckAccess):
+ * wml/WMLPageState.h:
+ (WebCore::WMLPageState::storeVariables):
+
+2008-11-21 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22397
+ Worker threads are not destroyed if running a JS loop
+
+ Since the event loop is not ever entered again in this case, the fix necessarily involves
+ some shared data hackery.
+
+ * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop):
+ * dom/WorkerThread.h:
+ Added a stop() method, which asks the thread to exit as soon as possible. In the future, it
+ may need to abort other kinds of synchronous processing, such as importScripts or XHR.
+
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController):
+ (WebCore::WorkerScriptController::evaluate):
+ (WebCore::WorkerScriptController::forbidExecution):
+ * bindings/js/WorkerScriptController.h:
+ Added a forbidExecution() method, which interrupts currently running JS, and makes any
+ future calls to evaluate() return immediately.
+
+ * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
+ Call WorkerThread::stop().
+
+2008-11-21 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Improve wx image drawing performance considerably when using wxGraphicsContext
+ by avoiding unnecessary copies and drawing.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22404
+
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::BitmapImage::draw):
+ (WebCore::BitmapImage::drawPattern):
+
+
+2008-11-21 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Implementation of AffineTransform::mapRect for wx.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22401
+
+ * platform/graphics/wx/AffineTransformWx.cpp:
+ (WebCore::AffineTransform::mapRect):
+
+2008-11-21 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
+
+ Change link editing behavior to match TextEdit and MS Word when editing before and after
+ a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
+ used to, so it's difficult to get out of link editing mode):
+ When inserting before or after a link, always insert content outside of the link. This
+ makes it impossible to get stuck in link editing mode, while making it slightly more
+ difficult to edit link labels. WebKit editors that care about this can add UI for editing
+ link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining
+ about how it was difficult to edit link labels at the start/end, the code was just introduced
+ with another bug fix without much thought.
+
+ Don't remember removed links anymore, no other editor does this and it made it
+ difficult/impossible to get out of link editing mode. This code was added to fix
+ <rdar://problem/4069359>, which is fixed instead by removing the styles from an
+ enclosing anchor element from those styles that we remember when we delete content.
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
+ * editing/CompositeEditCommand.h:
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::removeEnclosingAnchorStyle):
+ (WebCore::DeleteSelectionCommand::saveTypingStyleState):
+ (WebCore::DeleteSelectionCommand::doApply):
+ * editing/DeleteSelectionCommand.h:
+ * editing/EditCommand.cpp:
+ (WebCore::EditCommand::apply):
+ * editing/Editor.cpp:
+ (WebCore::Editor::appliedEditing):
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::prepareForTextInsertion):
+ (WebCore::InsertTextCommand::input):
+ * editing/RemoveFormatCommand.cpp:
+ (WebCore::RemoveFormatCommand::doApply):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::setSelection):
+ * editing/SelectionController.h:
+
+2008-11-21 Alice Liu <alice.liu@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ fixed <rdar://6340771> crashing on print preview
+
+ * platform/graphics/win/GraphicsContextCGWin.cpp:
+ (WebCore::GraphicsContext::drawWindowsBitmap):
+
+2008-11-21 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Geoffrey Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22390
+ Abstract away JSC:: usage in WebCore/xml
+
+ * bindings/js/ScriptString.h: Added.
+ (WebCore::ScriptString::ScriptString):
+ (WebCore::ScriptString::operator JSC::UString):
+ (WebCore::ScriptString::isNull):
+ (WebCore::ScriptString::size):
+ (WebCore::ScriptString::operator=):
+ (WebCore::ScriptString::operator+=):
+ * inspector/InspectorController.cpp:
+ (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
+ (WebCore::InspectorResource::setXMLHttpRequestProperties):
+ (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
+ * inspector/InspectorController.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::responseText):
+ (WebCore::XMLHttpRequest::clearResponse):
+ (WebCore::XMLHttpRequest::dropProtection):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ (WebCore::XMLHttpRequest::didReceiveData):
+ * xml/XMLHttpRequest.h:
+ (WebCore::XMLHttpRequest::setLastSendURL):
+
+2008-11-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Destroy script decoded data on a zero-delay timer after
+ decoding. This means we now have no decoded script data
+ at the end of Membuster.
+
+ * loader/CachedScript.cpp:
+ (WebCore::CachedScript::CachedScript):
+ (WebCore::CachedScript::allClientsRemoved):
+ (WebCore::CachedScript::script):
+ (WebCore::CachedScript::decodedDataDeletionTimerFired):
+ * loader/CachedScript.h:
+
+2008-11-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=22159
+
+ RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
+ maximalOutlineSize(), since a child might have an outline which projects
+ outside the parent overflowRect().
+
+ We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
+ so that it is valid for these repaints.
+
+ Test: fast/repaint/outline-child-repaint.html
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleDidChange):
+ (WebCore::RenderBox::absoluteClippedOverflowRect):
+
+2008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk, Qt, and Wx build fix.
+
+ Add LinkHash.cpp in the build scripts.
+ Add LinkHash.h to Gtk's build script.
+
+ LinkHash.cpp/h was introduced in r38661.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCoreSources.bkl:
+
+2008-11-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
+ Be more eager in destroying script decoded data
+
+ Destroy the decoded data when all clients are removed from a CachedScript.
+
+ * loader/CachedScript.cpp:
+ (WebCore::CachedScript::allClientsRemoved):
+ * loader/CachedScript.h:
+ (WebCore::CachedScript::allClientsRemoved):
+
+2008-11-21 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit should be using Device RGB colorspace everywhere for
+ consistency.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22300
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (CreateCGColorIfDifferent):
+ * platform/graphics/mac/ColorMac.h:
+ * platform/graphics/mac/ColorMac.mm:
+ (WebCore::nsColor):
+ (+[WebCoreControlTintObserver controlTintDidChange]):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::convertNSColorToColor):
+ (WebCore::menuBackgroundColor):
+
+2008-11-20 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 22388: Add JSInterfaceName to the .in files
+ https://bugs.webkit.org/show_bug.cgi?id=22388
+
+ Add JSInterfaceName that is similar to interfaceName but
+ for the JS wrappers. JSInterfaceName is always equal to interfaceName
+ unless explicitly set.
+
+ * dom/make_names.pl:
+ * html/HTMLTagNames.in:
+ * svg/svgtags.in:
+
+2008-11-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
+ Be more eager in destroying script decoded data
+
+ Use a new CachedScriptSourceProvider to keep CachedScripts as
+ CachedScripts, even down into JSC. This has the added benefit
+ of showing the CachedScripts as live in the Caches window.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/CachedScriptSourceProvider.h: Added.
+ (WebCore::CachedScriptSourceProvider::create):
+ (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
+ (WebCore::CachedScriptSourceProvider::getRange):
+ (WebCore::CachedScriptSourceProvider::data):
+ (WebCore::CachedScriptSourceProvider::length):
+ (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
+ (WebCore::makeSource):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::notifyFinished):
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::notifyFinished):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::notifyFinished):
+
+2008-11-21 Brett Wilson <brettw@chromium.org>
+
+ Fix debug-only build bustage due to a typo in an assert, and add new
+ files to the Windows build.
+
+ * Info.plist:
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/LinkHash.h:
+ (WebCore::LinkHashHash::avoidDeletedValue):
+
+2008-11-20 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22131
+
+ Factor out visited link hashing and types into a new file, LinkHash.
+ This also changes the hash type to 64 bits, but does not actually use
+ the extra bits yet.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
+ (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::visitedStateChanged):
+ * dom/Document.cpp:
+ * dom/Document.h:
+ * page/Page.cpp:
+ (WebCore::Page::visitedStateChanged):
+ * page/Page.h:
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::isLinkVisited):
+ (WebCore::PageGroup::addVisitedLink):
+ * page/PageGroup.h:
+ * platform/LinkHash.cpp: Added.
+ (WebCore::findSlashDotDotSlash):
+ (WebCore::findSlashSlash):
+ (WebCore::findSlashDotSlash):
+ (WebCore::containsColonSlashSlash):
+ (WebCore::cleanPath):
+ (WebCore::matchLetter):
+ (WebCore::needsTrailingSlash):
+ (WebCore::visitedLinkHash):
+ * platform/LinkHash.h: Added
+ (WebCore::LinkHashHash::hash):
+ (WebCore::LinkHashHash::equal):
+ (WebCore::LinkHashHash::avoidDeletedValue):
+
+2008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
+
+ * wml/WMLPElement.cpp:
+ (WebCore::WMLPElement::insertedIntoDocument):
+
+2008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix some coding style/formatting issues in WMLAElement.
+
+ * wml/WMLAElement.cpp:
+ (WebCore::WMLAElement::parseMappedAttribute):
+ (WebCore::WMLAElement::defaultEventHandler):
+ * wml/WMLAElement.h:
+
+2008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
+
+ Implement <anchor> support for WML, add WMLVariables file containing helper functions
+ for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::linkAttribute):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::absoluteImageURL):
+ (WebCore::HitTestResult::absoluteLinkURL):
+ (WebCore::HitTestResult::isLiveLink):
+ * wml/WMLAnchorElement.cpp: Added.
+ (WebCore::WMLAnchorElement::WMLAnchorElement):
+ (WebCore::WMLAnchorElement::~WMLAnchorElement):
+ (WebCore::WMLAnchorElement::defaultEventHandler):
+ * wml/WMLAnchorElement.h: Added.
+ (WebCore::WMLAnchorElement::registerTask):
+ * wml/WMLTagNames.in:
+ * wml/WMLTaskElement.cpp: Added.
+ (WebCore::WMLTaskElement::WMLTaskElement):
+ (WebCore::WMLTaskElement::~WMLTaskElement):
+ (WebCore::WMLTaskElement::insertedIntoDocument):
+ (WebCore::WMLTaskElement::addVariableSetter):
+ (WebCore::WMLTaskElement::removeVariableSetter):
+ (WebCore::WMLTaskElement::storeVariableState):
+ * wml/WMLTaskElement.h: Added.
+ * wml/WMLVariables.cpp: Added.
+ (WebCore::isValidVariableCharacter):
+ (WebCore::isValidVariableReferenceCharacter):
+ (WebCore::isValidVariableName):
+ (WebCore::substituteVariableReferences):
+ * wml/WMLVariables.h: Added.
+ (WebCore::):
+
+2008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>
+
+ Rubber-stamped by Alexey Proskuryakov.
+
+ Build fix when building without WORKERS on non-POSIX, non-WINDOWS
+ machine.
+
+ Spotted by Mario Bensi.
+
+ * platform/text/TextCodecICU.cpp:
+
+2008-11-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ First step in https://bugs.webkit.org/show_bug.cgi?id=22394
+ Be more eager in destroying script decoded data
+
+ Pass data to be used in script execution around as JSC::SourceCode instead
+ of a source, url, and starting line.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/js/ScriptController.h:
+ * bindings/js/StringSourceProvider.h:
+ (WebCore::makeSource):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate):
+ * bindings/js/WorkerScriptController.h:
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::insertedIntoDocument):
+ (WebCore::ScriptElement::childrenChanged):
+ (WebCore::ScriptElementData::evaluateScript):
+ (WebCore::ScriptElementData::notifyFinished):
+ * dom/ScriptElement.h:
+ * dom/WorkerThread.cpp:
+ (WebCore::WorkerThread::workerThread):
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::notifyFinished):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::endElementNs):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::parseEndElement):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::scriptHandler):
+ (WebCore::HTMLTokenizer::scriptExecution):
+ (WebCore::HTMLTokenizer::notifyFinished):
+ * html/HTMLTokenizer.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::executeScript):
+ * loader/FrameLoader.h:
+
+2008-11-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
+ REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String
+
+ - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::responseText):
+ * xml/XMLHttpRequest.idl:
+
+2008-11-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=19623
+
+ When an non-layer object gained a transform, it would only repaint
+ the bounds of the new layer, which could result in redraw artifacts
+ if the new layer was smaller. So if we're gaining a transform, we
+ repaint.
+
+ Test: fast/repaint/change-transform.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+
+2008-11-20 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/6111436> Support upload progress events on Windows
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::didSendBodyData): Added.
+ (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
+
+2008-11-20 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/2610675> Blank line that is quoted can't be deleted
+
+ If the caret is in an empty quoted paragraph, and either there is nothing before that
+ paragraph, or what is before is unquoted, and the user presses delete, unquote that
+ paragraph.
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
+ Removes the line break that holds open an empty paragraph and then attempts to
+ prune the blockquote(s) that held that line break in case they have been emptied
+ out. Places a line break to create in empty unquoted paragraph in place of the
+ quoted one that was removed.
+ * editing/CompositeEditCommand.h:
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
+ * editing/htmlediting.cpp:
+ (WebCore::highestEnclosingNodeOfType): Added.
+ * editing/htmlediting.h:
+
+2008-11-20 Dean Jackson <dino@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ https://bugs.webkit.org/show_bug.cgi?id=21247
+
+ Make transition shorthand property accept transition-delay.
+
+ Test: transitions/transition-shorthand-delay.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseTransitionShorthand):
+
+2008-11-20 Dean Jackson <dino@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ https://bugs.webkit.org/show_bug.cgi?id=22368
+
+ Make sure pauseTransition API takes transition delay into account.
+
+ Test: transitions/transition-drt-api-delay.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::pauseAtTime):
+
+2008-11-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=20368
+
+ Implement getComputedStyle for animation properties. Remove individual
+ computed values for transform-origin-x, transform-origin-y, and just
+ return transform-origin instead. Return "none" for default animation-name,
+ and fix the initial value.
+
+ Tests: animations/computed-style.html
+ transforms/computed-style-origin.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::getDelayValue):
+ (WebCore::getDurationValue):
+ (WebCore::getTimingFunctionValue):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::initialAnimationName):
+
+2008-11-20 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Preparation for:
+ <rdar://problem/2610675> Blank line that is quoted can't be deleted
+
+ To fix this we need to make changes to the code that creates selections to delete
+ when the user does a backward or forward delete with a caret selection. For certain
+ caret positions, we now want to remove something other than the standard "caret extended
+ backward/forward by one unit". The problem is that there were two pieces of code
+ responsible for doing this, one in Editor::deleteWithDirection, and another inside
+ TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
+ addition (r19172), and adding it there caused regressions because it prevented the
+ code in deleteKeyPressed from ever running. The regressions were never caught because
+ JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.
+
+ This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
+ can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.
+
+ Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
+ discrepancies between the behavior of JS deletions and manual deletions, so that we
+ have better test coverage.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
+ of checking for that periodically throughout the function. There's really nothing to be done
+ if it's null anyway.
+ Move kill ring code down into deleteKeyPressed.
+ * editing/Editor.h:
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::TypingCommand):
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+ (WebCore::TypingCommand::doApply):
+ * editing/TypingCommand.h:
+ (WebCore::TypingCommand::create):
+
+2008-11-20 Darin Adler <darin@apple.com>
+
+ Earlier version reviewed by Justin Garcia.
+
+ - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
+ handled even when the selection is not in an editable area.
+ (WebCore::Editor::handleInputMethodKeydown): Ditto.
+
+ * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
+ allow use when there's a selection even if it's not in an editable area. This includes commands
+ like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
+ insertion point.
+
+2008-11-20 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22380
+ Fix WorkerContext refcounting
+
+ * dom/WorkerContext.cpp:
+ (WebCore::WorkerContext::WorkerContext):
+ * dom/WorkerContext.h:
+ (WebCore::WorkerContext::script):
+ (WebCore::WorkerContext::clearScript):
+ Added a method to manually destroy WorkerScriptController.
+
+ * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
+ Destroy WorkerScriptController to release any references to WorkerContext.
+
+2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Last part of bug 21106: .in format discussed changes
+ https://bugs.webkit.org/show_bug.cgi?id=21106
+
+ - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
+
+ - Cleaned up additionnal function parameters that were unneeded.
+
+ * dom/make_names.pl:
+ * html/HTMLTagNames.in:
+
+2008-11-20 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22383
+ Worker tests spill error messages over to consequent tests
+
+ * dom/Worker.cpp: (WebCore::Worker::Worker):
+ Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
+ in this case, and there is no sense in starting a thread and trying to parse document source
+ as JavaScript.
+
+ * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
+ Return quickly if toString() raised an exception.
+
+2008-11-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22190
+
+ Fix the painting and event handling in transformed search fields.
+ When painting the cancel and results button parts, get the rect from AppKit
+ relative to the input bounds (rather than in absolute coords), then convert
+ it into the coords of the part's renderer (which is the one that is painting).
+ To do this we need to compute an offset relative to some container, so expose
+ a method on RenderObject for that.
+
+ Also fix the location at which the search popup shows up to take transforms
+ into account, and fix the math that is used to figure out if the search
+ results button, or the cancel button should get the mouse events.
+
+ Test: fast/forms/search-transformed.html
+
+ * rendering/RenderBox.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::offsetFromContainer):
+ * rendering/RenderObject.h:
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::forwardEvent):
+ (WebCore::RenderTextControl::showPopup):
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::convertToPaintingRect):
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
+
+2008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Steps towards making the the Qt port of WebKit compile on Windows CE
+
+ https://bugs.webkit.org/show_bug.cgi?id=20746
+
+ * WebCore.pro: Various fixes to include windows specific build options
+ also in the Windows CE build.
+ * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion.
+ * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is
+ not available on CE.
+ * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI.
+ * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
+ * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM
+ constants on CE.
+ * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins.
+ * platform/text/RegularExpression.cpp: Removed unused sys/types.h and
+ pcre.h inclusions.
+ * platform/win/SystemTimeWin.cpp:
+ (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not
+ exist.
+
+2008-11-20 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22379
+ Make CSSOM use less memory
+
+ - Shrink CSSProperty by half by using bitfields.
+ - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
+ and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
+ (WebCore::CSSMutableStyleDeclaration::operator=):
+ * css/CSSMutableStyleDeclaration.h:
+ (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
+ (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
+ * css/CSSProperty.h:
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ * css/CSSStyleSheet.h:
+ (WebCore::CSSStyleSheet::setStrictParsing):
+ (WebCore::CSSStyleSheet::useStrictParsing):
+ * css/StyleBase.h:
+ (WebCore::StyleBase::useStrictParsing):
+ (WebCore::StyleBase::StyleBase):
+
+2008-11-19 Darin Fisher <darin@chromium.org>
+
+ Fix bustage.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22373
+ Ports busted by addition of ScriptValue.{h,cpp}
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::performRequest):
+
+2008-11-19 Darin Fisher <darin@chromium.org>
+
+ Bustage fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22373
+ Ports busted by addition of ScriptValue.{h,cpp}
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCoreSources.bkl:
+ * dom/XMLTokenizerQt.cpp:
+ * plugins/PluginView.cpp:
+
+2008-11-19 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22345
+ Define ScriptValue as a thin container for a JSC::Value*.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScheduledAction.cpp:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptValue.cpp: Added.
+ (WebCore::ScriptValue::getString):
+ * bindings/js/ScriptValue.h: Added.
+ (WebCore::ScriptValue::ScriptValue):
+ (WebCore::ScriptValue::jsValue):
+ * dom/ScriptElement.cpp:
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * html/HTMLTokenizer.cpp:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::executeIfJavaScriptURL):
+ (WebCore::FrameLoader::executeScript):
+ * loader/FrameLoader.h:
+
+2008-11-19 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Justin Garcia.
+
+ Fix for <rdar://problem/5472507> Remove color property when a user
+ sets color to black
+
+ This patch prevents us from inserting font nodes during the
+ ApplyStyleCommand if they will not change the computed style of an
+ element.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::fontColorChangesComputedStyle):
+ (WebCore::fontSizeChangesComputedStyle):
+ (WebCore::fontFaceChangesComputedStyle):
+ (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
+
+2008-11-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ https://bugs.webkit.org/show_bug.cgi?id=22111
+
+ Fix hit testing in controls on transformed video elements
+ by replacing absoluteBoundingBoxRect().contains() with
+ code that maps the point into local coords, taking
+ transforms into account.
+
+ Test: media/video-controls-transformed.html
+
+ * platform/graphics/MediaPlayer.h:
+ * rendering/RenderMedia.cpp:
+ (WebCore::rendererContainsPoint):
+ (WebCore::RenderMedia::forwardEvent):
+
+2008-11-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=22348
+
+ Need to educate style sharing about autofill, so that style does not
+ get shared between input elements that are autofilled, and those
+ that are not. Setting autofill should also do a setChanged on the node.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::canShareStyleWithElement):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ * dom/Node.h:
+ (WebCore::Node::isAutofilled):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setAutofilled):
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::isAutofilled):
+
+2008-11-19 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Antti Koivisto.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22349
+
+ Clear the subresource loader client when the client is removed in
+ response to a 304 (not modified). This prevents an inconsistent state
+ where the loader thinks it's active and the loader::Host doesn't.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::didReceiveResponse):
+
+2008-11-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22355
+ Systematize code for replacing global constructors
+
+ Test: fast/workers/worker-replace-global-constructor.html
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated
+ code for global constructor setters does.
+ (setJSDOMWindowBaseAudio): Ditto.
+ (setJSDOMWindowBaseImage): Ditto.
+ (setJSDOMWindowBaseMessageChannel): Ditto.
+ (setJSDOMWindowBaseOption): Ditto.
+ (setJSDOMWindowBaseWorker): Ditto.
+ (setJSDOMWindowBaseXMLHttpRequest): Ditto.
+ (setJSDOMWindowBaseXSLTProcessor): Ditto.
+ (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
+
+ * bindings/js/JSWorkerContext.cpp:
+ (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties,
+ as it is done for Window.
+ (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global
+ constructors are.
+ (WebCore::setJSWorkerContextWorkerLocation): Ditto.
+
+2008-11-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22341
+ Text codecs should not use static data without locking
+
+ * platform/text/TextCodecICU.cpp:
+ * platform/text/mac/TextCodecMac.cpp:
+ Made cached converters per-thread.
+
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::encodingRegistryMutex): Added a mutex for codec maps access.
+ (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it
+ causes a deadlock due to a recursive call into registry.
+ (WebCore::buildBaseTextCodecMaps): Added assertions.
+ (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps.
+ (WebCore::atomicCanonicalTextEncodingName): Ditto.
+ (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not
+ necessary here.
+
+2008-11-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.
+
+ * WebCorePrefix.h:
+
+2008-11-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22310
+ Worker exceptions should be printed to console
+
+ * dom/Document.cpp: (WebCore::Document::reportException):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
+ * dom/WorkerContext.h:
+ Added a reportException() method on ScriptExecutionContext. It forwards the exception info
+ up until it finds a Document context, and then it prints it to console.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use
+ ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering()
+ could be called from workers.
+ (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
+
+ * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
+ Report exceptions to ScriptExecutionContext.
+
+ * dom/WorkerMessagingProxy.cpp:
+ (WebCore::MessageWorkerTask::performTask):
+ (WebCore::WorkerExceptionTask::create):
+ (WebCore::WorkerExceptionTask::WorkerExceptionTask):
+ (WebCore::WorkerExceptionTask::performTask):
+ (WebCore::WorkerMessagingProxy::postWorkerException):
+ * dom/WorkerMessagingProxy.h:
+ Added a task for posting exception information.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::reportException):
+ (WebCore::reportCurrentException):
+ * bindings/js/JSDOMBinding.h:
+ Added helper methods for reporting exceptions via ScriptExecutionContext.
+
+ * page/Console.cpp:
+ * page/Console.h:
+ Removed methods for directly reporting exceptions to console.
+
+ * 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/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/objc/WebScriptObject.mm:
+ (WebCore::addExceptionToConsole):
+ Switch to JSDOMBinding methods for reporting exceptions.
+
+2008-11-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331
+ <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
+
+ * platform/ContextMenuItem.h:
+ (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with
+ the one in WebUIDelegate.h.
+
+2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22346
+ PlatformString should also include HashSet.h for non-JSC builds
+
+ * platform/text/PlatformString.h:
+
+2008-11-18 Adele Peterson <adele@apple.com>
+
+ Reviewed by Holger Hans Peter Freyther.
+
+ Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.
+
+ * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
+
+2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22343
+ Remove unused runtime/Collector, JSLock includes in Page.cpp
+
+ * page/Page.cpp:
+
+2008-11-18 Ada Chan <adachan@apple.com>
+
+ Bug 22344: Make select popup window opaque
+ https://bugs.webkit.org/show_bug.cgi?id=22344
+
+ Reviewed by Steve Falkenburg.
+
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::show):
+
+2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22342
+ Remove unused JSLock.h include
+
+ * dom/Document.cpp:
+
+2008-11-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
+
+ Add WMLBRElement, correcting <br/> behaviour in WML.
+ Enable entity replacment for WML documents.
+ Handle WML specific <p> 'mode' attribute.
+
+ Generate layout tests results for fast/wml.
+
+ Tests cases that pass now:
+ fast/wml/br-element-in-table.wml
+ fast/wml/br-element-in-text.wml
+ fast/wml/case-sensitivity.wml
+ fast/wml/cdata-section.wml
+ fast/wml/comment.wml
+ fast/wml/entity.wml
+ fast/wml/p-align.wml
+ fast/wml/p-mode.wml
+ fast/wml/text-emphasis.wml
+ fast/wml/validate-dtd.wml
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::isWMLDocument):
+ (WebCore::XMLTokenizer::insertErrorMessageBlock):
+ * dom/XMLTokenizer.h:
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::internalSubset):
+ (WebCore::getEntityHandler):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::parse):
+ * wml/WMLBRElement.cpp: Added.
+ (WebCore::WMLBRElement::WMLBRElement):
+ (WebCore::WMLBRElement::mapToEntry):
+ (WebCore::WMLBRElement::parseMappedAttribute):
+ (WebCore::WMLBRElement::createRenderer):
+ * wml/WMLBRElement.h: Added.
+ * wml/WMLPElement.cpp:
+ (WebCore::WMLPElement::parseMappedAttribute):
+ (WebCore::WMLPElement::insertedIntoDocument):
+ * wml/WMLPElement.h:
+ * wml/WMLTagNames.in:
+
+2008-11-18 Alexey Proskuryakov <ap@webkit.org>
+
+ Windows build fix.
+
+ * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
+
+2008-11-18 Darin Adler <darin@apple.com>
+
+ - try to fix Wx build
+
+ * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
+
+2008-11-18 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22337
+ Enable workers by default
+
+ Tests: fast/workers/worker-constructor.html
+ fast/workers/worker-event-listener.html
+ fast/workers/worker-gc.html
+ fast/workers/worker-location.html
+
+ * Configurations/WebCore.xcconfig:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/build-generated-files.sh:
+ Define ENABLE_WORKERS.
+
+2008-11-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
+ <rdar://problem/5516594> please add support for HTTP-only cookies
+
+ Test: http/tests/xmlhttprequest/get-dangerous-headers.html
+
+ No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
+ require an updated CFNetwork.
+
+ * platform/mac/CookieJar.mm:
+ (WebCore::isHTTPOnly): Added.
+ (WebCore::filterCookies): Added.
+ (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
+ (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
+
+ * platform/network/win/CookieJarCFNetWin.cpp:
+ (WebCore::isHTTPOnly): Added.
+ (WebCore::filterCookies): Added.
+ (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
+ (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::isSetCookieHeader): Added.
+ (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
+ clients that don't have local-resource privileges.
+ (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
+
+ - clean soup-specific details out of shared cookie jar header
+
+ * platform/CookieJar.h: Removed the soup-specific parts of this.
+ * platform/network/soup/CookieJarSoup.cpp: Changed to include
+ CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
+ * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
+ part of CookieJar.h.
+ * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
+ CookieJarSoup.h.
+
+2008-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=22329
+ Improper bitwise and tests against 0 in Windows context menu code
+
+ Reviewed by John Sullivan.
+
+ * platform/win/ContextMenuItemWin.cpp:
+ (WebCore::ContextMenuItem::type):
+ (WebCore::ContextMenuItem::enabled):
+
+2008-11-18 John Sullivan <sullivan@apple.com>
+
+ Yet more Mac build fixing
+
+ * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
+
+2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ React properly to frame rect changes for QWidget based plugins
+
+ We now set the geometry of the QWidget in frameRectsChanged,
+ intead of setFrameRect, which means we pick up the changes to
+ the frame rect when scrolling. We also set a mask on the
+ widget to keep it from painting over scrollbars and the like
+
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::Widget::setFrameRect):
+
+2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Don't mark scrollbars as focused in QtWebKit
+
+ When initing from the widget we also got the focus state,
+ but this does not make sense for scrollbars.
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+
+2008-11-18 Alexey Proskuryakov <ap@webkit.org>
+
+ More Mac build fixing.
+
+ * WebCore.base.exp: Export FrameLoaderClient destructor.
+
+2008-11-18 Alexey Proskuryakov <ap@webkit.org>
+
+ Mac build fix.
+
+ * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
+
+2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22056
+
+ Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
+
+ After Hyatt's work on Widget and ScrollView there is little difference
+ between the implementation of Qt, Gtk+ and Win. In fact any kind of
+ difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
+ port and the Qt port has at least one of them left.
+
+ The only difference between the implementations is in getting the the
+ IntSize for the new FrameView, the background color to be applied and
+ eventually some post processing.
+
+ Unify the implementations by providing a static helper function that
+ takes a Frame, IntSize, color and transparency bit and calling it from
+ the Gtk+, the Qt and the Windows port.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * loader/FrameLoaderClient.cpp: Added.
+ (WebCore::FrameLoaderClient::~FrameLoaderClient):
+ (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
+ * loader/FrameLoaderClient.h:
+
+2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22056
+
+ Move setting the background color and transparency from WebKit/win
+ to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
+ to share this code.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateBackgroundRecursively):
+ * page/FrameView.h:
+
+2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix the bug where select elements are painted without border.
+ http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::paintMenuList):
+
+2008-11-18 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk build fix. Not reviewed.
+
+ * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
+ not in wml/.
+
+2008-11-18 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22308
+ Improve Worker GC behavior
+
+ * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
+ * dom/ActiveDOMObject.h:
+ Made hasPendingActivity() virtual, letting Worker add behavior to it.
+
+ * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
+ * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
+ Tell message proxy whether there are active objects in the worker whenever JS execution
+ finishes.
+
+ * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
+ Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
+
+ * dom/Worker.h:
+ * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
+ loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
+
+ * dom/WorkerContext.h:
+ * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
+ active objects for pending activity.
+
+ * dom/WorkerMessagingProxy.cpp:
+ (WebCore::MessageWorkerContextTask::performTask):
+ (WebCore::WorkerThreadActivityReportTask::create):
+ (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
+ (WebCore::WorkerThreadActivityReportTask::performTask):
+ (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
+ (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
+ (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
+ (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
+ (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
+ (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
+ (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
+ (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
+ * dom/WorkerMessagingProxy.h:
+ Track outstanding messages, and activity reported by worker thread.
+
+2008-11-18 Alexey Proskuryakov <ap@webkit.org>
+
+ Rubber-stamped by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22306
+ Disable channel messaging support
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (jsDOMWindowBaseMessageChannel):
+ * page/DOMWindow.idl:
+ Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
+ constructor is added, it remains enumerable, but undefined.
+
+2008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Mark Rowe.
+
+ Remove WBXML code. MainResourceLoader is not an appropriate location.
+ Revert until we find a better place.
+
+ The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
+ Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
+
+ * WebCore.pro:
+ * dom/DOMImplementation.cpp:
+ (WebCore::DOMImplementation::createDocument):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::addData):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes):
+
+2008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Not reviewed. Build fix.
+
+ Oops, disable WML by default on Qt.
+
+ * WebCore.pro:
+
+2008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
+
+ Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
+ Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
+
+ WML is not build by default.
+
+ * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
+ * GNUmakefile.am: Add new files and generator hooks.
+ * WebCore.pro: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
+ (WebCore::linkAttribute):
+ (WebCore::CSSStyleSelector::styleForElement):c
+ * css/wml.css: Added.
+ * dom/DOMImplementation.cpp: Handle WMLDocument creation
+ (WebCore::DOMImplementation::createDocument):
+ * dom/Document.cpp: Handle WMLElement creation.
+ (WebCore::Document::createElement):
+ * dom/Document.h: Add helper function identifying WML documents.
+ (WebCore::Document::isWMLDocument):
+ * dom/Node.h: Add heper function identifying WML elements.
+ (WebCore::Node::isWMLElement):
+ * dom/XMLTokenizer.cpp: Handle errors in WML documents
+ (WebCore::XMLTokenizer::insertErrorMessageBlock):
+ * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
+ (WebCore::XMLTokenizer::internalSubset):
+ * dom/XMLTokenizerQt.cpp: Ditto.
+ (WebCore::):
+ * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
+ * history/BackForwardList.cpp: Add WML specific function for clearing the history.
+ (WebCore::BackForwardList::clearWmlPageHistory):
+ * history/BackForwardList.h:
+ * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::setForceReloadWmlDeck):
+ (WebCore::FrameLoader::shouldReload):
+ (WebCore::FrameLoader::loadItem):
+ * loader/FrameLoader.h:
+ * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
+ (WebCore::MainResourceLoader::addData):
+ * page/Frame.cpp: Initialize WMLNames.
+ (WebCore::Frame::Frame):
+ * page/Page.cpp: Maintain WMLPageState object per Page.
+ (WebCore::Page::Page):
+ (WebCore::Page::setWMLPageState):
+ (WebCore::Page::wmlPageState):
+ * page/Page.h:
+ * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
+ (WebCore::initializeSupportedNonImageMimeTypes):
+ * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
+ (WebCore::):
+ * platform/win/MIMETypeRegistryWin.cpp: Ditto.
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * manual-tests/wml: Added.
+ * manual-tests/wml/a-br-element.wml: Added.
+ * manual-tests/wml/a-element.wml: Added.
+ * manual-tests/wml/a-img-element.wml: Added.
+ * manual-tests/wml/access-target.wml: Added.
+ * manual-tests/wml/anchor-br-element.wml: Added.
+ * manual-tests/wml/anchor-element.wml: Added.
+ * manual-tests/wml/anchor-img-element.wml: Added.
+ * manual-tests/wml/card-newcontext-attr.wml: Added.
+ * manual-tests/wml/card-onenterbackward.wml: Added.
+ * manual-tests/wml/card-onenterforward.wml: Added.
+ * manual-tests/wml/card-ontimer.wml: Added.
+ * manual-tests/wml/deck-access-control.wml: Added.
+ * manual-tests/wml/go-element.wml: Added.
+ * manual-tests/wml/input-emptyok.wml: Added.
+ * manual-tests/wml/input-format.wml: Added.
+ * manual-tests/wml/onevent-go.wml: Added.
+ * manual-tests/wml/onevent-noop.wml: Added.
+ * manual-tests/wml/onevent-prev.wml: Added.
+ * manual-tests/wml/onevent-refresh.wml: Added.
+ * manual-tests/wml/onevent-shadow.wml: Added.
+ * manual-tests/wml/postfield-get.wml: Added.
+ * manual-tests/wml/postfield-post.wml: Added.
+ * manual-tests/wml/select-element.wml: Added.
+ * manual-tests/wml/select-onpick-event.wml: Added.
+ * manual-tests/wml/setvar-element.wml: Added.
+ * manual-tests/wml/targetdeck.wml: Added.
+ * manual-tests/wml/task-go-in-anchor.wml: Added.
+ * manual-tests/wml/task-noop-in-do.wml: Added.
+ * manual-tests/wml/task-noop-in-onevent.wml: Added.
+ * manual-tests/wml/task-prev-in-anchor.wml: Added.
+ * manual-tests/wml/task-refresh-in-anchor.wml: Added.
+ * manual-tests/wml/template-go.wml: Added.
+ * manual-tests/wml/template-onevent.wml: Added.
+ * manual-tests/wml/template-ontimer.wml: Added.
+ * manual-tests/wml/timer.wml: Added.
+ * manual-tests/wml/variable-substitution.wml: Added.
+ * wml: Added.
+ * wml/WMLAElement.cpp: Added.
+ (WebCore::WMLAElement::WMLAElement):
+ (WebCore::WMLAElement::parseMappedAttribute):
+ (WebCore::WMLAElement::supportsFocus):
+ (WebCore::WMLAElement::isFocusable):
+ (WebCore::WMLAElement::isMouseFocusable):
+ (WebCore::WMLAElement::isKeyboardFocusable):
+ (WebCore::WMLAElement::defaultEventHandler):
+ (WebCore::WMLAElement::accessKeyAction):
+ (WebCore::WMLAElement::isURLAttribute):
+ (WebCore::WMLAElement::target):
+ * wml/WMLAElement.h: Added.
+ * wml/WMLAttributeNames.in: Added.
+ * wml/WMLCardElement.cpp: Added.
+ (WebCore::WMLCardElement::WMLCardElement):
+ * wml/WMLCardElement.h: Added.
+ * wml/WMLDocument.cpp: Added.
+ (WebCore::WMLDocument::WMLDocument):
+ (WebCore::WMLDocument::~WMLDocument):
+ * wml/WMLDocument.h: Added.
+ (WebCore::WMLDocument::create):
+ (WebCore::WMLDocument::isWMLDocument):
+ * wml/WMLElement.cpp: Added.
+ (WebCore::WMLElement::WMLElement):
+ (WebCore::WMLElement::mapToEntry):
+ (WebCore::WMLElement::parseMappedAttribute):
+ (WebCore::WMLElement::rendererIsNeeded):
+ (WebCore::WMLElement::createRenderer):
+ * wml/WMLElement.h: Added.
+ (WebCore::WMLElement::isWMLElement):
+ * wml/WMLPElement.cpp: Added.
+ (WebCore::WMLPElement::WMLPElement):
+ (WebCore::WMLPElement::mapToEntry):
+ (WebCore::WMLPElement::parseMappedAttribute):
+ * wml/WMLPElement.h: Added.
+ * wml/WMLPageState.cpp: Added.
+ (WebCore::WMLPageState::WMLPageState):
+ (WebCore::WMLPageState::~WMLPageState):
+ (WebCore::WMLPageState::reset):
+ (WebCore::WMLPageState::setNeedCheckDeckAccess):
+ (WebCore::WMLPageState::isDeckAccessible):
+ * wml/WMLPageState.h: Added.
+ (WebCore::WMLPageState::storeVariable):
+ (WebCore::WMLPageState::storeVariables):
+ (WebCore::WMLPageState::getVaribale):
+ (WebCore::WMLPageState::hasVariables):
+ (WebCore::WMLPageState::historyLength):
+ (WebCore::WMLPageState::setHistoryLength):
+ (WebCore::WMLPageState::page):
+ (WebCore::WMLPageState::activeCard):
+ (WebCore::WMLPageState::setActiveCard):
+ (WebCore::WMLPageState::setDeckAccessDomain):
+ (WebCore::WMLPageState::setDeckAccessPath):
+ (WebCore::WMLPageState::hasDeckAccess):
+ * wml/WMLTagNames.in: Added.
+
+2008-11-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Updated for JavaScriptCore renames.
+
+ * WebCore.pro:
+ * webcore-base.bkl:
+
+2008-11-17 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
+
+ There was code to intentionally avoid quoting pasted content if less than a paragraph of
+ it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because
+ that bug was about Paste and Match style for single paragraphs. And quote stripping for
+ Paste and Match style is handled elsewhere.
+
+ * editing/markup.cpp:
+ (WebCore::createMarkup):
+
+2008-11-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Updated for JavaScriptCore rename.
+
+ * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
+ * ForwardingHeaders/runtime/ExecState.h: Removed.
+ * bindings/objc/WebScriptObject.mm:
+ * bridge/c/c_instance.cpp:
+ * bridge/jni/jni_jsobject.mm:
+ * dom/Node.cpp:
+ * dom/NodeFilter.cpp:
+ * dom/NodeIterator.cpp:
+ * dom/TreeWalker.cpp:
+ * inspector/JavaScriptCallFrame.h:
+
+2008-11-17 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Added functionality to AnimationController to allow pausing a running
+ animation or transition at a given time for testing purposes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21261
+
+ Tests: animations/animation-drt-api.html
+ transitions/transition-drt-api.html
+
+ * WebCore.base.exp:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+ (WebCore::AnimationBase::progress):
+ (WebCore::AnimationBase::pauseAtTime):
+ * page/animation/AnimationBase.h:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
+ (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
+ (WebCore::AnimationController::pauseAnimationAtTime):
+ (WebCore::AnimationController::pauseTransitionAtTime):
+ * page/animation/AnimationController.h:
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::isAnimating):
+ (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
+ (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
+ (WebCore::CompositeAnimation::pauseAnimationAtTime):
+ (WebCore::CompositeAnimation::pauseTransitionAtTime):
+ * page/animation/CompositeAnimation.h:
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::animate):
+
+2008-11-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Updated for JavaScriptCore renames.
+
+ * ForwardingHeaders/VM: Removed.
+ * ForwardingHeaders/VM/Machine.h: Removed.
+ * ForwardingHeaders/interpreter: Added.
+ * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
+ * WebCore.pro:
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * page/Console.cpp:
+ * webcore-base.bkl:
+
+2008-11-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Updated for JavaScriptCore renames.
+
+ * ForwardingHeaders/runtime/Interpreter.h: Removed.
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/WorkerScriptController.cpp:
+ * bindings/objc/WebScriptObject.mm:
+ * bridge/NP_jsobject.cpp:
+ * bridge/jni/jni_jsobject.mm:
+ * html/CanvasRenderingContext2D.cpp:
+ * inspector/JavaScriptCallFrame.cpp:
+ * page/Console.cpp:
+
+2008-11-17 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try to fix wx build.
+
+ * webcore-base.bkl:
+
+2008-11-17 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21810
+ Remove use of static C++ objects that are destroyed at exit time (destructors)
+
+ Find some missing DEFINE_STATIC_LOCAL use cases.
+
+ * bindings/js/JSSVGPODTypeWrapper.h:
+ (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
+ (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
+ * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
+ (WebCore::FontDataCacheKeyTraits::emptyValue):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::initialTransform):
+
+2008-11-17 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try to fix Qt build.
+
+ * WebCore.pro:
+
+2008-11-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=22118
+
+ Fix resize corner tracking in transformed elements by using
+ mapping the point into local coords using absoluteToLocal,
+ rather than convertToLayerCoords.
+
+ Test: fast/css/resize-corner-tracking-transformed.html
+
+ * page/EventHandler.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::absoluteToContents):
+ (WebCore::RenderLayer::offsetFromResizeCorner):
+ (WebCore::RenderLayer::isPointInResizeControl):
+ * rendering/RenderLayer.h:
+
+2008-11-16 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try to fix Qt build.
+
+ * WebCore.pro:
+
+2008-11-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Use RefPtr and PassRefPtr where appropriate.
+
+ * loader/FTPDirectoryDocument.cpp:
+ (WebCore::createTemplateDocumentData):
+
+2008-11-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Fix build break for real.
+
+ * loader/FTPDirectoryDocument.cpp:
+ (WebCore::createTemplateDocumentData):
+
+2008-11-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Fix build break and bug.
+
+ * loader/FTPDirectoryDocument.cpp:
+ (WebCore::createTemplateDocumentData):
+
+2008-11-16 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21810
+ Remove use of static C++ objects that are destroyed at exit time (destructors)
+
+ Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
+ uses of DEFINE_STATIC_LOCAL where appropriate.
+
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
+ * loader/CachedImage.cpp:
+ (WebCore::brokenImage):
+ (WebCore::nullImage):
+ * loader/FTPDirectoryDocument.cpp:
+ (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
+ (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::loadDefaultIconRecord):
+ * page/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::actionVerb):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::actionVerb):
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::currentEvent):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paint):
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::nullImage):
+ * platform/graphics/mac/ColorMac.mm:
+ (WebCore::nsColor):
+ * platform/graphics/mac/FontCacheMac.mm: new the Strings
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ * platform/graphics/mac/GraphicsContextMac.mm:
+ (WebCore::_createPatternColor): Created so accessor has one line initialization
+ (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::webFallbackFontFamily):
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::writableTypesForURL):
+ (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
+ (WebCore::writableTypesForImage):
+ (WebCore::stripAttachmentCharacters):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintResizer):
+
+2008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ Do not spit Curl errors into the stdout as this is used by DRT
+
+ We have failing tests results due the curl errors printed to stdout,
+ move them to stderr to be able to pass those tests.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::startJob):
+
+2008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ - fix the Gtk+ build
+
+ * GNUmakefile.am:
+
+2008-11-16 Darin Adler <darin@apple.com>
+
+ - try to fix Qt build
+
+ * WebCore.pro: Add the worker-related source files.
+
+2008-11-16 Darin Adler <darin@apple.com>
+
+ Suggested by Alexey Proskuryakov.
+
+ - fix the GTK build another way
+
+ * GNUmakefile.am: Add the worker-related source files.
+ * bindings/js/JSEventTarget.cpp: Take the #if back out.
+
+2008-11-16 Darin Adler <darin@apple.com>
+
+ - try to fix GTK build
+
+ * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
+
+2008-11-16 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=22295
+ track which history items are from page load failures
+
+ * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
+ no-longer-needed ones.
+ (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
+ (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
+ String, since that's not efficient.
+
+ * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
+ setLastVisitWasFailure, and m_lastVisitWasFailure.
+
+ * history/mac/HistoryItemMac.mm: Add newly-needed include
+ (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
+ m_transientProperties map around when it is empty.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
+ the page was unreachable or an HTTP page with a status code that indicates
+ failure.
+
+2008-11-16 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Timothy Hatcher.
+ Landed by George Staikos.
+
+ Optimization: don't relayout, repaint, or emit a DOM event if the
+ scroll event didn't scroll anywhere.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset): add early exit
+
+2008-11-16 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22290
+ Remove cross-heap GC and MessagePort multi-threading support
+
+ It is broken (and may not be implementable at all), and no longer needed, as we
+ don't use MessagePorts for communication with workers any more.
+
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowBase.h:
+ Removed cross-heap GC implementation.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::hasPendingActivity):
+ * dom/MessagePort.h:
+ Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
+ unnecessarily complicated for single threaded case.
+
+2008-11-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22266
+ Stop using MessagePort for communication with workers
+
+ The current MessagePort specification is not well suited for being implemented in a
+ multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
+ This patch implements a simpler Mozilla API for workers instead.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * DerivedSources.make:
+ * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
+ * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
+ * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
+ * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
+ * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
+ * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
+ * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
+ * dom/DedicatedWorker.cpp: Removed.
+ * dom/DedicatedWorker.h: Removed.
+ * dom/DedicatedWorker.idl: Removed.
+ Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
+
+ * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
+ Clear worker exceptions to avoid hitting an assertion.
+
+ * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
+ * dom/EventTarget.h:
+ * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
+ WorkerContext is now an EventTarget, too.
+
+ * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
+ MessagePort. Added postMessage() and onmessage.
+
+ * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
+ when posting a task - this operation is not thread safe. It is also not necessary any more,
+ as the context is kept alive by WorkerMessagingProxy.
+
+ * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
+ (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
+ that on a timer.
+ (WebCore::Worker::~Worker): Notify messaging proxy.
+ (WebCore::Worker::postMessage): Just ask the proxy to post the message.
+ (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
+ available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
+ I'm not sure if this is the right lifetime for workers, as unreachable workers with event
+ listeners should probably be kept alive, but it at least lets the object be collected.
+ (WebCore::Worker::addEventListener): Added an EventTarget implementation.
+ (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
+ (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
+
+ * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
+ * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
+ Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
+
+ * dom/WorkerContext.cpp:
+ (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
+ down successfully.
+ (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
+
+ * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
+
+ * dom/WorkerMessagingProxy.cpp: Added.
+ * dom/WorkerMessagingProxy.h: Added.
+ This new class implements actual messaging. It is notified when a Worker is garbage collected,
+ and asks the thread to shut down. It also owns the thread object, and references script
+ execution context, making it safe to post messages to it remotely.
+
+ * dom/WorkerThread.cpp:
+ * dom/WorkerThread.h:
+ Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
+ keeps itself alive - it is now the job of messaging proxy.
+
+2008-11-15 Darin Adler <darin@apple.com>
+
+ Rubber stamped by Geoff Garen.
+
+ - do the long-planned StructureID -> Structure rename
+
+ * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
+ * ForwardingHeaders/runtime/StructureID.h: Removed.
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::getCachedDOMStructure):
+ (WebCore::cacheDOMStructure):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMObject::DOMObject):
+ (WebCore::getDOMStructure):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::JSDOMWindowBase):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::createStructure):
+ * bindings/js/JSDedicatedWorkerConstructor.cpp:
+ (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
+ (WebCore::JSHTMLAllCollection::createStructure):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::JSInspectedObjectWrapper::wrap):
+ (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
+ * bindings/js/JSInspectedObjectWrapper.h:
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::leakInspectorCallbackWrapperStructure):
+ (WebCore::JSInspectorCallbackWrapper::wrap):
+ (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
+ * bindings/js/JSInspectorCallbackWrapper.h:
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ * bindings/js/JSNamedNodesCollection.h:
+ (WebCore::JSNamedNodesCollection::createStructure):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ (WebCore::JSQuarantinedObjectWrapper::createStructure):
+ * bindings/js/JSRGBColor.h:
+ (WebCore::JSRGBColor::createStructure):
+ * bindings/js/JSWorkerContext.cpp:
+ (WebCore::createJSWorkerContextStructure):
+ (WebCore::JSWorkerContext::JSWorkerContext):
+ (WebCore::JSWorkerContext::createPrototype):
+ * bindings/js/JSWorkerContext.h:
+ (WebCore::JSWorkerContext::createStructure):
+ (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
+ (WebCore::JSWorkerContextPrototype::createStructure):
+ * 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::createStructure):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtConnectionObject::execute):
+ * bridge/qt/qt_runtime.h:
+ (JSC::Bindings::QtRuntimeMethod::createStructure):
+ * bridge/runtime_array.h:
+ (JSC::RuntimeArray::createStructure):
+ * bridge/runtime_method.h:
+ (JSC::RuntimeMethod::createStructure):
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::RuntimeObjectImp):
+ * bridge/runtime_object.h:
+ (JSC::RuntimeObjectImp::createStructure):
+
+2008-11-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
+
+ This gets rid of the crash. It restores the behavior of the CG case from before Dirk
+ Shulze removed the platorm-dependent code, but perhaps it should be changed further
+ in the future so that the default for no style is "no stroke". I think the patch is
+ fine for fill.
+
+ * svg/graphics/SVGPaintServerSolid.cpp:
+ (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
+ (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
+
+2008-11-15 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22284
+
+ * platform/network/NetworkStateNotifier.h:
+ (WebCore::NetworkStateNotifier::NetworkStateNotifier):
+
+2008-11-15 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ r38426 caused a wrong drawing of a LayoutTest. Use another
+ way to set the color to pass this test again.
+
+ * svg/graphics/SVGPaintServerSolid.cpp:
+ (WebCore::SVGPaintServerSolid::setup):
+
+2008-11-15 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Removed platform dependent code on SVGPaintServerSolid.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * svg/graphics/SVGPaintServerSolid.cpp:
+ (WebCore::SVGPaintServerSolid::setup):
+ (WebCore::SVGPaintServerSolid::renderPath):
+ * svg/graphics/SVGPaintServerSolid.h:
+ * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
+ * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
+ * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
+
+2008-11-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Updated for JavaScriptCore renames.
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::mark):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject evaluateWebScript:]):
+ * bridge/NP_jsobject.cpp:
+ (_NPN_Evaluate):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::eval):
+ * page/Console.cpp:
+ (WebCore::retrieveLastCaller):
+ (WebCore::Console::trace):
+
+2008-11-14 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21810
+ Remove use of static C++ objects that are destroyed at exit time (destructors)
+
+ Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
+ exit-time destructor. Update code that was changed to fix this issue that ran
+ into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
+ in gcc build 5465). Also typdefs for template types needed to be added in some
+ cases so the type could make it through the macro successfully.
+
+ Basically code of the form:
+ static T m;
+ becomes:
+ DEFINE_STATIC_LOCAL(T, m, ());
+
+ Also any code of the form:
+ static T& m = *new T;
+ also becomes:
+ DEFINE_STATIC_LOCAL(T, m, ());
+
+ * ForwardingHeaders/wtf/StdLibExtras.h: Added.
+ * bindings/js/GCController.cpp:
+ (WebCore::gcController):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::wrapperSet):
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::wrappers):
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::wrappers):
+ * bindings/js/JSNavigatorCustom.cpp:
+ (WebCore::needsYouTubeQuirk):
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::rootObjectSet):
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::initShorthandMap):
+ (WebCore::CSSMutableStyleDeclaration::removeProperty):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::screenEval):
+ (WebCore::printEval):
+ * dom/DOMImplementation.cpp:
+ (WebCore::addString):
+ (WebCore::isSVG10Feature):
+ (WebCore::isSVG11Feature):
+ (WebCore::DOMImplementation::isXMLMIMEType):
+ * dom/Document.cpp:
+ (WebCore::Document::hasPrefixNamespaceMismatch):
+ * dom/ScriptElement.cpp:
+ (WebCore::isSupportedJavaScriptLanguage):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::styleSpanClassString):
+ * editing/HTMLInterchange.cpp:
+ (WebCore::):
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::indentBlockquoteString):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::isInterchangeNewlineNode):
+ (WebCore::isInterchangeConvertedSpaceSpan):
+ * editing/htmlediting.cpp:
+ (WebCore::stringWithRebalancedWhitespace):
+ (WebCore::nonBreakingSpaceString):
+ * editing/markup.cpp:
+ (WebCore::appendAttributeValue):
+ (WebCore::appendEscapedContent):
+ (WebCore::shouldAddNamespaceAttr):
+ (WebCore::appendNamespace):
+ (WebCore::appendStartMarkup):
+ (WebCore::createMarkup):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::type):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::isRecognizedTagName):
+ (WebCore::inlineTagList):
+ (WebCore::blockTagList):
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::type):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::type):
+ * html/HTMLKeygenElement.cpp:
+ (WebCore::HTMLKeygenElement::type):
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::type):
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::type):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::type):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::getNode):
+ (WebCore::HTMLParser::isHeaderTag):
+ (WebCore::HTMLParser::isResidualStyleTag):
+ (WebCore::HTMLParser::isAffectedByResidualStyle):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::type):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::type):
+ * inspector/InspectorController.cpp:
+ (WebCore::platform):
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::shared):
+ * inspector/JavaScriptProfile.cpp:
+ (WebCore::profileCache):
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::profileNodeCache):
+ * loader/FrameLoader.cpp:
+ (WebCore::localSchemes):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::cacheStorage):
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::archiveMIMETypes):
+ (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::defaultDatabaseFilename):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dragState):
+ * page/Frame.cpp:
+ (WebCore::createRegExpForLabels):
+ (WebCore::keepAliveSet):
+ * page/Page.cpp:
+ (WebCore::Page::groupName):
+ * page/SecurityOrigin.cpp:
+ (WebCore::isDefaultPortForProtocol):
+ (WebCore::SecurityOrigin::databaseIdentifier):
+ * page/mac/FrameMac.mm:
+ (WebCore::regExpForLabels):
+ * platform/KURL.cpp:
+ (WebCore::blankURL):
+ * platform/graphics/FontCache.cpp:
+ (WebCore::alternateFamilyName):
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ (WebCore::FontCache::getLastResortFallbackFont):
+ * platform/mac/CursorMac.mm:
+ (WebCore::leakNamedCursor):
+ (WebCore::pointerCursor):
+ (WebCore::crossCursor):
+ (WebCore::handCursor):
+ (WebCore::moveCursor):
+ (WebCore::verticalTextCursor):
+ (WebCore::cellCursor):
+ (WebCore::contextMenuCursor):
+ (WebCore::aliasCursor):
+ (WebCore::zoomInCursor):
+ (WebCore::zoomOutCursor):
+ (WebCore::copyCursor):
+ (WebCore::noneCursor):
+ (WebCore::progressCursor):
+ (WebCore::noDropCursor):
+ (WebCore::notAllowedCursor):
+ (WebCore::iBeamCursor):
+ (WebCore::waitCursor):
+ (WebCore::helpCursor):
+ (WebCore::eastResizeCursor):
+ (WebCore::northResizeCursor):
+ (WebCore::northEastResizeCursor):
+ (WebCore::northWestResizeCursor):
+ (WebCore::southResizeCursor):
+ (WebCore::southEastResizeCursor):
+ (WebCore::southWestResizeCursor):
+ (WebCore::westResizeCursor):
+ (WebCore::northSouthResizeCursor):
+ (WebCore::eastWestResizeCursor):
+ (WebCore::northEastSouthWestResizeCursor):
+ (WebCore::northWestSouthEastResizeCursor):
+ (WebCore::columnResizeCursor):
+ (WebCore::rowResizeCursor):
+ (WebCore::grabCursor):
+ (WebCore::grabbingCursor):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ * platform/mac/ThemeMac.mm:
+ (WebCore::platformTheme):
+ * platform/mac/ThreadCheck.mm:
+ (WebCoreReportThreadViolation):
+ * platform/network/NetworkStateNotifier.cpp:
+ (WebCore::networkStateNotifier):
+ * platform/network/mac/FormDataStreamMac.mm:
+ (WebCore::getStreamFormDataMap):
+ (WebCore::getStreamResourceHandleMap):
+ * platform/network/mac/ResourceResponseMac.mm:
+ (WebCore::ResourceResponse::platformLazyInit):
+ * platform/text/TextEncoding.cpp:
+ (WebCore::TextEncoding::isJapanese):
+ * plugins/PluginMainThreadScheduler.cpp:
+ (WebCore::PluginMainThreadScheduler::scheduler):
+ * rendering/RenderBlock.cpp:
+ (WebCore::continuationOutlineTable):
+ (WebCore::RenderBlock::addContinuationWithOutline):
+ (WebCore::RenderBlock::paintContinuationOutlines):
+ * rendering/RenderCounter.cpp:
+ (WebCore::counterMaps):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::markerText):
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::systemFont):
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::checkLinesForTextOverflow):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::initialDashboardRegions):
+ (WebCore::RenderStyle::noneDashboardRegions):
+ * storage/Database.cpp:
+ (WebCore::guidMutex):
+ (WebCore::guidToVersionMap):
+ (WebCore::guidToDatabaseMap):
+ (WebCore::Database::databaseInfoTableName):
+ (WebCore::databaseVersionKey):
+ (WebCore::Database::getVersionFromDatabase):
+ (WebCore::Database::setVersionInDatabase):
+ (WebCore::guidForOriginAndName):
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::tracker):
+ (WebCore::notificationMutex):
+ (WebCore::notificationQueue):
+ * storage/LocalStorage.cpp:
+ (WebCore::localStorageMap):
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::rotateMode):
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::calcMode):
+ (WebCore::SVGAnimationElement::attributeType):
+ (WebCore::SVGAnimationElement::isAdditive):
+ (WebCore::SVGAnimationElement::isAccumulated):
+ * svg/SVGLangSpace.cpp:
+ (WebCore::SVGLangSpace::xmlspace):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::contentScriptType):
+ (WebCore::SVGSVGElement::contentStyleType):
+ * svg/SVGStyleElement.cpp:
+ (WebCore::SVGStyleElement::type):
+ (WebCore::SVGStyleElement::media):
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::parseMappedAttribute):
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::parseClockValue):
+ (WebCore::SVGSMILElement::restart):
+ (WebCore::SVGSMILElement::fill):
+ (WebCore::SVGSMILElement::repeatCount):
+ (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
+ * svg/graphics/SVGResource.cpp:
+ (WebCore::clientMap):
+ (WebCore::SVGResource::removeClient):
+ * svg/graphics/SVGResourceMarker.cpp:
+ (WebCore::SVGResourceMarker::draw):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
+ (WebCore::preflightResultCache):
+ (WebCore::appendPreflightResultCacheEntry):
+ (WebCore::isSafeRequestHeader):
+ (WebCore::isOnAccessControlResponseHeaderWhitelist):
+ (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
+ * xml/XPathExpressionNode.cpp:
+ (WebCore::XPath::Expression::evaluationContext):
+ * xml/XPathParser.cpp:
+ (WebCore::XPath::setUpAxisNamesMap):
+ (WebCore::XPath::isAxisName):
+ (WebCore::XPath::isNodeTypeName):
+ * xml/XPathValue.cpp:
+ (WebCore::XPath::Value::toNodeSet):
+
+2008-11-14 Dan Bernstein <mitz@apple.com>
+
+ - attempt to fix the Qt build
+
+ * platform/qt/Localizations.cpp:
+ (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
+ needs to go somewhere else in addition to here.
+
+2008-11-14 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix.
+
+ * platform/wx/LocalizedStringsWx.cpp:
+ (WebCore::contextMenuItemTagTextDirectionMenu):
+
+2008-11-14 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
+ - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
+
+ * WebCore.base.exp: Exported
+ WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
+
+ * editing/ApplyStyleCommand.cpp:
+ (StyleChange::init): Changed to always include the direction property
+ in the result if the unicode-bidi property is included.
+ (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
+ highest ancestor of the given node that establishes bidi embedding. If
+ that embedding agrees with the given allowed direction, finds the
+ second-highest embedding ancestor. Splits all nodes through that
+ ancestor. If the highest embedding ancestor did not need to be split,
+ it is returned.
+ (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
+ bidi embedding attributes and styles from all ancestors of the given
+ node up to its enclosing block or the given node.
+ (ApplyStyleCommand::applyInlineStyle): Added code to handle the
+ unicode-bidi property. Applying style the includes this property
+ involves removing all bidi embedding in effect, except for one-level
+ embedding that agrees with the desired embedding, then applying the
+ desired embedding where it is not already in effect.
+ (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
+ applyInlineStyle().
+ (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
+ "dir" attribute if necessary and the element if it becomes an unstyled
+ style span.
+ (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
+ property when removing the unicode-bidi property.
+ (ApplyStyleCommand::removeInlineStyle): Added a call to
+ removeHTMLBidiEmbeddingStyle().
+
+ * editing/ApplyStyleCommand.h:
+ * editing/Editor.cpp:
+ (Editor::textDirectionForSelection): Added. Returns the character-level
+ writing direction of the selection if it is uniform and simple (at most
+ one level of embedding).
+ (Editor::hasBidiSelection): Added. Returns true if the selection lies
+ entirely within a single block, and that block has direction:rtl or
+ contains any inline boxes with non-zero bidi embedding level.
+
+ * editing/Editor.h:
+ * editing/EditorCommand.cpp:
+ (stateTextWritingDirection): Added this helper function for deciding
+ the state of Text Direction submenu items.
+ (executeMakeTextWritingDirectionLeftToRight): Added. Applies
+ "unicode-bidi: embed; direction: ltr;".
+ (executeMakeTextWritingDirectionNatural): Added. Applies
+ "unicode-bidi: normal;"
+ (executeMakeTextWritingDirectionRightToLeft): Added. Applies
+ "unicode-bidi: embed; direction: rtl;".
+ (stateTextWritingDirectionLeftToRight): Added.
+ (stateTextWritingDirectionNatural): Added.
+ (stateTextWritingDirectionRightToLeft): Added.
+ (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
+ "MakeTextWritingDirectionNatural",
+ and "MakeTextWritingDirectionRightToLeft".
+
+ * editing/InsertTextCommand.cpp:
+ (InsertTextCommand::input): Added code to maintain the unicode-bidi
+ and direction properties in the typing style. Even if they have the
+ same values as the computed style at the caret, they need to be included
+ in the typing style so that inserted text will not inherit any nested
+ embedding.
+
+ * page/ContextMenuController.cpp:
+ (ContextMenuController::contextMenuItemSelected): Added calls to
+ the editor for the text direction menu items.
+
+ * page/Frame.cpp
+ (Frame::computeAndSetTypingStyle): Added code to maintain the
+ unicode-bidi and direction properties in the typing style.
+
+ * page/Settings.cpp:
+ (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
+
+ * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
+ an m_textDirectionSubmenuInclusionBehavior member, and accessors.
+
+ * page/mac/WebCoreViewFactory.h:
+ * platform/ContextMenu.cpp:
+ (WebCore::createAndAppendTextDirectionSubMenu): Added.
+ (ContextMenu::populate): Added the Text Direction submenu item based on
+ the inclusion behavior and the existence of a bidi selection.
+ (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
+ menu items.
+
+ * platform/ContextMenuItem.h:
+ * platform/LocalizedStrings.h: Declared
+ contextMenuItemTagTextDirectionMenu().
+
+ * platform/mac/LocalizedStringsMac.mm: Defined
+ contextMenuItemTagTextDirectionMenu().
+
+ * rendering/RenderBlock.cpp:
+ (RenderBlock::containsNonZeroBidiLevel): Added.
+ * rendering/RenderBlock.h:
+
+2008-11-14 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22264
+ Need to update to latest Geolocation spec (13 November 2008)
+
+ Update to new error code constants and values.
+
+ * page/Geolocation.cpp: Use new named ErrorCode enums
+ (WebCore::Geolocation::GeoNotifier::timerFired):
+ (WebCore::Geolocation::getCurrentPosition):
+ (WebCore::Geolocation::watchPosition):
+ * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
+ (WebCore::PositionError::):
+ * page/PositionError.idl: Add new named error constants
+
+2008-11-14 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Justin Garcia.
+
+ Fix (again) for <rdar://problem/5089327> Too much indentation when
+ pasting quoted paragraphs
+
+ This patch goes back to Justin's original approach to fix this bug,
+ written in revision 38273. That fix was mostly rolled out by
+ revision 38310 because of styling issues created by the addition of
+ extra blockquote nodes. This patch again goes back to Justin's
+ original fix because of cases we discovered the newer fix could not
+ possibly cover. This version of the patch minimizes the styling
+ issues of extra blockquotes by opting into the merge start code.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to
+ return true when the quoting level of the end of the inserted
+ content matches the quoting level of the end of the existing
+ content.
+ (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls
+ hasMatchingQuoteLevel
+ (WebCore::ReplaceSelectionCommand::doApply):
+
+2008-11-14 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Made SVGResourceClipper platform independent.
+ https://bugs.webkit.org/show_bug.cgi?id=21444
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::clipPath):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::clipPath):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::addPath):
+ (WebCore::GraphicsContext::clipPath):
+ * svg/graphics/SVGResourceClipper.cpp:
+ (WebCore::SVGResourceClipper::applyClip):
+ * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
+ * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
+ * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
+
+2008-11-14 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
+ * loader/FrameLoader.h:
+
+2008-11-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove unneeded forward declaration.
+
+ * plugins/Plugin.h:
+
+2008-11-14 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22251
+ HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
+
+ * html/HTMLCanvasElement.cpp:
+
+2008-11-14 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add new files from the Qt port to the build.
+
+ * WebCore.pro:
+
+2008-11-14 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
+ port to apply a default quota only if there is no entry in the
+ database for a given origin yet.
+
+ * storage/DatabaseTracker.h:
+
+2008-11-14 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Make it possible to get the cache directory set in the application
+ cache storage.
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
+ * loader/appcache/ApplicationCacheStorage.h:
+
+2008-11-14 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
+
+ When applying block styles, we would add block properties to the body element, and Mail's
+ Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
+ but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
+
+ We have code that puts the paragraphs that we're operating on into blocks of their own before
+ adding or removing block properties from the blocks that enclose them. We need to run this code
+ when the enclosing block is the body element.
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
+ to here.
+ (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
+ Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
+ * editing/CompositeEditCommand.h:
+
+2008-11-14 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 22245: Move wtf/dtoa.h into the WTF namespace
+ <https://bugs.webkit.org/show_bug.cgi?id=22245>
+
+ Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
+
+ * platform/text/String.cpp:
+ (WebCore::charactersToDouble):
+
+2008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Make sure Qt scrollbars follow the style with regard to context menus
+
+ * platform/qt/ScrollbarQt.cpp:
+ (WebCore::Scrollbar::contextMenu):
+
+2008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Make scrollbar look active when the window is active on Qt/Mac
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+ (WebCore::ScrollbarThemeQt::paint):
+
+2008-11-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add a basic Scons-based build system for building
+ Chromium-Mac WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=21991
+
+ The build currently fails due to missing files from our
+ platform directory (platform skia and platform chromium)
+ I will be sending those up shortly in separate patches.
+ I expect it will be a while before our WebCore build links.
+
+ * SConstruct: Added.
+ * WebCore.scons: Added.
+
+2008-11-13 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22248
+ AtomicString.cpp uses JSC types outside of #if USE(JSC)
+
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::add):
+
+2008-11-13 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=18620
+ Long hang under TextIterator::advance() when loading http://www.lsvd.de/
+
+ A huge section at the beginning of this document is invisible. As we iterate through it,
+ we create VisiblePositions unnecessarily.
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
+ creation if m_node is unrendered or invisible. The answers wouldn't have much meaning
+ and would be wasteful. Also fixed some comments to reflect the fact that this function
+ isn't specifically about emitting a newline.
+
+2008-11-13 Pierre-Olivier Latour <pol@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove unused or unnecessary code from AnimationBase class.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::AnimationBase):
+ (WebCore::AnimationBase::playStatePlaying):
+ * page/animation/AnimationBase.h:
+
+2008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
+
+ Currently only used by QtWebKit. See also:
+
+ https://bugs.webkit.org/show_bug.cgi?id=21427
+
+ * WebCore.pro:
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (PluginView::userAgentStatic):
+ (PluginView::getValueStatic):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::handleEvent):
+ (WebCore::PluginView::setValue):
+ (WebCore::PluginView::PluginView):
+ * plugins/PluginView.h:
+ (WebCore::PluginView::setPlatformPluginWidget):
+ * plugins/mac/PluginPackageMac.cpp: Added.
+ (WebCore::PluginPackage::determineQuirks):
+ (WebCore::readPListFile):
+ (WebCore::stringListFromResourceId):
+ (WebCore::PluginPackage::fetchInfo):
+ (WebCore::PluginPackage::load):
+ (WebCore::PluginPackage::hash):
+ (WebCore::PluginPackage::equal):
+ (WebCore::PluginPackage::compareFileVersion):
+ * plugins/mac/PluginViewMac.cpp: Added.
+ (WebCore::nativeWindowFor):
+ (WebCore::cgHandleFor):
+ (WebCore::topLevelOffsetFor):
+ (WebCore::PluginView::init):
+ (WebCore::PluginView::~PluginView):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::getValueStatic):
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::setFocus):
+ (WebCore::PluginView::setParentVisible):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::invalidateRect):
+ (WebCore::PluginView::invalidateRegion):
+ (WebCore::PluginView::forceRedraw):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::nullEventTimerFired):
+ (WebCore::modifiersForEvent):
+ (WebCore::PluginView::globalMousePosForPlugin):
+ (WebCore::PluginView::dispatchNPEvent):
+ (WebCore::PluginView::userAgent):
+ (WebCore::PluginView::userAgentStatic):
+ (WebCore::PluginView::handlePostReadFile):
+
+2008-11-12 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22200
+ Crash when close event is dispatched to MessagePort due to document destruction
+
+ Test: fast/events/message-port-onclose.html
+
+ * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
+ Don't dispatch close event, even though HTML5 currently says that we should. It is not
+ right for GC to have observable effects.
+
+2008-11-12 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22203
+ Implement Worker messaging
+
+ No test cases included, because this functionality is disabled by default.
+
+ The implementation is known to still have many race condition, but works quite well for
+ testing.
+
+ * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markActiveObjectsForContext): Re-worded comments a little.
+ (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
+ incorrect, changed it to a much simpler (but still incorrect) version.
+
+ * dom/WorkerTask.cpp: Added.
+ (WebCore::WorkerTask::~WorkerTask):
+ * dom/WorkerTask.h: Added.
+ Tasks posted to workers implement this new interface.
+
+ * bindings/js/JSDedicatedWorkerCustom.cpp:
+ (WebCore::JSDedicatedWorker::mark):
+ (WebCore::JSDedicatedWorker::connect):
+ * dom/DedicatedWorker.h:
+ * dom/DedicatedWorker.idl:
+ Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
+ WHATWG discussions.
+
+ * dom/DedicatedWorker.cpp:
+ (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
+ operations.
+ (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
+ (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
+ one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
+ this port starts with a null context pointer.
+ (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
+ after creation, we have to queue tasks until after a WorkerThread object is created. Then we
+ forward all queued tasks to its queue.
+
+ * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
+ * dom/EventTarget.h:
+ * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
+ Added cases for WorkerContext, which is now an EventTarget, too.
+
+ * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
+ * bindings/js/JSWorkerContext.cpp:
+ (WebCore::JSWorkerContext::mark): Mark event listeners.
+ (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
+ (WebCore::JSWorkerContext::put): Implemented.
+ (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
+ (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
+ (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
+ (WebCore::jsWorkerContextOnconnect): Added.
+ (WebCore::setJSWorkerContextOnconnect): Added.
+
+ * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
+ Made it actually work by adding necessary setup.
+
+ * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
+ Check the right variable - it is the wrapper that may not be initialized yet.
+
+ * dom/ActiveDOMObject.cpp:
+ (WebCore::ActiveDOMObject::ActiveDOMObject):
+ (WebCore::ActiveDOMObject::~ActiveDOMObject):
+ Assert being called from the correct thread, as active DOM object tracking is not thread safe.
+
+ * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
+ for asynchronously executing tasks in context's thread.
+
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
+ (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
+ It was an optimization that couldn't be easily preserved without introducing race conditions
+ in multithreading case.
+ (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
+ (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
+ why it's OK to not ref() ports in a frozen copy.
+ (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
+ from a wrong thread.
+ (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
+ (WebCore::ScriptExecutionContextTaskTimer): Part of
+ ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
+ thread.
+ (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
+ to a worker.
+ (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
+ to main thread from a secondary one.
+ (WebCore::performTask): A helper function for callOnMainThread().
+ (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
+
+ * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
+ ref/deref EventData::message from different threads, which is not allowed.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
+ (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
+ (WebCore::MessagePort::EventData::EventData): Ditto.
+ (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
+ first, because we need to create ports for posting to other threads, and it is not possible
+ to register in a context from another thread.
+ (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
+ receiver's job to set the context.
+ (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
+ context yet.
+ (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
+ (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
+ (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
+ context.
+ (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
+ (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
+ (WebCore::MessagePort::queueCloseEvent): Use postTask().
+ (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
+ MessagePort cross-heap GC is still quite wrong.
+
+ * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
+ * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
+ now, but there is no harm in tracking it in release builds, too.
+
+ * dom/WorkerThread.cpp:
+ (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
+ (WebCore::WorkerThread::workerThread): Implemented a message loop.
+ * dom/WorkerThread.h:
+ (WebCore::WorkerThread::threadID): Also only used for assertions.
+ (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
+ always sets it to null.
+ (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
+
+2008-11-12 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed Darin Adler.
+
+ use strokeColor.alpha() instead of fillColor.alpha()
+ on GraphicsContext::strokePath()
+
+ [Canvas] Transparent fillStyle stops line rendering
+ https://bugs.webkit.org/show_bug.cgi?id=21888
+
+ Test: fast/canvas/canvas-stroke-empty-fill.html
+
+ * ChangeLog:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::strokePath):
+
+2008-11-12 Stephanie <slewis@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix context leak in XSLStyleSheets.
+ See bug https://bugs.webkit.org/show_bug.cgi?id=15715
+
+ * xml/XSLStyleSheet.cpp:
+ (WebCore::XSLStyleSheet::parseString):
+
+2008-11-12 Alp Toker <alp@nuanti.com>
+
+ autotools: List web worker-related headers needed for a successful
+ build. distcheck is passing again with this change.
+
+ * GNUmakefile.am:
+
+2008-11-12 Alp Toker <alp@nuanti.com>
+
+ autotools build system fix-up only. Add FloatQuad.h to the source
+ lists and sort them.
+
+ * GNUmakefile.am:
+
+2008-11-12 Alp Toker <alp@nuanti.com>
+
+ Build fixes for r38346. FloatQuad.cpp is missing:
+
+ 1) #include "config.h"
+ 2) #include <algorithm> for various mathematical definitions it uses.
+
+ * platform/graphics/FloatQuad.cpp:
+
+2008-11-12 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=22212
+
+ Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
+ it may be the bounding outline box of a transformed element, and fix it
+ to respect transforms by mapping the outline box to an absolute quad and
+ taking the enclosing rect.
+
+ RenderBox::localToAbsoluteQuad() can no longer assert that there is no
+ LayoutState, but LayoutState cannot be used during quad mapping (it knows
+ nothing about transforms).
+
+ Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
+ borderTopExtra() from the object, rather than its container (as localToAbsolute()
+ does).
+
+ Test: fast/repaint/transform-absolute-child.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localToAbsoluteQuad):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ * rendering/RenderForeignObject.cpp:
+ (WebCore::RenderForeignObject::layout):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ (WebCore::RenderLayer::setHasVisibleContent):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
+ (WebCore::RenderObject::absoluteOutlineBounds):
+ * rendering/RenderObject.h:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::layout):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::layout):
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::layout):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::layout):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::layout):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::layout):
+ * rendering/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::layout):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::layout):
+
+2008-11-12 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=21942
+ https://bugs.webkit.org/show_bug.cgi?id=18557
+
+ Add methods which can be used to map renderer-local rectangles
+ to quads in absolute coordinates, taking transforms into account:
+ localToAbsoluteQuad() converts a local rect into an absolute quad.
+ collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
+ that works with quads.
+ absoluteQuads() is an analogue of absoluteRects(), for quads.
+
+ Use the quad methods to fix the inspector highlight for transformed
+ elements.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * inspector/InspectorController.cpp:
+ (WebCore::drawOutlinedQuad):
+ (WebCore::drawHighlightForBoxes):
+ (WebCore::frameToMainFrameOffset):
+ (WebCore::InspectorController::drawNodeHighlight):
+ * platform/graphics/AffineTransform.cpp:
+ (WebCore::AffineTransform::mapQuad):
+ * platform/graphics/AffineTransform.h:
+ * platform/graphics/FloatQuad.cpp: Added.
+ (WebCore::min4):
+ (WebCore::max4):
+ (WebCore::FloatQuad::boundingBox):
+ * platform/graphics/FloatQuad.h: Added.
+ (WebCore::FloatQuad::FloatQuad):
+ (WebCore::FloatQuad::p1):
+ (WebCore::FloatQuad::p2):
+ (WebCore::FloatQuad::p3):
+ (WebCore::FloatQuad::p4):
+ (WebCore::FloatQuad::setP1):
+ (WebCore::FloatQuad::setP2):
+ (WebCore::FloatQuad::setP3):
+ (WebCore::FloatQuad::setP4):
+ (WebCore::FloatQuad::isEmpty):
+ (WebCore::FloatQuad::enclosingBoundingBox):
+ (WebCore::FloatQuad::move):
+ (WebCore::operator+=):
+ (WebCore::operator-=):
+ (WebCore::operator==):
+ (WebCore::operator!=):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localToAbsoluteQuad):
+ * rendering/RenderBox.h:
+ * rendering/RenderContainer.cpp:
+ (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
+ * rendering/RenderContainer.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::absoluteQuads):
+ * rendering/RenderInline.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::absoluteBoundingBoxRect):
+ (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
+ (WebCore::RenderObject::absoluteQuads):
+ (WebCore::RenderObject::localToAbsoluteQuad):
+ (WebCore::RenderObject::absoluteContentQuad):
+ * rendering/RenderObject.h:
+ * rendering/RenderPath.cpp:
+ (WebCore::RenderPath::absoluteQuads):
+ * rendering/RenderPath.h:
+ * rendering/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::absoluteQuads):
+ * rendering/RenderSVGContainer.h:
+ * rendering/RenderSVGHiddenContainer.cpp:
+ (WebCore::RenderSVGHiddenContainer::absoluteQuads):
+ * rendering/RenderSVGHiddenContainer.h:
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::calculateAbsoluteBounds):
+ (WebCore::RenderSVGImage::absoluteQuads):
+ * rendering/RenderSVGImage.h:
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::absoluteQuads):
+ (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
+ * rendering/RenderSVGInlineText.h:
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::absoluteQuads):
+ * rendering/RenderSVGRoot.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::absoluteRects):
+ (WebCore::RenderSVGTextPath::absoluteQuads):
+ * rendering/RenderSVGTextPath.h:
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::localToAbsolute):
+ (WebCore::RenderTableCell::localToAbsoluteQuad):
+ * rendering/RenderTableCell.h:
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteQuads):
+ (WebCore::RenderText::collectAbsoluteLineBoxQuads):
+ * rendering/RenderText.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::localToAbsoluteQuad):
+ (WebCore::RenderView::absoluteQuads):
+ * rendering/RenderView.h:
+
+2008-11-12 Brent Fulgham <bfulgham@gmail.com>
+
+ Fix Bug 22178: Build errors in WebKit Cairo port
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22178>
+
+ Reviewed by Mark Rowe.
+
+ * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
+ Visual Studio.
+ (WebCore::Pattern::createPlatformPattern):
+
+2008-11-12 Adam Roben <aroben@apple.com>
+
+ Fix a typo in the include path for the Release_Cairo configuration
+
+ * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
+
+2008-11-12 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=17840
+ Patch 2
+
+ Code cleanup in RenderBox::computeAbsoluteRepaintRect().
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeAbsoluteRepaintRect):
+
+2008-11-12 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=17840
+
+ Fix repainting when the transform on a positioned element changes.
+ In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
+ and being in a positioned container after applying the transform to the local
+ rect.
+
+ Tests: fast/repaint/transform-absolute-in-positioned-container.html
+ fast/repaint/transform-relative-position.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeAbsoluteRepaintRect):
+
+2008-11-12 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
+ <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
+
+ We don't want to merge into a block if it will mean changing the quote level of content after deleting
+ selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
+ that such a selection actually ends at the start of the next paragraph. Instead we want to completely
+ remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior
+ for indented paragraphs.
+
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
+ try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied
+ so that we remove evidence of the deleted paragraphs' quote level.
+ (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also
+ make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection
+ started on, instead of one higher.
+ * editing/DeleteSelectionCommand.h:
+ * editing/htmlediting.cpp:
+ (WebCore::numEnclosingMailBlockquotes): Added.
+ * editing/htmlediting.h:
+
+2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Move _web_encodingForResource from WebKit into WebCore and change return type
+
+ This change is needed to implement NSAPI in WebCore for Mac, see:
+
+ https://bugs.webkit.org/show_bug.cgi?id=21427
+
+ * WebCore.base.exp:
+ * platform/mac/WebCoreNSStringExtras.h:
+ * platform/mac/WebCoreNSStringExtras.mm:
+ (stringEncodingForResource):
+
+2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
+ WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
+
+ This change is needed to implement NSAPI in WebCore for Mac, see:
+
+ https://bugs.webkit.org/show_bug.cgi?id=21427
+
+ * WebCore.base.exp:
+ * platform/mac/WebCoreNSStringExtras.h:
+ * platform/mac/WebCoreNSStringExtras.mm:
+ (stringIsCaseInsensitiveEqualToString):
+
+2008-11-11 Stephanie <slewis@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Null check image data before setting it as image source.
+
+ Test: fast/images/image-empty-data.html
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::destroyDecodedData):
+
+2008-11-11 Adele Peterson <adele@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Remove ifdef so future OS versions can use the new delegate method.
+
+ * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
+
+2008-11-11 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Antti Koivisto and Sam Weinig.
+
+ Clean up HTMLTokenizer a litle
+ https://bugs.webkit.org/show_bug.cgi?id=22188
+
+ Rename pendingScripts to m_pendingScripts
+ Rename scriptNode to m_scriptNode make the type specific
+ Rename pendingSrc to m_pendingSrc
+ Rename currentPrependingSrc to m_currentPrependingSrc
+ Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
+ Remove long-since-dead kdDebug and qDebug calls
+ Rename brokenComments to m_brokenComments
+ Remove HTMLTokenizer includes and document the rest
+ Rename src to m_src
+ Rename parser to m_parser and make it an OwnPtr
+ Rename inWrite to m_inWrite and jsProxy to scriptController
+ Rename brokenServer to m_brokenServer
+ Rename buffer to m_buffer and dest to m_dest
+ Rename size to m_bufferSize
+ Rename attrName to m_attrName
+ Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
+ Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
+ Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
+ Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
+ Rename flat to selfClosingTag
+ Rename currToken to m_currentToken
+
+ * css/CSSParser.cpp:
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * html/HTMLDocument.cpp:
+ * html/HTMLElement.cpp:
+ * html/HTMLFormControlElement.cpp:
+ * html/HTMLParser.h:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::Token::addAttribute):
+ (WebCore::HTMLTokenizer::HTMLTokenizer):
+ (WebCore::HTMLTokenizer::reset):
+ (WebCore::HTMLTokenizer::begin):
+ (WebCore::HTMLTokenizer::processListing):
+ (WebCore::HTMLTokenizer::parseSpecial):
+ (WebCore::HTMLTokenizer::scriptHandler):
+ (WebCore::HTMLTokenizer::scriptExecution):
+ (WebCore::HTMLTokenizer::parseComment):
+ (WebCore::HTMLTokenizer::parseServer):
+ (WebCore::HTMLTokenizer::parseProcessingInstruction):
+ (WebCore::HTMLTokenizer::parseText):
+ (WebCore::HTMLTokenizer::parseEntity):
+ (WebCore::HTMLTokenizer::parseTag):
+ (WebCore::HTMLTokenizer::write):
+ (WebCore::HTMLTokenizer::processingData):
+ (WebCore::HTMLTokenizer::end):
+ (WebCore::HTMLTokenizer::finish):
+ (WebCore::HTMLTokenizer::processToken):
+ (WebCore::HTMLTokenizer::processDoctypeToken):
+ (WebCore::HTMLTokenizer::~HTMLTokenizer):
+ (WebCore::HTMLTokenizer::enlargeBuffer):
+ (WebCore::HTMLTokenizer::enlargeScriptBuffer):
+ (WebCore::HTMLTokenizer::notifyFinished):
+ (WebCore::HTMLTokenizer::setSrc):
+ * html/HTMLTokenizer.h:
+ (WebCore::Token::Token):
+ (WebCore::Token::reset):
+ (WebCore::HTMLTokenizer::processingContentWrittenByScript):
+ (WebCore::HTMLTokenizer::htmlParser):
+ (WebCore::HTMLTokenizer::checkBuffer):
+ (WebCore::HTMLTokenizer::checkScriptBuffer):
+ * html/HTMLViewSourceDocument.h:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::leftRelOffset):
+ (WebCore::RenderBlock::rightRelOffset):
+ (WebCore::RenderBlock::lineWidth):
+ * xml/XSLTProcessor.cpp:
+
+2008-11-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
+ Track CachedScript decoded data
+
+ We now track the decoded size of CachedScripts in the Cache allowing
+ them to accounted for when deciding when to evict data. The decoded
+ data itself can be evicted when Cache pressure gets high enough through
+ CachedScript::destroyDecodedData.
+
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::allClientsRemoved):
+ (WebCore::CachedResource::destroyDecodedData):
+ * loader/CachedScript.cpp:
+ (WebCore::CachedScript::script):
+ (WebCore::CachedScript::data):
+ (WebCore::CachedScript::destroyDecodedData):
+ * loader/CachedScript.h:
+
+2008-11-11 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Remove pointless dependencies on the now-deleted kjs directory and
+ mentions of it in comments that are no longer relevant.
+
+ * WebCore.pro:
+ * webcore-base.bkl:
+
+2008-11-11 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebCore part of adding a master volume control for media elements in a WebView
+
+ * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
+ * dom/Document.cpp:
+ (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
+ when the media volume is changed.
+ (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
+ elements to register for a callback when the media volume is changed.
+ (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
+ elements to unregister for the callback.
+ * dom/Document.h:
+ * dom/Element.h:
+ (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
+ registerForMediaVolumeCallbacks().
+ (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
+ unregisterForMediaVolumeCallbacks().
+ (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
+ element's intrinsic volume by the master volume from the page.
+ (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
+ updateVolume().
+ * html/HTMLMediaElement.h:
+ * page/Page.cpp:
+ (WebCore::Page::Page): Initialize m_mediaVolume to 1.
+ (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
+ every document in the page when the master volume changes.
+ * page/Page.h:
+ (WebCore::Page::mediaVolume): Added this getter.
+
+2008-11-11 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=22182
+
+ Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
+ is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math
+ errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
+
+ Reviewed by Adele
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::mouseDown):
+
+2008-11-11 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/5089327> Too much indentation when pasting
+ quoted paragraphs
+
+ This patch re-addresses pasting blockquotes into blockquotes. It
+ backs out most of revision 38273. 38273 fixed the bug by inserting
+ the pasted content as a sibling blockquote node to the pre-existing
+ blockquote node. The problem with that is that by default,
+ blockquotes have a giant margin, so visually, this can be weird.
+ This patch instead inserts the pasted content as siblings of the
+ the content already inside the outer blockquote, and then removes
+ the blockquote node from the pasted content itself, so that it
+ doesn't nest itself into the outer blockquote.
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::doApply):
+
+ Move contains() from Element to Node since there is nothing
+ Element-specific about it.
+ * dom/Element.cpp:
+ * dom/Element.h:
+ * dom/Node.cpp:
+ (WebCore::Node::contains):
+ * dom/Node.h:
+
+2008-11-11 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=17997
+
+ Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method
+ is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This
+ is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
+
+ Reviewed by John Sullivan
+
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::Image::drawPattern):
+
+2008-11-10 David Hyatt <hyatt@apple.com>
+
+ Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy
+ when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
+ how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
+
+ Reviewed by Adam Roben
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::isControlStyled):
+
+2008-11-11 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=22160
+ speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
+ (previousLinePosition, too) uses a nil node
+
+ * editing/visible_units.cpp:
+ (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
+ to check editingIgnoresContent. It makes sense to use the associated DOM node for
+ this, even in cases of anonymous content, and it avoids the case where element() can
+ be 0.
+ (WebCore::previousLinePosition): Ditto.
+
+2008-11-11 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Darin Adler.
+
+ Removed default: in applySpreadMethod. This causes the problems
+ in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
+ or CSS.
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::applySpreadMethod):
+
+2008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix crash when rendering the file chooser.
+ Also proper implementation for multi-selected files.
+
+ * platform/qt/FileChooserQt.cpp:
+ (WebCore::FileChooser::basenameForWidth):
+
+2008-11-11 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Oliver Hunt.
+
+ PatternCairo needs to invert the pattern matrix because
+ of transformation from user space to pattern space.
+ Give a identity matrix to pattern for Qt and Cairo. Because the
+ context is transformed already.
+
+ [CAIRO][QT] Canvas transformations applied twice to Patterns
+ https://bugs.webkit.org/show_bug.cgi?id=21555
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ * platform/graphics/cairo/PatternCairo.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+
+2008-11-10 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Clear the image source cache even if we haven't decoded any of the image data.
+ We use the image source cache when calculating layout.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::pruneDeadResources):
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::destroyDecodedData):
+
+2008-11-10 Adam Roben <aroben@apple.com>
+
+ Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
+ loading microsoftpdc.com
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22161>
+
+ Reviewed by Dan Bernstein.
+
+ Test: fast/css/outline-invert-assertion.html
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::systemColor): If we can't determine a good
+ Win32 system color to use, defer to RenderTheme instead of asserting.
+ This matches what RenderThemeMac does.
+
+2008-11-10 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text
+ into quoted text yields double-quoting
+
+ Don't nest inserted content in Mail blockquotes. Perform a
+ BreakBlockquoteCommand if we're in
+ one and insert the incoming fragment between the split blockquotes.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from ->
+ source and to -> destination.
+ (WebCore::ReplaceSelectionCommand::doApply):
+
+2008-11-10 Adam Roben <aroben@apple.com>
+
+ Fix Bug 22158: Would like to turn on WebCore logging channels via an
+ environment variable
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22158>
+
+ Logging channels can now be enabled by setting the WebCoreLogLevel
+ environment variable to a hexadecimal number.
+
+ Reviewed by Anders Carlsson.
+
+ * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
+ * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
+ (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
+ environment variable, parse its value as a hexadecimal number, and
+ turn the channel on/off based on whether the mask bit is set.
+ (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
+ logging channel in turn.
+
+2008-11-10 Darin Adler <darin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=22103
+ Changing fonts in preferences does not immediately update WebViews
+
+ This broke when the meaning of FrameView::invalidate changed.
+ I changed setNeedsReapplyStyles to no longer depend on invalidate.
+
+ * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
+ Removed the part of this function that duplicated what's already in
+ FrameView::needsLayout, since the copy here left out a few key things.
+ For example, it didn't handle the fact that "needs reapply styles"
+ counts as needing layout.
+
+ * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
+ FrameView::invalidate before. There were two things wrong with that.
+ 1) It requested that the entire view repaint even if the style change
+ didn't necessitate that. 2) FrameView::invalidate no longer causes any
+ repainting at all in certain cases, because of Hyatt's changes to how
+ widgets and the host window are involved in the repainting process.
+ So call FrameView::scheduleRelayout instead, which is more precisely
+ what we want and need here.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
+ so that Document::shouldScheduleLayout doesn't have to replicate the
+ logic that's in needsLayout and can instead rely on the fact that it
+ was already called.
+ (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
+ in this function.
+
+2008-11-10 Darin Adler <darin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ - speculative fix for <rdar://problem/5557243> crashes in Safari at
+ WebCore::HTMLSelectElement::updateListBoxSelection + 280
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::updateListBoxSelection):
+ Check index against size of vector before indexing into the vector.
+
+2008-11-10 Tom Cooksey <thomas.cooksey@trolltech.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix QtWebkit build failure on arm.
+
+ pen.widthF() is a qreal, which means it's a float on arm.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::setLineDash):
+
+2008-11-10 Morten Sørvig <msorvig@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Improve mouse wheel scolling on Qt/Cocoa.
+ Cocoa differs from Carbon (and other platforms I think) in that the
+ mouse wheel events we get have a much higher acceleration factor.
+
+ This submit switches over to scroll-per-pixel from scroll-per-line
+ for most of our scrolling views. This matches the native views
+ and works well with the increased acceleration.
+
+ * platform/qt/WheelEventQt.cpp:
+
+2008-11-09 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 19541: Null pointer in showModalDialog()
+ <https://bugs.webkit.org/show_bug.cgi?id=19541>
+
+ Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
+ and JSDOMWindowBase::canShowModalDialogNow()C
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::canShowModalDialog):
+ (WebCore::canShowModalDialogNow):
+
+2008-11-09 Darin Adler <darin@apple.com>
+
+ - try to fix Windows build
+
+ * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
+ about needed a separate definition for static const integer data members.
+ Until I get to the bottom of this, put the definitions inside an ifdef.
+
+2008-11-09 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX: Qt build broke after r38235.
+
+ Added HAVE(ACCESSIBILITY) header guards to platform implementation
+ source files.
+
+ * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
+ guards.
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
+ * page/qt/AccessibilityObjectQt.cpp: Ditto.
+ * page/win/AccessibilityObjectWin.cpp: Ditto.
+ * page/wx/AccessibilityObjectWx.cpp: Ditto.
+
+2008-11-09 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22104
+ Javascript URL percent encoding/decoding broken by some characters
+
+ Test: fast/loader/javascript-url-encoding-2.html
+
+ * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
+
+2008-11-09 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed and tweaked by Darin Adler.
+
+ * platform/graphics/Color.cpp: Added definitions for the static data members
+ in this class. Static data members need a definition, even when they are the
+ simple integer constant kind that can be initialized in the header.
+
+2008-11-08 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=22141
+ REGRESSION: Safari error page is not fully styled when loaded from cache
+
+ Reset text decoder on flush so it does not pass through the BOM when it is reused.
+
+ Test: fast/encoding/css-cached-bom.html
+
+ * loader/TextResourceDecoder.cpp:
+ (WebCore::TextResourceDecoder::flush):
+
+2008-11-08 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Mark Rowe.
+
+ Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
+ it was causing these errors to end up in the page's text representation.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::downloadTimerCallback):
+
+2008-11-08 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes after addition of JSCore parser and bycompiler dirs.
+
+ * webcore-base.bkl:
+ * webcore-wx.bkl:
+
+2008-11-08 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=21906
+
+ Override addFocusRingRects() in RenderTextControl to avoid
+ the RenderFlow behavior of recursing on descendent renderers.
+ RenderTextControl should only ever need a simple focus rect.
+
+ This fixes focus ring issues with transforms on text controls.
+
+ Test: fast/transforms/transformed-focused-text-input.html
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::addFocusRingRects):
+ * rendering/RenderTextControl.h:
+
+2008-11-08 Dimitri Dupuis-Latour <dupuislatour@apple.com>
+
+ Make sure the icon thumbnail width/height is at least 1px in
+ the Web Inspector's resource panel.
+
+ <rdar://problem/5988888>
+
+ Reviewed by Tim Hatcher.
+
+ * inspector/front-end/inspector.css:
+
+2008-11-08 David Kilzer <ddkilzer@apple.com>
+
+ Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
+
+ <https://bugs.webkit.org/show_bug.cgi?id=22137>
+
+ Reviewed by Darin Adler.
+
+ * page/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+ Provide a default implementation when HAVE(ACCESSIBILITY) is false.
+ * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
+ * page/mac/AccessibilityObjectMac.mm: Ditto.
+ * page/mac/AccessibilityObjectWrapper.mm: Ditto.
+
+2008-11-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - WebCore part of adding WebPreferences for controlling databases and local storage
+
+ * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
+ Settings::setLocalStorageEnabled().
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
+ is disabled in settings.
+ (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
+ are disabled in settings.
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Initialize m_databasesEnabled and
+ m_localStorageEnabled.
+ (WebCore::Settings::setDatabasesEnabled): Added.
+ (WebCore::Settings::setLocalStorageEnabled): Added.
+ * page/Settings.h:
+ (WebCore::Settings::databasesEnabled): Added.
+ (WebCore::Settings::localStorageEnabled): Added.
+
+2008-11-07 Alp Toker <alp@nuanti.com>
+
+ Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
+ now require that only their top-level header file is included.
+
+ Patch tested and still builds fine with older GTK+ versions (back to
+ 2.8).
+
+ Future WebKit GTK+ contributions are required to adhere to this
+ policy.
+
+ * platform/gtk/FileSystemGtk.cpp:
+ * platform/gtk/KeyEventGtk.cpp:
+ * platform/gtk/MouseEventGtk.cpp:
+ * platform/gtk/WheelEventGtk.cpp:
+ * platform/gtk/gtkdrawing.h:
+ * plugins/gtk/gtk2xtbin.c:
+ * plugins/gtk/gtk2xtbin.h:
+
+2008-11-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker
+
+ Explicitly initialize the NPDrawingModelCoreAnimation.
+
+ * bridge/npapi.h:
+
+2008-11-07 Alp Toker <alp@nuanti.com>
+
+ autotools fix. Always use the configured perl binary (which may be
+ different to the one in $PATH) when generating sources.
+
+ * GNUmakefile.am:
+
+2008-11-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ https://bugs.webkit.org/show_bug.cgi?id=22122
+
+ Use a stack-based object to simplify the pushLayoutState/popLayoutState
+ code. LayoutStateMaintainer either pushes in the constructor, or allows
+ an explicit push() later. Both cases require an explicit pop().
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::layoutOnlyPositionedObjects):
+ * rendering/RenderContainer.cpp:
+ (WebCore::RenderContainer::layout):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::layout):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::layout):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::setCellWidths):
+ (WebCore::RenderTableSection::calcRowHeight):
+ (WebCore::RenderTableSection::layoutRows):
+ * rendering/RenderView.h:
+ (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
+ (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
+ (WebCore::LayoutStateMaintainer::pop):
+ (WebCore::LayoutStateMaintainer::push):
+ (WebCore::LayoutStateMaintainer::didPush):
+
+2008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Fix the QtWebKit build on Mac
+
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (PluginView::invalidateRect):
+
+2008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Don't allow Phonon's invisible video widget to keep the app running
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+
+2008-11-07 Henrik Hartz <henrik.hartz@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix valgrind warning about uninitialized lastStop variable.
+
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::platformGradient):
+
+2008-11-07 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix layout test brokenness following r38211.
+
+ * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
+ Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
+ matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
+ inadvertently. This may or may not be a good thing, but it's certainly not something that
+ should change by accident.
+
+2008-11-06 Antti Koivisto <antti@apple.com>
+
+ Eh, this trivial last minute change was wrong.
+
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::sheetText):
+
+2008-11-06 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22093
+
+ Delaying the text decoding caused regression since the decoding
+ also determines the encoding in case of @charset rule.
+
+ Decode immediately in data() and keep the decoded string around
+ during the checkNotify().
+
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::sheetText):
+ (WebCore::CachedCSSStyleSheet::data):
+ * loader/CachedCSSStyleSheet.h:
+
+2008-11-06 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22097
+ Expose MessageEvent constructor on WorkerContext
+
+ * bindings/js/JSWorkerContext.cpp:
+ (WebCore::jsWorkerContextMessageEvent):
+ (WebCore::setJSWorkerContextMessageEvent):
+
+2008-11-06 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21107
+ <rdar://problem/6264219> New access key combination conflicts with VoiceOver
+
+ * page/EventHandler.h:
+ * page/gtk/EventHandlerGtk.cpp:
+ (WebCore::EventHandler::accessKeyModifiers):
+ * page/qt/EventHandlerQt.cpp:
+ (WebCore::EventHandler::accessKeyModifiers):
+ * page/win/EventHandlerWin.cpp:
+ (WebCore::EventHandler::accessKeyModifiers):
+ * page/wx/EventHandlerWx.cpp:
+ (WebCore::EventHandler::accessKeyModifiers):
+ Access access key modifiers via a function, not a static variable.
+
+ * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
+ Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
+ less troublesome than one with VO keys.
+
+ * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
+ Also fix an access key matching bug introduced in r32424 - Any superset of specified
+ modifier set invoked access keys. We can use simple equality comparison instead because
+ CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
+
+2008-11-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22115
+ NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
+
+ Export _NPN_HasMethod and _NPN_HasProperty.
+
+ * WebCore.NPAPI.exp:
+
+2008-11-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ https://bugs.webkit.org/show_bug.cgi?id=15678
+
+ Fix transformed menu selects to show the popup in the correct
+ location.
+
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::showPopup):
+
+2008-11-06 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
+
+ Apparently older versions of gcc have issues with this patch.
+ Backing out a second time until the issues are resolved.
+
+2008-11-06 Julien Chaffraix <jchaffraix@pleyo.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 21106: .in format discussed changes
+ https://bugs.webkit.org/show_bug.cgi?id=21106
+
+ Include the namespace into the interfaceName.
+
+ * dom/make_names.pl: Do not append the namespace when
+ using the interfaceName.
+ * html/HTMLTagNames.in: Added namespace prefix for custom
+ interfaceName.
+ * svg/svgtags.in: Ditto.
+
+2008-11-06 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Move the remaining files in the kjs subdirectory of JavaScriptCore to
+ a new parser subdirectory, and remove the kjs subdirectory entirely.
+
+ * ForwardingHeaders/kjs: Removed.
+ * ForwardingHeaders/kjs/Parser.h: Removed.
+ * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
+ * ForwardingHeaders/kjs/SourceCode.h: Removed.
+ * ForwardingHeaders/kjs/SourceProvider.h: Removed.
+ * ForwardingHeaders/parser: Added.
+ * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
+ * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
+ * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/StringSourceProvider.h:
+ * bindings/js/WorkerScriptController.cpp:
+ * bridge/NP_jsobject.cpp:
+ * bridge/jni/jni_jsobject.mm:
+ * bridge/testbindings.pro:
+ * inspector/JavaScriptDebugServer.cpp:
+
+2008-11-06 David Kilzer <ddkilzer@apple.com>
+
+ BUILD WAS NOT BROKEN: Rolling r38189 back in.
+
+ Please perform a clean build if you see crashes.
+
+2008-11-06 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX: Backed out r38189 since it apparently broke the world.
+
+2008-11-06 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
+ https://bugs.webkit.org/show_bug.cgi?id=22112
+
+ Test: accessibility/content-editable.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isReadOnly):
+
+2008-11-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Alice Liu.
+
+ Fix failed assert at launch caused by unintialized data member on the mac.
+
+ * platform/network/mac/NetworkStateNotifierMac.cpp:
+ (WebCore::NetworkStateNotifier::NetworkStateNotifier):
+
+2008-11-06 Steve Falkenburg <sfalken@apple.com>
+
+ Fix failed assert at launch caused by unintialized data member.
+
+ Reviewed by Maciej Stachowiak.
+
+ * platform/network/win/NetworkStateNotifierWin.cpp:
+ (WebCore::NetworkStateNotifier::NetworkStateNotifier):
+
+2008-11-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Antti Koivisto
+
+ https://bugs.webkit.org/show_bug.cgi?id=22109
+ Make <input type="range"> work correctly with transforms
+
+ Test: fast/forms/slider-transformed.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ Compute a correct local point when the event is retargeted
+ * rendering/RenderSlider.cpp:
+ (WebCore::HTMLSliderThumbElement::defaultEventHandler):
+ Compute m_initialClickPoint in slider-local coords, so that
+ deltas are computed correctly with transforms
+ (WebCore::RenderSlider::mouseEventIsInThumb):
+ Rather than computing an absolute bounds for the thumb,
+ convert the point to local coords and compare it with the border box.
+
+2008-11-06 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
+ https://bugs.webkit.org/show_bug.cgi?id=21810
+
+ * bindings/js/GCController.cpp:
+ (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::wrapperSet): Ditto
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::wrappers): Ditto
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::wrappers): Ditto
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::rootObjectSet): Ditto
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText): Ditto
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType): Ditto
+ * css/CSSStyleSelector.cpp:
+ (WebCore::screenEval): Ditto
+ (WebCore::printEval): Ditto
+ * dom/DOMImplementation.cpp:
+ (WebCore::isSVG10Feature): Ditto
+ (WebCore::isSVG11Feature): Ditto
+ (WebCore::DOMImplementation::isXMLMIMEType): Ditto
+ * dom/Document.cpp:
+ (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
+ * dom/ScriptElement.cpp:
+ (WebCore::isSupportedJavaScriptLanguage): Ditto
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::styleSpanClassString): Ditto
+ * editing/HTMLInterchange.cpp:
+ (WebCore::): Ditto
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::indentBlockquoteString): Ditto
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::isInterchangeNewlineNode): Ditto
+ (WebCore::isInterchangeConvertedSpaceSpan): Ditto
+ * editing/htmlediting.cpp:
+ (WebCore::stringWithRebalancedWhitespace): Ditto
+ (WebCore::nonBreakingSpaceString): Ditto
+ * editing/markup.cpp:
+ (WebCore::appendAttributeValue): Ditto
+ (WebCore::appendEscapedContent): Ditto
+ (WebCore::shouldAddNamespaceAttr): Ditto
+ (WebCore::appendNamespace): Ditto
+ (WebCore::appendStartMarkup): Ditto
+ (WebCore::createMarkup): Ditto
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::type): Ditto
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::isRecognizedTagName): Ditto
+ (WebCore::inlineTagList): Ditto
+ (WebCore::blockTagList): Ditto
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::type): Ditto
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::type): Ditto
+ * html/HTMLKeygenElement.cpp:
+ (WebCore::HTMLKeygenElement::type): Ditto
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::type): Ditto
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::type): Ditto
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::type): Ditto
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::getNode): Ditto
+ (WebCore::HTMLParser::isHeaderTag): Ditto
+ (WebCore::HTMLParser::isResidualStyleTag): Ditto
+ (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::type): Ditto
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::type): Ditto
+ * inspector/InspectorController.cpp:
+ (WebCore::platform): Ditto
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::shared): Ditto
+ * inspector/JavaScriptProfile.cpp:
+ (WebCore::profileCache): Ditto
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::profileNodeCache): Ditto
+ * loader/FrameLoader.cpp:
+ (WebCore::localSchemes): Ditto
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::cacheStorage): Ditto
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::archiveMIMETypes): Ditto
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dragState): Ditto
+ * page/Frame.cpp:
+ (WebCore::createRegExpForLabels): Ditto
+ (WebCore::keepAliveSet): Ditto
+ * page/Page.cpp:
+ (WebCore::Page::groupName): Ditto
+ * page/SecurityOrigin.cpp:
+ (WebCore::isDefaultPortForProtocol): Ditto
+ (WebCore::SecurityOrigin::databaseIdentifier): Ditto
+ * page/mac/FrameMac.mm:
+ (WebCore::regExpForLabels): Ditto
+ * platform/KURL.cpp:
+ (WebCore::blankURL): Ditto
+ * platform/graphics/FontCache.cpp:
+ (WebCore::alternateFamilyName): Ditto
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::FontCache::getSimilarFontPlatformData): Ditto
+ (WebCore::FontCache::getLastResortFallbackFont): Ditto
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarTheme::nativeTheme): Ditto
+ * platform/mac/ThemeMac.mm:
+ (WebCore::platformTheme): Ditto
+ * platform/mac/ThreadCheck.mm:
+ (WebCoreReportThreadViolation): Ditto
+ * platform/network/NetworkStateNotifier.cpp:
+ (WebCore::networkStateNotifier): Ditto
+ * platform/network/mac/FormDataStreamMac.mm:
+ (WebCore::getStreamFormDataMap): Ditto
+ (WebCore::getStreamResourceHandleMap): Ditto
+ * platform/network/mac/ResourceResponseMac.mm:
+ (WebCore::ResourceResponse::platformLazyInit): Ditto
+ * platform/text/TextEncoding.cpp:
+ (WebCore::TextEncoding::isJapanese): Ditto
+ * rendering/RenderBlock.cpp:
+ (WebCore::continuationOutlineTable): Ditto
+ * rendering/RenderCounter.cpp:
+ (WebCore::counterMaps): Ditto
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::markerText): Ditto
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::systemFont): Ditto
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::initialDashboardRegions): Ditto
+ (WebCore::RenderStyle::noneDashboardRegions): Ditto
+ * storage/LocalStorage.cpp:
+ (WebCore::localStorageMap): Ditto
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::calcMode): Ditto
+ (WebCore::SVGAnimationElement::attributeType): Ditto
+ (WebCore::SVGAnimationElement::isAdditive): Ditto
+ (WebCore::SVGAnimationElement::isAccumulated): Ditto
+ * svg/SVGLangSpace.cpp:
+ (WebCore::SVGLangSpace::xmlspace): Ditto
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::contentScriptType): Ditto
+ (WebCore::SVGSVGElement::contentStyleType): Ditto
+ * svg/SVGStyleElement.cpp:
+ (WebCore::SVGStyleElement::type): Ditto
+ (WebCore::SVGStyleElement::media): Ditto
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::parseClockValue): Ditto
+ (WebCore::SVGSMILElement::restart): Ditto
+ (WebCore::SVGSMILElement::fill): Ditto
+ (WebCore::SVGSMILElement::repeatCount): Ditto
+ (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
+ * svg/graphics/SVGResource.cpp:
+ (WebCore::clientMap): Ditto
+ * svg/graphics/SVGResourceMarker.cpp:
+ (WebCore::SVGResourceMarker::draw): Ditto
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::preflightResultCache): Ditto
+ (WebCore::isSafeRequestHeader): Ditto
+ (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
+ * xml/XPathExpressionNode.cpp:
+ (WebCore::XPath::Expression::evaluationContext): Ditto
+ * xml/XPathParser.cpp:
+ (WebCore::XPath::isAxisName): Ditto
+ (WebCore::XPath::isNodeTypeName): Ditto
+ * xml/XPathValue.cpp:
+ (WebCore::XPath::Value::toNodeSet): Ditto
+
+2008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Remove a bunch of unused methods in the Qt media element implementation
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
+
+2008-11-05 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=21870
+
+ Implement absoluteToLocal() to convert a point from absolute
+ to local coordinates, optionally taking transforms into account.
+
+ Use this to set offsetX/offsetY in mouse events, thus fixing
+ offsetX/offsetY in events on elements with transforms.
+
+ Test: fast/events/offsetX-offsetY.html
+
+ * dom/MouseRelatedEvent.cpp:
+ (WebCore::MouseRelatedEvent::receivedTarget):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localToAbsolute):
+ (WebCore::RenderBox::absoluteToLocal):
+ (WebCore::RenderBox::offsetFromContainer):
+ * rendering/RenderBox.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::absoluteToLocal):
+ * rendering/RenderObject.h:
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::localToAbsolute):
+ (WebCore::RenderTableCell::absoluteToLocal):
+ * rendering/RenderTableCell.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::absoluteToLocal):
+ * rendering/RenderView.h:
+
+2008-11-06 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Cameron Zwarich.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22067
+ [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
+
+ null-check symbols loaded from plugin modules, initialize the function
+ table (like Win already does) and update it with the latest
+ additions. Adjust whitespace for easy diff'ing with the Win port code
+ from which it was forked.
+
+ This fixes crashes with libnspr4.so and any other plugins that don't
+ provide the symbols we expect.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ (WebCore::PluginPackage::load):
+
+2008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Removed dead (and broken) code from an ancient Symbian port.
+
+ * config.h:
+ * platform/text/AtomicString.h:
+ * platform/text/PlatformString.h:
+
+2008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Use QLibrary as PlatformModule when compiling with Qt for S60.
+
+ * platform/FileSystem.h:
+
+2008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Compile fix for Symbian.
+ The snprintf function is defined in stdio.h, the inclusion
+ of snprintf.h inside this PLATFORM(SYMBIAN) block does not
+ compile.
+
+ * config.h:
+
+2008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Disable webkit plugins for Symbian.
+
+ * WebCore.pro:
+
+2008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Fix build break in debug mode when XSLT is not enabled
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::dumpStats):
+
+2008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon Hausmann.
+
+ Repaint video on UpdateRequest to prevent recursive painting
+
+ Calling QWidget::render() to update the video generates a paint
+ event that's then picked up by the event filter once more :(
+
+ We're really only interested in updates from Phonon, which we
+ get through the UpdateRequest for each new frame.
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::eventFilter):
+
+2008-11-06 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Fix the WebCore build for some platforms by changing build scripts to
+ account for the recent move of the create_hash_table script from the kjs
+ subdirectory of JavaScriptCore to the root directory.
+
+ * WebCore.pro:
+ * make-generated-sources.sh:
+
+2008-11-06 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Fix a case-sensitivity issue in Mac forwarding headers. Strangely
+ enough, this does not always cause the build to break, even with a
+ case-sensitive filesystem.
+
+ * ForwardingHeaders/runtime/Interpreter.h:
+
+2008-11-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22083
+ MessageEvents cannot be used across threads
+
+ * dom/Event.idl:
+ * dom/MessageEvent.idl:
+ Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
+ won't work.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::EventData::EventData):
+ (WebCore::MessagePort::EventData::~EventData):
+ (WebCore::MessagePort::clone):
+ (WebCore::MessagePort::postMessage):
+ (WebCore::MessagePort::startConversation):
+ (WebCore::MessagePort::dispatchMessages):
+ * dom/MessagePort.h:
+ Don't create a MessageEvent until dispatch time - messages can be posted across threads,
+ but MessageEvents are tied to the thread that they were created in.
+
+2008-11-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22066
+ Implement Worker global object
+
+ * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
+
+ * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
+ support is still disabled by default.
+
+ * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
+
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
+
+ * bindings/js/JSWorkerContext.cpp: Added.
+ * bindings/js/JSWorkerContext.h: Added.
+ * bindings/js/WorkerScriptController.cpp: Added.
+ * bindings/js/WorkerScriptController.h: Added.
+ * dom/WorkerContext.cpp: Added.
+ * dom/WorkerContext.h: Added.
+ Added an implementation of worker contexts.
+
+ * dom/DedicatedWorker.cpp:
+ (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
+ (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
+ and lifetime is not clear at all.
+
+ * dom/WorkerLocation.cpp: Added.
+ * dom/WorkerLocation.h: Added.
+ * dom/WorkerLocation.idl: Added.
+ Added WorkerLocation, which is one of the objects available to workers.
+
+ * dom/WorkerThread.cpp: Added.
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::start):
+ (WebCore::WorkerThread::workerThreadStart):
+ (WebCore::WorkerThread::workerThread):
+ * dom/WorkerThread.h: Added.
+ (WebCore::WorkerThread::create):
+ Run some code in a worker thread (no message loop yet).
+
+2008-11-05 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22093
+ Don't keep decoded stylesheet data in cache
+
+ <rdar://problem/6343588>
+
+ Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
+ performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
+ style sheet data in cache by 2/3 in common case.
+
+ * loader/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::sheetText):
+ (WebCore::CachedCSSStyleSheet::data):
+ * loader/CachedCSSStyleSheet.h:
+
+2008-11-05 David Kilzer <ddkilzer@apple.com>
+
+ Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
+
+ <https://bugs.webkit.org/show_bug.cgi?id=21596>
+
+ Reviewed by Antti.
+
+ This patch adds real parsing for Pragma and Cache-Control headers
+ based on RFC 2616, Sections 2, 14.9 and 14.32. It also adds some
+ new String and StringImpl methods to assist with the parsing.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::dumpStats): Added. Convenience method for dumping
+ stats outside of Safari.
+ * loader/Cache.h: Declared dumpStats().
+
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::mustRevalidate): Updated to use
+ ResourceResponseBase::cacheControlDirectives() instead of substring
+ matching of the entire Cache-Control header.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::didReceiveResponse): Used the local
+ 'resource' variable instead of 'request->cachedResource()'.
+
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
+ m_haveParsedCacheControlHeader to false when a "Cache-Control"
+ header is set. Ditto for m_haveParsedPragmaHeader and "Pragma".
+ (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
+ Provides parsed Pragma header directives.
+ (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
+ Provides parsed Cache-Control header directives.
+ (WebCore::isCacheHeaderSeparator): Added. Returns true if a
+ character is a separator character per RFC 2616, Section 2.2, else
+ returns false.
+ (WebCore::isControlCharacter): Added. Returns true if a character
+ is a control character per RFC 2616 Section 2.2, else returns false.
+ (WebCore::trimToNextSeparator): Added. Returns a string truncated
+ at the first separator character per isCacheHeaderSeparator().
+ (WebCore::parseCacheHeader): Added. This is the main parsing
+ routine for both Cache-Control and Pragma headers.
+ (WebCore::parseCacheControlDirectiveValues): Added. This splits
+ certain Cache-Control directive values into a vector of strings.
+ * platform/network/ResourceResponseBase.h:
+ (WebCore::CacheControlDirectiveMap): Added. Typedef for a parsed
+ Cache-Control header.
+ (WebCore::PragmaDirectiveMap): Added. Typedef for a parsed Pragma
+ header.
+ (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
+ declaration.
+ (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
+ (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
+ Added. Boolean to describe when the "Cache-Control" header needs to
+ be reparsed.
+ (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader): Added.
+ Boolean to describe when the "Pragma" header needs to be reparsed.
+ (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
+ Cached map to hold parsed "Cache-Control" headers.
+ (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
+ Cached map to hold parsed "Pragma" headers.
+
+ * platform/text/PlatformString.h:
+ (WebCore::String::find): Added. Returns the first match based on
+ the character-matching function pointer passed in.
+ (WebCore::String::removeCharacters): Added declaration.
+ (WebCore::find): Added. Inline method that takes a character-
+ matching function pointer. Called by StringImpl::find().
+ * platform/text/String.cpp:
+ (WebCore::String::removeCharacters): Added. Calls
+ StringImpl::removeCharacters().
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::removeCharacters): Added. Returns a string
+ with all characters removed that match the character-matching
+ function pointer passed in. If there is no change to the string, it
+ returns itself. Based heavily on StringImpl::simplifyWhitespace().
+ (WebCore::StringImpl::find): Added. Calls WebCore::find().
+ * platform/text/StringImpl.h:
+ (WebCore::FindMatchFunctionPtr): Added. Typedef for a character-
+ matching function pointer.
+ (WebCore::StringImpl::removeCharacters): Added declaration.
+ (WebCore::StringImpl::find): Ditto.
+
+2008-11-05 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
+
+ As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node
+ between two blockquotes. Because the start merge moves the text node into a blockquote, when we
+ determine whether or not we should do the end merge, it incorrectly appears as though the end merge
+ is merging out of a blockquote. The fix is to determine whether or not we should do the end merge
+ before we do the start merge, so that the start merge doesn't effect our decision.
+
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
+ (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
+ (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
+ * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
+
+2008-11-05 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Speculatively fix the Windows build, even though these changes may not
+ actually matter for anything in the build, because the Windows bots are
+ behind.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-11-05 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Fix the Qt build.
+
+ * bridge/qt/qt_class.cpp:
+ * bridge/qt/qt_runtime.h:
+
+2008-11-05 Cameron Zwarich <zwarich@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Move more files to the runtime subdirectory of JavaScriptCore.
+
+ * ForwardingHeaders/kjs/collector.h: Removed.
+ * ForwardingHeaders/kjs/completion.h: Removed.
+ * ForwardingHeaders/kjs/identifier.h: Removed.
+ * ForwardingHeaders/kjs/interpreter.h: Removed.
+ * ForwardingHeaders/kjs/lookup.h: Removed.
+ * ForwardingHeaders/kjs/operations.h: Removed.
+ * ForwardingHeaders/kjs/protect.h: Removed.
+ * ForwardingHeaders/kjs/ustring.h: Removed.
+ * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
+ * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
+ * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
+ * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
+ * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
+ * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
+ * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
+ * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
+ * bindings/js/GCController.cpp:
+ * bindings/js/JSCustomPositionCallback.h:
+ * bindings/js/JSCustomPositionErrorCallback.h:
+ * bindings/js/JSCustomSQLStatementCallback.h:
+ * bindings/js/JSCustomSQLStatementErrorCallback.h:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.h:
+ * bindings/js/JSCustomVoidCallback.h:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSEventListener.h:
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/ScriptController.h:
+ * bindings/objc/WebScriptObject.mm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+ * bridge/c/c_class.cpp:
+ * bridge/jni/jni_class.cpp:
+ * bridge/jni/jni_jsobject.mm:
+ * bridge/npruntime.cpp:
+ * bridge/runtime_root.h:
+ * history/CachedPage.h:
+ * html/CanvasRenderingContext2D.cpp:
+ * html/HTMLCanvasElement.cpp:
+ * inspector/InspectorController.cpp:
+ * inspector/JavaScriptCallFrame.cpp:
+ * page/Console.cpp:
+ * page/Page.cpp:
+ * platform/text/AtomicString.cpp:
+ * platform/text/PlatformString.h:
+
+2008-11-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=22085
+ The Plugin JS object should expose item() and namedItem() methods to match Firefox
+
+ * bindings/js/JSPluginCustom.cpp:
+ (WebCore::JSPlugin::nameGetter):
+ * plugins/Plugin.cpp:
+ (WebCore::Plugin::namedItem):
+ * plugins/Plugin.h:
+ * plugins/Plugin.idl:
+
+2008-11-05 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21060
+ Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
+
+ Test: fast/dom/Range/surroundContents-check-boundary-points.html
+
+ * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
+
+2008-11-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Remove two global destructors from CoreTextController.
+
+ * platform/graphics/mac/CoreTextController.cpp:
+ (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
+
+2008-11-05 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ CRASH at Scrollbar::invalidateRect due to null m_client
+ https://bugs.webkit.org/show_bug.cgi?id=22080
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::isWindowActive):
+ (WebCore::Scrollbar::invalidateRect):
+
+2008-11-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=21648
+ navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
+
+ - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
+
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ (WebCore::JSMimeTypeArray::nameGetter):
+ * bindings/js/JSPluginArrayCustom.cpp:
+ (WebCore::JSPluginArray::nameGetter):
+ * page/DOMWindow.idl:
+ * plugins/MimeType.idl:
+ * plugins/MimeTypeArray.cpp:
+ (WebCore::MimeTypeArray::namedItem):
+ * plugins/MimeTypeArray.h:
+ * plugins/MimeTypeArray.idl:
+ * plugins/Plugin.idl:
+ * plugins/PluginArray.cpp:
+ (WebCore::PluginArray::namedItem):
+ * plugins/PluginArray.h:
+ * plugins/PluginArray.idl:
+
+2008-11-05 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix.
+
+ * plugins/PluginPackage.cpp:
+
+2008-11-05 Jeff Cook <cookiecaper@gmail.com>
+
+ Reviewed by Simon Hausmann and Tor Arne.
+
+ Fix crash in the Qt port when unloading swfdec and Flash 10
+ by reordering window destruction and plugin stop.
+
+ See https://bugs.webkit.org/show_bug.cgi?id=20779
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::stop):
+
+2008-11-05 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø
+
+ Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
+
+ Otherwise Flash refuses to load and function :(
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::determineQuirks):
+ * plugins/PluginQuirkSet.h:
+ (WebCore::):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::getValue):
+
+2008-11-05 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø
+
+ Unify determineQuirks between the Qt and the Gtk PluginPackage.
+ Share the code for parsing the module version from the description.
+ This is currently used to determine Flash based quirks.
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::createPackage):
+ (WebCore::PluginPackage::determineQuirks):
+ (WebCore::PluginPackage::determineModuleVersionFromDescription):
+ * plugins/PluginPackage.h:
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+
+2008-11-04 Cameron Zwarich <zwarich@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
+
+ * ForwardingHeaders/kjs/dtoa.h: Removed.
+ * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
+ * css/CSSParser.cpp:
+ * platform/text/String.cpp:
+ * platform/text/StringImpl.cpp:
+
+2008-11-04 Jonathan Haas <myrdred@gmail.com>
+
+ Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fixed an issue which could cause memory corruption using ToT libxml.
+ See https://bugs.webkit.org/show_bug.cgi?id=15715
+
+ Test: fast/xsl/xslt-nested-stylesheets.xml
+
+ * xml/XSLImportRule.cpp:
+ (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
+ * xml/XSLStyleSheet.cpp:
+ (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
+ (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
+ (WebCore::XSLStyleSheet::setParentStyleSheet): Added
+ * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
+
+2008-11-04 Simon Fraser <simon.fraser@apple.com>
+
+ No review.
+
+ Improved buid fix: include MathExtras.h to get roundf on all platforms.
+
+ * platform/graphics/FloatPoint.h:
+
+2008-11-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John Sullivan
+
+ Add a simple "visited" method to HistoryItem for use by global history
+
+ * WebCore.base.exp:
+
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::visited): Update the title on the item, set last visited time,
+ and bump the visit count. All things that should happen when a url is visited again!
+ * history/HistoryItem.h:
+
+2008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Build fix. Not reviewed.
+
+ * platform/graphics/FloatPoint.h: include math.h.
+ reported by zdobersek in #webkit.
+
+2008-11-04 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Anders Carlsson.
+
+ No need to clobber all ResourceRequest fields in FrameLoader::reload()
+ https://bugs.webkit.org/show_bug.cgi?id=21949
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::reload):
+
+2008-11-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ * storage/Database.cpp:
+ (WebCore::databaseVersionKey): Tweaked formatting.
+
+2008-11-03 Darin Adler <darin@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=22061
+ create script to check for exit-time destructors
+
+ * WebCore.xcodeproj/project.pbxproj: Added a script
+ phase that runs the check-for-exit-time-destructors script.
+
+ * html/HTMLAttributeNames.in: Removed some unused attribute names.
+
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
+ sets the write-only m_pluginPage.
+ * html/HTMLEmbedElement.h: Ditto.
+
+ * platform/mac/CursorMac.mm:
+ (WebCore::leakNamedCursor): Changed to return a Cursor&.
+ (WebCore::pointerCursor): Changed to leak an object to avoid an
+ exit-time destructor.
+ (WebCore::crossCursor): Ditto.
+ (WebCore::handCursor): Ditto.
+ (WebCore::moveCursor): Ditto.
+ (WebCore::verticalTextCursor): Ditto.
+ (WebCore::cellCursor): Ditto.
+ (WebCore::contextMenuCursor): Ditto.
+ (WebCore::aliasCursor): Ditto.
+ (WebCore::zoomInCursor): Ditto.
+ (WebCore::zoomOutCursor): Ditto.
+ (WebCore::copyCursor): Ditto.
+ (WebCore::noneCursor): Ditto.
+ (WebCore::progressCursor): Ditto.
+ (WebCore::noDropCursor): Ditto.
+ (WebCore::notAllowedCursor): Ditto.
+ (WebCore::iBeamCursor): Ditto.
+ (WebCore::waitCursor): Ditto.
+ (WebCore::helpCursor): Ditto.
+ (WebCore::eastResizeCursor): Ditto.
+ (WebCore::northResizeCursor): Ditto.
+ (WebCore::northEastResizeCursor): Ditto.
+ (WebCore::northWestResizeCursor): Ditto.
+ (WebCore::southResizeCursor): Ditto.
+ (WebCore::southEastResizeCursor): Ditto.
+ (WebCore::southWestResizeCursor): Ditto.
+ (WebCore::westResizeCursor): Ditto.
+ (WebCore::northSouthResizeCursor): Ditto.
+ (WebCore::eastWestResizeCursor): Ditto.
+ (WebCore::northEastSouthWestResizeCursor): Ditto.
+ (WebCore::northWestSouthEastResizeCursor): Ditto.
+ (WebCore::columnResizeCursor): Ditto.
+ (WebCore::rowResizeCursor): Ditto.
+ (WebCore::grabCursor): Ditto.
+ (WebCore::grabbingCursor): Ditto.
+
+ * storage/Database.cpp:
+ (WebCore::guidMutex): Changed to leak an object to avoid an
+ exit-time destructor. Also added a comment explaining why it's
+ thread safe.
+ (WebCore::guidToVersionMap): Ditto.
+ (WebCore::guidToDatabaseMap): Ditto.
+ (WebCore::Database::databaseInfoTableName): Ditto.
+ (WebCore::databaseVersionKey): Ditto.
+ (WebCore::Database::getVersionFromDatabase): Ditto.
+ (WebCore::Database::setVersionInDatabase): Ditto.
+ (WebCore::guidForOriginAndName): Ditto.
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::tracker): Ditto.
+ (WebCore::notificationMutex): Ditto.
+ (WebCore::notificationQueue): Ditto.
+ (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
+
+2008-11-04 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=21941
+
+ Rename absolutePosition() to localToAbsolute(), and add the ability
+ to optionally take transforms into account (which will eventually be the
+ default behavior).
+
+ * WebCore.base.exp:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::getUpperLeftCorner):
+ (WebCore::ContainerNode::getLowerRightCorner):
+ (WebCore::ContainerNode::getRect):
+ * dom/ContainerNode.h:
+ * dom/MouseRelatedEvent.cpp:
+ (WebCore::MouseRelatedEvent::receivedTarget):
+ * dom/Node.cpp:
+ (WebCore::Node::getRect):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::layout):
+ (WebCore::SelectionController::caretRect):
+ * editing/visible_units.cpp:
+ (WebCore::previousLinePosition):
+ (WebCore::nextLinePosition):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::isKeyboardFocusable):
+ (WebCore::HTMLAnchorElement::defaultEventHandler):
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::getRect):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::x):
+ (WebCore::HTMLImageElement::y):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ * html/HTMLInputElement.h:
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::boundingBoxRect):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleDrag):
+ * platform/graphics/FloatPoint.h:
+ (WebCore::roundedIntPoint):
+ * platform/graphics/IntSize.h:
+ (WebCore::IntSize::expand):
+ * rendering/LayoutState.cpp:
+ (WebCore::LayoutState::LayoutState):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::paintObject):
+ (WebCore::RenderBlock::selectionGapRects):
+ (WebCore::RenderBlock::fillBlockSelectionGaps):
+ (WebCore::RenderBlock::nodeAtPoint):
+ (WebCore::RenderBlock::positionForCoordinates):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localToAbsolute):
+ (WebCore::RenderBox::computeAbsoluteRepaintRect):
+ (WebCore::RenderBox::caretRect):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::relativePositionOffset):
+ * rendering/RenderContainer.cpp:
+ (WebCore::RenderContainer::addLineBoxRects):
+ * rendering/RenderFlow.cpp:
+ (WebCore::RenderFlow::absoluteClippedOverflowRect):
+ (WebCore::RenderFlow::caretRect):
+ (WebCore::RenderFlow::addFocusRingRects):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPosition):
+ (WebCore::RenderLayer::convertToLayerCoords):
+ (WebCore::RenderLayer::addScrolledContentOffset):
+ (WebCore::RenderLayer::subtractScrolledContentOffset):
+ (WebCore::RenderLayer::scrollRectToVisible):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::scrolledContentOffset):
+ (WebCore::RenderLayer::relativePositionOffset):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::panScroll):
+ (WebCore::RenderListBox::scrollToward):
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::selectionRect):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::absoluteBoundingBoxRect):
+ (WebCore::RenderObject::computeAbsoluteRepaintRect):
+ (WebCore::RenderObject::localToAbsolute):
+ (WebCore::RenderObject::addDashboardRegions):
+ (WebCore::RenderObject::absoluteContentBox):
+ (WebCore::RenderObject::absoluteOutlineBox):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::localToAbsoluteForContent):
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::updateWidgetPosition):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::selectionRect):
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::absoluteRects):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::localToAbsolute):
+ * rendering/RenderTableCell.h:
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::addLineBoxRects):
+ (WebCore::RenderText::caretRect):
+ (WebCore::RenderText::selectionRect):
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::updatePlayer):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::localToAbsolute):
+ * rendering/RenderView.h:
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::updateWidgetPosition):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::getScreenCTM):
+
+2008-11-03 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add methods for getting and setting user data on History Item.
+ This change is limited to QT port only. Tests were added in
+ the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
+
+ Minor change by Simon: made the functions inline and added a missing
+ const.
+
+ * history/HistoryItem.h:
+
+2008-11-01 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22030
+ Make EventNames usable from multiple threads
+
+ * platform/text/AtomicString.cpp:
+ (WebCore::stringTable):
+ (WebCore::AtomicString::add):
+ (WebCore::AtomicString::remove):
+ (WebCore::AtomicString::find):
+ (WebCore::AtomicString::init):
+ * platform/text/AtomicString.h:
+ Atomic string table is now per-thread. Individual strings cannot be shared between threads,
+ so global AtomicString constants cannot be used from threads other than the main one.
+
+ * dom/EventNames.cpp:
+ (WebCore::EventNames::EventNames):
+ (WebCore::eventNames):
+ (WebCore::EventNames::init):
+ * dom/EventNames.h:
+ Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
+ eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
+ threads.
+
+ * WebCore.base.exp:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ * dom/BeforeTextInsertedEvent.cpp:
+ (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
+ * dom/BeforeUnloadEvent.cpp:
+ (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::dispatchModifiedEvent):
+ * dom/ContainerNode.cpp:
+ (WebCore::dispatchChildInsertionEvents):
+ (WebCore::dispatchChildRemovalEvents):
+ * dom/DedicatedWorker.cpp:
+ (WebCore::DedicatedWorker::dispatchErrorEvent):
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+ (WebCore::Document::setFocusedNode):
+ (WebCore::Document::addListenerTypeIfNeeded):
+ (WebCore::Document::removeWindowInlineEventListenerForType):
+ (WebCore::Document::addWindowEventListener):
+ (WebCore::Document::removeWindowEventListener):
+ (WebCore::Document::finishedParsing):
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::dispatchGenericEvent):
+ (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
+ (WebCore::EventTargetNode::dispatchWindowEvent):
+ (WebCore::EventTargetNode::dispatchUIEvent):
+ (WebCore::EventTargetNode::dispatchSimulatedClick):
+ (WebCore::EventTargetNode::dispatchMouseEvent):
+ (WebCore::EventTargetNode::dispatchFocusEvent):
+ (WebCore::EventTargetNode::dispatchBlurEvent):
+ (WebCore::EventTargetNode::defaultEventHandler):
+ (WebCore::EventTargetNode::on*): (multiple methods)
+ (WebCore::EventTargetNode::setOn*): (multiple methods)
+ * dom/KeyboardEvent.cpp:
+ (WebCore::eventTypeForKeyboardEventType):
+ (WebCore::KeyboardEvent::keyCode):
+ (WebCore::KeyboardEvent::charCode):
+ * dom/MessageEvent.cpp:
+ (WebCore::MessageEvent::MessageEvent):
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::dispatchMessages):
+ (WebCore::MessagePort::dispatchCloseEvent):
+ * dom/MouseEvent.cpp:
+ (WebCore::MouseEvent::isDragEvent):
+ (WebCore::MouseEvent::toElement):
+ (WebCore::MouseEvent::fromElement):
+ * dom/OverflowEvent.cpp:
+ (WebCore::OverflowEvent::OverflowEvent):
+ * dom/TextEvent.cpp:
+ (WebCore::TextEvent::TextEvent):
+ * dom/WebKitAnimationEvent.cpp:
+ (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
+ (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
+ (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
+ (WebCore::WebKitAnimationEvent::animationName):
+ (WebCore::WebKitAnimationEvent::elapsedTime):
+ * dom/WebKitTransitionEvent.cpp:
+ (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
+ (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
+ (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
+ (WebCore::WebKitTransitionEvent::propertyName):
+ (WebCore::WebKitTransitionEvent::elapsedTime):
+ * dom/WheelEvent.cpp:
+ (WebCore::WheelEvent::WheelEvent):
+ (WebCore::WheelEvent::initWheelEvent):
+ * dom/XMLTokenizerLibxml2.cpp:
+ * dom/XMLTokenizerQt.cpp:
+ * editing/DeleteButton.cpp:
+ (WebCore::DeleteButton::defaultEventHandler):
+ * editing/EditCommand.cpp:
+ * editing/Editor.cpp:
+ (WebCore::Editor::canDHTMLCut):
+ (WebCore::Editor::canDHTMLCopy):
+ (WebCore::Editor::canDHTMLPaste):
+ (WebCore::Editor::tryDHTMLCopy):
+ (WebCore::Editor::tryDHTMLCut):
+ (WebCore::Editor::tryDHTMLPaste):
+ (WebCore::dispatchEditableContentChangedEvents):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::ReplacementFragment):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::setFocused):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::defaultEventHandler):
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::parseMappedAttribute):
+ (WebCore::HTMLButtonElement::defaultEventHandler):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseMappedAttribute):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::onChange):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::handleLocalEvents):
+ (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::setValueFromRenderer):
+ (WebCore::HTMLInputElement::preDispatchEventHandler):
+ (WebCore::HTMLInputElement::postDispatchEventHandler):
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ (WebCore::HTMLInputElement::onSearch):
+ * html/HTMLLabelElement.cpp:
+ (WebCore::HTMLLabelElement::defaultEventHandler):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::load):
+ (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
+ (WebCore::HTMLMediaElement::setReadyState):
+ (WebCore::HTMLMediaElement::progressEventTimerFired):
+ (WebCore::HTMLMediaElement::seek):
+ (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
+ (WebCore::HTMLMediaElement::setPlaybackRate):
+ (WebCore::HTMLMediaElement::play):
+ (WebCore::HTMLMediaElement::pause):
+ (WebCore::HTMLMediaElement::setVolume):
+ (WebCore::HTMLMediaElement::setMuted):
+ (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
+ (WebCore::HTMLMediaElement::documentWillBecomeInactive):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseMappedAttribute):
+ * html/HTMLOptionElement.cpp:
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::parseMappedAttribute):
+ (WebCore::HTMLScriptElement::dispatchLoadEvent):
+ (WebCore::HTMLScriptElement::dispatchErrorEvent):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseMappedAttribute):
+ (WebCore::HTMLSelectElement::defaultEventHandler):
+ (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
+ (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ (WebCore::HTMLTextAreaElement::defaultEventHandler):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::notifyFinished):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ (WebCore::FrameLoader::canCachePage):
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageEventListener::handleEvent):
+ * loader/ImageLoader.cpp:
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaDocument::defaultEventHandler):
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::callCheckingListener):
+ (WebCore::DOMApplicationCache::callErrorListener):
+ (WebCore::DOMApplicationCache::callNoUpdateListener):
+ (WebCore::DOMApplicationCache::callDownloadingListener):
+ (WebCore::DOMApplicationCache::callProgressListener):
+ (WebCore::DOMApplicationCache::callUpdateReadyListener):
+ (WebCore::DOMApplicationCache::callCachedListener):
+ * page/AccessibilityObject.cpp:
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::mouseButtonListener):
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::handleContextMenuEvent):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::on*): (multiple methods)
+ (WebCore::DOMWindow::setOn*): (multiple methods)
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ (WebCore::EventHandler::updateDragAndDrop):
+ (WebCore::EventHandler::cancelDragAndDrop):
+ (WebCore::EventHandler::performDragAndDrop):
+ (WebCore::EventHandler::updateMouseEventTargetNode):
+ (WebCore::EventHandler::dispatchMouseEvent):
+ (WebCore::EventHandler::sendContextMenuEvent):
+ (WebCore::EventHandler::canMouseDownStartSelect):
+ (WebCore::EventHandler::canMouseDragExtendSelect):
+ (WebCore::EventHandler::defaultKeyboardEventHandler):
+ (WebCore::EventHandler::dragSourceMovedTo):
+ (WebCore::EventHandler::dragSourceEndedAt):
+ (WebCore::EventHandler::handleDrag):
+ (WebCore::EventHandler::handleTextInputEvent):
+ * page/FocusController.cpp:
+ * page/Frame.cpp:
+ (WebCore::Frame::sendResizeEvent):
+ (WebCore::Frame::sendScrollEvent):
+ * page/Page.cpp:
+ (WebCore::networkStateChanged):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+ (WebCore::AnimationBase::animationTimerCallbackFired):
+ (WebCore::AnimationBase::primeEventTimers):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::onAnimationEnd):
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::onAnimationStart):
+ (WebCore::KeyframeAnimation::onAnimationIteration):
+ (WebCore::KeyframeAnimation::onAnimationEnd):
+ (WebCore::KeyframeAnimation::sendAnimationEvent):
+ * page/gtk/EventHandlerGtk.cpp:
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::isKeyboardOptionTab):
+ * page/mac/FrameMac.mm:
+ * page/qt/EventHandlerQt.cpp:
+ (WebCore::isKeyboardOptionTab):
+ * plugins/PluginView.cpp:
+ * plugins/gtk/PluginViewGtk.cpp:
+ * plugins/qt/PluginViewQt.cpp:
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
+ (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
+ (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
+ (WebCore::MediaControlTimelineElement::defaultEventHandler):
+ (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::userResize):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::valueChanged):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::forwardEvent):
+ * rendering/RenderObject.cpp:
+ * rendering/RenderSlider.cpp:
+ (WebCore::HTMLSliderThumbElement::defaultEventHandler):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::forwardEvent):
+ (WebCore::RenderTextControl::selectionChanged):
+ * rendering/RenderWidget.cpp:
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerTextElement::defaultEventHandler):
+ (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
+ (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
+ * storage/LocalStorageArea.cpp:
+ (WebCore::LocalStorageArea::dispatchStorageEvent):
+ * storage/SessionStorageArea.cpp:
+ (WebCore::SessionStorageArea::dispatchStorageEvent):
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::defaultEventHandler):
+ * svg/SVGDocument.cpp:
+ (WebCore::SVGDocument::dispatchZoomEvent):
+ (WebCore::SVGDocument::dispatchScrollEvent):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::parseMappedAttribute):
+ (WebCore::hasLoadListener):
+ (WebCore::SVGElement::sendSVGLoadEventIfPossible):
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::on*): (multiple methods)
+ (WebCore::SVGElementInstance::setOn*): (multiple methods)
+ * svg/SVGImageLoader.cpp:
+ (WebCore::SVGImageLoader::dispatchLoadEvent):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::parseMappedAttribute):
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::dispatchErrorEvent):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
+ (WebCore::XMLHttpRequest::dispatchAbortEvent):
+ (WebCore::XMLHttpRequest::dispatchErrorEvent):
+ (WebCore::XMLHttpRequest::dispatchLoadEvent):
+ (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
+ (WebCore::XMLHttpRequest::dispatchProgressEvent):
+ * xml/XMLHttpRequestUpload.cpp:
+ (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
+ (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
+ (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
+ (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
+ (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
+ * xml/XPathResult.cpp:
+ (WebCore::XPathResult::XPathResult):
+ (WebCore::XPathResult::~XPathResult):
+ (WebCore::XPathResult::invalidateIteratorState):
+ Access event names via eventNames() function.
+
+2008-11-04 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Delete unused forwarding headers.
+
+ * ForwardingHeaders/kjs/Activation.h: Removed.
+ * ForwardingHeaders/kjs/Register.h: Removed.
+ * ForwardingHeaders/kjs/RegisterID.h: Removed.
+
+2008-11-04 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Fix stupid typo in previous build fix.
+
+ * bindings/js/JSStorageCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+
+2008-11-03 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Fix the build for all non-Mac platforms.
+
+ * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
+ * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
+ * bindings/js/JSStorageCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+
+2008-11-03 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Fix the wxWindows build.
+
+ * bridge/c/c_instance.cpp:
+
+2008-11-03 Cameron Zwarich <zwarich@apple.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Move more files into the runtime subdirectory of JavaScriptCore.
+
+ * ForwardingHeaders/kjs/ArgList.h: Removed.
+ * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
+ * ForwardingHeaders/kjs/ExecState.h: Removed.
+ * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
+ * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
+ * ForwardingHeaders/kjs/JSLock.h: Removed.
+ * ForwardingHeaders/kjs/SymbolTable.h: Removed.
+ * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
+ * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
+ * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
+ * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
+ * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
+ * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
+ * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
+ * bindings/js/GCController.cpp:
+ * bindings/js/JSCustomPositionCallback.cpp:
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ * bindings/js/JSCustomVoidCallback.cpp:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSEventCustom.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSNodeFilterCondition.cpp:
+ * bindings/js/ScheduledAction.cpp:
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/ScriptControllerMac.mm:
+ * bindings/objc/WebScriptObject.mm:
+ * bridge/NP_jsobject.cpp:
+ * bridge/c/c_class.cpp:
+ * bridge/c/c_instance.cpp:
+ * bridge/c/c_runtime.cpp:
+ * bridge/c/c_utility.cpp:
+ * bridge/jni/jni_class.cpp:
+ * bridge/jni/jni_instance.cpp:
+ * bridge/jni/jni_jsobject.mm:
+ * bridge/jni/jni_objc.mm:
+ * bridge/jni/jni_runtime.cpp:
+ * bridge/jni/jni_runtime.h:
+ * bridge/jni/jni_utility.cpp:
+ * bridge/npruntime.cpp:
+ * bridge/objc/objc_instance.mm:
+ * bridge/objc/objc_runtime.mm:
+ * bridge/objc/objc_utility.mm:
+ * bridge/runtime.cpp:
+ * dom/Document.cpp:
+ * dom/Node.cpp:
+ * dom/NodeFilter.cpp:
+ * dom/NodeIterator.cpp:
+ * dom/TreeWalker.cpp:
+ * history/CachedPage.cpp:
+ * inspector/InspectorController.cpp:
+ * inspector/JavaScriptCallFrame.cpp:
+ * inspector/JavaScriptCallFrame.h:
+ * inspector/JavaScriptDebugServer.cpp:
+ * inspector/JavaScriptProfileNode.cpp:
+ * loader/FrameLoader.cpp:
+ * loader/icon/IconDatabase.cpp:
+ * page/Console.cpp:
+ * page/Page.cpp:
+ * page/mac/FrameMac.mm:
+ * plugins/PluginView.cpp:
+ * plugins/gtk/PluginViewGtk.cpp:
+ * plugins/qt/PluginViewQt.cpp:
+ * plugins/win/PluginViewWin.cpp:
+ * storage/Database.cpp:
+ * xml/XMLHttpRequest.cpp:
+
+2008-11-03 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove the forwarding header for FunctionCallProfile, because it was
+ renamed to ProfileNode in r33466.
+
+ * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
+
+2008-11-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=22026
+
+ When computing the bounds of the transparency layer, we need to
+ map the clipRect through the enclosing transform.
+
+ Test: fast/layers/opacity-transforms.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::transparencyClipBox):
+
+2008-11-03 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22053
+
+ Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
+
+ * bridge/npapi.h:
+
+2008-11-03 Xan Lopez <xan@gnome.org>
+
+ Reviewed by Alp Toker.
+
+ Update parseDataUrl() function in the libsoup http backend with
+ the one from the curl backend which has recent correctness and crash
+ fixes.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::parseDataUrl):
+
+2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Alp Toker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22041
+ Fix CURL crashes on the test suite
+
+ Fix segfault with setDefersLoading(). Do not call into curl when we
+ don't have a CURL handle.
+
+ It is attempted to defer the loading before the load has been
+ started (no curl handle was allocated yet). If that happens then
+ just remember that. ResourceHandleManager::startJob is already taking
+ care of this and in initResourceHandle the the downloading will
+ be paused if needed.
+
+ Fixes fast/loader/simultaneous-reloads-assert.html
+
+ * platform/network/curl/ResourceHandleCurl.cpp:
+ (WebCore::ResourceHandle::setDefersLoading):
+
+2008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Alp Toker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22041
+ Fix CURL crashes on the test suite
+
+ Do not send "no data" to WebCore in parseDataUrl().
+
+ Fixes assert on fast/tokenizer/image-empty-crash.html
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::parseDataUrl):
+
+2008-11-02 Xan Lopez <xan@gnome.org>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22009
+ HTML5 Video with GStreamer pulls gnome-vfs without using it
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ Remove gnome-vfs include.
+
+2008-11-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Be sure to check the final URLs of requested resources to make sure we
+ don't get fooled by HTTP redirects.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21963
+
+ Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
+ http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::openFunc):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::canRequest):
+ (WebCore::DocLoader::requestResource):
+ * loader/DocLoader.h:
+ * xml/XSLTProcessor.cpp:
+ (WebCore::docLoaderFunc):
+
+2008-11-01 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22001
+ AtomicStringImpl* keys of event listener maps can outlive their strings
+
+ Test: fast/events/destroyed-atomic-string.html
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::addEventListener):
+ (WebCore::MessagePort::removeEventListener):
+ (WebCore::MessagePort::dispatchEvent):
+ * dom/MessagePort.h:
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::addEventListener):
+ (WebCore::DOMApplicationCache::removeEventListener):
+ (WebCore::DOMApplicationCache::dispatchEvent):
+ * loader/appcache/DOMApplicationCache.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::addEventListener):
+ (WebCore::XMLHttpRequest::removeEventListener):
+ (WebCore::XMLHttpRequest::dispatchEvent):
+ * xml/XMLHttpRequest.h:
+ * xml/XMLHttpRequestUpload.cpp:
+ (WebCore::XMLHttpRequestUpload::addEventListener):
+ (WebCore::XMLHttpRequestUpload::removeEventListener):
+ (WebCore::XMLHttpRequestUpload::dispatchEvent):
+ * xml/XMLHttpRequestUpload.h:
+ Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
+
+2008-10-31 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21998
+ Use JSDOMGlobalObject in EventListener-related bindings
+
+ * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
+ bindings for inline event handlers.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSEventTargetNodeCustom.cpp:
+ (WebCore::JSEventTargetNode::addEventListener):
+ (WebCore::JSEventTargetNode::removeEventListener):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
+
+ * dom/EventTarget.h:
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::scriptExecutionContext):
+ * dom/EventTargetNode.h:
+ * dom/MessagePort.cpp:
+ * dom/MessagePort.h:
+ (WebCore::MessagePort::scriptExecutionContext):
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::scriptExecutionContext):
+ * loader/appcache/DOMApplicationCache.h:
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::scriptExecutionContext):
+ * svg/SVGElementInstance.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::scriptExecutionContext):
+ * xml/XMLHttpRequest.h:
+ * xml/XMLHttpRequestUpload.cpp:
+ (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
+ * xml/XMLHttpRequestUpload.h:
+ Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
+ available yet.
+
+2008-10-31 Cameron Zwarich <zwarich@apple.com>
+
+ Rubber-stamped by Geoff Garen.
+
+ Rename SourceRange.h to SourceCode.h.
+
+ * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
+ * ForwardingHeaders/kjs/SourceRange.h: Removed.
+ * bindings/js/StringSourceProvider.h:
+ * bridge/NP_jsobject.cpp:
+
+2008-10-31 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
+ <https://bugs.webkit.org/show_bug.cgi?id=22019>
+
+ * WebCore.base.exp:
+ * page/Console.cpp:
+ (WebCore::printToStandardOut):
+ (WebCore::Console::shouldPrintExceptions):
+ (WebCore::Console::setShouldPrintExceptions):
+ * page/Console.h:
+
+2008-10-31 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
+
+ * dom/Document.cpp:
+ (WebCore::Document::cookie): Added checking if cookies are disabled.
+ (WebCore::Document::setCookie): Ditto.
+ * page/Navigator.cpp:
+ (WebCore::Navigator::cookieEnabled): Ditto.
+ * page/Page.cpp:
+ (WebCore::Page::Page): Initialize m_cookieEnabled to true.
+ * page/Page.h:
+ (WebCore::Page::cookieEnabled): Added.
+ (WebCore::Page::setCookieEnabled): Added.
+
+2008-10-31 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
+ https://bugs.webkit.org/show_bug.cgi?id=22008
+
+ * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
+ Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
+ * platform/graphics/Icon.h: ditto.
+ * platform/graphics/gtk/IconGtk.cpp:
+ (WebCore::Icon::createIconForFile): ditto.
+ (WebCore::Icon::createIconForFiles): ditto.
+ * platform/graphics/mac/IconMac.mm:
+ (WebCore::Icon::createIconForFile): ditto.
+ (WebCore::Icon::createIconForFiles): ditto.
+ * platform/graphics/qt/IconQt.cpp:
+ (WebCore::Icon::createIconForFile): ditto.
+ (WebCore::Icon::createIconForFiles): ditto.
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (Icon::createIconForFile): ditto.
+ (Icon::createIconForFiles): ditto.
+ * platform/graphics/win/IconWin.cpp:
+ (WebCore::Icon::createIconForFile): ditto.
+ (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
+
+ * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
+ Improve icon creation code to match new code in Icon::createIconForFiles
+
+2008-10-31 Timothy Hatcher <timothy@apple.com>
+
+ Add manual tests that check breakpoints on a blockless body of "for" loops.
+
+ https://bugs.webkit.org/show_bug.cgi?id=22004
+
+ Reviewed by Darin Adler.
+
+ * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
+ * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
+
+2008-10-31 Darin Adler <darin@apple.com>
+
+ - fix build
+
+ * platform/win/WCDataObject.cpp: Added missing include of "config.h".
+
+2008-10-30 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21970
+ Make MessagePort event dispatch work in workers
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
+ (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
+ (WebCore::JSDOMGlobalObject::findJSEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
+ (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
+ (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
+ (WebCore::JSDOMGlobalObject::jsEventListeners):
+ (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
+ (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
+ (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
+ (WebCore::JSDOMGlobalObject::setCurrentEvent):
+ (WebCore::JSDOMGlobalObject::currentEvent):
+ (WebCore::toJSDOMGlobalObject):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
+ (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
+ (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
+ * bindings/js/JSDOMWindowBase.h:
+ Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent):
+ (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
+ (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
+ (WebCore::JSUnprotectedEventListener::globalObject):
+ (WebCore::JSUnprotectedEventListener::clearGlobalObject):
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::~JSEventListener):
+ (WebCore::JSEventListener::globalObject):
+ (WebCore::JSEventListener::clearGlobalObject):
+ (WebCore::JSLazyEventListener::JSLazyEventListener):
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSUnprotectedEventListener::create):
+ (WebCore::JSEventListener::create):
+ (WebCore::JSLazyEventListener::create):
+ Changed to use JSDOMGlobalObject and ScriptExecutionContext.
+
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::startConversation):
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ (WebCore::JSMessagePort::setOnmessage):
+ (WebCore::JSMessagePort::setOnclose):
+ Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
+ such code, and stop using a custom implementation for JSMessagePort inline event handler
+ getters and setters.
+
+ * dom/Document.cpp:
+ (WebCore::Document::virtualURL):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
+ JSLazyEventListener).
+
+2008-10-31 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Speculative wxWindows build fix.
+
+ * webcore-base.bkl:
+
+2008-10-30 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Jon Homeycutt.
+
+ Explicitly default to building for only the native architecture in debug and release builds.
+
+ * Configurations/DebugRelease.xcconfig:
+
+2008-10-30 Cameron Zwarich <zwarich@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Create a debugger directory in JavaScriptCore and move the relevant
+ files to it.
+
+ * ForwardingHeaders/debugger: Added.
+ * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
+ * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
+ * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
+ * ForwardingHeaders/kjs/debugger.h: Removed.
+ * WebCore.pro:
+ * bindings/js/ScriptController.cpp:
+ * inspector/JavaScriptCallFrame.cpp:
+ * inspector/JavaScriptCallFrame.h:
+ * inspector/JavaScriptDebugServer.cpp:
+ * inspector/JavaScriptDebugServer.h:
+
+2008-10-30 Tony Chang <tony@chromium.org>
+
+ Fix 2 Windows theme bugs:
+ 1) Checkboxes marked readonly were rendered incorrectly
+ 2) If a button has focus and is pressed, it was rendered
+ as focused rather than pressed.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21859
+
+ Reviewed by Dave Hyatt.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::determineState):
+ (WebCore::RenderThemeWin::determineButtonState):
+
+2008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
+
+ gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
+ warnings; add some parentheses to disambiguate things. No functional
+ changes, so no tests.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21973
+ Add parentheses to clean up some gcc warnings
+
+ Reviewed by Dan Bernstein.
+
+ * platform/graphics/Font.h:
+ (WebCore::Font::treatAsZeroWidthSpace):
+
+2008-10-30 Aaron Boodman <aa@chromium.org>
+
+ Added an explicit dependency on HashMap.h. It was getting pulled in via
+ <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
+
+ Reviewed by Darin Adler.
+
+ * platform/text/PlatformString.h:
+
+2008-10-30 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Sam Weinig
+
+ https://bugs.webkit.org/show_bug.cgi?id=21967
+
+ For some platforms the GeolocationService must be suspended and resumed.
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
+ (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
+ (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
+ (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
+ * page/Geolocation.h:
+ (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
+ * platform/GeolocationService.h:
+ (WebCore::GeolocationService::suspend): empty implementation
+ (WebCore::GeolocationService::resume): empty implementation
+
+2008-10-30 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Sam Weinig
+
+ https://bugs.webkit.org/show_bug.cgi?id=21966
+
+ The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
+ http://dev.w3.org/geo/api/spec-source.html
+
+ * page/Geolocation.cpp:
+ (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
+ * page/Geoposition.cpp: velocity is now called speed
+ (WebCore::Geoposition::toString):
+ * page/Geoposition.h: velocity is now called speed
+ (WebCore::Geoposition::create):
+ (WebCore::Geoposition::speed):
+ (WebCore::Geoposition::Geoposition):
+ * page/Geoposition.idl: velocity is now called speed
+ * page/PositionOptions.h: timeout is now unsigned
+ (WebCore::PositionOptions::create):
+ (WebCore::PositionOptions::timeout):
+ (WebCore::PositionOptions::setTimeout):
+ (WebCore::PositionOptions::PositionOptions):
+ * page/PositionOptions.idl: timeout is now unsigned long
+
+2008-10-30 Justin Garcia <justin.garcia@apple.com>
+
+ Also handle preserved newlines.
+
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply):
+
+2008-10-30 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
+
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply):
+ Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
+ needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
+ Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
+ we now use visiblePos (in order to avoid VisiblePosition creation).
+ Set pos after we delete the current selection (if there is one), and be consistent about what we set
+ pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
+ ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
+ in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
+ where the caret is between text and a br work correctly.
+
+2008-10-30 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Fix the Qt build.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21969
+
+ * inspector/front-end/WebKit.qrc:
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::ImageBuffer::context):
+ (WebCore::ImageBuffer::image):
+ (WebCore::ImageBuffer::toDataURL):
+
+2008-10-30 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ More preparation for:
+ <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
+
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
+ startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
+ This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
+ doesn't really fix a bug, since we can't really get into a situation where we move to a different
+ topBlockquote, but it simplifies the code.
+
+2008-10-30 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Alp Toker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21883
+ [CAIRO] globalAlpha has to be stored and restored
+
+ Cairo's globalAlpha has to be stored and reloaded on calling
+ save() and restore(). We use the power of GraphicsContextState for this.
+
+ * platform/graphics/GraphicsContextPrivate.h:
+ (WebCore::GraphicsContextState::GraphicsContextState):
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::setAlpha):
+ (WebCore::GraphicsContext::getAlpha):
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+
+2008-10-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Rename "attachedToEventTargetNode" to "isInline".
+
+ Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
+ XMLHttpRequest, MessagePort et al.
+
+ Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
+ attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
+ And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
+ "inlineEventListenerForType", as they work with inline listeners.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::setOnmessage):
+ (WebCore::JSMessagePort::setOnclose):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ Pass a correct value for this argument - callers used to be confused, because they didn't
+ consider themselves event target nodes. This doesn't affect behavior however, as the only
+ difference between inline and non-inline event handlers is that the former treat
+ "return false" as "event.preventDefault()", which is not important to any of these objects.
+
+ * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
+ Assert that isInline is true instead of checking its value, as the constructor of this class
+ always sets it to true.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
+ (WebCore::JSDOMWindowBase::findJSEventListener):
+ (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
+ (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
+ (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
+ (WebCore::JSDOMWindowBase::jsInlineEventListeners):
+ (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent):
+ (WebCore::JSAbstractEventListener::isInline):
+ (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
+ (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::~JSEventListener):
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSAbstractEventListener::JSAbstractEventListener):
+ (WebCore::JSUnprotectedEventListener::create):
+ (WebCore::JSEventListener::create):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::createInlineEventHandler):
+ * bindings/js/ScriptController.h:
+ * dom/Document.cpp:
+ (WebCore::Document::setWindowInlineEventListenerForType):
+ (WebCore::Document::windowInlineEventListenerForType):
+ (WebCore::Document::removeWindowInlineEventListenerForType):
+ (WebCore::Document::createEventListener):
+ (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
+ * dom/Document.h:
+ * dom/EventListener.h:
+ (WebCore::EventListener::isInline):
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::removeInlineEventListenerForType):
+ (WebCore::EventTargetNode::setInlineEventListenerForType):
+ (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
+ (WebCore::EventTargetNode::inlineEventListenerForType):
+ (WebCore::EventTargetNode::on*): (many methods)
+ (WebCore::EventTargetNode::setOn*): (many methods)
+ * dom/EventTargetNode.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::setInlineEventListenerForType):
+ (WebCore::DOMWindow::inlineEventListenerForType):
+ (WebCore::DOMWindow::on*): (many methods)
+ (WebCore::DOMWindow::setOn*): (many methods)
+ * page/DOMWindow.h:
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::parseMappedAttribute):
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::on*): (many methods)
+ (WebCore::SVGElementInstance::setOn*): (many methods)
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::parseMappedAttribute):
+ Rename things, as described above.
+
+2008-10-29 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed and slightly changed by Holger Freyther.
+
+ Added all the files that need to be installed for the Inspector to
+ work.
+
+ * GNUmakefile.am: Invoke the shell to get the files.
+
+2008-10-29 Andrew Scherkus <scherkus@chromium.org>
+
+ Reviewed by Darin Adler
+
+ Add MediaPlayerPrivateChromium to MediaPlayer
+ https://bugs.webkit.org/show_bug.cgi?id=21930
+
+ * platform/graphics/MediaPlayer.cpp:
+
+2008-10-29 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Some preparation for:
+ <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
+
+ Added an early return to avoid a level of if-nesting. No other changes. We probably don't
+ need to rebalance whitespace before the early return but for now don't risk any change in behavior
+ I'll revisit that later.
+
+ * editing/BreakBlockquoteCommand.cpp:
+ (WebCore::BreakBlockquoteCommand::doApply):
+
+2008-10-29 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes after addition of runtime and ImageBuffer changes.
+
+ * platform/graphics/wx/ImageBufferData.h: Added.
+ * platform/graphics/wx/ImageBufferWx.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::ImageBuffer::context):
+ * webcore-base.bkl:
+
+2008-10-29 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Darin Adler
+ https://bugs.webkit.org/attachment.cgi?id=24745
+
+ Allow Skia implementations to get text style changed notifications.
+
+ * platform/graphics/GraphicsContext.cpp:
+
+2008-10-29 Timothy Hatcher <timothy@apple.com>
+
+ Add a manual test that checks breakpoints on a blockless body of
+ an "else" statement.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21944
+
+ Reviewed by Maciej Stachowiak.
+
+ * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
+
+2008-10-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21921
+ MessagePort messages are dispatched to documents that are not fully active
+
+ Covered by corrected fast/events/message-port-inactive-document.html
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
+ that are not fully active.
+
+2008-10-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21922
+ Expose MessagePort global constructor
+
+ Covered by existing dumper tests.
+
+ * dom/MessagePort.idl:
+ * page/DOMWindow.idl:
+
+2008-10-29 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21924
+ HashTable internal index is not always deleted
+
+ * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+ Call deleteTable for HashTables that are being deleted.
+
+2008-10-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21923
+ Create an abstraction for script execution context
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ Added ScriptExecutionContext.{h,cpp}.
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSAudioConstructor.h:
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageConstructor.h:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSOptionConstructor.h:
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
+ Since these objects can only work within documents now, it is immediately converted back
+ to Document.
+
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ (WebCore::JSMessageChannelConstructor::construct):
+ * bindings/js/JSMessageChannelConstructor.h:
+ (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
+ MessageChannel needs to be supported in workers right away, so the constructor operates with
+ it directly.
+
+ * dom/ActiveDOMObject.cpp:
+ (WebCore::ActiveDOMObject::ActiveDOMObject):
+ (WebCore::ActiveDOMObject::~ActiveDOMObject):
+ (WebCore::ActiveDOMObject::contextDestroyed):
+ * dom/ActiveDOMObject.h:
+ (WebCore::ActiveDOMObject::scriptExecutionContext):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markActiveObjectsForContext):
+ (WebCore::markCrossHeapDependentObjectsForContext):
+ Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
+ tracking is handled by ScriptExecutionContext.
+
+ * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
+
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
+ Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
+ to worker context implementation.
+ (WebCore::scriptExecutionContext): Added a pure virtual method to access
+ ScriptExecutionContext, implemented by subclasses.
+
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
+ Implement by returning the associated document. Note that this method currently gives bogus
+ results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
+ that is currently in the frame, not the one associated with this window.
+
+ * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
+
+ * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
+ Call markActiveObjectsForContext() by its new name.
+
+ * dom/DedicatedWorker.cpp:
+ (WebCore::DedicatedWorker::DedicatedWorker):
+ (WebCore::DedicatedWorker::document):
+ * dom/DedicatedWorker.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::document):
+ * xml/XMLHttpRequest.h:
+ Added a document() function that upcasts ScriptExecutionContext, as these objects only work
+ within documents currently (at least for XMLHttpRequest, this will change soon though).
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::~Document):
+ Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
+ with workers.
+
+ * dom/Document.h:
+ (WebCore::Document::isDocument):
+ (WebCore::Document::refScriptExecutionContext):
+ (WebCore::Document::derefScriptExecutionContext):
+ Inherit from ScriptExecutionContext.
+
+ * dom/MessageChannel.cpp:
+ (WebCore::MessageChannel::MessageChannel):
+ * dom/MessageChannel.h:
+ (WebCore::MessageChannel::create):
+ Use ScriptExecutionContext instead of Document.
+
+ * dom/MessagePort.cpp:
+ (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
+ MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
+ unrelated issue that was causing random crashes in layout tests).
+ (WebCore::MessagePort::MessagePort):
+ (WebCore::MessagePort::~MessagePort):
+ (WebCore::MessagePort::associatedFrame):
+ (WebCore::MessagePort::clone):
+ (WebCore::MessagePort::postMessage):
+ (WebCore::MessagePort::startConversation):
+ (WebCore::MessagePort::start):
+ (WebCore::MessagePort::contextDestroyed):
+ (WebCore::MessagePort::dispatchMessages):
+ * dom/MessagePort.h:
+ (WebCore::MessagePort::create):
+ (WebCore::MessagePort::scriptExecutionContext):
+ Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
+ work in worker contexts - we need to also make some its method thread safe for cross-thread
+ messaging, and make event dispatching thread safe.
+
+ * dom/ScriptExecutionContext.cpp: Added.
+ * dom/ScriptExecutionContext.h: Added.
+ ActiveDOMObject and MessagePort tracking is moved from Document.
+ It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
+ but as I'm just moving Document code, and it is Document that is the main context object
+ in our implementation currently.
+ Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
+ seem non-trivial to fix, and isn't really a part of this task.
+
+2008-10-28 Alp Toker <alp@nuanti.com>
+
+ List newly-added ImageBufferData.h in build system.
+
+ * GNUmakefile.am:
+
+2008-10-28 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Cameron Zwarich.
+
+ De-list unused WebCore ForwardingHeaders to fix the dist target.
+
+ * GNUmakefile.am:
+
+2008-10-28 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Attempt to fix the Windows build by generating Forwardingheaders for the
+ runtime directory in JavaScriptCore.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-10-28 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
+ (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
+ will probably require a change more complicated than just marking the learned word as
+ misspelled. I'll address it with a separate patch.
+ * editing/EditorCommand.cpp:
+ (WebCore::executeIgnoreSpelling): Added.
+ (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
+
+2008-10-28 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Move ForwardingHeaders to their correct location after the creation of
+ the runtime directory in JavaScriptCore.
+
+ * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
+ * ForwardingHeaders/kjs/BooleanObject.h: Removed.
+ * ForwardingHeaders/kjs/CallData.h: Removed.
+ * ForwardingHeaders/kjs/ConstructData.h: Removed.
+ * ForwardingHeaders/kjs/DateInstance.h: Removed.
+ * ForwardingHeaders/kjs/Error.h: Removed.
+ * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
+ * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
+ * ForwardingHeaders/kjs/InternalFunction.h: Removed.
+ * ForwardingHeaders/kjs/JSArray.h: Removed.
+ * ForwardingHeaders/kjs/JSFunction.h: Removed.
+ * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
+ * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
+ * ForwardingHeaders/kjs/JSObject.h: Removed.
+ * ForwardingHeaders/kjs/JSString.h: Removed.
+ * ForwardingHeaders/kjs/JSValue.h: Removed.
+ * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
+ * ForwardingHeaders/kjs/PropertyMap.h: Removed.
+ * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
+ * ForwardingHeaders/kjs/StringObject.h: Removed.
+ * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
+ * ForwardingHeaders/kjs/StringPrototype.h: Removed.
+ * ForwardingHeaders/kjs/StructureID.h: Removed.
+ * ForwardingHeaders/runtime: Added.
+ * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
+ * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
+ * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
+ * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
+ * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
+ * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
+ * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
+ * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
+ * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
+ * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
+ * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
+ * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
+ * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
+ * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
+ * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
+ * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
+ * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
+ * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
+ * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
+ * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
+ * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
+ * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
+ * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ * bindings/js/JSClipboardCustom.cpp:
+ * bindings/js/JSConsoleCustom.cpp:
+ * bindings/js/JSCustomPositionCallback.h:
+ * bindings/js/JSCustomPositionErrorCallback.h:
+ * bindings/js/JSCustomSQLStatementCallback.h:
+ * bindings/js/JSCustomSQLStatementErrorCallback.h:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.h:
+ * bindings/js/JSCustomVoidCallback.h:
+ * bindings/js/JSCustomXPathNSResolver.h:
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDOMWindowShell.cpp:
+ * bindings/js/JSDatabaseCustom.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventTarget.h:
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * bindings/js/JSHistoryCustom.cpp:
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ * bindings/js/JSLocationCustom.cpp:
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ * bindings/objc/WebScriptObject.mm:
+ * bindings/objc/WebScriptObjectPrivate.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+ * bridge/c/c_instance.cpp:
+ * bridge/c/c_utility.cpp:
+ * bridge/c/c_utility.h:
+ * bridge/jni/jni_instance.cpp:
+ * bridge/jni/jni_jsobject.h:
+ * bridge/jni/jni_jsobject.mm:
+ * bridge/jni/jni_runtime.cpp:
+ * bridge/jni/jni_utility.cpp:
+ * bridge/jni/jni_utility.h:
+ * bridge/objc/objc_instance.mm:
+ * bridge/objc/objc_runtime.h:
+ * bridge/objc/objc_runtime.mm:
+ * bridge/objc/objc_utility.h:
+ * bridge/objc/objc_utility.mm:
+ * bridge/runtime.h:
+ * bridge/runtime_array.cpp:
+ * bridge/runtime_array.h:
+ * bridge/runtime_method.cpp:
+ * bridge/runtime_method.h:
+ * bridge/runtime_object.cpp:
+ * bridge/runtime_object.h:
+ * bridge/runtime_root.cpp:
+ * inspector/JavaScriptCallFrame.cpp:
+ * inspector/JavaScriptProfile.cpp:
+ * inspector/JavaScriptProfile.h:
+ * inspector/JavaScriptProfileNode.cpp:
+ * inspector/JavaScriptProfileNode.h:
+ * loader/FrameLoader.cpp:
+ * page/Console.cpp:
+ * plugins/PluginView.cpp:
+ * plugins/gtk/PluginViewGtk.cpp:
+ * plugins/qt/PluginViewQt.cpp:
+ * plugins/win/PluginViewWin.cpp:
+
+2008-10-28 Adele Peterson <adele@apple.com>
+
+ Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-10-28 Adele Peterson <adele@apple.com>
+
+ Windows build fix.
+
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::create):
+
+2008-10-28 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Roll out a mistaken attempt at fixing the GTK build in r37947.
+
+ * GNUmakefile.am:
+
+2008-10-28 Adele Peterson <adele@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
+ "files" string for multifile uploads needs to be localized
+
+ * page/mac/WebCoreViewFactory.h:
+ * platform/LocalizedStrings.h:
+ * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
+ * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
+ * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
+ * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
+ * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
+ * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
+
+2008-10-28 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21816
+
+ Remove platform ifdefs in ImageBuffer.h by moving platform specific code
+ into a new PlatformImageBuffer class. Move the static create function
+ into the header because it can be cross-platform. Initialization now
+ happens in the cunstructor which sets a flag that create uses to know
+ whether it should return null or not. I also made passing of IntSize
+ more consistent (always by reference).
+
+ This change also changes the ifdefs in GraphicsContext to allow Skia
+ ports to implement text drawing modes.
+
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::create):
+ (WebCore::ImageBuffer::size):
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::ImageBuffer::~ImageBuffer):
+ (WebCore::ImageBuffer::image):
+ (WebCore::ImageBuffer::getImageData):
+ (WebCore::ImageBuffer::putImageData):
+ * platform/graphics/cairo/ImageBufferData.h:
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::ImageBuffer::~ImageBuffer):
+ (WebCore::ImageBuffer::getImageData):
+ (WebCore::ImageBuffer::putImageData):
+ * platform/graphics/cg/ImageBufferData.h:
+ * platform/graphics/qt/ImageBufferData.h:
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBufferData::ImageBufferData):
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::ImageBuffer::~ImageBuffer):
+
+2008-10-28 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Fix the GTK build.
+
+ * GNUmakefile.am:
+
+2008-10-28 Cameron Zwarich <zwarich@apple.com>
+
+ Not reviewed.
+
+ Another Qt build fix.
+
+ * WebCore.pro:
+
+2008-10-28 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21932
+ Add non-pointer constant lookups to SoftLinking.h
+
+ * platform/mac/SoftLinking.h:
+
+2008-10-28 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=2192
+ Missing semi-colons in Geoposition.idl
+
+ * page/Geoposition.idl: Add missing semi-colons
+
+2008-10-28 Timothy Hatcher <timothy@apple.com>
+
+ Make the Profiles panel in the Web Inspector have an enable screen.
+ Profiling now needs to be enabled before console.profile() works.
+
+ <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
+ not slow down JavaScript all the time
+
+ Reviewed by Darin Adler and Kevin McCullough.
+
+ * English.lproj/localizedStrings.js: New strings.
+ * WebCore.base.exp: New and changed exports.
+ * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
+ Timer to call InspectorController::startUserInitiatedProfiling.
+ (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
+ that calls InspectorController::startUserInitiatedProfiling.
+ (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
+ and enable the profiler if the profiler was not enabled.
+ (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
+ (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
+ if the skipRecompile argument is false. Call the profilerWasEnabled script function.
+ (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
+ Call the profilerWasEnabled script function.
+ (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
+ so it won't be started later.
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
+ * inspector/front-end/Images/debuggingButtons.png: Remove.
+ * inspector/front-end/Images/enableButtons.png: Added.
+ * inspector/front-end/Images/profilesSilhouette.png: Added.
+ * inspector/front-end/Images/scriptsSilhouette.png: Added.
+ * inspector/front-end/PanelEnablerView.js: Added.
+ (WebInspector.PanelEnablerView):
+ (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
+ event so listeners can do their thing.
+ (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
+ (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
+ (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
+ (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
+ (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
+ (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
+ (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
+ show/hide other buttons. Also show/hide the PanelEnablerView.
+ (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
+ (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
+ disableProfiler or enableProfiler.
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
+ debuggingButton with the enableToggleButton.
+ (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
+ the enableToggleButton.
+ (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
+ when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
+ with the enableToggleButton.
+ (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
+ since reset is called from debuggerWasEnabled and debuggerWasDisabled.
+ * inspector/front-end/View.js: Inherit from WebInspector.Object.
+ * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
+ * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
+ * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
+ * inspector/front-end/inspector.js:
+ (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
+ (WebInspector.profilerWasDisabled): Ditto.
+ * page/Console.cpp:
+ (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
+ (WebCore::Console::info): Ditto.
+ (WebCore::Console::log): Ditto.
+ (WebCore::Console::assertCondition): Ditto.
+ (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
+ (WebCore::Console::count): Ditto.
+ (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
+ (WebCore::Console::profileEnd): Ditto.
+ (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
+ (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
+ Now just sets the member boolean.
+ * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
+
+2008-10-28 Timothy Hatcher <timothy@apple.com>
+
+ Rename a few methods related to attaching and detaching the debugger. Also
+ adds stub methods for enabling and disabling the profiler.
+
+ * Rename attachDebugger to enableDebugger.
+ * Rename detachDebugger to disableDebugger.
+ * Rename the debuggerAttached getter to debuggerEnabled.
+ * Rename the debuggerAttached callback to debuggerWasEnabled.
+ * Rename the debuggerDetached callback to debuggerWasDisabled.
+
+ Reviewed by Darin Adler.
+
+ * WebCore.base.exp:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::enableProfiler):
+ (WebCore::InspectorController::disableProfiler):
+ (WebCore::InspectorController::enableDebugger):
+ (WebCore::InspectorController::disableDebugger):
+ (WebCore::InspectorController::pauseInDebugger):
+ (WebCore::InspectorController::resumeDebugger):
+ (WebCore::InspectorController::stepOverStatementInDebugger):
+ (WebCore::InspectorController::stepIntoStatementInDebugger):
+ (WebCore::InspectorController::stepOutOfFunctionInDebugger):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::profilerEnabled):
+ (WebCore::InspectorController::debuggerEnabled):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
+ * inspector/front-end/Object.js:
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.get statusBarItems):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
+ (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
+ (WebInspector.ScriptsPanel.prototype.reset):
+ (WebInspector.ScriptsPanel.prototype.canShowResource):
+ (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
+ (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
+ (WebInspector.ScriptsPanel.prototype._toggleDebugging):
+ * inspector/front-end/View.js:
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.addResource):
+ (WebInspector.debuggerWasEnabled):
+ (WebInspector.debuggerWasDisabled):
+
+2008-10-28 Timothy Hatcher <timothy@apple.com>
+
+ Fix an exception when searching the Resources panel while there
+ and resources queued to be added to the list.
+
+ Reviewed by Kevin McCullough.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
+ the _resourcesTreeElement property.
+ (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
+
+2008-10-28 Alp Toker <alp@nuanti.com>
+
+ GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
+ isn't defined.
+
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::getDefaultPangoLayout):
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+
+2008-10-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21893
+ Character set is incorrect for external scripts in XHTML pages
+
+ <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
+
+ Test: fast/encoding/external-script-charset.xhtml
+
+ Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
+
+ * dom/ScriptElement.h:
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::endElementNs):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::parseEndElement):
+ * html/HTMLScriptElement.h:
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::scriptCharset):
+ * svg/SVGScriptElement.h:
+
+2008-10-28 Alp Toker <alp@nuanti.com>
+
+ Include copyright license files in the autotools dist target and
+ exclude unused zlib headers.
+
+ Change suggested by Mike Hommey.
+
+ * GNUmakefile.am:
+
+2008-10-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Clear the window shell when destroying a page to allow documents
+ which have no way of being reached anymore, to be torn down.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::pageDestroyed):
+
+2008-10-27 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Update the active state as well as the focused state as both need to be true
+ for the caret to be drawn.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21900
+
+ * WebView.cpp:
+ (wxWebView::OnSetFocus):
+ (wxWebView::OnKillFocus):
+
+2008-10-27 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
+
+ * webcore-wx.bkl:
+
+2008-10-27 Michael Knaup <michael.knaup@mac.com>
+
+ Reviewed and tweaked by Darin Adler.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=8988
+
+ Bug 8988: Add support for Mozilla CSS custom cursors.
+ Added -webkit-grab and -webkit-grabbing cursor suppport
+ for the Mac, dummy implementations for other platforms.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Updated since the
+ -webkit-grabbing cursor is now the last one.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
+ CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
+
+ * css/CSSValueKeywords.in: Added -webkit-grab and
+ -webkit-grabbing.
+
+ * manual-tests/cursor.html: Added -webkit-zoom-in,
+ webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::selectCursor): Added
+ CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
+
+ * platform/Cursor.h: Added grabCursor and grabbingCursor.
+
+ * platform/gtk/CursorGtk.cpp:
+ (WebCore::grabCursor): Added.
+ (WebCore::grabbingCursor): Added.
+ * platform/mac/CursorMac.mm:
+ (WebCore::grabCursor): Added.
+ (WebCore::grabbingCursor): Added.
+ * platform/qt/CursorQt.cpp:
+ (WebCore::grabCursor): Added.
+ (WebCore::grabbingCursor): Added.
+ * platform/win/CursorWin.cpp:
+ (WebCore::grabCursor): Added.
+ (WebCore::grabbingCursor): Added.
+ * platform/wx/CursorWx.cpp:
+ (WebCore::grabCursor): Added.
+ (WebCore::grabbingCursor): Added.
+
+ * rendering/style/RenderStyleConstants.h:
+ Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
+ Also broke ECursor out into a single constant per line.
+ Also added a couple of comments.
+
+2008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ * svg/SVGAnimatedTemplate.h: needed a HashMap define
+
+2008-10-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
+ https://bugs.webkit.org/show_bug.cgi?id=20400
+
+ Test: svg/custom/stop-crash.svg
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderSVGGradientStop.h:
+ (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
+
+2008-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ No need to call release if the connection is null.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+
+2008-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
+
+ Make sure to null check the NSURLConnection object.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+ (WebCore::ResourceHandle::setDefersLoading):
+
+2008-10-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Fix non-Mac builds.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCoreSources.bkl:
+ Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
+
+2008-10-26 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21886
+ window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
+
+ Test: fast/dom/HTMLOptionElement/option-prototype.html
+
+ We now have separate objects for window.Option and window.HTMLOptionElement - the latter
+ "constructor" cannot be used to construct anything. This matches Firefox behavior.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (jsDOMWindowBaseOption):
+ * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
+ * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
+ * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
+ * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
+ * html/HTMLOptionElement.idl:
+ Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
+
+ * html/HTMLOptionElement.idl: Generate a constructor.
+
+2008-10-25 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try to fix Mac debug build on the buildbot.
+
+ * platform/FileChooser.cpp:
+ (WebCore::FileChooserClient::~FileChooserClient):
+ * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
+ weak exported symbol.
+
+2008-10-25 Jade Han <jade.han@nokia.com>
+
+ Reviewed by Anders.
+
+ Enable custom properties for Qt runtime objects in QtWebKit
+
+ https://bugs.webkit.org/show_bug.cgi?id=21813
+
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::getOwnPropertySlot):
+ (JSC::RuntimeObjectImp::put):
+
+2008-10-24 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * page/Chrome.cpp:
+ * page/Chrome.h:
+
+2008-10-24 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * platform/qt/FileChooserQt.cpp:
+
+2008-10-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=21759
+ Layering violation: FileChooser should not depend on Document/Frame/Page
+
+ Move file choosing into WebKit ChromeClient.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::runOpenPanel):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::runOpenPanel):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/mac/ChromeMac.mm:
+ * platform/FileChooser.h:
+ * platform/mac/FileChooserMac.mm:
+ * platform/qt/FileChooserQt.cpp:
+ * platform/win/FileChooserWin.cpp:
+ * platform/wx/TemporaryLinkStubs.cpp:
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::click):
+
+2008-10-24 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix - add newIconForFiles stub.
+
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (Icon::newIconForFiles):
+
+2008-10-24 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier.
+
+ Use the CGFont metrics APIs for more accurate measurements, and tweak the y
+ value the text is drawn at (it was a couple pixels off before because wx
+ internally adds to the y value.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21853
+
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp:
+ (wxFontProperties::wxFontProperties):
+ * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
+ (WebCore::drawTextWithSpacing):
+
+2008-10-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Generate missing constructors and add test to prevent missing ones in the future
+ https://bugs.webkit.org/show_bug.cgi?id=21846
+
+ Test: fast/js/global-constructors.html
+
+ * css/CSSStyleSheet.idl:
+ * css/RGBColor.idl:
+ * dom/NodeIterator.idl:
+ * dom/TreeWalker.idl:
+ * xml/XPathExpression.idl:
+
+2008-10-24 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21836
+ REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
+
+ Test: http/tests/xmlhttprequest/detaching-frame.html
+
+ * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
+ even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
+ when dispatching the same callback that results in this function being called.
+
+2008-10-24 David Kilzer <ddkilzer@apple.com>
+
+ Gtk build fix.
+
+ * platform/gtk/TemporaryLinkStubs.cpp:
+ (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
+
+2008-10-24 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::setImageInterpolationQuality):
+ (WebCore::GraphicsContext::imageInterpolationQuality):
+
+2008-10-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/5440917> Support NPN_Construct
+
+ * WebCore.NPAPI.exp:
+ Export _NPN_Construct.
+
+ * bridge/NP_jsobject.cpp:
+ (_NPN_Construct):
+ Implement this.
+
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::supportsConstruct):
+ (JSC::Bindings::CInstance::invokeConstruct):
+ Have this call the appropriate NPClass method.
+
+ * bridge/npruntime.h:
+ Add NPN_Construct.
+
+ * bridge/npruntime_impl.h:
+ Add _NPN_Construct.
+
+ * bridge/runtime.h:
+ (JSC::Bindings::Instance::supportsConstruct):
+ (JSC::Bindings::Instance::invokeConstruct):
+ New methods.
+
+ * bridge/runtime_object.cpp:
+ (JSC::callRuntimeConstructor):
+ Call the native instance.
+
+ (JSC::RuntimeObjectImp::getConstructData):
+ Implement this.
+
+ * bridge/runtime_object.h:
+ Add new method declarations.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::load):
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::load):
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load):
+ Initialize m_pluginFuncs.construct.
+
+2008-10-24 Adele Peterson <adele@apple.com>
+
+ Build fix.
+
+ * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
+ * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
+
+2008-10-24 Greg Bolsinga <bolsinga@apple.com>
+
+ Fix GTK build break.
+
+ Reviewed by David Kilzer.
+
+ * GNUmakefile.am: Do not include .idl files whose generated files should not be
+ compiled.
+
+2008-10-24 David Kilzer <ddkilzer@apple.com>
+
+ Wx build fix.
+
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
+
+2008-10-24 Adele Peterson <adele@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
+
+ This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
+ This is consistent with the direction HTML5 will be going in the future.
+
+ The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
+ the individual files in a tooltip for now. Improvements to this control will come later.
+
+ Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.
+ These FileList Files can also be sent in an XMLHTTPRequest.
+
+ * manual-tests/post-multi-file-upload.html: Added.
+ * manual-tests/resources/multiFileResources: Added.
+ * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
+ * manual-tests/resources/multiFileResources/testFile1.html: Added.
+ * manual-tests/resources/multiFileResources/testFile2.html: Added.
+ * manual-tests/resources/multiFileResources/testFile3.html: Added.
+
+ * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
+ (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
+ but we don't want to break the behavior for existing websites that may rely on this.
+ (WebCore::HTMLInputElement::setValue): ditto.
+ (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
+ (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
+ * html/HTMLInputElement.h:
+
+ * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
+
+ * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
+
+ * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
+ (WebCore::FileChooser::FileChooser):
+ (WebCore::FileChooser::create):
+ (WebCore::FileChooser::clear):
+ (WebCore::FileChooser::chooseFile):
+ (WebCore::FileChooser::chooseFiles):
+ (WebCore::FileChooser::chooseIcon):
+ * platform/FileChooser.h:
+ (WebCore::FileChooser::filePaths):
+ (WebCore::FileChooser::allowsMultipleFiles):
+
+ * platform/graphics/Icon.h:
+ * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
+ * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
+ * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
+ * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
+
+ * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
+ * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
+ * platform/qt/FileChooserQt.cpp:
+ (WebCore::FileChooser::openFileChooser):
+ (WebCore::FileChooser::basenameForWidth):
+ * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
+
+ * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
+ Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
+ both get called for the same ResourceHandle. This getting called twice has no negative effect.
+
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
+ (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
+ (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
+ (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
+ * rendering/RenderFileUploadControl.h:
+
+2008-10-23 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21844
+ Remove setFocusRingColorChangeFunction.
+
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * platform/graphics/Color.h:
+ * platform/graphics/mac/ColorMac.mm:
+ (WebCore::focusRingColor):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ * platform/graphics/win/ColorSafari.cpp:
+
+2008-10-24 David Kilzer <ddkilzer@apple.com>
+
+ Build fix for Qt.
+
+ Reviewed by Greg.
+
+ * WebCore.pro: Added missing *.idl files.
+
+2008-10-24 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21475
+
+ Provide support for the Geolocation API
+
+ http://dev.w3.org/geo/api/spec-source.html
+
+ Test: geolocation/geolocation-not-implemented.html
+
+ * DerivedSources.make:
+ * GNUmakefile.am: Added Geolocation support
+ * WebCore.pro: Added Geolocation support
+ * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
+ * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
+ * WebCoreSources.bkl: Added Geolocation support
+ * bindings/js/JSCustomPositionCallback.cpp: Added.
+ (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionCallback.h: Added.
+ (WebCore::JSCustomPositionCallback::create):
+ * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
+ (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.h: Added.
+ (WebCore::JSCustomPositionErrorCallback::create):
+ * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
+ (WebCore::markDOMObjectWrapper):
+ * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
+ * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
+ * bindings/js/JSGeolocationCustom.cpp: Added.
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
+ * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
+ (WebCore::JSNavigator::mark):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (WebCore::Document::setUsingGeolocation):
+ (WebCore::Document::usingGeolocation):
+ * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
+ (WebCore::FrameLoader::canCachePage):
+ * page/Geolocation.cpp: Added.
+ (WebCore::Geolocation::GeoNotifier::GeoNotifier):
+ (WebCore::Geolocation::GeoNotifier::timerFired):
+ (WebCore::Geolocation::Geolocation):
+ (WebCore::Geolocation::disconnectFrame):
+ (WebCore::Geolocation::getCurrentPosition):
+ (WebCore::Geolocation::watchPosition):
+ (WebCore::Geolocation::clearWatch):
+ (WebCore::Geolocation::stopUpdatingIfEmpty):
+ (WebCore::Geolocation::sendErrorToOneShots):
+ (WebCore::Geolocation::sendErrorToWatchers):
+ (WebCore::Geolocation::sendPositionToOneShots):
+ (WebCore::Geolocation::sendPositionToWatchers):
+ (WebCore::Geolocation::handleError):
+ (WebCore::Geolocation::geolocationServicePositionChanged):
+ (WebCore::Geolocation::geolocationServiceErrorOccurred):
+ * page/Geolocation.h: Added.
+ (WebCore::Geolocation::create):
+ (WebCore::Geolocation::~Geolocation):
+ (WebCore::Geolocation::lastPosition):
+ (WebCore::Geolocation::GeoNotifier::create):
+ * page/Geolocation.idl: Added.
+ * page/Geoposition.cpp: Added.
+ (WebCore::Geoposition::toString):
+ * page/Geoposition.h: Added.
+ (WebCore::Geoposition::create):
+ (WebCore::Geoposition::latitude):
+ (WebCore::Geoposition::longitude):
+ (WebCore::Geoposition::altitude):
+ (WebCore::Geoposition::accuracy):
+ (WebCore::Geoposition::altitudeAccuracy):
+ (WebCore::Geoposition::heading):
+ (WebCore::Geoposition::velocity):
+ (WebCore::Geoposition::timestamp):
+ (WebCore::Geoposition::Geoposition):
+ * page/Geoposition.idl: Added.
+ * page/Navigator.cpp:
+ (WebCore::Navigator::disconnectFrame): disconnect Geolocation
+ (WebCore::Navigator::geolocation): accessor for Geolocation
+ * page/Navigator.h:
+ (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
+ * page/Navigator.idl: accessor for Geolocation
+ * page/PositionCallback.h: Added.
+ (WebCore::PositionCallback::~PositionCallback):
+ * page/PositionCallback.idl: Added.
+ * page/PositionError.h: Added.
+ (WebCore::PositionError::):
+ (WebCore::PositionError::create):
+ (WebCore::PositionError::code):
+ (WebCore::PositionError::message):
+ (WebCore::PositionError::PositionError):
+ * page/PositionError.idl: Added.
+ * page/PositionErrorCallback.h: Added.
+ (WebCore::PositionErrorCallback::~PositionErrorCallback):
+ * page/PositionErrorCallback.idl: Added.
+ * page/PositionOptions.h: Added.
+ (WebCore::PositionOptions::create):
+ (WebCore::PositionOptions::enableHighAccuracy):
+ (WebCore::PositionOptions::setEnableHighAccuracy):
+ (WebCore::PositionOptions::timeout):
+ (WebCore::PositionOptions::setTimeout):
+ (WebCore::PositionOptions::PositionOptions):
+ * page/PositionOptions.idl: Added.
+ * platform/GeolocationService.cpp: Added.
+ (WebCore::GeolocationService::GeolocationService):
+ (WebCore::GeolocationService::positionChanged):
+ (WebCore::GeolocationService::errorOccurred):
+ * platform/GeolocationService.h: Added.
+ (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
+ (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
+ (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
+ (WebCore::GeolocationService::~GeolocationService):
+
+2008-10-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=21818
+
+ Add HashTraits for AtomicString so that AtomicString can be used as
+ the key for a HashMap or HashSet.
+
+ * GNUmakefile.am: add AtomicStringHash.h
+ * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
+ * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
+ * platform/text/AtomicString.h:
+ (WebCore::AtomicString::AtomicString):
+ (WebCore::AtomicString::isHashTableDeletedValue):
+ specialize DefaultHash for AtomicString to use AtomicStringHash
+ * platform/text/AtomicStringHash.h: Added.
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::StringImpl):
+ compute the hash up-front for the empty string
+ * platform/text/StringImpl.h:
+ (WebCore::StringImpl::existingHash):
+ method to get the hash without a test and branch, for callers like
+ AtomicStringHash who can guarantee that the hash has already been computed.
+
+2008-10-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig
+
+ https://bugs.webkit.org/show_bug.cgi?id=21857
+
+ Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
+ switch in _wrapCSSRule.
+
+ * bindings/objc/DOMCSS.mm:
+ (+[DOMCSSRule _wrapCSSRule:WebCore::]):
+
+2008-10-24 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * plugins/PluginView.cpp:
+
+2008-10-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21851
+ <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
+
+ Test: fast/replaced/percent-height-in-anonymous-block-widget.html
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::destroy): Copied code added to
+ RenderBox::destroy() in r36513 into this function.
+
+2008-10-24 Timothy Hatcher <timothy@apple.com>
+
+ Add a mechanism to ask the InspectorClient for key/value setting pairs.
+ These settings can be strings, numbers, booleans or string vectors. The
+ settings are also bridged to and from JavaScript.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21856
+
+ Reviewed by Darin Adler.
+
+ * WebCore.base.exp: Expose the String CFStringRef constructor.
+ * inspector/InspectorClient.h:
+ (WebCore::InspectorClient::populateSetting): Added, pure virtual.
+ (WebCore::InspectorClient::storeSetting): Ditto.
+ (WebCore::InspectorClient::removeSetting): Ditto.
+ * inspector/InspectorController.cpp:
+ (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
+ (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
+ (WebCore::InspectorController::InspectorController): Increment a global static
+ to track the number of live InspectorControllers.
+ (WebCore::InspectorController::~InspectorController): Decrement the global static
+ that tracks the number of live InspectorControllers. Delete the setting cache if there
+ are no more live controllers.
+ (WebCore::InspectorController::setting): Check the cache and return the setting from there,
+ otherwise make a new Setting and ask the client to populate it.
+ (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
+ (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
+ to the InspectorController script class.
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::Setting::Setting):
+ (WebCore::InspectorController::Setting::operator=):
+ (WebCore::InspectorController::Setting::type): Return m_type.
+ (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
+ (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
+ Assert the type is correct.
+ (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
+ Assert the type is correct.
+ (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
+ Assert the type is correct.
+ (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
+ Assert the type is correct.
+ (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
+ field and the type.
+ * loader/EmptyClients.h:
+ (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
+ (WebCore::EmptyInspectorClient::storeSetting): Ditto.
+ (WebCore::EmptyInspectorClient::removeSetting): Ditto.
+
+2008-10-24 Cameron Zwarich <zwarich@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove some C-style casts.
+
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::addViewSourceToken):
+
+2008-10-24 Darin Adler <darin@apple.com>
+
+ - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
+
+ * bindings/js/JSAttrCustom.cpp:
+ * bindings/js/JSCSSRuleCustom.cpp:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ * bindings/js/JSCSSValueCustom.cpp:
+ * bindings/js/JSCanvasPixelArrayCustom.h:
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ * bindings/js/JSClipboardCustom.cpp:
+ * bindings/js/JSConsoleCustom.cpp:
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ * bindings/js/JSCustomVoidCallback.cpp:
+ * bindings/js/JSCustomVoidCallback.h:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ * bindings/js/JSCustomXPathNSResolver.h:
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDOMWindowCustom.h:
+ * bindings/js/JSDOMWindowShell.cpp:
+ * bindings/js/JSDOMWindowShell.h:
+ * bindings/js/JSDatabaseCustom.cpp:
+ * bindings/js/JSDedicatedWorkerCustom.cpp:
+ * bindings/js/JSDocumentCustom.cpp:
+ * bindings/js/JSElementCustom.cpp:
+ * bindings/js/JSEventCustom.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventTarget.cpp:
+ * bindings/js/JSEventTarget.h:
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSEventTargetNodeCustom.cpp:
+ * bindings/js/JSHTMLAllCollection.h:
+ * bindings/js/JSHTMLAppletElementCustom.cpp:
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * bindings/js/JSHTMLEmbedElementCustom.cpp:
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ * bindings/js/JSHTMLInputElementCustom.cpp:
+ * bindings/js/JSHTMLObjectElementCustom.cpp:
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ * bindings/js/JSHTMLSelectElementCustom.h:
+ * bindings/js/JSHistoryCustom.cpp:
+ * bindings/js/JSImageDataCustom.cpp:
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ * bindings/js/JSInspectedObjectWrapper.h:
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ * bindings/js/JSInspectorCallbackWrapper.h:
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ * bindings/js/JSLocationCustom.cpp:
+ * bindings/js/JSMessagePortCustom.cpp:
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ * bindings/js/JSNamedNodesCollection.cpp:
+ * bindings/js/JSNamedNodesCollection.h:
+ * bindings/js/JSNavigatorCustom.cpp:
+ * bindings/js/JSNodeCustom.cpp:
+ * bindings/js/JSNodeFilterCondition.cpp:
+ * bindings/js/JSNodeFilterCondition.h:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ * bindings/js/JSNodeListCustom.cpp:
+ * bindings/js/JSPluginArrayCustom.cpp:
+ * bindings/js/JSPluginCustom.cpp:
+ * bindings/js/JSPluginElementFunctions.cpp:
+ * bindings/js/JSPluginElementFunctions.h:
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ * bindings/js/JSRGBColor.cpp:
+ * bindings/js/JSRGBColor.h:
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ * bindings/js/JSSVGLengthCustom.cpp:
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ * bindings/js/JSSVGPathSegListCustom.cpp:
+ * bindings/js/JSSVGPointListCustom.cpp:
+ * bindings/js/JSSVGTransformListCustom.cpp:
+ * bindings/js/JSStorageCustom.cpp:
+ * bindings/js/JSStyleSheetCustom.cpp:
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ * bindings/js/JSTextCustom.cpp:
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ * bindings/js/ScheduledAction.cpp:
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/ScriptController.h:
+ * bindings/objc/WebScriptObject.mm:
+ * bindings/objc/WebScriptObjectPrivate.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+ * bridge/c/c_instance.cpp:
+ * bridge/c/c_instance.h:
+ * bridge/c/c_runtime.cpp:
+ * bridge/c/c_runtime.h:
+ * bridge/c/c_utility.cpp:
+ * bridge/c/c_utility.h:
+ * bridge/jni/jni_instance.cpp:
+ * bridge/jni/jni_instance.h:
+ * bridge/jni/jni_jsobject.h:
+ * bridge/jni/jni_jsobject.mm:
+ * bridge/jni/jni_objc.mm:
+ * bridge/jni/jni_runtime.cpp:
+ * bridge/jni/jni_runtime.h:
+ * bridge/jni/jni_utility.cpp:
+ * bridge/jni/jni_utility.h:
+ * bridge/objc/WebScriptObject.h:
+ * bridge/objc/objc_class.h:
+ * bridge/objc/objc_class.mm:
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ * bridge/objc/objc_runtime.h:
+ * bridge/objc/objc_runtime.mm:
+ * bridge/objc/objc_utility.h:
+ * bridge/objc/objc_utility.mm:
+ * bridge/qt/qt_class.cpp:
+ * bridge/qt/qt_class.h:
+ * bridge/qt/qt_instance.cpp:
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime.cpp:
+ * bridge/runtime.h:
+ * bridge/runtime_array.cpp:
+ * bridge/runtime_array.h:
+ * bridge/runtime_method.cpp:
+ * bridge/runtime_method.h:
+ * bridge/runtime_object.cpp:
+ * bridge/runtime_object.h:
+ * bridge/testqtbindings.cpp:
+ * inspector/JavaScriptCallFrame.cpp:
+ * inspector/JavaScriptCallFrame.h:
+ * inspector/JavaScriptProfile.cpp:
+ * inspector/JavaScriptProfile.h:
+ * inspector/JavaScriptProfileNode.cpp:
+ * inspector/JavaScriptProfileNode.h:
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+ * page/Console.cpp:
+ * page/Console.h:
+ * plugins/MimeTypeArray.h:
+ * plugins/Plugin.h:
+ * plugins/PluginArray.h:
+ * plugins/PluginView.cpp:
+ * xml/XMLHttpRequest.cpp:
+ Use JSValue* instead of JSValuePtr.
+
+2008-10-24 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtField::valueFromInstance):
+
+2008-10-24 David Kilzer <ddkilzer@apple.com>
+
+ Rolled out r37840 and r37841.
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSCustomPositionCallback.cpp: Removed.
+ * bindings/js/JSCustomPositionCallback.h: Removed.
+ * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
+ * bindings/js/JSCustomPositionErrorCallback.h: Removed.
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::markDOMObjectWrapper):
+ * bindings/js/JSGeolocationCustom.cpp: Removed.
+ * bindings/js/JSNavigatorCustom.cpp:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::canCachePage):
+ * page/Geolocation.cpp: Removed.
+ * page/Geolocation.h: Removed.
+ * page/Geolocation.idl: Removed.
+ * page/Geoposition.cpp: Removed.
+ * page/Geoposition.h: Removed.
+ * page/Geoposition.idl: Removed.
+ * page/Navigator.cpp:
+ (WebCore::Navigator::disconnectFrame):
+ * page/Navigator.h:
+ * page/Navigator.idl:
+ * page/PositionCallback.h: Removed.
+ * page/PositionCallback.idl: Removed.
+ * page/PositionError.h: Removed.
+ * page/PositionError.idl: Removed.
+ * page/PositionErrorCallback.h: Removed.
+ * page/PositionErrorCallback.idl: Removed.
+ * page/PositionOptions.h: Removed.
+ * page/PositionOptions.idl: Removed.
+ * platform/GeolocationService.cpp: Removed.
+ * platform/GeolocationService.h: Removed.
+
+2008-10-23 David Kilzer <ddkilzer@apple.com>
+
+ Attempt to fix GTK build.
+
+ * GNUmakefile.am: Added new *.idl files that were missing.
+
+2008-10-23 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21475
+
+ Provide support for the Geolocation API
+
+ http://dev.w3.org/geo/api/spec-source.html
+
+ Test: geolocation/geolocation-not-implemented.html
+
+ * DerivedSources.make:
+ * GNUmakefile.am: Added Geolocation support
+ * WebCore.pro: Added Geolocation support
+ * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
+ * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
+ * WebCoreSources.bkl: Added Geolocation support
+ * bindings/js/JSCustomPositionCallback.cpp: Added.
+ (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionCallback.h: Added.
+ (WebCore::JSCustomPositionCallback::create):
+ * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
+ (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.h: Added.
+ (WebCore::JSCustomPositionErrorCallback::create):
+ * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
+ (WebCore::markDOMObjectWrapper):
+ * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
+ * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
+ * bindings/js/JSGeolocationCustom.cpp: Added.
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
+ * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
+ (WebCore::JSNavigator::mark):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (WebCore::Document::setUsingGeolocation):
+ (WebCore::Document::usingGeolocation):
+ * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
+ (WebCore::FrameLoader::canCachePage):
+ * page/Geolocation.cpp: Added.
+ (WebCore::Geolocation::GeoNotifier::GeoNotifier):
+ (WebCore::Geolocation::GeoNotifier::timerFired):
+ (WebCore::Geolocation::Geolocation):
+ (WebCore::Geolocation::disconnectFrame):
+ (WebCore::Geolocation::getCurrentPosition):
+ (WebCore::Geolocation::watchPosition):
+ (WebCore::Geolocation::clearWatch):
+ (WebCore::Geolocation::stopUpdatingIfEmpty):
+ (WebCore::Geolocation::sendErrorToOneShots):
+ (WebCore::Geolocation::sendErrorToWatchers):
+ (WebCore::Geolocation::sendPositionToOneShots):
+ (WebCore::Geolocation::sendPositionToWatchers):
+ (WebCore::Geolocation::handleError):
+ (WebCore::Geolocation::geolocationServicePositionChanged):
+ (WebCore::Geolocation::geolocationServiceErrorOccurred):
+ * page/Geolocation.h: Added.
+ (WebCore::Geolocation::create):
+ (WebCore::Geolocation::~Geolocation):
+ (WebCore::Geolocation::lastPosition):
+ (WebCore::Geolocation::GeoNotifier::create):
+ * page/Geolocation.idl: Added.
+ * page/Geoposition.cpp: Added.
+ (WebCore::Geoposition::toString):
+ * page/Geoposition.h: Added.
+ (WebCore::Geoposition::create):
+ (WebCore::Geoposition::latitude):
+ (WebCore::Geoposition::longitude):
+ (WebCore::Geoposition::altitude):
+ (WebCore::Geoposition::accuracy):
+ (WebCore::Geoposition::altitudeAccuracy):
+ (WebCore::Geoposition::heading):
+ (WebCore::Geoposition::velocity):
+ (WebCore::Geoposition::timestamp):
+ (WebCore::Geoposition::Geoposition):
+ * page/Geoposition.idl: Added.
+ * page/Navigator.cpp:
+ (WebCore::Navigator::disconnectFrame): disconnect Geolocation
+ (WebCore::Navigator::geolocation): accessor for Geolocation
+ * page/Navigator.h:
+ (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
+ * page/Navigator.idl: accessor for Geolocation
+ * page/PositionCallback.h: Added.
+ (WebCore::PositionCallback::~PositionCallback):
+ * page/PositionCallback.idl: Added.
+ * page/PositionError.h: Added.
+ (WebCore::PositionError::):
+ (WebCore::PositionError::create):
+ (WebCore::PositionError::code):
+ (WebCore::PositionError::message):
+ (WebCore::PositionError::PositionError):
+ * page/PositionError.idl: Added.
+ * page/PositionErrorCallback.h: Added.
+ (WebCore::PositionErrorCallback::~PositionErrorCallback):
+ * page/PositionErrorCallback.idl: Added.
+ * page/PositionOptions.h: Added.
+ (WebCore::PositionOptions::create):
+ (WebCore::PositionOptions::enableHighAccuracy):
+ (WebCore::PositionOptions::setEnableHighAccuracy):
+ (WebCore::PositionOptions::timeout):
+ (WebCore::PositionOptions::setTimeout):
+ (WebCore::PositionOptions::PositionOptions):
+ * page/PositionOptions.idl: Added.
+ * platform/GeolocationService.cpp: Added.
+ (WebCore::GeolocationService::GeolocationService):
+ (WebCore::GeolocationService::positionChanged):
+ (WebCore::GeolocationService::errorOccurred):
+ * platform/GeolocationService.h: Added.
+ (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
+ (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
+ (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
+ (WebCore::GeolocationService::~GeolocationService):
+
+2008-10-23 Alp Toker <alp@nuanti.com>
+
+ Fix typo in comment in previous commit. GTK -> GLIB
+
+ * platform/gtk/guriescape.c:
+
+2008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
+
+ Reviewed by Alp Toker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21824
+ [GTK] FileSystem abstraction uses features from Glib 2.16
+
+ Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
+
+ * platform/gtk/guriescape.c:
+ (unescape_character):
+ (_webcore_g_uri_unescape_segment):
+ (_webcore_g_uri_unescape_string):
+ * platform/gtk/guriescape.h:
+
+2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
+
+ * GNUmakefile.am:
+
+2008-10-23 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ m_frame null checked but then dereferenced
+ https://bugs.webkit.org/show_bug.cgi?id=21845
+
+ This error was found using a static analysis tool, and so I do not know
+ how to produce a null m_frame on entry to this method. Hence, I have
+ not included a regression test.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
+
+2008-10-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig with no hesitation.
+
+ - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
+ <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
+
+ Test: fast/text/bidi-embedding-pop-and-push-same.html
+
+ * platform/text/BidiResolver.h:
+ (WebCore::BidiResolver::embed): Changed to only add the embedding
+ operation to a vector of pending operations.
+
+ (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
+ code that used to be in the PDF case of embed() here, except the part
+ that sets the context.
+
+ (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
+ code that used to be in the non-PDF case of embed() here, except the
+ part the sets the context.
+
+ (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
+ explicit embedding operations in the vector by creating an updated
+ context and determining the old and new embedding levels. If the levels
+ are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
+ sets the context to the new one.
+
+ (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
+ commitExplicitEmbedding() after calling embed() and after calling
+ increment().
+
+ * rendering/bidi.cpp:
+ (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
+ this function increments the resolver.
+
+ (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
+
+2008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk build fix. Not reviewed.
+
+ Add DNSCurl and DNSSoup to the Gtk build
+
+ * GNUmakefile.am:
+ * platform/gtk/TemporaryLinkStubs.cpp:
+ * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
+ (WebCore::prefetchDNS):
+
+2008-10-23 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Un-break the Darwin build.
+
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ * platform/graphics/cg/ImageCG.cpp:
+
+2008-10-23 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix forward decls to be struct instead of class.
+ https://bugs.webkit.org/show_bug.cgi?id=21838
+
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/style/StyleRareNonInheritedData.h:
+
+2008-10-23 Brent Fulgham <bfulgham@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ * platform/network/curl/ResourceRequest.h: A better implementation
+ of CFURLRequest, rather than void*. This gives better compatibility
+ with the WebKit.idl interface.
+ (WebCore::ResourceRequest::cfURLRequest):
+
+2008-10-23 Mike Pinkerton <pinkerton@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
+ ifdefs to reflect that.
+
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
+ * platform/graphics/cg/ImageCG.cpp:
+
+2008-10-23 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21833
+ Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ (WebCore::InspectorController::close):
+ * inspector/InspectorController.h:
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+
+2008-10-23 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21817
+ Bug 21817: Manual profiler tests should be made into layout tests
+
+ -Moving the tests before diffing so that it's clear what changed.
+
+ * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
+ * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
+ * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
+ * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
+ * manual-tests/inspector/profiler-test-apply.html: Removed.
+ * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
+ * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
+ * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
+ * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
+ * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
+ * manual-tests/inspector/profiler-test-constructor.html: Removed.
+ * manual-tests/inspector/profiler-test-dead-time.html: Removed.
+ * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
+ * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
+ * manual-tests/inspector/profiler-test-event-handler.html: Removed.
+ * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
+ * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
+ * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
+ * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
+ * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
+ * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
+ * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
+ * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
+ * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
+ * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
+ * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
+ * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
+ * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
+ * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
+ * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
+ * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
+ * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
+ * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
+ * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
+ * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
+ * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
+ * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
+ * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
+ * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
+ * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
+ * manual-tests/inspector/resources/other-frame.html: Removed.
+ * manual-tests/inspector/resources/other-window.html: Removed.
+ * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
+
+2008-10-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21826
+
+ Add accessor for SecurityOrigin::m_domainWasSetInDOM.
+
+ * page/SecurityOrigin.h:
+ (WebCore::SecurityOrigin::domainWasSetInDOM):
+
+2008-10-23 Darin Adler <darin@apple.com>
+
+ - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
+
+ * bindings/js/ScheduledAction.h:
+ * inspector/InspectorController.cpp:
+ ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
+
+2008-10-23 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtConnectionObject::execute):
+ * bridge/qt/qt_runtime.h:
+ (JSC::Bindings::QtRuntimeMethod::createStructureID):
+
+2008-10-23 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21825
+ JSDOMBinding should not blindly cast the global object to JSDOMWindow
+
+ * bindings/js/JSDOMGlobalObject.cpp:
+ * bindings/js/JSDOMGlobalObject.h:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::getCachedDOMStructure):
+ (WebCore::cacheDOMStructure):
+ (WebCore::getCachedDOMConstructor):
+ (WebCore::cacheDOMConstructor):
+ Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::JSDOMWindowBase):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::mark):
+ Moved constructor and structure tracking to JSDOMGlobalObject.
+
+2008-10-23 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21787
+
+ Update postMessage to send origin = "null" for non-serializable
+ origins to match latest spec. Merge SecurityOrigin::toString and
+ SecurityOrigin::toHTTPOrigin because they are now the same.
+
+ Test: http/tests/security/postMessage/data-url-sends-null-origin.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::outgoingOrigin):
+ (WebCore::FrameLoader::loadURL):
+ (WebCore::FrameLoader::addHTTPOriginIfNeeded):
+ (WebCore::FrameLoader::loadItem):
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests):
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::toString):
+ * page/SecurityOrigin.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
+ (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
+ (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
+ (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
+
+2008-10-22 David Kilzer <ddkilzer@apple.com>
+
+ Bug 21781: WebCore::Settings should have a maximum decoded image size setting
+
+ <https://bugs.webkit.org/show_bug.cgi?id=21781>
+
+ Reviewed by Antti.
+
+ No tests since there is no change in behavior.
+
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
+ WebCore::Settings::maximumDecodedImageSize() or 0 on error.
+ (WebCore::CachedImage::data): Flag an error if the image being
+ loaded is too big.
+ * loader/CachedImage.h:
+ (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
+ to the maximum value of size_t.
+ * page/Settings.h:
+ (WebCore::Settings::setMaximumDecodedImageSize): Added method.
+ (WebCore::Settings::maximumDecodedImageSize): Ditto.
+
+2008-10-22 Mike Pinkerton <pinkerton@chromium.org>
+
+ Reviewed by Dan Bernstein.
+ Landed and tweaked a bit by Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21809
+
+ Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
+ its use for PLATFORM(CHROMIUM) in the future.
+
+ * platform/graphics/SimpleFontData.h:
+
+2008-10-22 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19974
+ getElementsByClassName not live enough
+
+ Test: fast/dom/getElementsByClassName/015.html
+
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
+
+2008-10-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21294
+ Bug 21294: Devirtualize getOwnPropertySlot()
+
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
+ HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
+
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
+ for this class rather than sharing nullProtoStructureID, which no longer exists.
+
+ * bindings/js/JSNamedNodesCollection.h:
+ (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
+ HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
+ * bindings/js/JSRGBColor.h:
+ (WebCore::JSRGBColor::createStructureID): Ditto.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
+ constructors, and prototypes in any case where they override getOwnPropertySlot, without
+ HasStandardGetOwnPropertySlot.
+
+ * bridge/objc/objc_runtime.h:
+ (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
+ without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
+ * bridge/qt/qt_runtime.h:
+ (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
+ * bridge/runtime_array.h:
+ (JSC::RuntimeArray::createStructureID): Ditto.
+ * bridge/runtime_method.h:
+ (JSC::RuntimeMethod::createStructureID): Ditto.
+ * bridge/runtime_object.h:
+ (JSC::RuntimeObjectImp::createStructureID): Ditto.
+
+2008-10-22 Brent Fulgham <bfulgham@gmail.com>
+
+ Bring Windows Cairo Port's font handling in line with CG.
+ http://bugs.webkit.org/show_bug.cgi?id=21812.
+
+ Reviewed by Adam Roben.
+
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
+ TrueType font search. It should match CG in all font selections.
+
+2008-10-22 Brent Fulgham <bfulgham@gmail.com>
+
+ http://bugs.webkit.org/show_bug.cgi?id=21812.
+ Bring Windows Cairo Port's font handling in line with CG.
+
+ Reviewed by David Hyatt.
+
+ * platform/graphics/win/FontCacheWin.cpp:
+ (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
+
+2008-10-22 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Adam Roben
+
+ <rdar://6261773> - autocomplete="off" doesn't work on Windows
+
+ Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
+ statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
+ instead of the much more correct "true."
+
+ In the past we have worked around this by declaring the bitfield member as an unsigned instead
+ of the enum type.
+
+ For more discussion, see http://trac.webkit.org/changeset/25329
+
+ * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
+
+2008-10-22 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Oliver Hunt and Tim Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19225
+ Bug 19225: JSProfiler: Create automated profiler tests
+ - This change exports profiles on the console object so that they can be
+ iterated over via JavaScript, and thus can be used in automated tests.
+
+ * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
+ that JS can use.
+ (WebCore::JSConsole::profiles):
+ * inspector/InspectorController.h: Use the new typedef.
+ (WebCore::InspectorController::profiles):
+ * page/Console.cpp: Keep our own array of profile objects.
+ (WebCore::Console::profileEnd):
+ * page/Console.h: Ditto.
+ (WebCore::Console::profiles):
+ * page/Console.idl: Expose the profiles to JS.
+
+2008-10-22 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21775
+
+ Convert buttons over to use the new Theme API on OS X.
+
+ Reviewed by Adam Roben
+
+ * platform/LengthBox.h:
+ (WebCore::LengthBox::LengthBox):
+ * platform/Theme.cpp:
+ (WebCore::Theme::controlBorder):
+ (WebCore::Theme::controlPadding):
+ * platform/Theme.h:
+ (WebCore::Theme::controlFont):
+ (WebCore::Theme::controlSize):
+ (WebCore::Theme::minControlSize):
+ (WebCore::Theme::controlRequiresPreWhiteSpace):
+ * platform/mac/ThemeMac.h:
+ (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
+ * platform/mac/ThemeMac.mm:
+ (WebCore::checkboxSize):
+ (WebCore::radioSize):
+ (WebCore::buttonSizes):
+ (WebCore::buttonMargins):
+ (WebCore::button):
+ (WebCore::paintButton):
+ (WebCore::ThemeMac::controlFont):
+ (WebCore::ThemeMac::controlSize):
+ (WebCore::ThemeMac::minControlSize):
+ (WebCore::ThemeMac::controlBorder):
+ (WebCore::ThemeMac::controlPadding):
+ (WebCore::ThemeMac::inflateControlPaintRect):
+ (WebCore::ThemeMac::paint):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::controlStatesForRenderer):
+ (WebCore::RenderTheme::isDefault):
+ (WebCore::RenderTheme::adjustRadioStyle):
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::setRadioSize):
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustRepaintRect):
+ (WebCore::menuListButtonSizes):
+ (WebCore::RenderThemeMac::adjustMenuListStyle):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::paddingBox):
+ (WebCore::InheritedFlags::setPaddingBox):
+
+2008-10-22 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Make sure that the AtomicString that identifies a set of animation keyframes
+ stays live by keeping a copy in the WebKitCSSKeyframesRule.
+
+ Also call styleSheetChanged() when the keyframes name changes, but
+ add an internal method that doesn't call styleSheetChanged() for use
+ during normal stylesheet parsing.
+
+ Test: animations/change-keyframes-name.html
+
+ * css/CSSGrammar.y:
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::setName):
+ * css/WebKitCSSKeyframesRule.h:
+ (WebCore::WebKitCSSKeyframesRule::setNameInternal):
+
+2008-10-22 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21791
+ WebCore JS bindings should be able to use non-static hash tables for properties
+
+ Add a map for HashTables to WebCore JS client data.
+
+ This makes property access noticeably slower, so it is an opt-in. For classes that need to be
+ supported in workers in forseeable future this is not critical.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::DOMObjectHashTableMap::get):
+ (WebCore::DOMObjectHashTableMap::mapFor):
+ (WebCore::getHashTableForGlobalData):
+ (WebCore::DOMObjectWrapperMap::mapFor):
+ WebCore client data is now a class that contains both a DOM wrapper map and a property hash
+ table one.
+
+ * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
+
+ * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
+ JSDOMBinding map to access its property hash tables.
+
+ * dom/MessageChannel.idl:
+ * dom/MessagePort.idl:
+ Added NoStaticTables attribute.
+
+2008-10-22 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Build failure because of missing include
+ https://bugs.webkit.org/show_bug.cgi?id=21765
+
+ Build failure fix for WebKit/GTK+; added missing
+ include (GOwnPtr.h)
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+
+2008-10-22 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Adam Roben.
+
+ Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
+ doesn't initialize values if the requested property doesn't exist, so
+ initialize the values to the documented defaults before calling it
+ where necessary. Additionally, avoid critical warnings by not calling
+ gtk_widget_style_get() when we know the property isn't available.
+
+ Note that this is an imported source file which doesn't follow the
+ WebKit coding style.
+
+ * platform/gtk/gtk2drawing.c:
+ (moz_gtk_init):
+ (moz_gtk_button_get_inner_border):
+ (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):
+
+2008-10-22 Alp Toker <alp@nuanti.com>
+
+ Fix build for Cairo 1.2.
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::clipOut):
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::paintMozWidget):
+
+2008-10-22 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ A little more PLATFORM(CHROMIUM) in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=21758
+
+ * page/AccessibilityObject.h:
+ * platform/graphics/Icon.h:
+
+2008-10-21 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Test: fast/events/message-channel-gc-3.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=21769
+ MessagePort should be GC protected if there are messages to be delivered
+
+ * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
+ pending, and check if the queue is non-empty.
+ (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
+ fix (below).
+
+ * dom/MessagePort.cpp:
+ (WebCore::CloseMessagePortTimer::fired):
+ (WebCore::MessagePort::MessagePort):
+ (WebCore::MessagePort::queueCloseEvent):
+ (WebCore::MessagePort::dispatchCloseEvent):
+ (WebCore::MessagePort::hasPendingActivity):
+ Track message and close event activity separately.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
+ causing same-heap ports to never be deleted.
+
+2008-10-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - remove unreachable code
+
+ * platform/text/BidiResolver.h:
+ (WebCore::::embed):
+
+2008-10-21 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
+ REGRESSION(r31030-31055): Choosing "Print window" from frame set
+ prints blank page
+ and corresponding: <rdar://problem/6142398>
+
+ viewHeight() and viewWidth() only return valuable information if we
+ are not printing. Everywhere else in the code, we make sure we are
+ not printing before we call these functions. Adding a check for
+ printing here fixes this bug, and framesets print again.
+
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::layout):
+
+2008-10-21 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon.
+
+ Pixmap in canvas tag was not getting initialized.
+
+ See https://bugs.webkit.org/show_bug.cgi?id=21771
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::create):
+
+2008-10-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ Add a comment explaining layoutDelta(), and an assertion
+ that checks that delta changes were correctly paired during layout.
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::layout):
+ * rendering/RenderView.h:
+
+2008-10-20 Timothy Hatcher <timothy@apple.com>
+
+ Make auto-complete only suggest properties that are valid syntax
+ when using dot-notation. Also when completing numeric properties,
+ the quotes are omitted inside the brackets.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21760
+ https://bugs.webkit.org/show_bug.cgi?id=21761
+
+ Reviewed by Oliver Hunt.
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.completions): Skip properties that
+ are not valid identifies when using dot-notation. And omit the quotes
+ when completing numbers in bracket-notation.
+
+2008-10-20 Timothy Hatcher <timothy@apple.com>
+
+ Fixes the Profiles panel in the Web Inspector, which was broken by
+ the JSValue base-class changes. Also renames some functions and
+ variables in JavaScriptProfileNode.cpp that where title case.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21764
+
+ Reviewed by Oliver Hunt.
+
+ * inspector/JavaScriptProfile.cpp:
+ (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
+ returned JSValuePtr will be treated as an object and not a value.
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::toJS): Ditto.
+
+2008-10-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::detachFromParent):
+ * loader/FrameLoaderClient.h:
+
+2008-10-20 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=21763
+ REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
+ <rdar://problem/6285025
+
+ If we get 304 response we need to explicitly check if that completes the frame load.
+
+ No test case, simulating the condition is pretty difficult.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::didReceiveResponse):
+
+2008-10-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Work around <rdar://problem/6301728>.
+
+ Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ (WebCore::MainResourceLoader::didReceiveData):
+ (WebCore::MainResourceLoader::didFinishLoading):
+ (WebCore::MainResourceLoader::didFail):
+
+2008-10-20 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
+ crashes in Safari at com.apple.WebCore
+ WebCore::ScrollView::visibleContentRect const + 153
+
+ d->m_view can be null and is null-checked at other points in the
+ code. The logs indicate that this crash occurs when closing a
+ window containing a PDF, so in case where we crash, the PDF's view
+ is probably already null. So the fix is to simply add a null-check.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::selectionRect):
+
+2008-10-20 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
+ Removed stray increment that would screw up any form with multiple files in it.
+
+2008-10-20 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by David Hyatt.
+
+ Split LengthBox and LengthSize into their own files.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/Length.h:
+ (WebCore::Length::blend):
+ * platform/LengthBox.h: Copied from platform/Length.h.
+ (WebCore::LengthBox::LengthBox):
+ (WebCore::LengthBox::nonZero):
+ * platform/LengthSize.h: Copied from platform/Length.h.
+ (WebCore::LengthSize::LengthSize):
+ (WebCore::LengthSize::setWidth):
+ (WebCore::LengthSize::setHeight):
+ (WebCore::LengthSize::height):
+ * platform/Theme.h:
+ * rendering/style/FillLayer.h:
+ * rendering/style/NinePieceImage.h:
+ (WebCore::NinePieceImage::NinePieceImage):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleDashboardRegion.h:
+ * rendering/style/StyleSurroundData.h:
+ * rendering/style/StyleVisualData.h:
+
+2008-10-20 Dan Bernstein <mitz@apple.com>
+
+ - Mac build fix
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-10-20 Alp Toker <alp@nuanti.com>
+
+ Fix autotools dist build target by listing recently added header
+ files only. Not reviewed.
+
+ * GNUmakefile.am:
+
+2008-10-20 David Hyatt <hyatt@apple.com>
+
+ Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
+ refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
+ originally.
+
+ ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
+
+ Reviewed by Adam Roben
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/Theme.cpp: Added.
+ (WebCore::Theme::controlSupportsBorder):
+ (WebCore::Theme::controlSupportsPadding):
+ * platform/Theme.h:
+ * platform/mac/ThemeMac.h:
+ * platform/mac/ThemeMac.mm:
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ * rendering/RenderTheme.h:
+
+2008-10-20 David Hyatt <hyatt@apple.com>
+
+ Rename LengthBox's members to have m_ in front of them.
+
+ Reviewed by Sam Weinig
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForNinePieceImage):
+ (WebCore::getPositionOffsetValue):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapNinePieceImage):
+ * platform/Length.h:
+ (WebCore::LengthBox::LengthBox):
+ (WebCore::LengthBox::left):
+ (WebCore::LengthBox::right):
+ (WebCore::LengthBox::top):
+ (WebCore::LengthBox::bottom):
+ (WebCore::LengthBox::operator==):
+ (WebCore::LengthBox::nonZero):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::paintNinePieceImage):
+ (WebCore::RenderObject::addDashboardRegions):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::positionedObjectMoved):
+ (WebCore::RenderStyle::setClip):
+ (WebCore::RenderStyle::noneDashboardRegions):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::left):
+ (WebCore::InheritedFlags::right):
+ (WebCore::InheritedFlags::top):
+ (WebCore::InheritedFlags::bottom):
+ (WebCore::InheritedFlags::clipLeft):
+ (WebCore::InheritedFlags::clipRight):
+ (WebCore::InheritedFlags::clipTop):
+ (WebCore::InheritedFlags::clipBottom):
+ (WebCore::InheritedFlags::marginTop):
+ (WebCore::InheritedFlags::marginBottom):
+ (WebCore::InheritedFlags::marginLeft):
+ (WebCore::InheritedFlags::marginRight):
+ (WebCore::InheritedFlags::paddingTop):
+ (WebCore::InheritedFlags::paddingBottom):
+ (WebCore::InheritedFlags::paddingLeft):
+ (WebCore::InheritedFlags::paddingRight):
+ (WebCore::InheritedFlags::setLeft):
+ (WebCore::InheritedFlags::setRight):
+ (WebCore::InheritedFlags::setTop):
+ (WebCore::InheritedFlags::setBottom):
+ (WebCore::InheritedFlags::setDashboardRegion):
+ (WebCore::InheritedFlags::setClipLeft):
+ (WebCore::InheritedFlags::setClipRight):
+ (WebCore::InheritedFlags::setClipTop):
+ (WebCore::InheritedFlags::setClipBottom):
+ (WebCore::InheritedFlags::setMarginTop):
+ (WebCore::InheritedFlags::setMarginBottom):
+ (WebCore::InheritedFlags::setMarginLeft):
+ (WebCore::InheritedFlags::setMarginRight):
+ (WebCore::InheritedFlags::setPaddingTop):
+ (WebCore::InheritedFlags::setPaddingBottom):
+ (WebCore::InheritedFlags::setPaddingLeft):
+ (WebCore::InheritedFlags::setPaddingRight):
+
+2008-10-20 Timothy Hatcher <timothy@apple.com>
+
+ Make the Resource panel perform graph updates atomically, so when resources
+ are added the graph and summary graph update at the same time.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21755
+
+ Reviewed by Kevin McCullough.
+
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
+ property is undefined, null or 0. This allows callers to check for -1 and not
+ the other values when there is no startTime yet.
+ (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
+ (WebInspector.Resource.prototype.get endTime): Ditto.
+ (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
+ (WebInspector.Resource.prototype.get latency): Ditto.
+ (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
+ property is undefined or null. This allows callers to always assume a number.
+ (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
+ (WebInspector.Resource.prototype.get errors): Simplify the case where there is
+ no _errors property yet.
+ (WebInspector.Resource.prototype.set errors): Remove the check if the new value
+ if the same as the previous value, since there is no work to guard.
+ (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
+ no _warnings property yet.
+ (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
+ if the same as the previous value, since there is no work to guard.
+ (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
+ responseReceivedTime is -1.
+ (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
+ have a _resourcesTreeElement yet, exclude it from the searchable views.
+ (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
+ and call refresh to refresh the entire graph.
+ (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
+ is visible that calls refresh.
+ (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
+ graph for a resource if it hasn't been created yet. If the boundaries changed during
+ the first stale resource pass, do a full pass of all resources when updating the graphs.
+ (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
+ (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
+ graph, these are now created during the first refresh.
+ (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
+ (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
+ (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
+ (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
+ add the resource to the _staleResources and set needsRefresh.
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
+ _resourcesTreeElement.
+ (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
+ the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
+ since the insertBefore call will do it if needed.
+ (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
+ clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
+ (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
+ timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
+ since all the legend items are removed in one pass right before.
+ (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
+ before the calculator so the correct sortingFunction is there when a refresh happens.
+ (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
+ when the startTime is -1, since that looks best visually. Also set middle and end
+ to the start and middle (respectfully) when startAtZero. This looks best visually.
+ (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
+ (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
+
+2008-10-20 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21733
+
+ Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
+ no attempt is made to re-cache the frame from a non-existent image source.
+
+ Reviewed by Sam Weinig
+
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::BitmapImage::BitmapImage):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::BitmapImage):
+
+2008-10-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - make hasARenderedDescendant() have internal linkage
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::hasARenderedDescendant):
+
+2008-10-20 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Jon Honeycutt
+
+ Fix a crash in Accessibility where a table section was being
+ referenced without first checking if it was null
+
+ https://bugs.webkit.org/show_bug.cgi?id=21721
+
+ Test: accessibility/table-nofirstbody.html
+
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::addChildren):
+
+2008-10-20 David Hyatt <hyatt@apple.com>
+
+ Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
+
+ Reviewed by Darin Adler
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::repetitionCount):
+ (WebCore::ImageSource::frameDurationAtIndex):
+
+2008-10-20 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix the pthread conditionals in the FTP code to correctly define
+ threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
+ build.
+
+ * loader/FTPDirectoryDocument.cpp:
+ * loader/FTPDirectoryParser.cpp:
+
+2008-10-20 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21751
+
+ Convert checkboxes and radio buttons on OS X over to the new Theme API.
+
+ Reviewed by Adam Roben
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapFillSize):
+ * platform/Length.h:
+ (WebCore::LengthSize::LengthSize):
+ (WebCore::LengthSize::operator==):
+ (WebCore::LengthSize::width):
+ (WebCore::LengthSize::height):
+ (WebCore::LengthSize::setWidth):
+ (WebCore::LengthSize::setHeight):
+ * platform/Theme.h:
+ (WebCore::Theme::controlSize):
+ (WebCore::Theme::controlSupportsBorder):
+ (WebCore::Theme::controlSupportsPadding):
+ (WebCore::Theme::paint):
+ (WebCore::Theme::inflateControlPaintRect):
+ * platform/ThemeTypes.h:
+ (WebCore::):
+ * platform/mac/ThemeMac.h:
+ * platform/mac/ThemeMac.mm:
+ (WebCore::):
+ (WebCore::controlSizeForFont):
+ (WebCore::sizeFromFont):
+ (WebCore::setControlSize):
+ (WebCore::updateStates):
+ (WebCore::inflateRect):
+ (WebCore::checkboxSizes):
+ (WebCore::checkboxMargins):
+ (WebCore::checkboxSize):
+ (WebCore::checkbox):
+ (WebCore::paintCheckbox):
+ (WebCore::radioSizes):
+ (WebCore::radioMargins):
+ (WebCore::radioSize):
+ (WebCore::radio):
+ (WebCore::paintRadio):
+ (WebCore::ThemeMac::baselinePositionAdjustment):
+ (WebCore::ThemeMac::controlSize):
+ (WebCore::ThemeMac::controlSupportsBorder):
+ (WebCore::ThemeMac::controlSupportsPadding):
+ (WebCore::ThemeMac::inflateControlPaintRect):
+ (WebCore::ThemeMac::paint):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calculateBackgroundSize):
+ * rendering/RenderObject.cpp:
+ (WebCore::mustRepaintFillLayers):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::baselinePosition):
+ (WebCore::RenderTheme::adjustRepaintRect):
+ (WebCore::RenderTheme::controlStatesForRenderer):
+ (WebCore::RenderTheme::isFocused):
+ * rendering/RenderTheme.h:
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustRepaintRect):
+ * rendering/style/FillLayer.cpp:
+ (WebCore::FillLayer::operator==):
+
+2008-10-18 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
+ Emit profiling instrumentation only if the Web Inspector's profiling
+ feature is enabled
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::supportsProfiling):
+ * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
+ whether a target global object has the Web Inspector's profiling feature
+ enabled.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
+ (WebCore::JavaScriptDebugServer::didAddListener):
+ (WebCore::JavaScriptDebugServer::didRemoveListener):
+ * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
+ used by the Settings object.
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ (WebCore::Settings::setDeveloperExtrasEnabled):
+ * page/Settings.h: Recompile when the developer menu is enabled/disabled
+ for the first time, to add/remove profiling hooks. In the future, with
+ better Web Inspector UI, we can do this on a page-by-page basis,
+ instead of a global basis.
+
+2008-10-20 David Hyatt <hyatt@apple.com>
+
+ Move Length to platform/.
+
+ Reviewed by Adam Roben
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * platform/Length.cpp: Copied from rendering/Length.cpp.
+ * platform/Length.h: Copied from rendering/Length.h.
+
+2008-10-20 Darin Adler <darin@apple.com>
+
+ - try to fix Qt build
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
+
+2008-10-20 Darin Adler <darin@apple.com>
+
+ - try to fix Qt build
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
+ (JSC::Bindings::QtField::valueFromInstance): Ditto.
+ * bridge/qt/qt_instance.h: Ditto.
+
+2008-10-20 Darin Adler <darin@apple.com>
+
+ - try to fix Tiger build
+
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
+ volatile qualifier.
+ (ObjcInstance::invokeDefaultMethod): Ditto.
+ (ObjcInstance::getValueOfUndefinedField): Ditto.
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
+
+2008-10-20 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21750
+ Eliminate the notion of "temporary events"
+
+ We mark some events as temporary when dispatching, for the sole reason of
+ manually calling forgetDOMObject when done dispatching.
+
+ There doesn't seem to be any reason to call it manually, as JSEvent destructor
+ will do this automatically right away.
+
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/ScriptController.h:
+ Removed ScriptController::finishedWithEvent(), which was called after dispatching
+ a temporary event.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::dispatchChildInsertionEvents):
+ (WebCore::dispatchChildRemovalEvents):
+ * dom/EventTarget.h:
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::dispatchEvent):
+ (WebCore::EventTargetNode::dispatchGenericEvent):
+ (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
+ (WebCore::EventTargetNode::dispatchWindowEvent):
+ (WebCore::EventTargetNode::dispatchUIEvent):
+ (WebCore::EventTargetNode::dispatchKeyEvent):
+ (WebCore::EventTargetNode::dispatchMouseEvent):
+ (WebCore::EventTargetNode::dispatchWheelEvent):
+ (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
+ (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
+ (WebCore::EventTargetNode::dispatchEventForType):
+ (WebCore::EventTargetNode::dispatchProgressEvent):
+ (WebCore::EventTargetNode::dispatchStorageEvent):
+ * dom/EventTargetNode.h:
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::dispatchMessages):
+ (WebCore::MessagePort::dispatchCloseEvent):
+ (WebCore::MessagePort::dispatchEvent):
+ * dom/MessagePort.h:
+ * editing/Editor.cpp:
+ (WebCore::Editor::dispatchCPPEvent):
+ (WebCore::dispatchEditableContentChangedEvents):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::ReplacementFragment):
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::insertText):
+ * loader/appcache/DOMApplicationCache.cpp:
+ (WebCore::DOMApplicationCache::dispatchEvent):
+ (WebCore::DOMApplicationCache::callListener):
+ * loader/appcache/DOMApplicationCache.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dispatchDragEvent):
+ (WebCore::EventHandler::keyEvent):
+ (WebCore::EventHandler::handleTextInputEvent):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scheduleEvent):
+ (WebCore::FrameView::updateOverflowStatus):
+ (WebCore::FrameView::dispatchScheduledEvents):
+ * page/FrameView.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset):
+ (WebCore::RenderLayer::updateOverflowStatus):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::sendSVGLoadEventIfPossible):
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::dispatchEvent):
+ * svg/SVGElementInstance.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dispatchEvent):
+ (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
+ (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
+ * xml/XMLHttpRequest.h:
+ * xml/XMLHttpRequestUpload.cpp:
+ (WebCore::XMLHttpRequestUpload::dispatchEvent):
+ (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
+ * xml/XMLHttpRequestUpload.h:
+ Don't pass the tempEvent boolean around.
+
+2008-10-20 Alp Toker <alp@nuanti.com>
+
+ Remove unused includes only. Partial GTK+/Win build fix.
+
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+
+2008-10-20 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21705
+ Implement Web Workers client-side API
+
+ The implementation is experimental, and disabled by default. It doesn't quite match the
+ published draft, being influenced by further WHATWG discussions.
+
+ This only implements the client-side API, and does not actually create any threads or
+ global contexts yet.
+
+ * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
+ still not sure if having separate classes for these helps at all.
+
+ * WebCore.xcodeproj/project.pbxproj: Added new files.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (jsDOMWindowBaseWorker):
+ (WebCore::JSDOMWindowBase::put):
+ (setJSDOMWindowBaseWorker):
+ Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
+ to match prevailing style.
+
+ * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
+ * bindings/js/JSDedicatedWorkerConstructor.h: Added.
+ * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
+ The implementation of event listeners are left custom intentionally, for easier implementation
+ of listeners that are not tied to any Document in the future.
+
+ * dom/DedicatedWorker.cpp: Added.
+ * dom/DedicatedWorker.h: Added.
+ * dom/DedicatedWorker.idl: Added.
+ Added an implementation that can only load requested scripts for now.
+
+2008-10-19 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - fix assertion seen when opening inspector
+
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
+ Removed unneeded asObject cast.
+
+2008-10-19 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Timothy Hatcher.
+
+ - remove empty directories and correct the MIME type of inspector images
+
+ * page/inspector: Removed.
+ * page/inspector/Images: Removed.
+
+2008-10-19 Timothy Hatcher <timothy@apple.com>
+
+ Make the Web Inspector Resources panel open quicker and change graphs
+ faster. There was some accidental n^2 logic at fault when updating the
+ graph boundaries.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21742
+
+ Reviewed by Darin Adler.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
+ a null calculator. Remove the second argument passed to _refreshAllResources.
+ (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
+ the calculator for all the stale resources before calling refreshResource.
+ Pass true for the first argument of refreshResource to skip the boundary update.
+ (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
+ the second argument passed to _refreshAllResources.
+ (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
+ skipSort argument since every passed true, and it would be bad to pass false.
+ (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
+ skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
+ the resources before calling refreshResource. Pass true for the first argument
+ of refreshResource to skip the boundary update.
+
+2008-10-19 Timothy Hatcher <timothy@apple.com>
+
+ Visually distinguish resources that loaded from the memory cache.
+
+ https://bugs.webkit.org/show_bug.cgi?id=14279
+
+ Reviewed by Dan Bernstein.
+
+ * English.lproj/localizedStrings.js: New string.
+ * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
+ * inspector/front-end/Images/timelineHollowPillGray.png: Added.
+ * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
+ * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
+ * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
+ * inspector/front-end/Images/timelineHollowPillRed.png: Added.
+ * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
+ Add the "(from cache)" suffix to the tooltip.
+ (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
+ Add the "(from cache)" suffix to the tooltip.
+ (WebInspector.ResourceGraph): Add the "resource-cached" class.
+ * inspector/front-end/inspector.css: New styles to make the timeline
+ bars use the hollow pill images.
+
+2008-10-19 Timothy Hatcher <timothy@apple.com>
+
+ Update the scroll position in the Resources panel when loading
+ a new page or toggling on small resource rows.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20114
+
+ Reviewed by Darin Adler.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
+ since all the resource are being removed.
+ (WebInspector.ResourcesPanel.prototype.removeResource): Call
+ _adjustScrollPosition in case the view is shorter and needs scrolled.
+ (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
+ (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
+ the height of the sidebar against the scrollTop and height of the
+ resourcesContainerElement. If the sidebar is shorter, scroll up
+ so the last resource is at the bottom again.
+
+2008-10-19 Timothy Hatcher <timothy@apple.com>
+
+ Show per resource times and sizes when hovering over the bar graph for a resource.
+
+ https://bugs.webkit.org/show_bug.cgi?id=14300
+ rdar://problem/5712802
+
+ Reviewed by Cameron Zwarich.
+
+ * English.lproj/localizedStrings.js: Add new strings.
+ * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
+ * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
+ ResourceGraph.refresh function.
+ (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
+ returns the formatted value.
+ (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
+ for the latency and download times. Also generate a custom tooltip.
+ (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
+ (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
+ in case the bar has changed size.
+ (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
+ * inspector/front-end/inspector.css: New styles for the labels.
+
+2008-10-19 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
+ improve performance by eliminating JSValue as a base class for JSCell
+
+ Remove most uses of JSValue, which will be removed in a future patch.
+
+ * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
+ and used JSValuePtr instead.
+ * bindings/js/JSEventTarget.h: Ditto.
+ * bindings/js/JSNodeFilterCondition.h: Ditto.
+ * bindings/js/ScheduledAction.h: Ditto.
+ * bindings/js/ScriptController.h: Ditto.
+ * bindings/objc/WebScriptObjectPrivate.h: Ditto.
+ * bridge/c/c_utility.h: Ditto.
+ * bridge/jni/jni_jsobject.h: Ditto.
+ * bridge/jni/jni_utility.h: Ditto.
+ * bridge/objc/WebScriptObject.h: Ditto.
+ * dom/Traversal.h: Ditto.
+ * inspector/InspectorController.cpp: Ditto.
+ * inspector/JavaScriptProfile.h: Ditto.
+ * inspector/JavaScriptProfileNode.h: Ditto.
+ * loader/FrameLoader.h: Ditto.
+ * page/Console.h: Ditto.
+ * plugins/MimeTypeArray.h: Ditto.
+ * plugins/Plugin.h: Ditto.
+ * plugins/PluginArray.h: Ditto.
+ * plugins/PluginView.cpp:
+ (WebCore::getString): Ditto.
+ (WebCore::PluginView::performRequest): Ditto.
+ * plugins/gtk/PluginViewGtk.cpp: Ditto.
+ * plugins/qt/PluginViewQt.cpp: Ditto.
+ * plugins/win/PluginViewWin.cpp: Ditto.
+
+ * bridge/qt/qt_class.cpp:
+ (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
+ instead of JSValue*.
+ * bridge/qt/qt_class.h: Ditto.
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::mark): Ditto.
+ (JSC::Bindings::QtInstance::invokeMethod): Ditto.
+ (JSC::Bindings::QtInstance::defaultValue): Ditto.
+ (JSC::Bindings::QtInstance::stringValue): Ditto.
+ (JSC::Bindings::QtInstance::numberValue): Ditto.
+ (JSC::Bindings::QtInstance::booleanValue): Ditto.
+ (JSC::Bindings::QtInstance::valueOf): Ditto.
+ (JSC::Bindings::QtField::valueFromInstance): Ditto.
+ (JSC::Bindings::QtField::setValueToInstance): Ditto.
+ * bridge/qt/qt_instance.h: Ditto.
+ * bridge/qt/qt_runtime.cpp: Ditto.
+ (JSC::Bindings::valueRealType): Ditto.
+ (JSC::Bindings::convertValueToQVariant): Ditto.
+ (JSC::Bindings::convertQVariantToValue): Ditto.
+ (JSC::Bindings::findMethodIndex): Ditto.
+ (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
+ (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
+ (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
+ (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
+ (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
+ (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
+ (JSC::Bindings::QtArray::setValueAt): Ditto.
+ (JSC::Bindings::QtArray::valueAt): Ditto.
+ * bridge/qt/qt_runtime.h: Ditto.
+
+ * bridge/testqtbindings.cpp:
+ (main): Use JSValuePtr.
+
+2008-10-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
+ improve performance by eliminating JSValue as a base class for JSCell
+
+ Tweak a little more to get closer to where we can make JSValuePtr a class.
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
+ (WebCore::constructAudio): Ditto.
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
+
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::toHTMLCanvasStyle): Use asString and asObject.
+ (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
+ (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
+ (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
+ (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
+ (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
+ (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
+
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::setDOMException): Use noValue.
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::getDOMPrototype): Use asObject.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::showModalDialog): Use noValue.
+ (jsDOMWindowBaseEvent): Use asObject.
+ (jsDOMWindowBaseImage): Ditto.
+ (jsDOMWindowBaseMessageChannel): Ditto.
+ (jsDOMWindowBaseOption): Ditto.
+ (jsDOMWindowBaseXMLHttpRequest): Ditto.
+ (jsDOMWindowBaseAudio): Ditto.
+ (jsDOMWindowBaseXSLTProcessor): Ditto.
+ (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
+ (WebCore::JSDOMWindowBase::indexGetter): Ditto.
+ (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
+ (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
+ (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
+ (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
+ (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
+ (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
+ (windowProtoFuncOpen): Use noValue.
+ (WebCore::toJSDOMWindow): Use asObject.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::setTimeoutOrInterval): Use asString.
+ (WebCore::toDOMWindow): Use asObject.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
+ (WebCore::JSLazyEventListener::parseCode): Use asObject.
+
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::JSHTMLCollection::nameGetter): Use asObject.
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::nameGetter): Ditto.
+ * bindings/js/JSHTMLElementCustom.cpp:
+ (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter): Ditto.
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
+ * bindings/js/JSHTMLOptionElementConstructor.cpp:
+ (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
+ (WebCore::constructHTMLOptionElement): Ditto.
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::remove): Ditto.
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
+ (WebCore::constructImage): Ditto.
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
+
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
+
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
+ (WebCore::JSMessageChannelConstructor::construct): Ditto.
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ (WebCore::JSMimeTypeArray::nameGetter): Ditto.
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ (WebCore::JSNamedNodeMap::nameGetter): Ditto.
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
+ (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::toNodeFilter): Ditto.
+ * bindings/js/JSNodeListCustom.cpp:
+ (WebCore::JSNodeList::nameGetter): Ditto.
+ * bindings/js/JSPluginArrayCustom.cpp:
+ (WebCore::JSPluginArray::nameGetter): Ditto.
+ * bindings/js/JSPluginCustom.cpp:
+ (WebCore::JSPlugin::nameGetter): Ditto.
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::runtimeObjectGetter): Ditto.
+ (WebCore::runtimeObjectPropertyGetter): Ditto.
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
+ (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
+ (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
+ * bindings/js/JSRGBColor.cpp:
+ (jsRGBColorRed): Ditto.
+ (jsRGBColorGreen): Ditto.
+ (jsRGBColorBlue): Ditto.
+
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item): Use noValue.
+
+ * bindings/js/JSStorageCustom.cpp:
+ (WebCore::JSStorage::nameGetter): Use asObject.
+ (WebCore::JSStorage::deleteProperty): Ditto.
+ (WebCore::JSStorage::customPut): Ditto.
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ (WebCore::JSStyleSheetList::nameGetter): Ditto.
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
+ (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
+ (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate): Use noValue.
+ * bindings/objc/DOMInternal.mm:
+ (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
+
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
+ (-[WebScriptObject valueForKey:]): Ditto.
+ (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ Use asObject and asString.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
+
+ * bridge/c/c_instance.h: Use JSValuePtr.
+ * bridge/c/c_runtime.cpp:
+ (JSC::Bindings::CField::setValueToInstance): Ditto.
+
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant): Use asObject.
+
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::booleanValue): Use JSValuePtr.
+ (JavaInstance::invokeMethod): Ditto. And noValue.
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::getSlot): Ditto.
+ (JavaJSObject::convertValueToJObject): Ditto.
+ * bridge/jni/jni_runtime.cpp:
+ (JavaField::dispatchValueFromInstance): Ditto.
+ (JavaField::valueFromInstance): Ditto.
+ (JavaField::dispatchSetValueToInstance): Ditto.
+ (JavaField::setValueToInstance): Ditto.
+ (JavaArray::setValueAt): Ditto.
+ (JavaArray::valueAt): Ditto.
+ * bridge/jni/jni_runtime.h: Ditto.
+
+ * bridge/jni/jni_utility.cpp:
+ (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
+ instead of a JSValue*.
+ (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
+
+ * bridge/objc/objc_class.h: Use JSValuePtr.
+ * bridge/objc/objc_instance.h: Ditto.
+ * bridge/objc/objc_runtime.h: Ditto.
+
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::callObjCFallbackObject): Use asObject.
+
+ * bridge/objc/objc_utility.h: Use JSValuePtr.
+ * bridge/objc/objc_utility.mm:
+ (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
+ (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
+
+ * bridge/runtime.cpp:
+ (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
+ (JSC::Bindings::Instance::setValueOfField): Ditto.
+
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
+ (JSC::RuntimeArray::indexGetter): Ditto.
+ * bridge/runtime_array.h: Ditto.
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::lengthGetter): Ditto.
+ (JSC::callRuntimeMethod): Ditto.
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
+ (JSC::RuntimeObjectImp::fieldGetter): Ditto.
+ (JSC::RuntimeObjectImp::methodGetter): Ditto.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::executeScript): Use noValue.
+
+ * page/Console.cpp:
+ (WebCore::Console::trace): Use asInternalFunction.
+
+2008-10-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ - lower the default button repaint frequency
+
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::styleDidChange): Changed the timer interval from
+ 0.01 to 0.03.
+
+2008-10-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - Windows build fix
+
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
+ (WebCore::RenderThemeSafari::paintMediaMuteButton):
+ (WebCore::RenderThemeSafari::paintMediaPlayButton):
+ (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
+ (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeSafari::paintMediaSliderThumb):
+
+2008-10-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
+ Long-dead decoded image data make up for most of the object cache's memory use over time
+
+ Add a cache setting for how long decoded image data should be allowed to
+ persist in memory after the image has died. By default, this is set to
+ 0, which means "forever".
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
+ * loader/Cache.h:
+ (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
+ (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::CachedImage): Initialize the decoded data
+ deletion timer.
+ (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
+ the decoded image data.
+ (WebCore::CachedImage::addClient): Stop the timer if it is active.
+ (WebCore::CachedImage::allClientsRemoved): Start the decoded data
+ deletion timer.
+ * loader/CachedImage.h:
+
+2008-10-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21645
+ REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::formData):
+ Fix loop that goes through the FormDataList to go two at a time in a clearer
+ way. My last patch screwed up the way it got form content from the items.
+ This "two at a time" approach is a confusing way to do things, which explains
+ why I got it wrong last time through, but I decided to just fix it locally for
+ now rather than changing the design of FormDataList.
+
+2008-10-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
+ improve performance by eliminating JSValue as a base class for JSCell
+
+ Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
+ changing JSValuePtr to be a class, and then eventually renaming it
+ to JSValue once that's done.
+
+ * bindings/js/JSAttrCustom.cpp:
+ * bindings/js/JSCSSRuleCustom.cpp:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ * bindings/js/JSCSSValueCustom.cpp:
+ * bindings/js/JSCanvasPixelArrayCustom.h:
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ * bindings/js/JSClipboardCustom.cpp:
+ * bindings/js/JSConsoleCustom.cpp:
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ * bindings/js/JSCustomVoidCallback.cpp:
+ * bindings/js/JSCustomVoidCallback.h:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDOMWindowCustom.h:
+ * bindings/js/JSDOMWindowShell.cpp:
+ * bindings/js/JSDOMWindowShell.h:
+ * bindings/js/JSDatabaseCustom.cpp:
+ * bindings/js/JSDocumentCustom.cpp:
+ * bindings/js/JSElementCustom.cpp:
+ * bindings/js/JSEventCustom.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventTarget.cpp:
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSEventTargetNodeCustom.cpp:
+ * bindings/js/JSHTMLAllCollection.h:
+ * bindings/js/JSHTMLAppletElementCustom.cpp:
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * bindings/js/JSHTMLEmbedElementCustom.cpp:
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ * bindings/js/JSHTMLInputElementCustom.cpp:
+ * bindings/js/JSHTMLObjectElementCustom.cpp:
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ * bindings/js/JSHTMLSelectElementCustom.h:
+ * bindings/js/JSHistoryCustom.cpp:
+ * bindings/js/JSImageDataCustom.cpp:
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ * bindings/js/JSInspectedObjectWrapper.h:
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ * bindings/js/JSInspectorCallbackWrapper.h:
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ * bindings/js/JSLocationCustom.cpp:
+ * bindings/js/JSMessagePortCustom.cpp:
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ * bindings/js/JSNamedNodesCollection.cpp:
+ * bindings/js/JSNamedNodesCollection.h:
+ * bindings/js/JSNavigatorCustom.cpp:
+ * bindings/js/JSNodeCustom.cpp:
+ * bindings/js/JSNodeFilterCondition.cpp:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ * bindings/js/JSNodeListCustom.cpp:
+ * bindings/js/JSPluginArrayCustom.cpp:
+ * bindings/js/JSPluginCustom.cpp:
+ * bindings/js/JSPluginElementFunctions.cpp:
+ * bindings/js/JSPluginElementFunctions.h:
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ * bindings/js/JSRGBColor.cpp:
+ * bindings/js/JSRGBColor.h:
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ * bindings/js/JSSVGLengthCustom.cpp:
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ * bindings/js/JSSVGPathSegListCustom.cpp:
+ * bindings/js/JSSVGPointListCustom.cpp:
+ * bindings/js/JSSVGTransformListCustom.cpp:
+ * bindings/js/JSStorageCustom.cpp:
+ * bindings/js/JSStyleSheetCustom.cpp:
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ * bindings/js/JSTextCustom.cpp:
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ * bindings/js/ScheduledAction.cpp:
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ * bindings/js/ScriptController.h:
+ * bindings/objc/WebScriptObject.mm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+ * bridge/c/c_instance.cpp:
+ * bridge/c/c_instance.h:
+ * bridge/c/c_runtime.cpp:
+ * bridge/c/c_runtime.h:
+ * bridge/c/c_utility.cpp:
+ * bridge/jni/jni_instance.cpp:
+ * bridge/jni/jni_instance.h:
+ * bridge/jni/jni_jsobject.mm:
+ * bridge/jni/jni_objc.mm:
+ * bridge/jni/jni_runtime.cpp:
+ * bridge/jni/jni_runtime.h:
+ * bridge/jni/jni_utility.cpp:
+ * bridge/objc/objc_class.mm:
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ * bridge/objc/objc_runtime.h:
+ * bridge/objc/objc_runtime.mm:
+ * bridge/objc/objc_utility.h:
+ * bridge/objc/objc_utility.mm:
+ * bridge/runtime.h:
+ * bridge/runtime_array.cpp:
+ * bridge/runtime_array.h:
+ * bridge/runtime_method.cpp:
+ * bridge/runtime_method.h:
+ * bridge/runtime_object.cpp:
+ * bridge/runtime_object.h:
+ * inspector/JavaScriptCallFrame.cpp:
+ * inspector/JavaScriptCallFrame.h:
+ * inspector/JavaScriptProfile.cpp:
+ * inspector/JavaScriptProfileNode.cpp:
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+ * page/Console.cpp:
+ * page/Console.h:
+ * plugins/MimeTypeArray.h:
+ * plugins/Plugin.h:
+ * plugins/PluginArray.h:
+ * xml/XMLHttpRequest.cpp:
+ Replace JSValue* with JSValuePtr.
+
+2008-10-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
+ improve performance by eliminating JSValue as a base class for JSCell
+
+ Update for change to make PreferredPrimitiveType no longer
+ a member of JSValue.
+
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::defaultValue): Ditto.
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::defaultValue): Ditto.
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::defaultValue): Ditto.
+ * bridge/runtime.h: Ditto. Also removed typedef.
+
+2008-10-18 Darin Adler <darin@apple.com>
+
+ - try to fix Windows build
+
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
+ SafariTheme namespace, since there is now an identically named constant in
+ the ControlPart enum.
+ (WebCore::RenderThemeSafari::paintButton): Ditto.
+ (WebCore::RenderThemeSafari::paintTextField): Ditto.
+ (WebCore::RenderThemeSafari::paintTextArea): Ditto.
+ (WebCore::RenderThemeSafari::paintSearchField): Ditto.
+ (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
+ (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
+ (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
+
+2008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Alp Toker.
+
+ [GTK] crash after selecting a file on an <input type=file>
+ https://bugs.webkit.org/show_bug.cgi?id=21385
+
+ Follow Mac and Win's behaviors for Icon::paint
+
+ * platform/graphics/gtk/IconGtk.cpp:
+ (WebCore::Icon::paint): check if painting is enabled before
+ painting the icon
+
+2008-10-18 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Qt port build fix.
+
+ * platform/qt/RenderThemeQt.h:
+
+2008-10-17 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Kevin Ollivier
+
+ Fix wx port's scrollbar and drawing handling after recent changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21720
+
+ * platform/ScrollView.h:
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformVisibleContentRect):
+ (WebCore::ScrollView::platformContentsSize):
+ (WebCore::ScrollView::platformSetContentsSize):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::paint):
+
+2008-10-17 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. EAppearance -> ControlPart.
+
+ * platform/wx/RenderThemeWx.cpp:
+ (WebCore::RenderThemeWx::isControlStyled):
+ (WebCore::RenderThemeWx::adjustRepaintRect):
+ (WebCore::RenderThemeWx::controlSupportsTints):
+ (WebCore::RenderThemeWx::supportsFocus):
+ (WebCore::RenderThemeWx::paintButton):
+
+2008-10-17 David Hyatt <hyatt@apple.com>
+
+ Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
+ values from the enum since they are handled by ScrollbarTheme instead.
+
+ Reviewed by Tim Hatcher
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator ControlPart):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::adjustRenderStyle):
+ * css/CSSValueKeywords.in:
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::supportsFocus):
+ (WebCore::RenderThemeGtk::baselinePosition):
+ (WebCore::setToggleSize):
+ (WebCore::RenderThemeGtk::setCheckboxSize):
+ (WebCore::RenderThemeGtk::setRadioSize):
+ (WebCore::RenderThemeGtk::adjustButtonStyle):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::baselinePosition):
+ (WebCore::RenderThemeQt::controlSupportsTints):
+ (WebCore::RenderThemeQt::adjustRepaintRect):
+ (WebCore::RenderThemeQt::isControlStyled):
+ (WebCore::computeSizeBasedOnStyle):
+ (WebCore::RenderThemeQt::paintButton):
+ (WebCore::RenderThemeQt::paintTextField):
+ (WebCore::RenderThemeQt::paintMenuList):
+ (WebCore::RenderThemeQt::supportsFocus):
+ (WebCore::RenderThemeQt::applyTheme):
+ (WebCore::RenderThemeQt::adjustSliderThumbSize):
+ * platform/qt/RenderThemeQt.h:
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::createThumbStyle):
+ (WebCore::RenderSlider::layout):
+ (WebCore::RenderSlider::setValueForPosition):
+ (WebCore::RenderSlider::setPositionFromValue):
+ (WebCore::RenderSlider::positionForOffset):
+ (WebCore::RenderSlider::currentPosition):
+ (WebCore::RenderSlider::setCurrentPosition):
+ (WebCore::RenderSlider::trackSize):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::adjustStyle):
+ (WebCore::RenderTheme::paint):
+ (WebCore::RenderTheme::paintBorderOnly):
+ (WebCore::RenderTheme::paintDecorations):
+ (WebCore::RenderTheme::isControlContainer):
+ (WebCore::RenderTheme::isControlStyled):
+ (WebCore::RenderTheme::supportsFocusRing):
+ (WebCore::RenderTheme::isDefault):
+ * rendering/RenderTheme.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::isControlStyled):
+ (WebCore::RenderThemeMac::adjustRepaintRect):
+ (WebCore::RenderThemeMac::baselinePosition):
+ (WebCore::RenderThemeMac::controlSupportsTints):
+ (WebCore::RenderThemeMac::adjustButtonStyle):
+ (WebCore::RenderThemeMac::setButtonCellState):
+ (WebCore::RenderThemeMac::popupInternalPaddingLeft):
+ (WebCore::RenderThemeMac::popupInternalPaddingRight):
+ (WebCore::RenderThemeMac::popupInternalPaddingTop):
+ (WebCore::RenderThemeMac::popupInternalPaddingBottom):
+ (WebCore::RenderThemeMac::paintSliderTrack):
+ (WebCore::RenderThemeMac::paintSliderThumb):
+ (WebCore::RenderThemeMac::adjustSliderThumbSize):
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::isControlStyled):
+ (WebCore::RenderThemeSafari::adjustRepaintRect):
+ (WebCore::RenderThemeSafari::baselinePosition):
+ (WebCore::RenderThemeSafari::controlSupportsTints):
+ (WebCore::RenderThemeSafari::adjustButtonStyle):
+ (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
+ (WebCore::RenderThemeSafari::popupInternalPaddingRight):
+ (WebCore::RenderThemeSafari::popupInternalPaddingTop):
+ (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
+ (WebCore::RenderThemeSafari::paintSliderTrack):
+ (WebCore::RenderThemeSafari::adjustSliderThumbSize):
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::supportsFocus):
+ (WebCore::RenderThemeWin::determineClassicState):
+ (WebCore::RenderThemeWin::getClassicThemeData):
+ (WebCore::RenderThemeWin::getThemeData):
+ (WebCore::drawControl):
+ (WebCore::RenderThemeWin::paintSliderTrack):
+ (WebCore::RenderThemeWin::adjustSliderThumbSize):
+ * rendering/RenderThemeWin.h:
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::hasAppearance):
+ (WebCore::InheritedFlags::appearance):
+ (WebCore::InheritedFlags::setAppearance):
+ (WebCore::InheritedFlags::initialAppearance):
+ * rendering/style/RenderStyleConstants.h:
+
+2008-10-17 David Hyatt <hyatt@apple.com>
+
+ Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
+ file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
+
+ Reviewed by Tim Hatcher
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * config.h:
+ * platform/Theme.h: Added.
+ (WebCore::Theme::Theme):
+ (WebCore::Theme::~Theme):
+ (WebCore::Theme::baselinePositionAdjustment):
+ (WebCore::Theme::controlHasInactiveAppearance):
+ (WebCore::Theme::controlsCanHaveInactiveAppearance):
+ (WebCore::Theme::controlsCanHaveHoveredAppearance):
+ (WebCore::Theme::controlDrawsBorder):
+ (WebCore::Theme::controlDrawsBackground):
+ (WebCore::Theme::controlDrawsFocusOutline):
+ (WebCore::Theme::selectionColor):
+ (WebCore::Theme::textSearchHighlightColor):
+ (WebCore::Theme::systemColor):
+ (WebCore::Theme::systemFont):
+ (WebCore::Theme::caretBlinkFrequency):
+ (WebCore::Theme::themeChanged):
+ (WebCore::Theme::controlSize):
+ (WebCore::Theme::controlFont):
+ (WebCore::Theme::controlPadding):
+ (WebCore::Theme::controlInternalPadding):
+ (WebCore::Theme::controlBorder):
+ (WebCore::Theme::controlBorderRadius):
+ (WebCore::Theme::paint):
+ (WebCore::Theme::inflateControlPaintRect):
+ * platform/ThemeTypes.h: Added.
+ (WebCore::):
+ (WebCore::ControlBox::ControlBox):
+ (WebCore::ControlBox::top):
+ (WebCore::ControlBox::right):
+ (WebCore::ControlBox::bottom):
+ (WebCore::ControlBox::left):
+ * platform/mac/ThemeMac.h: Added.
+ (WebCore::ThemeMac::ThemeMac):
+ (WebCore::ThemeMac::~ThemeMac):
+ * platform/mac/ThemeMac.mm: Added.
+ (WebCore::platformTheme):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::RenderTheme):
+ * rendering/RenderTheme.h:
+
+2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Sam Weinig. Landed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21603
+ [GTK] Minor fixes to GOwnPtr
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateErrorCallback):
+
+2008-10-17 Timothy Hatcher <timothy@apple.com>
+
+ Recompile the JavaScript functions when removing any listener, so functions that are
+ not being debugged can resume normal speed again.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21715
+
+ Reviewed by Geoffrey Garen.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
+ was firing when closing the window and having the recompile fire after. This was an
+ overzelious assert now.
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
+ (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
+
+2008-10-17 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a regression where starting a debugging session in
+ another Web Inspector window would not show any scripts.
+ Also only attach the debugger to only the required Pages.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21708
+
+ Reviewed by Darin Adler.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::addListener): Add an assert and
+ remove the call to willAddFirstListener(). Add a call to
+ didAddListener().
+ (WebCore::JavaScriptDebugServer::removeListener): Add an assert
+ and call to didRemoveListener().
+ (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
+ if there is a listener interested in the new Page.
+ (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
+ Use hasGlobalListeners() instead of isEmpty().
+ (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
+ (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
+ debugger to the page if non-null, or all pages if page is null.
+ (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
+ the debugger only if there are no interested listeners.
+ (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
+ call to Page::setDebuggerForAllPages().
+ * inspector/JavaScriptDebugServer.h:
+ (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
+
+2008-10-15 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Have ImageDocument generate its own filename for the title of images
+ without relying on the suggested filename from the network layer, which
+ may be nonexistant or not relevant.
+ https://bugs.webkit.org/show_bug.cgi?id=21565
+
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageTokenizer::finish):
+
+2008-10-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Non-Mac build fix.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCoreSources.bkl:
+ Added ActiveDOMObject to the build.
+
+2008-10-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21642
+ Abstract out active object tracking
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markActiveObjectsForDocument):
+ * dom/ActiveDOMObject.cpp: Added.
+ (WebCore::ActiveDOMObject::ActiveDOMObject):
+ (WebCore::ActiveDOMObject::~ActiveDOMObject):
+ (WebCore::ActiveDOMObject::contextDestroyed):
+ (WebCore::ActiveDOMObject::stop):
+ * dom/ActiveDOMObject.h: Added.
+ (WebCore::ActiveDOMObject::document):
+ (WebCore::ActiveDOMObject::hasPendingActivity):
+ (WebCore::ActiveDOMObject::setPendingActivity):
+ (WebCore::ActiveDOMObject::unsetPendingActivity):
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::stopActiveDOMObjects):
+ (WebCore::Document::createdActiveDOMObject):
+ (WebCore::Document::destroyedActiveDOMObject):
+ * dom/Document.h:
+ (WebCore::Document::activeDOMObjects):
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::contextDestroyed):
+ * dom/MessagePort.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopLoading):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+ (WebCore::XMLHttpRequest::~XMLHttpRequest):
+ (WebCore::XMLHttpRequest::associatedFrame):
+ (WebCore::XMLHttpRequest::responseXML):
+ (WebCore::XMLHttpRequest::callReadyStateChangeListener):
+ (WebCore::XMLHttpRequest::initSend):
+ (WebCore::XMLHttpRequest::send):
+ (WebCore::XMLHttpRequest::createRequest):
+ (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
+ (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
+ (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
+ (WebCore::XMLHttpRequest::loadRequestSynchronously):
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously):
+ (WebCore::XMLHttpRequest::dropProtection):
+ (WebCore::XMLHttpRequest::setRequestHeader):
+ (WebCore::XMLHttpRequest::processSyncLoadResults):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
+ (WebCore::XMLHttpRequest::willSendRequest):
+ (WebCore::XMLHttpRequest::accessControlCheck):
+ (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
+ (WebCore::XMLHttpRequest::stop):
+ (WebCore::XMLHttpRequest::contextDestroyed):
+ * xml/XMLHttpRequest.h:
+ Move activity tracking to a new ActiveDOMObject class.
+
+2008-10-16 David Hyatt <hyatt@apple.com>
+
+ Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
+ they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
+ did though. This patch removes the renderer argument and the Element subclass shadow implementation
+ so that confusion like this can't occur again.
+
+ Reviewed by Oliver Hunt
+
+ * dom/Element.cpp:
+ * dom/Element.h:
+ * dom/Node.cpp:
+ (WebCore::Node::createRendererIfNeeded):
+ (WebCore::Node::styleForRenderer):
+ * dom/Node.h:
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::attach):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::attach):
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::canvasResource):
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::build):
+ * svg/SVGGradientElement.cpp:
+ (WebCore::SVGGradientElement::buildStops):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::attachShadowTree):
+
+2008-10-16 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/attachment.cgi?bugid=21647
+
+ Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
+ out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
+ all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
+ to use the arena.
+
+ At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
+ as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
+ arena also limited the usefulness.
+
+ Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
+ mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
+ manual ref/deref far outweigh keeping them in the arena.
+
+ Reviewed by Adam Roben
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::CSSStyleSelector):
+ (WebCore::CSSStyleSelector::~CSSStyleSelector):
+ (WebCore::CSSStyleSelector::styleForElement):
+ (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
+ (WebCore::CSSStyleSelector::pseudoStyleForElement):
+ These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
+ so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
+
+ (WebCore::CSSStyleSelector::updateFont):
+ (WebCore::CSSStyleSelector::checkSelector):
+ (WebCore::CSSStyleSelector::applyProperty):
+ (WebCore::CSSStyleSelector::mapFillSize):
+ (WebCore::CSSStyleSelector::mapFillXPosition):
+ (WebCore::CSSStyleSelector::mapFillYPosition):
+ * css/CSSStyleSelector.h:
+ (WebCore::CSSStyleSelector::style):
+ * dom/Document.cpp:
+ (WebCore::Document::recalcStyle):
+ * dom/Element.cpp:
+ (WebCore::Element::styleForRenderer):
+ (WebCore::Element::recalcStyle):
+ (WebCore::Element::computedStyle):
+ * dom/Element.h:
+ * dom/ElementRareData.h:
+ (WebCore::ElementRareData::ElementRareData):
+ (WebCore::ElementRareData::resetComputedStyle):
+ * dom/Node.cpp:
+ (WebCore::Node::diff):
+ (WebCore::Node::createRendererIfNeeded):
+ (WebCore::Node::styleForRenderer):
+ (WebCore::Node::setRenderStyle):
+ * dom/Node.h:
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setFont):
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::attach):
+ (WebCore::HTMLOptGroupElement::detach):
+ (WebCore::HTMLOptGroupElement::setRenderStyle):
+ (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
+ * html/HTMLOptGroupElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::attach):
+ (WebCore::HTMLOptionElement::detach):
+ (WebCore::HTMLOptionElement::setRenderStyle):
+ (WebCore::HTMLOptionElement::nonRendererRenderStyle):
+ * html/HTMLOptionElement.h:
+ * page/animation/AnimationBase.h:
+ (WebCore::AnimationBase::animate):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationController::updateAnimations):
+ * page/animation/AnimationController.h:
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::updateTransitions):
+ (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
+ (WebCore::CompositeAnimationPrivate::animate):
+ (WebCore::CompositeAnimation::animate):
+ * page/animation/CompositeAnimation.h:
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::ImplicitAnimation):
+ (WebCore::ImplicitAnimation::~ImplicitAnimation):
+ (WebCore::ImplicitAnimation::animate):
+ (WebCore::ImplicitAnimation::reset):
+ (WebCore::ImplicitAnimation::isTargetPropertyEqual):
+ (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
+ * page/animation/ImplicitAnimation.h:
+ (WebCore::ImplicitAnimation::create):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::KeyframeAnimation):
+ (WebCore::KeyframeAnimation::~KeyframeAnimation):
+ (WebCore::KeyframeAnimation::animate):
+ (WebCore::KeyframeAnimation::validateTransformFunctionList):
+ * page/animation/KeyframeAnimation.h:
+ (WebCore::KeyframeAnimation::create):
+ (WebCore::KeyframeAnimation::unanimatedStyle):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
+ (WebCore::MediaControlInputElement::MediaControlInputElement):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::styleDidChange):
+ (WebCore::RenderBlock::updateFirstLetter):
+ * rendering/RenderContainer.cpp:
+ (WebCore::RenderContainer::addChild):
+ (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::updateFromElement):
+ (WebCore::RenderFileUploadControl::createButtonStyle):
+ * rendering/RenderFileUploadControl.h:
+ * rendering/RenderFlow.cpp:
+ (WebCore::RenderFlow::createAnonymousFlow):
+ * rendering/RenderFlow.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::addChildToFlow):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollCornerStyle):
+ (WebCore::RenderLayer::updateResizerStyle):
+ (WebCore::RenderLayer::updateReflectionStyle):
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::styleDidChange):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createPanel):
+ (WebCore::RenderMedia::createTimeDisplay):
+ (WebCore::RenderMedia::changeOpacity):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::selectionBackgroundColor):
+ (WebCore::RenderObject::selectionForegroundColor):
+ (WebCore::RenderObject::createAnonymousBlock):
+ (WebCore::RenderObject::setAnimatableStyle):
+ (WebCore::RenderObject::setStyle):
+ (WebCore::RenderObject::setStyleInternal):
+ (WebCore::RenderObject::arenaDelete):
+ (WebCore::RenderObject::firstLineStyle):
+ (WebCore::RenderObject::getPseudoStyle):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::style):
+ * rendering/RenderSVGBlock.cpp:
+ (WebCore::RenderSVGBlock::setStyle):
+ * rendering/RenderSVGBlock.h:
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbar.h:
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::styleDidChange):
+ (WebCore::RenderSlider::createThumbStyle):
+ (WebCore::RenderSlider::updateFromElement):
+ * rendering/RenderSlider.h:
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::addChild):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::addChild):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::styleDidChange):
+ (WebCore::RenderTextControl::createInnerBlockStyle):
+ (WebCore::RenderTextControl::createInnerTextStyle):
+ (WebCore::RenderTextControl::createResultsButtonStyle):
+ (WebCore::RenderTextControl::createCancelButtonStyle):
+ (WebCore::RenderTextControl::createSubtreeIfNeeded):
+ (WebCore::RenderTextControl::updatePlaceholderVisibility):
+ * rendering/RenderTextControl.h:
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerElement::attachInnerElement):
+ * rendering/TextControlInnerElements.h:
+ * rendering/style/KeyframeList.cpp:
+ (WebCore::KeyframeList::clear):
+ (WebCore::KeyframeList::operator==):
+ (WebCore::KeyframeList::insert):
+ * rendering/style/KeyframeList.h:
+ (WebCore::KeyframeValue::KeyframeValue):
+ (WebCore::KeyframeValue::~KeyframeValue):
+ (WebCore::KeyframeValue::key):
+ (WebCore::KeyframeValue::style):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::defaultStyle):
+ (WebCore::RenderStyle::create):
+ (WebCore::RenderStyle::createDefaultStyle):
+ (WebCore::RenderStyle::clone):
+ (WebCore::RenderStyle::RenderStyle):
+ (WebCore::RenderStyle::getCachedPseudoStyle):
+ (WebCore::RenderStyle::addCachedPseudoStyle):
+ * rendering/style/RenderStyle.h:
+ (WebCore::):
+ (WebCore::InheritedFlags::operator!=):
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::canvasResource):
+ * svg/SVGGradientElement.cpp:
+ (WebCore::SVGGradientElement::buildStops):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::resolveStyle):
+ * svg/SVGStyledElement.h:
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::recalcStyle):
+ (WebCore::SVGUseElement::attachShadowTree):
+
+2008-10-16 Kenneth Russell <kenneth.russell@sun.com>
+
+ Reviewed and landed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21587
+ NPN_PluginThreadAsyncCall does not work properly
+
+ * plugins/PluginMainThreadScheduler.cpp:
+ (WebCore::PluginMainThreadScheduler::dispatchCalls):
+ Make sure to set m_callPending to false once the queue has been cleared.
+
+2008-10-15 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21609
+ Make MessagePorts protect their peers across heaps
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::MessagePort):
+ * dom/MessagePort.h:
+ (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
+ (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
+ Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
+ means that the implementation object knows about JS bindings - but it is not possible to
+ access JS wrappers from another heap/thread.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::markCrossHeapDependentObjectsForDocument):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
+ * bindings/js/JSDOMWindowBase.h:
+ Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
+ hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
+ as long as its entangled port is accessible itself.
+
+2008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Remove unneeded check of whether a Page defers loading before running it
+ in a modal dialog.
+
+ No test possible.
+
+ Reviewed by Tim Hatcher.
+
+ * page/Chrome.cpp:
+
+2008-10-15 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
+ Start the debugger without reloading the inspected page
+
+ * WebCore.base.exp: New symbols.
+
+ * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
+ * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
+ * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ (WebCore::InspectorController::startDebugging):
+ * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
+ to startDebugging, and changed its behavior to match.
+
+ * inspector/JavaScriptDebugListener.h:
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
+ (WebCore::JavaScriptDebugServer::addListener):
+ (WebCore::JavaScriptDebugServer::removeListener):
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
+ (WebCore::JavaScriptDebugServer::willAddFirstListener):
+ (WebCore::JavaScriptDebugServer::didRemoveLastListener):
+ * inspector/JavaScriptDebugServer.h: Refactored the
+ JavaScriptDebugServer to centralize handling of adding the first listener
+ and removing the last. Then, added a feature to recompile all JS functions
+ in these cases. This allows us to dynamically add and remove hooks like
+ the debugger hooks without reloading the page.
+
+ * inspector/front-end/ScriptsPanel.js:
+ * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
+ startDebugging rename. Removed all UI that claimed that starting the
+ debugger would reload the page.
+
+2008-10-15 Adele Peterson <adele@apple.com>
+
+ Attempt to fix the Tiger build.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+
+2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Build fix attempt.
+
+ Try to fix static/non-static declaration of g_string_append_uri_escape
+ by renaming that string. Another look needs to be taken.
+
+ * platform/gtk/guriescape.c:
+ (_webcore_g_string_append_uri_escaped):
+ (_webcore_g_uri_escape_string):
+
+2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Build fix.
+
+ m_animatingImageType is gone.
+
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::BitmapImage::BitmapImage):
+
+2008-10-15 Jeff Cook <cookiecaper@gmail.com>
+
+ Reviewed by Holger Freyther.
+
+ Stop SIGSEGV when leaving a page with a Flash object by reordering
+ window destruction and plugin stop.
+
+ See https://bugs.webkit.org/show_bug.cgi?id=20779
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::stop):
+
+2008-10-15 Adele Peterson <adele@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
+ (WebCore::ResourceHandle::start):
+ (WebCore::ResourceHandle::cancel):
+ (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
+ (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
+ (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
+
+2008-10-15 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Hyatt.
+
+ Qt build bustage fix.
+
+ * platform/graphics/qt/StillImageQt.h:
+ (WebCore::StillImage::destroyDecodedData):
+
+2008-10-15 David Hyatt <hyatt@apple.com>
+
+ Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
+
+ Reviewed by Mark Rowe
+
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+
+2008-10-15 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
+ Account for paint and timer lag when animating images. Also pretend
+ that images whose animations were paused (by becoming invisible)
+ continued to animate, by "catching up" to the correct frame when they're
+ shown again.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::destroyDecodedData):
+ (WebCore::BitmapImage::cacheFrame):
+ (WebCore::BitmapImage::frameIsCompleteAtIndex):
+ (WebCore::BitmapImage::frameDurationAtIndex):
+ (WebCore::BitmapImage::frameHasAlphaAtIndex):
+ (WebCore::BitmapImage::repetitionCount):
+ (WebCore::BitmapImage::shouldAnimate):
+ (WebCore::BitmapImage::startAnimation):
+ (WebCore::BitmapImage::resetAnimation):
+ (WebCore::BitmapImage::advanceAnimation):
+ (WebCore::BitmapImage::internalAdvanceAnimation):
+ (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
+ * platform/graphics/BitmapImage.h:
+ (WebCore::FrameData::FrameData):
+ (WebCore::BitmapImage::):
+ * platform/graphics/GeneratedImage.h:
+ (WebCore::GeneratedImage::destroyDecodedData):
+ * platform/graphics/Image.h:
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::FrameData::clear):
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::FrameData::clear):
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/cg/PDFDocumentImage.h:
+ (WebCore::PDFDocumentImage::destroyDecodedData):
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::FrameData::clear):
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::FrameData::clear):
+ (WebCore::BitmapImage::draw):
+ * svg/graphics/SVGImage.h:
+ (WebCore::SVGImage::destroyDecodedData):
+
+2008-10-14 Maxime Britto <britto@apple.com>
+
+ Reviewed by Darin Adler, tweaked and landed by Beth.
+
+ * WebCore.base.exp: Exposes two functions to be able to create a
+ selection from a point on the screen. Also exposes the new
+ TextIterator::currentNode function.
+ * WebCore/editing/TextIterator.cpp:
+ (TextIterator::currentNode) : New function that returns the current
+ text node or NULL if there is no text node.
+
+2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ http://bugs.webkit.org/show_bug.cgi?id=21211
+ [CURL] Upload doesn't work because cancel is called
+
+ FormDataStream::read returns 0 when retrieving data from the form
+ fails, but also when there is no more data to send. This means that
+ ResourceHandleManager::cancel is always called even when the data was
+ successfully sent.
+
+ Check if there are more elements in the form before calling
+ FormDataStream::read.
+
+ * platform/network/curl/FormDataStreamCurl.cpp:
+ (WebCore::FormDataStream::hasMoreElements):
+ * platform/network/curl/FormDataStreamCurl.h:
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::readCallback):
+
+2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ http://bugs.webkit.org/show_bug.cgi?id=20664
+ [GTK] File names are not always encodable in UTF-8
+
+ On Linux file names are just raw data and cannot always be directly
+ encoded in UTF-8 or in any other encodings, so we escape them before
+ storing the file name in a String and unescape them before passing
+ them to native functions handling files.
+
+ * GNUmakefile.am:
+ * platform/FileSystem.h:
+ * platform/gtk/FileChooserGtk.cpp:
+ (WebCore::stringByAdoptingFileSystemRepresentation):
+ (WebCore::FileChooser::basenameForWidth):
+ * platform/gtk/FileSystemGtk.cpp:
+ (WebCore::filenameToString):
+ (WebCore::filenameFromString):
+ (WebCore::filenameForDisplay):
+ (WebCore::fileExists):
+ (WebCore::deleteFile):
+ (WebCore::deleteEmptyDirectory):
+ (WebCore::getFileSize):
+ (WebCore::getFileModificationTime):
+ (WebCore::makeAllDirectories):
+ (WebCore::homeDirectoryPath):
+ (WebCore::pathGetFileName):
+ (WebCore::listDirectory):
+ * platform/gtk/KURLGtk.cpp:
+ (WebCore::KURL::fileSystemPath):
+ * platform/gtk/SharedBufferGtk.cpp:
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+ * platform/gtk/guriescape.c: Added.
+ (is_valid):
+ (gunichar_ok):
+ (g_string_append_uri_escaped):
+ (_webcore_g_uri_escape_string):
+ * platform/gtk/guriescape.h: Added.
+
+2008-10-15 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ - part of https://bugs.webkit.org/show_bug.cgi?id=20543
+ Moved gradient spread method out of SVG into the GraphicsContext.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::spreadMethod):
+ (WebCore::GraphicsContext::setSpreadMethod):
+ * platform/graphics/GraphicsContext.h:
+ (WebCore::):
+ * platform/graphics/GraphicsContextPrivate.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::applySpreadMethod):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::applySpreadMethod):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ * svg/GradientAttributes.h:
+ (WebCore::GradientAttributes::GradientAttributes):
+ (WebCore::GradientAttributes::spreadMethod):
+ (WebCore::GradientAttributes::setSpreadMethod):
+ * svg/SVGGradientElement.cpp:
+ (WebCore::SVGGradientElement::parseMappedAttribute):
+ * svg/SVGGradientElement.h:
+ * svg/SVGLinearGradientElement.cpp:
+ (WebCore::SVGLinearGradientElement::collectGradientProperties):
+ * svg/SVGRadialGradientElement.cpp:
+ (WebCore::SVGRadialGradientElement::collectGradientProperties):
+ * svg/graphics/SVGPaintServerGradient.cpp:
+ (WebCore::operator<<):
+ (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
+ (WebCore::SVGPaintServerGradient::spreadMethod):
+ (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
+ (WebCore::SVGPaintServerGradient::externalRepresentation):
+ * svg/graphics/SVGPaintServerGradient.h:
+ * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
+ (WebCore::SVGPaintServerGradient::setup):
+ * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
+ (WebCore::SVGPaintServerGradient::setup):
+
+2008-10-09 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Make pan scrolling a platform configurable option
+ https://bugs.webkit.org/show_bug.cgi?id=21515
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleAutoscroll):
+ (WebCore::EventHandler::autoscrollTimerFired):
+ (WebCore::EventHandler::stopAutoscrollTimer):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::keyEvent):
+
+2008-10-10 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add some PLATFORM(CHROMIUM) ifdefs to WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=21511
+
+ * loader/FTPDirectoryDocument.cpp:
+ * loader/FTPDirectoryParser.cpp:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::finishedLoadingDocument):
+ * platform/ContextMenuItem.h:
+ * platform/Cursor.h:
+ * platform/DragData.h:
+ * platform/DragImage.h:
+ * platform/Pasteboard.h:
+ * platform/PlatformKeyboardEvent.h:
+ (WebCore::PlatformKeyboardEvent::isSystemKey):
+ * platform/PlatformMenuDescription.h:
+ * platform/PlatformMouseEvent.h:
+ * platform/PlatformWheelEvent.h:
+ * platform/PopupMenu.h:
+ * platform/ScrollView.h:
+ * platform/Widget.h:
+ * platform/network/NetworkStateNotifier.h:
+
+2008-10-14 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
+ Optimize keyframe style sheet changes by avoiding styleSheetChanged()
+
+ Test: css3/change-keyframes.html
+
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::append):
+ (WebCore::WebKitCSSKeyframesRule::deleteRule):
+
+2008-10-14 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21595
+
+ Clean up background and overflow propagation from the body to the viewport. Make it match the
+ latest CSS2.1 spec thinking.
+
+ Reviewed by Adam Roben
+
+ Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
+ (available at http://simon.html5.org/test/css/magic-body/).
+
+ * dom/Document.cpp:
+ (WebCore::Document::body):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleDidChange):
+ (WebCore::RenderBox::paintRootBoxDecorations):
+ (WebCore::RenderBox::paintBoxDecorations):
+ (WebCore::RenderBox::repaintLayerRectsForImage):
+
+2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed and landed by Sam Weinig.
+
+ Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
+ remove NSResolver code, leaving only checking for selectors that need
+ NS resolution and throwing a coresponding error.
+
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSDocumentCustom.cpp:
+ * bindings/js/JSDocumentFragmentCustom.cpp:
+ * bindings/js/JSElementCustom.cpp:
+ * bindings/js/JSNSResolver.cpp: Removed.
+ * bindings/js/JSNSResolver.h: Removed.
+ * dom/Document.idl:
+ * dom/DocumentFragment.idl:
+ * dom/Element.idl:
+ * dom/NSResolver.h: Removed.
+ * dom/NSResolver.idl: Removed.
+ * dom/Node.h:
+ * dom/Node.cpp:
+ (WebCore::forEachTagSelector):
+ (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
+ (WebCore::selectorNeedsNamespaceResolution):
+ (WebCore::Node::querySelector):
+ (WebCore::Node::querySelectorAll):
+
+2008-10-14 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig (all but the FormDataListItem rename).
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21593
+ Bug 21593: add multiple-file support to HTMLFormElement
+
+ * html/FormDataList.cpp: Removed appendFile since it's now inline.
+ Also took incorrect old copyrights off of this file that are left
+ over from when it was split.
+ * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
+ made it a member of FormDataList. Changed it to hold a File object
+ instead of a path. And made its data members private. Changed
+ FormDataList::appendFile accordingly.
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::formData): Updated for above changes.
+ Removed the code that special-cases HTMLInputElement, because now
+ the FormDataListItem has everything we need. And if there are
+ multiple files, we'll get multiple list items for them.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData): Changed the code for
+ <input type=file> to use File objects instead of path strings and
+ also to append multiple files if the file list has them.
+
+2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix QtWebKit scrollbar painting errors
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::ScrollbarThemeQt::paint):
+ (WebCore::ScrollbarThemeQt::paintScrollCorner):
+
+2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix scrollbar arrows for horizontal scrollbars
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+
+2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Use style-painter to draw scrollbars in ScrollbarThemeQt
+
+ This has the benefit of setting up the painter properly without
+ antialiasing and saving and restoring the brush. It also ensures
+ that we use the style of the QWebView over the QApplication style
+ if possible.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::StylePainter::StylePainter):
+ (WebCore::StylePainter::init):
+ * platform/qt/RenderThemeQt.h:
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::ScrollbarThemeQt::paint):
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
+ for how to add support for the rest.
+
+ Reviewed by Oliver Hunt
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::ensurePropertyMap):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::fillOpacity):
+ (WebCore::RenderStyle::setFillOpacity):
+ (WebCore::RenderStyle::strokeOpacity):
+ (WebCore::RenderStyle::setStrokeOpacity):
+ (WebCore::RenderStyle::floodOpacity):
+ (WebCore::RenderStyle::setFloodOpacity):
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
+
+ Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
+ implements paintTrackBackground so that when the thumb is not present the track still paints.
+
+ Reviewed by Oliver Hunt
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::paintTrackBackground):
+ * platform/win/ScrollbarThemeWin.h:
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ Fix over-invalidation of native scrollbars.
+
+ Reviewed by Oliver Hunt
+
+ * platform/Scrollbar.h:
+ (WebCore::Scrollbar::styleChanged):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::styleChanged):
+
+2008-10-13 Alp Toker <alp@nuanti.com>
+
+ Fix autotools dist build target by listing recently added header
+ files only. Not reviewed.
+
+ * GNUmakefile.am:
+
+2008-10-13 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Don't run a SQLite query on every iteration of the sync thread when the query
+ will touch a large portion of the icon database while performing no useful work.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
+ we modified the database.
+ (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
+ unless we've been asked to prune any dangling pageURLs that we find.
+
+2008-10-13 Maciej Stachowiak <mjs@apple.com>
+
+ Rubber stamped by Mark Rowe.
+
+ - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
+
+ * Configurations/DebugRelease.xcconfig:
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ Make dropdown lists on Windows work with CSS custom scrollbars.
+
+ Reviewed by Adele
+
+ * platform/PopupMenu.h:
+ (WebCore::PopupMenu::scrollbarCornerPresent):
+ * platform/PopupMenuClient.h:
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::show):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::createScrollbar):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::createScrollbar):
+ * rendering/RenderTextControl.h:
+
+2008-10-13 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
+
+ Links from image maps were not being included in the web area's AXLinkUIElements attribute.
+ The position of image map links was being reported incorrectly and the parent-chain
+ hierarchy for image map links was incorrect because image map links did not have a reference
+ to their parent image.
+
+ Test: accessibility/document-links.html
+
+ * page/AccessibilityImageMapLink.cpp:
+ (WebCore::AccessibilityImageMapLink::parentObject):
+ (WebCore::AccessibilityImageMapLink::actionElement):
+ (WebCore::AccessibilityImageMapLink::elementRect):
+ * page/AccessibilityImageMapLink.h:
+ (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
+ (WebCore::AccessibilityImageMapLink::setParent):
+ * page/AccessibilityObject.cpp:
+ * page/AccessibilityObject.h:
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
+ (WebCore::AccessibilityRenderObject::getDocumentLinks):
+ (WebCore::AccessibilityRenderObject::addChildren):
+ * page/AccessibilityRenderObject.h:
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
+ the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
+ idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
+
+ Reviewed by Tim Hatcher
+
+ Added scrollbars/listbox-scrollbar-combinations.html
+
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::~RenderListBox):
+ (WebCore::RenderListBox::updateFromElement):
+ (WebCore::RenderListBox::createScrollbar):
+ (WebCore::RenderListBox::destroyScrollbar):
+ (WebCore::RenderListBox::setHasVerticalScrollbar):
+ * rendering/RenderListBox.h:
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ In order to always match the :corner-present pseudo-class properly, delay initial updating of
+ scrollbar styles until the layer has the scrollbars in its member variables.
+
+ Reviewed by Tim Hatcher
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::setHasHorizontalScrollbar):
+ (WebCore::RenderLayer::setHasVerticalScrollbar):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::RenderScrollbar):
+
+2008-10-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
+ 5 false positive StructureID leaks
+
+ In WebCore, we intentionally leak the common JSGlobalData which in turn
+ leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
+ ignore the StructureIDs leaked within.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::commonJSGlobalData):
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
+ artwork based on whether there is a scrollbar corner present.
+
+ Reviewed by Tim Hatcher
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollbarCornerPresent):
+ * platform/ScrollView.h:
+ * platform/ScrollbarClient.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::cornerRect):
+ (WebCore::scrollCornerRect):
+ (WebCore::resizerCornerRect):
+ (WebCore::RenderLayer::scrollbarCornerPresent):
+ (WebCore::RenderLayer::setHasHorizontalScrollbar):
+ (WebCore::RenderLayer::setHasVerticalScrollbar):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::horizontalScrollbar):
+ (WebCore::RenderLayer::verticalScrollbar):
+ * rendering/RenderListBox.h:
+ (WebCore::RenderListBox::scrollbarCornerPresent):
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
+ test case for all this can land).
+
+ Reviewed by Tim Hatcher
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintOverflowControls):
+ (WebCore::RenderLayer::paintScrollCorner):
+ (WebCore::RenderLayer::paintResizer):
+ (WebCore::RenderLayer::styleChanged):
+ (WebCore::RenderLayer::updateScrollCornerStyle):
+ (WebCore::RenderLayer::updateResizerStyle):
+ * rendering/RenderLayer.h:
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::paint):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::paintIntoRect):
+
+2008-10-13 David Hyatt <hyatt@apple.com>
+
+ Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
+ and invalidate properly as images load, etc.
+
+ Reviewed by Tim Hatcher
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::cornerRect):
+ (WebCore::scrollCornerRect):
+ (WebCore::resizerCornerRect):
+ (WebCore::RenderLayer::positionOverflowControls):
+ (WebCore::RenderLayer::paintOverflowControls):
+ (WebCore::RenderLayer::paintScrollCorner):
+ (WebCore::RenderLayer::paintResizer):
+ (WebCore::RenderLayer::isPointInResizeControl):
+ (WebCore::RenderLayer::hitTestOverflowControls):
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayer.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::setRect):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::styleDidChange):
+ (WebCore::RenderScrollbarPart::imageChanged):
+
+2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Darin Adler. Landed by Jan Alonzo.
+
+ WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
+ http://bugs.webkit.org/show_bug.cgi?id=20483
+
+ Start the conversion to use GOwnPtr and fix a memory leak.
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivateErrorCallback):
+
+2008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Windows build fix.
+
+ * loader/TextResourceDecoder.cpp:
+
+2008-10-12 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21229
+ Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
+
+ * platform/network/NetworkStateNotifier.h: Add the #include.
+
+2008-10-12 Darin Adler <darin@apple.com>
+
+ Based on work by Holger Freyther.
+
+ - part of https://bugs.webkit.org/show_bug.cgi?id=20953
+ Split WidthIterator into its own source file.
+
+ * GNUmakefile.am: Added new source files.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+
+ * platform/graphics/Font.cpp: Use WidthIterator from its new place.
+ * platform/graphics/WidthIterator.cpp: Added.
+ * platform/graphics/WidthIterator.h: Added.
+
+2008-10-12 Tony Chang <tony@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21480
+ Remove duplicate definitions of MimeClassInfo and PluginInfo.
+
+ * plugins/PluginInfoStore.cpp: Added an include.
+ * plugins/PluginInfoStore.h: Removed struct declarations.
+
+2008-10-12 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21563
+ Bug 21563: platform Gradient class should not use the CSS parser
+
+ * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
+ that accepts a CSS color string. That's handled in the DOM now, not here.
+ (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
+ copy of it here.
+ * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
+
+2008-10-12 Glenn Wilson <gwilson@google.com>
+
+ Reviewed by Darin Adler.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=20461
+
+ Added feature to allow multi-line inputs into text fields.
+ HTMLInputElement would cut the set text at the first 'system' character,
+ so it would truncate at the first carriage return or newline.
+ This fix modifies that behavior to truncate at any non-space system character
+ but changes \r, \n, and \r\n to a single space.
+
+ Tests: editing/pasteboard/paste-multiline-text-input.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::constrainValue):
+
+2008-10-12 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=20435
+
+ Added exception codes to canvas gradients to match current specification.
+
+ Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
+ fast/canvas/linearGradient-infinite-values.html
+ fast/canvas/radialGradient-infinite-values.html
+
+ * html/CanvasGradient.cpp:
+ (WebCore::CanvasGradient::addColorStop):
+ * html/CanvasGradient.h:
+ * html/CanvasGradient.idl:
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createLinearGradient):
+ (WebCore::CanvasRenderingContext2D::createRadialGradient):
+ * html/CanvasRenderingContext2D.h:
+ * html/CanvasRenderingContext2D.idl:
+
+2008-10-12 Eric Roman <eroman@chromium.org>
+
+ - https://bugs.webkit.org/show_bug.cgi?id=20246
+ Implement RenderThemeWin::systemColor() to match Windows colors.
+
+ Reviewed by David Hyatt.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::cssValueIdToSysColorIndex):
+ (WebCore::RenderThemeWin::systemColor):
+ * rendering/RenderThemeWin.h:
+
+2008-10-12 Aaron Bockover <abockover@novell.com>
+
+ Reviewed by Alp Toker.
+
+ Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
+ plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
+ handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+
+2008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
+
+ Reviewed by Oliver Hunt.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=19331
+ <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
+
+ * page/DragController.cpp:
+ (WebCore::DragController::startDrag): When a link is dragged without any
+ text selected (note: for this to work, the EditableLinkBehavior setting must be
+ set to 'live' or 'default') and then dropped into an editable html document it
+ will eventually violate an ASSERT in MoveSelectionCommand that requires that there
+ is a selection. To prevent this, expand the selection to the enclosing anchor tag
+ when the drag begins.
+
+2008-10-12 Darin Adler <darin@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21557
+ Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
+ until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
+ as RenderObject::isText(), and this guarantees that the node can be cast to
+ Element*, which is done just below. The reason this is hit is that RenderLayer
+ can call getPseudoStyle on a RenderView, which has the document as its
+ element() -- and a document is neither a Text node nor an Element. A loose
+ end is that this seems to mean you can't style the scrollbar corner or the
+ resizer on a RenderView. Hyatt may want to look into that later.
+
+2008-10-12 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21556
+ Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
+
+ Tests: fast/dom/HTMLFontElement/size-attribute.html
+ fast/dom/HTMLInputElement/size-attribute.html
+ fast/dom/HTMLTableElement/cellpadding-attribute.html
+
+ * html/HTMLFontElement.cpp:
+ (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
+ Unicode::isDigit, since non-ASCII digits are not valid here.
+ * html/HTMLFontElement.h: Tweaked formatting a bit and removed
+ the unneeded destructor declaration.
+ * platform/text/String.cpp:
+ (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
+ of Unicode::isDigit, since non-ASCII digits are not valid.
+
+2008-10-12 Jungshik Shin <jshin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Treat x-user-defined as windows-1252 for html files with meta charset
+ declaration to be compatible with Indian web sites.
+ ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
+
+ Test: fast/encoding/charset-xuser-defined.html
+
+ * loader/TextResourceDecoder.cpp:
+ (WebCore::TextResourceDecoder::setEncoding):
+
+2008-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Remove unneeded forward declaration.
+
+ * platform/graphics/ImageBuffer.h:
+
+2008-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
+ Layering violation: String should not be responsible for creating Lengths
+
+ It was a layering violation for String to know haw to parse
+ into Lengths, LengthArrays, and CoordsArrays.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::parseMappedAttribute):
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::parseMappedAttribute):
+ * platform/text/AtomicString.h:
+ (WebCore::AtomicString::percentage):
+ * platform/text/PlatformString.h:
+ * platform/text/String.cpp:
+ * platform/text/StringImpl.cpp:
+ * platform/text/StringImpl.h:
+ * rendering/Length.cpp: Added.
+ (WebCore::parseLength):
+ (WebCore::countCharacter):
+ (WebCore::newCoordsArray):
+ (WebCore::newLengthArray):
+ * rendering/Length.h:
+ (WebCore::LengthSize::LengthSize):
+
+2008-10-12 Brad Garcia <bgarcia@google.com>
+
+ Reviewed by Darin Adler.
+
+ Interpret fractional percentage values for %MultiLength values.
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
+ Test: fast/frames/frame-length-fractional-percentage.html
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::parseLength):
+
+2008-10-12 Timothy Hatcher <timothy@apple.com>
+
+ Remember the expanded state of the rules in the Styles pane. So
+ collapsing a rule will persist across all the elements that have
+ that same rule. The same applies to Computed Style, so the Computed
+ Style rule is now collapsed by default. This should help lessen the
+ confusion on why Computed Style can't be edited (a common confusion.)
+
+ https://bugs.webkit.org/show_bug.cgi?id=21553
+
+ Reviewed by Darin Adler.
+
+ * inspector/front-end/PropertiesSection.js:
+ (WebInspector.PropertiesSection): Set the _expanded property directly,
+ instead of using the setter. Expanded is the default, so no work is needed.
+ This prevents calling StylesSidebarPane.collapse before object initialization
+ is complete.
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
+ for the expanded state of the StylePropertiesSection. Collapse computed style
+ by default and expand everything else.
+ (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
+ when remembering expanded state.
+ (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
+ to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
+ the state if the dontRememberState property is true.
+ (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
+ to false for this identifier in Preferences.styleRulesExpandedState.
+ * inspector/front-end/inspector.js:
+ (Preferences.styleRulesExpandedState): Initialize to an empty object.
+
+2008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Alp Toker.
+
+ [Gtk] Remove libWebCoreJS.la when doing make clean
+ https://bugs.webkit.org/show_bug.cgi?id=21544
+
+ Remove libWebCoreJS.la when doing a clean target
+
+ * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
+
+2008-10-11 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20592
+ The focus ring is not shown while navigating on some pages
+
+ Fix drawFocusRing() so it doesn't depend on the current graphics
+ state, thus matching other platforms which already work this way.
+
+ This patch provides two code paths: one using straight Cairo and
+ one specialised for the GTK+ port with a more conventional appearance.
+
+ Also change focusRingColor() to return a null color, allowing the
+ focus ring to pick up the style's current color if it isn't overridden
+ with CSS.
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::drawFocusRing):
+ * platform/gtk/TemporaryLinkStubs.cpp:
+ (WebCore::focusRingColor):
+
+2008-10-11 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ - change all internal callers to use Cache::evict() instead of remove()
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::revalidateResource):
+ (WebCore::Cache::revalidationSucceeded):
+ (WebCore::Cache::pruneDeadResources):
+ (WebCore::Cache::setDisabled):
+
+2008-10-11 David Hyatt <hyatt@apple.com>
+
+ Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
+
+ Reviewed by Tim Hatcher
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::invalidatePart):
+
+2008-10-11 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
+
+ Also fixed resizer positioning problems.
+
+ Reviewed by Tim Hatcher
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+ (WebCore::ScrollbarThemeComposite::trackPosition):
+ (WebCore::ScrollbarThemeComposite::trackLength):
+ * platform/ScrollbarThemeComposite.h:
+ (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
+ * rendering/RenderLayer.cpp:
+ (WebCore::scrollCornerRect):
+ (WebCore::RenderLayer::positionOverflowControls):
+ (WebCore::RenderLayer::paintOverflowControls):
+ (WebCore::RenderLayer::isPointInResizeControl):
+ (WebCore::RenderLayer::hitTestOverflowControls):
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
+ * rendering/RenderScrollbarTheme.h:
+
+2008-10-11 Alp Toker <alp@nuanti.com>
+
+ Reviewed by David Hyatt.
+
+ Implement release/retain for Widget GTK+.
+
+ * platform/Widget.cpp:
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::~Widget):
+ (WebCore::Widget::releasePlatformWidget):
+ (WebCore::Widget::retainPlatformWidget):
+
+2008-10-11 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
+ and add a corresponding getter; add the same functions on Windows
+
+ * WebCore.base.exp:
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::setCodePath):
+ (WebCore::codePath):
+ (WebCore::Font::canUseGlyphCache):
+ * platform/graphics/Font.h:
+ * platform/mac/WebCoreTextRenderer.h:
+ * platform/mac/WebCoreTextRenderer.mm:
+ (WebCoreSetAlwaysUsesComplexTextCodePath):
+ (WebCoreAlwaysUsesComplexTextCodePath):
+ * platform/win/WebCoreTextRenderer.cpp:
+ (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
+ (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
+ * platform/win/WebCoreTextRenderer.h:
+
+2008-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Cameron Zwarich.
+
+ Stop leaking the event parameter names. The protected strings were showing up
+ in the caches window after one use. No measurable performance loss.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::eventParameterName):
+
+2008-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Cameron Zwarich.
+
+ Remove unused function getNodeEventListener.
+
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventListener.h:
+
+2008-10-11 David Hyatt <hyatt@apple.com>
+
+ Add support for both positive and negative margins to tracks and track pieces.
+
+ Reviewed by Tim Hatcher
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ (WebCore::ScrollbarThemeComposite::hitTest):
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+ (WebCore::ScrollbarThemeComposite::trackPieceRects):
+ (WebCore::ScrollbarThemeComposite::trackPosition):
+ (WebCore::ScrollbarThemeComposite::trackLength):
+ * platform/ScrollbarThemeComposite.h:
+ (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::trackRect):
+ (WebCore::RenderScrollbar::trackPieceRectWithMargins):
+ * rendering/RenderScrollbar.h:
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::computeScrollbarWidth):
+ (WebCore::RenderScrollbarPart::computeScrollbarHeight):
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
+ * rendering/RenderScrollbarTheme.h:
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
+ the scrollbar pseudo-elements anyway.
+
+ Reviewed by Tim Hatcher
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+
+2008-10-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - separate Cache::remove() into a private method and a public interface,
+ then make Cache::pruneDeadResources() use the private method.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::pruneDeadResources):
+ (WebCore::Cache::evict):
+ * loader/Cache.h:
+ (WebCore::Cache::remove):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
+ now that the track pieces meet under the thumb.
+
+ Reviewed by Tim Hatcher
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
+
+ Reviewed by Tim Hatcher
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::hitTest):
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
+
+ Reviewed by Tim Hatcher
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::createScrollbar):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::createCustomScrollbar):
+ (WebCore::RenderScrollbar::RenderScrollbar):
+ (WebCore::RenderScrollbar::setParent):
+ (WebCore::RenderScrollbar::updateScrollbarParts):
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbar.h:
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Make sure scrollbar background images cause proper part invalidation to occur.
+
+ Reviewed by Tim Hatcher
+
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::setHoveredPart):
+ (WebCore::RenderScrollbar::setPressedPart):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::styleDidChange):
+ (WebCore::RenderScrollbarPart::imageChanged):
+ * rendering/RenderScrollbarPart.h:
+
+2008-10-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=21538
+
+ The blendFunc() for TransformOperations should never mess with the
+ operation lists by replacing some ops with identity, otherwise the lists
+ no longer match and transitions break.
+
+ Test: transitions/matched-transform-functions.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+
+2008-10-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler
+
+ https://bugs.webkit.org/show_bug.cgi?id=21537
+
+ Fix re-targetting a running transition; if the target property
+ changes, we do need to make a new ImplicitAnimation.
+
+ Test: transitions/retargetted-transition.html
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::updateTransitions):
+
+2008-10-10 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
+
+ When JS is terminated by the user choosing to stop a slow script
+ the exception toString method throws, yet the console logger does
+ not perform exception checks after logging. This leaves an
+ exception on the Machine, which in turn results in an assertion
+ failure next time we attempt to enter JS. The solution is just to
+ clear the exception state after attempting to record the exception.
+
+ * page/Console.cpp:
+ (WebCore::Console::reportException):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
+ when looking for pseudo styles.
+
+ Reviewed by Tim Hatcher
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::createScrollbar):
+ (WebCore::RenderLayer::styleChanged):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Add the ability to style the scroll corner and the resizer from CSS.
+
+ Reviewed by Tim Hatcher
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore::RenderLayer::~RenderLayer):
+ (WebCore::RenderLayer::paintOverflowControls):
+ (WebCore::RenderLayer::paintScrollCorner):
+ (WebCore::RenderLayer::paintResizer):
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayer.h:
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ (WebCore::RenderScrollbar::paintPart):
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::RenderScrollbarPart):
+ (WebCore::RenderScrollbarPart::paintIntoRect):
+ * rendering/RenderScrollbarPart.h:
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
+
+ Reviewed by Sam Weinig
+
+ No test case possible, since the OS setting can vary.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+ * platform/Scrollbar.h:
+ (WebCore::Scrollbar::styleChanged):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
+ (WebCore::ScrollbarThemeMac::preferencesChanged):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::invalidateScrollbarRect):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::styleChanged):
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbar.h:
+ * rendering/RenderScrollbarTheme.h:
+ (WebCore::RenderScrollbarTheme::buttonsPlacement):
+
+2008-10-10 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a regression with input search fields, where the placeholder text
+ would not be updated when the value of the placeholder attribute changed.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21521
+
+ Reviewed by Adele Peterson.
+
+ Test: fast/forms/search-placeholder-value-changed.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
+ placeholderValueChanged parameter of updatePlaceholderVisibility.
+ (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
+ for placeholderValueChanged that informs the method that the value changed.
+ * html/HTMLInputElement.h: Add the placeholderValueChanged to the
+ updatePlaceholderVisibility method. Made it default to false.
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Allow the track part to have negative margins so that it can slightly overlap buttons. This
+ is necessary to emulate the Aqua look in CSS.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ (WebCore::ScrollbarThemeComposite::hitTest):
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::setHoveredPart):
+ (WebCore::RenderScrollbar::trackRect):
+ * rendering/RenderScrollbar.h:
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::computeScrollbarWidth):
+ (WebCore::RenderScrollbarPart::computeScrollbarHeight):
+ * rendering/RenderScrollbarTheme.cpp:
+ (WebCore::RenderScrollbarTheme::backButtonRect):
+ (WebCore::RenderScrollbarTheme::forwardButtonRect):
+ (WebCore::RenderScrollbarTheme::trackRect):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21527
+
+ Make CSS scrollbars support :not, :hover and :active.
+
+ Reviewed by Adam Roben
+
+ Added WebCore/manual-tests/scrollbar-hover-active.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::autoscrollPressedPart):
+ (WebCore::Scrollbar::startTimerIfNeeded):
+ (WebCore::Scrollbar::setHoveredPart):
+ (WebCore::Scrollbar::setPressedPart):
+ (WebCore::Scrollbar::mouseMoved):
+ (WebCore::Scrollbar::mouseExited):
+ (WebCore::Scrollbar::mouseUp):
+ (WebCore::Scrollbar::mouseDown):
+ * platform/Scrollbar.h:
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::setHoveredPart):
+ (WebCore::RenderScrollbar::setPressedPart):
+ (WebCore::RenderScrollbar::updateScrollbarParts):
+ (WebCore::pseudoForScrollbarPart):
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbar.h:
+
+2008-10-10 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
+ CSS transition with duration=0 and delay=0 doesn't override ongoing transition
+
+ Test: transitions/interrupt-zero-duration.html
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+
+2008-10-10 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Add new scrollbar-related sources.
+
+ * WebCoreSources.bkl:
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21522
+
+ Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
+ created. (Just :hover/:active left to finish it up.)
+
+ Reviewed by Adam Roben
+
+ Added scrollbars/scrollbar-buttons.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
+ back/forward to decrement/increment. Adding start/end pseudoclasses.
+
+ Reviewed by Eric Seidel
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+
+2008-10-10 David Hyatt <hyatt@apple.com>
+
+ Switch window-active to window-inactive, since that will work better as far as degrading in other
+ browsers.
+
+ Reviewed by Tim Hatcher
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+
+2008-10-09 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21310
+
+ Redesigned how animation events are sent in order to get rid of
+ AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
+ are now ref counted. While calling the event handler, I keep a
+ reference to this class to avoid it getting destroyed out from under me.
+
+ I also moved most of the functionality of CompositeAnimation to
+ and internal class (CompositeAnimationPrivate) to reduce the exposure
+ of the internals of the various animation classes.
+
+ We have several transition and animation LayoutTests which verify that
+ this fix works as expected and continues to avoid crashes.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::AnimationBase):
+ * page/animation/AnimationBase.h:
+ (WebCore::AnimationBase::cancelTimers):
+ (WebCore::AnimationBase::waitingForStyleAvailable):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
+ (WebCore::CompositeAnimationPrivate::suspended):
+ (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
+ (WebCore::CompositeAnimationPrivate::updateTransitions):
+ (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
+ (WebCore::CompositeAnimationPrivate::animate):
+ (WebCore::CompositeAnimationPrivate::setAnimating):
+ (WebCore::CompositeAnimationPrivate::animating):
+ (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
+ (WebCore::CompositeAnimationPrivate::resetTransitions):
+ (WebCore::CompositeAnimationPrivate::resetAnimations):
+ (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
+ (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
+ (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
+ (WebCore::CompositeAnimationPrivate::suspendAnimations):
+ (WebCore::CompositeAnimationPrivate::resumeAnimations):
+ (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
+ (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
+ (WebCore::compareAnimationIndices):
+ (WebCore::CompositeAnimationPrivate::styleAvailable):
+ (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
+ (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
+ (WebCore::CompositeAnimation::CompositeAnimation):
+ (WebCore::CompositeAnimation::~CompositeAnimation):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::animating):
+ (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
+ (WebCore::CompositeAnimation::resetTransitions):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::suspended):
+ (WebCore::CompositeAnimation::styleAvailable):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::setAnimationStartTime):
+ (WebCore::CompositeAnimation::setTransitionStartTime):
+ (WebCore::CompositeAnimation::overrideImplicitAnimations):
+ (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
+ * page/animation/CompositeAnimation.h:
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+ * page/animation/ImplicitAnimation.h:
+ (WebCore::ImplicitAnimation::create):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::sendAnimationEvent):
+ * page/animation/KeyframeAnimation.h:
+ (WebCore::KeyframeAnimation::create):
+
+2008-10-09 David Hyatt <hyatt@apple.com>
+
+ Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
+ is active as well.
+
+ Reviewed by Tim Hatcher
+
+ Added scrollbars/scrollbar-orientation.html
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::isWindowActive):
+ * platform/Scrollbar.h:
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::paint):
+ (WebCore::RenderScrollbar::partForStyleResolve):
+ * rendering/RenderScrollbar.h:
+
+2008-10-09 David Hyatt <hyatt@apple.com>
+
+ Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
+ :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
+
+ Reviewed by Tim Hatcher
+
+ Added scrollbars/disabled-scrollbar.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
+ * css/CSSStyleSelector.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::getPseudoStyle):
+ * rendering/RenderObject.h:
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::setEnabled):
+ (WebCore::RenderScrollbar::scrollbarForStyleResolve):
+ (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
+ (WebCore::RenderScrollbar::paintPart):
+ * rendering/RenderScrollbar.h:
+
+2008-10-09 Eric Carlson <eric.carlson@apple.com>
+
+ Media controls should not show when element is not visible
+
+ https://bugs.webkit.org/show_bug.cgi?id=21155
+
+ Reviewed by Adele Peterson.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
+ in sync with visibility changes
+ * html/HTMLMediaElement.h:
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
+ (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
+ if element is visible or not. Don't animate controller visibility when change triggered by
+ showing or hiding media element.
+ * rendering/RenderMedia.h: declare m_previousVisible
+
+2008-10-09 Timothy Hatcher <timothy@apple.com>
+
+ Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
+ availability macros and version macros.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21496
+ rdar://problem/6259225
+
+ Reviewed by Sam Weinig.
+
+ * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
+ * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
+ and add an #if around the enum.
+ * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
+ comment to match the other headers.
+ * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
+ * bindings/objc/DOMObject.h: Add a version #if around class interface.
+ * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
+ and add a version #if around the enum.
+ * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
+ * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
+ * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
+ when they where added to WebKit. Also annotate individual methods that are
+ deprecated or where added after the class was added to WebKit.
+ * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
+ since this header is included by most DOM headers. Annotate the JSObject method.
+
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ (ReadPublicInterfaces): Parse out the availability macro for each function/property.
+ And parse out the availability version for the class/protocol. Default to
+ WEBKIT_VERSION_LATEST if the class is new.
+ (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
+ interface availability version check if the class has a required version. Create
+ a public interface key (used to lookup in $publicInterfaces) and make a declaration
+ suffix that includes the availability macro (if needed). Use the "available in 1.3
+ and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
+ the default availability macro for old style methods. Tweak line breaks in the generated
+ headers to look good and not have too many extra lines.
+
+2008-10-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=20947
+
+ Refactor setStyle() methods into styleWillChange()
+ and styleDidChange(), so most of the setStyle() overrides can
+ be removed.
+
+ * rendering/RenderBR.cpp:
+ (WebCore::RenderBR::styleDidChange):
+ * rendering/RenderBR.h:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::styleWillChange):
+ (WebCore::RenderBlock::styleDidChange):
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::~RenderBox):
+ (WebCore::RenderBox::destroy):
+ (WebCore::RenderBox::styleWillChange):
+ (WebCore::RenderBox::styleDidChange):
+ * rendering/RenderBox.h:
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::styleWillChange):
+ (WebCore::RenderButton::styleDidChange):
+ * rendering/RenderButton.h:
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::styleDidChange):
+ * rendering/RenderFieldset.h:
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::styleDidChange):
+ * rendering/RenderFileUploadControl.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::styleDidChange):
+ * rendering/RenderInline.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::styleDidChange):
+ * rendering/RenderListBox.h:
+ * rendering/RenderListItem.cpp:
+ (WebCore::RenderListItem::styleDidChange):
+ * rendering/RenderListItem.h:
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::styleWillChange):
+ (WebCore::RenderListMarker::styleDidChange):
+ * rendering/RenderListMarker.h:
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::styleDidChange):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::setStyle):
+ (WebCore::RenderObject::setStyleInternal):
+ (WebCore::RenderObject::styleWillChange):
+ (WebCore::RenderObject::styleDidChange):
+ * rendering/RenderObject.h:
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::styleDidChange):
+ * rendering/RenderReplaced.h:
+ * rendering/RenderSVGGradientStop.cpp:
+ (WebCore::RenderSVGGradientStop::styleDidChange):
+ * rendering/RenderSVGGradientStop.h:
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::styleDidChange):
+ * rendering/RenderScrollbarPart.h:
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::styleDidChange):
+ * rendering/RenderSlider.h:
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::styleDidChange):
+ * rendering/RenderTable.h:
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::styleWillChange):
+ (WebCore::RenderTableCell::styleDidChange):
+ * rendering/RenderTableCell.h:
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::styleWillChange):
+ * rendering/RenderTableRow.h:
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::styleDidChange):
+ * rendering/RenderText.h:
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::styleDidChange):
+ * rendering/RenderTextControl.h:
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::styleDidChange):
+ * rendering/RenderWidget.h:
+
+2008-10-09 David Hyatt <hyatt@apple.com>
+
+ Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget
+ parent is nulled out is a good time.
+
+ Reviewed by Oliver Hunt
+
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::~RenderScrollbar):
+ (WebCore::RenderScrollbar::setParent):
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ * rendering/RenderScrollbar.h:
+
+2008-10-09 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21446
+
+ This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
+ orientation and back vs. forward on the buttons, but it's a start.
+
+ Reviewed by Oliver Hunt
+
+ Added scrollbars/basic-scrollbar.html
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ * platform/ScrollTypes.h:
+ (WebCore::):
+ * platform/Scrollbar.h:
+ (WebCore::Scrollbar::styleChanged):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+ * platform/ScrollbarThemeComposite.h:
+ (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
+ (WebCore::ScrollbarThemeComposite::paintTrackBackground):
+ (WebCore::ScrollbarThemeComposite::paintTrackPiece):
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarThemeSafari::paintTrackBackground):
+ * platform/win/ScrollbarThemeSafari.h:
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::paintTrack):
+ * platform/win/ScrollbarThemeWin.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::createScrollbar):
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderScrollbar.cpp: Added.
+ (WebCore::RenderScrollbar::createCustomScrollbar):
+ (WebCore::RenderScrollbar::RenderScrollbar):
+ (WebCore::RenderScrollbar::~RenderScrollbar):
+ (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
+ (WebCore::RenderScrollbar::updateScrollbarParts):
+ (WebCore::RenderScrollbar::updateScrollbarPart):
+ (WebCore::RenderScrollbar::paintPart):
+ (WebCore::RenderScrollbar::buttonRect):
+ (WebCore::RenderScrollbar::minimumThumbLength):
+ * rendering/RenderScrollbar.h: Added.
+ (WebCore::RenderScrollbar::styleChanged):
+ (WebCore::RenderScrollbar::owningRenderer):
+ * rendering/RenderScrollbarPart.cpp: Added.
+ (WebCore::RenderScrollbarPart::RenderScrollbarPart):
+ (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
+ (WebCore::RenderScrollbarPart::layout):
+ (WebCore::RenderScrollbarPart::layoutHorizontalPart):
+ (WebCore::RenderScrollbarPart::layoutVerticalPart):
+ (WebCore::calcScrollbarThicknessUsing):
+ (WebCore::RenderScrollbarPart::computeScrollbarWidth):
+ (WebCore::RenderScrollbarPart::computeScrollbarHeight):
+ (WebCore::RenderScrollbarPart::calcPrefWidths):
+ (WebCore::RenderScrollbarPart::setStyle):
+ * rendering/RenderScrollbarPart.h: Added.
+ (WebCore::RenderScrollbarPart::renderName):
+ (WebCore::RenderScrollbarPart::requiresLayer):
+ * rendering/RenderScrollbarTheme.cpp: Added.
+ (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
+ (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
+ (WebCore::RenderScrollbarTheme::hasButtons):
+ (WebCore::RenderScrollbarTheme::hasThumb):
+ (WebCore::RenderScrollbarTheme::minimumThumbLength):
+ (WebCore::RenderScrollbarTheme::backButtonRect):
+ (WebCore::RenderScrollbarTheme::forwardButtonRect):
+ (WebCore::RenderScrollbarTheme::trackRect):
+ (WebCore::RenderScrollbarTheme::paintScrollCorner):
+ (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
+ (WebCore::RenderScrollbarTheme::paintTrackBackground):
+ (WebCore::RenderScrollbarTheme::paintTrackPiece):
+ (WebCore::RenderScrollbarTheme::paintButton):
+ (WebCore::RenderScrollbarTheme::paintThumb):
+ * rendering/RenderScrollbarTheme.h: Added.
+ (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
+ (WebCore::RenderScrollbarTheme::scrollbarThickness):
+ (WebCore::RenderScrollbarTheme::buttonsPlacement):
+ (WebCore::RenderScrollbarTheme::supportsControlTints):
+ (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
+ (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
+ (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
+ (WebCore::RenderScrollbarTheme::registerScrollbar):
+ (WebCore::RenderScrollbarTheme::unregisterScrollbar):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::):
+
+2008-10-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix Canvex DOOM Game
+ Gradient clips were not getting cleared after filling the
+ gradient, this was causing nothing to draw in Canvex
+ https://bugs.webkit.org/show_bug.cgi?id=21498
+
+ Tests forthcoming.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+
+2008-10-09 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix transformed patterns
+ https://bugs.webkit.org/show_bug.cgi?id=21498
+
+ Test: fast/canvas/patternfill-repeat.html
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::setStrokePattern):
+ (WebCore::GraphicsContext::setFillPattern):
+ (WebCore::GraphicsContext::setStrokeGradient):
+ (WebCore::GraphicsContext::setFillGradient):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::applyStrokePattern):
+ (WebCore::applyFillPattern):
+ (WebCore::GraphicsContext::drawPath):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+
+2008-10-09 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes.
+
+ * platform/wx/WidgetWx.cpp:
+ * plugins/wx/PluginViewWx.cpp:
+ (WebCore::PluginView::invalidateRect):
+ * webcore-base.bkl:
+
+2008-10-09 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
+ Animations assert when navigating from page
+
+ Changed assertions to test the right flag for the paused state
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::updateStateMachine):
+
+2008-10-09 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fixed > 180 degree rotation bug
+ Ensure that validateTransformFunctionList() is called after updating keyframe styles
+
+ https://bugs.webkit.org/show_bug.cgi?id=21420
+
+ Test: animations/big-rotation.html
+
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::KeyframeAnimation):
+
+2008-10-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders
+
+ <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
+
+ The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
+ (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
+ so perform a second null check on the page. Bail if it has been cleared.
+
+2008-10-09 Alp Toker <alp@nuanti.com>
+
+ Build fix for recent DOM generation Makefile changes when custom
+ CFLAGS/CXXFLAGS are passed in.
+
+ * GNUmakefile.am:
+
+2008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Alp Toker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21390
+ [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::platformRemoveChild):
+
+2008-10-09 Darin Adler <darin@apple.com>
+
+ - try to fix Qt build
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
+
+2008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Oliver Hunt & Sam Weinig.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
+
+ Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
+ Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
+ use tree is rebuild.
+
+ Make SVGElementInstance a real EventTarget, as the SVG specification demands.
+ When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
+ is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
+ share an event listener list. Every event listener change on the SVGElementInstance object is forwared
+ to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
+ Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
+ to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
+ Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
+
+ Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
+ see resources/use-instanceRoot-event-bubbling.js for details.
+
+ Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
+ svg/custom/use-elementInstance-methods.svg (reenabled)
+ svg/custom/use-setAttribute-crash.svg (covers bug 20550)
+ svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
+ svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
+ svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
+ * bindings/js/JSEventTarget.cpp:
+ * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
+ * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener):
+ (WebCore::JSSVGElementInstance::pushEventHandlerScope):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * dom/EventListener.h:
+ (WebCore::EventListener::wasCreatedFromMarkup):
+ * dom/EventTargetNode.cpp:
+ (WebCore::updateSVGElementInstancesAfterEventListenerChange):
+ (WebCore::EventTargetNode::addEventListener):
+ (WebCore::EventTargetNode::removeEventListener):
+ (WebCore::eventTargetAsSVGElementInstance):
+ (WebCore::eventTargetRespectingSVGTargetRules):
+ (WebCore::EventTargetNode::dispatchEvent):
+ (WebCore::EventTargetNode::dispatchGenericEvent):
+ (WebCore::EventTargetNode::removeEventListenerForType):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::clear):
+ (WebCore::instanceAssociatedWithShadowTreeElement):
+ (WebCore::EventHandler::updateMouseEventTargetNode):
+ * page/EventHandler.h:
+ * svg/EventTargetSVGElementInstance.cpp: Removed.
+ * svg/EventTargetSVGElementInstance.h: Removed.
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::SVGElementInstance):
+ (WebCore::SVGElementInstance::~SVGElementInstance):
+ (WebCore::SVGElementInstance::childNodes):
+ (WebCore::SVGElementInstance::setShadowTreeElement):
+ (WebCore::SVGElementInstance::forgetWrapper):
+ (WebCore::SVGElementInstance::appendChild):
+ (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
+ (WebCore::SVGElementInstance::setNeedsUpdate):
+ (WebCore::SVGElementInstance::associatedFrame):
+ (WebCore::SVGElementInstance::addEventListener):
+ (WebCore::SVGElementInstance::removeEventListener):
+ (WebCore::SVGElementInstance::dispatchEvent):
+ (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/SVGElementInstance.h:
+ (WebCore::SVGElementInstance::needsUpdate):
+ (WebCore::SVGElementInstance::toNode):
+ (WebCore::SVGElementInstance::toSVGElementInstance):
+ (WebCore::SVGElementInstance::correspondingElement):
+ (WebCore::SVGElementInstance::correspondingUseElement):
+ (WebCore::SVGElementInstance::shadowTreeElement):
+ (WebCore::SVGElementInstance::parentNode):
+ (WebCore::SVGElementInstance::previousSibling):
+ (WebCore::SVGElementInstance::nextSibling):
+ (WebCore::SVGElementInstance::firstChild):
+ (WebCore::SVGElementInstance::lastChild):
+ (WebCore::SVGElementInstance::ownerDocument):
+ (WebCore::SVGElementInstance::hasChildNodes):
+ (WebCore::SVGElementInstance::setFirstChild):
+ (WebCore::SVGElementInstance::setLastChild):
+ (WebCore::SVGElementInstance::setNextSibling):
+ (WebCore::SVGElementInstance::setPreviousSibling):
+ (WebCore::SVGElementInstance::refEventTarget):
+ (WebCore::SVGElementInstance::derefEventTarget):
+ * svg/SVGElementInstance.idl:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::svgAttributeChanged):
+ (WebCore::SVGStyledElement::childrenChanged):
+ * svg/SVGUseElement.cpp:
+ (WebCore::SVGUseElement::svgAttributeChanged):
+ (WebCore::shadowTreeContainsChangedNodes):
+ (WebCore::SVGUseElement::recalcStyle):
+ (WebCore::dumpInstanceTree):
+ (WebCore::SVGUseElement::buildPendingResource):
+ (WebCore::SVGUseElement::buildInstanceTree):
+ (WebCore::SVGUseElement::transferEventListenersToShadowTree):
+ * svg/SVGUseElement.h:
+
+2008-10-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Cameron Zwarich.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
+ REGRESSION (r36977): getRGBColorValue().red returning incorrect value
+
+ Update JSRGBColor to use the new static function per getter approach.
+
+ Test: fast/dom/css-RGBValue.html
+
+ * bindings/js/JSRGBColor.cpp:
+ (WebCore::):
+ (jsRGBColorRed):
+ (jsRGBColorGreen):
+ (jsRGBColorBlue):
+ * bindings/js/JSRGBColor.h:
+
+2008-10-08 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
+
+ svgElement.className.baseValue = "foo" does not work
+ https://bugs.webkit.org/show_bug.cgi?id=20651
+
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::classAttributeChanged):
+ (WebCore::StyledElement::parseMappedAttribute):
+ * dom/StyledElement.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::svgAttributeChanged):
+
+2008-10-08 Anthony Ricaud <rik24d@gmail.com>
+
+ Make the toolbar label text-shadow not disappear when clicking on the
+ search result count or around the search field.
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/front-end/inspector.css:
+ (.toolbar-item:active .toolbar-label): Make this rule also require the
+ toggleable class with the toolbar-item class.
+
+2008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Updated the qrc file for the Web Inspector to contain the current set
+ of images.
+
+ * inspector/front-end/WebKit.qrc:
+
+2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix the linking of applications against WebKit on Qt/Windows.
+
+ The prl files that qmake creates are buggy on Unix, but we they're
+ fine on Windows and we have to have them there in order to get the
+ dependencies correct.
+
+ * WebCore.pro:
+
+2008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon.
+
+ Speed up rectangle filling by not re-creating a QBrush all the time.
+
+ This triggers faster path in QPainter where the brush is reused.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContext::fillRect):
+
+2008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon.
+
+ Fixes: Encoding of Qt URLs
+
+ This encoding was added by Simon and I because QUrl's
+ tolerant parser wasn't tolerant enough. Now it is, so we don't need
+ this anymore.
+
+ * platform/qt/KURLQt.cpp:
+ (WebCore::KURL::operator QUrl):
+
+2008-10-08 Marius Storm-Olsen <marius@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fixes dependencies in qmake generated visual studio projects.
+
+ Only add debug lib name if we're in the debug build_pass, else the release version.
+ The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
+
+ * WebCore.pro:
+
+2008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix compilation errors on VS2008 64Bit
+
+ * platform/text/TextStream.cpp:
+ (WebCore::TextStream::operator<<):
+ * platform/text/TextStream.h:
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::init):
+
+2008-10-07 Alp Toker <alp@nuanti.com>
+
+ GTK+ build fix for older automake versions (1.7). Discussed in bug
+ #21392.
+
+ * GNUmakefile.am:
+
+2008-10-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ <rdar://problem/6273887> Crash in ApplicationCacheGroup
+
+ Make sure to stop loading even before a cache update is in progress so that the
+ manifest load will be stopped.
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
+ (WebCore::ApplicationCacheGroup::stopLoading):
+ (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
+
+2008-10-07 Timothy Hatcher <timothy@apple.com>
+
+ Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21433
+
+ Reviewed by Sam Weinig.
+
+ * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
+ * bindings/objc/DOM.mm: Remove previous category implementations
+ on DOMDocument for createNodeIterator: and createTreeWalker:. Also
+ moves ObjCNodeFilterCondition to its own file.
+ * bindings/objc/DOMTraversal.h: Remove the category methods that added
+ createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
+ to do since DOmDocument.h is included still, and has these methods.
+ * bindings/objc/DOMUtility.mm:
+ (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
+ JSTreeWalker now that the ObjC binding conforms to the standard wrap.
+ * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
+ (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
+ (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
+ * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
+ (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
+ * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
+ createTreeWalker: methods to DOMDocument.
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ (GetObjCTypeGetter): Add a case for NodeFilter.
+ (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
+ (GenerateImplementation): Remove existing NodeFilter special case that
+ used the m_filter member variable. Add a new special getter for protocol
+ types that aren't EventTarget, so the right class is used for NodeFilter.
+ Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
+ * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
+ OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
+ Rename the entityReferenceExpansion parameter to expandEntityReferences to
+ match the previous ObjC API.
+ * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
+ m_filter member variable was never used in practice, it was always nil!
+ We can remove it and not pad the object because this can't be subclassed.
+ * dom/TreeWalker.idl: Ditto.
+
+2008-10-07 Timothy Hatcher <timothy@apple.com>
+
+ Auto-generate the DOMEventTarget protocol implementation for
+ DOMNode and DOMSVGElementInstance.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21432
+
+ Reviewed by Darin Adler.
+
+ * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
+ * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
+ ObjCEventListener to it's own file. Remove the manual impelmentations
+ of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
+ * bindings/objc/DOMEvents.h: Remove the categories that defined
+ DOMEventTarget for DOMNode and DOMSVGElementInstance.
+ * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
+ * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
+ (WebCore::ObjCEventListener::find): Moved from DOM.mm.
+ (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
+ callers from doing a manual deref.
+ (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
+ (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
+ (AddIncludesForType): Include ObjCEventListener.h for EventListener.
+ And include EventTargetSVGElementInstance.h for SVGElementInstance.
+ (GenerateHeader): Remove the check for multiple parents.
+ (GenerateImplementation): Remove the check for multiple parents. Remove
+ the @deprecatedFunctions array since deprecated methods get generated
+ into the main @interface now to work with protocols. Add support
+ for the EventTargetNodeCast extended attribute. Add support for
+ EventListener parameters.
+ * dom/Node.idl: Define superclasses for ObjC so the implementation
+ and interface implement the DOMEventTarget protocol. Explicitly
+ specify Object as a superclass to use DOMEventTarget. Object will turn
+ into DOMObject. This is needed to take the code generator down the right
+ path of multiple super-classes as protocols. It is ObjC only for legacy
+ reasons. The event target methods are normally on NodeEventTarget, a
+ subclass of Node. But the ObjC API has never has this subclass and
+ they are on DOMNode.
+ * svg/SVGElementInstance.idl: Ditto.
+
+2008-10-07 David Hyatt <hyatt@apple.com>
+
+ Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
+
+ The new pseudo-elements are:
+ scrollbar
+ scrollbar-button
+ scrollbar-corner
+ scrollbar-thumb
+ scrollbar-track
+
+ These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
+ the following new pseudo-classes:
+ scrollbar-active
+ scrollbar-back
+ scrollbar-forward
+ scrollbar-horizontal
+ scrollbar-vertical
+
+ Reviewed by Adele
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::):
+
+2008-10-06 Timothy Hatcher <timothy@apple.com>
+
+ Add support to the Resources panel for queries like "#123", "foo #123",
+ "line: 123" and "foo line: 123". These will match the query limiting
+ the search only to the line specified. If only a line is specified,
+ the whole line is matched.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21422
+
+ Reviewed by Darin Adler.
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
+ row if the index is greater than the rows collection. Let it return
+ undefined by indexing out-of-bounds.
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype.performSearch): Add support for
+ queries like "#123", "foo #123", "line: 123" and "foo line: 123".
+ Also match the whole query to the whole document in case there are
+ colors like "#333".
+
+2008-10-07 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21392
+ [GTK] Auto-generate JS DOM binding sources list
+
+ Remove the huge lists of generated DOM binding sources and headers in
+ the build system. These are difficult to maintain and can be derived
+ automatically.
+
+ The new strategy is to re-use the existing lists of IDL sources (which
+ are needed for dist support anyway). This will also ease the addition
+ of new language bindings.
+
+ * GNUmakefile.am:
+
+2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Don't attempt to paint when updating control tints
+
+ We don't have a valid PlatformGraphicsContext so schedule
+ the dirty scrollbar/scrollview area for repaint instead.
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::ScrollbarThemeQt::paint):
+ (WebCore::ScrollbarThemeQt::paintScrollCorner):
+
+2008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ [qt] Build fix after Scrollbar.h and Widget.h changes.
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::init):
+
+2008-10-06 David Hyatt <hyatt@apple.com>
+
+ Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::hasWebView):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadWithDocumentLoader):
+ (WebCore::FrameLoader::transitionToCommitted):
+ * loader/FrameLoaderClient.h:
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setActive):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::init):
+ (WebCore::FrameView::layoutIfNeededRecursive):
+ * page/FrameView.h:
+
+2008-10-06 Dan Bernstein <mitz@apple.com>
+
+ - build fix
+
+ * bindings/objc/DOMEvents.h:
+
+2008-10-06 Mark Mentovai <mark@moxienet.com>
+
+ Reviewed by Tim Hatcher.
+
+ Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
+ Platform.h is not available, in preference to #ifdef ENABLE_feature.
+ #ifdef is wrong now that features are disabled by #defining
+ ENABLE_feature to 0.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21338
+
+ * bindings/objc/DOMEvents.h:
+ * bindings/objc/PublicDOMInterfaces.h:
+ * dom/Document.idl:
+ * page/DOMWindow.idl:
+ * svg/svgtags.in:
+
+2008-10-06 Mark Mentovai <mark@moxienet.com>
+
+ Reviewed by Sam Weinig.
+
+ * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
+ to get the declaration for isMainThread().
+
+2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Tim Hatcher.
+
+ WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
+ to reflect that.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mac/WebCoreObjCExtras.c: Removed.
+ * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
+
+2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Added C++ forward declaration for the NSURLAuthenticationChallenge class
+ so that the m_currentMacChallenge variable doesn't cause a
+ compilation error when ResourceHandleInternal.h is included from a C++ file.
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
+
+ * platform/network/ResourceHandleInternal.h:
+
+2008-10-06 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-10-06 Steve Falkenburg <sfalken@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21416
+ Add missing null checks identified by Application Verifier.
+
+ Reviewed by Darin Adler.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::clearTimer):
+
+2008-10-06 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Removed accidentally left in debugging statement.
+
+ * inspector/front-end/inspector.js:
+
+2008-10-06 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim Hatcher and Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21412
+ Bug 21412: Refactor user initiated profile count to be more stable
+
+ * inspector/InspectorController.cpp: Keep track of the user-initiated
+ profiles here now.
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+ * inspector/InspectorController.h:
+ The front end will now need to check for the existence of the user-
+ initiated profile title and use its count instead of keeping its own.
+ * inspector/front-end/ProfilesPanel.js:
+
+2008-10-06 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - separate GDI text drawing into its own function
+
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::drawGDIGlyphs):
+ (WebCore::Font::drawGlyphs):
+
+2008-10-03 Steve Falkenburg <sfalken@apple.com>
+
+ <rdar://problem/6249833> Fix default button appearance
+
+ Reviewed by Adele Peterson.
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::supportsFocus):
+ (WebCore::RenderThemeWin::determineClassicState):
+ (WebCore::RenderThemeWin::determineButtonState):
+ (WebCore::RenderThemeWin::getClassicThemeData):
+ (WebCore::RenderThemeWin::getThemeData):
+ (WebCore::drawControl):
+ * rendering/RenderThemeWin.h:
+
+2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Add native virtual keycode to PlatformKeyboardEvent
+
+ * platform/PlatformKeyboardEvent.h:
+ * platform/gtk/KeyEventGtk.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/mac/KeyEventMac.mm:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/win/KeyEventWin.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/wx/KeyboardEventWx.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+
+2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
+
+ * platform/text/PlatformString.h:
+ * platform/text/StringImpl.h:
+ * platform/text/cf/StringCF.cpp:
+ * platform/text/cf/StringImplCF.cpp:
+
+2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Use bundles on QtWebKit/Mac for platform modules
+
+ * platform/FileSystem.h:
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::unloadModule):
+
+2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon.
+
+ Build fix for MinGW.
+
+ * platform/win/SystemTimeWin.cpp:
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::invalidateRect):
+
+2008-10-06 Adam Roben <aroben@apple.com>
+
+ Mimic the inspector/ directory structure in WebCore.vcproj
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-10-06 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
+ configurations to include WebCore/inspector.
+
+2008-10-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ SVG should support ascent and descent properties <font-face> instead of <font>!
+ https://bugs.webkit.org/show_bug.cgi?id=21365
+
+ Tested by many many existing SVG tests.
+
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::ascent):
+ (WebCore::SVGFontFaceElement::descent):
+
+2008-10-05 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION: crash in ScriptElement::notifyFinished
+ Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
+ ensure that the ScriptElementData object is not destroyed prematurely.
+
+2008-10-05 Chris Lord <chris@openedhand.com>
+
+ Reviewed by Alp Toker. Landed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20624
+ WebKit-gtk uses deprecated GtkType/GtkObject
+
+ * plugins/gtk/gtk2xtbin.c:
+ (gtk_xtbin_get_type):
+ * plugins/gtk/gtk2xtbin.h:
+
+2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
+
+ Reviewed by David Hyatt.
+
+ GTK_WINDOW_HWND not GTK_WINDOWING_HWND
+ https://bugs.webkit.org/show_bug.cgi?id=20725
+
+ Updated to ToT by Jan Alonzo.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::getValue):
+
+2008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Invalid cast from GdkWindow to GtkWidget
+ https://bugs.webkit.org/show_bug.cgi?id=21391
+
+ Fix a misplaced closing parenthesis to actually cast the widget, not the window
+
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::screenDepth):
+
+2008-10-05 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Alder.
+
+ Attach the Origin header to POST requests to help defend against
+ cross-site request forgery.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20792
+
+ Collin Jackson <collinj@webkit.org> also contributed to this patch.
+
+ Tests: http/tests/security/originHeader/origin-header-for-data.html
+ http/tests/security/originHeader/origin-header-for-empty.html
+ http/tests/security/originHeader/origin-header-for-get.html
+ http/tests/security/originHeader/origin-header-for-https.html
+ http/tests/security/originHeader/origin-header-for-post.html
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::createWindow):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::createWindow):
+ (WebCore::FrameLoader::urlSelected):
+ (WebCore::FrameLoader::submitForm):
+ (WebCore::FrameLoader::outgoingOrigin):
+ (WebCore::FrameLoader::loadURL):
+ (WebCore::FrameLoader::addExtraFieldsToRequest):
+ (WebCore::FrameLoader::loadPostRequest):
+ (WebCore::FrameLoader::loadResourceSynchronously):
+ (WebCore::FrameLoader::loadItem):
+ * loader/FrameLoader.h:
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::create):
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests):
+ * platform/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::toHTTPOrigin):
+ * platform/SecurityOrigin.h:
+ * platform/network/ResourceRequestBase.h:
+ (WebCore::ResourceRequestBase::httpOrigin):
+ (WebCore::ResourceRequestBase::setHTTPOrigin):
+ (WebCore::ResourceRequestBase::clearHTTPOrigin):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
+ (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
+ (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
+ (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
+
+2008-10-04 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
+ <https://bugs.webkit.org/show_bug.cgi?id=21381>
+
+ If we hit a parsing boundary (end of a packet, etc) in the middle of a
+ <script> element when we are doing an incremental parse, we exit the
+ parser, and reenter later when more data is available. During this
+ reentry we incorrectly reset the scriptStartLineno to the current line
+ in the parser, which is now part way through the script element.
+
+ The solution is to track whether we are entering or reentering the parsing
+ of a script element. We do this simply by 0 checking scriptStartLineno,
+ and resetting it after we complete parsing of each script element.
+
+ Test: http/tests/incremental/pause-in-script-element.pl
+
+ * ChangeLog:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseSpecial):
+ (WebCore::HTMLTokenizer::scriptHandler):
+
+2008-10-04 Alp Toker <alp@nuanti.com>
+
+ Reviewed by David Hyatt. Landed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20924
+ [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
+
+ https://bugs.webkit.org/show_bug.cgi?id=19578
+ [CURL] problem in parseDataUrl
+
+ De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
+ This patch also fixes encoding support in escaped (non-Base64) data
+ URLs. All manual data URL tests now pass in both GLib and non-GLib
+ code paths.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::parseDataUrl):
+
+2008-10-04 Timothy Hatcher <timothy@apple.com>
+
+ Makes breakpoints and debugging code during page load work in the
+ Web Inspector's debugger. Specifically, this makes the source
+ code for loading resources show up in the Scripts panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19053
+ rdar://problem/5933408
+
+ Reviewed by Mark Rowe.
+
+ * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
+ not using tabs and a tab width of 8.
+ * inspector/InspectorController.cpp:
+ (WebCore::addResourceSourceToFrame): Return a bool to report if the
+ source was added successfully or not.
+ (WebCore::addSourceToFrame): Ditto.
+ * inspector/front-end/ScriptView.js:
+ (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
+ Return early if the InspectorController.addSourceToFrame fails.
+ Moved the delete of the _frameNeedsSetup property after that call so
+ if the source wasn't added it will be attempted again.
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype.detach): Move a comment.
+ (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
+ Don't check if the resource is finished or failed, just attempt
+ to add the source to the frame. WebCore has the source, but the
+ finished property hasn't been set yet. Return early if the
+ InspectorController.addSourceToFrame fails. Moved the delete
+ of the _frameNeedsSetup property after that call so if the source
+ wasn't added it will be attempted again.
+ (WebInspector.SourceView.prototype._resourceLoadingFinished):
+ Clear the _frameNeedsSetup and _sourceFrameSetup properties so
+ the source frame will we populated again now that the resource
+ load has finished.
+ * manual-tests/inspector/debugger-pause-during-load.html: Added.
+
+2008-10-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-10-04 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21373
+
+ Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
+ is still present.
+
+ Reviewed by Mark Rowe
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::~FrameView):
+
+2008-10-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Avoid copying a Vector when using getSupportedKeySizes.
+
+ * html/HTMLKeygenElement.cpp:
+ (WebCore::HTMLKeygenElement::HTMLKeygenElement):
+ * platform/SSLKeyGenerator.h:
+ * platform/gtk/TemporaryLinkStubs.cpp:
+ (WebCore::getSupportedKeySizes):
+ * platform/mac/SSLKeyGeneratorMac.mm:
+ (WebCore::getSupportedKeySizes):
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (WebCore::getSupportedKeySizes):
+ * platform/win/TemporaryLinkStubs.cpp:
+ (WebCore::getSupportedKeySizes):
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (WebCore::getSupportedKeySizes):
+
+2008-10-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
+ Bug 21295: Replace ExecState with a call frame Register pointer
+
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
+ Remove bogus "const".
+ * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
+
+2008-10-04 David Hyatt <hyatt@apple.com>
+
+ Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
+
+ Reviewed by Darin Adler
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/PopupMenuClient.h:
+ * platform/gtk/PopupMenuGtk.cpp:
+ (WebCore::PopupMenu::show):
+ * platform/mac/PopupMenuMac.mm:
+ (WebCore::PopupMenu::populate):
+ (WebCore::PopupMenu::show):
+ * platform/qt/PopupMenuQt.cpp:
+ (WebCore::PopupMenu::populate):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::calculatePositionAndSize):
+ (WebCore::PopupMenu::paint):
+ (WebCore::PopupWndProc):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::itemStyle):
+ (WebCore::RenderMenuList::menuStyle):
+ (WebCore::RenderMenuList::hostWindow):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::itemStyle):
+ (WebCore::RenderTextControl::menuStyle):
+ (WebCore::RenderTextControl::hostWindow):
+ * rendering/RenderTextControl.h:
+
+2008-10-04 Matt Lilek <webkit@mattlilek.com>
+
+ Build fix - restore Private role to headers that had it before the move.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-10-04 Darin Adler <darin@apple.com>
+
+ - try to fix build
+
+ * DerivedSources.make: Add new inspector directory to VPATH.
+ * GNUmakefile.am: Add new inspector directory to includes.
+ Re-sort the IDL_BINDINGS list. Add new inspector directory
+ to VPATH.
+
+2008-10-04 Matt Lilek <webkit@mattlilek.com>
+
+ Not reviewed, attempt to fix Gtk build.
+
+ * GNUmakefile.am:
+
+2008-10-03 Timothy Hatcher <timothy@apple.com>
+
+ Move the Web Inspector files into a top-level "inspector" folder.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21359
+
+ Reviewed by Dave Hyatt.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
+ * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
+ * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
+ * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
+ * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
+ * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
+ * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
+ * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
+ * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
+ * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
+ * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
+ * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
+ * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
+ * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
+ * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
+ * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
+ * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
+ * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
+ * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
+ * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
+ * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
+ * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
+ * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
+ * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
+ * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
+ * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
+ * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
+ * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
+ * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
+ * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
+ * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
+ * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
+ * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
+ * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
+ * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
+ * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
+ * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
+ * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
+ * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
+ * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
+ * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
+ * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
+ * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
+ * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
+ * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
+ * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
+ * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
+ * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
+ * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
+ * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
+ * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
+ * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
+ * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
+ * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
+ * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
+ * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
+ * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
+ * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
+ * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
+ * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
+ * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
+ * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
+ * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
+ * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
+ * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
+ * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
+ * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
+ * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
+ * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
+ * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
+ * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
+ * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
+ * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
+ * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
+ * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
+ * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
+ * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
+ * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
+ * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
+ * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
+ * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
+ * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
+ * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
+ * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
+ * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
+ * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
+ * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
+ * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
+ * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
+ * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
+ * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
+ * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
+ * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
+ * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
+ * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
+ * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
+ * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
+ * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
+ * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
+ * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
+ * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
+ * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
+ * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
+ * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
+ * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
+ * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
+ * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
+ * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
+ * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
+ * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
+ * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
+ * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
+ * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
+ * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
+ * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
+ * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
+ * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
+ * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
+ * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
+ * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
+ * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
+ * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
+ * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
+ * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
+ * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
+ * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
+ * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
+ * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
+ * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
+ * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
+ * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
+ * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
+ * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
+ * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
+ * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
+ * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
+ * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
+ * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
+ * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
+ * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
+ * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
+ * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
+ * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
+ * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
+ * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
+ * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
+ * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
+ * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
+ * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
+ * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
+ * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
+ * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
+ * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
+ * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
+ * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
+ * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
+
+2008-10-03 Timothy Hatcher <timothy@apple.com>
+
+ Adds support to the Web Inspector's Elements panel for fast tag name,
+ class name, id and attribute name searching. The panel first tries
+ using getElementById, getElementsByClassName and getElementsByTagName
+ with the search query. Then does a slower search using XPath for partial
+ matches, text and comment matches.
+
+ Adds support for search queries like "<div>", "<h" and "frame>".
+ These forms limit the search to tag names, text and comment matches.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21353
+
+ Reviewed by Maciej Stachowiak.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
+ support. Add new search functions that try exact matches first.
+
+2008-10-03 Timothy Hatcher <timothy@apple.com>
+
+ Changes how searching works in the Web Inspector's Elements
+ panel. The search tasks are divided into chunks that are small
+ units of work that are performed at a time interval. This
+ change also prevents queries that will select all elements,
+ since that isn't useful.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21285
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.searchCancled):
+ Remove the searchResultsProperty form results since there might
+ be an unfinished search.
+ (WebInspector.ElementsPanel.prototype.performSearch): Divide the
+ documents and search functions into chunks that are performed on
+ a interval of 25ms. Prevent searches for "//*" and "*".
+
+2008-10-03 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ - "this" object in methods called on primitives should be wrapper object
+ https://bugs.webkit.org/show_bug.cgi?id=21362
+
+ Updated so toThis conversion for the split window is handled properly.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2008-10-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David "The Motivator" Hyatt.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
+ Move SecurityOrigin out of platform/ to page/.
+
+ It was a layering violation for SecurityOrigin to be in platform
+ as it depended on FrameLoader.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
+ * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
+ * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
+ * platform/SecurityOrigin.cpp: Removed.
+ * platform/SecurityOrigin.h: Removed.
+ * platform/SecurityOriginHash.h: Removed.
+
+2008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Alp Toker.
+
+ http://bugs.webkit.org/show_bug.cgi?id=18832
+ [curl] file upload does not work
+
+ The curl_off_t integer type has a different size depending if large
+ file support is enabled or not. There is no different public API for
+ the two cases, so the same function accepts a different type based on
+ a compilation option the could be different in WebKit and libcurl.
+ To fix the bug we query libcurl at runtime for large file support and
+ pass the right type based on that.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::setupPOST):
+
+2008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Gtk build fixes.
+
+ * platform/gtk/FileChooserGtk.cpp:
+ (WebCore::FileChooser::openFileChooser):
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::screenDepth):
+ (WebCore::screenDepthPerComponent):
+ (WebCore::screenAvailableRect):
+ * platform/gtk/PopupMenuGtk.cpp:
+ (WebCore::PopupMenu::show):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::platformAddChild):
+ (WebCore::ScrollView::platformRemoveChild):
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::setCursor):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::forceRedraw):
+ (WebCore::PluginView::init):
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Fix Qt bustage from missing include.
+
+ * platform/qt/PlatformScreenQt.cpp:
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Fix Windows scrollbar bustage in popup menus.
+
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupWndProc):
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Fix Windows bustage.
+
+ * platform/win/FileChooserWin.cpp:
+ (WebCore::FileChooser::openFileChooser):
+ * platform/win/PlatformScreenWin.cpp:
+ (WebCore::monitorInfoForWidget):
+ * platform/win/WidgetWin.cpp:
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::forceRedraw):
+ (WebCore::PluginView::init):
+
+2008-10-03 Darin Adler <darin@apple.com>
+
+ * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
+ seen on some machines but not others by adding an include.
+
+2008-10-03 Darin Adler <darin@apple.com>
+
+ - Qt build fix
+
+ * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
+ execute functions. Declarations for these relied on the CodeType
+ enumeration, which used to be in ExecState.h; but the functions
+ aren't needed at all.
+ * bridge/qt/qt_runtime.h: Ditto.
+
+2008-10-03 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
+ Turn ExecState into a call frame pointer.
+
+ Remove m_globalObject and m_globalData from ExecState.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
+ Removed an argument now that JSGlobalObject doesn't need it any more.
+ (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
+ the JSDOMWindowBaseData constructor, and added the this argument to the
+ JSGlobalObject constructor. This is because a couple key bits of
+ initialization moved from the data constructor to the JSGlobalObject
+ constructor.
+ * bindings/js/JSDOMWindowBase.h: Ditto.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::RuntimeMethod):
+ Pass JSGlobalData* instead of ExecState* to the InternalFunction
+ constructor.
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Fix Windows/Qt build bustage.
+
+ Reviewed by ggaren
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::platformWindow):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::platformWindow):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * platform/HostWindow.h:
+ * platform/qt/PlatformScreenQt.cpp:
+ (WebCore::screenDepth):
+ (WebCore::screenDepthPerComponent):
+ (WebCore::screenIsMonochrome):
+ (WebCore::screenRect):
+ (WebCore::screenAvailableRect):
+ * platform/qt/PopupMenuQt.cpp:
+ (WebCore::PopupMenu::show):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::show):
+ (WebCore::PopupMenu::calculatePositionAndSize):
+ (WebCore::PopupWndProc):
+
+2008-10-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Make setStyle() take a const RenderStyle, to ensure that an
+ earlier RenderStyle::diff() remains valid.
+
+ * rendering/RenderBR.cpp:
+ * rendering/RenderBR.h:
+ * rendering/RenderBlock.cpp:
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ * rendering/RenderBox.h:
+ * rendering/RenderButton.cpp:
+ * rendering/RenderButton.h:
+ * rendering/RenderFieldset.cpp:
+ * rendering/RenderFieldset.h:
+ * rendering/RenderFileUploadControl.cpp:
+ * rendering/RenderFileUploadControl.h:
+ * rendering/RenderInline.cpp:
+ * rendering/RenderInline.h:
+ * rendering/RenderListBox.cpp:
+ * rendering/RenderListBox.h:
+ * rendering/RenderListItem.cpp:
+ * rendering/RenderListItem.h:
+ * rendering/RenderListMarker.cpp:
+ * rendering/RenderListMarker.h:
+ * rendering/RenderMenuList.cpp:
+ * rendering/RenderMenuList.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::setStyle):
+ * rendering/RenderObject.h:
+ * rendering/RenderReplaced.cpp:
+ * rendering/RenderReplaced.h:
+ * rendering/RenderSVGBlock.cpp:
+ (WebCore::RenderSVGBlock::setStyle):
+ * rendering/RenderSVGBlock.h:
+ * rendering/RenderSVGGradientStop.cpp:
+ * rendering/RenderSVGGradientStop.h:
+ * rendering/RenderSlider.cpp:
+ * rendering/RenderSlider.h:
+ * rendering/RenderTable.cpp:
+ * rendering/RenderTable.h:
+ * rendering/RenderTableCell.cpp:
+ * rendering/RenderTableCell.h:
+ * rendering/RenderTableRow.cpp:
+ * rendering/RenderTableRow.h:
+ * rendering/RenderText.cpp:
+ * rendering/RenderText.h:
+ * rendering/RenderTextControl.cpp:
+ * rendering/RenderTextControl.h:
+ * rendering/RenderWidget.cpp:
+ * rendering/RenderWidget.h:
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::isDisplayReplacedType):
+ (WebCore::RenderStyle::isDisplayInlineType):
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
+ event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
+ method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
+ that will work properly for hit testing. This patch just stubs out that method to return the same
+ event untransformed.
+
+ Reviewed by Darin Adler
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ (WebCore::EventHandler::passMousePressEventToScrollbar):
+ * page/gtk/EventHandlerGtk.cpp:
+ * page/mac/EventHandlerMac.mm:
+ * page/qt/EventHandlerQt.cpp:
+ * page/win/EventHandlerWin.cpp:
+ * page/wx/EventHandlerWx.cpp:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::mouseMoved):
+ (WebCore::Scrollbar::mouseExited):
+ (WebCore::Scrollbar::mouseUp):
+ (WebCore::Scrollbar::mouseDown):
+ (WebCore::Scrollbar::transformEvent):
+ * platform/Scrollbar.h:
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21340
+
+ Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
+
+ Reviewed by Dan Bernstein & Darin Adler
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::addChild):
+ * platform/Widget.cpp:
+ (WebCore::Widget::init):
+ * platform/Widget.h:
+ * platform/mac/WidgetMac.mm:
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::show):
+
+2008-10-03 Adele Peterson <adele@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
+ Return early if settings is nil.
+
+2008-10-03 Rob Buis <buis@kde.org>
+
+ Reviewed by Darin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20134
+ REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
+
+ Make sure the input element gets the right default value when no value is set.
+
+ Test: fast/forms/range-default-value.html
+
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::setPositionFromValue):
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
+ destructor that calls them, switch to having a cross-platform constructor/destructor that calls
+ platform-specific init/destroy methods.
+
+ With this change, ScrollViewWin.cpp can be removed from the build (yay!).
+
+ Reviewed by Darin Adler
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::~ScrollView):
+ (WebCore::ScrollView::platformInit):
+ (WebCore::ScrollView::platformDestroy):
+ (WebCore::ScrollView::platformAddChild):
+ (WebCore::ScrollView::platformRemoveChild):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::platformInit):
+ (WebCore::ScrollView::platformDestroy):
+ * platform/mac/ScrollViewMac.mm:
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::platformInit):
+ (WebCore::ScrollView::platformDestroy):
+ * platform/win/ScrollViewWin.cpp: Removed.
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformInit):
+ (WebCore::ScrollView::platformDestroy):
+ (WebCore::ScrollView::setPlatformWidget):
+
+2008-10-03 Adele Peterson <adele@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/6012018>
+ https://bugs.webkit.org/show_bug.cgi?id=21335
+ CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
+
+ * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
+
+2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Build fix.
+
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::Widget::invalidateRect):
+
+2008-10-03 Alp Toker <alp@nuanti.com>
+
+ Remove some left-over GTK+ includes. No change in functionality.
+
+ * platform/Cursor.h:
+ * platform/graphics/Icon.h:
+ * platform/gtk/RenderThemeGtk.h:
+
+2008-10-03 Alp Toker <alp@nuanti.com>
+
+ Build fix for trailing comment after #endif
+
+ * dom/ElementRareData.h:
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Remove addToDirtyRegion.
+
+ Reviewed by Oliver Hunt
+
+ * page/Chrome.cpp:
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+
+2008-10-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ - fix a CachedResource leak introduced in r37176
+
+ Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
+ afterwards bail out of the outer pruneDeadResources().
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::Cache):
+ (WebCore::Cache::pruneDeadResources):
+ (WebCore::Cache::remove):
+ * loader/Cache.h:
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21330
+
+ Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
+ scrollbars.
+
+ Reviewed by Oliver Hunt
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ (WebCore::ScrollView::platformHasHorizontalAdjustment):
+ (WebCore::ScrollView::platformHasVerticalAdjustment):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::adjustmentChanged):
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::~ScrollView):
+ (WebCore::ScrollView::setGtkAdjustments):
+ (WebCore::ScrollView::platformHandleHorizontalAdjustment):
+ (WebCore::ScrollView::platformHandleVerticalAdjustment):
+
+2008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 21106: .in format discussed changes
+ https://bugs.webkit.org/show_bug.cgi?id=21106
+
+ Change "upperCase" to "interfaceName" per-tag parameter as
+ discussed on the mailing list. Removed the per-attribute version
+ as it was not used.
+
+ Also add the "Element" suffix to all interfaceName parameter to match
+ the class name (and thus remove it from make_names.pl).
+
+ * dom/make_names.pl:
+ * html/HTMLTagNames.in:
+ * svg/svgtags.in:
+
+2008-10-03 David Hyatt <hyatt@apple.com>
+
+ Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
+ Hopefully this is a temporary hack that could eventually be removed.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::rootPreventsBlitting):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::~ScrollView):
+ (WebCore::ScrollView::platformAddChild):
+ (WebCore::ScrollView::platformRemoveChild):
+
+2008-10-02 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21328
+
+ Make widget invalidation more cross-platform.
+
+ (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
+
+ (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
+ This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
+
+ (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
+
+ (4) FrameViews now do a repaintRectangle on their owner element's renderer.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::invalidateRect):
+ (WebCore::FrameView::invalidateScrollbarRect):
+ * page/FrameView.h:
+ * platform/PopupMenu.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ * platform/ScrollView.h:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::setEnabled):
+ (WebCore::Scrollbar::invalidateRect):
+ * platform/Scrollbar.h:
+ * platform/ScrollbarClient.h:
+ * platform/Widget.h:
+ * platform/gtk/WidgetGtk.cpp:
+ * platform/mac/WidgetMac.mm:
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::invalidateScrollbarRect):
+ * platform/win/WidgetWin.cpp:
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::invalidateTimerFired):
+ (WebCore::PluginView::invalidateWindowlessPluginRect):
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::invalidateRect):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::invalidateRect):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::invalidateRect):
+ (WebCore::PluginView::invalidateRegion):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::invalidateScrollbarRect):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::paintObject):
+ (WebCore::RenderListBox::paintScrollbar):
+ (WebCore::RenderListBox::invalidateScrollbarRect):
+ * rendering/RenderListBox.h:
+
+2008-10-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Geoffrey Garen and Sam Weinig.
+
+ - fix SVGFontFaceElement leaks seen in Acid3
+ - make font-face elements take effect only when they are in the document tree
+
+ Test: svg/custom/font-face-not-in-document.svg
+
+ * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
+ RefPtr to a plain pointer to break a ref cycle.
+ (WebCore::SVGFontData::svgFontFaceElement):
+
+ * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
+ @font-face rule from the document's mapped element sheet when the
+ element is inserted and removed from the document, and to update it
+ only when the element is in the document.
+ (WebCore::SVGFontFaceElement::SVGFontFaceElement):
+ (WebCore::SVGFontFaceElement::parseMappedAttribute):
+ (WebCore::SVGFontFaceElement::rebuildFontFace):
+ (WebCore::SVGFontFaceElement::insertedIntoDocument):
+ (WebCore::SVGFontFaceElement::removedFromDocument):
+ (WebCore::SVGFontFaceElement::childrenChanged):
+ (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
+ * svg/SVGFontFaceElement.h:
+
+2008-10-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Fix RenderFileUploadControl::setStyle() and
+ RenderMenuList::setStyle() to not touch the style; replace
+ with html4.css and CSSStyleSelector changes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21287
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::adjustRenderStyle):
+ * css/html4.css:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::setStyle):
+ * rendering/RenderFileUploadControl.cpp:
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::setStyle):
+
+2008-10-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Clean up code that changes the RenderStyle passed in to
+ table renderer setStyle() methods.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21287
+
+ Tests: fast/table/floating-th.html
+ fast/table/table-display-types-strict.html
+ fast/table/table-display-types.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::adjustRenderStyle):
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::setStyle):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::setStyle):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::setStyle):
+
+2008-10-02 Darin Adler <darin@apple.com>
+
+ - fix build
+
+ * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
+ Not just locally in my generated file!
+
+2008-10-02 Adele Peterson <adele@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
+ REGRESSION: <input> color specified in inline style applies to placeholder
+
+ I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
+ is more appropriate. This change adds "-webkit-input-placeholder".
+
+ * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
+ Added definition for "-webkit-input-placeholder" pseudo element.
+ * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
+ * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ Added case for PseudoInputPlaceholder.
+ * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
+ * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
+ (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
+ (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
+ setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
+ (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
+ the text will be updated correctly.
+ * rendering/RenderTextControl.h:
+
+2008-10-02 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21280
+ <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
+
+ Updated AXTable detection to be more robust to false-positives. Specifically, added checks
+ to ensure that there is more than one valid table cell, and that at least half of the cells
+ have borders or have specific background colors. Modified the table detection layout test
+ to test for the tables mentioned in the bug
+
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+
+2008-10-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21321
+ Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
+
+ * bindings/js/GCController.cpp:
+ (WebCore::collect): Use heap. instead of heap-> to work with the heap.
+ (WebCore::GCController::gcTimerFired): Ditto.
+ (WebCore::GCController::garbageCollectNow): Ditto.
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::operator new): Ditto.
+ * storage/Database.cpp:
+ (WebCore::Database::Database): Ditto.
+
+2008-10-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ - fix a Database leak that resulted in Document leaks
+
+ * storage/Database.cpp:
+ (WebCore::Database::openDatabase): Account for the fact that RefCounted
+ objects start out with a ref count of 1.
+
+2008-10-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mr. Geoffrey Garen.
+
+ Always mark your parent before marking members.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::mark):
+
+2008-10-02 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21314
+
+ Make scrollBackingStore cross-platform.
+
+ Reviewed by Sam Weinig
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::repaint):
+ (WebCore::EmptyChromeClient::scroll):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::repaint):
+ (WebCore::Chrome::scroll):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleAutoscroll):
+ * platform/HostWindow.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollContents):
+ (WebCore::ScrollView::addPanScrollIcon):
+ (WebCore::ScrollView::removePanScrollIcon):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::~ScrollView):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::~ScrollView):
+
+2008-10-02 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes after Frame/ScrollView changes.
+
+ * WebCoreSources.bkl:
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformContentsToScreen):
+ (WebCore::ScrollView::platformScreenToContents):
+ (WebCore::ScrollView::platformIsOffscreen):
+
+2008-10-02 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Sam Weinig
+
+ https://bugs.webkit.org/show_bug.cgi?id=21292
+
+ Revert the changes to enclosingIntRect made in r12530 since the new code
+ doesn't round correctly.
+
+ * ChangeLog:
+ * platform/graphics/FloatRect.cpp:
+ (WebCore::enclosingIntRect):
+
+2008-10-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson and Eric Seidel.
+
+ - fix HTMLCanvaseElement leak from -webkit-canvas() values
+
+ Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
+ pointer, as the document owns the canvas elements. Added code to release
+ those elements in Document::removedLastRef() because they reference
+ the document.
+
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::element):
+ * css/CSSCanvasValue.h:
+ (WebCore::CSSCanvasValue::CSSCanvasValue):
+ * dom/Document.cpp:
+ (WebCore::Document::removedLastRef):
+
+2008-10-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Build fix for platforms that don't implement WTF::ThreadSpecific.
+
+ * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
+ Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
+ code is only needed for JS bindings in worker threads.
+
+2008-10-01 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21298
+
+ Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
+ will make that cross-platform.
+
+ The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
+ multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
+ windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
+
+ Reviewed by Sam Weinig
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::windowClipRect):
+ (WebCore::FrameView::isActive):
+ * page/FrameView.h:
+ (WebCore::FrameView::visibleContentsResized):
+ * platform/PopupMenu.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::init):
+ (WebCore::ScrollView::destroy):
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ (WebCore::ScrollView::valueChanged):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::scrollContents):
+ (WebCore::ScrollView::platformHandleHorizontalAdjustment):
+ (WebCore::ScrollView::platformHandleVerticalAdjustment):
+ * platform/ScrollView.h:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::windowClipRect):
+ * platform/ScrollbarClient.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::platformHandleHorizontalAdjustment):
+ (WebCore::ScrollView::platformHandleVerticalAdjustment):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::scrollContents):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::windowClipRect):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::scrollContents):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::windowClipRect):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::panScroll):
+ (WebCore::RenderListBox::windowClipRect):
+ * rendering/RenderListBox.h:
+
+2008-10-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21304
+ Stop using a static wrapper map for WebCore JS bindings
+
+ The static domObjects map was not thread safe.
+
+ * dom/Document.h:
+ (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
+ ports.
+ (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
+
+ * dom/Document.cpp:
+ (WebCore::Document::createdXMLHttpRequest):
+ (WebCore::Document::destroyedXMLHttpRequest):
+ Moved XMLHttpRequest tracking from a global map to Document.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * webcore-base.bkl:
+ * bindings/DOMProtect.cpp: Removed.
+ * bindings/DOMProtect.h: Removed.
+ Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
+ so they can no longer protect bindings objects.
+
+ * dom/MessagePort.cpp:
+ (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
+ (WebCore::CloseMessagePortTimer::fired):
+ (WebCore::MessagePort::MessagePort):
+ (WebCore::MessagePort::queueCloseEvent):
+ (WebCore::MessagePort::setPendingActivity):
+ (WebCore::MessagePort::unsetPendingActivity):
+ * dom/MessagePort.h:
+ (WebCore::MessagePort::hasPendingActivity):
+ MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
+ to protect it.
+
+ * xml/XMLHttpRequest.h:
+ (WebCore::XMLHttpRequest::hasPendingActivity):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+ (WebCore::XMLHttpRequest::~XMLHttpRequest):
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously):
+ (WebCore::XMLHttpRequest::dropProtection):
+ (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
+ (WebCore::XMLHttpRequest::cancelRequests):
+ (WebCore::XMLHttpRequest::detachRequests):
+ (WebCore::XMLHttpRequest::setPendingActivity):
+ (WebCore::XMLHttpRequest::unsetPendingActivity):
+ Moved XMLHttpRequest tracking from a global map to Document.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::wrapperSet):
+ (WebCore::DOMObjectWrapperMap::mapFor):
+ (WebCore::DOMObjectWrapperMap::get):
+ (WebCore::DOMObjectWrapperMap::set):
+ (WebCore::DOMObjectWrapperMap::remove):
+ (WebCore::getCachedDOMObjectWrapper):
+ (WebCore::cacheDOMObjectWrapper):
+ (WebCore::forgetDOMObject):
+ (WebCore::getCachedDOMNodeWrapper):
+ (WebCore::forgetDOMNode):
+ (WebCore::cacheDOMNodeWrapper):
+ (WebCore::markActiveObjectsForDocument):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::createDOMObjectWrapper):
+ (WebCore::getDOMObjectWrapper):
+ Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
+ to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
+ WebCore objects can never migrate between threads.
+
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::mark):
+ Call markActiveObjectsForDocument() from JSDOMBinding.
+
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::JSDOMWindow::mark):
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSMessageChannelCustom.cpp:
+ (WebCore::JSMessageChannel::mark):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::mark):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::mark):
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::mark):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::mark):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::finishedWithEvent):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Pass a JSGlobalData reference to functions that track JS wrapper objects.
+
+2008-10-02 Dan Bernstein <mitz@apple.com>
+
+ - build fix
+
+ * page/JavaScriptCallFrame.idl:
+
+2008-10-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Add new file to project files
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-10-02 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try to fix some more builds.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+
+2008-10-02 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try to fix Windows build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-10-01 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler and Cameron Zwarich.
+
+ Updated for JavaScriptCore API changes: use a SourceCode instead of
+ broken out parameters; treat sourceId as intptr_t.
+
+ * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/js/StringSourceProvider.h:
+ (WebCore::StringSourceProvider::create):
+ (WebCore::StringSourceProvider::StringSourceProvider):
+
+ (WebCore::makeSource): Added a makeSource function for convenience.
+
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject evaluateWebScript:]):
+ * bridge/NP_jsobject.cpp:
+ (_NPN_Evaluate):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::eval):
+ (JavaJSObject::getMember):
+ (JavaJSObject::setMember):
+ (JavaJSObject::removeMember):
+
+ * bridge/jni/jni_runtime.h:
+ (JSC::Bindings::JavaString::operator UString): Replaced the explicit
+ ustring() function with an implicit operator because this class already
+ holds a UString::rep.
+
+ * page/Console.cpp:
+ (WebCore::retrieveLastCaller):
+ (WebCore::Console::trace):
+ * page/InspectorController.cpp:
+ (WebCore::jsStringRef):
+ (WebCore::InspectorController::addBreakpoint):
+ (WebCore::InspectorController::removeBreakpoint):
+ (WebCore::InspectorController::didParseSource):
+ (WebCore::InspectorController::failedToParseSource):
+ * page/InspectorController.h:
+ * page/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
+ * page/JavaScriptCallFrame.h:
+ (WebCore::JavaScriptCallFrame::create):
+ (WebCore::JavaScriptCallFrame::sourceIdentifier):
+ (WebCore::JavaScriptCallFrame::update):
+ * page/JavaScriptDebugListener.h:
+ * page/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::addBreakpoint):
+ (WebCore::JavaScriptDebugServer::removeBreakpoint):
+ (WebCore::JavaScriptDebugServer::hasBreakpoint):
+ (WebCore::dispatchDidParseSource):
+ (WebCore::dispatchFailedToParseSource):
+ (WebCore::JavaScriptDebugServer::sourceParsed):
+ (WebCore::JavaScriptDebugServer::callEvent):
+ (WebCore::JavaScriptDebugServer::atStatement):
+ (WebCore::JavaScriptDebugServer::returnEvent):
+ (WebCore::JavaScriptDebugServer::exception):
+ (WebCore::JavaScriptDebugServer::willExecuteProgram):
+ (WebCore::JavaScriptDebugServer::didExecuteProgram):
+ (WebCore::JavaScriptDebugServer::didReachBreakpoint):
+ * page/JavaScriptDebugServer.h:
+ * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
+ sourceIdentifier to sourceID.
+
+2008-10-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
+
+ Broke a ref cycle by changing the m_svgFontFaceElement members of
+ CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
+ pointers. Also made sure that the @font-face rule added by
+ SVGFontFaceElement to the document's mapped element sheet is removed
+ when the font-face element is deleted or moved to another document.
+
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::CSSFontFaceSource):
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontFaceSource.h:
+ (WebCore::CSSFontFaceSource::svgFontFaceElement):
+ * css/CSSFontFaceSrcValue.h:
+ (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
+ (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
+ (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
+ (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
+ (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
+ * svg/SVGFontFaceElement.h:
+
+2008-10-01 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 20315: Memory leak with Canvas getImageData
+ <https://bugs.webkit.org/show_bug.cgi?id=20315>
+
+ This wasn't a leak, the issue was that we were reporting the cost
+ of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
+ and we should have been reporting the cost when we create the
+ JSImageData wrapper.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
+ This was only needed to report the extra memory cost
+ of the CPA.
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS):
+ We need a custom toJS function now so that we can report
+ the extra memory cost.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Need to replace the reference to CanvasPixelArray with ImageData
+ to be able to create the custom toJS implementation.
+ * html/CanvasPixelArray.idl:
+ * html/ImageData.idl:
+
+2008-10-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21293
+ REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
+
+ * svg/SVGMarkerElement.cpp:
+ (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
+ that renderer destruction happens before the SVGMarkerElement is
+ destroyed.
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
+
+2008-10-01 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20669
+
+ * css/makeprop.pl:
+ Die if gperf fails.
+
+2008-10-01 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ * loader/icon/IconDatabase.h:
+ IconDatabase uses HashMap, so it needs to #include the header.
+
+2008-10-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::remove): Disable pruning temporarily during
+ CachedResource deletion.
+
+2008-10-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
+
+ * svg/SVGFontFaceElement.cpp:
+ (WebCore::SVGFontFaceElement::rebuildFontFace):
+ * svg/SVGFontFaceElement.h:
+ (WebCore::SVGFontFaceElement::associatedFontElement):
+
+2008-10-01 Brett Wilson <brettw@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Document the rounding behavior of the mapRect(IntRect) function in
+ AffineTransform.h.
+
+ * platform/graphics/AffineTransform.h:
+
+2008-10-01 David Hyatt <hyatt@apple.com>
+
+ Move prohibitsScrolling from the Frame to the ScrollView.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * page/Frame.cpp:
+ (WebCore::FramePrivate::FramePrivate):
+ * page/Frame.h:
+ * page/FramePrivate.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollRectIntoViewRecursively):
+ (WebCore::FrameView::setScrollPosition):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::init):
+ (WebCore::ScrollView::scrollRectIntoViewRecursively):
+ (WebCore::ScrollView::setScrollPosition):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::setProhibitsScrolling):
+ (WebCore::ScrollView::prohibitsScrolling):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2008-10-01 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
+ that we do during the loadRequestAsynchronously of the preflight request with a deref and
+ GC unprotect.
+
+2008-10-01 David Hyatt <hyatt@apple.com>
+
+ Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
+ clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
+
+ Reviewed by Tim Hatcher
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setCanHaveScrollbars):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setCanHaveScrollbars):
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::canHaveScrollbars):
+
+2008-10-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix some CachedResource leaks seen on buildbot
+
+ The issue here was that emptying the cache was a no-op when it only
+ contained resources with no data. Changed to go after those
+ resources when the desired cache capacity is zero.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::pruneLiveResources):
+ (WebCore::Cache::pruneDeadResources):
+ * loader/Cache.h:
+ (WebCore::Cache::prune):
+
+2008-10-01 David Hyatt <hyatt@apple.com>
+
+ Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
+ HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
+
+ Reviewed by Adam Roben
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::isOffscreen):
+ (WebCore::ScrollView::platformIsOffscreen):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformIsOffscreen):
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+
+2008-10-01 David Hyatt <hyatt@apple.com>
+
+ Make show/hide/setParentVisible cross-platform on ScrollView.
+
+ Reviewed by Adam Roben
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setParentVisible):
+ (WebCore::ScrollView::show):
+ (WebCore::ScrollView::hide):
+ * platform/ScrollView.h:
+ * platform/win/ScrollViewWin.cpp:
+
+2008-10-01 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21284
+ Bug 21284: Max height affects max width
+ - Looks like a cut and paste bug
+ - Added layout test fast/css/max-height-and-max-width.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+
+2008-10-01 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21282
+
+ Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
+
+ Reviewed by Adam Roben
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::screenToWindow):
+ (WebCore::EmptyChromeClient::windowToScreen):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::screenToWindow):
+ (WebCore::Chrome::windowToScreen):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * platform/HostWindow.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::contentsToScreen):
+ (WebCore::ScrollView::screenToContents):
+ (WebCore::ScrollView::platformContentsToScreen):
+ (WebCore::ScrollView::platformScreenToContents):
+ * platform/ScrollView.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformContentsToScreen):
+ (WebCore::ScrollView::platformScreenToContents):
+ * platform/win/ScrollViewWin.cpp:
+
+2008-10-01 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
+
+ Test: fast/parser/residual-style-close-across-removed-block.html
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
+ an assertion that turned out to be wrong in this case, and changed to
+ terminate the algorithm at the first empty block.
+
+2008-10-01 David Hyatt <hyatt@apple.com>
+
+ Make setFrameRect on ScrollView cross-platform.
+
+ Reviewed by Sam Weinig
+
+ * page/FrameView.h:
+ (WebCore::FrameView::contentsResized):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setFrameRect):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+
+2008-10-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
+ to JSDOMWindow from JSDOMWindowBase.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::removeTimeout):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::setTimeoutOrInterval):
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::clearTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ (WebCore::JSDOMWindow::clearInterval):
+ (WebCore::JSDOMWindow::atob):
+ (WebCore::JSDOMWindow::btoa):
+ * page/DOMWindow.idl:
+
+2008-10-01 Dan Bernstein <mitz@apple.com>
+
+ - Mac build fix
+
+ * WebCore.base.exp:
+
+2008-10-01 Timothy Hatcher <timothy@apple.com>
+
+ Prevent stealing focus from the search field when focusing a DOM node.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21275
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
+ Don't steal focus if the current focus element is the search field.
+
+2008-09-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
+
+ Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
+ Autogenerate JS event listeners
+
+ - Generate getting/setting of EventListeners.
+
+ - Adding a new named EventListener now has the same process as adding any other DOM
+ attribute. (Add a method with the same name in the c++ file).
+
+ (The EventListeners for MessagePort have been intentionally left custom so that we
+ can continue to experiment with making those EventListeners work in a frame-less world.)
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
+ * bindings/js/JSDOMWindowCustom.cpp: ditto.
+ * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
+ * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
+ * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
+ getter/setters
+ * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
+ * dom/EventTargetNode.h: ditto.
+ * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
+ will use JSEventListerner instead of JSUnprotectedEventListener.
+ * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
+ * page/DOMWindow.cpp: Add getter/setters for named EventListener
+ * page/DOMWindow.h: ditto.
+ * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
+ will use JSEventListerner instead of JSUnprotectedEventListener.
+ * xml/XMLHttpRequest.idl: Remove custom attributes.
+ * xml/XMLHttpRequestUpload.idl: ditto.
+
+2008-09-30 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a leak counter for CachedResources since we've had two recent leaks involving them.
+
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::CachedResource):
+ (WebCore::CachedResource::~CachedResource):
+
+2008-09-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21127
+ <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
+
+ If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
+ the font name in memory.
+
+ * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
+ OpenTypeUtilities.*.
+
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
+ to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
+ used.
+ (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
+ for fonts loaded using AddFontMemResourceEx.
+ (WebCore::createFontCustomPlatformData): Added a call to
+ renameAndActivateFont() if TTLoadEmbeddedFont fails. If
+ TTLoadEmbeddedFont succeeds, set the font name to the null string, as
+ fontPlatformData() will retrieve the name from the font reference.
+
+ * platform/graphics/win/FontCustomPlatformData.h:
+ (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
+ font name member.
+
+ * platform/graphics/win/GetEOTHeader.cpp: Renamed.
+ * platform/graphics/win/GetEOTHeader.h: Renamed.
+
+ * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
+ (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
+ (WebCore::BigEndianULong::BigEndianULong): Ditto.
+ (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
+ the font data and modifies it to have the given name, then activates
+ it using AddFontMemResourceEx.
+
+ * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
+
+2008-09-30 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
+ with calls to removeClient when we're being destroyed.
+
+2008-09-30 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21243
+
+ Fix loopstart and loopend default values.
+
+ Tests: media/loopend-limits.html
+ media/loopstart-limits.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
+ (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
+
+2008-09-30 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
+
+ * WebCoreSources.bkl:
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
+
+2008-09-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
+ was fixed in r17249 and re-introduced in r31435.
+
+ * html/HTMLViewSourceDocument.cpp:
+ (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
+ (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
+ (WebCore::HTMLViewSourceDocument::addLine):
+ (WebCore::HTMLViewSourceDocument::addLink):
+ * html/HTMLViewSourceDocument.h:
+
+2008-09-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ More for https://bugs.webkit.org/show_bug.cgi?id=21122
+ Autogenerate JS event listeners
+
+ - Make EventListener getter/setters names in c++ files match those in
+ JS (ie. onLoadListener -> onload).
+ - Add standard way to access the frame associated with the EventTarget
+ for EventListener lookup.
+ - Autogenerate dispatchEvent, it wasn't doing anything custom.
+
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::mark):
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ (WebCore::JSDOMApplicationCache::setOnchecking):
+ (WebCore::JSDOMApplicationCache::onchecking):
+ (WebCore::JSDOMApplicationCache::setOnerror):
+ (WebCore::JSDOMApplicationCache::onerror):
+ (WebCore::JSDOMApplicationCache::setOnnoupdate):
+ (WebCore::JSDOMApplicationCache::onnoupdate):
+ (WebCore::JSDOMApplicationCache::setOndownloading):
+ (WebCore::JSDOMApplicationCache::ondownloading):
+ (WebCore::JSDOMApplicationCache::setOnprogress):
+ (WebCore::JSDOMApplicationCache::onprogress):
+ (WebCore::JSDOMApplicationCache::setOnupdateready):
+ (WebCore::JSDOMApplicationCache::onupdateready):
+ (WebCore::JSDOMApplicationCache::setOncached):
+ (WebCore::JSDOMApplicationCache::oncached):
+ * bindings/js/JSEventTargetNodeCustom.cpp:
+ (WebCore::JSEventTargetNode::addEventListener):
+ (WebCore::JSEventTargetNode::removeEventListener):
+ (WebCore::JSEventTargetNode::getListener):
+ (WebCore::JSEventTargetNode::setListener):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::mark):
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ (WebCore::JSMessagePort::setOnmessage):
+ (WebCore::JSMessagePort::onmessage):
+ (WebCore::JSMessagePort::setOnclose):
+ (WebCore::JSMessagePort::onclose):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::mark):
+ (WebCore::JSXMLHttpRequest::onreadystatechange):
+ (WebCore::JSXMLHttpRequest::setOnreadystatechange):
+ (WebCore::JSXMLHttpRequest::onabort):
+ (WebCore::JSXMLHttpRequest::setOnabort):
+ (WebCore::JSXMLHttpRequest::onerror):
+ (WebCore::JSXMLHttpRequest::setOnerror):
+ (WebCore::JSXMLHttpRequest::onload):
+ (WebCore::JSXMLHttpRequest::setOnload):
+ (WebCore::JSXMLHttpRequest::onloadstart):
+ (WebCore::JSXMLHttpRequest::setOnloadstart):
+ (WebCore::JSXMLHttpRequest::onprogress):
+ (WebCore::JSXMLHttpRequest::setOnprogress):
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::mark):
+ (WebCore::JSXMLHttpRequestUpload::onabort):
+ (WebCore::JSXMLHttpRequestUpload::setOnabort):
+ (WebCore::JSXMLHttpRequestUpload::onerror):
+ (WebCore::JSXMLHttpRequestUpload::setOnerror):
+ (WebCore::JSXMLHttpRequestUpload::onload):
+ (WebCore::JSXMLHttpRequestUpload::setOnload):
+ (WebCore::JSXMLHttpRequestUpload::onloadstart):
+ (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
+ (WebCore::JSXMLHttpRequestUpload::onprogress):
+ (WebCore::JSXMLHttpRequestUpload::setOnprogress):
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/EventTarget.h:
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::associatedFrame):
+ * dom/EventTargetNode.h:
+ * dom/EventTargetNode.idl:
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::associatedFrame):
+ * dom/MessagePort.h:
+ (WebCore::MessagePort::setOnmessage):
+ (WebCore::MessagePort::onmessage):
+ (WebCore::MessagePort::setOnclose):
+ (WebCore::MessagePort::onclose):
+ * dom/MessagePort.idl:
+ * loader/appcache/DOMApplicationCache.h:
+ (WebCore::DOMApplicationCache::setOnchecking):
+ (WebCore::DOMApplicationCache::onchecking):
+ (WebCore::DOMApplicationCache::setOnerror):
+ (WebCore::DOMApplicationCache::onerror):
+ (WebCore::DOMApplicationCache::setOnnoupdate):
+ (WebCore::DOMApplicationCache::onnoupdate):
+ (WebCore::DOMApplicationCache::setOndownloading):
+ (WebCore::DOMApplicationCache::ondownloading):
+ (WebCore::DOMApplicationCache::setOnprogress):
+ (WebCore::DOMApplicationCache::onprogress):
+ (WebCore::DOMApplicationCache::setOnupdateready):
+ (WebCore::DOMApplicationCache::onupdateready):
+ (WebCore::DOMApplicationCache::setOncached):
+ (WebCore::DOMApplicationCache::oncached):
+ (WebCore::DOMApplicationCache::associatedFrame):
+ * loader/appcache/DOMApplicationCache.idl:
+ * svg/EventTargetSVGElementInstance.cpp:
+ (WebCore::EventTargetSVGElementInstance::associatedFrame):
+ (WebCore::EventTargetSVGElementInstance::addEventListener):
+ (WebCore::EventTargetSVGElementInstance::removeEventListener):
+ (WebCore::EventTargetSVGElementInstance::dispatchEvent):
+ * svg/EventTargetSVGElementInstance.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::associatedFrame):
+ * xml/XMLHttpRequest.h:
+ (WebCore::XMLHttpRequest::setOnreadystatechange):
+ (WebCore::XMLHttpRequest::onreadystatechange):
+ (WebCore::XMLHttpRequest::setOnabort):
+ (WebCore::XMLHttpRequest::onabort):
+ (WebCore::XMLHttpRequest::setOnerror):
+ (WebCore::XMLHttpRequest::onerror):
+ (WebCore::XMLHttpRequest::setOnload):
+ (WebCore::XMLHttpRequest::onload):
+ (WebCore::XMLHttpRequest::setOnloadstart):
+ (WebCore::XMLHttpRequest::onloadstart):
+ (WebCore::XMLHttpRequest::setOnprogress):
+ (WebCore::XMLHttpRequest::onprogress):
+ * xml/XMLHttpRequest.idl:
+ * xml/XMLHttpRequestUpload.cpp:
+ (WebCore::XMLHttpRequestUpload::associatedFrame):
+ * xml/XMLHttpRequestUpload.h:
+ (WebCore::XMLHttpRequestUpload::setOnabort):
+ (WebCore::XMLHttpRequestUpload::onabort):
+ (WebCore::XMLHttpRequestUpload::setOnerror):
+ (WebCore::XMLHttpRequestUpload::onerror):
+ (WebCore::XMLHttpRequestUpload::setOnload):
+ (WebCore::XMLHttpRequestUpload::onload):
+ (WebCore::XMLHttpRequestUpload::setOnloadstart):
+ (WebCore::XMLHttpRequestUpload::onloadstart):
+ (WebCore::XMLHttpRequestUpload::setOnprogress):
+ (WebCore::XMLHttpRequestUpload::onprogress):
+ * xml/XMLHttpRequestUpload.idl:
+
+2008-09-30 Darin Adler <darin@apple.com>
+
+ - roll out assertion breaking regression tests
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
+ that fires in regression tests. Hyatt can add it back later. The assertion
+ fires in the regression test because of layout that triggers repaint occuring
+ during the process of removing a frame.
+
+2008-09-30 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
+ <rdar://problem/6222134> add a way to set color for input placeholder text
+
+ Test: fast/forms/placeholder-pseudo-style.html
+
+ This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
+ input elements when they are displaying the placeholder text.
+
+ * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
+ * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
+ * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
+ Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
+ * css/html4.css: Add rule to make placeholder text default to darkGray.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
+ (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
+ (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
+ (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
+ (WebCore::HTMLInputElement::setValue): ditto.
+ (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
+ (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
+ This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
+ renderer will just ask the node if it should draw the placeholder.
+ * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
+ just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
+ If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
+ (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
+ This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
+ is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
+ (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
+ (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
+ * rendering/RenderTextControl.h:
+
+2008-09-30 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
+ by failed allocation due to invalid counter/attr
+ and corresponding: <rdar://problem/6152371>
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseCounterContent): The spec indicates that
+ only identifiers should be accepted here.
+
+2008-09-30 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 21255: console.profileEnd() without a console.profile() crashes the
+ web inspector
+
+ * page/Console.cpp:
+ (WebCore::Console::profileEnd):
+
+2008-09-30 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Bug 21252: calling console.profile() with a title that is 2 chars or
+ shorter does not linkify it
+
+ - Previously we tried to not linkify very short URLs but since profile
+ titles can be any length this is not always true.
+
+ * page/inspector/inspector.js:
+
+2008-09-30 Dave Hyatt <hyatt@apple.com>
+
+ Remove the update() method on ScrollView. This method was only called in one place, and its purpose
+ was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
+ (1) Not used on Mac
+ (2) Used on Windows
+ (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
+ (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
+ (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
+
+ There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
+ cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
+ With the changes to this method, the new behavior is as follows:
+ (1) Not used on Mac
+ (2) Used on Windows
+ (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
+ (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
+ (5) Not used on wx
+
+ This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
+ platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
+
+ Reviewed by Sam Weinig
+
+ * ChangeLog:
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+ * platform/HostWindow.h:
+ (WebCore::HostWindow::paint):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+
+2008-09-30 Timothy Hatcher <timothy@apple.com>
+
+ Focus the DOM tree in the Web Inspector when a node is inspected.
+ So when the search field has focus, the focus moves to the tree,
+ allowing the arrow keys work. This can happen when using the new
+ find in page feature.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21251
+
+ Reviewed by Geoff Garen.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel): Set currentFocusElement to
+ the main-panels element if the panel is visible.
+ (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
+ Remove a set of currentFocusElement since this moved.
+ * page/inspector/inspector.js:
+ (WebInspector.set currentFocusElement): Always focus the element.
+ This ensures that when focus changes in the page and we don't
+ catch it, we will still focus the elements even if we think it
+ was already focused.
+
+2008-09-30 Timothy Hatcher <timothy@apple.com>
+
+ Make the Web Inspector's toolbar icons darker when the mouse is
+ pressed on them. This matches the standard NSToolbar look.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21249
+ rdar://problem/6033752
+
+ Reviewed by Adam Roben.
+
+ * page/inspector/Images/databasesIcon.png:
+ * page/inspector/Images/elementsIcon.png:
+ * page/inspector/Images/profilesIcon.png:
+ * page/inspector/Images/resourcesIcon.png:
+ * page/inspector/Images/scriptsIcon.png:
+ * page/inspector/Panel.js:
+ * page/inspector/inspector.css:
+
+2008-09-30 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Bug 21139: Profiler log message is wrong
+ - Correctly fix =(
+ Don't call _format twice.
+
+ * page/Page.h:
+ * page/inspector/Console.js:
+ * page/inspector/ProfilesPanel.js:
+ * page/inspector/inspector.js:
+
+2008-09-30 Dave Hyatt <hyatt@apple.com>
+
+ http://bugs.webkit.org/show_bug.cgi?id=21250
+
+ Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
+ repaints up through the ChromeClient.
+
+ Reviewed by Darin Adler
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::repaint):
+ * page/Chrome.cpp:
+ (WebCore::Chrome::repaint):
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::hostWindow):
+ (WebCore::FrameView::repaintContentRectangle):
+ * page/FrameView.h:
+ * platform/HostWindow.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::repaintContentRectangle):
+ (WebCore::ScrollView::platformRepaintContentRectangle):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformRepaintContentRectangle):
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformRepaintContentRectangle):
+
+2008-09-30 Alexey Proskuryakov <ap@webkit.org>
+
+ Non-Mac build fixes.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCoreSources.bkl:
+ * webcore-base.bkl:
+ Added DOMProtect.{cpp,h}.
+
+2008-09-39 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by John Sullivan.
+
+ * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
+ for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
+
+2008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 21106: .in format discussed changes
+ https://bugs.webkit.org/show_bug.cgi?id=21106
+
+ - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
+ is the only namespace used.
+
+ - Removed "generateFactory" and "generateWrapperFactory" parameters and
+ re-introduced the command line options.
+
+ - Cleaned up the output of make_names.pl (removed unneeded new line).
+
+ * DerivedSources.make: Added factories command line options.
+ * GNUmakefile.am: Ditto.
+ * WebCore.pro: Ditto and removed some arguments that were migrated to
+ the .in files.
+
+ * dom/make_names.pl: Clean up (see above).
+
+ * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
+ and "generateWrapperFactory" occurences.
+ * html/HTMLTagNames.in: Ditto.
+ * svg/svgattrs.in: Ditto.
+ * svg/svgtags.in: Ditto.
+ * svg/xlinkattrs.in: Ditto.
+ * xml/xmlattrs.in: Ditto.
+
+2008-09-29 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by John Sullivan.
+
+ <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
+ Make sure that certain types of elements do not return children and, moreover, do not waste their
+ energy trying to return children
+
+ Test: accessibility/nochildren-elements.html
+
+ * page/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::canHaveChildren):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::canHaveChildren):
+ (WebCore::AccessibilityRenderObject::addChildren):
+ * page/AccessibilityRenderObject.h:
+
+2008-09-30 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21213
+ MessagePort crash when GC collects an object with a pending close event
+
+ Test: fast/events/message-channel-gc-2.html
+ fast/events/message-channel-listener-circular-ownership.html
+
+ * bindings/DOMProtect.cpp: Added.
+ (WebCore::gcProtectDOMObject):
+ (WebCore::gcUnprotectDOMObject):
+ * bindings/DOMProtect.h: Added.
+ Added an abstraction for GC protection to avoid the need to call JS bindings code from
+ DOM objects directly.
+
+ * dom/MessagePort.cpp:
+ (WebCore::CloseMessagePortTimer::fired):
+ (WebCore::MessagePort::queueCloseEvent):
+ GC protect MessagePort wrapper while there is a pending close event.
+ This may be necessary for message events, too, but that case is not a crasher, and actually
+ behaves to the letter of the current HTML5 text, so I'll consider it later.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously):
+ (WebCore::XMLHttpRequest::dropProtection):
+ Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
+
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ (WebCore::JSMessagePort::setOnmessage):
+ (WebCore::JSMessagePort::setOnclose):
+ Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
+ know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
+
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::mark):
+ While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
+ from XMLHttpRequest.
+
+2008-09-30 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * DerivedSources.cpp: Add JSEventTargetNode.cpp.
+
+2008-09-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Tim Hatcher.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
+ Autogenerate JS event listeners
+
+ - Generate EventTargetNode.
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventTarget.cpp: Added.
+ (WebCore::toJS):
+ * bindings/js/JSEventTarget.h: Added.
+ * bindings/js/JSEventTargetBase.cpp: Removed.
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSEventTargetNode.cpp: Removed.
+ * bindings/js/JSEventTargetNode.h: Removed.
+ * bindings/js/JSEventTargetNodeCustom.cpp: Added.
+ (WebCore::JSEventTargetNode::addEventListener):
+ (WebCore::JSEventTargetNode::removeEventListener):
+ (WebCore::JSEventTargetNode::dispatchEvent):
+ (WebCore::JSEventTargetNode::getListener):
+ (WebCore::JSEventTargetNode::setListener):
+ (WebCore::JSEventTargetNode::pushEventHandlerScope):
+ * bindings/js/JSEventTargetSVGElementInstance.cpp:
+ (WebCore::):
+ (WebCore::JSEventTargetSVGElementInstancePrototype::self):
+ (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
+ (jsEventTargetAddEventListener):
+ (jsEventTargetRemoveEventListener):
+ (jsEventTargetDispatchEvent):
+ * bindings/js/JSEventTargetSVGElementInstance.h:
+ (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
+ (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/EventTargetNode.idl: Added.
+
+2008-09-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21214
+ work on getting rid of ExecState
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
+ for base class constructor.
+
+2008-09-29 David Hyatt <hyatt@apple.com>
+
+ Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
+ now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
+ and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
+ (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
+
+ Reviewed by Sam Weinig
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/Chrome.h:
+ * platform/HostWindow.h: Added.
+ (WebCore::HostWindow::HostWindow):
+ (WebCore::HostWindow::~HostWindow):
+
+2008-09-29 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
+ 2000.
+
+2008-09-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adam Roben.
+
+ - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
+ (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
+ unloaded, to avoid calling uxtheme.dll functions after that library has
+ been unloaded.
+ * rendering/RenderThemeWin.h:
+
+2008-09-29 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by John Sullivan
+
+ <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
+
+ Sends AXLoadComplete only when the top level web area is finished loading
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+
+2008-09-29 Timothy Hatcher <timothy@apple.com>
+
+ Makes the node highlight always show up when hovering a node in
+ the Web Inspector now that the highlight does not scroll to reveal
+ the node. Also adds a hover effect in the inspector when hovering
+ causes a highlight in the page. This ties the user hovering action
+ to the highlight so it is clear what causes the highlight to appear.
+
+ Also the highlight now temporarily shows up for 2 seconds after
+ selecting a node in the DOM tree. So arrowing around in the tree
+ will show the node on the page, providing feedback to the user.
+
+ Plus fixes an issue where quickly moving away from hovering
+ a node would keep showing the page highlight. This was happening
+ in breadcrumbs and the DOM tree.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21220
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/Console.js:
+ (WebInspector.Console.prototype._mouseOverNode): Added. Used for
+ hovering DOM nodes in the console.
+ (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
+ (WebInspector.Console.prototype._formatnode): Use the new event
+ listeners and add a class name to the anchor element.
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel): Add new event listeners to the
+ crumbs element to do the node hovering highlight.
+ (WebInspector.ElementsPanel.prototype.hide):
+ (WebInspector.ElementsPanel.prototype.reset):
+ (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
+ (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
+ (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
+ * page/inspector/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
+ Show the node hishlight for 2 seconds then restore the highlight
+ to the current hovered node.
+ (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
+ hovered node and set the hovered state on the tree element.
+ (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
+ hovered node to null and removed the hovered state from the previous
+ hovered tree element.
+ (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
+ the hovered class to the list item.
+ (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
+ * page/inspector/inspector.css:
+ * page/inspector/inspector.js:
+ (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
+ based on the showingDOMNodeHighlight property of 50ms or 500ms. This
+ causes the highlight to change sooner if there is one already showing
+ and appear later if there isn't one showing. This is like tooltips,
+ hovering a node for 500ms will cause highlight then mousing between nodes
+ will keep the highlight and change to the new node.
+ (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
+ always reset the timeout so continuous mousing does not keep flasshing
+ the highlight on the screen.
+ (WebInspector._updateHoverHighlight): Removed the alt key check and added
+ the showingDOMNodeHighlight property.
+ (WebInspector.documentKeyDown): Removed the alt key check.
+ (WebInspector.documentKeyUp): Ditto.
+ (WebInspector.reset): Clear the hoveredDOMNode.
+
+2008-09-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson
+
+ Fix RenderStyle leak in animation code, and assert that
+ keyframe resolution in CSSStyleSelector is not going to clobber
+ m_style.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::~KeyframeAnimation):
+
+2008-09-29 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
+ Rewrite keyframe resolution to be like styleForElement()
+
+ Test: animations/lineheight-animation.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::addKeyframeStyle):
+ (WebCore::CSSStyleSelector::~CSSStyleSelector):
+ (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
+ (WebCore::CSSRuleSet::addRulesFromSheet):
+ (WebCore::CSSStyleSelector::mapAnimationName):
+ * css/CSSStyleSelector.h:
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::KeyframeAnimation):
+ (WebCore::KeyframeAnimation::animate):
+ (WebCore::KeyframeAnimation::hasAnimationForProperty):
+ (WebCore::KeyframeAnimation::sendAnimationEvent):
+ (WebCore::KeyframeAnimation::overrideAnimations):
+ (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
+ (WebCore::KeyframeAnimation::affectsProperty):
+ (WebCore::KeyframeAnimation::validateTransformFunctionList):
+ * page/animation/KeyframeAnimation.h:
+ * rendering/style/Animation.cpp:
+ (WebCore::Animation::animationsMatch):
+ * rendering/style/Animation.h:
+ * rendering/style/KeyframeList.cpp:
+ (WebCore::KeyframeList::~KeyframeList):
+ (WebCore::KeyframeList::clear):
+ (WebCore::KeyframeList::insert):
+ * rendering/style/KeyframeList.h:
+ (WebCore::KeyframeValue::KeyframeValue):
+ (WebCore::KeyframeList::KeyframeList):
+ (WebCore::KeyframeList::operator!=):
+ (WebCore::KeyframeList::animationName):
+ (WebCore::KeyframeList::addProperty):
+ (WebCore::KeyframeList::containsProperty):
+ (WebCore::KeyframeList::beginProperties):
+ (WebCore::KeyframeList::endProperties):
+ (WebCore::KeyframeList::isEmpty):
+ (WebCore::KeyframeList::size):
+ (WebCore::KeyframeList::beginKeyframes):
+ (WebCore::KeyframeList::endKeyframes):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ * rendering/style/StyleRareNonInheritedData.h:
+
+2008-09-29 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Eric Seidel
+
+ Clean up fix in PropertyWrapperGetter::equals
+ https://bugs.webkit.org/show_bug.cgi?id=21011
+
+ Test: transitions/override-transition-crash.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::PropertyWrapperGetter::equals):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+
+2008-09-29 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Eric Seidel
+
+ https://bugs.webkit.org/show_bug.cgi?id=21001
+ Starting transition after animation, when animation
+ is finished, transition is wrong.
+
+ Test: animations/transition-and-animation-2.html
+
+ * page/animation/AnimationBase.h:
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::resetTransitions):
+ (WebCore::CompositeAnimation::cleanupFinishedAnimations):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::ImplicitAnimation):
+ (WebCore::ImplicitAnimation::~ImplicitAnimation):
+ (WebCore::ImplicitAnimation::animate):
+ (WebCore::ImplicitAnimation::reset):
+ * page/animation/ImplicitAnimation.h:
+
+2008-09-29 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Sam Weinig
+
+ https://bugs.webkit.org/show_bug.cgi?id=20921
+ -webkit-animation-timing-function: inside of keyframes is ignored
+
+ Test: animations/keyframe-timing-functions.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::progress):
+ * page/animation/AnimationBase.h:
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::animate):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::animate):
+
+2008-09-29 Dan Bernstein <mitz@apple.com>
+
+ - Windows build fix
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::platformScroll):
+
+2008-09-29 Dan Bernstein <mitz@apple.com>
+
+ - another attempt at a Windows build fix
+
+ * platform/ScrollView.cpp:
+ (WebCore::platformScroll):
+
+2008-09-29 Dan Bernstein <mitz@apple.com>
+
+ - Windows build fix
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::platformSetScrollPosition):
+
+2008-09-29 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21218
+
+ Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
+ It's silly that the code was this fragile, but for now just put the check back in.
+
+ Reviewed by Dan Bernstein
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setScrollbarModes):
+
+2008-09-29 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21216
+
+ Make setScrollPosition and scroll() cross-platform.
+
+ Reviewed by Anders
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setScrollPosition):
+ (WebCore::ScrollView::scroll):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformSetScrollPosition):
+ (WebCore::ScrollView::platformScroll):
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformSetScrollPosition):
+ (WebCore::ScrollView::platformScroll):
+
+2008-09-29 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Oliver.
+
+ Bug 21139: Profiler log message is wrong
+ - Because _format was called twice the number in the log was incremented
+ too many times, but we were passing it around in the link the whole time
+
+ * page/inspector/ProfilesPanel.js:
+ * page/inspector/inspector.js:
+
+2008-09-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Cameron Zwarich.
+
+ Autogenerate EventListeners, addEventListener and removeEventListener
+ for JSDOMWindow.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::onwebkitanimationstart):
+ (WebCore::JSDOMWindow::setOnwebkitanimationstart):
+ (WebCore::JSDOMWindow::onwebkitanimationiteration):
+ (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
+ (WebCore::JSDOMWindow::onwebkitanimationend):
+ (WebCore::JSDOMWindow::setOnwebkitanimationend):
+ (WebCore::JSDOMWindow::onwebkittransitionend):
+ (WebCore::JSDOMWindow::setOnwebkittransitionend):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ (WebCore::JSDOMWindow::setListener):
+ (WebCore::JSDOMWindow::getListener):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * page/DOMWindow.idl:
+
+2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Simon.
+
+ Changed copyright from Trolltech ASA to Nokia.
+
+ Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
+
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ * bindings/js/JSNavigatorCustom.cpp:
+ * bindings/js/JSPluginArrayCustom.cpp:
+ * bindings/js/JSPluginCustom.cpp:
+ * bindings/js/ScriptControllerMac.mm:
+ * bindings/js/ScriptControllerQt.cpp:
+ * bridge/qt/qt_class.cpp:
+ * bridge/qt/qt_class.h:
+ * bridge/qt/qt_instance.cpp:
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ * bridge/qt/qt_runtime.h:
+ * bridge/testqtbindings.cpp:
+ * css/makegrammar.pl:
+ * css/makeprop.pl:
+ * css/makevalues.pl:
+ * dom/Node.cpp:
+ * dom/TagNodeList.cpp:
+ * dom/TagNodeList.h:
+ * dom/XMLTokenizer.cpp:
+ * dom/XMLTokenizer.h:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * dom/XMLTokenizerQt.cpp:
+ * editing/Editor.cpp:
+ * editing/EditorCommand.cpp:
+ * html/CanvasRenderingContext2D.cpp:
+ * html/CanvasStyle.cpp:
+ * html/HTMLAppletElement.cpp:
+ * html/HTMLEmbedElement.cpp:
+ * html/HTMLObjectElement.cpp:
+ * loader/FrameLoader.cpp:
+ * page/Chrome.cpp:
+ * page/EditorClient.h:
+ * page/Frame.cpp:
+ * page/Frame.h:
+ * page/FramePrivate.h:
+ * page/Navigator.cpp:
+ * page/Navigator.h:
+ * page/Navigator.idl:
+ * page/mac/FrameMac.mm:
+ * page/qt/EventHandlerQt.cpp:
+ * platform/graphics/qt/FontCacheQt.cpp:
+ * platform/graphics/qt/FontCustomPlatformData.cpp:
+ * platform/graphics/qt/FontCustomPlatformData.h:
+ * platform/graphics/qt/FontPlatformData.h:
+ * platform/graphics/qt/FontQt.cpp:
+ * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ * platform/graphics/qt/ImageDecoderQt.h:
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ * platform/gtk/MIMETypeRegistryGtk.cpp:
+ * platform/mac/MIMETypeRegistryMac.mm:
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ * platform/network/qt/QNetworkReplyHandler.h:
+ * platform/network/qt/ResourceHandleQt.cpp:
+ * platform/network/qt/ResourceRequestQt.cpp:
+ * platform/qt/ClipboardQt.cpp:
+ * platform/qt/EventLoopQt.cpp:
+ * platform/qt/KURLQt.cpp:
+ * platform/qt/LoggingQt.cpp:
+ * platform/qt/MIMETypeRegistryQt.cpp:
+ * platform/qt/PasteboardQt.cpp:
+ * platform/qt/PlatformScreenQt.cpp:
+ * platform/qt/PopupMenuQt.cpp:
+ * platform/qt/QWebPopup.cpp:
+ * platform/qt/QWebPopup.h:
+ * platform/qt/RenderThemeQt.cpp:
+ * platform/qt/ScrollbarQt.cpp:
+ * platform/qt/ScrollbarThemeQt.cpp:
+ * platform/qt/WheelEventQt.cpp:
+ * platform/qt/html4-adjustments-qt.css:
+ * platform/wx/MimeTypeRegistryWx.cpp:
+ * plugins/MimeType.cpp:
+ * plugins/MimeType.h:
+ * plugins/MimeType.idl:
+ * plugins/MimeTypeArray.cpp:
+ * plugins/MimeTypeArray.h:
+ * plugins/MimeTypeArray.idl:
+ * plugins/Plugin.cpp:
+ * plugins/Plugin.h:
+ * plugins/Plugin.idl:
+ * plugins/PluginArray.cpp:
+ * plugins/PluginArray.h:
+ * plugins/PluginArray.idl:
+ * plugins/PluginData.cpp:
+ * plugins/PluginData.h:
+ * plugins/gtk/PluginDataGtk.cpp:
+ * plugins/mac/PluginDataMac.mm:
+ * plugins/qt/PluginDataQt.cpp:
+ * plugins/win/PluginDataWin.cpp:
+ * rendering/RenderTableCol.cpp:
+ * rendering/RenderTableCol.h:
+
+2008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ Reviewed by Simon
+
+ Fix compilation with gcc 4.3
+
+ gcc 4.3 is stricter and ctype.h isn't getting included
+ automatically here by dependencies. So do it directly.
+
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+
+2008-09-29 Morten Sørvig <msorvig@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix compilation with Qt/Mac without plugins.
+
+ * platform/qt/TemporaryLinkStubs.cpp:
+
+2008-09-29 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
+ In the few places that we call .upper() in WebCore the strings represent things like
+ tag and attribute names, which are nearly always going to be ASCII.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
+ in to Unicode::toLower the second time.
+ (WebCore::StringImpl::upper):
+
+2008-09-28 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
+ rather than String::operator+=.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText):
+
+2008-09-28 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Speed up computedStyle.getPropertyValue('color') by 4.5x.
+
+ Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
+ as it avoids many memory reallocations.
+
+ This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
+ by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
+ unrelated properties on an element.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
+ and use appendNumber rather than the String::number in order to cut down on memory allocations.
+ * platform/text/PlatformString.h:
+ (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
+ into a Vector<UChar>.
+
+2008-09-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove spurious call to lower().
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::MediaQueryEvaluator):
+
+2008-09-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Use a CaseFoldingHash instead of calling lower on family strings.
+
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+ (WebCore::CSSFontSelector::getFontData):
+ * css/CSSFontSelector.h:
+
+2008-09-28 Timothy Hatcher <timothy@apple.com>
+
+ Remove the scrollIntoViewIfNeeded() call when drawing the
+ Inspector node highlight.
+
+ <rdar://problem/6115804> Don't scroll when highlighting (21000)
+ https://bugs.webkit.org/show_bug.cgi?id=21000
+
+ Reviewed by Dan Bernstein.
+
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::drawNodeHighlight):
+
+2008-09-28 David Hyatt <hyatt@apple.com>
+
+ Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
+ changed.
+
+ Reviewed by Dan Bernstein
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
+
+2008-09-28 Timothy Hatcher <timothy@apple.com>
+
+ Clear the current search results in the Inspector when
+ the search query is less than 3 characters long. Incremental
+ searches only occur for 3 characters or longer, but deleting
+ under this limit would not clear the results unless the whole
+ query was deleted.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21196
+
+ Reviewed by Dan Bernstein.
+
+ * page/inspector/inspector.js:
+ (WebInspector.performSearch): Check for short queries in the
+ if statement that triggers the clear.
+
+2008-09-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
+
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
+ overlayLength parameters.
+ (WebCore::EOTStream::read): Added code to overlay the
+ m_overlayLength bytes starting at m_overlayDst with the same number of
+ bytes from m_overlaySrc.
+ (WebCore::createFontCustomPlatformData): Changed to get overlay
+ parameters from getEOTHeader.
+ * platform/graphics/win/GetEOTHeader.cpp:
+ (WebCore::getEOTHeader): Added code to specify overlaying of the
+ family name with the prefix of the full name if they differ, because
+ that such a difference causes TTLoadEmbeddedFont to fail.
+ * platform/graphics/win/GetEOTHeader.h:
+
+2008-09-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20366
+ Reproducible test failure for editing/undo/undo-iframe-location-change.html
+
+ * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
+
+2008-09-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig (except for a few comment and header tweaks).
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21158
+ reduce use of virtual functions in Node for speed
+
+ Speeds up Dromaeo a bit less than 1%.
+
+ * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
+ Node.h now that some inlines are in there.
+
+ * dom/Attr.h: Override both the virtual and non-virtual name functions.
+
+ * dom/ChildNodeList.cpp:
+ (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
+ * dom/ChildNodeList.h: Ditto.
+ * dom/ClassNodeList.cpp:
+ (WebCore::ClassNodeList::nodeMatches): Ditto.
+ * dom/ClassNodeList.h: Ditto.
+
+ * dom/Document.h: Put the Node::isDocumentNode() function's inline
+ definition here where it can see the Document class definition.
+
+ * dom/DynamicNodeList.cpp:
+ (WebCore::DynamicNodeList::length): Changed to pass an Element.
+ (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
+ (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
+ (WebCore::DynamicNodeList::itemWithName): Ditto.
+ * dom/DynamicNodeList.h: Ditto.
+
+ * dom/Element.cpp: Removed virtualHasTagName.
+ * dom/Element.h: Made localName, prefix, namespaceURI, and
+ styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
+ virtualNamespaceURI, and removed virtualHasTagName. Put the
+ Node::hasTagName, Node::hasAttributes, and Node::attributes
+ functions' inline definitions here where they can see the Element
+ class definition.
+
+ * dom/NameNodeList.cpp:
+ (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
+ * dom/NameNodeList.h: Ditto.
+
+ * dom/Node.cpp:
+ (WebCore::Node::virtualPrefix): Renamed from prefix.
+ (WebCore::Node::virtualLocalName): Renamed from localName.
+ (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
+ (WebCore::Node::styleForRenderer): Handle the Element case here.
+
+ * dom/Node.h: Removed definition of hasTagName that calls virtual,
+ since we now have a non-virtual version. Made hasAttributes,
+ attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
+ and styleForRenderer non-virtual. Added virtualPrefix,
+ virtualLocalName, and virtualNamespaceURI. Removed isMalformed
+ and setMalformed, which are used only on HTMLFormElement objects.
+
+ * dom/TagNodeList.cpp:
+ (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
+ * dom/TagNodeList.h: Ditto.
+
+ * html/HTMLAnchorElement.cpp: Added a comment.
+ * html/HTMLFormControlElement.cpp: Ditto.
+
+ * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
+ function. Marked tabIndex function virtual explicitly for clarity.
+
+ * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
+ function. Marked isFocusable function virtual explicitly for clarity.
+
+ * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
+ clarity.
+ * html/HTMLFormControlElement.h: Ditto.
+
+ * html/HTMLFormElement.h: Made isMalformed non-virtual.
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
+ pointer to call localName since that one does not need to call a virtual
+ function.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
+ calling isMalformed. We already did a tag name check so we know it's
+ an HTMLFormELement.
+
+ * xml/XPathUtil.cpp:
+ (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
+ to nodeType(), since it's a virtual function.
+
+2008-09-28 David Hyatt <hyatt@apple.com>
+
+ Make frameRectsChanged() cross-platform on ScrollView.
+
+ Reviewed by Oliver Hunt
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::frameRectsChanged):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+
+2008-09-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 21141: REGRESSION: Exception messages for user entered commands are poor
+ <https://bugs.webkit.org/show_bug.cgi?id=21141>
+
+ The bug repsonsible for this was the the JSInspectedObjectWrapper instances
+ were not initialising their StructureID's to indicate that the wrapper
+ overrides hasInstance, etc. The solution is simply to use the createStructureID
+ helper on JSQuarantinedObjectWrapper to create a correct StructureID.
+
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::JSInspectedObjectWrapper::wrap):
+
+2008-09-28 David Hyatt <hyatt@apple.com>
+
+ Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
+ terms of lines.
+
+ Reviewed by Oliver Hunt
+
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::dispatchWheelEvent):
+
+2008-09-28 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21191
+
+ Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
+ on ScrollView to be cross-platform.
+
+ Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
+ events are now pixel wheel events.
+
+ Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
+ (1) Page scrolling has been corrected to be properly detected (on Windows
+ page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
+ old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
+ you could page scroll horizontally.
+ (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
+ This caused the scroll amount for page scrolling to be way too large on layers.
+
+ Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
+
+ Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
+ for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
+
+ Reviewed by Oliver Hunt
+
+ * editing/EditorCommand.cpp:
+ (WebCore::verticalScrollDistance):
+ * page/EventHandler.cpp:
+ (WebCore::scrollAndAcceptEvent):
+ (WebCore::EventHandler::handleWheelEvent):
+ * platform/PlatformWheelEvent.h:
+ (WebCore::):
+ (WebCore::PlatformWheelEvent::pos):
+ (WebCore::PlatformWheelEvent::globalPos):
+ (WebCore::PlatformWheelEvent::deltaX):
+ (WebCore::PlatformWheelEvent::deltaY):
+ (WebCore::PlatformWheelEvent::granularity):
+ (WebCore::PlatformWheelEvent::x):
+ (WebCore::PlatformWheelEvent::globalX):
+ (WebCore::PlatformWheelEvent::ignore):
+ (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
+ (WebCore::PlatformWheelEvent::verticalLineMultiplier):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/Scrollbar.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/gtk/WheelEventGtk.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+ * platform/mac/ScrollViewMac.mm:
+ * platform/mac/WheelEventMac.mm:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/qt/WheelEventQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/win/WheelEventWin.cpp:
+ (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
+ (WebCore::PlatformWheelEvent::verticalLineMultiplier):
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
+ (WebCore::ScrollView::wheelEvent):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+
+2008-09-27 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ fix https://bugs.webkit.org/show_bug.cgi?id=20994
+ <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
+
+ HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
+ all unsigned media attributes from string with toUInt() instead of toInt().
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
+
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::videoWidth):
+ (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
+ (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
+ unsigned value.
+ (WebCore::HTMLVideoElement::height): Ditto.
+ (WebCore::HTMLVideoElement::setWidth): take unsigned value.
+ (WebCore::HTMLVideoElement::setHeight): Ditto.
+
+ * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
+
+ * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
+
+2008-09-27 Timothy Hatcher <timothy@apple.com>
+
+ Fixes an exception when typing a command in the Console.
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/Console.js:
+ (WebInspector.Console.prototype.addMessage): Null check
+ this.previosMessage.
+
+2008-09-27 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where the Profiles panel sidebar would be empty
+ after closing and reopening the Web Inspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21179
+
+ Reviewed by Sam Weinig.
+
+ * page/inspector/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.reset): Don't call
+ populateInterface, it is called automatically.
+ (WebInspector.ProfilesPanel.prototype._populateProfiles):
+ Return early if the sidebar is already populated.
+
+2008-09-27 Dave Hyatt <hyatt@apple.com>
+
+ Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
+ incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
+ scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
+ step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
+
+ There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
+ (which should never have landed in the first place).
+
+ Reviewed by Tim Hatcher, Sam Weinig
+
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::adjustDeltaForPageScrollMode):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::wheelEvent):
+
+2008-09-27 David Hyatt <hyatt@apple.com>
+
+ Make the scrollbarUnderMouse method cross-platform.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+
+2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Gtk+ build fix.
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+
+2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20287
+ [Gtk] disable plugins for gtk/directfb target
+
+ Introduce WTF_PLATFORM_X11 for X11 builds.
+ Also use target-specific packages when building the port
+
+ * platform/gtk/PlatformScreenGtk.cpp:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::getValueStatic):
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::init):
+
+2008-09-27 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21188
+
+ Make scrollbar suppression and resizer avoidance cross-platform.
+
+ Reviewed by Anders
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::transitionToCommitted):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::resetScrollbars):
+ (WebCore::FrameView::clear):
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::restoreScrollbar):
+ (WebCore::FrameView::windowResizerRect):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::init):
+ (WebCore::ScrollView::resizerOverlapsContent):
+ (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
+ (WebCore::ScrollView::setParent):
+ (WebCore::ScrollView::setScrollbarsSuppressed):
+ (WebCore::ScrollView::platformSetScrollbarsSuppressed):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::scrollbarsSuppressed):
+ (WebCore::ScrollView::windowResizerRect):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::setFrameRect):
+ (WebCore::Scrollbar::setParent):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::paint):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::~ScrollView):
+ (WebCore::ScrollView::platformSetScrollbarsSuppressed):
+ (WebCore::ScrollView::setScrollPosition):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::frameRectsChanged):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::paint):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::paint):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+
+2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Compile fix.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::load):
+
+2008-09-27 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
+ Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
+
+ Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
+
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::~CachedResource):
+
+2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [qt] Use QImageReader to figure out which image formats are supported
+ - Qt can have many different plugins for different image formats. Instead
+ of checking only for a few in WebCore use Qt to determine if this data
+ can be treated as an image.
+
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::canHandleImage):
+ (WebCore::createDecoder):
+
+2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
+
+
+ [qt] Clean the pattern code
+ - Use save/restore on the painter after manipulating the
+ pen/brush
+ - Make the context and object null checking consistent. CG is using
+ the object unconditionally so the Qt webkit platform can do the
+ same.
+ - Move code below the early exit. Only use the m_ownerElement before
+ the early exit as the CG code is doing it.
+
+ * svg/graphics/SVGPaintServerPattern.h:
+ * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
+ (WebCore::SVGPaintServerPattern::setup):
+ (WebCore::SVGPaintServerPattern::teardown):
+
+2008-09-27 Keishi Hattori <casey.hattori@gmail.com>
+
+ Added support for console.trace.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19157
+
+ Reviewed by Kevin McCullough and Tim Hatcher.
+
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::trace):
+ * page/Console.cpp:
+ (WebCore::Console::trace): Calls Machine::retrieveCaller to
+ get a stack trace.
+ * page/Console.h:
+ (WebCore::): Added TraceMessageLevel.
+ * page/Console.idl: Added console.trace.
+ * page/inspector/Console.js:
+ (ConsoleMessage): Added case for TraceMessageLevel.
+
+2008-09-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21178
+ <rdar://problem/6248651>
+
+ Check if the plug-in is allowed to load the resource. This matches Firefox.
+
+ Test: http/tests/plugins/local-geturl-from-remote.html
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::load):
+
+2008-09-22 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Added SVG pattern support to Qt.
+
+ [Qt] SVG patterns are missing
+ https://bugs.webkit.org/show_bug.cgi?id=20973
+
+ * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
+ (WebCore::SVGPaintServerPattern::setup):
+
+2008-09-27 Keishi Hattori <casey.hattori@gmail.com>
+
+ Fixed a bug in the JS syntax highlighter with multiple line tokens.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21171
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/SourceFrame.js:
+ (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
+
+2008-09-27 Timothy Hatcher <timothy@apple.com>
+
+ Change searching in the Profiles panel to not match the
+ Self and Total columns when there are no units. The only
+ column that is matched for unitless number searches is
+ now the Calls column.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21169
+
+ Reviewed by Sam Weinig.
+
+ * page/inspector/ProfileView.js:
+ (WebInspector.ProfileView.prototype.performSearch):
+
+2008-09-27 David Hyatt <hyatt@apple.com>
+
+ Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollView.h:
+ * platform/Widget.h:
+ (WebCore::Widget::boundsRect):
+ (WebCore::Widget::invalidate):
+ (WebCore::Widget::frameRectsChanged):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollViewScrollbar::frameRectsChanged):
+ (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
+ (WebCore::ScrollView::setFrameRect):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::frameRectsChanged):
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::setFrameRect):
+ (ScrollbarGtk::frameRectsChanged):
+ * platform/gtk/ScrollbarGtk.h:
+ * platform/gtk/WidgetGtk.cpp:
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
+ (WebCore::ScrollView::setFrameRect):
+ (WebCore::ScrollView::frameRectsChanged):
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
+ (WebCore::ScrollView::setFrameRect):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::frameRectsChanged):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::frameRectsChanged):
+ * plugins/PluginView.h:
+
+2008-09-27 Simon Hausmann <hausmann@webkit.org>
+
+ Refix the previous build fix to compile on non-Qt platforms, too.
+
+ * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
+ WebCore to generate the PrototypeTable in the WebCore namespace
+ * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
+ table remains in the Webcore namespace
+ (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
+
+2008-09-27 Simon Hausmann <hausmann@webkit.org>
+
+ Fix compilation with gcc 4.3 (probably > 4.0)
+
+ * bindings/js/JSDOMWindowBase.cpp: Don't define static property
+ get/put functions inside the WebCore namespace.
+ * bindings/js/JSEventTargetBase.cpp: Ditto.
+ * bindings/js/JSEventTargetNode.cpp: Ditto.
+ * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
+ * bindings/js/JSEventTargetBase.h: Forward declare
+ JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
+ defines it in the JSC namespace.
+ (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
+ prefix for PrototypeTable symbol.
+
+2008-09-27 David Hyatt <hyatt@apple.com>
+
+ Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
+
+ Reviewed by Dan Bernstein
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::updateControlTints):
+ * platform/ScrollView.h:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ (WebCore::Scrollbar::paint):
+ (WebCore::Scrollbar::setFrameRect):
+ * platform/Scrollbar.h:
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ * platform/Widget.h:
+ (WebCore::Widget::x):
+ (WebCore::Widget::y):
+ (WebCore::Widget::width):
+ (WebCore::Widget::height):
+ (WebCore::Widget::size):
+ (WebCore::Widget::pos):
+ (WebCore::Widget::resize):
+ (WebCore::Widget::move):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollViewScrollbar::geometryChanged):
+ (WebCore::ScrollView::update):
+ (WebCore::ScrollView::setFrameRect):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ (WebCore::ScrollView::paint):
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::setFrameRect):
+ (ScrollbarGtk::geometryChanged):
+ * platform/gtk/ScrollbarGtk.h:
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::frameRect):
+ (WebCore::Widget::setFrameRect):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::trackRect):
+ (WebCore::ScrollbarThemeMac::paint):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::frameRect):
+ (WebCore::Widget::setFrameRect):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::setFrameRect):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ (WebCore::ScrollView::paint):
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::Widget::frameRect):
+ (WebCore::Widget::setFrameRect):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::invalidateItem):
+ (WebCore::PopupMenu::valueChanged):
+ (WebCore::PopupWndProc):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::setFrameRect):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ (WebCore::ScrollView::paint):
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarThemeSafari::trackRect):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::frameRect):
+ (WebCore::Widget::setFrameRect):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::frameRect):
+ (WebCore::Widget::setFrameRect):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::setFrameRect):
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::init):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::init):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paintMissingPluginIcon):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::init):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::positionOverflowControls):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::paintScrollbar):
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::updateWidgetPosition):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::setWidgetGeometry):
+ (WebCore::RenderWidget::updateWidgetPosition):
+
+2008-09-27 David Hyatt <hyatt@apple.com>
+
+ <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
+
+ This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
+ access an actual member variable.
+
+ Reviewed by Dan Bernstein
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setFocusedFrame):
+
+2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Attempt to fix QT Build. Not reviewed.
+
+ * WebCore.pro: add -n WebCore parameter to create_hash_table
+
+2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
+
+ Reviewed by Eric Seidel.
+
+ http://bugs.webkit.org/show_bug.cgi?id=18905
+ [GTK] Fix build with older pango (1.14.8)
+
+ * platform/graphics/gtk/FontGtk.cpp:
+ * platform/gtk/Language.cpp:
+ (_pango_get_lc_ctype):
+ (pango_language_get_default):
+
+2008-09-26 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21168
+
+ Make contentsToWindow/windowToContents cross-platform.
+
+ Reviewed by Oliver Hunt
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::windowToContents):
+ (WebCore::ScrollView::contentsToWindow):
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+
+2008-09-26 Sam Weinig <sam@webkit.org>
+
+ GTK build fix.
+
+ * GNUmakefile.am:
+
+2008-09-26 David Hyatt <hyatt@apple.com>
+
+ Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
+ offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
+ more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
+
+ Reviewed by Oliver Hunt
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::repaintContentRectangle):
+ * page/FrameView.h:
+ * platform/ScrollView.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::isOffscreen):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::updateContents):
+ (WebCore::ScrollView::isOffscreen):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::isOffscreen):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::isOffscreen):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::isOffscreen):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::willRenderImage):
+
+2008-09-26 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21164
+
+ Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::setAllowsScrolling):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setAllowsScrolling):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::allowsScrolling):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::wheelEvent):
+
+2008-09-26 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes after Widget/ScrollView changes.
+
+ * platform/wx/PopupMenuWx.cpp:
+ (WebCore::PopupMenu::show):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformSetContentsSize):
+ (WebCore::ScrollView::platformSetScrollbarModes):
+ (WebCore::ScrollView::wheelEvent):
+ * platform/wx/TemporaryLinkStubs.cpp:
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::containingWindow):
+
+2008-09-26 Timothy Hatcher <timothy@apple.com>
+
+ Allow searching for paths by always performing the
+ three search methods in the Elements panel and not
+ assume a search with a "/" is a XPath query.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21159
+
+ Reviewed by Geoff Garen.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.performSearch):
+
+2008-09-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
+ Speedup static property get/put
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMBinding.cpp:
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::getDOMConstructor):
+ (WebCore::jsDOMWindowBaseCrypto):
+ (WebCore::jsDOMWindowBaseEvent):
+ (WebCore::jsDOMWindowBaseImage):
+ (WebCore::jsDOMWindowBaseMessageChannel):
+ (WebCore::jsDOMWindowBaseOption):
+ (WebCore::jsDOMWindowBaseXMLHttpRequest):
+ (WebCore::jsDOMWindowBaseAudio):
+ (WebCore::jsDOMWindowBaseXSLTProcessor):
+ (WebCore::jsDOMWindowBaseOnabort):
+ (WebCore::jsDOMWindowBaseOnblur):
+ (WebCore::jsDOMWindowBaseOnchange):
+ (WebCore::jsDOMWindowBaseOnclick):
+ (WebCore::jsDOMWindowBaseOndblclick):
+ (WebCore::jsDOMWindowBaseOnerror):
+ (WebCore::jsDOMWindowBaseOnfocus):
+ (WebCore::jsDOMWindowBaseOnkeydown):
+ (WebCore::jsDOMWindowBaseOnkeypress):
+ (WebCore::jsDOMWindowBaseOnkeyup):
+ (WebCore::jsDOMWindowBaseOnload):
+ (WebCore::jsDOMWindowBaseOnmousedown):
+ (WebCore::jsDOMWindowBaseOnmousemove):
+ (WebCore::jsDOMWindowBaseOnmouseout):
+ (WebCore::jsDOMWindowBaseOnmouseover):
+ (WebCore::jsDOMWindowBaseOnmouseup):
+ (WebCore::jsDOMWindowBaseOnMouseWheel):
+ (WebCore::jsDOMWindowBaseOnreset):
+ (WebCore::jsDOMWindowBaseOnresize):
+ (WebCore::jsDOMWindowBaseOnscroll):
+ (WebCore::jsDOMWindowBaseOnsearch):
+ (WebCore::jsDOMWindowBaseOnselect):
+ (WebCore::jsDOMWindowBaseOnsubmit):
+ (WebCore::jsDOMWindowBaseOnbeforeunload):
+ (WebCore::jsDOMWindowBaseOnunload):
+ (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
+ (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
+ (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
+ (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
+ (WebCore::JSDOMWindowBase::getOwnPropertySlot):
+ (WebCore::JSDOMWindowBase::put):
+ (WebCore::setJSDOMWindowBaseOnabort):
+ (WebCore::setJSDOMWindowBaseOnblur):
+ (WebCore::setJSDOMWindowBaseOnchange):
+ (WebCore::setJSDOMWindowBaseOnclick):
+ (WebCore::setJSDOMWindowBaseOndblclick):
+ (WebCore::setJSDOMWindowBaseOnerror):
+ (WebCore::setJSDOMWindowBaseOnfocus):
+ (WebCore::setJSDOMWindowBaseOnkeydown):
+ (WebCore::setJSDOMWindowBaseOnkeypress):
+ (WebCore::setJSDOMWindowBaseOnkeyup):
+ (WebCore::setJSDOMWindowBaseOnload):
+ (WebCore::setJSDOMWindowBaseOnmousedown):
+ (WebCore::setJSDOMWindowBaseOnmousemove):
+ (WebCore::setJSDOMWindowBaseOnmouseout):
+ (WebCore::setJSDOMWindowBaseOnmouseover):
+ (WebCore::setJSDOMWindowBaseOnmouseup):
+ (WebCore::setJSDOMWindowBaseOnMouseWheel):
+ (WebCore::setJSDOMWindowBaseOnreset):
+ (WebCore::setJSDOMWindowBaseOnresize):
+ (WebCore::setJSDOMWindowBaseOnscroll):
+ (WebCore::setJSDOMWindowBaseOnsearch):
+ (WebCore::setJSDOMWindowBaseOnselect):
+ (WebCore::setJSDOMWindowBaseOnsubmit):
+ (WebCore::setJSDOMWindowBaseOnbeforeunload):
+ (WebCore::setJSDOMWindowBaseOnunload):
+ (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
+ (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
+ (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
+ (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
+ (WebCore::setJSDOMWindowBaseEvent):
+ (WebCore::setJSDOMWindowBaseAudio):
+ (WebCore::setJSDOMWindowBaseImage):
+ (WebCore::setJSDOMWindowBaseMessageChannel):
+ (WebCore::setJSDOMWindowBaseOption):
+ (WebCore::setJSDOMWindowBaseXMLHttpRequest):
+ (WebCore::setJSDOMWindowBaseXSLTProcessor):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::nonCachingStaticCloseFunctionGetter):
+ (WebCore::nonCachingStaticBlurFunctionGetter):
+ (WebCore::nonCachingStaticFocusFunctionGetter):
+ (WebCore::nonCachingStaticPostMessageFunctionGetter):
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::JSDOMWindow::customGetOwnPropertySlot):
+ * bindings/js/JSEventTargetBase.cpp:
+ * bindings/js/JSEventTargetBase.h:
+ (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
+ (WebCore::JSEventTargetBasePrototype::classInfo):
+ * bindings/js/JSEventTargetNode.cpp:
+ (WebCore::):
+ (WebCore::JSEventTargetNode::getOwnPropertySlot):
+ (WebCore::JSEventTargetNode::put):
+ * bindings/js/JSEventTargetNode.h:
+ (WebCore::JSEventTargetNode::classInfo):
+ (WebCore::JSEventTargetNode::prototypeClassName):
+ * bindings/js/JSEventTargetSVGElementInstance.cpp:
+ (WebCore::):
+ (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
+ (WebCore::JSEventTargetSVGElementInstance::put):
+ * bindings/js/JSEventTargetSVGElementInstance.h:
+ (WebCore::JSEventTargetSVGElementInstance::classInfo):
+ (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
+ * bindings/js/JSHTMLInputElementCustom.cpp:
+ (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
+ * bindings/js/JSHistoryCustom.cpp:
+ (WebCore::nonCachingStaticBackFunctionGetter):
+ (WebCore::nonCachingStaticForwardFunctionGetter):
+ (WebCore::nonCachingStaticGoFunctionGetter):
+ (WebCore::JSHistory::customGetOwnPropertySlot):
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::nonCachingStaticReplaceFunctionGetter):
+ (WebCore::nonCachingStaticReloadFunctionGetter):
+ (WebCore::nonCachingStaticAssignFunctionGetter):
+ (WebCore::JSLocation::customGetOwnPropertySlot):
+ (WebCore::JSLocation::customPut):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2008-09-26 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21149
+
+ Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
+ Eliminate the unused isScrollable() method.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::resetScrollbars):
+ (WebCore::FrameView::initScrollbars):
+ (WebCore::FrameView::layout):
+ * page/FrameView.h:
+ * page/mac/WebCoreFrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::init):
+ (WebCore::ScrollView::setScrollbarModes):
+ (WebCore::ScrollView::scrollbarModes):
+ (WebCore::ScrollView::platformSetScrollbarModes):
+ (WebCore::ScrollView::platformScrollbarModes):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::horizontalScrollbar):
+ (WebCore::ScrollView::verticalScrollbar):
+ (WebCore::ScrollView::isScrollViewScrollbar):
+ (WebCore::ScrollView::setHorizontalScrollbarMode):
+ (WebCore::ScrollView::setVerticalScrollbarMode):
+ (WebCore::ScrollView::horizontalScrollbarMode):
+ (WebCore::ScrollView::verticalScrollbarMode):
+ (WebCore::ScrollView::convertSelfToChild):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ (WebCore::ScrollView::isScrollViewScrollbar):
+ (WebCore::ScrollView::paint):
+ (WebCore::ScrollView::scroll):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformSetScrollbarModes):
+ (WebCore::ScrollView::platformScrollbarModes):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::horizontalScrollbar):
+ (WebCore::ScrollView::verticalScrollbar):
+ (WebCore::ScrollView::invalidateScrollbars):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ (WebCore::ScrollView::paint):
+ (WebCore::ScrollView::scroll):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
+ (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
+ (WebCore::ScrollView::suppressScrollbars):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ (WebCore::ScrollView::paint):
+ (WebCore::ScrollView::scroll):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformSetScrollbarModes):
+ (WebCore::ScrollView::platformScrollbarModes):
+
+2008-09-26 David Kilzer <ddkilzer@apple.com>
+
+ Fix Mac build with XPATH and XSLT disabled
+
+ Reviewed by Alexey.
+
+ * bindings/objc/DOMUtility.mm:
+ (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
+ prevent an unused code warning.
+
+2008-09-26 Kevin McCullough <kmccullough@apple.com>
+
+ Rubber stamped by Tim Hatcher.
+
+ Bug 21098: Crashing under Console::log
+ - Speculative ASSERT to help find the problem.
+
+ * page/InspectorController.cpp:
+ (WebCore::ConsoleMessage::isEqual):
+
+2008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ [gtk+] Build fix for the latest ScrollView changes
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+
+2008-09-26 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where the console message repeat count would be wrong
+ when typing commands in between repeated messages.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21145
+
+ Reviewed by Kevin McCullough.
+
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
+ (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
+ * page/inspector/Console.js:
+ (WebInspector.Console.prototype.addMessage): Remember the original repeat count
+ for each message as totalRepeatCount, since we now modify repeatCount to mean
+ repeats since previous console command. If repeatCountBeforeCommand is a number,
+ subtract that value from the repeatCount.
+ (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
+ and commandSincePreviousMessage properties.
+
+2008-09-26 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Antti
+
+ https://bugs.webkit.org/show_bug.cgi?id=21116
+ <rdar://problem/5726325> Audio from <video> can still be heard after navigating
+ back to page with <video>, then closing tab
+
+ Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
+ documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
+ deletion.
+
+ * dom/Document.cpp:
+ (WebCore::Document::documentWillBecomeInactive):
+ (WebCore::Document::documentDidBecomeActive):
+ (WebCore::Document::registerForDocumentActivationCallbacks):
+ (WebCore::Document::unregisterForDocumentActivationCallbacks):
+ * dom/Document.h:
+ * dom/Element.h:
+ (WebCore::Element::documentWillBecomeInactive):
+ (WebCore::Element::documentDidBecomeActive):
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::CachedPage):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::~HTMLFormElement):
+ (WebCore::HTMLFormElement::parseMappedAttribute):
+ (WebCore::HTMLFormElement::documentDidBecomeActive):
+ (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
+ (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
+ * html/HTMLFormElement.h:
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::~HTMLInputElement):
+ (WebCore::HTMLInputElement::setInputType):
+ (WebCore::HTMLInputElement::parseMappedAttribute):
+ (WebCore::HTMLInputElement::needsActivationCallback):
+ (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
+ (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
+ (WebCore::HTMLInputElement::documentDidBecomeActive):
+ (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
+ (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
+ * html/HTMLInputElement.h:
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ (WebCore::HTMLMediaElement::~HTMLMediaElement):
+ (WebCore::HTMLMediaElement::documentWillBecomeInactive):
+ (WebCore::HTMLMediaElement::documentDidBecomeActive):
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::inActiveDocument):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::opened):
+ * page/Page.cpp:
+ (WebCore::Page::~Page):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::updateControls):
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::updatePlayer):
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::SVGSVGElement):
+ (WebCore::SVGSVGElement::~SVGSVGElement):
+ (WebCore::SVGSVGElement::documentWillBecomeInactive):
+ (WebCore::SVGSVGElement::documentDidBecomeActive):
+ * svg/SVGSVGElement.h:
+
+2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon
+
+ Fix the build inside Qt, don't create faulty prl files for now.
+
+ * WebCore.pro:
+
+2008-09-26 Simon Hausmann <hausmann@webkit.org>
+
+ Fix compilation on Qt/Windows
+
+ * Add WebCore/ to the include path so that config.h is found that enables JSC
+ * Link against winmm for the multimedia timer functions
+ * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
+ subdirectory
+ * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
+ but set m_window directly as setPlatformWidget takes a QWidget*.
+
+ * WebCore.pro:
+ * platform/win/SystemTimeWin.cpp:
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::init):
+
+2008-09-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
+ <https://bugs.webkit.org/show_bug.cgi?id=21054>
+
+ This performance regression is actually just a symptom of a correctness
+ bug. The constructor objects for a number of properties that have security
+ checks on access were returning new objects each time. The most obvious
+ symptom of this bug is that window.Image != window.Image, etc.
+
+ The solution to this is to make sure we cache these constructors
+ in the same way as all the other DOM constructors. To achieve this
+ without causing any refcount cycles it is necessary to replace the
+ refcounted document pointer in the Image, MessageChannel, Option,
+ XMLHttpRequest, and Audio constructor objects with a reference to
+ the document's JS wrapper.
+
+ Tests: fast/dom/constructors-cached-navigate.html
+ fast/dom/constructors-cached.html
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::mark):
+ * bindings/js/JSAudioConstructor.h:
+ (WebCore::JSAudioConstructor::document):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::getDOMConstructor):
+ (WebCore::JSDOMWindowBase::getValueProperty):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSHTMLOptionElementConstructor.cpp:
+ (WebCore::JSHTMLOptionElementConstructor::mark):
+ * bindings/js/JSHTMLOptionElementConstructor.h:
+ (WebCore::JSHTMLOptionElementConstructor::document):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::mark):
+ * bindings/js/JSImageConstructor.h:
+ (WebCore::JSImageConstructor::document):
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::mark):
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ (WebCore::JSXMLHttpRequestConstructor::document):
+
+2008-09-26 Simon Hausmann <hausmann@webkit.org>
+
+ Unreviewed one-liner build fix for the Qt/Windows build.
+
+ The build requires NPAPI support to be enabled, fix the condition in
+ the .pro file for that.
+
+ * WebCore.pro:
+
+2008-09-26 Trenton Schulz <twschulz@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix compilation with the Qt/Cocoa port.
+
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2008-09-26 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger.
+
+ Fix compilation with VC9SP1, work around bug in TR1 library by
+ disabling it.
+
+ * WebCore.pro:
+
+2008-09-26 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger.
+
+ Fix an lupdate() warning.
+
+ Don't use tr() in a class that is not a QObject, use
+ QCoreApplication::translate() directly.
+
+ * platform/qt/ScrollbarQt.cpp:
+ (WebCore::Scrollbar::handleContextMenuEvent):
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ Remove the scrollTo() method from FrameView, since it is not used by anyone.
+
+ Reviewed by Oliver Hunt
+
+ * page/FrameView.cpp:
+ * page/FrameView.h:
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ Make scrollRectIntoViewRecursively cross-platform.
+
+ Reviewed by Oliver Hunt
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollRectIntoViewRecursively):
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21133
+
+ Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
+ cross-platform.
+
+ Reviewed by Oliver Hunt
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::begin):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::adjustViewSize):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setContentsSize):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/gtk/ScrollViewGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformSetContentsSize):
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformSetContentsSize):
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21132
+
+ Clean up the methods that actually do the scrolling in ScrollView.
+
+ Reviewed by Oliver Hunt
+
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::setScrollLeft):
+ (WebCore::HTMLBodyElement::setScrollTop):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::restoreScrollPositionAndViewState):
+ * loader/ImageDocument.cpp:
+ (WebCore::ImageDocument::imageClicked):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::scrollBy):
+ (WebCore::DOMWindow::scrollTo):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollTo):
+ (WebCore::FrameView::setScrollPosition):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::maximumScrollPosition):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::contentsWidth):
+ (WebCore::ScrollView::contentsHeight):
+ (WebCore::ScrollView::scrollBy):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::setScrollPosition):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::setScrollPosition):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::setScrollPosition):
+ (WebCore::ScrollView::scrollRectIntoViewRecursively):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::setScrollPosition):
+ (WebCore::ScrollView::scrollRectIntoViewRecursively):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::setScrollPosition):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollByRecursively):
+ (WebCore::RenderLayer::scrollRectToVisible):
+
+2008-09-25 Dan Bernstein <mitz@apple.com>
+
+ - attempted Windows build fix
+
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::setContentsPos):
+ (WebCore::ScrollView::paint):
+
+2008-09-25 Timothy Hatcher <timothy@apple.com>
+
+ Revert the padding changes done in r36905 to prevent the
+ scrollbar from overlapping the URLs in the Console.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21126
+
+ * page/inspector/inspector.css:
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21129
+
+ Refactor contents size and scroll offset to be cross-platform. Reduce further the number
+ of platform-specific methods required of ScrollView implementations.
+
+ Reviewed by Tim Hatcher
+
+ * dom/MouseRelatedEvent.cpp:
+ (WebCore::contentsX):
+ (WebCore::contentsY):
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::scrollLeft):
+ (WebCore::HTMLBodyElement::setScrollLeft):
+ (WebCore::HTMLBodyElement::scrollTop):
+ (WebCore::HTMLBodyElement::setScrollTop):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::scrollX):
+ (WebCore::DOMWindow::scrollY):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollTo):
+ (WebCore::FrameView::windowClipRect):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::visibleContentRect):
+ (WebCore::ScrollView::contentsSize):
+ (WebCore::ScrollView::platformContentsSize):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::scrollPosition):
+ (WebCore::ScrollView::scrollOffset):
+ (WebCore::ScrollView::scrollX):
+ (WebCore::ScrollView::scrollY):
+ (WebCore::ScrollView::contentsWidth):
+ (WebCore::ScrollView::contentsHeight):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
+ (WebCore::ScrollView::setGtkAdjustments):
+ (WebCore::ScrollView::resizeContents):
+ (WebCore::ScrollView::contentsWidth):
+ (WebCore::ScrollView::contentsHeight):
+ (WebCore::ScrollView::scrollOffset):
+ (WebCore::ScrollView::maximumScroll):
+ (WebCore::ScrollView::scrollBy):
+ (WebCore::ScrollView::suppressScrollbars):
+ (WebCore::ScrollView::setHScrollbarMode):
+ (WebCore::ScrollView::setVScrollbarMode):
+ (WebCore::ScrollView::setScrollbarsMode):
+ (WebCore::ScrollView::setFrameGeometry):
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::platformContentsSize):
+ (WebCore::ScrollView::scrollBy):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertFromContainingWindow):
+ (WebCore::Widget::convertToContainingWindow):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::resizeContents):
+ (WebCore::ScrollView::setFrameGeometry):
+ (WebCore::ScrollView::scrollOffset):
+ (WebCore::ScrollView::maximumScroll):
+ (WebCore::ScrollView::scrollBy):
+ (WebCore::ScrollView::setHScrollbarMode):
+ (WebCore::ScrollView::setVScrollbarMode):
+ (WebCore::ScrollView::setScrollbarsMode):
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
+ (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
+ (WebCore::ScrollView::resizeContents):
+ (WebCore::ScrollView::setFrameGeometry):
+ (WebCore::ScrollView::scrollOffset):
+ (WebCore::ScrollView::maximumScroll):
+ (WebCore::ScrollView::scrollBy):
+ (WebCore::ScrollView::setHScrollbarMode):
+ (WebCore::ScrollView::setVScrollbarMode):
+ (WebCore::ScrollView::setScrollbarsMode):
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformVisibleContentRect):
+ (WebCore::ScrollView::platformContentsSize):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::nodeAtPoint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollRectToVisible):
+ (WebCore::RenderLayer::calculateClipRects):
+ (WebCore::RenderLayer::calculateRects):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::absolutePosition):
+ (WebCore::RenderView::computeAbsoluteRepaintRect):
+
+2008-09-25 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
+
+ * dom/Element.cpp:
+ (WebCore::Element::rareData):
+ * dom/Element.h:
+ * dom/Node.cpp:
+ (WebCore::Node::rareData):
+ * dom/Node.h:
+
+2008-09-25 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20980
+ Split off uncommonly used data from Node similar to ElementRareData
+
+ Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
+ which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
+ for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
+
+ * WebCore.base.exp:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
+ * dom/ContainerNode.cpp: Set isContainer to true
+ (WebCore::ContainerNode::ContainerNode):
+ * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
+ (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
+ (WebCore::Node::containerChildNode): ditto
+ (WebCore::Node::containerFirstChild): ditto
+ (WebCore::Node::containerLastChild): ditto
+ * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
+ (WebCore::Element::Element):
+ (WebCore::Element::~Element):
+ (WebCore::Element::rareData):
+ (WebCore::Element::ensureRareData): Renamed from createRareData
+ (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
+ (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
+ (WebCore::Element::detach): ditto
+ (WebCore::Element::recalcStyle): ditto
+ (WebCore::Element::focus):
+ (WebCore::Element::minimumSizeForResizing): ditto
+ (WebCore::Element::setMinimumSizeForResizing): ditto
+ (WebCore::Element::computedStyle):
+ (WebCore::Element::cancelFocusAppearanceUpdate): ditto
+ * dom/Element.h:
+ * dom/ElementRareData.h: Added; everything copied from Element.cpp
+ (WebCore::defaultMinimumSizeForResizing):
+ (WebCore::ElementRareData::ElementRareData):
+ (WebCore::ElementRareData::resetComputedStyle):
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
+ * dom/EventTargetNode.h:
+ * dom/Node.cpp:
+ (WebCore::Node::Node):
+ (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
+ (WebCore::Node::rareData):
+ (WebCore::Node::ensureRareData):
+ (WebCore::Node::createRareData):
+ (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
+ (WebCore::Node::setTabIndexExplicitly):
+ (WebCore::Node::childNodes): NodeLists are now in rareData
+ (WebCore::Node::setFocus):
+ (WebCore::Node::rareDataFocused):
+ (WebCore::Node::isFocusable):
+ (WebCore::Node::isKeyboardFocusable):
+ (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
+ (WebCore::Node::unregisterDynamicNodeList): ditto
+ (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
+ (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
+ (WebCore::Node::getElementsByName): ditto
+ (WebCore::Node::getElementsByClassName): ditto
+ * dom/Node.h:
+ (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
+ (WebCore::Node::lastChild): ditto
+ (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
+ (WebCore::Node::focused): focus is in rareData if set
+ (WebCore::Node::childTypeAllowed):
+ (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
+ (WebCore::Node::childNode): ditto
+ (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
+ * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
+ (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
+ (WebCore::NodeRareData::NodeRareData):
+ (WebCore::NodeRareData::rareDataMap):
+ (WebCore::NodeRareData::rareDataFromMap):
+ (WebCore::NodeRareData::clearNodeLists):
+ (WebCore::NodeRareData::setNodeLists):
+ (WebCore::NodeRareData::nodeLists):
+ (WebCore::NodeRareData::tabIndex):
+ (WebCore::NodeRareData::setTabIndex):
+ (WebCore::NodeRareData::tabIndexSetExplicitly):
+ * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
+ * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
+
+2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [qt] ImageBuffer::toDataURL implementation
+
+ There needs to be a Qt specific test result for the above mentioned
+ implementation.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::toDataURL):
+
+2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [qt] Implement SharedBuffer for Qt.
+
+ * WebCore.pro:
+ * platform/qt/SharedBufferQt.cpp: Added.
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+ * platform/qt/TemporaryLinkStubs.cpp:
+
+2008-09-25 Feng Qian <feng@chromium.org>
+
+ Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
+ <rdar://problem/6243032>
+
+ Reviewed by Dave Hyatt.
+
+ Test: fast/dom/attribute-downcast-right.html
+
+ Add isMappedAttribute function to Attribute for checking if an object
+ is an instance of MappedAttribute. Removed attributeItem,
+ getAttributeItem functions from NamedMappedAttrMap, and callers
+ expecting MappedAttribute have to check isMappedAttribute before
+ downcasting the return value to MappedAttribute.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForElement):
+ * dom/Attribute.h:
+ (WebCore::Attribute::isMappedAttribute):
+ * dom/MappedAttribute.h:
+ (WebCore::MappedAttribute::isMappedAttribute):
+ * dom/NamedMappedAttrMap.cpp:
+ (WebCore::NamedMappedAttrMap::declCount):
+ (WebCore::NamedMappedAttrMap::mapsEquivalent):
+ * dom/NamedMappedAttrMap.h:
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::attributeChanged):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setInputType):
+ * svg/SVGForeignObjectElement.cpp:
+ (WebCore::addCSSPropertyAndNotifyAttributeMap):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::getPresentationAttribute):
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21120
+
+ Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
+ to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
+ didn't want to mix that change in with this patch).
+
+ Reviewed by Sam Weinig
+
+ * page/Frame.cpp:
+ (WebCore::Frame::markAllMatchesForText):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::repaintContentRectangle):
+ (WebCore::FrameView::windowClipRect):
+ (WebCore::FrameView::updateControlTints):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::visibleContentRect):
+ (WebCore::ScrollView::platformVisibleContentRect):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::visibleWidth):
+ (WebCore::ScrollView::visibleHeight):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::horizontalScrollbar):
+ (WebCore::ScrollView::verticalScrollbar):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::horizontalScrollbar):
+ (WebCore::ScrollView::verticalScrollbar):
+ (WebCore::ScrollView::platformVisibleContentRect):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::horizontalScrollbar):
+ (WebCore::ScrollView::verticalScrollbar):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::horizontalScrollbar):
+ (WebCore::ScrollView::verticalScrollbar):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::platformVisibleContentRect):
+ (WebCore::ScrollView::horizontalScrollbar):
+ (WebCore::ScrollView::verticalScrollbar):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollRectToVisible):
+ (WebCore::frameVisibleRect):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::viewRect):
+
+2008-09-25 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Timothy Hatcher
+
+ https://bugs.webkit.org/show_bug.cgi?id=21052
+ Generalize id selector special case for querySelectorAll
+
+ By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
+ Changes results on http://native.khan.mozilla.org
+ from
+ #title: 2ms
+ h1#title: 55ms
+ div #title: 55ms
+
+ to:
+ #title: 1ms
+ h1#title: 2ms
+ div #title: 5ms
+
+ * dom/Node.cpp:
+ (WebCore::Node::querySelector):
+ * dom/SelectorNodeList.cpp:
+ (WebCore::createSelectorNodeList):
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21118
+
+ Make the concept of whether you can blit on scroll cross-platform on ScrollView.
+
+ Reviewed by Sam Weinig
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::clear):
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::setUseSlowRepaints):
+ (WebCore::FrameView::addSlowRepaintObject):
+ (WebCore::FrameView::removeSlowRepaintObject):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::init):
+ (WebCore::ScrollView::addChild):
+ (WebCore::ScrollView::removeChild):
+ (WebCore::ScrollView::setCanBlitOnScroll):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::canBlitOnScroll):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
+ (WebCore::ScrollView::ScrollView):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::platformAddChild):
+ (WebCore::ScrollView::platformRemoveChild):
+ (WebCore::ScrollView::platformSetCanBlitOnScroll):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
+ (WebCore::ScrollView::ScrollView):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
+ (WebCore::ScrollView::ScrollView):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::scrollBy):
+
+2008-09-25 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Bug 21109: Console should right-align urls
+
+ * page/inspector/Console.js: Re-order the message elements so that when
+ it overflows it doesn't get mixed in with the next message.
+ * page/inspector/inspector.css:
+
+2008-09-25 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21113
+
+ Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
+
+ Reviewed by Darin Adler
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::insertedIntoParent):
+ * css/CSSRule.cpp:
+ (WebCore::CSSRule::parentStyleSheet):
+ (WebCore::CSSRule::parentRule):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ * css/CSSStyleSheet.h:
+
+2008-09-25 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21115
+ <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
+ bundled documents
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::formData): Use files() instead of value()
+ to get the path, since value() now returns just the basename.
+
+2008-09-25 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Mark Rowe
+
+ Roll out 36771 as it caused <rdar://problem/6246554>
+ "nytimes.com doesn't display after returning to it with back/forward"
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::insertedIntoParent):
+ * css/CSSRule.cpp:
+ (WebCore::CSSRule::parentStyleSheet):
+ (WebCore::CSSRule::parentRule):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ (WebCore::CSSStyleSheet::docLoader):
+ * css/CSSStyleSheet.h:
+ (WebCore::CSSStyleSheet::doc):
+
+2008-09-25 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
+
+2008-09-25 Dan Bernstein <mitz@apple.com>
+
+ - Windows build fix
+
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::addChildPlatformWidget):
+ (WebCore::ScrollView::removeChildPlatformWidget):
+
+2008-09-25 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a leak of ConsoleMessage seen when repeated console
+ messages occur.
+
+ Reviewed by Mark Rowe.
+
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::addConsoleMessage): Delete the repeat
+ since we don't add it to m_consoleMessages.
+
+2008-09-25 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Bug 21105: XHRs logged in the console may show the wrong URL for the
+ source
+ - Get the url at the time of the send() and pass it on to the XHR.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ * xml/XMLHttpRequest.h:
+ (WebCore::XMLHttpRequest::setLastSendURL):
+
+2008-09-25 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoff and Tim.
+
+ Bug 20322: XHRs logged in the console do not have line numbers
+ - Get the line number at the time of the send and pass it on to the XHR.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::send):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ * xml/XMLHttpRequest.h:
+ (WebCore::XMLHttpRequest::setLastSendLineNumber):
+
+2008-09-25 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
+ https://bugs.webkit.org/show_bug.cgi?id=21003
+
+ * dom/EventNames.h: remove "begin" event
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
+
+2008-09-25 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21097
+ Calling a MessageChannel constructor from a destroyed document results in a crash
+
+ Test: fast/events/message-port-constructor-for-deleted-document.html
+
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::construct):
+ * bindings/js/JSMessageChannelConstructor.h:
+ Made m_document a RefPtr.
+
+2008-09-24 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20879
+ Implement HTML5 channel messaging
+
+ Tests: fast/events/message-channel-gc.html
+ fast/events/message-port-deleted-document.html
+ fast/events/message-port-deleted-frame.html
+ fast/events/message-port-inactive-document.html
+ fast/events/message-port.html
+ http/tests/security/MessagePort/event-listener-context.html
+
+ * Configurations/WebCore.xcconfig:
+ Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
+
+ * DerivedSources.make:
+ Added MessageChannel and MessagePort.
+
+ * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
+ turmed off anyway. Added new files.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ Added new files.
+
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
+ Added suport for window.MessageChannel constructor.
+
+ * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::postMessage):
+ * page/DOMWindow.h:
+ * page/DOMWindow.idl:
+ Added support for three-argument postMessage (that posts a MessagePort).
+
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toMessagePort):
+ * dom/EventTarget.h:
+ * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
+ EventTarget variant.
+
+ * bindings/js/JSMessageChannelConstructor.h:
+ * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
+ take a browsing context (document) parameter.
+
+ * bindings/js/JSMessageChannelCustom.cpp: Added.
+ (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
+ port1 and port2 that it owns.
+
+ * bindings/js/JSMessagePortCustom.cpp: Added.
+ (WebCore::JSMessagePort::startConversation):
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ (WebCore::JSMessagePort::dispatchEvent):
+ (WebCore::JSMessagePort::setOnmessage):
+ (WebCore::JSMessagePort::onmessage):
+ (WebCore::JSMessagePort::setOnclose):
+ (WebCore::JSMessagePort::onclose):
+ (WebCore::JSMessagePort::mark):
+ * dom/MessagePort.cpp: Added.
+ * dom/MessagePort.h: Added.
+ * dom/MessagePort.idl: Added.
+ Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
+ with Documents as contexts, but in the future, it will be used for communication with worker
+ threads.
+
+ * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
+ really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
+ needed for MessageEvent.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
+
+ * dom/Document.cpp:
+ (WebCore::MessagePortTimer::MessagePortTimer):
+ (WebCore::MessagePortTimer::fired):
+ (WebCore::Document::processMessagePortMessagesSoon):
+ (WebCore::Document::~Document):
+ (WebCore::Document::dispatchMessagePortEvents):
+ (WebCore::Document::createdMessagePort):
+ (WebCore::Document::destroyedMessagePort):
+ * dom/Document.h:
+ Document keeps track of all MessagePort objects that were created when it was fully active
+ in its context.
+
+ * dom/EventNames.h: Added closeEvent.
+
+ * dom/MessageChannel.cpp: Added.
+ (WebCore::MessageChannel::MessageChannel):
+ (WebCore::MessageChannel::~MessageChannel):
+ * dom/MessageChannel.h: Added.
+ (WebCore::MessageChannel::create):
+ (WebCore::MessageChannel::port1):
+ (WebCore::MessageChannel::port2):
+ * dom/MessageChannel.idl: Added.
+ Addded JSMessageChannel implementation.
+
+ * dom/MessageEvent.cpp:
+ (WebCore::MessageEvent::MessageEvent):
+ (WebCore::MessageEvent::initMessageEvent):
+ * dom/MessageEvent.h:
+ (WebCore::MessageEvent::create):
+ (WebCore::MessageEvent::messagePort):
+ * dom/MessageEvent.idl:
+ MessageEvent has a MessagePort member now, making it possible to pass ports across
+ documents.
+
+2008-09-25 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Eric Seidel
+
+ fix https://bugs.webkit.org/show_bug.cgi?id=21091
+ Regression: querySelector matches tag names case sensitively
+
+ Tests: fast/dom/SelectorAPI/caseTag.html
+ fast/dom/SelectorAPI/caseTagX.xhtml
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
+ * css/CSSParser.h:
+ * dom/Node.cpp:
+ (WebCore::Node::querySelector):
+ (WebCore::Node::querySelectorAll):
+
+2008-09-24 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21084
+
+ Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
+ functionality. Add platform stubs for connecting/disconnecting the platform widgets.
+
+ Reviewed by Sam Weinig
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::children):
+ * platform/Widget.h:
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::addChildPlatformWidget):
+ (WebCore::ScrollView::removeChildPlatformWidget):
+ (WebCore::ScrollView::geometryChanged):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::addChildPlatformWidget):
+ (WebCore::ScrollView::removeChildPlatformWidget):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::geometryChanged):
+ (WebCore::ScrollView::addChildPlatformWidget):
+ (WebCore::ScrollView::removeChildPlatformWidget):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::geometryChanged):
+ (WebCore::ScrollView::setParentVisible):
+ (WebCore::ScrollView::show):
+ (WebCore::ScrollView::hide):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::addChildPlatformWidget):
+ (WebCore::ScrollView::removeChildPlatformWidget):
+
+2008-09-25 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21024
+ <rdar://problem/6240821> Scrollbar not painted until hovered
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
+ this method, which sets both the location and the size.
+ (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
+ with a call to the new method setWidgetGeometry. Positioning the
+ widget correctly ensures that the scroll bars invalidate correctly when
+ they are created and resized.
+ * rendering/RenderWidget.h:
+
+2008-09-24 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ - create a "style" subfolder under "rendering" and move style files to that folder
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-09-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Remove staticFunctionGetter. There is only one remaining user of
+ staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::getOwnPropertySlot):
+
+2008-09-24 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Dan Bernstein.
+
+ Test: editing/spelling/inline_spelling_markers.html
+
+ - https://bugs.webkit.org/show_bug.cgi?id=20092
+ Spelling markers positioned incorrectly in RTL text
+
+ Measure spelling markers with selectionRectForText() to fix RTL.
+
+ This patch also fixes hit-testing for spelling marker tool tips,
+ which used to work only on the first line.
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
+
+2008-09-24 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21074
+
+ Make sure the viewless scrollbar knows how to paint properly when transformed.
+
+ Reviewed by Sam Weinig
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
+ (WebCore::ScrollbarThemeMac::paint):
+
+2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Not reviewed. Try to fix win build.
+
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::toJS):
+ * dom/ContainerNodeAlgorithms.h:
+ (WebCore::removeAllChildrenInContainer):
+ (WebCore::appendChildToContainer):
+ (WebCore::Private::addChildNodesToDeletionQueue):
+
+2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Oliver.
+
+ Add ContainerNodeAlgorithms.h, as central place to share algorithms
+ operating on TreeShared-derived classes with a Node-style interface.
+
+ This allows SVGElementInstance & ContainerNode to share code.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removeAllChildren):
+ (WebCore::ContainerNode::addChild):
+ * dom/ContainerNode.h:
+ * dom/ContainerNodeAlgorithms.h: Added.
+ (WebCore::removeAllChildrenInContainer):
+ (WebCore::appendChildToContainer):
+ (WebCore::Private::NodeRemovalDispatcher::dispatch):
+ (WebCore::Private::addChildNodesToDeletionQueue):
+
+2008-09-24 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Wrap up dirtying the z-order list of the stacking context
+ RenderLayer into a method.
+ https://bugs.webkit.org/show_bug.cgi?id=21072
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::setHasVisibleContent):
+ (WebCore::RenderLayer::addChild):
+ (WebCore::RenderLayer::removeChild):
+ (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayer.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::setStyle):
+
+2008-09-24 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ Bug 21070: REGRESSION Repeated messages with arguments are not repeated
+ or displayed multiple times
+ - The Insepctor Controller was comparing JSValue pointers so thought the
+ message was not a repeat, but the JS of the inspector compared the
+ strings and so knew it was the same message and so overwrote the old
+ message.
+
+ * page/InspectorController.cpp:
+ (WebCore::ConsoleMessage::isEqual):
+ (WebCore::InspectorController::addMessageToConsole):
+ (WebCore::InspectorController::addConsoleMessage):
+ (WebCore::InspectorController::startGroup):
+ (WebCore::InspectorController::endGroup):
+ * page/InspectorController.h:
+
+2008-09-24 David Hyatt <hyatt@apple.com>
+
+ Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
+ arrow placement preference and the thumb jump preference).
+
+ Reviewed by Adam Roben
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ (WebCore::Scrollbar::~Scrollbar):
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::registerScrollbar):
+ (WebCore::ScrollbarTheme::unregisterScrollbar):
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
+ (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
+ (+[ScrollbarPrefsObserver registerAsObserver]):
+ (WebCore::ScrollbarThemeMac::registerScrollbar):
+ (WebCore::ScrollbarThemeMac::unregisterScrollbar):
+ (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
+ (WebCore::ScrollbarThemeMac::preferencesChanged):
+
+2008-09-24 Rob Buis <buis@kde.org>
+
+ Reviewed by Darin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20557
+ getScreenCTM() returns wrong values
+
+ Use the absolute position of the svg root when
+ determining the screen ctm.
+
+ Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
+
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::getScreenCTM):
+
+2008-09-24 David Hyatt <hyatt@apple.com>
+
+ Turn off support for CSS variables.
+
+ * ChangeLog:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createVariablesRule):
+ (WebCore::CSSParser::addVariable):
+ (WebCore::CSSParser::addVariableDeclarationBlock):
+
+2008-09-24 David Hyatt <hyatt@apple.com>
+
+ Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
+
+ * css/CSSGrammar.y:
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserValue::isVariable):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cleanup):
+ (WebCore::CSSPrimitiveValue::getStringValue):
+ (WebCore::CSSPrimitiveValue::cssText):
+ (WebCore::CSSPrimitiveValue::parserValue):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::):
+ (WebCore::CSSPrimitiveValue::isVariable):
+
+2008-09-24 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a regression where the "incorrect MIME-type" warning would not
+ show up correctly in the Console or the resources sidebar.
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/Resource.js:
+ (WebInspector.Resource.prototype._addTip): Add the repeat count argument
+ to the WebInspector.ConsoleMessage constructor call.
+ (WebInspector.Resource.prototype._checkWarning): Ditto.
+
+2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Remove deprecated JS Qt bindings object call/construct code and fix autotests
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::QtInstance):
+ * bridge/qt/qt_instance.h:
+
+2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
+
+ Reviewed by Alp Toker. Landed by Jan Alonzo.
+
+ Bug 20883: [CURL] Add deferred loading
+ https://bugs.webkit.org/show_bug.cgi?id=20883
+
+ Implement deferred loading for the libcURL backend using curl_easy_pause.
+ As the method was introduced in version 7.18.0, all the code checks for libcURL
+ version.
+
+ * platform/network/curl/ResourceHandleCurl.cpp:
+ (WebCore::ResourceHandle::setDefersLoading):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::writeCallback): Add an assertion that deferred loading is not
+ activated.
+ (WebCore::headerCallback): Ditto.
+ (WebCore::readCallback): Ditto.
+ (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
+ defersLoading to be false in order to avoid triggering an assertion.
+ (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
+ activated, pause the easy handle.
+
+2008-09-23 Matt Lilek <webkit@mattlilek.com>
+
+ Reviewed by Tim Hatcher.
+
+ Inspector search field style tweaks.
+
+ * page/inspector/inspector.css:
+
+2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Eric.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
+
+ Fix missing negation in EventTargetNode::insertedIntoDocument.
+ Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
+ Remove code, that wasn't supposed to go in in dispatchGenericEvent().
+
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::insertedIntoDocument):
+ (WebCore::EventTargetNode::dispatchGenericEvent):
+ * dom/EventTargetNode.h:
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Adds search support to the Profiles panel.
+
+ The Profiles panel supports a few types of queries:
+ * Standard string matching for function names and file URLs.
+ * Greater than and less than search for numeric columns.
+ So a query of ">24" will match all rows that have calls
+ greater than 24. Or "<=42" will match all 42 or less.
+ * Percent and time units. Adding a unit of "s", "ms" or "%"
+ is supported and will match only the Self and Total columns.
+ So a query of ">1.25s" will match all rows that took longer
+ than 1.25 seconds.
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/ProfileView.js:
+ (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
+ it will start at the first result.
+ (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
+ (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
+ data grid nodes.
+ (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
+ (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
+ (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
+ (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
+ (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
+ (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
+ (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
+ (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
+ Expand all the ancestors first so the profile node will have a DataGridNode.
+ (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
+ (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
+ have search matches.
+ * page/inspector/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
+ (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
+ (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
+ (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
+ (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
+ (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
+ (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
+ (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
+ (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
+ * page/inspector/inspector.css: New style rules for the cell highlight color.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Adds search support to the Resources and Scripts panels.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21005
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/Images/searchSmallBlue.png: Added.
+ * page/inspector/Images/searchSmallBrightBlue.png: Added.
+ * page/inspector/Images/searchSmallGray.png: Added.
+ * page/inspector/Images/searchSmallWhite.png: Added.
+ * page/inspector/ResourceView.js:
+ (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
+ or "script-resource-views" since one might not be created yet.
+ * page/inspector/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
+ are not this panel's current visible view. This can happen when a ResourceView is
+ visible in the Scripts panel then switched to the this panel.
+ (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
+ visibleView first.
+ (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
+ that uses the current graph search function. So cycling through results will be in the order
+ things appear in the sidebar.
+ (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
+ resource's sidebar tree element.
+ (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
+ in the sidebar. Calls the Panel prototype's searchCanceled.
+ (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
+ in the sidebar. Calls the Panel prototype's performSearch.
+ (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
+ (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
+ if there is a current search query.
+ (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
+ (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
+ (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
+ (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
+ (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
+ * page/inspector/ScriptView.js:
+ (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
+ (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
+ it will start at the first result.
+ (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
+ highlighting complete".
+ (WebInspector.ScriptView.prototype): Share many methods with SourceView.
+ * page/inspector/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
+ This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
+ (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
+ (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
+ (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
+ (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
+ * page/inspector/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
+ * page/inspector/SourceView.js:
+ (WebInspector.SourceView.prototype.hide):
+ (WebInspector.SourceView.prototype.detach):
+ (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
+ (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
+ (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
+ (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
+ store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
+ (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
+ (WebInspector.SourceView.prototype.jumpToLastSearchResult):
+ (WebInspector.SourceView.prototype.jumpToNextSearchResult):
+ (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
+ (WebInspector.SourceView.prototype.showingFirstSearchResult):
+ (WebInspector.SourceView.prototype.showingLastSearchResult):
+ (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
+ (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
+ (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
+ * page/inspector/inspector.css:
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
+ so future code can be shared.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21005
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
+ And visibleResourceView to visibleView.
+ * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Highlight all matched search results in the Elements panel DOM tree.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21005
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
+ on all previous search results.
+ (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
+ on all new search results.
+ * page/inspector/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
+ (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
+ the highlighted class on the listItemElement.
+ (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
+ if needed. Calls _updateTitle.
+ (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
+ class so it can be styled when the highlighted class is present.
+ * page/inspector/inspector.css: New style rules for the hihglight.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Add search support to the Elements panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21005
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
+ with a 0 match count to rest. Reset the other search properties.
+ (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
+ query and a CSS selector on all the Documents in the page. Remembers the found nodes
+ and avoids duplicates. Focuses the first result.
+ (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
+ (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Add support to Panel that allows easy searching of sub-views.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21005
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/Panel.js:
+ (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
+ views in the search results and delete the currentQuery property. Call
+ WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
+ other search properties.
+ (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
+ reset everything we need before doing a new search. Get an array of searchableViews
+ from the panel, implemented by sub-classes. Iterate over the views one-by-one
+ with an interval to prevent blocking the UI for large lists of searchableViews.
+ This keeps the interface really responsive. Pass a finishedCallback function to
+ the performSearch on each view so it can notify the panel of results.
+ (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
+ searchResults of the visibleView, so we know where in the results we are.
+ This is done every time incase the user manually navigates to a new view.
+ If the view is showing the last result, jump to the next view and show it's
+ first result. Otherwise jump to the next result in the current view.
+ (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Add support for asking the current panel to perform a search, find next/previous and clear.
+ A search is performed on the new new current panel when switching between panels. The search
+ label/placeholder in the toolbar now includes the panel name to make it clear that panel will
+ be searched. The search field contents are selected when Command/Control-F or Enter/Return
+ is pressed, so the user can easily type an entirely new query. The search match count shows
+ up in the toolbar next to the search field.
+
+ Also changed:
+ * Rename lastQuery to currentQuery since it better matches the truth.
+ * Set the search field "results" attribute to zero since results arn't saved for
+ how we use the search field.
+ * Make repeated presses of the Return key jump to the next search result instead
+ of doing nothing.
+ * Increased the search field width.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21005
+
+ Reviewed by Oliver Hunt.
+
+ * English.lproj/localizedStrings.js: New strings.
+ * page/inspector/inspector.css: New styles.
+ * page/inspector/inspector.html: Add the search-results-matches element. Add the
+ incremental attribute to the search field and set the results attribute to zero.
+ * page/inspector/inspector.js:
+ (WebInspector.set currentPanel): perform the search on the new panel.
+ (WebInspector.loaded): Change the event listeners and remove code that changes
+ the search label text.
+ (WebInspector.documentKeyDown): Add support for Command/Control-G and
+ Command/Control-Shift-G. To jump to the next and previous search results.
+ (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
+ This does different things depending on the attached state.
+ (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
+ This prevents a "search" event from firing for key down. We handle the Enter key
+ on key up in searchKeyUp. This stops performSearch from being called twice in a row.
+ (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
+ (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
+ on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
+ Call updateSearchMatchesCount to reset the matches count in the toolbar.
+ (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Remove the previous Inspector search code to make room for the new stuff.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21005
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/inspector.css:
+ * page/inspector/inspector.html:
+ * page/inspector/inspector.js:
+ (WebInspector.get/set showingSearchResults): Removed.
+ (WebInspector.searchResultsKeyDown): Removed.
+ (WebInspector.searchResultsResizerDragStart): Removed.
+ (WebInspector.searchResultsResizerDragEnd): Removed.
+ (WebInspector.searchResultsResizerDrag): Removed.
+ (WebInspector.performSearch): Removed searching parts.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Use the Array.remove helper function in more places.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21037
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ResourceCategory.js:
+ (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
+ * page/inspector/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
+ * page/inspector/inspector.js:
+ (WebInspector.removeResource): Ditto.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where inspecting a node after reloading the page
+ would not reveal the node in the DOM tree. The TreeOutline
+ was not being told to forget decendants of a removed child.
+ So old TreeElements would be found that are not in the tree.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21036
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/treeoutline.js:
+ (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
+ in addition to _forgetTreeElement.
+ (TreeOutline._removeChildren): Call _forgetChildrenRecursive
+ in addition to _forgetTreeElement.
+ (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
+ search for known elements.
+ (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
+ (TreeOutline._forgetChildrenRecursive): Recursively traverse the
+ descendants and call _forgetTreeElement.
+ * page/inspector/utilities.js:
+ (Array.prototype.remove): Speed up this function by using Array.indexOf
+ when onlyFirst is true.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where inspecting some short text nodes does
+ not reveal them in the Elements panel DOM tree.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21035
+
+ Reviewed by Oliver Hunt.
+
+ * page/inspector/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
+ The revealAndSelectNode() method might find a different element
+ if there is inlined text, and the select() call would change the
+ focusedDOMNode and reenter this setter. So to avoid calling
+ focusedNodeChanged() twice, first check if _focusedDOMNode is
+ the same node as the one passed in.
+ (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
+ this.treeOutline, since this is the TreeOutline.
+ (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
+ Provides default functions for isAncestor, getParet and equal.
+ Calls the base protoype's findTreeElement. If that returns null
+ and the node is a text node, try finding it's parent.
+ (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
+ Renamed to revealAndSelectNode.
+ (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
+ Selects and reveals the node passed in. Use the simple findTreeElement.
+ (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
+ Remove use of this.treeOutline, since this is the TreeOutline.
+
+2008-09-23 Timothy Hatcher <timothy@apple.com>
+
+ Fixes an exception that happened when removing a Resource
+ from the ResourcesPanel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21034
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ResourcesPanel.js:
+ (WebInspctor.ResourcesPanel.prototype.removeResource):
+ Remove the graphElement.
+
+2008-09-23 Kevin McCullough <kmccullough@apple.com>
+
+ Fixed "Time" to "Tim"
+
+ * ChangeLog:
+
+2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Oliver.
+
+ Move mapInstanceToElement/removeInstanceMapping/instancesForElement
+ from SVGDocumentExtensions to SVGElement. It's more useful to store
+ the list of SVGElementInstances per SVGElement, instead of using
+ a document-wide hash for this purpose.
+
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
+ * svg/SVGAnimateTransformElement.cpp:
+ (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
+ * svg/SVGAnimationElement.cpp:
+ (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
+ * svg/SVGDocumentExtensions.h:
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::mapInstanceToElement):
+ (WebCore::SVGElement::removeInstanceMapping):
+ (WebCore::SVGElement::instancesForElement):
+ * svg/SVGElement.h:
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::SVGElementInstance):
+ (WebCore::SVGElementInstance::~SVGElementInstance):
+ (WebCore::SVGElementInstance::updateAllInstancesOfElement):
+ * svg/SVGElementInstance.h:
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::svgAttributeChanged):
+ (WebCore::SVGStyledElement::childrenChanged):
+ * svg/SVGStyledElement.h:
+
+2008-09-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix.
+
+ * WebCoreSources.bkl:
+
+2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Rubber stamped by Sam.
+
+ Move code from EventTarget to EventTargetNode.
+
+ I refactored most parts to live in EventTarget, a year ago,
+ though the implementation of EventTargetSVGElementInstance is
+ done in another way, that obsoletes this.
+
+ * dom/Document.cpp:
+ (WebCore::Document::addListenerTypeIfNeeded):
+ * dom/Document.h:
+ * dom/EventTarget.cpp:
+ * dom/EventTarget.h:
+ (WebCore::allowEventDispatch):
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::insertedIntoDocument):
+ (WebCore::EventTargetNode::removedFromDocument):
+ (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
+ (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
+ (WebCore::EventTargetNode::addEventListener):
+ (WebCore::EventTargetNode::removeEventListener):
+ (WebCore::EventTargetNode::removeAllEventListeners):
+ (WebCore::EventTargetNode::handleLocalEvents):
+ (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
+ (WebCore::EventTargetNode::dispatchEvent):
+ (WebCore::EventTargetNode::dispatchGenericEvent):
+ (WebCore::EventTargetNode::dispatchWindowEvent):
+ (WebCore::EventTargetNode::removeEventListenerForType):
+ * dom/EventTargetNode.h:
+ * svg/EventTargetSVGElementInstance.cpp:
+ (WebCore::EventTargetSVGElementInstance::dispatchEvent):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::sendSVGLoadEventIfPossible):
+ * svg/SVGElement.h:
+ (WebCore::SVGElement::supplementalTransform):
+
+2008-09-23 Dave Hyatt <hyatt@apple.com>
+
+ Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
+ sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
+
+ Reviewed by Sam Weinig
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::trackRect):
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::ScrollbarThemeSafari::trackRect):
+
+2008-09-23 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
+ link at gmail does not support AXPress action
+ and corresponding: <rdar://problem/6216178>
+
+ I fixed this bug by making AccessibilityObject::anchorElement
+ support ARIA links.
+
+ * page/AccessibilityImageMapLink.cpp:
+ (WebCore::AccessibilityImageMapLink::anchorElement):
+ * page/AccessibilityImageMapLink.h:
+ * page/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::anchorElement):
+ * page/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isNativeAnchor):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isNativeAnchor):
+ (WebCore::AccessibilityRenderObject::anchorElement):
+ (WebCore::AccessibilityRenderObject::internalLinkElement):
+ (WebCore::AccessibilityRenderObject::url):
+ * page/AccessibilityRenderObject.h:
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (AXLinkElementForNode):
+
+2008-09-23 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim and Oliver.
+
+ Bug 20949: Catch repeated messages in Inspector Controller to limit
+ memory usage
+ - Store the repeat count in the Console Message object, in the
+ Inspector Controller and JS ConsoleMessage object.
+
+ * page/InspectorController.cpp:
+ (WebCore::ConsoleMessage::ConsoleMessage):
+ (WebCore::ConsoleMessage::operator==):
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::addConsoleMessage):
+ (WebCore::InspectorController::addScriptConsoleMessage):
+ * page/InspectorController.h:
+ * page/inspector/Console.js:
+ * page/inspector/Resource.js:
+ * page/inspector/ResourcesPanel.js:
+ * page/inspector/SourceFrame.js:
+
+2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Eric.
+
+ Working on proper EventTarget support for SVGElementInstance.
+
+ Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
+ Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
+
+ Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
+ implementation. Let it use TreeShared directly.
+
+ It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
+ The transition to EventTargetSVGElementInstance will be done in a few individual patches.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSEventTargetBase.cpp:
+ (WebCore::retrieveEventTargetAndCorrespondingNode):
+ (WebCore::toJS):
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
+ (WebCore::):
+ (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
+ (WebCore::JSEventTargetSVGElementInstance::createPrototype):
+ (WebCore::JSEventTargetSVGElementInstance::setListener):
+ (WebCore::JSEventTargetSVGElementInstance::getListener):
+ (WebCore::toEventTargetSVGElementInstance):
+ * bindings/js/JSEventTargetSVGElementInstance.h: Added.
+ (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
+ (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
+ (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
+ (WebCore::JSEventTargetSVGElementInstance::put):
+ (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
+ * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
+ (WebCore::toJS):
+ * bindings/objc/DOM.mm:
+ (+[DOMNode _wrapEventTarget:WebCore::]):
+ (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
+ (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
+ (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
+ (-[DOMSVGElementInstance WebCore::]):
+ (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
+ (-[DOMSVGElementInstance addEventListener:::]):
+ (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
+ (-[DOMSVGElementInstance removeEventListener:::]):
+ (-[DOMSVGElementInstance dispatchEvent:]):
+ * bindings/objc/DOMEvents.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * svg/EventTargetSVGElementInstance.cpp: Added.
+ (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
+ (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
+ (WebCore::EventTargetSVGElementInstance::addEventListener):
+ (WebCore::EventTargetSVGElementInstance::removeEventListener):
+ (WebCore::EventTargetSVGElementInstance::dispatchEvent):
+ * svg/EventTargetSVGElementInstance.h: Added.
+ (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
+ (WebCore::EventTargetSVGElementInstance::toNode):
+ (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
+ (WebCore::EventTargetSVGElementInstance::refEventTarget):
+ (WebCore::EventTargetSVGElementInstance::derefEventTarget):
+ (WebCore::EventTargetSVGElementInstanceCast):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::dispatchEvent):
+ * svg/SVGElementInstance.cpp:
+ (WebCore::SVGElementInstance::SVGElementInstance):
+ (WebCore::SVGElementInstance::~SVGElementInstance):
+ * svg/SVGElementInstance.h:
+ (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
+ * svg/SVGElementInstance.idl:
+
+2008-09-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=21040
+ Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
+
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::getCTFont):
+
+2008-09-23 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21039
+
+ Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollView.h:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::setFrameGeometry):
+ * platform/Scrollbar.h:
+ * platform/Widget.cpp:
+ (WebCore::Widget::convertFromContainingWindow):
+ * platform/Widget.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::ScrollView):
+ (WebCore::ScrollView::~ScrollView):
+ (WebCore::ScrollView::windowResizerRect):
+ (WebCore::ScrollView::resizerOverlapsContent):
+ (WebCore::ScrollView::adjustOverlappingScrollbarCount):
+ (WebCore::ScrollView::setParent):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertFromContainingWindow):
+
+2008-09-23 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Darin Adler. Landed by Jan Alonzo.
+
+ Added support for getImageData() and putImageData()
+ to Cairo.
+
+ [CAIRO] needs getImageData and putImageData support
+ https://bugs.webkit.org/show_bug.cgi?id=20838
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::ImageBuffer::getImageData):
+ (WebCore::ImageBuffer::putImageData):
+
+2008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ http://bugs.webkit.org/show_bug.cgi?id=18987
+ [GTK] Implement SharedBuffer::createWithContentsOfFile and
+ KURL::fileSystemPath
+
+ * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
+ * platform/gtk/KURLGtk.cpp: Added.
+ (WebCore::KURL::fileSystemPath): Implemented.
+ * platform/gtk/SharedBufferGtk.cpp: Added.
+ (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
+ * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
+
+2008-09-23 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Oliver Hunt, okayed by Darin Adler.
+
+ <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
+
+2008-09-23 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21023
+ Don't use TEC for encodings supported by ICU
+
+ * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
+ x-mac-greek, and x-mac-turkish.
+
+ * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
+ Register aliases for these encodings that are not registered automatically; updated comments.
+
+2008-09-23 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin.
+
+ - speed up instanceof some more
+ https://bugs.webkit.org/show_bug.cgi?id=20818
+
+ ~2% speedup on EarleyBoyer
+
+ (WebCore updates.)
+
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ (WebCore::JSQuarantinedObjectWrapper::createStructureID):
+
+2008-09-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21008
+ getting pixels by index from CanvasPixelArray is unnecessarily slow
+
+ * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+
+ * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
+ indexSetter. These are now both inlined, so in the header.
+ * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
+ function is what's used for HasCustomIndexGetter. Also moved the
+ indexSetter function here.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
+ to use a getByIndex member function rather than an indexGetter static
+ member function in a property slot. This lets us avoid the property
+ slot mechanism's rule where it turns numeric property names into
+ strings in the identifier table, which is good because that's slow.
+ Also added a new property CustomHeader that allows IDL files to
+ introduce headers to be included -- useful when we have functions
+ that we want to inline into the binding.
+
+ * html/CanvasPixelArray.idl: Added CustomHeader attribute.
+
+2008-09-23 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Another blind stab in the dark.
+
+ * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
+
+2008-09-23 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Third time's the charm, eh? My local build is sadly still not done...
+
+ * platform/graphics/AffineTransform.cpp: remove extra &
+ * platform/graphics/AffineTransform.h: remove extra &
+
+2008-09-22 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ * platform/graphics/AffineTransform.cpp: remove extra ;
+
+2008-09-22 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Speculative fix for the build while I wait for my compile to finish.
+
+ * platform/graphics/AffineTransform.cpp:
+
+2008-09-22 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by eseidel. Landed by eseidel.
+
+ Moved makeMapBetweenRects from SVG/CG to AffineTransform
+ Make SVGResourceClipper::applyClip more cross-platform
+
+ * platform/graphics/AffineTransform.cpp:
+ * platform/graphics/AffineTransform.h:
+ * svg/graphics/cg/CgSupport.cpp:
+ * svg/graphics/cg/CgSupport.h:
+ * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
+ (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
+ * svg/graphics/cg/SVGResourceClipperCg.cpp:
+ (WebCore::SVGResourceClipper::applyClip):
+
+2008-09-22 Alp Toker <alp@nuanti.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=16331
+ [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
+
+ Obey GTK+ focusing conventions for controls and anchor elements.
+
+ It could be interesting to push these decisions up to Settings or
+ ChromeClient some day but this gets things working.
+
+ Right and middle click events still need some work to match GTK+
+ conventions.
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::isMouseFocusable):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::isMouseFocusable):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::sendContextMenuEvent):
+
+2008-09-22 Darin Adler <darin@apple.com>
+
+ * page/mac/FrameMac.mm:
+ (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
+
+2008-09-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
+ Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
+ and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
+ class!
+
+ - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
+ non-selectable input types, but return undefined when accessed.
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSHTMLInputElementBase.cpp: Removed.
+ * bindings/js/JSHTMLInputElementBase.h: Removed.
+ * bindings/js/JSHTMLInputElementCustom.cpp: Added.
+ (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
+ (WebCore::JSHTMLInputElement::selectionStart):
+ (WebCore::JSHTMLInputElement::selectionEnd):
+ * bindings/js/JSHTMLInputElementCustom.h: Added.
+ * html/HTMLInputElement.idl:
+
+2008-09-22 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
+
+ Not testable in DumpRenderTree or in Safari
+
+ * page/mac/FrameMac.mm:
+ (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
+ case that the selection start node is a block.
+
+2008-09-22 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21007
+
+ Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
+
+ Reviewed by Sam Weinig
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+
+2008-09-22 Eric Seidel <eric@webkit.org>
+
+ No review, rollback only.
+
+ Roll out Peter's change (per his request)
+ http://trac.webkit.org/changeset/36069
+ https://bugs.webkit.org/show_bug.cgi?id=19663
+ This change has been the source of numerous regressions
+ (several of which were latent bugs revealed by this change,
+ others were bugs in this change)
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::startAnimation):
+ (WebCore::BitmapImage::advanceAnimation):
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::BitmapImage::draw):
+
+2008-09-22 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
+
+ Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
+ platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
+
+ * config.h: Use Core Text if not building for Leopard or Tiger.
+
+2008-09-22 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=21006
+
+ Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
+ switched on. There are still a few more refinements to make to the rendering and behavior.
+
+ Reviewed by Darin Adler
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ * platform/ScrollbarThemeComposite.h:
+ (WebCore::ScrollbarThemeComposite::paintTrack):
+ (WebCore::ScrollbarThemeComposite::paintButton):
+ (WebCore::ScrollbarThemeComposite::paintThumb):
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::backButtonRect):
+ (WebCore::ScrollbarThemeMac::forwardButtonRect):
+ (WebCore::scrollbarPartToHIPressedState):
+ (WebCore::ScrollbarThemeMac::paint):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::invalidateRect):
+
+2008-09-22 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Sam Weinig
+
+ transition end event when -webkit-transition-property: all puts wrong
+ propertyName in event
+ https://bugs.webkit.org/show_bug.cgi?id=20903
+
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+
+2008-09-22 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
+
+ Test: accessibility/table-one-cell.html
+
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+
+2008-09-22 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
+
+ Test: accessibility/textarea-selected-text-range.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::setSelectedTextRange):
+
+2008-09-22 David Hyatt <hyatt@apple.com>
+
+ Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
+ properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
+ parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
+ rule.
+
+ Reviewed by Sam Weinig
+
+ Added fast/css/nested-rule-parent-sheet.html
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::insertedIntoParent):
+ * css/CSSRule.cpp:
+ (WebCore::CSSRule::parentStyleSheet):
+ (WebCore::CSSRule::parentRule):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::CSSStyleSheet):
+ * css/CSSStyleSheet.h:
+
+2008-09-22 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=21002
+ Make the ATSUI code path respect spacingDisabled()
+
+ Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
+
+ * platform/graphics/mac/FontMacATSUI.mm:
+ (WebCore::overrideLayoutOperation):
+
+2008-09-22 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
+
+ Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
+
+ 2.2% speedup on EarleyBoyer benchmark.
+
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ (WebCore::JSQuarantinedObjectWrapper::createStructureID):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2008-09-22 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
+
+2008-09-22 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Based on initial work by Darin Adler.
+
+ - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
+ - use this to JIT inline code for eq_null and neq_null
+ https://bugs.webkit.org/show_bug.cgi?id=20823
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter):
+ * bindings/js/JSHTMLAllCollection.cpp: Added.
+ (WebCore::):
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::createStructureID):
+ (WebCore::JSHTMLAllCollection::toBoolean):
+
+2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix the QtWebKit build
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObjectImp::construct):
+ * bridge/qt/qt_runtime.cpp:
+
+2008-09-22 Alp Toker <alp@nuanti.com>
+
+ Suggested by David Hyatt.
+
+ Build fix: ScrollView::update() is still used by Document.cpp on !MAC
+ so make it public.
+
+ * platform/ScrollView.h:
+
+2008-09-22 David Hyatt <hyatt@apple.com>
+
+ Fix a regression in Windows scrollbar painting. (Also fix the same
+ bug in my new viewless Mac scrollbar painting code). The track rect
+ was being improperly inflated when painting resulting in the scrollbar
+ being too tall and painting in the border of overflow sections.
+
+ Reviewed by Oliver Hunt
+
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::trackRect):
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarThemeSafari::trackRect):
+
+2008-09-22 David Hyatt <hyatt@apple.com>
+
+ Fix a hit testing bug where events are mistakenly passed to subframes
+ if the mouse is over the border or padding area of the frame. Add
+ a boolean flag, isOverWidget(), to hit test results so that EventHandler
+ can check it to tell if the mouse is really over the content box of a
+ RenderWidget and not just in the border/padding area.
+
+ This is not testable, since the old code properly recovered when it detected
+ that the mouse was outside the bounds of the view, but this prevents
+ the extra passdown from even occurring (and is basically a nice cleanup).
+
+ Reviewed by Oliver Hunt
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ (WebCore::subframeForHitTestResult):
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ (WebCore::EventHandler::handleWheelEvent):
+ * page/MouseEventWithHitTestResults.h:
+ (WebCore::MouseEventWithHitTestResults::isOverWidget):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::HitTestResult):
+ (WebCore::HitTestResult::operator=):
+ * rendering/HitTestResult.h:
+ (WebCore::HitTestResult::isOverWidget):
+ (WebCore::HitTestResult::setIsOverWidget):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::nodeAtPoint):
+ * rendering/RenderWidget.h:
+
+2008-09-21 David Hyatt <hyatt@apple.com>
+
+ Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
+ both it and ScrollView's updateContents method be off-limits to everyone in
+ WebCore except for RenderView.
+
+ Make repaintViewRectangle the only possible method for WebCore code to do
+ an invalidation. This ensures that all invalidates triggered by WebCore
+ cross-platform code that cross ownerElement() boundaries are transform-aware.
+
+ Make sure that iframes/frames contained inside objects that have transforms
+ or reflections are not allowed to blit (this was already true for transparency).
+
+ It is not possible to make a test for any of this, since iframe scrolling
+ still doesn't work on Mac (since the invalidates are not being done
+ through WebCore's cross-platform invalidation code but are instead going
+ through NSScrollView's setNeedsDisplay still).
+
+ Reviewed by Oliver Hunt
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::recomputeCaretRect):
+ (WebCore::SelectionController::invalidateCaretRect):
+ (WebCore::SelectionController::focusedOrActiveStateChanged):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::repaintContentRectangle):
+ (WebCore::FrameView::endDeferredRepaints):
+ * page/FrameView.h:
+ * platform/ScrollView.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintFillLayerExtended):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::enclosingPositionedAncestor):
+ (WebCore::RenderLayer::requiresSlowRepaints):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::hasTransform):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paintBoxDecorations):
+ (WebCore::RenderView::repaintViewRectangle):
+ (WebCore::RenderView::setSelection):
+
+2008-09-21 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin.
+
+ - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
+ https://bugs.webkit.org/show_bug.cgi?id=20981
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::createDOMStructure):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::getDOMStructure):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::setWindow):
+ * bindings/js/JSEventTargetNode.cpp:
+ (WebCore::JSEventTargetNode::createPrototype):
+ * bindings/js/JSHTMLOptionElementConstructor.cpp:
+ (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2008-09-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ - fix problem Maciej noticed where every JSNamedNodesCollection
+ gets its own StructureID
+
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
+ getDOMStructure to get the structure.
+ * bindings/js/JSNamedNodesCollection.h:
+ (WebCore::JSNamedNodesCollection::createPrototype): Return the
+ object prototype.
+
+2008-09-20 David Hyatt <hyatt@apple.com>
+
+ Make sure transformed scrollbars in overflow sections position
+ properly. This patch mimics the same behavior that works for
+ iframes, namely making sure that the same code that dynamically
+ adjusts iframe widget positions at paint time for fixed positioning
+ and transforms also applies to scrollbars. (This is as simple as passing
+ in the current translation factor at paint time rather than crawling
+ up the layer tree to compute a "false" absolute position.)
+
+ An existing transform test covers this (although only a pixel result
+ reveals the correct rendering).
+
+ Reviewed by Darin Adler
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ (WebCore::RenderLayer::positionOverflowControls):
+ (WebCore::RenderLayer::paintOverflowControls):
+ (WebCore::RenderLayer::paintLayer):
+ * rendering/RenderLayer.h:
+
+2008-09-21 Steve Falkenburg <sfalken@apple.com>
+
+ Removed unnecessary nested timer check.
+
+ Rubber-stamped by Dan Bernstein.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::TimerWindowWndProc):
+
+2008-09-21 Steve Falkenburg <sfalken@apple.com>
+
+ Improve timer resolution on WinXP.
+ https://bugs.webkit.org/show_bug.cgi?id=20979
+
+ Removed last-chance timer. It should not be necessary.
+ Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
+ Remove Vista checks. We now run the same code on both XP and Vista.
+
+ Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
+ The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
+
+ Reviewed by Maciej Stachowiak.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::):
+ (WebCore::TimerWindowWndProc):
+ (WebCore::setSharedTimerFireTime):
+ * platform/win/SystemTimeWin.cpp:
+ (WebCore::currentTime):
+
+2008-09-21 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by eseidel. Landed by eseidel.
+
+ All platforms use the DashArray in the GraphicsContext.
+
+ * svg/graphics/SVGPaintServer.h:
+ * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
+ (WebCore::SVGPaintServerGradient::setup):
+ * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
+ (WebCore::SVGPaintServerPattern::setup):
+ * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
+ (WebCore::SVGPaintServerSolid::setup):
+ * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
+ (WebCore::SVGPaintServerGradient::setup):
+ * svg/graphics/qt/SVGPaintServerQt.cpp:
+ * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
+ (WebCore::SVGPaintServerSolid::setup):
+
+2008-09-21 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by eseidel. Landed by eseidel.
+
+ Moved DashArray to GraphicsContext.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/DashArray.h: Added.
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::setLineDash):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::setLineDash):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::setLineDash):
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::applyStrokeStyleToContext):
+ * svg/graphics/SVGPaintServer.h:
+ * svg/graphics/cg/CgSupport.cpp:
+ * svg/graphics/cg/CgSupport.h:
+
+2008-09-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - fix linker warnings
+
+ * WebCore.base.exp:
+
+2008-09-20 Darin Adler <darin@apple.com>
+
+ - another try at fixing Qt
+
+ * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
+
+2008-09-20 Darin Adler <darin@apple.com>
+
+ - blind attempt to fix Qt build
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
+ of regExpPrototype to make a RegExpObject. There should really be
+ some sort of public helper function for this. Same thing for
+ DateInstance and dateStructure. For JSObject, use constructEmptyObject.
+ (JSC::Bindings::):
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
+ It is not correct to do this inside the constructor because it could
+ cause a garbage collect while the QtRuntimeMethod object is half-
+ allocated, which could lead to a crash; note that RuntimeMethod,
+ QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
+ * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
+
+2008-09-20 Collin Jackson <collinj@webkit.org>
+
+ Prefetch DNS for hyperlinks that the user mouses over.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20931
+
+ Reviewed by Sam Weinig.
+
+ * page/Chrome.cpp:
+ (WebCore::Chrome::mouseDidMoveOverElement):
+
+2008-09-20 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ - finish https://bugs.webkit.org/show_bug.cgi?id=20858
+ make each distinct C++ class get a distinct JSC::Structure
+
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
+ ID. Note that this makes a new structure every time -- we could
+ optimize this slightly be caching and reusing a single one.
+
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
+ getDOMStructure.
+ * bridge/runtime_method.h:
+ (JSC::RuntimeMethod::createPrototype): Added createPrototype so
+ getDOMStructure will work.
+
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
+ 0; needed in case garbage collection happens while creating the
+ JSDOMWindow.
+
+2008-09-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=20950
+ <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
+
+ * svg/SVGTextContentElement.cpp:
+ (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
+ not include the first character in the extraCharsAvailable count.
+
+2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix memory leak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20505
+
+ * platform/wx/wxcode/mac/carbon/fontprops.cpp:
+ (GetTextExtent):
+
+2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
+
+ * WebCoreSources.bkl:
+ * platform/ScrollView.h:
+ * platform/wx/PopupMenuWx.cpp:
+ (WebCore::PopupMenu::show):
+ * platform/wx/RenderThemeWx.cpp:
+ (WebCore::RenderThemeWx::paintButton):
+ (WebCore::RenderThemeWx::paintTextField):
+ (WebCore::RenderThemeWx::paintMenuList):
+ (WebCore::RenderThemeWx::paintMenuListButton):
+ * platform/wx/ScrollViewWx.cpp:
+ (WebCore::ScrollView::setPlatformWidget):
+ (WebCore::ScrollView::updateContents):
+ (WebCore::ScrollView::update):
+ (WebCore::ScrollView::visibleWidth):
+ (WebCore::ScrollView::visibleHeight):
+ (WebCore::ScrollView::scrollBy):
+ (WebCore::ScrollView::resizeContents):
+ (WebCore::ScrollView::contentsWidth):
+ (WebCore::ScrollView::contentsHeight):
+ (WebCore::ScrollView::isScrollViewScrollbar):
+ (WebCore::ScrollView::adjustScrollbars):
+ (WebCore::ScrollView::inWindow):
+ (WebCore::ScrollView::removeChild):
+ * platform/wx/WidgetWx.cpp:
+ * plugins/wx/PluginViewWx.cpp:
+ (WebCore::PluginView::setParentVisible):
+ (WebCore::PluginView::updatePluginWidget):
+
+2008-09-20 Timothy Hatcher <timothy@apple.com>
+
+ Fix the new Node Search button image to not be blurry.
+
+ * page/inspector/Images/nodeSearchButtons.png:
+
+2008-09-20 Matt Lilek <webkit@mattlilek.com>
+
+ Reviewed by Tim Hatcher.
+
+ Cut down some of the inspector javascript -> InspectorController glue code
+ with two new macros. Also rearrange the exposed function list to be grouped
+ by implementation and to all explicitly use the WebCore namespace.
+
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+
+2008-09-20 Matt Lilek <webkit@mattlilek.com>
+
+ Reviewed by Tim Hatcher.
+
+ Fix regression from my previous patch where the breadcrumbs bar was not displayed.
+
+ * page/inspector/inspector.css:
+
+2008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Eric.
+
+ Refactor HTMLImageLoader/SVGImageLoader code.
+ Move html/HTMLImageLoader.* to loader/ImageLoader.*
+
+ Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
+ SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * dom/Document.cpp:
+ (WebCore::Document::dispatchImageLoadEventSoon):
+ (WebCore::Document::removeImage):
+ (WebCore::Document::dispatchImageLoadEventsNow):
+ * dom/Document.h:
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::HTMLImageLoader):
+ (WebCore::HTMLImageLoader::~HTMLImageLoader):
+ (WebCore::HTMLImageLoader::sourceURI):
+ (WebCore::HTMLImageLoader::notifyFinished):
+ * html/HTMLImageLoader.h:
+ * loader/DocLoader.h:
+ * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
+ (WebCore::ImageLoader::ImageLoader):
+ (WebCore::ImageLoader::~ImageLoader):
+ (WebCore::ImageLoader::setImage):
+ (WebCore::ImageLoader::setLoadingImage):
+ (WebCore::ImageLoader::updateFromElement):
+ (WebCore::ImageLoader::notifyFinished):
+ * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::attach):
+ (WebCore::SVGImageElement::insertedIntoDocument):
+ (WebCore::SVGImageElement::imageSourceAttributeName):
+ * svg/SVGImageElement.h:
+ * svg/SVGImageLoader.cpp:
+ (WebCore::SVGImageLoader::SVGImageLoader):
+ (WebCore::SVGImageLoader::dispatchLoadEvent):
+ (WebCore::SVGImageLoader::sourceURI):
+ * svg/SVGImageLoader.h:
+
+2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Build fix.
+
+ [qtwebkit] ScrollBar build fix after r36684.
+ BackButtonPart was split into Start and End Part
+ ForwardButtonPart was split into Start and End Part
+
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::scPart):
+ (WebCore::scrollbarPart):
+ (WebCore::styleOptionSlider):
+
+2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Build fix.
+
+ [qtwebkit] Make qt_instance.cpp compile.
+ Revision of 36675 introduced getDOMStructure to give unique
+ structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
+ the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getRuntimeObject):
+
+2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ [svg] Change SVGLocatable to deal with a plain SVGElement
+ There is no requirement in the code that we have to have a
+ SVGStyledElement. Remove that artificial limitation and compile
+ with SVGElement.
+
+ * svg/SVGLocatable.cpp:
+ * svg/SVGLocatable.h:
+
+2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
+ management.
+
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::svgExtensions):
+ (WebCore::Document::accessSVGExtensions):
+ * dom/Document.h:
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Fix for crash in updateTransitions. Make sure to test for a style
+ being null when comparing two RenderStyles.
+
+ Reviewed by Oliver Hunt
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::PropertyWrapperGetter::equals):
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=20954
+
+ Roll out r36628 since it has caused horrible regressions with
+ animated GIF CPU usage.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::cacheFrame):
+ (WebCore::BitmapImage::startAnimation):
+ * platform/graphics/BitmapImage.h:
+ (WebCore::FrameData::FrameData):
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::FrameData::clear):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::FrameData::clear):
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::FrameData::clear):
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::FrameData::clear):
+
+2008-09-20 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20913
+ Avoid redudant includes
+
+ Document.h is included excessively such that a modification to Document.h (or
+ any of the header it includes itself) triggers a rebuild of many files
+ including the whole of SVG and a lot of the JS bindings.
+
+ Some of these includes can be avoided by only including Document.h where
+ necessary.
+
+ * bindings/js/JSAttrCustom.cpp:
+ * bindings/js/JSElementCustom.cpp:
+ * bindings/js/JSEventTargetBase.cpp:
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSEventTargetNode.cpp:
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * css/CSSCursorImageValue.cpp:
+ * css/SVGCSSStyleSelector.cpp:
+ * dom/make_names.pl:
+ * svg/SVGAnimateElement.h:
+ * svg/SVGAnimatedProperty.h:
+ (WebCore::::baseValue):
+ (WebCore::::setBaseValue):
+ (WebCore::::startAnimation):
+ (WebCore::::stopAnimation):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::accessDocumentSVGExtensions):
+ * svg/SVGElement.h:
+ * svg/SVGElementInstance.cpp:
+ * svg/SVGFitToViewBox.cpp:
+ * svg/SVGFontElement.cpp:
+ * svg/SVGFontFaceElement.cpp:
+ * svg/SVGLinearGradientElement.cpp:
+ * svg/SVGMPathElement.cpp:
+ * svg/SVGViewSpec.cpp:
+
+2008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Antti & Eric.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
+
+ Finish HTMLScriptElement / SVGScriptElement unification.
+ SVG <script> support is complete now, full SVGLoad event
+ respecting the influence of the externalResourcesRequired attribute
+ as well as SVGError event support. All other features shared with HTML.
+
+ Tests: fast/dom/HTMLScriptElement/script-reexecution.html
+ svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
+ svg/dom/SVGScriptElement/script-load-and-error-events.svg
+ svg/dom/SVGScriptElement/script-reexecution.svg
+ svg/dom/SVGScriptElement/script-set-href.svg
+
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElementData::ScriptElementData):
+ (WebCore::ScriptElementData::requestScript):
+ * dom/ScriptElement.h:
+ (WebCore::ScriptElementData::haveFiredLoadEvent):
+ (WebCore::ScriptElementData::setHaveFiredLoadEvent):
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::notifyFinished):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::dispatchLoadEvent):
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::setCreatedByParser):
+ (WebCore::SVGScriptElement::parseMappedAttribute):
+ (WebCore::SVGScriptElement::svgAttributeChanged):
+ (WebCore::SVGScriptElement::insertedIntoDocument):
+ (WebCore::SVGScriptElement::removedFromDocument):
+ (WebCore::SVGScriptElement::childrenChanged):
+ (WebCore::SVGScriptElement::isURLAttribute):
+ (WebCore::SVGScriptElement::finishParsingChildren):
+ (WebCore::SVGScriptElement::type):
+ (WebCore::SVGScriptElement::setType):
+ (WebCore::SVGScriptElement::haveLoadedRequiredResources):
+ (WebCore::SVGScriptElement::dispatchLoadEvent):
+ (WebCore::SVGScriptElement::dispatchErrorEvent):
+ * svg/SVGScriptElement.h:
+
+2008-09-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=20951
+ Typo in Position::getInlineBoxAndOffset()
+ and add an assertion
+
+ Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
+
+ * dom/Position.cpp:
+ (WebCore::Position::getInlineBoxAndOffset):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::positionForOffset):
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Add support for hit testing of all five possible scrollbar button placements.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::):
+ (WebCore::ScrollbarThemeMac::backButtonRect):
+ (WebCore::ScrollbarThemeMac::forwardButtonRect):
+ (WebCore::ScrollbarThemeMac::trackRect):
+ (WebCore::ScrollbarThemeMac::paintButton):
+
+2008-09-19 Darin Adler <darin@apple.com>
+
+ - try to fix Qt build
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
+ (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
+ * bridge/runtime_object.h: Ditto.
+
+2008-09-19 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Transition starts running when it shouldn't
+ https://bugs.webkit.org/show_bug.cgi?id=20892
+
+ When there is a transition and an animation on the
+ same element, make sure the animation wins.
+
+ The fix is to save the unanimated style when an animation is started.
+ Then, when starting a transition, check to see if there is a current
+ animation on the same prop. If so, use the unanimated style as the
+ fromStyle rather than the current style.
+
+ Test: animations/transition-and-animation-1.html
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ * page/animation/CompositeAnimation.h:
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::reset):
+ * page/animation/ImplicitAnimation.h:
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::hasAnimationForProperty):
+ * page/animation/KeyframeAnimation.h:
+ (WebCore::KeyframeAnimation::KeyframeAnimation):
+ (WebCore::KeyframeAnimation::unanimatedStyle):
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Add support for painting/hit testing of four possible scrollbar buttons.
+ The Windows themes simply ignore the two parts that they will never
+ show. The Mac theme also ignores the other two buttons for now.
+
+ The cross-platform base for all three themes, ScrollbarThemeComposite,
+ has all the proper support though.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::hitTest):
+ (WebCore::ScrollbarThemeComposite::invalidatePart):
+ * platform/ScrollbarThemeComposite.h:
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::backButtonRect):
+ (WebCore::ScrollbarThemeMac::forwardButtonRect):
+ (WebCore::ScrollbarThemeMac::paintButton):
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarThemeSafari::backButtonRect):
+ (WebCore::ScrollbarThemeSafari::forwardButtonRect):
+ (WebCore::ScrollbarThemeSafari::paintButton):
+ * platform/win/ScrollbarThemeSafari.h:
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::backButtonRect):
+ (WebCore::ScrollbarThemeWin::forwardButtonRect):
+ (WebCore::ScrollbarThemeWin::paintButton):
+ * platform/win/ScrollbarThemeWin.h:
+
+2008-09-19 Matt Lilek <webkit@mattlilek.com>
+
+ Reviewed by Tim Hatcher.
+
+ Bug 17772: Inspector should support point-and-click to select a node to inspect
+ https://bugs.webkit.org/show_bug.cgi?id=17772
+ <rdar://problem/5792395>
+
+ * English.lproj/localizedStrings.js:
+ * page/Chrome.cpp:
+ (WebCore::Chrome::mouseDidMoveOverElement):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ * page/InspectorController.cpp:
+ (WebCore::toggleNodeSearch):
+ (WebCore::searchingForNode):
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::toggleSearchForNodeInPage):
+ (WebCore::InspectorController::mouseDidMoveOverElement):
+ (WebCore::InspectorController::handleMousePressOnNode):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ * page/InspectorController.h:
+ (WebCore::InspectorController::searchingForNodeInPage):
+ * page/inspector/ElementsPanel.js:
+ * page/inspector/Images/nodeSearchButtons.png: Added.
+ * page/inspector/inspector.css:
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Add new scrollbar parts to be able to represent back and forward buttons
+ at either end of the scrollbar. The current scrollbar still just draws
+ a single button at either end, but the parts now exist.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollTypes.h:
+ (WebCore::):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::autoscrollTimerFired):
+ (WebCore::Scrollbar::pressedPartScrollDirection):
+ (WebCore::Scrollbar::pressedPartScrollGranularity):
+ (WebCore::Scrollbar::handleMouseMoveEvent):
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::buttonsPlacement):
+ (WebCore::ScrollbarTheme::invalidateParts):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ (WebCore::ScrollbarThemeComposite::hitTest):
+ (WebCore::ScrollbarThemeComposite::invalidatePart):
+ * platform/ScrollbarThemeComposite.h:
+
+2008-09-19 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for <rdar://problem/6231308> crash in AutoTableLayout
+
+ The code assumes later on that a TableSection's grid's row vector
+ will never be empty. So make 1 the minimum number of columns.
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::ensureRows):
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Add a new ScrollbarButtonsPlacement type for specifying where
+ the button arrows are in a scrollbar.
+
+ Read in the placement settings for Mac. Nothing is done with the
+ setting yet.
+
+ Add a new buttonsPlacement() method to ScrollbarTheme composite
+ so that the arrow settings can be obtained.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollTypes.h:
+ (WebCore::):
+ * platform/ScrollbarThemeComposite.h:
+ (WebCore::ScrollbarThemeComposite::buttonsPlacement):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::updateArrowPlacement):
+ (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
+
+2008-09-19 Steve Falkenburg <sfalken@apple.com>
+
+ Roll out r36626. It is causing variance in SunSpider numbers on XP.
+
+ Rubber stamped by Mark Rowe.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::isRunningOnVistaOrLater):
+ (WebCore::setSharedTimerFireTime):
+
+2008-09-19 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20942
+ Bug 20942: Repeated messages in resources don't collapse
+ - Now repeated messages in a resource's view are collapsed and a message
+ says how many were repeated.
+
+ * English.lproj/localizedStrings.js:
+ * manual-tests/inspector/multiple-console-messages.html:
+ * page/inspector/Console.js: Send all the messages to the resource's
+ view before possibly returning early if the message is a repeat.
+ * page/inspector/SourceFrame.js: Add the text about the message being
+ repeated, if it is, and increment it when necessary.
+
+2008-09-19 Chris Fleizach <cfleizach@apple.com>
+
+ Removed unnecessary #if
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Read in prefs for the scroll delay repeat values for buttons. Also
+ honor the option-click pref for jumping to the thumb when clicking in
+ the track.
+
+ Reviewed by Sam Weinig
+
+ * platform/mac/ScrollbarThemeMac.h:
+ * platform/mac/ScrollbarThemeMac.mm:
+ (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
+ (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
+ (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
+ (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
+ Set the initial button repeat delay to 0.5 for Mac.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mac/ScrollbarThemeMac.cpp: Removed.
+ * platform/mac/ScrollbarThemeMac.h:
+ (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
+ * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
+
+2008-09-19 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
+ make each distinct C++ class get a distinct JSC::Structure
+
+ + Fixed all cases where we were using a shared structure for multiple
+ C++ classes in WebCore. This still has to be done in JavaScriptCore.
+
+ + Got rid of cacheGlobalObject.
+
+ + Improved use of PassRefPtr in bindings code.
+
+ + Removed a couple cases where we were potentially allocating prototypes
+ inside a JSObject's construction process -- this can lead to trouble if
+ we do a garbage collection while an object is only partly constructed.
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
+ so we don't implicitly share the structure with other objects that use the object
+ prototype.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
+ don't need cacheGlobalObject any more.
+ (WebCore::cacheDOMConstructor): Ditto.
+
+ * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
+ Added functions and a function template for getting cached DOM constructors.
+ Removed cacheGlobalObject function template.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
+ we're taking ownership.
+ * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
+ we're taking ownership. Added constructor map.
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
+
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
+ we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
+ this is now done in only that one place.
+ (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
+ the passed-in DOMWindow. Code was moved here and changed to allocate unique
+ structures for both the window prototype and the window.
+ * bindings/js/JSDOMWindowShell.h: Ditto.
+
+ * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
+ have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
+ private/friend in JSEventTargetBase. Removed comments referring to defunct
+ macros. Changed JSEventTargetBasePrototype to get the prototype with the new
+ rather than its own copy of cacheGlobalObject (I missed this during pass 1).
+ Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
+
+ * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
+ for caching structures and prototypes.
+ (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
+ (WebCore::JSEventTargetNode::createPrototype): Added.
+ * bindings/js/JSEventTargetNode.h: Updated for above changes.
+
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems): Pass ExecState instead of prototype.
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter): Ditto.
+ * bindings/js/JSHTMLInputElementBase.cpp:
+ (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
+ * bindings/js/JSHTMLInputElementBase.h: Ditto.
+ * bindings/js/JSHTMLOptionElementConstructor.cpp:
+ (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
+ Create a unique structure instead of sharing.
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
+
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
+ a prototype rather than a structure. Made the use of inheritorID() here
+ explicit.
+ * bindings/js/JSInspectedObjectWrapper.h: Ditto.
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
+ * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
+
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
+ take an ExecState argument instead of a prototype. Create a unique
+ StructureID instead of sharing.
+ * bindings/js/JSNamedNodesCollection.h: Ditto.
+
+ * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
+ constructor that takes a prototype instead of a structure.
+ * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
+
+ * bindings/js/JSRGBColor.cpp:
+ (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
+ prototype; create a unique structure.
+ (WebCore::getJSRGBColor): Ditto.
+ * bindings/js/JSRGBColor.h: Ditto.
+
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
+ of explicit coding the idiom for making a new object.
+
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ Create a unique structure instead of the shared one.
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+ Ditto.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::clearWindowShell): Let the window shell's
+ setWindow function create the JSDOMWindow instead of doing it here.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
+ the structure and the wrapped object when creating wrappers.
+ Simplified some of the special cases for DOMWindow so they are
+ different only in ways the need to be. Eliminated the
+ JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
+ functions. Moved responsibility for creating the structure and
+ parent prototype out of the prototype constructor into the
+ createPrototype function. Removed the unused "DoNotCache" flag for
+ objects other than DOMWindow. Use getDOMConstructor instead of
+ cacheGlobalObject for constructors. Make each constructor have
+ a unique structure ID.
+
+ * bridge/objc/objc_runtime.h: Added createPrototype and changed the
+ name of the info member to s_info so we can use the standard DOM
+ binding macros to handl the prototype.
+ * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
+ Create a unique structure using getDOMStructure.
+
+ * bridge/runtime_array.cpp: Fixed namespacing a bit.
+ (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
+ getDOMStructure.
+ * bridge/runtime_array.h: Added createPrototype so getDOMStructure
+ will work.
+
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
+ getDOMStructure.
+ * bridge/runtime_object.h: Added createPrototype so getDOMStructure
+ will work.
+
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::restore): Let the window shell's
+ setWindow function create the JSDOMWindow instead of doing it here.
+
+ * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
+
+2008-09-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ This optimization was suggested by Daniel Fenwick
+
+ - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
+
+ Specifying LTR paragraph directionality when measuring runs of RTL text
+ resulted in typically two CTRuns being generated for every run instead
+ of one, due to the leading space being reordered to the left.
+
+ * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
+ getCFStringAttributes() and changed m_CFStringAttributes from an array
+ to a single value.
+ * platform/graphics/mac/CoreTextController.cpp:
+ (WebCore::CoreTextController::CoreTextController): Added a
+ mayUseNaturalWritingDirection parameter.
+ (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
+ to force the bidi embedding level whenever
+ m_mayUseNaturalWritingDirectrion is false. Since this is now a common
+ case, made the typesetter options dictionaries static.
+ * platform/graphics/mac/CoreTextController.h:
+ * platform/graphics/mac/FontMacCoreText.cpp:
+ (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
+ (WebCore::Font::floatWidthForComplexText): Changed to allow the
+ CoreTextController to not set the writing direction.
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
+ parameter and the paragraph style attribute.
+
+2008-09-19 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig
+
+ https://bugs.webkit.org/show_bug.cgi?id=20941
+
+ Incorrect height calculation for replaced element inside nested
+ positioned elements (where the inner has a percentage height and
+ the outer implicitly has a fixed height because of explicit top/bottom
+ values).
+
+ Added fast/block/positioning/replaced-inside-top-bottom.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::availableHeightUsing):
+
+2008-09-19 Chris Fleizach <cfleizach@apple.com>
+
+ Fix Tiger bustage
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+
+2008-09-18 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6211041> Expose legend tag in accessibility
+
+ Exposes the legend tag as the titleUIElement of a fieldset
+
+ Test: accessibility/legend.html
+
+ * page/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isFieldset):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::isFieldset):
+ (WebCore::AccessibilityRenderObject::titleUIElement):
+ * page/AccessibilityRenderObject.h:
+ * rendering/RenderFieldset.h:
+
+2008-09-19 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
+
+ Implement a few AX API methods that will be called by AppKit, which will
+ speed up access to accessibility objects
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
+ (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
+ (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
+
+2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [qtwebkit] Set the m_should* flags to their proper value on entry
+ With plugins it was possible that we finished a job twice. This was
+ some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
+ setting the flag to (m_loadMode == LoadDeferred) they will always have
+ the right value and we will not send responses twice.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+
+2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Hausmann.
+
+ [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
+ Handle text decoding errors before instructing the parser to parse. We
+ have converted the text to QString and all encoding errors are gone and
+ the parser will not be able to detect them. So handle them before parsing.
+
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::doWrite):
+
+2008-09-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
+ make each distinct C++ class get a distinct JSC::Structure
+
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
+ instead of DOMExceptionTranslator.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::getCachedDOMObjectWrapper): Updated function name.
+ (WebCore::cacheDOMObjectWrapper): Ditto.
+ (WebCore::forgetDOMObject): Ditto.
+ (WebCore::getCachedDOMNodeWrapper): Ditto.
+ (WebCore::forgetDOMNode): Ditto.
+ (WebCore::cacheDOMNodeWrapper): Ditto.
+ (WebCore::forgetAllDOMNodesForDocument): Ditto.
+ (WebCore::markDOMNodesForDocument): Ditto.
+ (WebCore::updateDOMNodeDocument): Ditto.
+ (WebCore::getCachedDOMStructure): Added.
+ (WebCore::createDOMStructure): Ditto.
+
+ * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
+ class and replace the static member functions with non-member
+ functions. Added many other functions for getting at structures,
+ prototypes, wrappers, and creating them. Also moved the
+ cacheGlobalObject function here from JavaScriptCore; eventually
+ I'll remove that once I get rid of the remaining callers. Also
+ removed the DOMExceptionTranslator class.
+
+ * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
+ and put one of those maps in each window.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::markDOMObjectWrapper): Updated for function name change.
+ (WebCore::JSDOMWindow::mark): Added code to mark all the structures
+ in the structure map.
+
+ * bindings/js/JSEventTargetNode.cpp:
+ (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
+ a structure instead of a prototype.
+ * bindings/js/JSEventTargetNode.h: Ditto.
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
+
+ * bindings/js/JSHTMLInputElementBase.cpp:
+ (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
+ use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
+ structure instead of a prototype.
+ * bindings/js/JSHTMLInputElementBase.h: Removed use of the
+ JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
+ to take a structure instead of a prototype. Created a dummy prototype
+ class that causes the HTMLInputElement prototype to have the
+ HTMLElement prototype.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
+ structures instead of prototypes. Changed the prototype self function
+ to use the getDOMPrototype function -- later we can eliminate it and
+ have callers invoke getDOMPrototype directly instead. Updated other
+ functions that have name changes. Added code to generate the
+ createPrototype member function. Changed use of cacheGlobalObject to
+ get it from the WebCore namespace instead of the JSC namespace.
+ Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
+
+ * dom/Document.cpp:
+ (WebCore::Document::~Document): Updated for name change and also
+ removed unnecessary JSLock use -- there's no need to lock around this.
+ * dom/Node.cpp:
+ (WebCore::Node::setDocument): Ditto.
+
+ * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
+ instead of calling new directly.
+
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS): Updated for function name changes and used the
+ CREATE_DOM_OBJECT_WRAPPER macro.
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS): Ditto.
+ * bindings/js/JSCanvasPixelArrayCustom.cpp:
+ (WebCore::toJS): Ditto.
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::mark): Ditto.
+ (WebCore::toJS): Ditto.
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::toJSNewlyCreated): Ditto.
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS): Ditto.
+ * bindings/js/JSEventTargetBase.cpp:
+ (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
+ of DOMExceptionTranslator.
+ (WebCore::toJS): Updated for function name changes and used the
+ CREATE_DOM_OBJECT_WRAPPER macro.
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::toJS): Ditto.
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::mark): Ditto.
+ (WebCore::createWrapper): Ditto.
+ (WebCore::toJS): Ditto.
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS): Ditto.
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS): Ditto.
+ (WebCore::JSStyleSheet::mark): Ditto.
+ * bindings/js/JSTextCustom.cpp:
+ (WebCore::toJSNewlyCreated): Ditto.
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::constructXMLHttpRequest): Ditto.
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::mark): Ditto.
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::constructXSLTProcessor): Ditto.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::finishedWithEvent): Ditto.
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
+ (WebCore::XMLHttpRequest::dropProtection): Ditto.
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ This patch gets a viewless scrollbar working on Mac. It is turned off
+ by default. Hit testing works. For now the scrollbar just paints ugly
+ debug rects in the place of the buttons, track and thumb. It does match
+ Aqua metrics though.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passMousePressEventToScrollbar):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::paint):
+ (WebCore::ScrollbarThemeComposite::trackPosition):
+ * platform/ScrollbarThemeComposite.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::addChild):
+ * platform/mac/ScrollbarThemeMac.cpp:
+ (WebCore::):
+ (WebCore::ScrollbarThemeMac::hasButtons):
+ (WebCore::ScrollbarThemeMac::hasThumb):
+ (WebCore::buttonRepaintRect):
+ (WebCore::ScrollbarThemeMac::backButtonRect):
+ (WebCore::ScrollbarThemeMac::forwardButtonRect):
+ (WebCore::trackRepaintRect):
+ (WebCore::ScrollbarThemeMac::trackRect):
+ (WebCore::ScrollbarThemeMac::minimumThumbLength):
+ (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
+ (WebCore::ScrollbarThemeMac::paintTrack):
+ (WebCore::ScrollbarThemeMac::paintButton):
+ (WebCore::ScrollbarThemeMac::paintThumb):
+ * platform/mac/ScrollbarThemeMac.h:
+ (WebCore::ScrollbarThemeMac::supportsControlTints):
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::ScrollbarThemeQt::trackPosition):
+
+2008-09-18 Collin Jackson <collinj@webkit.org>
+
+ Build fix; added missing header file to GNUmakefile.am
+
+ * GNUmakefile.am:
+
+2008-09-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David "the Hair" Hyatt.
+
+ Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/DataRef.h: Removed.
+ * rendering/SVGRenderStyle.cpp: Removed.
+ * rendering/SVGRenderStyle.h: Removed.
+ * rendering/SVGRenderStyleDefs.cpp: Removed.
+ * rendering/SVGRenderStyleDefs.h: Removed.
+ * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
+ * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
+ * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
+ * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
+ * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
+
+2008-09-18 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a means of clearing a FrameTree's name.
+
+ * WebCore.base.exp:
+ * page/FrameTree.cpp:
+ (WebCore::FrameTree::clearName):
+ * page/FrameTree.h:
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Eliminate addToSuperview from Widget, since it was only called
+ by ScrollViewMac's addChild method. Just shift the original body
+ of addToSuperView into addChild.
+
+ Reviewed by Sam Weinig
+
+ * platform/Widget.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::addChild):
+ * platform/mac/WidgetMac.mm:
+
+2008-09-18 Collin Jackson <collinj@webkit.org>
+
+ Reviewed by Antti Koivisto and Mark Rowe.
+
+ Test: http/tests/misc/dns-prefetch-control.html
+
+ https://bugs.webkit.org/show_bug.cgi?id=20690
+
+ Invoke WebCore::prefetchDNS() on host names that appear in
+ in the href of hyperlinks and <link rel="dns-prefetch">. This
+ can be used to implement DNS prefetching.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::processHttpEquiv):
+ (WebCore::Document::setSecurityOrigin):
+ (WebCore::Document::initDNSPrefetch):
+ (WebCore::Document::parseDNSPrefetchControlHeader):
+ * dom/Document.h:
+ (WebCore::Document::isDNSPrefetchEnabled):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::parseMappedAttribute):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::HTMLLinkElement):
+ (WebCore::HTMLLinkElement::parseMappedAttribute):
+ (WebCore::HTMLLinkElement::tokenizeRelAttribute):
+ (WebCore::HTMLLinkElement::process):
+ * html/HTMLLinkElement.h:
+ * html/PreloadScanner.cpp:
+ (WebCore::PreloadScanner::processAttribute):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::begin):
+ * platform/gtk/TemporaryLinkStubs.cpp:
+ (WebCore::prefetchDNS):
+ * platform/network/DNS.h: Added.
+ * platform/network/cf/DNSCFNet.cpp: Added.
+ (WebCore::prefetchDNS):
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (WebCore::prefetchDNS):
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (WebCore::prefetchDNS):
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Eliminate the convertToScreenCoordinate method on Widget, since
+ ScrollView has redundant methods that already do the same thing.
+
+ Reviewed by Sam Weinig
+
+ * editing/mac/SelectionControllerMac.mm:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+ * platform/Widget.h:
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::containingWindow):
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Move to only one constructor for Widgets. Rename data to m_data and make
+ it have an #ifdef only for platforms that have platform-specific data (Mac
+ and Gtk).
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * platform/Widget.cpp:
+ (WebCore::Widget::init):
+ * platform/Widget.h:
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::~Widget):
+ (WebCore::Widget::cursor):
+ (WebCore::Widget::setCursor):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::~Widget):
+ (WebCore::Widget::addToSuperview):
+ (WebCore::Widget::removeFromSuperview):
+ (WebCore::Widget::beforeMouseDown):
+ (WebCore::Widget::afterMouseDown):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::Widget::Widget):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::Widget):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::Widget):
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
+ was no reason for it to be on Widget. This change eliminates Qt ifdefs
+ from Widget.
+
+ Reviewed by Sam Weinig
+
+ * bindings/js/ScriptControllerQt.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::WidgetPrivate::WidgetPrivate):
+ (WebCore::WidgetPrivate::~WidgetPrivate):
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::~Widget):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::PluginView):
+ * plugins/PluginView.h:
+ (WebCore::PluginView::isNPAPIPlugin):
+ (WebCore::PluginView::setIsNPAPIPlugin):
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Make geometryChanged() cross-platform on Widget. GTK and WIN platform
+ ifdefs are now gone from Widget!
+
+ Reviewed by Sam Weinig
+
+ * platform/Widget.h:
+ (WebCore::Widget::geometryChanged):
+ * platform/gtk/WidgetGtk.cpp:
+ * platform/qt/WidgetQt.cpp:
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Consolidate convertTo/FromContainingWindow methods so that all platforms
+ but Mac share the same code.
+
+ Move convertSelfToChild and convertChildToSelf to ScrollView, since
+ Widget should know nothing about children. Make the methods cross-platform
+ on ScrollView.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::convertChildToSelf):
+ (WebCore::ScrollView::convertSelfToChild):
+ * platform/Widget.cpp:
+ (WebCore::Widget::convertToContainingWindow):
+ (WebCore::Widget::convertFromContainingWindow):
+ * platform/Widget.h:
+ (WebCore::Widget::geometryChanged):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::isScrollViewScrollbar):
+ * platform/gtk/WidgetGtk.cpp:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::isScrollViewScrollbar):
+ * platform/mac/WidgetMac.mm:
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::isScrollViewScrollbar):
+ * platform/qt/WidgetQt.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::isScrollViewScrollbar):
+ * platform/win/WidgetWin.cpp:
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Make the conversion methods that go to and from some containingWindow
+ cross-platform. Implement them on Mac.
+
+ Reviewed by Sam Weinig
+
+ * platform/Widget.h:
+ (WebCore::Widget::setContainingWindow):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertFromContainingWindow):
+ (WebCore::Widget::convertToContainingWindow):
+
+2008-09-18 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by David "Yeah-yeah" Hyatt.
+
+ Cleanup RenderStyle.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/style/CounterContent.h:
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+
+2008-09-18 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Sam Weinig
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
+ Now TransformOperations and AnimationList no longer
+ inherit from Vector<> but rather have API to access.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::computedTransform):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::createTransformOperations):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::validateTransformFunctionList):
+ * page/animation/KeyframeAnimation.cpp:
+ (WebCore::KeyframeAnimation::validateTransformFunctionList):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateReflectionStyle):
+ * rendering/style/AnimationList.cpp:
+ (WebCore::AnimationList::operator==):
+ * rendering/style/AnimationList.h:
+ (WebCore::AnimationList::operator!=):
+ (WebCore::AnimationList::size):
+ (WebCore::AnimationList::isEmpty):
+ (WebCore::AnimationList::resize):
+ (WebCore::AnimationList::remove):
+ (WebCore::AnimationList::append):
+ (WebCore::AnimationList::animation):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::StyleRareNonInheritedData::updateKeyframes):
+ (WebCore::RenderStyle::applyTransform):
+ (WebCore::RenderStyle::adjustAnimations):
+ (WebCore::RenderStyle::adjustTransitions):
+ (WebCore::RenderStyle::transitionForProperty):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::hasTransform):
+ * rendering/style/TransformOperations.cpp:
+ (WebCore::TransformOperations::TransformOperations):
+ (WebCore::TransformOperations::operator==):
+ * rendering/style/TransformOperations.h:
+ (WebCore::TransformOperations::apply):
+ (WebCore::TransformOperations::operations):
+
+2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Build fix.
+
+ [qt] Build fixes after the Widget/ScrollView cleanup
+ topLevel() is now root()
+
+
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
+ (WebCore::ScrollView::addChild):
+ (WebCore::ScrollView::removeChild):
+
+2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20437
+
+ XMLTokenizer.cpp used to contain two different implementations. One was using
+ libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
+ separating the two implementations from each other.
+ Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
+ was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
+ XMLTokenizerLibxml2.cpp. There should be no functional changes.
+
+ Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
+ to work.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * dom/XMLTokenizer.cpp:
+ (WebCore::isScriptElement):
+ (WebCore::castToScriptElement):
+ (WebCore::XMLTokenizer::setCurrentNode):
+ (WebCore::XMLTokenizer::write):
+ (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
+ (WebCore::XMLTokenizer::enterText):
+ (WebCore::toString):
+ (WebCore::XMLTokenizer::exitText):
+ (WebCore::XMLTokenizer::end):
+ (WebCore::XMLTokenizer::insertErrorMessageBlock):
+ * dom/XMLTokenizer.h:
+ (WebCore::XMLTokenizer::wellFormed):
+ * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
+ (WebCore::createMemoryParser):
+ (WebCore::XMLTokenizer::XMLTokenizer):
+ (WebCore::XMLTokenizer::~XMLTokenizer):
+ (WebCore::XMLTokenizer::doWrite):
+ (WebCore::ignorableWhitespaceHandler):
+ (WebCore::XMLTokenizer::initializeParserContext):
+ (WebCore::XMLTokenizer::doEnd):
+ (WebCore::XMLTokenizer::lineNumber):
+ (WebCore::XMLTokenizer::columnNumber):
+ (WebCore::XMLTokenizer::stopParsing):
+ (WebCore::XMLTokenizer::resumeParsing):
+ (WebCore::parseXMLDocumentFragment):
+ (WebCore::attributesStartElementNsHandler):
+ (WebCore::parseAttributes):
+ * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
+ (WebCore::EntityResolver::resolveUndeclaredEntity):
+ (WebCore::XMLTokenizer::XMLTokenizer):
+ (WebCore::XMLTokenizer::~XMLTokenizer):
+ (WebCore::XMLTokenizer::doWrite):
+ (WebCore::XMLTokenizer::initializeParserContext):
+ (WebCore::XMLTokenizer::doEnd):
+ (WebCore::XMLTokenizer::lineNumber):
+ (WebCore::XMLTokenizer::columnNumber):
+ (WebCore::XMLTokenizer::stopParsing):
+ (WebCore::XMLTokenizer::resumeParsing):
+ (WebCore::parseXMLDocumentFragment):
+ (WebCore::attributesStartElementNsHandler):
+ (WebCore::parseAttributes):
+ (WebCore::):
+
+2008-09-18 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Build fix for non-Mac builds.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText):
+
+2008-09-18 Peter Kasting <pkasting@google.com>
+
+ Reviewed by hyatt. Landed by eseidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20745
+ Animated GIFs do not animate properly with (at least) CG.
+
+ * WebCore\platform\graphics\BitmapImage.cpp:
+ * WebCore\platform\graphics\BitmapImage.h:
+ * WebCore\platform\graphics\cairo\ImageCairo.cpp:
+ * WebCore\platform\graphics\cg\ImageCG.cpp:
+ * WebCore\platform\graphics\qt\ImageQt.cpp:
+ * WebCore\platform\graphics\wx\ImageWx.cpp:
+
+2008-09-18 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin
+
+ <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
+ role specifies otherwise
+
+ If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
+
+ Test: accessibility/table-with-aria-role.html
+
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+ (WebCore::AccessibilityTable::addChildren):
+ (WebCore::AccessibilityTable::roleValue):
+ (WebCore::AccessibilityTable::accessibilityIsIgnored):
+ (WebCore::AccessibilityTable::title):
+ * page/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
+ (WebCore::AccessibilityTableCell::isTableCell):
+ (WebCore::AccessibilityTableCell::roleValue):
+ * page/AccessibilityTableCell.h:
+ * page/AccessibilityTableRow.cpp:
+ (WebCore::AccessibilityTableRow::roleValue):
+ (WebCore::AccessibilityTableRow::isTableRow):
+ (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
+ * page/AccessibilityTableRow.h:
+
+2008-09-18 Steve Falkenburg <sfalken@apple.com>
+
+ Use higher-resolution timers on all variants of Windows.
+
+ Reviewed by Darin Adler.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::setSharedTimerFireTime):
+
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Make containingWindow() and setContainingWindow() cross-platform.
+ Add a root() function cross-platform so Qt doesn't have to
+ define its own.
+
+ Reviewed by Darin Adler
+
+ * platform/Widget.cpp:
+ (WebCore::Widget::root):
+ * platform/Widget.h:
+ (WebCore::Widget::setContainingWindow):
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::containingWindow):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::addChild):
+ (WebCore::ScrollView::removeChild):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::containingWindow):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::Widget::invalidateRect):
+ (WebCore::Widget::containingWindow):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::~Widget):
+ (WebCore::Widget::containingWindow):
+
+2008-09-18 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
+ parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
+ dashboard-region=
+ and corresponding: <rdar://problem/6174100>
+
+ This patch makes CSSParserValue::createCSSValue handle unknown
+ identifiers.
+
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserValue::createCSSValue): If we have an identifier
+ with no id (an unknown identifier) create a CSSPrimitiveValue of
+ type CSS_PARSER_IDENTIFIER
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cssText):
+ (WebCore::CSSPrimitiveValue::parserValue):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::):
+
+2008-09-18 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by David "I'd prefer not" Hyatt.
+
+ More the remaining class out of RenderStyle.h/cpp
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::CursorData::CursorData):
+ (WebCore::CursorData::operator==):
+ (WebCore::CursorData::operator!=):
+ * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::CursorList::operator[]):
+ (WebCore::CursorList::CursorList):
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::deref):
+ (WebCore::RenderStyle::hasOneRef):
+ (WebCore::RenderStyle::InheritedFlags::operator!=):
+ (WebCore::RenderStyle::NonInheritedFlags::operator!=):
+ (WebCore::RenderStyle::hasBackground):
+ (WebCore::RenderStyle::outlineWidth):
+ (WebCore::RenderStyle::autoWrap):
+ (WebCore::RenderStyle::preserveNewline):
+ (WebCore::RenderStyle::collapseWhiteSpace):
+ (WebCore::RenderStyle::isCollapsibleWhiteSpace):
+ (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
+ (WebCore::RenderStyle::breakWords):
+ (WebCore::RenderStyle::outlineOffset):
+ (WebCore::RenderStyle::setLeft):
+ (WebCore::RenderStyle::setRight):
+ (WebCore::RenderStyle::setTop):
+ (WebCore::RenderStyle::setBottom):
+ (WebCore::RenderStyle::setDashboardRegion):
+ (WebCore::RenderStyle::setBackgroundColor):
+ (WebCore::RenderStyle::setBorderImage):
+ (WebCore::RenderStyle::setBorderRadius):
+ (WebCore::RenderStyle::setFontDescription):
+ (WebCore::RenderStyle::adjustBackgroundLayers):
+ (WebCore::RenderStyle::adjustMaskLayers):
+ (WebCore::RenderStyle::deleteBindingURIs):
+ (WebCore::RenderStyle::inheritBindingURIs):
+ (WebCore::RenderStyle::isDisplayReplacedType):
+ (WebCore::RenderStyle::isDisplayInlineType):
+ (WebCore::RenderStyle::isOriginalDisplayInlineType):
+ * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleInheritedData::operator!=):
+ * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleRareInheritedData::operator!=):
+ * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
+ * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Move the concept of suppression invalidation on Widgets to Scrollbar
+ instead. Since this is only used by Scrollbars, there is no need for
+ it to be on Widget.
+
+ Reviewed by Sam Weinig
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ (WebCore::Scrollbar::invalidateRect):
+ * platform/Scrollbar.h:
+ (WebCore::Scrollbar::suppressInvalidation):
+ (WebCore::Scrollbar::setSuppressInvalidation):
+ * platform/Widget.h:
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::invalidateRect):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::WidgetPrivate::WidgetPrivate):
+ (WebCore::Widget::invalidateRect):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::invalidateRect):
+
+2008-09-18 David Hyatt <hyatt@apple.com>
+
+ Make invalidate() on Widget non-virtual and make it just call
+ invalidateRect() on the boundsGeometry() of the Widget.
+
+ Reviewed by Dan Bernstein
+
+ * platform/Widget.h:
+ (WebCore::Widget::boundsGeometry):
+ (WebCore::Widget::invalidate):
+ * platform/gtk/WidgetGtk.cpp:
+ * platform/mac/WidgetMac.mm:
+ * platform/qt/WidgetQt.cpp:
+ * platform/win/WidgetWin.cpp:
+ * platform/wx/WidgetWx.cpp:
+
+2008-09-18 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped in exile by David Hyatt.
+
+ Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
+ KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
+ RenderStyle.h/cpp
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * css/CSSStyleSelector.cpp:
+ * css/CSSStyleSelector.h:
+ * page/animation/CompositeAnimation.cpp:
+ * page/animation/KeyframeAnimation.cpp:
+ * page/animation/KeyframeAnimation.h:
+ * rendering/RenderCounter.h:
+ * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
+ (WebCore::Animation::~Animation):
+ (WebCore::Animation::animationsMatch):
+ (WebCore::Animation::keyframeList):
+ (WebCore::Animation::setAnimationKeyframe):
+ * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
+ * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
+ * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::BindingURI::operator!=):
+ * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::ContentData::ContentData):
+ (WebCore::ContentData::~ContentData):
+ * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::CounterContent::CounterContent):
+ * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::CounterDirectives::CounterDirectives):
+ * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
+ (WebCore::KeyframeList::insert):
+ * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::KeyframeValue::KeyframeValue):
+ (WebCore::KeyframeList::create):
+ (WebCore::KeyframeList::KeyframeList):
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+ * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::ShadowData::ShadowData):
+ (WebCore::ShadowData::~ShadowData):
+ (WebCore::ShadowData::operator!=):
+ * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleFlexibleBoxData::operator!=):
+ * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::TimingFunction::TimingFunction):
+ (WebCore::TimingFunction::operator==):
+
+2008-09-18 Adele Peterson <adele@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix RenderStyle leaks.
+
+ * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
+
+2008-09-18 Kevin McCullough <kmccullough@apple.com>
+
+ Accidentally checked in code.
+
+ * html/HTMLElementFactory.cpp:
+ (WebCore::frameConstructor):
+ (WebCore::iframeConstructor):
+
+2008-09-18 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ <rdar://problem/5722310> gracefully handle too many console messages
+ (20904)
+ - Keep track of the most previous message and then compare it to the
+ subsequent messages as they come in. If there are multiple of the same
+ message create a count that indicates the current number.
+
+ * manual-tests/inspector/multiple-console-messages.html: Added.
+ * page/inspector/Console.js:
+ * page/inspector/inspector.css:
+
+2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
+
+ Reviewed by Alp Toker
+
+ https://bugs.webkit.org/show_bug.cgi?id=20830
+ [GTK] Don't use deprecated pango API
+
+ Replace deprecated pango functions with non-deprecated ones for newer
+ versions of pango
+
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::getDefaultPangoLayout):
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2008-09-18 Alp Toker <alp@nuanti.com>
+
+ Build fix for r36587. Add new sources (and sort the lists).
+
+ * GNUmakefile.am:
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Fix Windows build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-09-17 David Hyatt <hyatt@apple.com>
+
+ Switch back to having frameGeometry be virtual in order to keep Mac
+ the way it used to be.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * platform/Widget.cpp:
+ (WebCore::Widget::setParent):
+ * platform/Widget.h:
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::frameGeometry):
+ (WebCore::Widget::setFrameGeometry):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::frameGeometry):
+ (WebCore::Widget::setFrameGeometry):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::Widget::frameGeometry):
+ (WebCore::Widget::setFrameGeometry):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::frameGeometry):
+ (WebCore::Widget::setFrameGeometry):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::frameGeometry):
+ (WebCore::Widget::setFrameGeometry):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::setFrameGeometry):
+ (WebCore::PluginView::geometryChanged):
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix assertion in DOMWindow::adjustWindowRect where we were passing
+ in garbage values and were getting lucky that they were a not Nan.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::windowProtoFuncOpen):
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Fix gtk build.
+
+ * rendering/style/MatrixTransformOperation.cpp:
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped with love by David Hyatt.
+
+ Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
+ ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
+ TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * css/CSSStyleSelector.cpp:
+ * page/animation/AnimationBase.cpp:
+ (WebCore::solveEpsilon):
+ * rendering/RenderLayer.cpp:
+ * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
+ * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::MatrixTransformOperation::MatrixTransformOperation):
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::RotateTransformOperation::RotateTransformOperation):
+ * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::ScaleTransformOperation::ScaleTransformOperation):
+ * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::SkewTransformOperation::SkewTransformOperation):
+ * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleTransformData::operator!=):
+ * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::TransformOperation::):
+ * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
+ (WebCore::TransformOperations::TransformOperations):
+ * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::TransformOperations::operator!=):
+ * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::TranslateTransformOperation::TranslateTransformOperation):
+
+2008-09-17 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
+
+2008-09-17 David Hyatt <hyatt@apple.com>
+
+ (1) Inline a bunch of methods for accessing frame geometry.
+ (2) Make sure frameGeometry() works even when you have no underlying
+ native widget.
+ (3) Cache a frame geometry rect cross-platform (even for widgets that
+ have underlying native widgets.
+ (4) PluginView's updateWindow call is now a virtual function on Widget.
+
+ Reviewed by Sam Weinig
+
+ * ChangeLog:
+ * WebCore.base.exp:
+ * platform/Widget.cpp:
+ (WebCore::Widget::setFrameGeometry):
+ * platform/Widget.h:
+ (WebCore::Widget::x):
+ (WebCore::Widget::y):
+ (WebCore::Widget::width):
+ (WebCore::Widget::height):
+ (WebCore::Widget::size):
+ (WebCore::Widget::pos):
+ (WebCore::Widget::frameGeometry):
+ (WebCore::Widget::resize):
+ (WebCore::Widget::move):
+ (WebCore::Widget::isFrameView):
+ (WebCore::Widget::windowClipRect):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::~Widget):
+ (WebCore::Widget::updatePlatformWidgetFrameGeometry):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::updatePlatformWidgetFrameGeometry):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::setFrameGeometry):
+ (WebCore::PluginView::geometryChanged):
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
+ * plugins/wx/PluginViewWx.cpp:
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by David "Waterman" Hyatt.
+
+ Fix a leak of NSViews in WidgetMac.mm.
+
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::~Widget):
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by David Waterman Hyatt.
+
+ Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
+ StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::FillLayer::operator!=):
+ (WebCore::FillLayer::hasImage):
+ (WebCore::FillLayer::hasFixedImage):
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ (WebCore::StyleBackgroundData::StyleBackgroundData):
+ * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleBackgroundData::~StyleBackgroundData):
+ (WebCore::StyleBackgroundData::operator!=):
+ * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleBoxData::operator!=):
+ * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleDashboardRegion::operator!=):
+ * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleMarqueeData::operator!=):
+ * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleMultiColData::operator!=):
+ (WebCore::StyleMultiColData::ruleWidth):
+ * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleVisualData::operator==):
+
+2008-09-17 David Hyatt <hyatt@apple.com>
+
+ Remove WidgetClient from Widget.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/Widget.h:
+ (WebCore::Widget::setClient):
+ (WebCore::Widget::client):
+ * platform/WidgetClient.h: Removed.
+ * platform/gtk/WidgetGtk.cpp:
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::show):
+ (WebCore::Widget::hide):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::WidgetPrivate::WidgetPrivate):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::Widget):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::Widget):
+
+2008-09-17 David Hyatt <hyatt@apple.com>
+
+ Remove isEnabled/setEnabled from Widget. The concept of being enabled now
+ only applies to Scrollbars so the method has been moved there and made
+ cross-platform. Scrollbar subclasses that have a corresponding native
+ widget can subclass setEnabled to change the enabled state of the native
+ widget.
+
+ Reviewed by Sam Weinig & Darin Adler
+
+ * WebCore.base.exp:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ * platform/Scrollbar.h:
+ (WebCore::Scrollbar::enabled):
+ (WebCore::Scrollbar::setEnabled):
+ * platform/Widget.h:
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::setEnabled):
+ * platform/gtk/ScrollbarGtk.h:
+ * platform/gtk/WidgetGtk.cpp:
+ * platform/mac/ScrollbarMac.h:
+ * platform/mac/ScrollbarMac.mm:
+ (WebCore::ScrollbarMac::scrollbarHit):
+ (WebCore::ScrollbarMac::setEnabled):
+ * platform/mac/WidgetMac.mm:
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::WidgetPrivate::WidgetPrivate):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::Widget):
+ * platform/wx/WidgetWx.cpp:
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by David Hyatt.
+
+ Split all RenderStyle enums into their own file.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/style/BorderValue.h:
+ * rendering/style/CollapsedBorderValue.h:
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::):
+ * rendering/style/StyleCachedImage.h:
+ * rendering/style/StyleGeneratedImage.h:
+ * rendering/style/StyleImage.h:
+
+2008-09-17 Steve Falkenburg <sfalken@apple.com>
+
+ Add back isFrameView check to fix failed assertion during scroll bar teardown.
+
+ Reviewed by Dave Hyatt.
+
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::setParent):
+
+2008-09-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mac build fix
+
+ * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
+
+2008-09-17 Steve Falkenburg <sfalken@apple.com>
+
+ Fix build.
+
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::setParentVisible):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::init):
+
+2008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon.
+
+ [QtWebKit] Implement error handling in TextCodecQt::decode
+ Use the QTextCodec parsing state to set the sawError out variable. This
+ is needed to pass Test 70 of acid3. The test case for this bug is
+ fast/encoding/invalid-xml.html that is now partially passed. To pass
+ it completely the Qt text codecs need to be adjusted to have proper
+ error handling.
+
+ * platform/text/qt/TextCodecQt.cpp:
+ (WebCore::TextCodecQt::decode):
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Dave Hyatt.
+
+ Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
+ out of RenderStyle.h/cpp
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::BorderData::hasBorderRadius):
+ (WebCore::BorderData::borderLeftWidth):
+ (WebCore::BorderData::borderRightWidth):
+ (WebCore::BorderData::borderTopWidth):
+ (WebCore::BorderData::borderBottomWidth):
+ (WebCore::BorderData::operator!=):
+ * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::):
+ (WebCore::BorderValue::BorderValue):
+ (WebCore::BorderValue::nonZero):
+ (WebCore::BorderValue::isTransparent):
+ (WebCore::BorderValue::isVisible):
+ * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::):
+ (WebCore::CollapsedBorderValue::CollapsedBorderValue):
+ (WebCore::CollapsedBorderValue::operator==):
+ * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::OutlineValue::OutlineValue):
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
+ * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
+ (WebCore::StyleSurroundData::operator!=):
+
+2008-09-17 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ This is a better fix for: Invalid CSS code crashes Safari
+ https://bugs.webkit.org/show_bug.cgi?id=20512
+
+ The spec indicates that the only valid input for a counter is a
+ number or an identifier. So that is exactly what we allow.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseCounterContent):
+
+2008-09-17 Alp Toker <alp@nuanti.com>
+
+ GTK+ build fix. Adapt to use PlatformWidget functions.
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollViewScrollbar::geometryChanged):
+ (WebCore::ScrollView::addChild):
+ (WebCore::ScrollView::removeChild):
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::ScrollbarGtk):
+ (ScrollbarGtk::~ScrollbarGtk):
+ (ScrollbarGtk::geometryChanged):
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ Patch for <rdar://problem/6133884>
+ Calling window.resizeTo() on a subframe shouldn't change the window size
+
+ Test: fast/dom/Window/window-resize-and-move-sub-frame.html
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::moveBy):
+ (WebCore::DOMWindow::moveTo):
+ (WebCore::DOMWindow::resizeBy):
+ (WebCore::DOMWindow::resizeTo):
+
+2008-09-17 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
+ code crashes Safari
+ and corresponding: <rdar://problem/6173832>
+
+ Reading through the spec, it seems like a function is not valid
+ input for a counter. So this patch checks for that and bails in the
+ case of invalid input.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseCounterContent):
+
+2008-09-17 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Fix <rdar://problem/6227089>
+ Crash in WebCore::Frame::setNeedsReapplyStyles()
+
+ View is null checked elsewhere too.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::setNeedsReapplyStyles):
+
+2008-09-17 David Hyatt <hyatt@apple.com>
+
+ Make the notion of having a native widget backing a Widget cross-platform.
+ The PlatformWidget abstraction (which already existed) is used for this.
+ Windows = HWND
+ Qt = QWidget
+ Mac = NSView
+ wx = wxWindow
+ Gtk = GtkWidget
+
+ There are new cross-platform methods that replace all of the unique
+ platform-specific methods.
+ platformWidget()
+ setPlatformWidget()
+
+ For plugins, on every platform except Qt on Windows, the plugin's native
+ widget is now stored in the Widget base class. Since Qt on Windows uses
+ HWNDs for plugins instead of QWidget, it is the only platform to keep the
+ m_window variable in PluginView.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper attachmentView]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passMouseDownEventToWidget):
+ (WebCore::EventHandler::mouseDownViewIfStillGood):
+ (WebCore::EventHandler::passWheelEventToWidget):
+ (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
+ * platform/Widget.cpp:
+ (WebCore::Widget::init):
+ (WebCore::Widget::setParent):
+ (WebCore::Widget::releasePlatformWidget):
+ (WebCore::Widget::retainPlatformWidget):
+ * platform/Widget.h:
+ (WebCore::Widget::platformWidget):
+ (WebCore::Widget::setPlatformWidget):
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::setFocus):
+ (WebCore::gdkDrawable):
+ (WebCore::Widget::setCursor):
+ (WebCore::Widget::show):
+ (WebCore::Widget::hide):
+ (WebCore::Widget::setEnabled):
+ (WebCore::Widget::isEnabled):
+ (WebCore::Widget::paint):
+ * platform/mac/PlatformScreenMac.mm:
+ (WebCore::screenRect):
+ (WebCore::screenAvailableRect):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::scrollView):
+ (WebCore::ScrollView::update):
+ (WebCore::ScrollView::inWindow):
+ * platform/mac/ScrollbarMac.mm:
+ (WebCore::ScrollbarMac::ScrollbarMac):
+ (WebCore::ScrollbarMac::~ScrollbarMac):
+ (WebCore::ScrollbarMac::updateThumbPosition):
+ (WebCore::ScrollbarMac::updateThumbProportion):
+ (WebCore::ScrollbarMac::scrollbarHit):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::setEnabled):
+ (WebCore::Widget::isEnabled):
+ (WebCore::Widget::setFocus):
+ (WebCore::Widget::getOuterView):
+ (WebCore::Widget::paint):
+ (WebCore::Widget::invalidate):
+ (WebCore::Widget::invalidateRect):
+ (WebCore::Widget::setIsSelected):
+ (WebCore::Widget::releasePlatformWidget):
+ (WebCore::Widget::retainPlatformWidget):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::WidgetPrivate::WidgetPrivate):
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::setFrameGeometry):
+ (WebCore::Widget::show):
+ (WebCore::Widget::hide):
+ (WebCore::Widget::isEnabled):
+ (WebCore::Widget::setEnabled):
+ (WebCore::Widget::invalidateRect):
+ (WebCore::Widget::containingWindow):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::Widget):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::frameGeometry):
+ (WebCore::Widget::setFocus):
+ (WebCore::Widget::setCursor):
+ (WebCore::Widget::show):
+ (WebCore::Widget::hide):
+ (WebCore::Widget::setFrameGeometry):
+ (WebCore::Widget::setEnabled):
+ (WebCore::Widget::isEnabled):
+ (WebCore::Widget::invalidate):
+ (WebCore::Widget::invalidateRect):
+ (WebCore::Widget::paint):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::PluginView):
+ * plugins/PluginView.h:
+ (WebCore::PluginView::platformPluginWidget):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updateWindow):
+ (WebCore::PluginView::setFocus):
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::setParentVisible):
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::forceRedraw):
+ (WebCore::PluginView::init):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updateWindow):
+ (WebCore::PluginView::setFocus):
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::setParentVisible):
+ (WebCore::PluginView::getValue):
+ (WebCore::PluginView::~PluginView):
+ (WebCore::PluginView::init):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::updateWindow):
+ (WebCore::PluginView::setFocus):
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::setParentVisible):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::invalidateRect):
+ (WebCore::PluginView::forceRedraw):
+ (WebCore::PluginView::~PluginView):
+ (WebCore::PluginView::init):
+
+2008-09-17 Sam Weinig <sam@webkit.org>
+
+ Fix assert.
+
+ * platform/Widget.cpp:
+ (WebCore::Widget::setParent):
+
+2008-09-17 David Hyatt <hyatt@apple.com>
+
+ Beginnings of Widget refactoring (in order to make the mixing of
+ widgets with and without corresponding native widgets more cross-platform).
+
+ This first patch makes the concept of a parent ScrollView cross-platform.
+
+ Note the similarity of the show/hide methods on the three PluginViews. This
+ will be refactored better in a later patch so that they can all share
+ a base class Widget show/hide method. For now the changes were made
+ simply to be able to bring WidgetWin's setParent method up into Widget.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.base.exp:
+ * platform/ScrollView.h:
+ * platform/Widget.cpp:
+ (WebCore::Widget::init):
+ (WebCore::Widget::setParent):
+ * platform/Widget.h:
+ (WebCore::Widget::isSelfVisible):
+ (WebCore::Widget::isParentVisible):
+ (WebCore::Widget::isVisible):
+ (WebCore::Widget::setParentVisible):
+ (WebCore::Widget::isPluginView):
+ (WebCore::Widget::parent):
+ (WebCore::Widget::handleEvent):
+ (WebCore::Widget::geometryChanged):
+ * platform/gtk/WidgetGtk.cpp:
+ (WebCore::Widget::Widget):
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::addChild):
+ (WebCore::ScrollView::removeChild):
+ * platform/mac/ScrollbarMac.mm:
+ (WebCore::ScrollbarMac::~ScrollbarMac):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::~Widget):
+ * platform/qt/WidgetQt.cpp:
+ (WebCore::WidgetPrivate::WidgetPrivate):
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::topLevel):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
+ (WebCore::ScrollView::setAncestorVisible):
+ (WebCore::ScrollView::show):
+ (WebCore::ScrollView::hide):
+ * platform/win/WidgetWin.cpp:
+ (WebCore::Widget::Widget):
+ (WebCore::Widget::setParent):
+ * platform/wx/WidgetWx.cpp:
+ (WebCore::Widget::Widget):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::PluginView):
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::setParentVisible):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::setParentVisible):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::show):
+ (WebCore::PluginView::hide):
+ (WebCore::PluginView::setParentVisible):
+
+2008-09-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
+
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
+
+2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Fix the QtWebKit/Mac build
+
+ * platform/qt/ScrollViewQt.cpp: add include
+
+2008-09-17 David Hyatt <hyatt@apple.com>
+
+ Add a #define to control whether or not to use an NSScroller on Mac.
+ This ifdef will allow the new NSView-less NSScroller on Mac to be
+ developed side by side with the current one.
+
+ The new scroller paints a debug red if turned on (although due to
+ Widget issues you won't see anything paint yet).
+
+ Reviewed by olliej
+
+ * platform/Scrollbar.cpp:
+ * platform/Scrollbar.h:
+ * platform/mac/ScrollbarMac.h:
+ * platform/mac/ScrollbarMac.mm:
+ * platform/mac/ScrollbarThemeMac.cpp:
+ (WebCore::ScrollbarThemeMac::paint):
+ * platform/mac/ScrollbarThemeMac.h:
+
+2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Alp Toker.
+
+ http://bugs.webkit.org/show_bug.cgi?id=20854
+ [GTK] Windows can be not realized in ScrollView::update
+
+ Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
+
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::update):
+
+2008-09-16 Alp Toker <alp@nuanti.com>
+
+ Suggested by Dave Hyatt.
+
+ Build fix and cleanup. Rename ScrollBar to Scrollbar.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * editing/EditorCommand.cpp:
+ * page/EventHandler.cpp:
+ * page/gtk/EventHandlerGtk.cpp:
+ * page/mac/EventHandlerMac.mm:
+ * page/mac/FrameMac.mm:
+ * page/qt/EventHandlerQt.cpp:
+ * page/wx/EventHandlerWx.cpp:
+ * platform/PopupMenu.h:
+ * platform/ScrollBar.cpp: Removed.
+ * platform/ScrollBar.h: Removed.
+ * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
+ * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
+ * platform/gtk/ScrollbarGtk.cpp:
+ (ScrollbarGtk::ScrollbarGtk):
+ * platform/gtk/ScrollbarGtk.h:
+ * platform/mac/ScrollbarMac.h:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/qt/ScrollbarQt.cpp:
+ * platform/qt/ScrollbarThemeQt.cpp:
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PopupMenuWin.cpp:
+ * platform/win/ScrollViewWin.cpp:
+ * platform/win/ScrollbarThemeWin.cpp:
+ * platform/wx/ScrollViewWx.cpp:
+ * platform/wx/TemporaryLinkStubs.cpp:
+ * rendering/HitTestResult.cpp:
+ * rendering/RenderLayer.cpp:
+ * rendering/RenderTextControl.cpp:
+
+2008-09-16 David Hyatt <hyatt@apple.com>
+
+ Fix Qt build bustage by making moveThumb a member of Scrollbar so that
+ it can be called from ScrollbarQt.
+
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::moveThumb):
+ (WebCore::Scrollbar::handleMouseMoveEvent):
+ (WebCore::Scrollbar::handleMousePressEvent):
+ * platform/ScrollBar.h:
+ * platform/qt/ScrollViewQt.cpp:
+ * platform/qt/ScrollbarQt.cpp:
+ (WebCore::Scrollbar::handleContextMenuEvent):
+
+2008-09-16 David Hyatt <hyatt@apple.com>
+
+ Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
+ native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
+ now just use Scrollbar.
+
+ Reviewed by Sam Weinig
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/mac/FrameMac.mm:
+ * platform/PopupMenu.h:
+ (WebCore::PopupMenu::scrollbar):
+ * platform/ScrollBar.cpp:
+ (WebCore::createNativeScrollbar):
+ * platform/ScrollBar.h:
+ * platform/gtk/PlatformScrollBar.h: Removed.
+ * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
+ * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
+ (gtkScrollEventCallback):
+ (ScrollbarGtk::ScrollbarGtk):
+ (ScrollbarGtk::~ScrollbarGtk):
+ (ScrollbarGtk::updateThumbPosition):
+ (ScrollbarGtk::updateThumbProportion):
+ (ScrollbarGtk::setFrameGeometry):
+ (ScrollbarGtk::geometryChanged):
+ (ScrollbarGtk::gtkValueChanged):
+ * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
+ * platform/mac/PlatformScrollBar.h: Removed.
+ * platform/mac/PlatformScrollBarMac.mm: Removed.
+ * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
+ * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
+ (-[WebCoreScrollBar initWithScrollbarMac:]):
+ (-[WebCoreScrollBar detachScrollbarMac]):
+ (WebCore::Scrollbar::createNativeScrollbar):
+ (WebCore::ScrollbarMac::ScrollbarMac):
+ (WebCore::ScrollbarMac::~ScrollbarMac):
+ (WebCore::ScrollbarMac::updateThumbPosition):
+ (WebCore::ScrollbarMac::updateThumbProportion):
+ (WebCore::ScrollbarMac::scrollbarHit):
+ * platform/qt/PlatformScrollBar.h: Removed.
+ * platform/qt/PlatformScrollBarQt.cpp: Removed.
+ * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
+ (WebCore::Scrollbar::handleContextMenuEvent):
+ * rendering/HitTestResult.cpp:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::createScrollbar):
+ (WebCore::RenderLayer::destroyScrollbar):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::~RenderListBox):
+ (WebCore::RenderListBox::updateFromElement):
+ (WebCore::RenderListBox::isPointInOverflowControl):
+ * rendering/RenderObject.h:
+ * rendering/RenderTextControl.cpp:
+
+2008-09-16 David Hyatt <hyatt@apple.com>
+
+ Make the scrollbar resizer-dodging logic cross-platform in the
+ Scrollbar class.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::setFrameGeometry):
+ (WebCore::Scrollbar::setParent):
+ (WebCore::Scrollbar::windowClipRect):
+ * platform/ScrollBar.h:
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::windowResizerRect):
+ (WebCore::ScrollView::resizerOverlapsContent):
+ (WebCore::ScrollView::adjustOverlappingScrollbarCount):
+ * platform/Widget.h:
+ (WebCore::Widget::setParent):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertToContainingWindow):
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBarWin.cpp:
+
+2008-09-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=15129
+ <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
+
+ Covered by fast/repaint/4776765.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
+ did not have layout in the beginning.
+ (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
+ layout in the beginning, repaint it in its new position, to compensate
+ for the above (regardless of whether it "moved").
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
+ about generalizing this fix in the future.
+
+2008-09-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=15384
+ Div does not notice when grandparent changes height
+
+ Test: fast/block/basic/quirk-percent-height-grandchild.html
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=20714
+ Resizing Gmail inbox vertically results in whitespace at the bottom of the window
+
+ Test: fast/replaced/percent-height-in-anonymous-block.html
+
+ Added a two-way mapping between boxes with percentage heights and
+ their non-parent ancestors up to the one the height is computed relative
+ to. In quirks mode (the first bug), this can be any number of containing
+ block with auto height. In strict mode (the second bug) this can be
+ the containing block of an anonymous block containing a replaced
+ element.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
+ mapping to/from this block to percentage-height descendants.
+ (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
+ percentage-height descendants (and their containing block ancestry chain
+ up to this block) for layout. This ensures that those descendants whose
+ height depends on the height of this block (or an ancestor) are updated.
+ (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
+ a two-way mapping between this block and the given box.
+ (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
+ all the mapping to/from this box.
+ * rendering/RenderBlock.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::setStyle): Added calls to
+ removePercentHeightDescendant() when style changes and the box
+ previously had a percentage height. An exception is when the style
+ change does not require layout, in which case the box still has
+ a percentage height and the mappings are valid. In all other cases,
+ any required mappings will be (re-)established during layout.
+ (WebCore::RenderBox::destroy): Added a call to
+ removePercentHeightDescendant.
+ (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
+ mode, if a higher-than-parent containing block is affecting the box's
+ height, creates a mapping between the box and that block.
+ (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
+ anonymous containing blocks, if any, and when that happens, use
+ addPercentHeightDescendant() to ensure that the non-anonymous block
+ is aware of the dependent percent-height box.
+
+2008-09-16 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Oliver Hunt and Alp Toker.
+
+ Implemented toDataURL in Cairo. Only PNG support
+ at the moment.
+
+ Qt, Cairo and wx require toDataURL implementations
+ https://bugs.webkit.org/show_bug.cgi?id=17719
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedImageMIMETypesForEncoding):
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ (WebCore::writeFunction):
+ (WebCore::ImageBuffer::toDataURL):
+
+2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Hide unused media element controls in the QtWebKit port
+
+ * platform/qt/html4-adjustments-qt.css
+
+2008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix compilation of the Qt scrollbar code.
+
+ * platform/qt/PlatformScrollBarQt.cpp:
+ (WebCore::scPart):
+ (WebCore::styleOptionSlider):
+ (WebCore::thumbLength):
+ (WebCore::pixelPosToRangeValue):
+ (WebCore::PlatformScrollbar::handleContextMenuEvent):
+
+2008-09-16 Adam Treat <treat@kde.org>
+
+ Reviewed by Anders Carlsson.
+
+ Prevent accesses off of the end of the buffer introduced in r36450
+ and when checking for descriptions of mime. Also, coding style fix.
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+
+2008-09-15 Rob Buis <buis@kde.org>
+
+ Reviewed by Eric.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20634
+ SVG transform attribute is ignored by <use> in <clipPath>
+
+ Transform the paths with the local transform when part
+ of a clip path.
+
+ Test: svg/custom/use-clipped-transform.svg
+
+ * svg/SVGClipPathElement.cpp:
+ (WebCore::SVGClipPathElement::canvasResource):
+ * svg/SVGStyledTransformableElement.cpp:
+ (WebCore::SVGStyledTransformableElement::toClipPath):
+ * svg/SVGStyledTransformableElement.h:
+
+2008-09-15 Dave Hyatt <hyatt@apple.com>
+
+ Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
+ to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.cpp:
+ (WebCore::thumbUnderMouse):
+ (WebCore::Scrollbar::autoscrollPressedPart):
+ (WebCore::Scrollbar::startTimerIfNeeded):
+ (WebCore::moveThumb):
+ (WebCore::Scrollbar::handleMouseMoveEvent):
+ (WebCore::Scrollbar::handleMousePressEvent):
+ * platform/ScrollBar.h:
+ (WebCore::Scrollbar::pressedPos):
+ (WebCore::Scrollbar::pixelStep):
+ (WebCore::Scrollbar::setPressedPos):
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::thumbPosition):
+ (WebCore::ScrollbarTheme::thumbLength):
+ (WebCore::ScrollbarTheme::trackPosition):
+ (WebCore::ScrollbarTheme::trackLength):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::trackPosition):
+ * platform/ScrollbarThemeComposite.h:
+ * platform/qt/PlatformScrollBarQt.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ (WebCore::):
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+ (WebCore::ScrollbarThemeQt::hitTest):
+ (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
+ (WebCore::ScrollbarThemeQt::invalidatePart):
+ (WebCore::ScrollbarThemeQt::thumbPosition):
+ (WebCore::):
+ * platform/qt/ScrollbarThemeQt.h:
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
+ * platform/win/ScrollbarThemeSafari.h:
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
+ * platform/win/ScrollbarThemeWin.h:
+
+2008-09-15 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20180
+
+ Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
+
+ * GNUmakefile.am: Add CSSNthSelector
+ * WebCore.pro: Add CSSNthSelector
+ * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
+ * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
+ * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
+ * css/CSSNthSelector.cpp: Added.
+ (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
+ (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
+ * css/CSSNthSelector.h: Added.
+ (WebCore::CSSNthSelector::CSSNthSelector):
+ (WebCore::CSSNthSelector::~CSSNthSelector):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createFloatingNthSelector):
+ * css/CSSParser.h:
+ * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
+ (WebCore::CSSSelector::CSSSelector):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
+
+2008-09-15 Matt Lilek <webkit@mattlilek.com>
+
+ Reviewed by Tim Hatcher.
+
+ Clean up some inspector JS callbacks to remove an extra return.
+
+ * page/InspectorController.cpp:
+ (WebCore::hideDOMNodeHighlight):
+ (WebCore::loaded):
+ (WebCore::unloading):
+ (WebCore::attach):
+ (WebCore::detach):
+ (WebCore::startDebuggingAndReloadInspectedPage):
+ (WebCore::stopDebugging):
+ (WebCore::debuggerAttached):
+ (WebCore::pauseOnExceptions):
+ (WebCore::pauseInDebugger):
+ (WebCore::resumeDebugger):
+ (WebCore::stepOverStatementInDebugger):
+ (WebCore::stepIntoStatementInDebugger):
+ (WebCore::stepOutOfFunctionInDebugger):
+ (WebCore::isWindowVisible):
+ (WebCore::closeWindow):
+
+2008-09-15 Dave Hyatt <hyatt@apple.com>
+
+ Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
+ now share most of their code.
+
+ Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
+ also is never used in our code anyway.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/ScrollTypes.h:
+ (WebCore::):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::splitTrack):
+ (WebCore::ScrollbarThemeComposite::thumbLength):
+ (WebCore::ScrollbarThemeComposite::minimumThumbLength):
+ * platform/ScrollbarThemeComposite.h:
+ * platform/mac/PlatformScrollBarMac.mm:
+ (NSControlSizeForScrollBarControlSize):
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBarSafari.cpp: Removed.
+ * platform/win/PlatformScrollBarWin.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ * platform/win/ScrollbarThemeSafari.cpp:
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::):
+ (WebCore::scrollbarControlStateFromThemeState):
+ (WebCore::ScrollbarThemeSafari::hasButtons):
+ (WebCore::ScrollbarThemeSafari::hasThumb):
+ (WebCore::buttonRepaintRect):
+ (WebCore::ScrollbarThemeSafari::backButtonRect):
+ (WebCore::ScrollbarThemeSafari::forwardButtonRect):
+ (WebCore::trackRepaintRect):
+ (WebCore::ScrollbarThemeSafari::trackRect):
+ (WebCore::ScrollbarThemeSafari::minimumThumbLength):
+ (WebCore::ScrollbarThemeSafari::paintTrack):
+ (WebCore::ScrollbarThemeSafari::paintButton):
+ (WebCore::ScrollbarThemeSafari::paintThumb):
+ * platform/win/ScrollbarThemeSafari.h:
+ * platform/win/ScrollbarThemeWin.cpp:
+ * platform/win/ScrollbarThemeWin.h:
+
+2008-09-15 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler, Beth Dakin
+
+ <rdar://problem/4003789> Expose lists as AXList
+ <rdar://problem/5707399> VO: Definition lists not announced in Safari
+
+ Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
+ AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
+ Inside the definition list, each <dt> "term" has an accessibility description ("term"),
+ as does each <dd> tag ("definition")
+
+ Test: accessibility/lists.html
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * page/AXObjectCache.cpp:
+ * page/AccessibilityList.cpp: Added.
+ * page/AccessibilityList.h: Added.
+ * page/AccessibilityObject.h:
+ * page/AccessibilityRenderObject.cpp:
+ * page/AccessibilityTable.cpp:
+ * page/mac/AccessibilityObjectWrapper.mm:
+ * page/mac/WebCoreViewFactory.h:
+ * platform/LocalizedStrings.h:
+ * platform/mac/LocalizedStringsMac.mm:
+ * platform/qt/Localizations.cpp:
+
+2008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Eric.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
+ Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
+
+ Several renames:
+ dispatchHTMLEvent -> dispatchEventForType
+ setHTMLEventListener -> setEventListenerForType
+ getHTMLEventListener -> eventListenerForType
+ removeHTMLEventListener -> removeEventListenerForType
+ isHTMLEventListener -> isAttachedToEventTargetNode
+ ...
+
+ Similar renames for the dispatch/get/set/*Window*Event functions.
+ Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
+
+ Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
+ as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
+
+ setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
+ SVG is able to use the code as well now. This affects most files in html/.
+
+ No functional changes.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
+ (WebCore::JSDOMWindowBase::setListener):
+ (WebCore::JSDOMWindowBase::getListener):
+ (WebCore::JSDOMWindowBase::findJSEventListener):
+ (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
+ (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
+ (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
+ (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
+ (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent):
+ (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
+ (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
+ (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::~JSEventListener):
+ (WebCore::JSLazyEventListener::JSLazyEventListener):
+ (WebCore::eventParameterName):
+ (WebCore::JSLazyEventListener::parseCode):
+ (WebCore::getNodeEventListener):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSAbstractEventListener::JSAbstractEventListener):
+ (WebCore::JSUnprotectedEventListener::create):
+ (WebCore::JSEventListener::create):
+ (WebCore::JSLazyEventListener::):
+ (WebCore::JSLazyEventListener::create):
+ * bindings/js/JSEventTargetNode.cpp:
+ (WebCore::JSEventTargetNode::setListener):
+ (WebCore::JSEventTargetNode::getListener):
+ * bindings/js/JSSVGLazyEventListener.cpp: Removed.
+ * bindings/js/JSSVGLazyEventListener.h: Removed.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::createHTMLEventHandler):
+ (WebCore::ScriptController::createSVGEventHandler):
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ (WebCore::Document::handleWindowEvent):
+ (WebCore::Document::setWindowEventListenerForType):
+ (WebCore::Document::windowEventListenerForType):
+ (WebCore::Document::removeWindowEventListenerForType):
+ (WebCore::Document::addWindowEventListener):
+ (WebCore::Document::hasWindowEventListener):
+ (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
+ (WebCore::Document::createEventListener):
+ (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
+ * dom/Document.h:
+ * dom/EventListener.h:
+ (WebCore::EventListener::isAttachedToEventTargetNode):
+ * dom/EventTargetNode.cpp:
+ (WebCore::EventTargetNode::dispatchFocusEvent):
+ (WebCore::EventTargetNode::dispatchBlurEvent):
+ (WebCore::EventTargetNode::dispatchEventForType):
+ (WebCore::EventTargetNode::removeEventListenerForType):
+ (WebCore::EventTargetNode::setEventListenerForType):
+ (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
+ (WebCore::EventTargetNode::eventListenerForType):
+ * dom/EventTargetNode.h:
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::notifyFinished):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplacementFragment::ReplacementFragment):
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::parseMappedAttribute):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseMappedAttribute):
+ (WebCore::HTMLElement::checkDTD):
+ * html/HTMLElement.h:
+ * 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::setValueFromRenderer):
+ (WebCore::HTMLInputElement::onSearch):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::asyncEventTimerFired):
+ (WebCore::HTMLMediaElement::load):
+ (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
+ (WebCore::HTMLMediaElement::setReadyState):
+ (WebCore::HTMLMediaElement::seek):
+ (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
+ (WebCore::HTMLMediaElement::willSaveToCache):
+ * 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/EventHandler.cpp:
+ (WebCore::EventHandler::canMouseDownStartSelect):
+ (WebCore::EventHandler::canMouseDragExtendSelect):
+ * page/Frame.cpp:
+ (WebCore::Frame::sendScrollEvent):
+ * page/Page.cpp:
+ (WebCore::networkStateChanged):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::valueChanged):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::selectionChanged):
+ * svg/SVGDocumentExtensions.cpp:
+ * svg/SVGDocumentExtensions.h:
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::parseMappedAttribute):
+ (WebCore::SVGElement::finishParsingChildren):
+ * svg/SVGElement.h:
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::parseMappedAttribute):
+ * svg/SVGSVGElement.h:
+
+2008-09-15 Dave Hyatt <hyatt@apple.com>
+
+ Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
+ need to be converted.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ (WebCore::Scrollbar::updateThumbPosition):
+ (WebCore::Scrollbar::updateThumbProportion):
+ (WebCore::Scrollbar::autoscrollPressedPart):
+ (WebCore::Scrollbar::startTimerIfNeeded):
+ * platform/ScrollBar.h:
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::invalidateParts):
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::ScrollbarThemeComposite::hitTest):
+ (WebCore::ScrollbarThemeComposite::invalidatePart):
+ (WebCore::ScrollbarThemeComposite::thumbPosition):
+ (WebCore::ScrollbarThemeComposite::thumbLength):
+ (WebCore::ScrollbarThemeComposite::trackLength):
+ * platform/ScrollbarThemeComposite.h:
+ * platform/win/PlatformScrollBarSafari.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ * platform/win/PlatformScrollBarWin.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+
+2008-09-15 David Smith <catfish.man@gmail.com>
+
+ "Just do it"'d by Mark Rowe
+
+ https://bugs.webkit.org/show_bug.cgi?id=20856
+ Add missing license header
+
+ * dom/NodeRenderStyle.h:
+
+2008-09-15 Dean Jackson <dino@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Add default constructor for ShadowData
+ https://bugs.webkit.org/show_bug.cgi?id=20757
+
+ Test: transitions/shadow.html
+
+ * rendering/style/RenderStyle.h:
+
+2008-09-15 Dean Jackson <dino@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ RenderStyle should update keyframes.
+ http://bugs.webkit.org/show_bug.cgi?id=20756
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::StyleRareNonInheritedData::updateKeyframes):
+
+2008-09-15 Dean Jackson <dino@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Unnecessary ASSERT in ImplicitAnimation destructor.
+ https://bugs.webkit.org/show_bug.cgi?id=20817
+
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::~ImplicitAnimation):
+
+2008-09-15 Adam Treat <treat@kde.org>
+
+ Reviewed by Simon.
+
+ Fix plugin extension info. It was returning the mimetype where the
+ extension was given.
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+
+2008-09-15 Dean Jackson <dino@apple.com>
+
+ Reviewed by Tim Hatcher
+
+ Coding style violation!!!! Cleanup AnimationBase.cpp
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc):
+
+2008-09-15 David Hyatt <hyatt@apple.com>
+
+ Move all hit testing code for scrollbars into the base class. Refactor
+ it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
+ functions.
+
+ No platform is using this code yet. Although it has been moved and compiles
+ (even on Mac), it is not being used on any platform.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::autoscrollPressedPart):
+ (WebCore::Scrollbar::startTimerIfNeeded):
+ (WebCore::Scrollbar::handleMouseMoveEvent):
+ (WebCore::Scrollbar::handleMouseOutEvent):
+ (WebCore::Scrollbar::handleMouseReleaseEvent):
+ (WebCore::Scrollbar::handleMousePressEvent):
+ * platform/ScrollBar.h:
+ (WebCore::Scrollbar::handleContextMenuEvent):
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::hitTest):
+ (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
+ (WebCore::ScrollbarTheme::invalidatePart):
+ (WebCore::ScrollbarTheme::shouldCenterOnThumb):
+ (WebCore::ScrollbarTheme::centerOnThumb):
+ (WebCore::ScrollbarTheme::thumbPosition):
+ (WebCore::ScrollbarTheme::thumbLength):
+ (WebCore::ScrollbarTheme::trackLength):
+ (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
+ (WebCore::ScrollbarTheme::autoscrollTimerDelay):
+ * platform/Widget.h:
+ (WebCore::Widget::parent):
+ * platform/mac/PlatformScrollBar.h:
+ (WebCore::PlatformScrollbar::handleMouseMoveEvent):
+ (WebCore::PlatformScrollbar::handleMouseOutEvent):
+ (WebCore::PlatformScrollbar::handleMousePressEvent):
+ (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertFromContainingWindow):
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
+ * platform/win/ScrollbarThemeWin.h:
+
+2008-09-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
+
+ Cache the next breakable position for text nodes in InlineIterator.
+
+ * rendering/bidi.cpp:
+ (WebCore::InlineIterator::InlineIterator):
+ (WebCore::InlineIterator::increment):
+ (WebCore::RenderBlock::findNextLineBreak):
+
+2008-09-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ Fix assertion and integral pixel issue when creating subimages.
+ https://bugs.webkit.org/show_bug.cgi?id=20786
+
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+
+2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Implment seek() and clean up and improve debugging output
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (debugMediaObject):
+ (WebCore::MediaPlayerPrivate::seek):
+ (WebCore::MediaPlayerPrivate::setVolume):
+ (WebCore::MediaPlayerPrivate::setMuted):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::naturalSize):
+ (WebCore::MediaPlayerPrivate::paint):
+ (WebCore::MediaPlayerPrivate::stateChanged):
+ (WebCore::MediaPlayerPrivate::tick):
+
+2008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon.
+
+ Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
+
+ m_mediaObject, m_audioOutput, m_videoWidget get created in the
+ c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
+ only check if we use the MediaPlayerPrivate after it has been deleted.
+
+ Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::play):
+ (WebCore::MediaPlayerPrivate::setVolume):
+ (WebCore::MediaPlayerPrivate::updateStates):
+
+2008-09-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej.
+
+ <rdar://problem/6163988>
+ https://bugs.webkit.org/show_bug.cgi?id=20457
+ Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
+
+ Check the width and height and throw an exception if any of them are 0.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createPattern):
+
+2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Render media element controls with antialiasing enabled
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::paintMediaMuteButton):
+ (WebCore::RenderThemeQt::paintMediaPlayButton):
+ (WebCore::RenderThemeQt::paintMediaSliderTrack):
+ (WebCore::RenderThemeQt::paintMediaSliderThumb):
+
+2008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
+
+ Reviewed by Simon.
+
+ Upon non fatal error, switch to the pause state (so that playback can continue)
+
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::updateStates):
+
+2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
+
+ * WebCore.pro:
+
+2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Make QtInstance::create() private and fix caching
+
+ * bindings/js/ScriptControllerQt.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::getQtInstance):
+ (JSC::Bindings::QtInstance::getRuntimeObject):
+ * bridge/qt/qt_instance.h:
+ (JSC::Bindings::QtInstance::create):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue):
+ (JSC::Bindings::QtConnectionObject::execute):
+
+2008-09-15 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20180
+
+ >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
+ With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
+ querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::CSSStyleSelector):
+ (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
+ * css/CSSStyleSelector.h:
+
+2008-09-14 Dave Hyatt <hyatt@apple.com>
+
+ Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
+ is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.h:
+ (WebCore::Scrollbar::client):
+ (WebCore::Scrollbar::currentPos):
+ (WebCore::Scrollbar::totalSize):
+ * platform/ScrollbarTheme.h:
+ * platform/ScrollbarThemeComposite.cpp:
+ (WebCore::pageForScrollView):
+ (WebCore::ScrollbarThemeComposite::paint):
+ * platform/ScrollbarThemeComposite.h:
+ (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBarSafari.cpp:
+ * platform/win/PlatformScrollBarWin.cpp:
+ * platform/win/ScrollbarThemeSafari.h:
+ (WebCore::ScrollbarThemeSafari::hasButtons):
+ (WebCore::ScrollbarThemeSafari::hasThumb):
+ (WebCore::ScrollbarThemeSafari::backButtonRect):
+ (WebCore::ScrollbarThemeSafari::forwardButtonRect):
+ (WebCore::ScrollbarThemeSafari::trackRect):
+ (WebCore::ScrollbarThemeSafari::splitTrack):
+ (WebCore::ScrollbarThemeSafari::paintTrack):
+ (WebCore::ScrollbarThemeSafari::paintButton):
+ (WebCore::ScrollbarThemeSafari::paintThumb):
+ * platform/win/ScrollbarThemeWin.cpp:
+ (WebCore::isRunningOnVistaOrLater):
+ (WebCore::checkAndInitScrollbarTheme):
+ (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
+ (WebCore::ScrollbarThemeWin::themeChanged):
+ (WebCore::ScrollbarThemeWin::hasThumb):
+ (WebCore::ScrollbarThemeWin::backButtonRect):
+ (WebCore::ScrollbarThemeWin::forwardButtonRect):
+ (WebCore::ScrollbarThemeWin::trackRect):
+ (WebCore::ScrollbarThemeWin::splitTrack):
+ (WebCore::ScrollbarThemeWin::paintTrack):
+ (WebCore::ScrollbarThemeWin::paintButton):
+ (WebCore::gripperRect):
+ (WebCore::paintGripper):
+ (WebCore::ScrollbarThemeWin::paintThumb):
+ (WebCore::ScrollbarThemeWin::thumbPosition):
+ (WebCore::ScrollbarThemeWin::thumbLength):
+ (WebCore::ScrollbarThemeWin::trackLength):
+ * platform/win/ScrollbarThemeWin.h:
+ (WebCore::ScrollbarThemeWin::hasButtons):
+ (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
+
+2008-09-14 Anthony Ricaud <rik24d@gmail.com>
+
+ Moving all resource graphs under the same container for future scalable feature.
+ This is a speedup on resize but maybe a loss on changing the sorting function.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20555
+
+ Reviewed by Timothy Hatcher.
+
+ * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
+ Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
+ * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
+
+2008-09-14 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20738
+ compareBoundaryPoints gives incorrect results
+
+ Test: fast/dom/Range/compareBoundaryPoints-2.html
+
+ * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
+ and END_TO_START.
+ * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
+
+2008-09-14 Maciej Stachowiak <mjs@apple.com>
+
+ Unreviewed build fix.
+
+ Trying again.
+
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::hasInstance):
+
+2008-09-14 Maciej Stachowiak <mjs@apple.com>
+
+ Unreviewed build fix.
+
+ Blind attempt to fix build. Correct parameters for hasInstance.
+
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::hasInstance):
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+
+2008-09-14 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ - revert <http://trac.webkit.org/changeset/36382> because it exposed
+ <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
+ on Tiger.
+
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::FontCache::getFontDataForCharacters):
+ (WebCore::FontCache::getLastResortFallbackFont):
+
+2008-09-14 Dave Hyatt <hyatt@apple.com>
+
+ Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
+ ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
+ theme.
+
+ Reviewed by Sam Weinig
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/win/ScrollbarThemeSafari.h:
+ * platform/win/ScrollbarThemeWin.h:
+
+2008-09-14 Alp Toker <alp@nuanti.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=20320
+ [GTK] A white rectangle is visible behind widgets with rounded corners
+
+ Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
+ style exempt).
+
+ Requested by Michael Monreal.
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::RenderThemeGtk):
+ * platform/gtk/gtk2drawing.c:
+ (moz_gtk_set_widget_name):
+ (ensure_window_widget):
+ (setup_widget_prototype):
+ (ensure_button_arrow_widget):
+ (moz_gtk_get_combo_box_inner_button):
+ (moz_gtk_get_combo_box_button_inner_widgets):
+ (ensure_combo_box_widgets):
+ (moz_gtk_get_combo_box_entry_inner_widgets):
+ (moz_gtk_get_combo_box_entry_arrow):
+ (ensure_combo_box_entry_widgets):
+ (ensure_toolbar_widget):
+ (ensure_tooltip_widget):
+ (ensure_menu_bar_widget):
+ (ensure_menu_bar_item_widget):
+ (ensure_menu_popup_widget):
+ (ensure_menu_item_widget):
+ (ensure_image_menu_item_widget):
+ (ensure_menu_separator_widget):
+ (ensure_check_menu_item_widget):
+ (ensure_tree_header_cell_widget):
+ (ensure_scrolled_window_widget):
+ (moz_gtk_button_paint):
+ (moz_gtk_init):
+ (moz_gtk_button_get_inner_border):
+ (moz_gtk_toggle_paint):
+ (calculate_button_inner_rect):
+ (calculate_arrow_rect):
+ (moz_gtk_scrollbar_button_paint):
+ (moz_gtk_scrollbar_thumb_paint):
+ (moz_gtk_caret_paint):
+ (moz_gtk_entry_paint):
+ (moz_gtk_treeview_paint):
+ (moz_gtk_tree_header_cell_paint):
+ (moz_gtk_combo_box_paint):
+ (moz_gtk_downarrow_paint):
+ (moz_gtk_combo_box_entry_button_paint):
+ (moz_gtk_toolbar_paint):
+ (moz_gtk_tab_scroll_arrow_paint):
+ (moz_gtk_menu_bar_paint):
+ (moz_gtk_menu_item_paint):
+ (moz_gtk_get_widget_border):
+ (moz_gtk_get_combo_box_entry_button_size):
+ (moz_gtk_get_tab_scroll_arrow_size):
+ (moz_gtk_get_downarrow_size):
+ (moz_gtk_images_in_menus):
+ (moz_gtk_widget_paint):
+ (moz_gtk_shutdown):
+ * platform/gtk/gtkdrawing.h:
+
+2008-09-14 David Hyatt <hyatt@apple.com>
+
+ Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
+ painting. Mac and Gtk themes don't do anything and just let the
+ underlying widget paint. Qt now uses the theme to paint. wx doesn't
+ do anything yet.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::paint):
+ * platform/ScrollBar.h:
+ (WebCore::Scrollbar::value):
+ (WebCore::Scrollbar::visibleSize):
+ (WebCore::Scrollbar::maximum):
+ (WebCore::Scrollbar::lineStep):
+ (WebCore::Scrollbar::pageStep):
+ (WebCore::Scrollbar::pixelStep):
+ (WebCore::Scrollbar::pressedPart):
+ (WebCore::Scrollbar::hoveredPart):
+ (WebCore::Scrollbar::theme):
+ * platform/ScrollbarTheme.h:
+ (WebCore::ScrollbarTheme::paint):
+ (WebCore::ScrollbarTheme::scrollbarThickness):
+ (WebCore::ScrollbarTheme::supportsControlTints):
+ (WebCore::ScrollbarTheme::themeChanged):
+ * platform/gtk/PlatformScrollBar.h:
+ * platform/gtk/PlatformScrollBarGtk.cpp:
+ * platform/mac/PlatformScrollBar.h:
+ * platform/mac/PlatformScrollBarMac.mm:
+ * platform/qt/PlatformScrollBar.h:
+ * platform/qt/PlatformScrollBarQt.cpp:
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::styleOptionSlider):
+ * platform/qt/ScrollbarThemeQt.h:
+ (WebCore::ScrollbarThemeQt::paint):
+ * platform/win/PlatformScrollBarSafari.cpp:
+ (WebCore::PlatformScrollbar::paint):
+ * platform/win/ScrollbarThemeSafari.h:
+ (WebCore::ScrollbarThemeSafari::supportsControlTints):
+ * platform/wx/PlatformScrollBar.h:
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (PlatformScrollbar::~PlatformScrollbar):
+
+2008-09-14 Sam Weinig <sam@webkit.org>
+
+ Qt build fix.
+
+ * platform/qt/PlatformScrollBarQt.cpp:
+
+2008-09-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Remove extraneous semicolons.
+
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::tokenizeRelAttribute):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::charsetAttributeValue):
+ (WebCore::HTMLScriptElement::typeAttributeValue):
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::platformGradient):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintEllipsisBoxes):
+ * svg/SVGPathSegList.cpp:
+ (WebCore::SVGPathSegList::toPathData):
+
+2008-09-14 Sam Weinig <sam@webkit.org>
+
+ Qt build fix.
+
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2008-09-14 Sam Weinig <sam@webkit.org>
+
+ Qt build fix.
+
+ * platform/qt/PlatformScrollBarQt.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ (WebCore::PlatformScrollbar::paint):
+
+2008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk build fix, not reviewed.
+
+ * platform/gtk/PlatformScrollBarGtk.cpp:
+ (PlatformScrollbar::PlatformScrollbar):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+
+2008-09-13 Dave Hyatt <hyatt@apple.com>
+
+ Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
+ to set the dimensions of a scrollbar.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.h:
+ * platform/gtk/PlatformScrollBar.h:
+ * platform/gtk/PlatformScrollBarGtk.cpp:
+ (PlatformScrollbar::setFrameGeometry):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/mac/PlatformScrollBarMac.mm:
+ * platform/qt/PlatformScrollBarQt.cpp:
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBarSafari.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ (WebCore::PlatformScrollbar::setFrameGeometry):
+ * platform/win/PlatformScrollBarWin.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ (WebCore::PlatformScrollbar::setFrameGeometry):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupWndProc):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ * platform/wx/PlatformScrollBar.h:
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (PlatformScrollbar::updateThumbProportion):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::positionOverflowControls):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::paintScrollbar):
+
+2008-09-13 Dave Hyatt <hyatt@apple.com>
+
+ Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.h:
+ * platform/gtk/PlatformScrollBar.h:
+ * platform/gtk/PlatformScrollBarGtk.cpp:
+ * platform/mac/PlatformScrollBar.h:
+ * platform/mac/PlatformScrollBarMac.mm:
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBarSafari.cpp:
+ * platform/win/PlatformScrollBarWin.cpp:
+ * platform/wx/PlatformScrollBar.h:
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (PlatformScrollbar::~PlatformScrollbar):
+
+2008-09-13 Dave Hyatt <hyatt@apple.com>
+
+ Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
+ all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.h:
+ * platform/gtk/PlatformScrollBar.h:
+ * platform/gtk/PlatformScrollBarGtk.cpp:
+ * platform/mac/PlatformScrollBar.h:
+ * platform/mac/PlatformScrollBarMac.mm:
+ * platform/win/PlatformScrollBarSafari.cpp:
+ * platform/win/PlatformScrollBarWin.cpp:
+ * platform/wx/PlatformScrollBar.h:
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (PlatformScrollbar::~PlatformScrollbar):
+
+2008-09-13 Dave Hyatt <hyatt@apple.com>
+
+ Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::~Scrollbar):
+ * platform/ScrollBar.h:
+ * platform/qt/PlatformScrollBarQt.cpp:
+ (WebCore::PlatformScrollbar::~PlatformScrollbar):
+ * platform/win/PlatformScrollBarSafari.cpp:
+ (WebCore::PlatformScrollbar::~PlatformScrollbar):
+ * platform/win/PlatformScrollBarWin.cpp:
+ (WebCore::PlatformScrollbar::~PlatformScrollbar):
+
+2008-09-13 David Hyatt <hyatt@apple.com>
+
+ Move maximum() from Qt's PlatformScrollbar to be a cross-platform
+ function on Scrollbar. Fixes Qt build bustage.
+
+ Reviewed by Sam Weinig
+
+ * platform/ScrollBar.h:
+ (WebCore::Scrollbar::orientation):
+ (WebCore::Scrollbar::value):
+ (WebCore::Scrollbar::maximum):
+ * platform/qt/PlatformScrollBar.h:
+
+2008-09-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - use the LastResort font for missing glyphs instead of showing the
+ primary font's missing glyph
+
+ Test: platform/mac/fast/text/last-resort-font.html
+
+ * platform/graphics/mac/FontCacheMac.mm:
+ (WebCore::FontCache::getFontDataForCharacters): Changed to return the
+ last resort font if a substitute font cannot be found.
+ (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
+ comment (the user's preferred standard font is included in the search
+ thanks to code in FontCache::getFontData()) and changed to return the
+ LastResort font.
+
+2008-09-13 Dave Hyatt <hyatt@apple.com>
+
+ This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
+ scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
+ patches will move rendering and hit testing functionality into this class.
+
+ Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
+ implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
+
+ Reviewed by Sam Weinig
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ * platform/ScrollBar.h:
+ * platform/ScrollbarTheme.h: Added.
+ (WebCore::ScrollbarTheme::~ScrollbarTheme):
+ (WebCore::ScrollbarTheme::scrollbarThickness):
+ (WebCore::ScrollbarTheme::themeChanged):
+ * platform/gtk/ScrollbarThemeGtk.cpp: Added.
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
+ (WebCore::ScrollbarThemeGtk::scrollbarThickness):
+ * platform/gtk/ScrollbarThemeGtk.h: Added.
+ * platform/mac/PlatformScrollBar.h:
+ * platform/mac/ScrollbarThemeMac.cpp: Added.
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::):
+ (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
+ (WebCore::ScrollbarThemeMac::scrollbarThickness):
+ * platform/mac/ScrollbarThemeMac.h: Added.
+ * platform/qt/PlatformScrollBarQt.cpp:
+ * platform/qt/ScrollbarThemeQt.cpp: Added.
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
+ (WebCore::ScrollbarThemeQt::scrollbarThickness):
+ * platform/qt/ScrollbarThemeQt.h: Added.
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBarSafari.cpp:
+ * platform/win/PlatformScrollBarWin.cpp:
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenu::calculatePositionAndSize):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::themeChanged):
+ * platform/win/ScrollbarThemeSafari.cpp: Added.
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::):
+ (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
+ (WebCore::ScrollbarThemeSafari::scrollbarThickness):
+ * platform/win/ScrollbarThemeSafari.h: Added.
+ * platform/win/ScrollbarThemeWin.cpp: Added.
+ (WebCore::ScrollbarTheme::nativeTheme):
+ (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
+ (WebCore::ScrollbarThemeWin::scrollbarThickness):
+ (WebCore::ScrollbarThemeWin::themeChanged):
+ * platform/win/ScrollbarThemeWin.h: Added.
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (ScrollbarTheme::nativeTheme):
+ * rendering/RenderLayer.cpp:
+ (WebCore::scrollCornerRect):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::calcHeight):
+ (WebCore::RenderTextControl::calcPrefWidths):
+
+2008-09-13 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+
+2008-09-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
+
+ No regression test because the back/forward cache is disabled in DumpRenderTree
+
+ * rendering/RenderContainer.cpp:
+ (WebCore::RenderContainer::invalidateCounters): Bail out if the document
+ is being destroyed.
+
+2008-09-13 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes for new methods recently introduced.
+
+ * platform/graphics/wx/AffineTransformWx.cpp:
+ (WebCore::AffineTransform::AffineTransform):
+ (WebCore::AffineTransform::setMatrix):
+ (WebCore::AffineTransform::setA):
+ (WebCore::AffineTransform::setB):
+ (WebCore::AffineTransform::setC):
+ (WebCore::AffineTransform::setD):
+ (WebCore::AffineTransform::setE):
+ (WebCore::AffineTransform::setF):
+ * platform/wx/LocalizedStringsWx.cpp:
+ (WebCore::AXDefinitionListTermText):
+ (WebCore::AXDefinitionListDefinitionText):
+
+2008-09-12 Dave Hyatt <hyatt@apple.com>
+
+ Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
+ up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
+ "PlatformScrollbar."
+
+ Reviewed by Sam Weinig
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * editing/EditorCommand.cpp:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::selectCursor):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ * page/EventHandler.h:
+ * page/MouseEventWithHitTestResults.cpp:
+ (WebCore::MouseEventWithHitTestResults::scrollbar):
+ * page/MouseEventWithHitTestResults.h:
+ * page/gtk/EventHandlerGtk.cpp:
+ (WebCore::EventHandler::passMousePressEventToScrollbar):
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passMousePressEventToScrollbar):
+ * page/qt/EventHandlerQt.cpp:
+ (WebCore::EventHandler::passMousePressEventToScrollbar):
+ * page/win/EventHandlerWin.cpp:
+ (WebCore::EventHandler::passMousePressEventToScrollbar):
+ * page/wx/EventHandlerWx.cpp:
+ (WebCore::EventHandler::passMousePressEventToScrollbar):
+ * platform/PopupMenu.h:
+ * platform/ScrollBar.cpp:
+ (WebCore::Scrollbar::Scrollbar):
+ (WebCore::Scrollbar::autoscrollTimerFired):
+ (WebCore::Scrollbar::autoscrollPressedPart):
+ (WebCore::Scrollbar::startTimerIfNeeded):
+ (WebCore::Scrollbar::stopTimerIfNeeded):
+ (WebCore::Scrollbar::pressedPartScrollDirection):
+ (WebCore::Scrollbar::pressedPartScrollGranularity):
+ * platform/ScrollBar.h:
+ (WebCore::Scrollbar::handleMousePressEvent):
+ (WebCore::Scrollbar::invalidatePart):
+ (WebCore::Scrollbar::thumbUnderMouse):
+ * platform/ScrollView.h:
+ * platform/ScrollbarClient.h: Added.
+ (WebCore::ScrollbarClient::~ScrollbarClient):
+ * platform/gtk/ScrollViewGtk.cpp:
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ * platform/qt/PlatformScrollBar.h:
+ * platform/qt/PlatformScrollBarQt.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ (WebCore::scrollbarPart):
+ (WebCore::PlatformScrollbar::handleMouseMoveEvent):
+ (WebCore::PlatformScrollbar::handleMouseOutEvent):
+ (WebCore::PlatformScrollbar::handleMousePressEvent):
+ (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
+ * platform/qt/ScrollViewQt.cpp:
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ (WebCore::ScrollView::wheelEvent):
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBarSafari.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ * platform/win/PlatformScrollBarWin.cpp:
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::scrollbarUnderMouse):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::setScrollbar):
+ * rendering/HitTestResult.h:
+ (WebCore::HitTestResult::scrollbar):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hitTestOverflowControls):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.h:
+
+2008-09-12 Steve Falkenburg <sfalken@apple.com>
+
+ Fix Mac build.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::getTransformOperationType):
+
+2008-09-12 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Make transform animation behavior match spec
+ https://bugs.webkit.org/show_bug.cgi?id=20770
+
+ Tests: transitions/transform-op-list-match.html
+ transitions/transform-op-list-no-match.html
+
+ * css/CSSStyleSelector.cpp:
+ * css/CSSStyleSelector.h:
+ * page/animation/AnimationBase.cpp:
+ * page/animation/AnimationBase.h:
+ * page/animation/ImplicitAnimation.cpp:
+ * page/animation/ImplicitAnimation.h:
+ * page/animation/KeyframeAnimation.cpp:
+ * page/animation/KeyframeAnimation.h:
+ * rendering/RenderLayer.cpp:
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/RenderStyle.h:
+
+2008-09-12 Ojan Vafai <ojan@chromium.org>
+
+ Properly escape contents of links added to the inspector.
+ For now, just build the link with the DOM and get the
+ outerHTML. Eventually, we probably just want to do
+ this entirely with the DOM.
+
+ Reviewed by Timothy Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20684
+
+ * manual-tests/inspector/escape-links.html: Added.
+ * page/inspector/StylesSidebarPane.js:
+ * page/inspector/inspector.js:
+ * page/inspector/utilities.js:
+
+2008-09-12 Adele Peterson <adele@apple.com>
+
+ Reviewed by John Sullivan and Kevin McCullough.
+
+ Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
+
+ * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
+ Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will
+ cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
+
+2008-09-12 Kevin McCullough <kmccullough@apple.com>
+
+ RS by Tim .
+
+ Re-introducing the code since it was not the cause of the crash.
+ See r36343.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::canBeProgramaticallyScrolled):
+ * rendering/RenderObject.h:
+
+2008-09-12 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ When changing one animation in a list, don't reset other animations
+ https://bugs.webkit.org/show_bug.cgi?id=20675
+
+ Test: animations/change-one-anim.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getNumProperties):
+ * page/animation/AnimationBase.h:
+ * page/animation/AnimationController.cpp:
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ * page/animation/CompositeAnimation.h:
+ * page/animation/ImplicitAnimation.cpp:
+ * page/animation/KeyframeAnimation.cpp:
+ * page/animation/KeyframeAnimation.h:
+ (WebCore::KeyframeAnimation::setIndex):
+
+2008-09-12 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mitz Pettel
+
+ Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
+ Subresources can never be created from nil data, but there is always a MainResource, whether
+ or not there's any data. So in the case where the main resource has no data, fake it for the
+ sake of creating the ArchiveResource.
+
+2008-09-12 Dave Hyatt <hyatt@apple.com>
+
+ Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
+ scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
+ Remove all the isWidget and hasPlatformScrollbars guards.
+
+ Reviewed by Tim Hatcher
+
+ * platform/ScrollBar.h:
+ * platform/gtk/PlatformScrollBar.h:
+ * platform/mac/PlatformScrollBar.h:
+ * platform/qt/PlatformScrollBar.h:
+ * platform/win/PlatformScrollBar.h:
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
+ * platform/wx/PlatformScrollBar.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::horizontalScrollbarWidget):
+ (WebCore::RenderLayer::verticalScrollbarWidget):
+ (WebCore::RenderLayer::createScrollbar):
+ (WebCore::RenderLayer::destroyScrollbar):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::~RenderListBox):
+ (WebCore::RenderListBox::updateFromElement):
+ (WebCore::RenderListBox::isPointInOverflowControl):
+
+2008-09-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
+
+ * page/animation/AnimationController.cpp:
+ * page/animation/AnimationController.h:
+ * page/animation/CompositeAnimation.cpp:
+ * page/animation/CompositeAnimation.h:
+ * page/animation/ImplicitAnimation.cpp:
+ * page/animation/ImplicitAnimation.h:
+ * page/animation/KeyframeAnimation.cpp:
+ * page/animation/KeyframeAnimation.h:
+
+2008-09-11 Timothy Hatcher <timothy@apple.com>
+
+ Add a renderedImage method to DOMNode to get an image
+ of the rendering for the node and it's descendants.
+
+ <rdar://problem/5849349> Would like API to create
+ an image for a DOM node
+
+ Reviewed by Oliver Hunt.
+
+ * bindings/objc/DOM.mm:
+ (-[DOMNode renderedImage]): Call Frame::nodeImage.
+ * bindings/objc/DOMPrivate.h:
+ * page/Frame.h:
+ * page/mac/FrameMac.mm:
+ (WebCore::Frame::nodeImage):
+
+2008-09-08 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Need to support comma separated list of key times in keyframes selectors
+ https://bugs.webkit.org/show_bug.cgi?id=20680
+
+ Test: animations/keyframes-comma-separated.html
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createKeyframeRule):
+ * css/CSSParser.h:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::addKeyframeStyle):
+ * css/WebKitCSSKeyframeRule.cpp:
+ (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
+ (WebCore::WebKitCSSKeyframeRule::cssText):
+ (WebCore::WebKitCSSKeyframeRule::parseKeyString):
+ * css/WebKitCSSKeyframeRule.h:
+ (WebCore::WebKitCSSKeyframeRule::keyText):
+ (WebCore::WebKitCSSKeyframeRule::setKeyText):
+ (WebCore::WebKitCSSKeyframeRule::getKeys):
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::WebKitCSSKeyframesRule::append):
+ (WebCore::WebKitCSSKeyframesRule::insertRule):
+ (WebCore::WebKitCSSKeyframesRule::deleteRule):
+ (WebCore::WebKitCSSKeyframesRule::findRule):
+ (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
+ * css/WebKitCSSKeyframesRule.h:
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::blendProperties):
+
+2008-09-11 Kevin McCullough <kmccullough@apple.com>
+
+ RS by Tim.
+
+ Reverting because this caused a crash.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::canBeProgramaticallyScrolled):
+ (WebCore::RenderObject::hasScrollableView):
+ * rendering/RenderObject.h:
+
+2008-09-11 Dean Jackson <dino@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix assertion on transition property "none"
+ https://bugs.webkit.org/show_bug.cgi?id=20751
+
+ Test: transitions/transition-end-event-set-none.html
+
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+
+2008-09-11 David Smith <catfish.man@gmail.com>
+
+ Rubber-stamped by mitzpettel.
+
+ Remove an accidentally added extra file.
+
+ * WebCore: Removed.
+
+2008-09-11 David Smith <catfish.man@gmail.com>
+
+ Reviewed by Darin
+
+ https://bugs.webkit.org/show_bug.cgi?id=20180
+
+ This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
+
+ * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
+ * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
+ * dom/Element.cpp: include NodeRenderStyle.h
+ * dom/Node.cpp: Remove the definition of renderStyle()
+ (WebCore::Node::nonRendererRenderStyle):
+ * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
+ * dom/NodeRenderStyle.h: Added.
+ (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
+ * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
+ * html/HTMLOptGroupElement.h:
+ (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
+ * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
+ * html/HTMLOptionElement.h:
+ (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
+ * rendering/RenderListBox.cpp: include NodeRenderStyle.h
+ * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
+ * svg/SVGUseElement.cpp: include NodeRenderStyle.h
+
+2008-09-11 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Adele and Tim.
+
+ <rdar://problem/6100597> REGRESSION: clicking on search results in Web
+ Inspector does not scroll to the line of the results (20167)
+ - This was put in by Max to fix auto scrolling but is not correct for
+ the whole web: rdar://problem/6213098
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::canBeProgramaticallyScrolled):
+ * rendering/RenderObject.h:
+
+2008-09-11 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin
+
+ <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
+
+ Test: accessibility/frame-with-title.html
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityDescription):
+
+2008-09-11 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Simon.
+
+ Fixed stroke() and strokeRect() to support gradients
+ and patterns on Qt.
+
+ [Qt] Canvas stroke don't work for gradients and patterns
+ [https://bugs.webkit.org/show_bug.cgi?id=20749]
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+
+2008-09-11 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Simon.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20729
+
+ Fixed canvas gradients for Qt
+
+ [Qt] Canvas gradients don't work as expected
+ [https://bugs.webkit.org/show_bug.cgi?id=20729]
+
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::platformGradient):
+
+2008-09-11 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Simon.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20568
+
+ Add support for patterns to Qt.
+
+ * platform/graphics/qt/PatternQt.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+
+2008-09-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - clean up AnimationBase
+
+ * page/animation/AnimationBase.cpp:
+ * page/animation/AnimationBase.h:
+ * page/animation/CompositeAnimation.cpp:
+ * page/animation/ImplicitAnimation.cpp:
+ * page/animation/ImplicitAnimation.h:
+ * page/animation/KeyframeAnimation.cpp:
+ * page/animation/KeyframeAnimation.h:
+
+2008-09-10 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20741
+ REGRESSION: ISO-8859-8-I encoding is registered incorrectly
+
+ Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
+ check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
+ tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
+
+ I also found and fixed a potential crasher for non-Mac ports.
+
+ Tests: fast/encoding/hebrew/8859-8-e.html
+ fast/encoding/hebrew/8859-8-i.html
+ fast/encoding/hebrew/8859-8.html
+ fast/encoding/hebrew/csISO88598I.html
+ fast/encoding/hebrew/hebrew.html
+ fast/encoding/hebrew/iso-ir-138.html
+ fast/encoding/hebrew/logical.html
+
+ * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
+ (case-insensitively, because different versions of ICU report this MIME name in different
+ case).
+
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
+ (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
+ There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
+ with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
+ we also support these via TEC (which we should stop doing), but on Windows, this would
+ likely crash.
+
+2008-09-09 Dave Hyatt <hyatt@apple.com
+
+ Resurrect PlatformScrollbarWin.
+
+ Reviewed by Adam Roben
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/win/PlatformScrollBarWin.cpp:
+ (WebCore::isRunningOnVistaOrLater):
+ (WebCore::checkAndInitScrollbarTheme):
+ (WebCore::PlatformScrollbar::PlatformScrollbar):
+ (WebCore::PlatformScrollbar::invalidateTrack):
+ (WebCore::PlatformScrollbar::invalidatePart):
+ (WebCore::PlatformScrollbar::paint):
+ (WebCore::PlatformScrollbar::hasButtons):
+ (WebCore::PlatformScrollbar::hasThumb):
+ (WebCore::PlatformScrollbar::backButtonRect):
+ (WebCore::PlatformScrollbar::forwardButtonRect):
+ (WebCore::PlatformScrollbar::trackRect):
+ (WebCore::PlatformScrollbar::gripperRect):
+ (WebCore::PlatformScrollbar::thumbLength):
+ (WebCore::PlatformScrollbar::paintButton):
+ (WebCore::PlatformScrollbar::paintTrack):
+ (WebCore::PlatformScrollbar::paintThumb):
+ (WebCore::PlatformScrollbar::paintGripper):
+ (WebCore::PlatformScrollbar::hitTest):
+ (WebCore::PlatformScrollbar::handleMouseMoveEvent):
+ (WebCore::PlatformScrollbar::handleMouseOutEvent):
+ (WebCore::PlatformScrollbar::themeChanged):
+
+2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 20759: Remove MacroAssembler
+ <https://bugs.webkit.org/show_bug.cgi?id=20759>
+
+ Make the necessary changes to ForwardingHeaders to remove
+ MacroAssembler.
+
+ * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
+ * ForwardingHeaders/masm/MacroAssembler.h: Removed.
+ * ForwardingHeaders/masm/X86Assembler.h: Added.
+
+2008-09-09 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=16792
+ [GTK] Fails to render Japanese/Chinese text with simple path
+
+ https://bugs.webkit.org/show_bug.cgi?id=16942
+ [GTK] Oddities in font selection and fall back
+
+ https://bugs.webkit.org/show_bug.cgi?id=16862
+ [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
+
+ GTK+ font fixes and enhancements.
+
+ Implement font fallback for the simple FontConfig-based text path and
+ improve the Pango-based complex text path to make use of requested
+ font properties and available font selection.
+
+ Add text shadow support to the complex path.
+
+ * platform/graphics/gtk/FontCacheGtk.cpp:
+ (WebCore::FontCache::getFontDataForCharacters):
+ (WebCore::FontCache::getSimilarFontPlatformData):
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::setPangoAttributes):
+ (WebCore::Font::drawComplexText):
+ (WebCore::getDefaultPangoLayout):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/gtk/FontPlatformData.h:
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::hash):
+ * platform/graphics/gtk/FontPlatformDataGtk.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ (WebCore::SimpleFontData::platformDestroy):
+
+2008-09-09 Dave Hyatt <hyatt@apple.com>
+
+ Make the Windows classic case work again. Overlap in slider constants and other constants broke
+ the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
+ value to make sure it's really a slider thumb to resolve this conflict.
+
+ Reviewed by Adam Roben
+
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::drawControl):
+
+2008-09-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need to handle the case when 0% or 100% keyframe is omitted
+ https://bugs.webkit.org/show_bug.cgi?id=20679
+
+ Tests: animations/keyframes-from-missing.html
+ animations/keyframes-to-missing.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::addKeyframeStyle):
+
+2008-09-09 Dave Hyatt <hyatt@apple.com>
+
+ Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
+ RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
+ merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
+ what changes have been made as compared with the old RenderThemeWin).
+
+ Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
+ text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
+ vs. printer advancement rounding).
+
+ Reviewed by Adam/Sam
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * platform/graphics/Icon.h:
+ (WebCore::Icon::create):
+ * rendering/RenderThemeWin.cpp:
+ (WebCore::RenderThemeWin::RenderThemeWin):
+ (WebCore::RenderThemeWin::~RenderThemeWin):
+ (WebCore::RenderThemeWin::buttonTheme):
+ (WebCore::RenderThemeWin::textFieldTheme):
+ (WebCore::RenderThemeWin::menuListTheme):
+ (WebCore::RenderThemeWin::sliderTheme):
+ (WebCore::RenderThemeWin::close):
+ (WebCore::RenderThemeWin::themeChanged):
+ (WebCore::RenderThemeWin::supportsHover):
+ (WebCore::fillFontDescription):
+ (WebCore::RenderThemeWin::systemFont):
+ (WebCore::RenderThemeWin::supportsFocus):
+ (WebCore::RenderThemeWin::determineClassicState):
+ (WebCore::RenderThemeWin::determineState):
+ (WebCore::RenderThemeWin::determineSliderThumbState):
+ (WebCore::RenderThemeWin::getClassicThemeData):
+ (WebCore::RenderThemeWin::getThemeData):
+ (WebCore::drawControl):
+ (WebCore::RenderThemeWin::paintButton):
+ (WebCore::RenderThemeWin::paintTextField):
+ (WebCore::RenderThemeWin::paintMenuList):
+ (WebCore::RenderThemeWin::adjustMenuListStyle):
+ (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
+ (WebCore::RenderThemeWin::paintMenuListButton):
+ (WebCore::RenderThemeWin::paintSliderTrack):
+ (WebCore::RenderThemeWin::paintSliderThumb):
+ (WebCore::RenderThemeWin::adjustSliderThumbSize):
+ (WebCore::RenderThemeWin::paintSearchField):
+ (WebCore::RenderThemeWin::adjustSearchFieldStyle):
+ (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
+ (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
+ (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
+ (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
+ (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
+ (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
+ * rendering/RenderThemeWin.h:
+ (WebCore::ThemeData::ThemeData):
+ (WebCore::RenderThemeWin::paintSearchFieldDecoration):
+ (WebCore::RenderThemeWin::adjustButtonStyle):
+ (WebCore::RenderThemeWin::adjustTextFieldStyle):
+ (WebCore::RenderThemeWin::adjustTextAreaStyle):
+
+2008-09-09 Dean Jackson <dino@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Document::createEvent missing cases for animation and
+ transition events.
+ https://bugs.webkit.org/show_bug.cgi?id=20734
+
+ Test: transitions/transition-end-event-create.html
+ Test: animations/animation-events-create.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::createEvent):
+ - add the two cases
+
+2008-09-09 Dan Bernstein <mitz@apple.com>
+
+ - Tiger build fix
+
+ * WebCore.Tiger.exp:
+ * WebCore.base.exp:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2008-09-09 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
+
+ * WebCore.Tiger.exp:
+ * WebCore.base.exp:
+ * platform/graphics/SimpleFontData.h:
+ * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
+ (WebCore::GlyphPage::fill):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::initFontData):
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformDestroy):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2008-09-09 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
+ breakpoints inside eval.
+
+ * page/inspector/inspector.js:
+
+2008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix compilation of the Qt port with disabled plugins on Windows
+
+ * WebCore.pro:
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::PluginView):
+ * plugins/PluginView.h:
+
+2008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Try MIME charset names before trying IANA names
+ ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
+
+ With this change, shorter and more widely used names (preferred MIME
+ names) are returned by document.charset, document.characterSet,
+ document.inputEncoding rather than IANA names. This helps
+ fixing bug 18085 in addition to web developers who are more familiar
+ with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
+ returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
+ ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
+ Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
+ used, the former is still recognized as aliases to the latter so that
+ there's very little, if any, to worry about.
+
+ * platform/text/TextCodecICU.cpp:
+ (WebCore::TextCodecICU::registerExtendedEncodingNames):
+
+2008-09-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak and Oliver Hunt.
+
+ Add forwarding headers.
+
+ * ForwardingHeaders/wtf/HashFunctions.h: Added.
+
+2008-09-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Update grammar so that we can add a keyframe rule via the DOM.
+ https://bugs.webkit.org/show_bug.cgi?id=20613
+
+ * css/CSSGrammar.y:
+ * css/tokenizer.flex:
+
+2008-09-08 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Allow <br> for simple UA stylesheet. Editing code generates them. It does not
+ actually show up in any of the default stylesheets.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::elementCanUseSimpleDefaultStyle):
+
+2008-09-08 Dimitri Glazkov <dglazkov@google.com>
+
+ Reviewed by Dan Bernstein.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=20237
+ Zero width and space characters are displayed incorrectly if not contained in a fallback font
+
+ Adds an extra check for Object Replacement Character (U+FFFC) to address
+ the issue with fast/text/zero-width-characters.html test when run
+ with Windows system default fonts.
+
+ * platform/graphics/Font.h:
+ (WebCore::Font::treatAsZeroWidthSpace):
+
+2008-09-08 Dean Jackson <dino@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Code style issue I forgot to fix from previous commit.
+
+ * platform/graphics/AffineTransform.cpp:
+ (WebCore::AffineTransform::blend):
+
+2008-09-08 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Sam Weinig
+
+ - Animation of -webkit-transform matrix() function should not do linear interpolation
+ https://bugs.webkit.org/show_bug.cgi?id=20667
+
+ Test: animations/matrix-anim.html
+
+ * ChangeLog:
+ * platform/graphics/AffineTransform.cpp:
+ (WebCore::affineTransformDecompose):
+ (WebCore::affineTransformCompose):
+ (WebCore::AffineTransform::blend):
+ * platform/graphics/AffineTransform.h:
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::MatrixTransformOperation::blend):
+
+2008-09-08 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20668
+ multipart/form-data does not always include Content-type for submitted files
+
+ Cannot be tested with DRT or manual tests.
+
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
+ (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
+ unknown extensions, not just missing ones.
+
+2008-09-08 Simon Hausmann <hausmann@webkit.org>
+
+ Build fix for the Qt/Windows build, define USE_JSC to
+ enable the WebCore::String -> JSC::UString operator that
+ MSVC insists on seeing
+
+ * WebCore.pro:
+
+2008-09-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej.
+
+ <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
+
+ In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
+ page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
+
+ Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
+
+ * bindings/js/JSDOMWindowBase.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::commitProvisionalLoad):
+
+2008-09-07 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Don't leak the simple stylesheet.
+ Also call RenderTheme::adjustDefaultStyleSheet() in right place.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::loadFullDefaultStyle):
+ (WebCore::loadSimpleDefaultStyle):
+ (WebCore::CSSStyleSelector::styleForElement):
+
+2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 20711: Change KJS prefix on preprocessor macros to JSC
+ <https://bugs.webkit.org/show_bug.cgi?id=20711>
+
+ * bindings/js/JSEventTargetBase.h:
+ * bindings/js/JSHTMLInputElementBase.cpp:
+ * bindings/js/JSHTMLInputElementBase.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 20704: Replace the KJS namespace
+ <https://bugs.webkit.org/show_bug.cgi?id=20704>
+
+ Rename the KJS namespace to JSC. There are still some uses of KJS in the
+ names of JNI functions, and I will check if these are safe to change
+ as well.
+
+ * WebCore.base.exp:
+ * bindings/js/GCController.cpp:
+ * bindings/js/JSAttrCustom.cpp:
+ * bindings/js/JSAudioConstructor.cpp:
+ * bindings/js/JSAudioConstructor.h:
+ (WebCore::JSAudioConstructor::classInfo):
+ * bindings/js/JSCSSRuleCustom.cpp:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ * bindings/js/JSCSSValueCustom.cpp:
+ * bindings/js/JSCanvasPixelArrayCustom.cpp:
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ * bindings/js/JSClipboardCustom.cpp:
+ * bindings/js/JSConsoleCustom.cpp:
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.h:
+ (WebCore::JSCustomSQLStatementCallback::create):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.h:
+ (WebCore::JSCustomSQLStatementErrorCallback::create):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.h:
+ (WebCore::JSCustomSQLTransactionCallback::create):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.h:
+ (WebCore::JSCustomSQLTransactionErrorCallback::create):
+ * bindings/js/JSCustomVoidCallback.cpp:
+ (WebCore::JSCustomVoidCallback::handleEvent):
+ * bindings/js/JSCustomVoidCallback.h:
+ (WebCore::JSCustomVoidCallback::create):
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::create):
+ * bindings/js/JSCustomXPathNSResolver.h:
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::dispatchEvent):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::jsOwnedStringOrNull):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMObject::DOMObject):
+ (WebCore::cacheDOMObject):
+ (WebCore::cacheSVGDOMObject):
+ (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
+ (WebCore::toJS):
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowBase.h:
+ (WebCore::JSDOMWindowBase::classInfo):
+ (WebCore::JSDOMWindowBase::d):
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::getPropertyAttributes):
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::asJSDOMWindow):
+ (WebCore::JSDOMWindow::customGetOwnPropertySlot):
+ (WebCore::JSDOMWindow::customPut):
+ (WebCore::JSDOMWindowBase::allowsAccessFrom):
+ (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::getPropertyAttributes):
+ * bindings/js/JSDOMWindowShell.h:
+ (WebCore::JSDOMWindowShell::classInfo):
+ * bindings/js/JSDatabaseCustom.cpp:
+ * bindings/js/JSDocumentCustom.cpp:
+ * bindings/js/JSDocumentFragmentCustom.cpp:
+ * bindings/js/JSElementCustom.cpp:
+ * bindings/js/JSEventCustom.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSUnprotectedEventListener::create):
+ (WebCore::JSEventListener::create):
+ * bindings/js/JSEventTargetBase.cpp:
+ * bindings/js/JSEventTargetBase.h:
+ (WebCore::JSEventTargetBase::getValueProperty):
+ (WebCore::JSEventTargetBase::putValueProperty):
+ (WebCore::JSEventTargetBase::getOwnPropertySlot):
+ (WebCore::JSEventTargetBase::put):
+ (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
+ (WebCore::JSEventTargetPrototype::self):
+ (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
+ (WebCore::JSEventTargetPrototype::classInfo):
+ * bindings/js/JSEventTargetNode.cpp:
+ * bindings/js/JSEventTargetNode.h:
+ (WebCore::JSEventTargetNode::getOwnPropertySlot):
+ (WebCore::JSEventTargetNode::getValueProperty):
+ (WebCore::JSEventTargetNode::put):
+ (WebCore::JSEventTargetNode::putValueProperty):
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
+ (WebCore::JSHTMLAllCollection::toBoolean):
+ * bindings/js/JSHTMLAppletElementCustom.cpp:
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * bindings/js/JSHTMLElementCustom.cpp:
+ * bindings/js/JSHTMLEmbedElementCustom.cpp:
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ * bindings/js/JSHTMLInputElementBase.cpp:
+ (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
+ (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
+ * bindings/js/JSHTMLInputElementBase.h:
+ (WebCore::JSHTMLInputElementBase::classInfo):
+ * bindings/js/JSHTMLObjectElementCustom.cpp:
+ * bindings/js/JSHTMLOptionElementConstructor.cpp:
+ * bindings/js/JSHTMLOptionElementConstructor.h:
+ (WebCore::JSHTMLOptionElementConstructor::classInfo):
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ * bindings/js/JSHTMLSelectElementCustom.cpp:
+ (WebCore::selectIndexSetter):
+ (WebCore::JSHTMLSelectElement::indexSetter):
+ * bindings/js/JSHTMLSelectElementCustom.h:
+ * bindings/js/JSHistoryCustom.cpp:
+ * bindings/js/JSImageConstructor.cpp:
+ * bindings/js/JSImageConstructor.h:
+ (WebCore::JSImageConstructor::classInfo):
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ * bindings/js/JSInspectedObjectWrapper.h:
+ (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
+ (WebCore::JSInspectedObjectWrapper::classInfo):
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ * bindings/js/JSInspectorCallbackWrapper.h:
+ (WebCore::JSInspectorCallbackWrapper::classInfo):
+ (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ * bindings/js/JSLocationCustom.cpp:
+ * bindings/js/JSMimeTypeArrayCustom.cpp:
+ * bindings/js/JSNSResolver.cpp:
+ * bindings/js/JSNSResolver.h:
+ (WebCore::JSNSResolver::create):
+ * bindings/js/JSNamedNodeMapCustom.cpp:
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
+ * bindings/js/JSNamedNodesCollection.h:
+ (WebCore::JSNamedNodesCollection::classInfo):
+ * bindings/js/JSNavigatorCustom.cpp:
+ * bindings/js/JSNodeCustom.cpp:
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSNodeFilterCondition.h:
+ (WebCore::JSNodeFilterCondition::create):
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ * bindings/js/JSNodeListCustom.cpp:
+ * bindings/js/JSPluginArrayCustom.cpp:
+ * bindings/js/JSPluginCustom.cpp:
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::getRuntimeObject):
+ * bindings/js/JSPluginElementFunctions.h:
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::construct):
+ (WebCore::JSQuarantinedObjectWrapper::call):
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
+ (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
+ (WebCore::JSQuarantinedObjectWrapper::className):
+ * bindings/js/JSRGBColor.cpp:
+ * bindings/js/JSRGBColor.h:
+ (WebCore::JSRGBColor::classInfo):
+ * bindings/js/JSSQLResultSetRowListCustom.cpp:
+ * bindings/js/JSSQLTransactionCustom.cpp:
+ * bindings/js/JSSVGLazyEventListener.cpp:
+ * bindings/js/JSSVGLazyEventListener.h:
+ * bindings/js/JSSVGLengthCustom.cpp:
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::inverse):
+ (WebCore::JSSVGMatrix::rotateFromVector):
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ * 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:
+ * bindings/js/JSSVGTransformListCustom.cpp:
+ * bindings/js/JSStorageCustom.cpp:
+ * bindings/js/JSStyleSheetCustom.cpp:
+ * bindings/js/JSStyleSheetListCustom.cpp:
+ * bindings/js/JSTextCustom.cpp:
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ (WebCore::JSXMLHttpRequestConstructor::classInfo):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ * bindings/js/JSXSLTProcessorConstructor.h:
+ (WebCore::JSXSLTProcessorConstructor::classInfo):
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ * bindings/js/ScheduledAction.cpp:
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::attachDebugger):
+ (WebCore::ScriptController::windowScriptNPObject):
+ * bindings/js/ScriptController.h:
+ * bindings/js/ScriptControllerGtk.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ (WebCore::ScriptController::windowScriptObject):
+ (WebCore::ScriptController::clearPlatformScriptObjects):
+ (WebCore::updateRenderingForBindings):
+ (WebCore::ScriptController::initJavaJSBindings):
+ * bindings/js/ScriptControllerQt.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/js/ScriptControllerWin.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/js/ScriptControllerWx.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/js/StringSourceProvider.h:
+ (WebCore::StringSourceProvider::getRange):
+ * bindings/objc/DOM.mm:
+ (-[DOMNode JSC::Bindings::]):
+ * bindings/objc/DOMInternal.h:
+ * bindings/objc/DOMInternal.mm:
+ (-[WebScriptObject _initializeScriptDOMNodeImp]):
+ * bindings/objc/DOMUtility.mm:
+ (JSC::createDOMWrapper):
+ (WebCore::createDOMWrapper):
+ * bindings/objc/WebScriptObject.mm:
+ (WebCore::createJSWrapper):
+ (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
+ * bindings/objc/WebScriptObjectPrivate.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+ * bridge/NP_jsobject.h:
+ * bridge/c/c_class.cpp:
+ * bridge/c/c_class.h:
+ * bridge/c/c_instance.cpp:
+ * bridge/c/c_instance.h:
+ * bridge/c/c_runtime.cpp:
+ * bridge/c/c_runtime.h:
+ * bridge/c/c_utility.cpp:
+ * bridge/c/c_utility.h:
+ * bridge/jni/jni_class.cpp:
+ * bridge/jni/jni_class.h:
+ * bridge/jni/jni_instance.cpp:
+ * bridge/jni/jni_instance.h:
+ * bridge/jni/jni_jsobject.h:
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::convertJObjectToValue):
+ * bridge/jni/jni_objc.mm:
+ (JSC::Bindings::dispatchJNICall):
+ * bridge/jni/jni_runtime.cpp:
+ * bridge/jni/jni_runtime.h:
+ * bridge/jni/jni_utility.cpp:
+ * bridge/jni/jni_utility.h:
+ * bridge/npruntime.cpp:
+ (_NPN_GetStringIdentifier):
+ * bridge/objc/WebScriptObject.h:
+ * bridge/objc/objc_class.h:
+ * bridge/objc/objc_class.mm:
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ * bridge/objc/objc_runtime.h:
+ * bridge/objc/objc_runtime.mm:
+ * bridge/objc/objc_utility.h:
+ * bridge/objc/objc_utility.mm:
+ * bridge/qt/qt_class.cpp:
+ * bridge/qt/qt_class.h:
+ * bridge/qt/qt_instance.cpp:
+ * bridge/qt/qt_instance.h:
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue):
+ (JSC::Bindings::):
+ * bridge/qt/qt_runtime.h:
+ * bridge/runtime.cpp:
+ * bridge/runtime.h:
+ * bridge/runtime_array.cpp:
+ * bridge/runtime_array.h:
+ * bridge/runtime_method.cpp:
+ * bridge/runtime_method.h:
+ * bridge/runtime_object.cpp:
+ * bridge/runtime_object.h:
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ (JSC::Bindings::RootObject::gcProtect):
+ (JSC::Bindings::RootObject::gcUnprotect):
+ * bridge/runtime_root.h:
+ * bridge/testbindings.cpp:
+ * bridge/testbindings.mm:
+ * bridge/testqtbindings.cpp:
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ * dom/NSResolver.h:
+ * dom/Node.cpp:
+ (WebCore::Node::setDocument):
+ (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
+ (WebCore::resolveNamespacesForSelector):
+ (WebCore::Node::querySelector):
+ (WebCore::Node::querySelectorAll):
+ * dom/Node.h:
+ * dom/NodeFilter.cpp:
+ * dom/NodeFilter.h:
+ * dom/NodeFilterCondition.cpp:
+ * dom/NodeFilterCondition.h:
+ * dom/NodeIterator.cpp:
+ * dom/NodeIterator.h:
+ * dom/Traversal.cpp:
+ * dom/Traversal.h:
+ * dom/TreeWalker.cpp:
+ * dom/TreeWalker.h:
+ * dom/make_names.pl:
+ * history/CachedPage.cpp:
+ * history/CachedPage.h:
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::getInstance):
+ * html/HTMLPlugInElement.h:
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoader.h:
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::iconDatabase):
+ * page/Console.cpp:
+ * page/Console.h:
+ * page/InspectorController.cpp:
+ (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
+ (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
+ (WebCore::InspectorResource::setXMLHttpRequestProperties):
+ (WebCore::InspectorResource::sourceString):
+ (WebCore::getResourceDocumentNode):
+ (WebCore::search):
+ (WebCore::InspectorController::focusNode):
+ (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
+ (WebCore::InspectorController::addDatabaseScriptResource):
+ (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
+ * page/InspectorController.h:
+ (WebCore::InspectorController::profiles):
+ * page/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::scopeChain):
+ * page/JavaScriptCallFrame.h:
+ (WebCore::JavaScriptCallFrame::create):
+ (WebCore::JavaScriptCallFrame::update):
+ * page/JavaScriptDebugListener.h:
+ * page/JavaScriptDebugServer.cpp:
+ (WebCore::dispatchDidParseSource):
+ * page/JavaScriptDebugServer.h:
+ * page/JavaScriptProfile.cpp:
+ * page/JavaScriptProfile.h:
+ * page/JavaScriptProfileNode.cpp:
+ (WebCore::getTotalTime):
+ (WebCore::getSelfTime):
+ (WebCore::getTotalPercent):
+ (WebCore::getSelfPercent):
+ (WebCore::getNumberOfCalls):
+ (WebCore::getChildren):
+ (WebCore::getVisible):
+ * page/JavaScriptProfileNode.h:
+ * page/Page.cpp:
+ (WebCore::Page::setDebuggerForAllPages):
+ (WebCore::Page::setDebugger):
+ * page/Page.h:
+ (WebCore::Page::debugger):
+ * page/mac/FrameMac.mm:
+ * platform/KURL.h:
+ (WebCore::KURL::operator JSC::UString):
+ * platform/text/AtomicString.cpp:
+ (WebCore::AtomicString::add):
+ (WebCore::AtomicString::find):
+ * platform/text/AtomicString.h:
+ (WebCore::AtomicString::AtomicString):
+ * platform/text/PlatformString.h:
+ * platform/text/String.cpp:
+ (WebCore::charactersToDouble):
+ * platform/win/BString.cpp:
+ * platform/win/BString.h:
+ * plugins/MimeTypeArray.h:
+ * plugins/Plugin.h:
+ * plugins/PluginArray.h:
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::start):
+ (WebCore::PluginView::performRequest):
+ (WebCore::PluginView::bindingInstance):
+ * plugins/PluginView.h:
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::dispatchNPEvent):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ * storage/Database.cpp:
+ (WebCore::Database::Database):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::responseText):
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously):
+ (WebCore::XMLHttpRequest::clearResponse):
+ (WebCore::XMLHttpRequest::dropProtection):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ (WebCore::XMLHttpRequest::didReceiveData):
+ * xml/XMLHttpRequest.h:
+
+2008-09-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Adopt opener restriction on frame navigation.
+ https://bugs.webkit.org/show_bug.cgi?id=20642
+
+ This restriction helps prevent an attacker from navigating top-level
+ windows that were created by another web site.
+
+ Tests: http/tests/security/frameNavigation/not-opener.html
+ http/tests/security/frameNavigation/opener.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::canAccessAncestor):
+ (WebCore::FrameLoader::shouldAllowNavigation):
+
+2008-09-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ - use the correct sign for vertical offsets of combining marks
+
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::shapeAndPlaceItem):
+
+2008-09-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - add the combining mark offsets in two places where I forgot them
+
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::Font::drawGlyphs):
+
+2008-09-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - correct glyph advances in complex text using web fonts rendered with
+ Core Graphics
+
+ * platform/graphics/win/FontCustomPlatformData.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData):
+
+2008-09-07 Keishi Hattori <casey.hattori@gmail.com>
+
+ Adds console.dirxml support to the Web Inspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19156
+
+ Reviewed by Timothy Hatcher.
+
+ * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::dirxml):
+ * page/Console.cpp:
+ (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
+ * page/Console.h:
+ (WebCore::): Added NodeMessageLevel.
+ * page/Console.idl: Added console.dirxml.
+ * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
+ * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
+ in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
+ * page/inspector/ElementsTreeOutline.js: Added.
+ (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
+ (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
+ * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
+ * page/inspector/inspector.css:
+ * page/inspector/inspector.html: Added ElementsTreeOutline.js.
+ * page/inspector/inspector.js: Moved hover related methods to WebInspector.
+ (WebInspector.altKeyDown):
+ (WebInspector.forceHoverHighlight):
+ (WebInspector.hoveredDOMNode):
+ (WebInspector._updateHoverHighlightSoon):
+ (WebInspector._updateHoverHighlight):
+ (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
+ (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
+ * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
+ isAncestorIncludingParentFrames.
+
+2008-09-06 Mark Rowe <mrowe@apple.com>
+
+ Qt build fix.
+
+ * bridge/qt/qt_runtime.cpp:
+ (KJS::Bindings::convertQVariantToValue):
+
+=== End merge of squirrelfish-extreme ===
+
+2008-09-05 Oliver Hunt <oliver@apple.com>
+
+ Start bringing up SFX on windows.
+
+ Reviewed by Mark Rowe and Sam Weinig
+
+ Start doing the work to bring up SFX on windows. Initially
+ just working on WREC, as it does not make any calls so reduces
+ the amount of code that needs to be corrected.
+
+ Add forwarding headers
+
+ * ChangeLog:
+ * ForwardingHeaders/masm/MacroAssembler.h: Added.
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-08-27 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix the build of the full WebKit stack.
+
+ Add forwarding headers.
+
+ * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
+ * ForwardingHeaders/wrec/WREC.h: Added.
+
+=== Start merge of squirrelfish-extreme ===
+
+2008-09-06 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/6187043>
+ Don't parse full HTML user agent style sheet unless it is actually needed
+ <rdar://problem/6131889>
+ WebView is significantly more expensive to create recently
+
+ Parsing the html4.css takes significant amount of time and memory (~50kb) on application
+ startup. Some clients may never use most of the rules.
+
+ With this patch we use simplified UA stylesheet until we hit something it can't handle.
+ This avoids full stylesheet parsing on application startup (due to empty document construction)
+ and also makes it possible for clients with very simple demands (divs and spans only) never to load
+ the full style.
+
+ It also delays view source style parsing until it is used.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::elementCanUseSimpleDefaultStyle):
+ (WebCore::CSSStyleSelector::CSSStyleSelector):
+ (WebCore::loadFullDefaultStyle):
+ (WebCore::loadSimpleDefaultStyle):
+ (WebCore::loadViewSourceStyle):
+ (WebCore::CSSStyleSelector::matchUARules):
+ (WebCore::CSSStyleSelector::styleForElement):
+
+2008-09-06 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix.
+
+ * WebCoreSources.bkl:
+
+2008-09-06 Antti Koivisto <antti@apple.com>
+
+ Reverting r35953 which was causing problems on Windows which relies on
+ WebCore timers in nested event loops. r36132 did alternative fix.
+
+ * page/Chrome.cpp:
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
+ (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
+
+2008-09-06 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix <rdar://problem/6201644>
+ https://bugs.webkit.org/show_bug.cgi?id=20493
+ Crash after OK in dialog box and reloading page in secure mode
+
+ Limited loader only fix since the general timer fix is causing problems on Windows.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::servePendingRequests):
+ (WebCore::Loader::Host::Host):
+ (WebCore::Loader::Host::didFinishLoading):
+ (WebCore::Loader::Host::didFail):
+ (WebCore::Loader::Host::didReceiveData):
+ * loader/loader.h:
+ (WebCore::Loader::Host::processingResource):
+
+2008-09-06 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ The initial Core Text adoption prototype was made by Daniel Fenwick.
+
+ - <rdar://problem/5158514> Add a Core Text-based complex text code path
+
+ Currently the Core Text code path is not used in any configuration.
+
+ * WebCore.xcodeproj/project.pbxproj: Added files.
+ * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
+ * platform/graphics/Font.cpp:
+ (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
+ of the loop.
+ * platform/graphics/GlyphBuffer.h:
+ (WebCore::GlyphBuffer::add): Added this version that takes an advance.
+ * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
+ Added getCTFont() and getCFStringAttributes() and corresponding data
+ members for Core Text.
+ * platform/graphics/mac/CoreTextController.cpp: Added.
+ (WebCore::roundCGFloat): Helper function.
+ (WebCore::ceilCGFloat): Helper function.
+ (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
+ (WebCore::CoreTextController::CoreTextController):
+ (WebCore::CoreTextController::offsetForPosition):
+ (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
+ run into subruns as necessary such that each subrun can be rendered with
+ a single font. Also separates out soft hyphens and replaces them with
+ real hyphens, because Core Text does not emit a glyph for soft hyphens.
+ Then calls collectCoreTextRunsForCharacters() on each subrun.
+ (WebCore::CoreTextController::advance):
+ (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
+ a CTLine from the given subrun and collects its CoreTextRuns.
+ (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
+ rounding hacks, letter- and word-spacing and glyph substitutions and
+ stores the resulting adjusted glyphs and advances.
+ * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
+ (WebCore::CoreTextController::totalWidth):
+ (WebCore::CoreTextController::finalRoundingWidth):
+ (WebCore::CoreTextController::CoreTextRun::ctRun):
+ (WebCore::CoreTextController::CoreTextRun::glyphCount):
+ (WebCore::CoreTextController::CoreTextRun::fontData):
+ (WebCore::CoreTextController::CoreTextRun::characters):
+ (WebCore::CoreTextController::CoreTextRun::stringLocation):
+ (WebCore::CoreTextController::CoreTextRun::stringLength):
+ (WebCore::CoreTextController::CoreTextRun::indexAt):
+ * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
+ FontMacATSUI.mm.
+ * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
+ (WebCore::disableLigatures): Changed to call
+ FontPlatformData::allowsLigatures().
+ (WebCore::overrideLayoutOperation): Changed to call
+ FontPlatformData::roundsGlyphAdvances().
+ * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
+ (WebCore::Font::selectionRectForComplexText): Changed to use
+ totalWidth() instead of advancing to the end and using runWidthSoFar().
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText): Ditto.
+ (WebCore::Font::offsetForPositionForComplexText):
+ * platform/graphics/mac/FontPlatformData.h:
+ * platform/graphics/mac/FontPlatformDataMac.mm:
+ (WebCore::FontPlatformData::setFont):
+ (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
+ AppKit rendering mode.
+ (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
+ heuristic that allows ligatures in fonts that do not have a glyph for
+ 'a', based on the assumption that such fonts are only used in complex
+ text.
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformInit):
+ (WebCore::SimpleFontData::platformDestroy):
+ (WebCore::SimpleFontData::getCTFont): Added.
+ (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
+ returns an attributes dictionary.
+ * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
+ * platform/text/mac/ShapeArabic.h: Ditto.
+
+2008-09-06 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - make combining mark offsets work in CG text on Windows
+
+ * platform/graphics/win/FontCGWin.cpp:
+ (WebCore::Font::drawGlyphs): The old code tried to translate the text
+ matrix, but failed for two reasons: it did not actually change the
+ matrix, and even if it did, CGContextSetTextPosition overwrites the
+ translation values in the text matrix. Instead, just added the
+ translation to the anchor point.
+
+2008-09-05 Gustavo Noronha Silva <gns@gnome.org>
+
+ Reviewed by Alp Toker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=18346
+ [GTK] Remove build warnings
+
+ Applied some casts, and removed an unused typedef to make the
+ compiler happy, printing less warnings when building.
+
+ * page/gtk/AccessibilityObjectWrapperAtk.cpp:
+ * platform/graphics/gtk/SimpleFontDataPango.cpp:
+ (WebCore::SimpleFontData::containsCharacters):
+ * platform/graphics/gtk/VideoSinkGStreamer.cpp:
+ (webkit_video_sink_set_caps):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+
+2008-09-05 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Build fix for WebKitWin and Chromium
+
+ * platform/FileSystem.h:
+
+2008-09-05 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Try to make Chromium compile with ToT:
+ - Wrap a few places which depend on KJS:: in #if USE(JSC)
+ - Include some windows forward declarations
+
+ * dom/Node.h:
+ * page/Console.h:
+ * page/animation/CompositeAnimation.h:
+ * platform/FileSystem.h:
+ * platform/graphics/Image.h:
+ * platform/text/AtomicString.h:
+ * platform/text/String.cpp:
+ * rendering/style/RenderStyle.h:
+
+2008-09-05 Dave Hyatt <hyatt@apple.com>
+
+ Add support for runtime switchability of the Aqua look and the native look on Windows.
+ Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
+
+ Reviewed by Adam Roben
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * page/Settings.cpp:
+ (WebCore::Settings::setShouldPaintNativeControls):
+ * page/Settings.h:
+ (WebCore::Settings::shouldPaintNativeControls):
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::theme):
+ * rendering/RenderThemeWin.cpp:
+
+2008-09-05 Antti Koivisto <antti@apple.com>
+
+ Qt build fix.
+
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::build):
+
+2008-09-05 Dirk Schulze <vbs85@gmx.de>
+
+ Gtk build fix
+
+ * GNUmakefile.am:
+
+2008-09-05 Antti Koivisto <antti@apple.com>
+
+ Another build fix.
+
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::notifyFinished):
+
+2008-09-05 Antti Koivisto <antti@apple.com>
+
+ Build fixes.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * svg/graphics/filters/SVGFEImage.cpp:
+ (WebCore::FEImage::cachedImage):
+
+2008-09-05 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
+ When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
+
+ Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
+ not yet enable it for the biggest use case, reloading. However it is good for general browsing as
+ well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
+ we avoid re-decoding resources, especially images.
+
+ To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
+ CacheControl: max-age=0 header. That would be added in reload case.
+
+ The approach for revalidation is to kick the original resource out from the memory cache
+ and create a new CachedResource that represents the revalidation request. In case
+ we get 304 back for the request we put the original resource back to the cache, update
+ its expiration date and switch the clients registered to revalidation resource to be
+ clients of the original resource.
+
+ All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
+ This allows updating the handles to point to the original resource when the revalidation succeeds. It
+ also acts as refcounting smart pointer.
+
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSFontFaceSource.h:
+ * css/CSSImportRule.h:
+ * dom/Clipboard.h:
+ (WebCore::Clipboard::dragImage):
+ * dom/ProcessingInstruction.h:
+ * dom/ScriptElement.h:
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::isWaitingForScripts):
+ * dom/XMLTokenizer.h:
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::setImage):
+ (WebCore::HTMLImageLoader::updateFromElement):
+ (WebCore::HTMLImageLoader::notifyFinished):
+ * html/HTMLImageLoader.h:
+ (WebCore::HTMLImageLoader::image):
+ * html/HTMLLinkElement.h:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::reset):
+ (WebCore::HTMLTokenizer::scriptHandler):
+ (WebCore::HTMLTokenizer::notifyFinished):
+ * html/HTMLTokenizer.h:
+ * loader/Cache.cpp:
+ (WebCore::Cache::revalidateResource):
+ (WebCore::Cache::revalidationSucceeded):
+ (WebCore::Cache::revalidationFailed):
+ * loader/Cache.h:
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::CachedResource):
+ (WebCore::CachedResource::~CachedResource):
+ (WebCore::CachedResource::isExpired):
+ (WebCore::CachedResource::setResponse):
+ (WebCore::CachedResource::deleteIfPossible):
+ (WebCore::CachedResource::setResourceToRevalidate):
+ (WebCore::CachedResource::clearResourceToRevalidate):
+ (WebCore::CachedResource::switchClientsToRevalidatedResource):
+ (WebCore::CachedResource::canUseCacheValidator):
+ (WebCore::CachedResource::mustRevalidate):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::canDelete):
+ (WebCore::CachedResource::registerHandle):
+ (WebCore::CachedResource::unregisterHandle):
+ (WebCore::CachedResource::isCacheValidator):
+ (WebCore::CachedResource::resourceToRevalidate):
+ (WebCore::CachedResource::setExpirationDate):
+ * loader/CachedResourceHandle.cpp: Added.
+ (WebCore::CachedResourceHandleBase::setResource):
+ * loader/CachedResourceHandle.h: Added.
+ (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
+ (WebCore::CachedResourceHandleBase::get):
+ (WebCore::CachedResourceHandleBase::operator!):
+ (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
+ (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
+ (WebCore::CachedResourceHandleBase::operator=):
+ (WebCore::CachedResourceHandle::CachedResourceHandle):
+ (WebCore::CachedResourceHandle::get):
+ (WebCore::CachedResourceHandle::operator->):
+ (WebCore::CachedResourceHandle::operator=):
+ (WebCore::CachedResourceHandle::operator==):
+ (WebCore::CachedResourceHandle::operator!=):
+ (WebCore::operator==):
+ (WebCore::operator!=):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::checkForReload):
+ * loader/UserStyleSheetLoader.h:
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests):
+ (WebCore::Loader::Host::didFinishLoading):
+ (WebCore::Loader::Host::didFail):
+ (WebCore::Loader::Host::didReceiveResponse):
+ (WebCore::Loader::Host::didReceiveData):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::selectCursor):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::setCachedImage):
+ (WebCore::RenderImage::imageChanged):
+ * rendering/RenderImage.h:
+ (WebCore::RenderImage::cachedImage):
+ (WebCore::RenderImage::imagePtr):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleCachedImage.h:
+ (WebCore::StyleCachedImage::data):
+ (WebCore::StyleCachedImage::cachedImage):
+ * svg/SVGFEImageElement.h:
+ * svg/graphics/filters/SVGFEImage.h:
+ * xml/XSLImportRule.h:
+
+2008-09-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mitz
+
+ <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
+
+ A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
+ to model default NSURLRequest behavior in a cross-platform manner.
+
+ Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
+ client that wished to enforce a much larger default timeout using NSURLRequest API.
+
+ Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
+ behavior on the web and this restores previous Safari/WebKit behavior.
+
+ It would be easy to write a layout test for this, but to be effective it would have
+ to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
+
+ * manual-tests/timeout-test.html: Added.
+ * manual-tests/timeout-test.php: Added.
+
+ * platform/network/ResourceRequestBase.h:
+ (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
+ and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
+ "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
+ WebKit applications to enforce their own default timeout.
+
+2008-09-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
+
+ Test: fast/repaint/button-spurious-layout-hint.html
+
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::setStyle): Reset the inner block's style box
+ flex to 0 to avoid getting a spurious layout hint.
+
+2008-09-04 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes.
+
+ * WebCoreSources.bkl:
+ * bindings/js/ScriptControllerWx.cpp: Added.
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * page/wx/AccessibilityObjectWx.cpp: Added.
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ * webcore-base.bkl:
+ * webcore-wx.bkl:
+
+2008-09-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
+ and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
+ require a different approach
+
+ * css/CSSGrammar.y:
+
+2008-09-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
+ Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
+
+ * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
+ * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
+ for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
+
+2008-09-04 Mark Rowe <mrowe@apple.com>
+
+ Mac build fix.
+
+ * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
+
+2008-09-04 Eric Seidel <eric@webkit.org>
+
+ Build fix only, no review.
+
+ * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
+
+2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Eric Seidel.
+
+ http://bugs.webkit.org/show_bug.cgi?id=20380
+ [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
+
+ * config.h: Include the configuration header generated by autotools if
+ available.
+
+2008-09-04 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Dave Hyatt.
+
+ - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
+
+ * loader/CachedFont.cpp:
+ (WebCore::CachedFont::allClientsRemoved):
+ * loader/CachedFont.h:
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::allClientsRemoved):
+ * loader/CachedImage.h:
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::removeClient):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::allClientsRemoved):
+
+2008-09-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix after r36071
+
+ We were getting these errors:
+
+ error C2356: initialization segment must not change during translation
+ unit
+
+ This was happening because multiple files #included by
+ DerivedSources.cpp were themselves #including StaticConstructors.h. I
+ fixed the error by adding header guards to StaticConstructors.h so its
+ contents will only be included once.
+
+ But it's also not a good idea for StaticConstructors.h to end up in
+ DerivedSources.cpp, since it ends up "polluting" all the source files
+ we have in there. So I removed all the files that include
+ StaticConstructors.h and added some preprocessor directives to
+ DerivedSources.cpp to catch this error in the future.
+
+ * DerivedSources.cpp: Removed the *Names.cpp files, which include
+ StaticConstructors.h, and added some preprocessor directives to make
+ sure we don't end up accidentally including StaticConstructors.h in
+ the future.
+ * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
+ * platform/StaticConstructors.h: Added header guards.
+
+2008-09-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * platform/graphics/win/FontPlatformData.h: Added a missing #include
+ of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
+ * platform/text/PlatformString.h: Added a missing #include of
+ PassRefPtr.h.
+
+2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix the QtWebKit build to match changes in r36016
+
+ * WebCore.pro:
+ * bridge/qt/qt_instance.cpp:
+ (KJS::Bindings::QtInstance::getRuntimeObject):
+ * bridge/qt/qt_runtime.cpp:
+ (KJS::Bindings::convertQVariantToValue):
+ (KJS::Bindings::QtConnectionObject::execute):
+
+2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
+
+ Reviewed by Simon.
+
+ Re-enable support for user stylesheets in QtWebKit
+
+ QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
+ code path, which allows us to keep API support for
+ loading user style sheets from remote URLs.
+
+ As part of the change UserStyleSheetLoader.cpp/h was
+ moved from WebCore/loader/mac to WebCore/loader.
+
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.h:
+ * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
+ (UserStyleSheetLoader::UserStyleSheetLoader):
+ (UserStyleSheetLoader::~UserStyleSheetLoader):
+ * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
+ * page/qt/FrameQt.cpp:
+ (WebCore::Frame::setUserStyleSheetLocation):
+ (WebCore::Frame::setUserStyleSheet):
+
+2008-09-04 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Eric.
+
+ Remove left-over QT and CAIRO platform checks.
+
+ * html/CanvasRenderingContext2D.cpp:
+
+2008-09-04 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix leak of TextMetrics due to over-ref as see on buildbot.
+
+ * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
+
+2008-09-04 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=19717
+ <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
+ positioned movement only case, call
+ tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
+ layout if that fails.
+ (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
+ layoutDoingPositionedMovementOnly to this, and made this function
+ check if the width changed. If it did, return, leaving the object
+ dirty. The caller can then call layout(). The width can change even
+ in the "positioned movement only" case if the object is shrink-to-fit
+ and the available width constraint is met. (This was the case in the
+ bug).
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
+ Renamed layoutDoingPositionedMovementOnly() to this.
+
+2008-09-03 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Attempt to fix the Qt build.
+
+ * WebCore.pro: add page/animation to include path
+
+2008-09-03 Mark Rowe <mrowe@apple.com>
+
+ Mac build fix. Correctly detect whether dashboard support is enabled.
+
+ * DerivedSources.make:
+
+2008-09-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam.
+
+ Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
+
+ * Configurations/WebCore.xcconfig: add missing ENABLE_*
+ * config.h: add rules for V8_BINDINGS
+
+2008-09-03 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20620
+
+ Add #if USE(JSC) around KJS dependencies
+ Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
+ 1. Most platforms have it on anyway
+ 2. V8 is going to want to share some of that code
+ 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
+
+ * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
+ * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
+ * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
+ * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
+ * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
+ * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
+ * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
+ * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
+ * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
+ * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
+ * platform/text/AtomicString.cpp: add USE(JSC)
+ * platform/text/AtomicString.h: add USE(JSC)
+ * platform/text/PlatformString.h: add USE(JSC)
+ * platform/text/String.cpp: add USE(JSC)
+ * platform/text/StringImpl.cpp: add USE(JSC)
+ * platform/text/StringImpl.h: add USE(JSC)
+
+2008-09-03 Dean McNamee <deanm@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=20511
+ Bug 20511: Remove static initializers on Windows
+
+ Avoid static initializers on Windows by forcing Visual C++ to put
+ all static initializers in a code segment that is never executed.
+
+ * config.h:
+ * css/MediaFeatureNames.cpp:
+ * dom/EventNames.cpp:
+ * dom/QualifiedName.cpp:
+ * dom/make_names.pl:
+ * platform/StaticConstructors.h:
+ * platform/text/AtomicString.cpp:
+
+2008-09-03 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Dave Hyatt.
+
+ Make FontCairo draw TextStroke and TextFill separately.
+
+ [CAIRO] draw TextFill and TextStroke separately.
+ [https://bugs.webkit.org/show_bug.cgi?id=20631]
+
+ * platform/graphics/cairo/FontCairo.cpp:
+ (WebCore::Font::drawGlyphs):
+
+2008-09-03 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19663
+ Account for paint and timer lag when animating images. Also pretend
+ that images whose animations were paused (by becoming invisible)
+ continued to animate, by "catching up" to the correct frame when they're
+ shown again.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::startAnimation):
+ (WebCore::BitmapImage::advanceAnimation):
+ (WebCore::BitmapImage::internalAdvanceAnimation):
+ (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::BitmapImage::draw):
+
+2008-09-03 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ Remove the rest of the "zombie" code from the profiler.
+ - There is no longer a need for the ProfilerClient callback mechanism.
+
+ * page/Console.cpp:
+ (WebCore::Console::Console):
+ (WebCore::Console::profile):
+ (WebCore::Console::profileEnd): Move the variables from the header to
+ here since we don't have to wait for a callback to use them.
+ * page/Console.h:
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+ * page/InspectorController.h:
+
+2008-09-03 Ada Chan <adachan@apple.com>
+
+ Windows build fix.
+
+ * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
+
+2008-09-01 Dean Jackson <dino@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20594
+ Add DOM interfaces for WebKitCSSKeyframeRule
+ and WebKitCSSKeyframesRule.
+
+ TEST: LayoutTests/css3/keyframes-rule.html
+
+ * css/WebKitCSSKeyframeRule.idl: Added
+ * css/WebKitCSSKeyframesRule.idl: Added
+
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS):
+ Add return of new JS Keyframe rules
+ * bindings/objc/DOMInternal.h:
+ Include new internal header
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ Build configs for new files
+
+2008-09-03 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
+ * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
+ convenience/consistency.
+
+2008-09-03 Adele Peterson <adele@apple.com>
+
+ Build fix.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-09-03 David Hyatt <hyatt@apple.com>
+
+ Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
+
+ Reviewed by Darin (ages ago)
+
+ Added fast/block/float/clamped-right-float.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::positionNewFloats):
+
+2008-09-02 David Hyatt <hyatt@apple.com>
+
+ Add support for canvas text drawing APIs.
+
+ Reviewed by olliej
+
+ Tests added as fast/canvas/canvas-text-*.html
+
+ * DerivedSources.make:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::JSCanvasRenderingContext2D::fillText):
+ (WebCore::JSCanvasRenderingContext2D::strokeText):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::initForStyleResolve):
+ (WebCore::CSSStyleSelector::applyPropertyToStyle):
+ * css/CSSStyleSelector.h:
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::State::State):
+ (WebCore::CanvasRenderingContext2D::font):
+ (WebCore::CanvasRenderingContext2D::setFont):
+ (WebCore::CanvasRenderingContext2D::textAlign):
+ (WebCore::CanvasRenderingContext2D::setTextAlign):
+ (WebCore::CanvasRenderingContext2D::textBaseline):
+ (WebCore::CanvasRenderingContext2D::setTextBaseline):
+ (WebCore::CanvasRenderingContext2D::fillText):
+ (WebCore::CanvasRenderingContext2D::strokeText):
+ (WebCore::CanvasRenderingContext2D::measureText):
+ (WebCore::CanvasRenderingContext2D::drawTextInternal):
+ (WebCore::CanvasRenderingContext2D::accessFont):
+ * html/CanvasRenderingContext2D.h:
+ * html/CanvasRenderingContext2D.idl:
+ * html/TextMetrics.h: Added.
+ (WebCore::TextMetrics::create):
+ (WebCore::TextMetrics::width):
+ (WebCore::TextMetrics::setWidth):
+ (WebCore::TextMetrics::TextMetrics):
+ * html/TextMetrics.idl: Added.
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::lineGap):
+ * platform/graphics/Font.h:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawBidiText):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/GraphicsTypes.cpp:
+ (WebCore::textAlignName):
+ (WebCore::parseTextAlign):
+ (WebCore::textBaselineName):
+ (WebCore::parseTextBaseline):
+ * platform/graphics/GraphicsTypes.h:
+ (WebCore::):
+
+2008-09-03 John Sullivan <sullivan@apple.com>
+
+ Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
+
+ Fixed by Darin, reviewed by me
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::propertiesEqual):
+ added ensurePropertyMap() to this static function
+ (WebCore::AnimationBase::getPropertyAtIndex):
+ ditto
+ (WebCore::AnimationBase::getNumProperties):
+ ditto
+
+2008-09-03 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Darin and Tim.
+
+ Remove most of the "zombie" mode from the profiler. Next we will need
+ to remove the client callback mechanism in profiles.
+ - These changes are a result of changes to JSCore.
+
+ * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
+ * page/Console.cpp:
+ (WebCore::retrieveLastCaller):
+ (WebCore::Console::profileEnd):
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+
+2008-09-03 Adele Peterson <adele@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Test: fast/forms/search-display-none-cancel-button.html
+
+ Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
+
+ * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
+ (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
+ (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
+ (WebCore::RenderTextControl::createSubtreeIfNeeded):
+ Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
+ (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
+ (WebCore::RenderTextControl::subtreeHasChanged): ditto.
+ (WebCore::RenderTextControl::calcHeight): ditto.
+ (WebCore::RenderTextControl::nodeAtPoint): ditto.
+ (WebCore::RenderTextControl::layout): ditto.
+ (WebCore::RenderTextControl::calcPrefWidths): ditto.
+ (WebCore::RenderTextControl::clientPaddingLeft): ditto.
+ (WebCore::RenderTextControl::clientPaddingRight): ditto.
+
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
+ (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
+ (WebCore::TextControlInnerElement::attachInnerElement): Added.
+ This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
+ (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
+ * rendering/TextControlInnerElements.h:
+
+2008-08-28 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Maciej.
+
+ Elminate SQLiteAuthorizer class.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCore.vcproj/WebCore.vcproj:
+ * GNUmakefile.am
+ Removed SQLiteAuthorizer.h.
+
+ * platform/sql/SQLiteAuthorizer.cpp:
+ * platform/sql/SQLiteAuthorizer.h: Removed.
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::authorizerFunction):
+ (WebCore::SQLiteDatabase::setAuthorizer):
+ * platform/sql/SQLiteDatabase.h:
+ * storage/DatabaseAuthorizer.h:
+ (WebCore::DatabaseAuthorizer::create):
+ (WebCore::DatabaseAuthorizer::createView):
+ (WebCore::DatabaseAuthorizer::createTempView):
+ (WebCore::DatabaseAuthorizer::dropView):
+ (WebCore::DatabaseAuthorizer::dropTempView):
+ (WebCore::DatabaseAuthorizer::allowSelect):
+ (WebCore::DatabaseAuthorizer::allowReindex):
+ Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
+
+2008-09-03 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Mark Rowe.
+
+ WebKitGtk build fix.
+
+ * GNUmakefile.am:
+ * page/animation/AnimationController.h:
+
+2008-09-02 Robert Blaut <webkit@blaut.biz>
+
+ Reviewed by Geoff Garen.
+
+ Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
+ Misplaced elements should not close DL lists.
+
+ Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleError):
+
+2008-09-02 Glenn Wilson <wilsong@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
+ Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
+
+ We would inappropriately interpret and apply an invalid CSS "color" property
+ when the value is a predefined color preceded by a '#' symbol. For example,
+ style="color:#gray;" would apply the color gray when it should not.
+
+ In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
+ This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
+ interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
+ an ignorable token.
+
+ To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
+ '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
+ CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
+
+ Test: css1/color_and_background/invalid_color.html
+
+ * css/CSSGrammar.y:
+
+2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
+ Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
+
+ Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
+
+ Test: css3/khtml-background-size-0x0-bmp.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::repaintLayerRectsForImage):
+
+2008-09-02 Glenn Wilson <wilsong@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=20397
+ Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
+
+ The function checkForOrphanedUnits() would change the length of a list whose size was
+ was already determined before the call to checkForOrphanedUnits was made. Later in
+ the caller, the old size was being used for boundary management.
+
+ This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
+ calling function, before the size of the list is determined.
+
+ Test: fast/css/orphaned_units_crash.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
+
+2008-09-02 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Darin Adler.
+
+ Fallback on invalid fill or stroke styles in Canvas was
+ transparent black. Changed it to last valid style.
+
+ Canvas fillStyle() and strokeStyle() needs fallback
+ https://bugs.webkit.org/show_bug.cgi?id=20474
+
+ Tests: fast/canvas/canvas-invalid-fillstyle.html
+ fast/canvas/canvas-invalid-strokestyle.html
+
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyStrokeColor):
+ (WebCore::CanvasStyle::applyFillColor):
+
+2008-09-02 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Darin Adler.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=20468
+ Updated drawImage() in canvas to match the current specification.
+
+ Test: fast/canvas/drawImage-with-negative-source-destination.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::normalizeRect):
+ (WebCore::CanvasRenderingContext2D::drawImage):
+
+2008-08-26 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/5768210> Switch back to the system version of SQLite
+
+ Use the system version of SQLite when it is new enough to provide the functionality
+ that WebCore requires.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/DebugRelease.xcconfig:
+ * Configurations/WebCore.xcconfig:
+
+2008-09-02 Dan Bernstein <mitz@apple.com>
+
+ - build fix
+
+ * page/animation/AnimationBase.h:
+
+2008-09-02 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ AnimationController.cpp should be split into separate files
+ https://bugs.webkit.org/show_bug.cgi?id=20604
+
+ Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
+ recommendation of Dave Hyatt.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ Build files.
+
+ * page/AnimationController.cpp: Removed.
+ * page/AnimationController.h: Removed.
+ * page/animation: Added.
+ * page/animation/AnimationBase.cpp: Added.
+ * page/animation/AnimationBase.h: Added.
+ * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
+ * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
+ * page/animation/CompositeAnimation.cpp: Added.
+ * page/animation/CompositeAnimation.h: Added.
+ * page/animation/ImplicitAnimation.cpp: Added.
+ * page/animation/ImplicitAnimation.h: Added.
+ * page/animation/KeyframeAnimation.cpp: Added.
+ * page/animation/KeyframeAnimation.h: Added.
+
+2008-09-02 Dan Bernstein <mitz@apple.com>
+
+ - release build fix
+
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::calculateDrawingMode):
+
+2008-09-02 Timothy Hatcher <timothy@apple.com>
+
+ Make console functions log the correct resource URL and
+ line number for where the call originated.
+
+ https://bugs.webkit.org/show_bug.cgi?id=17234
+ <rdar://problem/5732837>
+
+ Reviewed by Kevin McCullough.
+
+ Test: manual-tests/inspector/console-call-line-numbers.html
+
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::count): Call the impl.
+ (WebCore::JSConsole::timeEnd): Ditto.
+ * manual-tests/inspector/console-call-line-numbers.html: Added.
+ * manual-tests/inspector/resources/script-console-calls.js: Added.
+ * page/Console.cpp:
+ (WebCore::retrieveLastCaller): Helper to get the URL and line.
+ (WebCore::Console::error): Call retrieveLastCaller to get the URL and
+ line number to pass to addMessageToConsole.
+ (WebCore::Console::info): Ditto.
+ (WebCore::Console::log): Ditto.
+ (WebCore::Console::assertCondition): Ditto.
+ (WebCore::Console::count): Ditto.
+ (WebCore::Console::timeEnd): Ditto.
+ (WebCore::Console::warn): Ditto.
+ * page/Console.h:
+ * page/Console.idl: Make count and timeEnd custom.
+
+2008-09-02 Timothy Hatcher <timothy@apple.com>
+
+ Removed IDL files from WebCore's framework resources.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-09-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
+
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
+ cap on the number of consecutive identical residual style tags to
+ reopen.
+ (WebCore::HTMLParser::popBlock): Ditto.
+
+2008-09-02 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ A little database quota management cleanup.
+
+ * storage/OriginQuotaManager.cpp:
+ (WebCore::OriginQuotaManager::OriginQuotaManager):
+ (WebCore::OriginQuotaManager::lock):
+ (WebCore::OriginQuotaManager::unlock):
+ (WebCore::OriginQuotaManager::trackOrigin):
+ (WebCore::OriginQuotaManager::tracksOrigin):
+ (WebCore::OriginQuotaManager::addDatabase):
+ (WebCore::OriginQuotaManager::removeDatabase):
+ (WebCore::OriginQuotaManager::removeOrigin):
+ (WebCore::OriginQuotaManager::markDatabase):
+ (WebCore::OriginQuotaManager::diskUsage):
+ * storage/OriginQuotaManager.h:
+ Changed to assert that a lock is taken more directly and reliably. Removed comments about
+ main/background threads, as this is likely to stop being true with synchronous Database calls
+ being made on worker threads.
+
+ * storage/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::OriginUsageRecord):
+ (WebCore::OriginUsageRecord::addDatabase):
+ (WebCore::OriginUsageRecord::removeDatabase):
+ (WebCore::OriginUsageRecord::markDatabase):
+ (WebCore::OriginUsageRecord::diskUsage):
+ * storage/OriginUsageRecord.h:
+ (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
+ Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
+ can be replaced with a single boolean for OriginUsageRecord.
+ Added assertions for string parameters being unshared.
+
+
+2008-09-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19760
+
+ Make granting LoadLocalResources conditional on a policy.
+
+ * WebCore.base.exp:
+ * dom/Document.cpp:
+ (WebCore::Document::initSecurityContext):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::setLocalLoadPolicy):
+ (WebCore::FrameLoader::restrictAccessToLocal):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::):
+ * platform/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::grantLoadLocalResources):
+ * platform/SecurityOrigin.h:
+
+2008-09-01 Dean Jackson <dino@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20571
+ Make sure Window object can assign Animation/Transition event
+ listeners via attributes.
+
+ Also added a bunch of transition event tests, although
+ only transition-end-event-window is directly relevant to this patch.
+
+ (WebCore::JSDOMWindowBase::put):
+
+ Tests: transitions/transition-end-event-all-properties.html
+ transitions/transition-end-event-attributes.html
+ transitions/transition-end-event-container.html
+ transitions/transition-end-event-left.html
+ transitions/transition-end-event-multiple-01.html
+ transitions/transition-end-event-multiple-02.html
+ transitions/transition-end-event-multiple-03.html
+ transitions/transition-end-event-multiple-04.html
+ transitions/transition-end-event-nested.html
+ transitions/transition-end-event-transform.html
+ transitions/transition-end-event-window.html
+
+2008-09-01 Dean Jackson <dino@apple.com>
+
+ Reviewed by Sam Weinig
+
+ Code styling cleanup.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::getValueProperty):
+ (WebCore::JSDOMWindowBase::put):
+
+2008-09-01 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler.
+
+ First cut at inline caching for access to vanilla JavaScript properties.
+
+ Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
+ to WebCore classes, and PutPropertySlot& arguments to put functions.
+
+ (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
+ inline caching for global properties, so global assignment can be optimized.
+
+ * ForwardingHeaders/kjs/StructureID.h: Added.
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMObject::DOMObject):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::put):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.h:
+ (WebCore::JSDOMWindow::customPut):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::JSDOMWindowShell::JSDOMWindowShell):
+ (WebCore::JSDOMWindowShell::put):
+ * bindings/js/JSDOMWindowShell.h:
+ * bindings/js/JSEventTargetBase.h:
+ (WebCore::JSEventTargetBase::put):
+ * bindings/js/JSEventTargetNode.h:
+ (WebCore::JSEventTargetNode::put):
+ * bindings/js/JSHTMLAppletElementCustom.cpp:
+ (WebCore::JSHTMLAppletElement::customPut):
+ * bindings/js/JSHTMLEmbedElementCustom.cpp:
+ (WebCore::JSHTMLEmbedElement::customPut):
+ * bindings/js/JSHTMLInputElementBase.cpp:
+ (WebCore::JSHTMLInputElementBase::put):
+ * bindings/js/JSHTMLInputElementBase.h:
+ * bindings/js/JSHTMLObjectElementCustom.cpp:
+ (WebCore::JSHTMLObjectElement::customPut):
+ * bindings/js/JSHistoryCustom.cpp:
+ (WebCore::JSHistory::customPut):
+ * bindings/js/JSInspectedObjectWrapper.cpp:
+ (WebCore::JSInspectedObjectWrapper::wrap):
+ (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
+ * bindings/js/JSInspectedObjectWrapper.h:
+ * bindings/js/JSInspectorCallbackWrapper.cpp:
+ (WebCore::JSInspectorCallbackWrapper::wrap):
+ (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
+ * bindings/js/JSInspectorCallbackWrapper.h:
+ * bindings/js/JSLocationCustom.cpp:
+ (WebCore::JSLocation::customPut):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::runtimeObjectCustomPut):
+ * bindings/js/JSPluginElementFunctions.h:
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
+ (WebCore::JSQuarantinedObjectWrapper::put):
+ * bindings/js/JSQuarantinedObjectWrapper.h:
+ * bindings/js/JSStorageCustom.cpp:
+ (WebCore::JSStorage::customPut):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject setValue:forKey:]):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+ (_NPN_SetProperty):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::setMember):
+ * bridge/objc/objc_class.mm:
+ (KJS::Bindings::ObjcClass::fallbackObject):
+ * bridge/objc/objc_runtime.h:
+ * bridge/objc/objc_runtime.mm:
+ (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
+ (ObjcFallbackObjectImp::put):
+ * bridge/runtime.cpp:
+ (KJS::Bindings::Instance::createRuntimeObject):
+ * bridge/runtime_array.cpp:
+ (RuntimeArray::put):
+ * bridge/runtime_array.h:
+ * bridge/runtime_object.cpp:
+ (RuntimeObjectImp::RuntimeObjectImp):
+ (RuntimeObjectImp::put):
+ * bridge/runtime_object.h:
+
+2008-09-01 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Fixed border-radius for Cairo.
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::strokeArc):
+
+2008-09-01 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Added canvas's globalAlpha to cairo.
+
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::setAlpha):
+ (WebCore::GraphicsContext::getAlpha):
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ * platform/graphics/cairo/ImageCairo.cpp:
+ (WebCore::BitmapImage::draw):
+
+2008-08-31 Simon Hausmann <hausmann@webkit.org>
+
+ Unreviewed Qt build fix.
+
+ * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
+ the .h file
+
+2008-08-30 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej.
+
+ - adopt some new JavaScriptCore functions where appropriate
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
+ (WebCore::windowProtoFuncBToA): Ditto.
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSLazyEventListener::eventParameterName): Adopted
+ jsNontrivialString.
+ * bindings/js/JSSVGLazyEventListener.cpp:
+ (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
+
+2008-08-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders' rubberstamp
+
+ Style cleanup to match MediaTokenizer::writeRawData()
+
+ * loader/PluginDocument.cpp:
+ (WebCore::PluginTokenizer::writeRawData):
+
+2008-08-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders
+
+ https://bugs.webkit.org/show_bug.cgi?id=20556
+ <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
+
+ Fix regression I introducted in 35946
+ Already covered by media/video-click-dlbclick-standalone.html
+
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
+ (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
+ an ASSERT signifying that this method should only be called once, to more closely follow the
+ PluginDocument case.
+
+2008-08-29 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/6181588>
+
+ This patch makes hit testing take into account the new concept of a
+ disconnected frame, in which some of the content may not be
+ visible. The current hit testing mechanism starts at a target frame
+ and drills down for a HitTestResult. In some cases, drilling down
+ will find a non-visible result. When this happens, we need to try
+ again, starting at a higher level -- namely, starting at the main
+ frame.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::insideVisibleArea): New function that tests if a
+ point is inside the visible area for a disconnected frame.
+ * editing/Editor.h:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+
+2008-08-29 Adele Peterson <adele@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * html/HTMLTextFieldInnerElement.cpp: Removed.
+ * html/HTMLTextFieldInnerElement.h: Removed.
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::createSubtreeIfNeeded):
+ * rendering/RenderTextControl.h:
+ * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
+ (WebCore::TextControlInnerElement::TextControlInnerElement):
+ (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
+ (WebCore::TextControlInnerTextElement::defaultEventHandler):
+ (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
+ (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
+ (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
+ (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
+ * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
+
+2008-08-29 Eric Seidel <eric@webkit.org>
+
+ Rubber-stamped by aroben.
+
+ Add GraphicsContext.h include to GraphcisContextPrivate.h
+
+ GraphicsContextPrivate uses StrokeStyle which is defined
+ in GraphicsContext.h but it doesn't include that header.
+ CoreGraphics build doesn't fail here due to the order
+ it happens to include files.
+
+ * platform/graphics/GraphicsContextPrivate.h:
+
+2008-08-29 Eric Seidel <eric@webkit.org>
+
+ Reviewed by hyatt.
+
+ Fix GeneratedImage to respect Image's refcounting
+ Fixing potential crashers (future if not current)
+ https://bugs.webkit.org/show_bug.cgi?id=20567
+
+ I don't know if it's possible to make the current code
+ crash, thus I've not made a test.
+
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::image):
+ * css/CSSImageGeneratorValue.cpp:
+ (WebCore::CSSImageGeneratorValue::removeClient):
+ (WebCore::CSSImageGeneratorValue::getImage):
+ * css/CSSImageGeneratorValue.h:
+ * platform/graphics/GeneratedImage.h:
+ (WebCore::GeneratedImage::GeneratedImage):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setContent):
+ * rendering/style/RenderStyle.h:
+
+2008-08-29 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele.
+
+ Fix for <rdar://problem/6093767>
+ https://bugs.webkit.org/show_bug.cgi?id=20526
+
+ Don't allow video to render until unsupported track types have been disabled.
+
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWinPrivate::task):
+ (QTMovieWinPrivate::drawingComplete):
+ (QTMovieWinPrivate::clearGWorld):
+
+2008-08-29 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
+ <rdar://problem/6169301>
+
+ Return the size of the movie data instead of 1000.
+
+ Test: media/progress-event-total.html
+
+ * platform/graphics/win/QTMovieWin.cpp:
+ (QTMovieWin::dataSize):
+
+2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Eric Seidel.
+
+ [janitor/qt] Start replacing port specific getters with the generic native getter
+ To get the native presentation of an image we currently have platform
+ specific #ifdef's and a generic getter using NativeImagePtr. This patch
+ extends this to the ImageBuffer and updates the Qt platform to get rid
+ of the special #ifdefs.
+
+ https://bugs.webkit.org/attachment.cgi?id=22861
+
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/Image.h:
+ * platform/graphics/qt/ImageQt.cpp:
+ * platform/graphics/qt/StillImageQt.cpp:
+ * platform/graphics/qt/StillImageQt.h:
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::createDragImage):
+ (WebCore::ClipboardQt::declareAndWriteDragImage):
+ * platform/qt/CursorQt.cpp:
+ * platform/qt/PasteboardQt.cpp:
+ (WebCore::Pasteboard::writeImage):
+
+2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon.
+
+ [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
+
+ * svg/graphics/qt/SVGPaintServerQt.cpp:
+ (WebCore::SVGPaintServer::renderPath):
+ * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
+ (WebCore::SVGPaintServerSolid::setup):
+
+2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon.
+
+ [network/qt] Implement defering of loading ResourceHandle's
+ This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
+ implementation is simply not forwarding anything to the
+ ResourceHandleClient until we are allowed to. This might lead to a deadlock
+ in Qt as we do not empty the QNetworkReply input buffer and wait until we
+ are allowed to read. If that happens we are forced to buffer the data
+ within QNetworkReplyHandler, for now this is not done.
+
+ Manual test:
+ - Open http://acid3.acidtests.org
+ - Wait for the test to complete
+ - Click on the Reference Rendering link
+ - Be fast and see the results of acid3
+ => assert
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+ (WebCore::QNetworkReplyHandler::setLoadMode):
+ (WebCore::QNetworkReplyHandler::finish):
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+ (WebCore::QNetworkReplyHandler::forwardData):
+ (WebCore::QNetworkReplyHandler::start):
+ (WebCore::QNetworkReplyHandler::resetState):
+ (WebCore::QNetworkReplyHandler::sendQueuedItems):
+ * platform/network/qt/QNetworkReplyHandler.h:
+ (WebCore::QNetworkReplyHandler::):
+ * platform/network/qt/ResourceHandleQt.cpp:
+ (WebCore::ResourceHandle::start):
+ (WebCore::ResourceHandle::loadResourceSynchronously):
+ (WebCore::ResourceHandle::setDefersLoading):
+
+2008-08-29 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger.
+
+ Don't crash when drawing patterns with the HTML canvas. Patterns
+ remain unimplemented but at least they don't crash anymore. This is
+ done by changing the PlatformPatternPtr to be a brush for the Qt
+ platform.
+
+ * platform/graphics/Pattern.h:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ * platform/graphics/qt/PatternQt.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+
+2008-08-29 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build, fontSelector() is not used by the Qt port yet
+ and we just return 0 in Font::fontSelector().
+
+ * platform/graphics/Font.h:
+
+2008-08-28 Alp Toker <alp@nuanti.com>
+
+ GTK+ dist/build fix. List newly added header files.
+
+ * GNUmakefile.am:
+
+2008-08-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Various WebKitCSSTransformValue-related fixes
+ https://bugs.webkit.org/show_bug.cgi?id=20562
+
+ Test: css3/transform-value-types.html
+
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS):
+ * css/CSSValue.h:
+ * css/WebKitCSSTransformValue.cpp:
+ (WebCore::WebKitCSSTransformValue::cssText):
+ * css/WebKitCSSTransformValue.h:
+ (WebCore::WebKitCSSTransformValue::):
+ * css/WebKitCSSTransformValue.idl:
+
+2008-08-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::TimerWindowWndProc):
+
+2008-08-28 David Hyatt <hyatt@apple.com>
+
+ RenderStyle cleanup.
+
+ Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
+
+ Reviewed by Adam
+
+ * css/CSSImageGeneratorValue.cpp:
+ * css/CSSImageValue.cpp:
+ * css/CSSStyleSelector.cpp:
+ * rendering/RenderImageGeneratedContent.cpp:
+ * rendering/style/NinePieceImage.cpp: Added.
+ * rendering/style/NinePieceImage.h: Added.
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::FillLayer::operator==):
+ (WebCore::FillLayer::containsImage):
+ (WebCore::StyleInheritedData::operator==):
+ (WebCore::RenderStyle::contentDataEquivalent):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleCachedImage.cpp: Added.
+ * rendering/style/StyleCachedImage.h: Added.
+ * rendering/style/StyleGeneratedImage.cpp: Added.
+ * rendering/style/StyleGeneratedImage.h: Added.
+ * rendering/style/StyleImage.h: Added.
+
+2008-08-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Make all the 'isFoo()' methods on CSSValue const,
+ and fix the subclasses.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20561
+
+ * css/CSSTimingFunctionValue.h:
+ * css/CSSValue.h:
+ (WebCore::CSSValue::isFontValue):
+ (WebCore::CSSValue::isImageGeneratorValue):
+ (WebCore::CSSValue::isImageValue):
+ (WebCore::CSSValue::isImplicitInitialValue):
+ * css/CSSValueList.h:
+ * css/FontValue.h:
+
+2008-08-28 David Hyatt <hyatt@apple.com>
+
+ The great RenderStyle cleanup begins!
+
+ Move LengthBox and LengthSize out of RenderStyle and into Length.
+
+ Reviewed by Adam
+
+ * rendering/Length.h:
+ (WebCore::):
+ (WebCore::Length::Length):
+ (WebCore::Length::operator==):
+ (WebCore::Length::operator!=):
+ (WebCore::Length::value):
+ (WebCore::Length::rawValue):
+ (WebCore::Length::percent):
+ (WebCore::Length::type):
+ (WebCore::Length::quirk):
+ (WebCore::Length::setValue):
+ (WebCore::Length::setRawValue):
+ (WebCore::Length::calcValue):
+ (WebCore::Length::calcMinValue):
+ (WebCore::Length::calcFloatValue):
+ (WebCore::Length::isUndefined):
+ (WebCore::Length::isZero):
+ (WebCore::Length::isPositive):
+ (WebCore::Length::isNegative):
+ (WebCore::Length::isAuto):
+ (WebCore::Length::isRelative):
+ (WebCore::Length::isPercent):
+ (WebCore::Length::isFixed):
+ (WebCore::Length::isStatic):
+ (WebCore::Length::isIntrinsicOrAuto):
+ (WebCore::Length::blend):
+ (WebCore::LengthBox::LengthBox):
+ (WebCore::LengthBox::operator=):
+ (WebCore::LengthBox::operator==):
+ (WebCore::LengthBox::operator!=):
+ (WebCore::LengthBox::nonZero):
+ (WebCore::LengthSize::LengthSize):
+ * rendering/style/RenderStyle.h:
+
+2008-08-28 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin
+
+ https://bugs.webkit.org/show_bug.cgi?id=18091
+
+ font-size should be animatable using -webkit-transition.
+
+ * page/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::ensurePropertyMap):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::setFontSize):
+
+2008-08-28 Brad Garcia <bgarcia@google.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20549
+ Correctly determine when cursor is over a resizable border within
+ a nested frameset.
+
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::canResizeRow):
+ (WebCore::RenderFrameSet::canResizeColumn):
+
+2008-08-28 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Seidel
+
+ Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
+ https://bugs.webkit.org/show_bug.cgi?id=20552
+
+ Test: animations/animation-css-rule-types.html
+
+ * css/CSSRule.idl:
+
+2008-08-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin and Darin.
+
+ <rdar://problem/6182541>
+ https://bugs.webkit.org/show_bug.cgi?id=20202
+ Missing http status line from the http headers.
+
+ Add a status line to the header string.
+
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream):
+
+2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber-stamped by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=17261
+
+ Make it possible to theme the default Url icon and enable this for
+ the Qt port. To have a minimal usage of #ifdef in the code the setting
+ of the icon was moved to a new method which comes in two flavors.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::loadDefaultIconRecord): Load or set the default icon
+ (WebCore::IconDatabase::defaultIcon):
+
+2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed compile fix
+
+ * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
+
+2008-08-28 Adam Roben <aroben@apple.com>
+
+ Windows (and others?) build fix
+
+ * page/Chrome.cpp: Added a missing #include.
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
+
+2008-08-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Qt and Cairo support from krit (and blind stab @ wx compile support)
+ https://bugs.webkit.org/show_bug.cgi?id=20373
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::drawPath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::setPlatformFillColor):
+ (WebCore::GraphicsContext::setPlatformStrokeColor):
+ (WebCore::GraphicsContext::setPlatformStrokeStyle):
+ (WebCore::GraphicsContext::strokeRect):
+ (WebCore::GraphicsContext::setImageInterpolationQuality):
+ (WebCore::GraphicsContext::imageInterpolationQuality):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+ (WebCore::GraphicsContext::setPlatformStrokeGradient):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::strokeRect):
+ (WebCore::GraphicsContext::clipToImageBuffer):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+ (WebCore::GraphicsContext::setPlatformStrokeGradient):
+ (WebCore::GraphicsContext::setImageInterpolationQuality):
+ (WebCore::GraphicsContext::imageInterpolationQuality):
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ (WebCore::GraphicsContext::clipToImageBuffer):
+ (WebCore::GraphicsContext::setImageInterpolationQuality):
+ (WebCore::GraphicsContext::imageInterpolationQuality):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::drawPath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+
+2008-08-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
+ https://bugs.webkit.org/show_bug.cgi?id=20373
+
+ Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
+
+ Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
+ have to store large Gradient objects in the GraphicsContextState
+
+ Made Pattern RefCounted for the same reason.
+
+ Many updates to GraphicsContext to support easier drawing with
+ Patterns and Gradients.
+
+ * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::toJS):
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::createGradient):
+ * css/CSSGradientValue.h:
+ * html/CanvasGradient.cpp:
+ (WebCore::CanvasGradient::CanvasGradient):
+ * html/CanvasGradient.h:
+ (WebCore::CanvasGradient::gradient):
+ (WebCore::CanvasGradient::addColorStop):
+ (WebCore::CanvasGradient::getColor):
+ * html/CanvasPattern.cpp:
+ * html/CanvasPattern.h:
+ (WebCore::CanvasPattern::pattern):
+ (WebCore::CanvasPattern::originClean):
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::State::State):
+ (WebCore::CanvasRenderingContext2D::setStrokeStyle):
+ (WebCore::CanvasRenderingContext2D::setFillStyle):
+ (WebCore::CanvasRenderingContext2D::fill):
+ (WebCore::CanvasRenderingContext2D::stroke):
+ (WebCore::CanvasRenderingContext2D::fillRect):
+ (WebCore::CanvasRenderingContext2D::strokeRect):
+ * html/CanvasRenderingContext2D.h:
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyStrokeColor):
+ (WebCore::CanvasStyle::applyFillColor):
+ * html/CanvasStyle.h:
+ * platform/graphics/GeneratedImage.h:
+ (WebCore::GeneratedImage::GeneratedImage):
+ * platform/graphics/Generator.h:
+ * platform/graphics/Gradient.h:
+ (WebCore::Gradient::create):
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::fillRule):
+ (WebCore::GraphicsContext::setFillRule):
+ (WebCore::GraphicsContext::setStrokePattern):
+ (WebCore::GraphicsContext::setFillPattern):
+ (WebCore::GraphicsContext::setStrokeGradient):
+ (WebCore::GraphicsContext::setFillGradient):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/GraphicsContextPrivate.h:
+ (WebCore::):
+ (WebCore::GraphicsContextState::GraphicsContextState):
+ * platform/graphics/GraphicsTypes.h:
+ * platform/graphics/Path.h:
+ * platform/graphics/Pattern.h:
+ (WebCore::Pattern::create):
+ (WebCore::Pattern::tileImage):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::drawRect):
+ (WebCore::GraphicsContext::drawEllipse):
+ (WebCore::GraphicsContext::drawConvexPolygon):
+ (WebCore::calculateDrawingMode):
+ (WebCore::GraphicsContext::drawPath):
+ (WebCore::fillPathWithFillRule):
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::fillRoundedRect):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokeGradient):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+
+2008-08-20 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Darin and Alexey.
+
+ Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
+ with timeouts paused.
+ https://bugs.webkit.org/show_bug.cgi?id=20469
+
+ I attempted to clean up the memory management of PausedTimeouts, I'm not
+ sure the solution I came up with is "cleaner", but it's in some ways
+ "safer", since it no longer uses raw pointers and manual new/delete.
+
+ This also now prevents CachedPage from needlessly creating Window
+ objects when caching pages which didn't already have one. :)
+
+ I also made Chrome.cpp no longer depend on the JavaScript bindings
+ (aka JSDOMWindowBase.h), since there was no real reason for it to.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::pauseTimeouts):
+ (WebCore::JSDOMWindowBase::resumeTimeouts):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::pauseTimeouts):
+ (WebCore::ScriptController::resumeTimeouts):
+ * bindings/js/ScriptController.h:
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::CachedPage):
+ (WebCore::CachedPage::restore):
+ * page/Chrome.cpp:
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
+ (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
+ * page/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
+ (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
+
+2008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed compile fix
+
+ Add the stub for the Qt port.
+
+ * WebCore.pro:
+ * page/qt/AccessibilityObjectQt.cpp: Added.
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+
+2008-08-27 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Eric.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20551
+ [GTK] search popup crash
+
+ * platform/gtk/SearchPopupMenuGtk.cpp:
+ (WebCore::SearchPopupMenu::enabled):
+ Fix a search popup crasher by disabling the history popup since we
+ don't support this feature yet in the GTK+ port.
+
+2008-08-27 Alp Toker <alp@nuanti.com>
+
+ Reviewed by Eric.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20551
+ [GTK] curl crashers
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::startScheduledJobs):
+ Remove the resource handle from the pending list before starting the
+ job, not afterwards. Fixes crashers in the test suite.
+
+ Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
+ Test: fast/encoding/char-encoding.html
+
+2008-08-27 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by eseidel.
+
+ Fix canvas drawImage to support composite operations.
+ Composite had no effect on canvas elements like these:
+ http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
+
+ [CAIRO] Canvas composite don't work on canvas-elements.
+ https://bugs.webkit.org/show_bug.cgi?id=20548
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
+
+2008-08-27 Mario Bensi <mbensi@pleyo.com>
+
+ Reviewed by Eric Seidel.
+
+ Fix the data content of an image with a base64.
+
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::parseDataUrl): Remove the String and use only the data
+ Vector because the data.latin1().data() convert the data content and
+ the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
+ not drawn correctly.
+
+2008-08-27 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Crash after OK in dialog box and reloading page in secure mode
+ https://bugs.webkit.org/show_bug.cgi?id=20493
+
+ The new run loop spawned by a modal dialog causes a timer in the loader to run
+ synchronously inside didFinishLoading() deleting "this" object.
+
+ Defer all WebCore timers when a modal dialog is up. They are not
+ safe to execute.
+
+ * page/Chrome.cpp:
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
+ (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
+
+2008-08-27 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Memory leaks when animating transforms
+ https://bugs.webkit.org/show_bug.cgi?id=20532
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::ScaleTransformOperation::blend):
+ (WebCore::RotateTransformOperation::blend):
+ (WebCore::SkewTransformOperation::blend):
+ (WebCore::TranslateTransformOperation::blend):
+ (WebCore::MatrixTransformOperation::blend):
+ * rendering/style/RenderStyle.h:
+
+2008-08-27 Timothy Hatcher <timothy@apple.com>
+
+ Add support for support for -webkit-appearance: default-button on the Mac platform.
+
+ <rdar://problem/6173530>
+
+ Reviewed by Dave Hyatt.
+
+ * WebCore.base.exp: Export new symbols.
+ * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
+ (WebCore::RenderButton::setStyle): Ditto.
+ * rendering/RenderButton.h: Ditto.
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
+ (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
+ key if the button is default, otherwise reset the key equivalent.
+ (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
+ on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
+ the window's previous default button cell when finished.
+
+2008-08-26 David Hyatt <hyatt@apple.com>
+
+ First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
+
+ Reviewed by weinig
+
+ Added fast/forms/zoomed-controls.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::addIntrinsicMargins):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::calcPrefWidths):
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::adjustRepaintRect):
+ (WebCore::RenderThemeMac::inflateRect):
+ (WebCore::RenderThemeMac::baselinePosition):
+ (WebCore::RenderThemeMac::setControlSize):
+ (WebCore::RenderThemeMac::sizeForFont):
+ (WebCore::RenderThemeMac::sizeForSystemFont):
+ (WebCore::RenderThemeMac::setFontFromControlSize):
+ (WebCore::RenderThemeMac::paintCheckbox):
+ (WebCore::RenderThemeMac::setCheckboxCellState):
+ (WebCore::RenderThemeMac::paintRadio):
+ (WebCore::RenderThemeMac::setRadioCellState):
+ (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
+ (WebCore::RenderThemeMac::adjustButtonStyle):
+ (WebCore::RenderThemeMac::setButtonCellState):
+ (WebCore::RenderThemeMac::paintButton):
+ (WebCore::RenderThemeMac::paintMenuList):
+ (WebCore::RenderThemeMac::paintMenuListButton):
+ (WebCore::RenderThemeMac::popupInternalPaddingLeft):
+ (WebCore::RenderThemeMac::popupInternalPaddingRight):
+ (WebCore::RenderThemeMac::popupInternalPaddingTop):
+ (WebCore::RenderThemeMac::popupInternalPaddingBottom):
+ (WebCore::RenderThemeMac::setPopupButtonCellState):
+ (WebCore::RenderThemeMac::paintSliderTrack):
+ (WebCore::RenderThemeMac::paintSliderThumb):
+ (WebCore::RenderThemeMac::adjustSliderThumbSize):
+ (WebCore::RenderThemeMac::paintSearchField):
+ (WebCore::RenderThemeMac::adjustSearchFieldStyle):
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
+
+2008-08-27 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders
+
+ <rdar://problem/6134133> - Crash when loading large movie as a standalone document
+
+ We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
+ to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
+ away the virtual address space and a crash.
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
+ * loader/FrameLoaderClient.h: Added client method to get platform specific error for
+ "plugin will handle load"
+
+ * loader/MediaDocument.cpp:
+ (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
+ and cancel the WebCore-managed load
+ (WebCore::MediaTokenizer::writeRawData):
+ (WebCore::MediaTokenizer::finish):
+
+2008-08-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Seidel
+
+ Linear timing functions should have control points 0, 0, 1, 1.
+ https://bugs.webkit.org/show_bug.cgi?id=20535
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
+ * rendering/style/RenderStyle.h:
+
+2008-08-27 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebCore.vcproj/WebCore.vcproj: Fix file extension.
+
+2008-08-26 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
+
+ Added platform-specific accessibilityIgnoreAttachment, which allows the platform
+ to determine if an attachment is ignored through accessibility. Added equivalent
+ methods in Gtk, Win and Mac
+
+ Test: accessibility/plugin.html
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/AccessibilityObject.h:
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ * page/gtk/AccessibilityObjectAtk.cpp: Added.
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+ * page/mac/AccessibilityObjectMac.mm: Added.
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+ * page/mac/AccessibilityObjectWrapper.h:
+ * page/win/AccessibilityObjectWin.cpp: Added.
+ (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
+
+2008-08-26 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
+
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
+ (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
+
+2008-08-26 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
+
+ Tests: accessibility/table-notbody.html
+
+ * page/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+
+2008-08-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Fix typo.
+
+ * dom/DOMCoreException.h:
+
+2008-08-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=20479
+ <rdar://problem/6167660>
+ Take image redirects into account when tainting the canvas.
+
+ Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+ (WebCore::CanvasRenderingContext2D::drawImageFromRect):
+
+2008-08-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Change canvas tainting logic to ask the image if it contains
+ any resources outside of its own origin. Since there is no
+ way to determine if SVG images contain any resources outside its
+ origin, we always assume it does.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+ (WebCore::CanvasRenderingContext2D::drawImageFromRect):
+ * platform/graphics/BitmapImage.h:
+ (WebCore::BitmapImage::hasSingleSecurityOrigin):
+ * platform/graphics/GeneratedImage.h:
+ (WebCore::GeneratedImage::hasSingleSecurityOrigin):
+ * platform/graphics/Image.h:
+ (WebCore::Image::hasSingleSecurityOrigin):
+ * platform/graphics/cg/PDFDocumentImage.h:
+ (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
+ * svg/graphics/SVGImage.h:
+
+2008-08-26 Maxime Britto <britto@apple.com>
+
+ Reviewed by Adele.
+
+ <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
+ This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
+ This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
+ * page/EventHandler.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
+ (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
+ * rendering/RenderLayer.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
+ (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
+ (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
+
+2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
+ https://bugs.webkit.org/show_bug.cgi?id=20247
+
+ <rdar://problem/6118218>
+
+ Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
+ check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
+ (case insensitive for HTML elements).
+
+ Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::getAttribute):
+ * dom/NamedAttrMap.cpp:
+ (WebCore::NamedAttrMap::getNamedItem):
+ (WebCore::NamedAttrMap::getAttributeItem):
+ * dom/NamedAttrMap.h:
+
+2008-08-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
+ <rdar://problem/6174096>
+ Treat SVG images as dirty when drawing to a canvas.
+
+ Test: http/tests/security/canvas-remote-read-svg-image.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+ (WebCore::CanvasRenderingContext2D::drawImageFromRect):
+ * platform/graphics/Image.h:
+ (WebCore::Image::isSVGImage):
+ * svg/graphics/SVGImage.h:
+ (WebCore::SVGImage::isSVGImage):
+
+2008-08-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=20377
+ Leak in XMLHttpRequest.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
+
+2008-08-25 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders
+
+ Speculative fix for <rdar://problem/6173217>
+
+ Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
+ Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
+ the first null check invalid.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::stopAllLoaders):
+
+
+2008-08-25 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
+ there is no profile, can cause crash
+
+ * page/inspector/ProfilesPanel.js:
+
+2008-08-25 Dean Jackson <dino@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Make sure 'inherit' is handled by transition property.
+ https://bugs.webkit.org/show_bug.cgi?id=20513
+
+ Test: transitions/inherit.html
+ Test: transitions/inherit-other-props.html
+
+ * css/CSSStyleSelector.cpp:
+ fix macro to check existence of list before getting size
+
+2008-08-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark.
+
+ <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
+
+ Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
+ (safely) that any class that needs finalization on the main thread will also need to be deallocated
+ on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
+ calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
+
+ * platform/mac/WebCoreObjCExtras.c:
+ (WebCoreObjCFinalizeOnMainThread):
+
+2008-08-25 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rename CachedResource::referenced() to CachedResource::hasClients() to
+ match previous ref() -> addClient() rename.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::pruneLiveResources):
+ (WebCore::Cache::pruneDeadResources):
+ (WebCore::Cache::remove):
+ (WebCore::Cache::getStatistics):
+ (WebCore::Cache::dumpLRULists):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::addClient):
+ (WebCore::CachedResource::removeClient):
+ (WebCore::CachedResource::setDecodedSize):
+ (WebCore::CachedResource::setEncodedSize):
+ * loader/CachedResource.h:
+ (WebCore::CachedResource::hasClients):
+ (WebCore::CachedResource::canDelete):
+
+2008-08-25 Anthony Ricaud <rik24d@gmail.com>
+
+ Add a missing Inspector localized string for "other".
+
+ https://bugs.webkit.org/show_bug.cgi?id=20509
+
+ Reviewed by Tim Hatcher.
+
+ * English.lproj/localizedStrings.js:
+
+2008-08-22 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoff, Mark and Tim.
+
+ <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
+ in the console said what file and line number they came from
+ - Lay the foundation for getting line numbers and other data from the
+ JavaScript engine.
+
+ * ForwardingHeaders/VM: Added.
+ * ForwardingHeaders/VM/Machine.h: Added.
+ * page/Console.cpp: Gather the line number and file information when
+ profileEnd has been called, but don't use it until didFinishProfiling is
+ called. We won't need to wait once we remove the profiler "zombie" mode
+ which this patch helps pave the foundation for.
+ (WebCore::Console::Console):
+ (WebCore::Console::profileEnd):
+ (WebCore::Console::finishedProfiling):
+ * page/Console.h:
+ * page/InspectorController.cpp: Modify calls to
+ addProfileMessageToConsole to satisfy the new arguments it takes.
+ (WebCore::InspectorController::finishedProfiling):
+ (WebCore::InspectorController::addProfile):
+ (WebCore::InspectorController::addProfileMessageToConsole):
+ (WebCore::InspectorController::finishedProfiling):
+ * page/InspectorController.h:
+
+2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon.
+
+ [inspector] Update the WebKit.qrc Qt resources file
+ Catchup with the changes in the directory.
+
+ * page/inspector/WebKit.qrc:
+
+2008-08-25 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Simon.
+
+ Transformed the radian to degree, to get rotate()
+ in canvas work as expected.
+
+ [Qt] Canvas.rotate() doesn't work
+ https://bugs.webkit.org/show_bug.cgi?id=20496
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::rotate):
+
+2008-08-24 Steve Falkenburg <sfalken@apple.com>
+
+ Add a "last chance" WM_TIMER to the Windows shared timer.
+
+ The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
+ Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
+ timers if a timer with an earlier expiration is already pending. This results in no timers
+ firing from that point on.
+
+ We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
+ buggy window message hook.
+
+ This timer will start when the first WM_TIMER is scheduled, and will
+ fire every 5 seconds thereafter, causing any lost timers to be fired.
+
+ Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
+ and prevents the WebFrame leak.
+
+ Reviewed by Darin Adler, Geoff Garen.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::):
+ (WebCore::TimerWindowWndProc):
+ (WebCore::setSharedTimerFireTime):
+
+2008-08-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
+
+ Test: fast/css/font-property-priority.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
+ to the font-property-parsing functions.
+ (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
+ changed to use it rather than the m_important member.
+ (WebCore::CSSParser::parseFontVariant): Ditto.
+ (WebCore::CSSParser::parseFontWeight): Ditto.
+ * css/CSSParser.h:
+
+2008-08-24 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where the Inspector's UI would not animate or
+ fully function because JavaScript timeouts, intervals and
+ CSS animation timers where not firing while paused at a
+ a breakpoint in the inspected page.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20042
+
+ Reviewed by Darin Adler.
+
+ Test: manual-tests/inspector/forzen-ui-while-paused.html
+
+ * page/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::pauseIfNeeded):
+ Add a call to TimerBase::fireTimersInNestedEventLoop before
+ spinning the EventLoop.
+
+2008-08-24 Rob Buis <buis@kde.org>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20324
+ A change in SVG Glyph wont show up
+
+ Invalidate the glyph cache when the d attribute is set.
+
+ Test: svg/custom/glyph-setting-d-attribute.svg
+
+ * svg/SVGGlyphElement.cpp:
+ (WebCore::SVGGlyphElement::invalidateGlyphCache):
+ (WebCore::SVGGlyphElement::parseMappedAttribute):
+ (WebCore::SVGGlyphElement::insertedIntoDocument):
+ (WebCore::SVGGlyphElement::removedFromDocument):
+ * svg/SVGGlyphElement.h:
+
+2008-08-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=13864
+ <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
+ beginWS and endWS before the early return to ensure that they are
+ initialized in that case.
+
+2008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Rubber-stamped by Mark Rowe.
+
+ Remove modelines.
+
+ * WebCore.pro:
+ * bridge/testbindings.cpp:
+ * dom/DocPtr.h:
+ * loader/SubstituteData.h:
+ * page/Chrome.cpp:
+ * page/Chrome.h:
+ * page/ChromeClient.h:
+ * page/Frame.h:
+ * page/FrameLoadRequest.h:
+ * page/FrameTree.cpp:
+ * page/FrameTree.h:
+ * page/Page.h:
+ * page/mac/ChromeMac.mm:
+ * platform/network/HTTPHeaderMap.h:
+ * platform/network/ResourceErrorBase.cpp:
+ * platform/network/ResourceErrorBase.h:
+ * platform/network/ResourceHandleInternal.h:
+ * platform/network/ResourceRequestBase.cpp:
+ * platform/network/ResourceRequestBase.h:
+ * platform/network/ResourceResponseBase.cpp:
+ * platform/network/ResourceResponseBase.h:
+ * platform/network/cf/ResourceError.h:
+ * platform/network/cf/ResourceRequest.h:
+ * platform/network/cf/ResourceRequestCFNet.h:
+ * platform/network/cf/ResourceResponse.h:
+ * platform/network/cf/ResourceResponseCFNet.h:
+ * platform/network/curl/ResourceError.h:
+ * platform/network/curl/ResourceRequest.h:
+ * platform/network/curl/ResourceResponse.h:
+ * platform/network/mac/ResourceError.h:
+ * platform/network/mac/ResourceErrorMac.mm:
+ * platform/network/mac/ResourceRequest.h:
+ * platform/network/mac/ResourceRequestMac.mm:
+ * platform/network/mac/ResourceResponse.h:
+ * platform/network/mac/ResourceResponseMac.mm:
+ * platform/network/qt/ResourceError.h:
+ * platform/network/qt/ResourceRequest.h:
+ * platform/network/qt/ResourceResponse.h:
+ * platform/network/soup/CookieJarSoup.cpp:
+ * platform/network/soup/ResourceError.h:
+ * platform/network/soup/ResourceRequest.h:
+ * platform/network/soup/ResourceResponse.h:
+
+2008-08-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
+
+ Test: fast/table/vertical-align-baseline.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
+ baseline of the first table row, if there is one, -1 otherwise.
+ * rendering/RenderTable.h:
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::baselinePosition): Changed to follow the
+ CSS2.1 definition of the baseline of a table cell.
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
+ the baseline of the first row in the section.
+ * rendering/RenderTableSection.h:
+
+2008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Add SPI to make a Windows WebView transparent.
+
+ Reviewed by Dan Bernstein.
+
+ * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
+ determines whether the created context has an alpha channel.
+ * platform/graphics/win/GraphicsContextCGWin.cpp:
+ (WebCore::CGContextWithHDC):
+
+2008-08-22 Timothy Hatcher <timothy@apple.com>
+
+ Rolls out r35834 because it caused a regression in the Inspector's
+ Console where some expressions always threw a syntax error.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20487
+
+ * page/inspector/Console.js:
+ (Console.prototype._evalInInspectedWindow): Removes parenthesis
+ around the expression.
+
+2008-08-22 Timothy Hatcher <timothy@apple.com>
+
+ Makes getStyleProperty return a value for the overflow property
+ when overflow-x and overflow-y are equal.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20485
+
+ Reviewed by Dan Bernstein.
+
+ Test: fast/css/overflow-property.html
+
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
+
+2008-08-22 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where while editing in the Inspector the
+ sidebar scroll position would jump to the top.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20484
+
+ Reviewed by Darin Adler.
+
+ * page/inspector/treeoutline.js:
+ (TreeOutline._removeChildren): Remove the offsetTop call that
+ was forcing a layout, since layout causes scroll positions
+ to be clamped to the new scrollHeight/Width. Layout will happen
+ normally when needed.
+
+2008-08-22 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Add AccessibilityTable sources.
+
+ * WebCoreSources.bkl:
+
+2008-08-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Jon Honeycutt and Alexey Proskuryakov.
+
+ - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
+
+ Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
+
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
+ ascent and 100% to its reported descent.
+
+2008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20267
+ [GTK] Crash on some pages due to a plugin
+
+ Fix handling of badly formatted and empty plugin mime descriptions
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+
+2008-08-21 Kevin Watters <kevinwatters@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ Follow other ports (and IE) in ImageSourceWx.cpp never to return an
+ animated GIF frame duration of less than 50ms.
+
+ * platform/graphics/wx/ImageSourceWx.cpp:
+ (WebCore::ImageSource::frameDurationAtIndex):
+
+2008-08-21 Maxime Britto <britto@apple.com>
+
+ Reviewed by Kevin McCullough.
+
+ Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
+ https://bugs.webkit.org/show_bug.cgi?id=20451
+
+ rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
+ When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
+ This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
+
+ (WebCore::EventHandler::handleMousePressEvent): ditto
+
+2008-08-21 Anthony Ricaud <rik24d@gmail.com>
+
+ Small optimization for when the dividers in the Inspector's
+ Resources panel are updated.
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/ResourcesPanel.js:
+ (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
+ Combind a for loop and clone the divider element.
+
+2008-08-21 Chris Marrin <cmarrin@apple.com>
+
+ Allow 0 (without units) for Time eg. duration
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
+
+ Reviewed by Dave Hyatt.
+
+ Test: css1/units/zero-duration-without-units.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::validUnit):
+
+2008-08-21 Timothy Hatcher <timothy@apple.com>
+
+ Make deleting all text while editing a DOM attribute in
+ the Inspector delete the attribute. This also fixes
+ an exception that would happen before.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20472
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
+ Don't check for hasAttributes on the parseElement, continuing
+ through the function will correctly remove the attribute.
+ If the parseElement is null, call _editingCancelled not
+ editingCancelled, this fixes an exception.
+
+2008-08-21 Timothy Hatcher <timothy@apple.com>
+
+ Update the Inspector's Metrics pane when editing in
+ the Styles pane. This makes sure the metrics shown
+ always match what the Styles pane shows.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20470
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel): Add event listeners for
+ the "style edited" and "style property toggled" events,
+ so the Metrics pane is updated.
+ (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
+ Update the Metrics pane.
+ * page/inspector/StylesSidebarPane.js:
+ (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
+ Dispatch the "style property toggled" event.
+ (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
+ Dispatch the "style edited" event when the CSS text is restored.
+ (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
+ Dispatch the "style edited" event.
+
+2008-08-21 Timothy Hatcher <timothy@apple.com>
+
+ Make the Inspector's Metrics sidebar pane editable.
+
+ https://bugs.webkit.org/show_bug.cgi?id=17218
+ rdar://problem/5732818
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ElementsPanel.js:
+ (WebInspector.ElementsPanel): Add an event listener for
+ the "metrics edited" event, so the Styles pane is updated.
+ * page/inspector/MetricsSidebarPane.js:
+ (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
+ so future updates work. Add a double click event listener for the
+ metric values to start editing.
+ (WebInspector.MetricsSidebarPane.prototype.startEditing):
+ Call WebInspector.startEditing with some context.
+ (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
+ (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
+ Set the user input on the elements inline style. Fire the
+ "metrics edited" event.
+
+2008-08-21 Steve Falkenburg <sfalken@apple.com>
+
+ Fix a race condition in Windows timer code.
+ Timer function could end up being called with a 0 timer, leading to a Windows exception.
+
+ Don't post a timer message if one is already pending.
+
+ Reviewed by Ada Chan.
+
+ * platform/win/SharedTimerWin.cpp:
+ (WebCore::TimerWindowWndProc):
+ (WebCore::clearTimer):
+ (WebCore::queueTimerProc):
+ (WebCore::setSharedTimerFireTime):
+
+2008-08-21 Anthony Ricaud <rik24d@gmail.com>
+
+ After trying to add the expression, try again with quotes for
+ easier edition.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20466
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/ObjectPropertiesSection.js: Added an
+ evaluateExpression function.
+
+2008-08-21 Anthony Ricaud <rik24d@gmail.com>
+
+ Perform Inspector searches on search event to clear results when
+ clicking the cross to empty it. Delete the lastQuery when the field
+ is emptied in order to perform the search if exactly the same query
+ is entered next.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20462
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/inspector.js:
+
+2008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Mark Rowe.
+
+ http://bugs.webkit.org/show_bug.cgi?id=19656
+ [SOUP] The gio code should call didFail() instead of
+ didFinishLoading() in case of error
+
+ In case of error call didFail() instead of didReceiveResponse() and
+ didFinishLoading().
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::networkErrorForFile):
+ (WebCore::readCallback):
+ (WebCore::openCallback):
+ (WebCore::queryInfoCallback):
+
+2008-08-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix build failure.
+
+ * bridge/c/c_instance.cpp:
+ (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
+ as that is what NPEnumerationFunctionPtr is declared as accepting.
+
+2008-08-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
+
+ * platform/graphics/GraphicsContext.h:
+ (WebCore::):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::setImageInterpolationQuality):
+ (WebCore::GraphicsContext::imageInterpolationQuality):
+
+2008-08-20 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by John Sullivan.
+
+ - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
+ rename related methods and variables accordingly.
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameViewPrivate::FrameViewPrivate):
+ (WebCore::FrameView::shouldUpdateWhileOffscreen):
+ (WebCore::FrameView::setShouldUpdateWhileOffscreen):
+ * page/FrameView.h:
+ * platform/ScrollView.h:
+ * platform/mac/ScrollViewMac.mm:
+ (WebCore::ScrollView::updateContents):
+
+2008-08-20 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mitzpettel
+
+ <rdar://problem/6153432> - Many images broken in Mail
+
+ This can be traced back to the preload scanner. With that change, CachedResources are created a lot
+ sooner than before and confuse the WebArchive machinery.
+
+ When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
+ such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
+ machinery and nothing is known about where the data will eventually come from.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
+ CachedResource::PreloadReferenced.
+
+2008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed compile fix
+
+ Catch up with the JSValue::type elimination.
+
+ * bridge/qt/qt_instance.cpp:
+ (KJS::Bindings::QtRuntimeObjectImp::construct):
+ (KJS::Bindings::QtInstance::defaultValue):
+ * bridge/qt/qt_runtime.cpp:
+ (KJS::Bindings::QtRuntimeConnectionMethod::call):
+
+2008-08-20 Chris Teague <chris.teague@gmail.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=20449
+ Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
+
+ * ChangeLog:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
+
+2008-08-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ getComputedStyle() for webkitTransform should return a transform
+ that does not have the transform origin baked into it.
+ https://bugs.webkit.org/show_bug.cgi?id=20464
+
+ Test: fast/css/getComputedStyle-transform.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::computedTransform):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::applyTransform):
+ * rendering/style/RenderStyle.h:
+
+2008-08-20 Josh Aas <joshmoz@gmail.com>
+
+ Reviewed and landed by Anders.
+
+ <rdar://problem/6163636>
+ rename NPCocoaEvent's "event" struct to "data" (20446)
+
+ * bridge/npapi.h:
+ (_NPCocoaEvent::):
+
+2008-08-20 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/6145626>
+ This patch fixes a number of remaining problems getting
+ disconnected frames to work correctly with markAllMatchesForText()
+ and findString(). Details inline.
+
+ This was a static helper function in Frame, but this patch requires
+ the same functionality in Editor, so I just added it as a function
+ on Node.
+ * dom/Node.cpp:
+ (WebCore::Node::isInShadowTree):
+ * dom/Node.h:
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::insideVisibleArea): Returns false if
+ excludeFromTextSearch() is true.
+
+ In a normal (non-disconnected) frame, findString returns a range of
+ the document node if the text is not found in the frame. I changed
+ firstVisibleRange and lastVisibleRange to match that behavior when
+ the text is not found
+ (WebCore::Editor::firstVisibleRange):
+ (WebCore::Editor::lastVisibleRange):
+
+ Here are the bulk of the changes in the patch. A lot of text was
+ not being found in disconnected frames because I failed to account
+ for all of the possible problems associated with shadow trees. That
+ is fixed here.
+ (WebCore::Editor::nextVisibleRange):
+ * editing/Editor.h:
+
+ excludeFromTextSearch() is new. It allows a WebKit client to mark a
+ frame as not-text-searchable through SPI.
+ * WebCore.base.exp:
+ * page/Frame.cpp:
+ (WebCore::Frame::excludeFromTextSearch):
+ (WebCore::Frame::setExcludeFromTextSearch):
+ (WebCore::FramePrivate::FramePrivate):
+ * page/Frame.h:
+ * page/FramePrivate.h:
+
+ (WebCore::Frame::findString):
+ (WebCore::Frame::markAllMatchesForText): I kept running into an
+ assertion failure in paining code because of the forced paint on
+ empty visible rects.
+
+2008-08-20 Timothy Hatcher <timothy@apple.com>
+
+ Adds a positon box to the Inspector's Metrics sidebar
+ pane. When an element is not statically positioned, there
+ is now a position box that show top, right, bottom and
+ left computed values.
+
+ Reviewed by Kevin McCullough.
+
+ * English.lproj/localizedStrings.js: Updated the strings.
+ * page/inspector/MetricsSidebarPane.js:
+ (WebInspector.MetricsSidebarPane.prototype.update):
+ Renamed the boxPartValue function to createBoxPartElement
+ and made it create the entire element. Made it understand
+ how to get position style properties. Don't use the figure dash
+ when 0px is used for positions, since the 0 is meaningful there.
+ Instead use the figure dash when a position is auto.
+ * page/inspector/inspector.css: Added a new rule for position.
+
+2008-08-20 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin
+
+ Qt build fix
+
+ * WebCore.pro:
+
+2008-08-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ - avoid using a deprecated NSScroller method on Leopard
+
+ * platform/mac/PlatformScrollBarMac.mm:
+ (WebCore::PlatformScrollbar::updateThumbPosition):
+ (WebCore::PlatformScrollbar::updateThumbProportion):
+
+2008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Gtk build fix
+
+ * GNUmakefile.am:
+ * page/AccessibilityTable.cpp: Change nil to 0
+ (WebCore::AccessibilityTable::cellForColumnAndRow):
+
+2008-08-19 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Geoff Garen.
+
+ Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
+
+ * ForwardingHeaders/kjs/JSLock.h: Added.
+ * WebCore.vcproj/WebCore.vcproj:
+ * bindings/js/GCController.cpp:
+ (WebCore::collect):
+ (WebCore::GCController::gcTimerFired):
+ (WebCore::GCController::garbageCollectNow):
+ * 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/JSDOMWindowBase.cpp:
+ (WebCore::DOMWindowTimer::~DOMWindowTimer):
+ (WebCore::JSDOMWindowBase::clear):
+ (WebCore::JSDOMWindowBase::timerFired):
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSAbstractEventListener::handleEvent):
+ * bindings/js/JSNSResolver.cpp:
+ (WebCore::JSNSResolver::lookupNamespaceURI):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::createHTMLEventHandler):
+ (WebCore::ScriptController::createSVGEventHandler):
+ (WebCore::ScriptController::initScript):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::bindingRootObject):
+ (WebCore::ScriptController::windowScriptNPObject):
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ (WebCore::ScriptController::clearScriptObjects):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::windowScriptObject):
+ * bindings/objc/WebScriptObject.mm:
+ (_didExecute):
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ (-[WebScriptObject setValue:forKey:]):
+ (-[WebScriptObject valueForKey:]):
+ (-[WebScriptObject removeWebScriptKey:]):
+ (-[WebScriptObject stringRepresentation]):
+ (-[WebScriptObject webScriptValueAtIndex:]):
+ (-[WebScriptObject setWebScriptValueAtIndex:value:]):
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bridge/NP_jsobject.cpp:
+ (_NPN_InvokeDefault):
+ (_NPN_Invoke):
+ (_NPN_Evaluate):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ (_NPN_Enumerate):
+ * bridge/c/c_class.cpp:
+ (KJS::Bindings::CClass::~CClass):
+ (KJS::Bindings::CClass::methodsNamed):
+ (KJS::Bindings::CClass::fieldNamed):
+ * bridge/c/c_instance.cpp:
+ (KJS::Bindings::CInstance::invokeMethod):
+ (KJS::Bindings::CInstance::invokeDefaultMethod):
+ (KJS::Bindings::CInstance::getPropertyNames):
+ * bridge/c/c_runtime.cpp:
+ (KJS::Bindings::CField::valueFromInstance):
+ (KJS::Bindings::CField::setValueToInstance):
+ * bridge/c/c_utility.cpp:
+ (KJS::Bindings::convertValueToNPVariant):
+ (KJS::Bindings::convertNPVariantToValue):
+ * bridge/jni/jni_class.cpp:
+ (JavaClass::JavaClass):
+ (JavaClass::~JavaClass):
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::stringValue):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::eval):
+ (JavaJSObject::getMember):
+ (JavaJSObject::setMember):
+ (JavaJSObject::removeMember):
+ (JavaJSObject::getSlot):
+ (JavaJSObject::setSlot):
+ (JavaJSObject::toString):
+ (JavaJSObject::convertValueToJObject):
+ (JavaJSObject::convertJObjectToValue):
+ * bridge/jni/jni_objc.mm:
+ (KJS::Bindings::dispatchJNICall):
+ * bridge/jni/jni_runtime.cpp:
+ (appendClassName):
+ (JavaMethod::signature):
+ * bridge/jni/jni_runtime.h:
+ (KJS::Bindings::JavaString::JavaString):
+ (KJS::Bindings::JavaString::_commonInit):
+ (KJS::Bindings::JavaString::~JavaString):
+ (KJS::Bindings::JavaString::UTF8String):
+ * bridge/jni/jni_utility.cpp:
+ (KJS::Bindings::convertValueToJValue):
+ * bridge/npruntime.cpp:
+ (_NPN_GetStringIdentifier):
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::moveGlobalExceptionToExecState):
+ (ObjcInstance::invokeMethod):
+ (ObjcInstance::invokeDefaultMethod):
+ (ObjcInstance::setValueOfUndefinedField):
+ (ObjcInstance::getValueOfUndefinedField):
+ * bridge/objc/objc_runtime.mm:
+ (ObjcField::valueFromInstance):
+ (ObjcField::setValueToInstance):
+ * bridge/objc/objc_utility.mm:
+ (KJS::Bindings::convertValueToObjcValue):
+ (KJS::Bindings::convertNSStringToString):
+ (KJS::Bindings::convertObjcValueToValue):
+ * bridge/qt/qt_instance.cpp:
+ (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
+ (KJS::Bindings::QtInstance::~QtInstance):
+ (KJS::Bindings::QtInstance::getQtInstance):
+ (KJS::Bindings::QtInstance::getRuntimeObject):
+ * bridge/qt/qt_runtime.cpp:
+ (KJS::Bindings::convertValueToQVariant):
+ (KJS::Bindings::convertQVariantToValue):
+ (KJS::Bindings::QtRuntimeMetaMethod::call):
+ (KJS::Bindings::QtRuntimeConnectionMethod::call):
+ (KJS::Bindings::QtConnectionObject::QtConnectionObject):
+ (KJS::Bindings::QtConnectionObject::execute):
+ * bridge/runtime.cpp:
+ (KJS::Bindings::Instance::createRuntimeObject):
+ * bridge/testbindings.cpp:
+ (main):
+ * bridge/testbindings.mm:
+ (main):
+ * bridge/testqtbindings.cpp:
+ (main):
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ * dom/Node.cpp:
+ (WebCore::Node::setDocument):
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::CachedPage):
+ (WebCore::CachedPage::restore):
+ (WebCore::CachedPage::clear):
+ * loader/FrameLoader.cpp:
+ (WebCore::getString):
+ * page/InspectorController.cpp:
+ (WebCore::ConsoleMessage::ConsoleMessage):
+ (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
+ (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
+ (WebCore::getResourceDocumentNode):
+ (WebCore::search):
+ (WebCore::inspectedWindow):
+ (WebCore::wrapCallback):
+ (WebCore::currentCallFrame):
+ (WebCore::profiles):
+ (WebCore::InspectorController::focusNode):
+ (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
+ (WebCore::InspectorController::addDatabaseScriptResource):
+ (WebCore::InspectorController::addScriptProfile):
+ * page/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::evaluate):
+ * page/JavaScriptProfileNode.cpp:
+ (WebCore::getTotalTime):
+ (WebCore::getSelfTime):
+ (WebCore::getTotalPercent):
+ (WebCore::getSelfPercent):
+ (WebCore::getNumberOfCalls):
+ (WebCore::getChildren):
+ (WebCore::getVisible):
+ * page/Page.cpp:
+ * page/mac/FrameMac.mm:
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::start):
+ (WebCore::getString):
+ (WebCore::PluginView::performRequest):
+ (WebCore::PluginView::bindingInstance):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::dispatchNPEvent):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::clearResponse):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ (WebCore::XMLHttpRequest::didReceiveData):
+
+2008-08-19 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Geoff Garen.
+
+ Add the beginnings of Skia graphics support to WebCore
+ as I try to begin the long process of un-forking the changes
+ needed to WebCore to make Andriod's WebCore build.
+
+ I'll follow this up with actual *Skia.cpp files in a separate patch.
+
+ * platform/graphics/AffineTransform.h:
+ * platform/graphics/FloatPoint.h:
+ * platform/graphics/FloatRect.h:
+ * platform/graphics/Gradient.h:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/Image.h:
+ * platform/graphics/ImageBuffer.h:
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/IntPoint.h:
+ * platform/graphics/IntRect.h:
+ * platform/graphics/Path.h:
+ * platform/graphics/Pattern.h:
+ * svg/graphics/SVGPaintServerPattern.h:
+ * svg/graphics/SVGPaintServerSolid.h:
+
+2008-08-19 Steve Falkenburg <sfalken@apple.com>
+
+ Fix Windows build more.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2008-08-19 Steve Falkenburg <sfalken@apple.com>
+
+ Fix Windows build.
+
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
+
+2008-08-19 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/4003764> Expose tables as AXTables
+
+ Tests: accessibility/table-attributes.html
+ accessibility/table-cell-spans.html
+ accessibility/table-cells.html
+ accessibility/table-detection.html
+ accessibility/table-sections.html
+ accessibility/table-with-rules.html
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::get):
+ * page/AccessibilityObject.h:
+ (WebCore::):
+ (WebCore::AccessibilityObject::isDataTable):
+ (WebCore::AccessibilityObject::isTableRow):
+ (WebCore::AccessibilityObject::isTableColumn):
+ (WebCore::AccessibilityObject::isTableCell):
+ * page/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
+ * page/AccessibilityTable.cpp: Added.
+ (WebCore::AccessibilityTable::AccessibilityTable):
+ (WebCore::AccessibilityTable::~AccessibilityTable):
+ (WebCore::AccessibilityTable::create):
+ (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
+ (WebCore::AccessibilityTable::clearChildren):
+ (WebCore::AccessibilityTable::addChildren):
+ (WebCore::AccessibilityTable::headerContainer):
+ (WebCore::AccessibilityTable::columns):
+ (WebCore::AccessibilityTable::rows):
+ (WebCore::AccessibilityTable::rowHeaders):
+ (WebCore::AccessibilityTable::columnHeaders):
+ (WebCore::AccessibilityTable::cells):
+ (WebCore::AccessibilityTable::columnCount):
+ (WebCore::AccessibilityTable::rowCount):
+ (WebCore::AccessibilityTable::cellForColumnAndRow):
+ (WebCore::AccessibilityTable::roleValue):
+ (WebCore::AccessibilityTable::accessibilityIsIgnored):
+ (WebCore::AccessibilityTable::title):
+ (WebCore::AccessibilityTable::isDataTable):
+ * page/AccessibilityTable.h: Added.
+ * page/AccessibilityTableCell.cpp: Added.
+ (WebCore::AccessibilityTableCell::AccessibilityTableCell):
+ (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
+ (WebCore::AccessibilityTableCell::create):
+ (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
+ (WebCore::AccessibilityTableCell::rowIndexRange):
+ (WebCore::AccessibilityTableCell::columnIndexRange):
+ * page/AccessibilityTableCell.h: Added.
+ (WebCore::AccessibilityTableCell::isTableCell):
+ (WebCore::AccessibilityTableCell::roleValue):
+ * page/AccessibilityTableColumn.cpp: Added.
+ (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
+ (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
+ (WebCore::AccessibilityTableColumn::create):
+ (WebCore::AccessibilityTableColumn::setParentTable):
+ (WebCore::AccessibilityTableColumn::elementRect):
+ (WebCore::AccessibilityTableColumn::size):
+ (WebCore::AccessibilityTableColumn::children):
+ (WebCore::AccessibilityTableColumn::headerObject):
+ (WebCore::AccessibilityTableColumn::headerObjectForSection):
+ (WebCore::AccessibilityTableColumn::addChildren):
+ * page/AccessibilityTableColumn.h: Added.
+ (WebCore::AccessibilityTableColumn::parentObject):
+ (WebCore::AccessibilityTableColumn::roleValue):
+ (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
+ (WebCore::AccessibilityTableColumn::isTableColumn):
+ (WebCore::AccessibilityTableColumn::setColumnIndex):
+ (WebCore::AccessibilityTableColumn::columnIndex):
+ * page/AccessibilityTableHeaderContainer.cpp: Added.
+ (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
+ (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
+ (WebCore::AccessibilityTableHeaderContainer::create):
+ (WebCore::AccessibilityTableHeaderContainer::children):
+ (WebCore::AccessibilityTableHeaderContainer::elementRect):
+ (WebCore::AccessibilityTableHeaderContainer::size):
+ (WebCore::AccessibilityTableHeaderContainer::addChildren):
+ * page/AccessibilityTableHeaderContainer.h: Added.
+ (WebCore::AccessibilityTableHeaderContainer::roleValue):
+ (WebCore::AccessibilityTableHeaderContainer::setParentTable):
+ (WebCore::AccessibilityTableHeaderContainer::parentObject):
+ (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
+ * page/AccessibilityTableRow.cpp: Added.
+ (WebCore::AccessibilityTableRow::AccessibilityTableRow):
+ (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
+ (WebCore::AccessibilityTableRow::create):
+ (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
+ (WebCore::AccessibilityTableRow::headerObject):
+ * page/AccessibilityTableRow.h: Added.
+ (WebCore::AccessibilityTableRow::isTableRow):
+ (WebCore::AccessibilityTableRow::roleValue):
+ (WebCore::AccessibilityTableRow::setRowIndex):
+ (WebCore::AccessibilityTableRow::rowIndex):
+ * page/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+ (RoleEntry::):
+ (-[AccessibilityObjectWrapper roleDescription]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+ (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
+
+2008-08-19 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix.
+ Add buildfailed support to stop builds early (preventing inaccurate error messages).
+ Add missing post-build rule to Release.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+
+2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
+
+ Added support for console.count in the inspector.
+
+ Reviewed by Geoff Garen.
+
+ * page/Console.cpp:
+ (WebCore::Console::count):
+ * page/Console.h:
+ * page/Console.idl: Added console.count.
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::didCommitLoad): Clears m_counts.
+ (WebCore::InspectorController::count): Updates the count number
+ sing "title@source:line" as the identifier, and adds a
+ message to the console.
+ * page/InspectorController.h: Added m_counts.
+
+2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
+
+ Clear console.time timers when changing page.
+
+ Reviewed by Geoff Garen.
+
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::didCommitLoad):
+
+2008-08-19 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele.
+
+ Fix for <rdar://problem/6154695> Full-page movies flicker while playing
+ https://bugs.webkit.org/show_bug.cgi?id=20404
+
+ Ignore setVisible() when visibility doesn't change.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::setVisible):
+
+2008-08-19 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug in the Profile view where switching sort order, then
+ switching from heavy to tree mode would show the tree in the
+ previous sort order.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20441
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ProfileView.js:
+ (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
+ on the next profile before assigning it to this.profile.
+ (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
+ (WebInspector.ProfileView.prototype._sortProfile): Moves from
+ _sortData and takes a profile argument. If the profile passed in
+ matches the this.profile, then call refresh.
+
+2008-08-18 Timothy Hatcher <timothy@apple.com>
+
+ Changed the default sort order now that heavy view is the default.
+ Also fixes a bug where the heavy profile was not sorted at first.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20440
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ProfileView.js:
+ (WebInspector.ProfileView): Changed the default sort column. Also assign
+ heavyProfile to profile, so the sortSelfTimeDescending call happens
+ on the heavy profile before assigning to this.profile.
+
+2008-08-18 Timothy Hatcher <timothy@apple.com>
+
+ Add support for editing DOM properties and scope variables by double
+ clicking a property to enter edit mode.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20415
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertiesSection): Set editable to true by default.
+ (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
+ Factored out code into update, and calls update.
+ (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
+ Call removeChildren since this method can be called multiple times now.
+ (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
+ gets made later in onattach.
+ (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
+ if shouldRefreshChildren is true. Call removeChildren since this method can be
+ called multiple times now.
+ (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
+ (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
+ (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
+ this element (code moved from the constructor.)
+ (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
+ sibling property elements.
+ (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
+ WebInspector.startEditing after rememebring some context.
+ (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
+ for the list element, since it might have scrolled during editing.
+ (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
+ then restore the state from the context. Then call update to restore the title.
+ (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
+ if the user input and the previous input are the same. Call editingEnded, then call applyExpression
+ to commit the user input.
+ (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
+ and stores the result on the object for the property name of this element. If the expression is
+ empty, delete the property and remove the tree element.
+ * page/inspector/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
+ property on each ObjectPropertiesSection.
+ (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
+ since it is now implemented.
+ * page/inspector/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
+ that defaults to true if omitted. It specifies whether to call update on the scope chain.
+ * page/inspector/inspector.css: New styles.
+ * page/inspector/treeoutline.js:
+ (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
+ change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
+
+2008-08-18 Timothy Hatcher <timothy@apple.com>
+
+ Surround the expression to be evaluated in parenthesis so the
+ result of the eval is the result of the whole expression not
+ the last potential sub-expression. So evaluating {x: 123}
+ will show the Object not 123.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20428
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/Console.js:
+ (Console.prototype._evalInInspectedWindow): Add parenthesis
+ around the expression. And add couple comments.
+
+2008-08-19 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoff.
+
+ -Implement a page() function to extract a common code pattern.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/Console.cpp:
+ (WebCore::Console::addMessage):
+ (WebCore::Console::error):
+ (WebCore::Console::info):
+ (WebCore::Console::log):
+ (WebCore::Console::dir):
+ (WebCore::Console::assertCondition):
+ (WebCore::Console::time):
+ (WebCore::Console::timeEnd):
+ (WebCore::Console::group):
+ (WebCore::Console::groupEnd):
+ (WebCore::Console::finishedProfiling):
+ (WebCore::Console::warn):
+ (WebCore::Console::framePage):
+ * page/Console.h:
+
+2008-08-12 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff.
+
+ - eliminate JSValue::type()
+
+ * bridge/c/c_instance.cpp:
+ (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
+ argument instead of JSType argument. Removed unneeded code to handle
+ boolean, since that's never passed.
+ * bridge/c/c_instance.h: Ditto.
+
+ * bridge/c/c_utility.cpp:
+ (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
+ instead of JSValue::type(). Removed unneeded code to handle
+ "unspecified".
+
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
+ instead of JSType argument. Removed unneeded code to handle boolean.
+ * bridge/jni/jni_instance.h: Ditto.
+
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::convertValueToJObject): Use JSValue::is functions
+ instead of JSValue::type().
+
+ * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
+ instead of JSType argument. Removed unused argument.
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
+ (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
+ instead of JSType argument. Removed unneeded code to handle boolean
+ and another dead code path for unknown types.
+
+ * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
+ instead of JSType argument. Removed override of type() that caused
+ the fallback object to return "UndefinedType" when there is no
+ invokeUndefinedMethodFromWebScript:withArguments: method defined.
+ That didn't accomplish much, since most checks for undefined don't
+ ever call type().
+ * bridge/objc/objc_runtime.mm:
+ (ObjcFallbackObjectImp::defaultValue): Ditto.
+
+ * bridge/qt/qt_instance.cpp:
+ (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
+ argument instead of JSType argument. Removed unneeded code to handle
+ boolean.
+ * bridge/qt/qt_instance.h: Ditto.
+
+ * bridge/runtime.h:
+ (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
+ unsed argument.
+ * bridge/runtime_object.cpp:
+ (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
+ argument instead of JSType argument.
+ * bridge/runtime_object.h: Ditto.
+
+2008-08-18 Maxime Britto <britto@apple.com>
+
+ Reviewed by Adele.
+
+ <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
+ Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
+ We shouldn't be able to create another window while we are in pan scrolling.
+ Other browsers behaviors :
+ FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
+ IE7 : Keys are not disabled but stops immediately the panning.
+ This patch matches FF3 behavior by disabling every key but the esc key.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
+ (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
+
+2008-08-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
+
+ Test: fast/replaced/max-width-percent.html
+
+ Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
+ When false, max-width is not factored into the
+ calculation.
+ Changed RenderReplaced and subclasses' calcPrefWidths() to call
+ calcReplacedWidth(false) and then apply max-width only if it has a
+ fixed, positive value.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calcReplacedWidth):
+ * rendering/RenderBox.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::calcReplacedWidth):
+ (WebCore::RenderImage::calcPrefWidths):
+ * rendering/RenderImage.h:
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::calcPrefWidths):
+ * rendering/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::calcPrefWidths):
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::calcReplacedWidth):
+ (WebCore::RenderVideo::calcPrefWidths):
+ * rendering/RenderVideo.h:
+
+2008-08-18 Daniel Macks <dmacks@netspace.org>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20410
+ More portable/self-documenting replacement for SIZE_MAX.
+
+ * platform/network/curl/FormDataStreamCurl.cpp:
+ (WebCore::FormDataStream::read):
+
+2008-08-18 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Need to make sure we have an Animation in the AnimationList
+ before setting the initial value.
+ https://bugs.webkit.org/show_bug.cgi?id=20408
+
+ Test: fast/css/transition_shorthand_parsing.html
+
+ * css/CSSStyleSelector.cpp:
+
+2008-08-18 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
+ is another profile.
+
+ * page/inspector/ProfilesPanel.js:
+
+2008-08-18 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoff.
+
+ <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
+ all console messages
+
+ * page/inspector/Console.js:
+
+2008-08-18 Dirk Schulze <vbs85@gmx.de>
+
+ Reviewed by Eric Seidel.
+
+ Fixed Canvas for Cairo. Stroke and fill colors didn't work after
+ the canvas clean up.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20405
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::fill):
+ (WebCore::CanvasRenderingContext2D::stroke):
+ (WebCore::CanvasRenderingContext2D::fillRect):
+
+2008-08-17 Timothy Hatcher <timothy@apple.com>
+
+ Complete in scope variables in the Console when paused.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19115
+
+ Reviewed by Geoffrey Garen.
+
+ * page/inspector/Console.js:
+ (WebInspector.Console.prototype.completions): If the expressionString
+ is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
+ to get an object that declares all the in scope variables. That way
+ "top level" expressions are completed.
+ * page/inspector/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
+ Return an object that has all the variables that are in scope for the
+ selected call frame. The value of each property is just true.
+ The return object is useful for quick lookups or auto completion.
+
+2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
+
+ Not reviewed.
+
+ Speculative Qt build fix.
+
+ * bridge/qt/qt_runtime.cpp:
+ (KJS::Bindings::convertValueToQVariant):
+ (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
+
+2008-08-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Updated project files to XCode 3.1.
+
+ * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
+
+2008-08-17 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Cameron Zwarich.
+
+ Made room for a free word in JSCell.
+
+ Changed JSDOMWindowBase to store its auxiliary data in a subclass of
+ JSGlobalData, so the two could share a pointer.
+
+ Added a bunch of ASSERTs, to help catch over-sized objects.
+
+2008-08-15 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Disable dead code stripping in debug builds.
+
+ * Configurations/Base.xcconfig:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2008-08-15 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Geoff Garen.
+
+ <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
+
+ * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
+ between the Debug configuration and debug Production variant.
+ * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
+
+2008-08-15 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Anders.
+
+ Don't start preloading body resources before the head is complete. This prevents
+ body preloads from slowing down initial display when there is limited amount
+ of bandwidth available.
+
+ Works by queuing up found body preloads to DocLoader and only issuing them
+ after document has rendering.
+
+ With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
+ without affecting complete load time.
+
+ * html/PreloadScanner.cpp:
+ (WebCore::PreloadScanner::PreloadScanner):
+ (WebCore::PreloadScanner::scanningBody):
+ (WebCore::PreloadScanner::emitTag):
+ (WebCore::PreloadScanner::emitCSSRule):
+ * html/PreloadScanner.h:
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::preload):
+ (WebCore::DocLoader::checkForPendingPreloads):
+ (WebCore::DocLoader::requestPreload):
+ * loader/DocLoader.h:
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::didFinishLoading):
+ (WebCore::Loader::Host::didFail):
+
+2008-08-15 Ada Chan <adachan@apple.com>
+
+ Use item's computed style if the render style is 0 before falling back to the <select>'s style.
+ This way style set on an <hr> within a <select> will be honored.
+
+ Reviewed by Dave Hyatt and Dan Bernstein.
+
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::itemStyle):
+
+2008-08-15 Antti Koivisto <antti@apple.com>
+
+ Reviewed by Oliver.
+
+ Some loader performance tweaks:
+ - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
+ Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
+ to not delay rendering.
+ - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
+ can take long time when latency is high so it is good to get started early.
+ - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
+ load queues. Issue remaining loads to the network layer.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::determinePriority):
+ (WebCore::Loader::load):
+ (WebCore::Loader::Host::servePendingRequests):
+ * loader/loader.h:
+
+2008-08-15 Timothy Hatcher <timothy@apple.com>
+
+ Detach the script debugger when the Web Inspector's window closes.
+ This has always been the intended design, but never fully implemented.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20402
+
+ Reviewed by Adam Roben.
+
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
+ if the window is no longer visible.
+
+2008-08-15 Håvard Wall <hwall@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fixes: compile with QT_NO_CONTEXTMENU
+
+ * platform/qt/PlatformMouseEventQt.cpp:
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent):
+ * platform/qt/PlatformScrollBarQt.cpp:
+ (WebCore::PlatformScrollbar::handleMouseMoveEvent):
+ (WebCore::PlatformScrollbar::handleContextMenuEvent):
+
+2008-08-15 Håvard Wall <hwall@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fixes: compile with QT_NO_WHEELEVENT
+
+ * platform/qt/WheelEventQt.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+
+2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
+
+ Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
+
+ https://bugs.webkit.org/show_bug.cgi?id=20210
+
+ Reviewed by Tim Hatcher.
+
+ * page/Console.cpp:
+ (WebCore::Console::group):
+ (WebCore::Console::groupEnd):
+ * page/Console.h:
+ (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::startGroup): Increments group level by
+ one and adds console message with StartGroupMessaageLevel.
+ (WebCore::InspectorController::endGroup): Decrements group level by one
+ and adds console message with EndGroupMessaageLevel.
+ * page/InspectorController.h:
+ * page/inspector/Console.js:
+ (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
+ if the message is StartGroupMessaageLevel.
+ (WebInspector.ConsoleMessage.prototype.toMessageElement):
+ (WebInspector.ConsoleGroup.prototype.addMessage):
+ * page/inspector/inspector.js:
+
+2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
+
+ Adds support for console.dir to the Inspector
+
+ https://bugs.webkit.org/show_bug.cgi?id=19155
+
+ Reviewed by Tim Hatcher.
+
+ * bindings/js/JSConsoleCustom.cpp:
+ (WebCore::JSConsole::dir):
+ * page/Console.cpp:
+ (WebCore::Console::dir):
+ * page/Console.h: Added ObjectMessageLevel.
+ * page/Console.idl: Added console.dir.
+ * page/inspector/Console.js:
+ (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
+ ObjectPropertiesSection if the MessageLevel is Object.
+ * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
+ used on primitive data types.
+ * page/inspector/inspector.css:
+
+2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
+
+ Adds support for clear() in the Inspector console.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19873
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/Console.js:
+
+2008-08-15 Anthony Ricaud <rik24d@gmail.com>
+
+ Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
+
+ Platform distinction and modifier key matching adjusted
+ by Daniel Jalkut <jalkut@red-sweater.com>
+
+ Bug 16313: text search (find) keybindings should work in the Web Inspector
+ https://bugs.webkit.org/show_bug.cgi?id=16313
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/inspector.js: Added a case for the F key
+
+2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
+
+ Fix for error when the string doesn't contain a webkit-profile link.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20399
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/inspector.js:
+
+2008-08-15 Timothy Hatcher <timothy@apple.com>
+
+ Fixes two bugs where JavaScript could be executed from the page
+ while the debugger is paused.
+
+ The first issue was JSLazyEventListener not checking the paused
+ state before parsing the code.
+
+ The second issue was with the PageGroup version of
+ JavaScriptDebugServer::setJavaScriptPaused always passing false
+ to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
+ and not the paused argument.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20284
+
+ Reviewed by Adam Roben.
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSLazyEventListener::parseCode): Check the paused
+ state of the ScriptController. Return early if paused.
+ * manual-tests/inspector/debugger-execution-while-paused.html: Added.
+ * page/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
+ Pass the paused argument to the Page version of setJavaScriptPaused.
+
+2008-08-15 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Geoff Garen.
+
+ JSStringRef is created context-free, but can get linked to one via an identifier table,
+ breaking an implicit API contract.
+
+ * page/InspectorController.cpp:
+ (WebCore::jsStringRef):
+ (WebCore::InspectorController::didParseSource):
+ (WebCore::InspectorController::failedToParseSource):
+ * page/JavaScriptProfile.cpp:
+ (WebCore::getTitleCallback):
+ Updated for JavaScriptCore changes.
+
+2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
+ an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
+
+ * platform/graphics/AffineTransform.h:
+
+2008-08-14 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
+ <video> elements on Windows never becomes visible when a page is restored from the cache
+
+ Always pass "set" calls down to MediaPlayerPrivate instead of only when the
+ value is different from the cached value. Let the implementation decide when
+ to avoid work because nothing has changed.
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::setVolume):
+ (WebCore::MediaPlayer::setRate):
+ (WebCore::MediaPlayer::setRect):
+ (WebCore::MediaPlayer::setVisible):
+
+2008-08-14 Keishi Hattori <casey.hattori@gmail.com>
+
+ Make Firebug command line API respect predefined variables.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20385
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/Console.js:
+
+2008-08-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen and Timothy Hatcher.
+
+ Allow programatically setting the HTMLTokenizers time delay and chunk size
+ which are used for determining how aggressively we yield.
+
+ * WebCore.base.exp:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::begin):
+ (WebCore::HTMLTokenizer::continueProcessing):
+ * html/HTMLTokenizer.h:
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
+ (WebCore::Page::setCustomHTMLTokenizerChunkSize):
+ * page/Page.h:
+ (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
+ (WebCore::Page::customHTMLTokenizerTimeDelay):
+ (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
+ (WebCore::Page::customHTMLTokenizerChunkSize):
+
+2008-08-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Beth.
+
+ Move us one step closer to cross-platform svg/graphics code
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/CanvasStyle.cpp:
+ * platform/graphics/Color.cpp:
+ (WebCore::colorWithOverrideAlpha):
+ * platform/graphics/Color.h:
+ * svg/graphics/cg/CgSupport.cpp:
+ (WebCore::applyStrokeStyleToContext):
+ (WebCore::strokeBoundingBox):
+ * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
+ (WebCore::SVGPaintServerSolid::setup):
+
+2008-08-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Alexey.
+
+ Remove un-need includes from HTMLCanvas and use the
+ Gradient platform abstraction in one place in CanvasStyle
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::fillRect):
+ * html/CanvasStyle.cpp:
+ * html/HTMLCanvasElement.cpp:
+
+2008-08-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Alexey.
+
+ Clean up GlyphBuffer.h, removing more #ifdefs
+
+ * platform/graphics/GlyphBuffer.h:
+ (WebCore::GlyphBuffer::glyphAt):
+ (WebCore::GlyphBuffer::advanceAt):
+ (WebCore::GlyphBuffer::add):
+
+2008-08-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam.
+
+ Clean up AffineTransform.h, removing #ifdefs
+
+ * platform/graphics/AffineTransform.h:
+ * platform/graphics/cairo/AffineTransformCairo.cpp:
+ * platform/graphics/cg/AffineTransformCG.cpp:
+ * platform/graphics/qt/AffineTransformQt.cpp:
+ * platform/graphics/wx/AffineTransformWx.cpp:
+
+2008-08-14 Dan Bernstein <mitz@apple.com>
+
+ - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
+
+ * platform/graphics/cairo/ImageSourceCairo.cpp:
+ (WebCore::ImageSource::frameSizeAtIndex):
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::frameSizeAtIndex):
+ * platform/graphics/wx/ImageSourceWx.cpp:
+ (WebCore::ImageSource::frameSizeAtIndex):
+
+2008-08-14 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::BitmapImage): Added initialization of
+ m_hasUniformFrameSize.
+ (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
+ cached frame for use in decoded size computation and for setting
+ m_hasUniformFrameSize.
+ (WebCore::BitmapImage::currentFrameSize): Added.
+ (WebCore::BitmapImage::dataChanged): Added code to reset
+ m_hasUniformFrameSize.
+ * platform/graphics/BitmapImage.h: Added currentFrameSize() and
+ m_hasUniformFrameSize.
+ * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
+ fixes the bug, which resulted from assuming that the frame being drawn
+ was the same size as the first frame.
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
+ changed to get the size of the frame at the given index.
+ (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
+
+2008-08-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Eric Seidel
+
+ Fix @font-face inside @media rule crash.
+ https://bugs.webkit.org/show_bug.cgi?id=20367
+
+ Test: fast/css/font-face-in-media-rule.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSRuleSet::addRulesFromSheet):
+
+2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fixes after recent changes to Canvas and Image classes.
+
+ * platform/graphics/Pattern.h:
+ * platform/graphics/wx/GradientWx.cpp:
+ (WebCore::Gradient::fill):
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+ (WebCore::GraphicsContext::applyFillPattern):
+ (WebCore::GraphicsContext::applyStrokePattern):
+ * platform/graphics/wx/ImageBufferWx.cpp:
+ (WebCore::ImageBuffer::image):
+ * platform/graphics/wx/ImageWx.cpp:
+ (WebCore::Image::loadPlatformResource):
+
+2008-08-14 Maxime Britto <britto@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ rdar://6102511
+ When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
+ IE and FF are both preventing the keyboard event to interact with the page while scrolling.
+ Some differences exist between them concerning the kind of key which is pressed :
+ IE7 : every key leads to a stop of the panning
+ FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
+ For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
+
+2008-08-14 Christian Dywan <christian@twotoasts.de>
+
+ Gtk+/ Cairo build fix, patch by Dirk Schulze.
+
+ * html/CanvasStyle.cpp:
+ * platform/graphics/cairo/PatternCairo.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+ * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
+
+2008-08-14 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ <rdar://problem/6115819> Notify of profile in console
+
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::addProfile):
+ (WebCore::InspectorController::addProfileMessageToConsole): Called by
+ addProfile this is the function that adds a message to the console that
+ a profile finished.
+ * page/InspectorController.h:
+ * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
+ the console log to the profile in the web inspector.
+ (WebCore::getUniqueIdCallback):
+ (WebCore::ProfileClass):
+ * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
+ Id to bring up the requested profile. Also select and reveal the
+ profile in the profile panel. And created displayTitleForProfileLink()
+ which formats a title taking into account if it's user initiated or if
+ there are multiples. Lasty, I put the user initiated profile in a
+ variable.
+ * page/inspector/inspector.js: Make the profile title be a clickable
+ link that will take the user to the identified profile. Also expose
+ the count of user initiated profiles so they can be displayed in the
+ console with the correct count.
+
+2008-08-14 Timothy Hatcher <timothy@apple.com>
+
+ Avoid formating ConsoleMessages twice unless the message will be
+ displayed in bubbles of a SourceFrame.
+
+ Reviewed by Kevin McCullough.
+
+ * page/inspector/Console.js:
+ (WebInspector.ConsoleMessage): Only format the plain text message
+ if the URL and line are valid and the level is error or warning.
+ (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
+ Helper to test for error or warning level.
+ * page/inspector/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.addMessage): Don't add the
+ message if there is no message or valid line or if the msg
+ isn't an error or warning.
+
+2008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ partial Gtk build fix, not reviewed
+
+ * platform/graphics/cairo/PatternCairo.cpp:
+
+2008-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix style issue.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::pickMedia):
+
+2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Build fix for Cairo, not reviewed. (exposed by gtk build slave)
+ Continue Erics build fixes, after the Image cleanup.
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::image):
+
+2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Build fix for Qt, not reviewed.
+ Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
+
+ * dom/XMLTokenizer.cpp:
+ (WebCore::eventuallyMarkAsParserCreated): Was erre
+
+2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Build fix, not reviewed.
+ Add ScriptElement.cpp to Gtk build.
+
+ * GNUmakefile.am:
+
+2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Eric.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
+
+ Refactor HTMLScriptElement's code into a common base class: ScriptElement.
+ SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
+
+ This resolves code duplications and allows us to completly replace the old
+ SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
+
+ As ScriptElement, doesn't actually inherit from Element, we may want to rename
+ it, though StyleElement uses the same naming convention, so I left it as is for now.
+ Eventually we'll rename both files in future.
+
+ No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
+
+ * WebCore.pro: Add new ScriptElement.cpp to build.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Dutto.
+ * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
+ (WebCore::ScriptElement::insertedIntoDocument):
+ (WebCore::ScriptElement::removedFromDocument):
+ (WebCore::ScriptElement::childrenChanged):
+ (WebCore::ScriptElement::finishParsingChildren):
+ (WebCore::ScriptElement::handleSourceAttribute):
+ (WebCore::isSupportedJavaScriptLanguage):
+ (WebCore::ScriptElementData::ScriptElementData):
+ (WebCore::ScriptElementData::~ScriptElementData):
+ (WebCore::ScriptElementData::requestScript):
+ (WebCore::ScriptElementData::evaluateScript):
+ (WebCore::ScriptElementData::stopLoadRequest):
+ (WebCore::ScriptElementData::notifyFinished):
+ (WebCore::ScriptElementData::ignoresLoadRequest):
+ (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
+ (WebCore::ScriptElementData::scriptCharset):
+ (WebCore::ScriptElementData::scriptContent):
+ * dom/ScriptElement.h: Added.
+ (WebCore::ScriptElement::ScriptElement):
+ (WebCore::ScriptElement::~ScriptElement):
+ (WebCore::ScriptElementData::element):
+ (WebCore::ScriptElementData::createdByParser):
+ (WebCore::ScriptElementData::setCreatedByParser):
+ * dom/XMLTokenizer.cpp:
+ (WebCore::isScriptElement):
+ (WebCore::castToScriptElement):
+ (WebCore::eventuallyMarkAsParserCreated):
+ (WebCore::XMLTokenizer::startElementNs):
+ (WebCore::XMLTokenizer::endElementNs):
+ (WebCore::createXHTMLParserErrorHeader):
+ (WebCore::XMLTokenizer::insertErrorMessageBlock):
+ * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
+ (WebCore::HTMLScriptElement::HTMLScriptElement):
+ (WebCore::HTMLScriptElement::~HTMLScriptElement):
+ (WebCore::HTMLScriptElement::isURLAttribute):
+ (WebCore::HTMLScriptElement::setCreatedByParser):
+ (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
+ (WebCore::HTMLScriptElement::childrenChanged):
+ (WebCore::HTMLScriptElement::parseMappedAttribute):
+ (WebCore::HTMLScriptElement::finishParsingChildren):
+ (WebCore::HTMLScriptElement::insertedIntoDocument):
+ (WebCore::HTMLScriptElement::removedFromDocument):
+ (WebCore::HTMLScriptElement::text):
+ (WebCore::HTMLScriptElement::setText):
+ (WebCore::HTMLScriptElement::setHtmlFor):
+ (WebCore::HTMLScriptElement::setEvent):
+ (WebCore::HTMLScriptElement::charset):
+ (WebCore::HTMLScriptElement::src):
+ (WebCore::HTMLScriptElement::type):
+ (WebCore::HTMLScriptElement::scriptCharset):
+ (WebCore::HTMLScriptElement::scriptContent):
+ (WebCore::HTMLScriptElement::sourceAttributeValue):
+ (WebCore::HTMLScriptElement::charsetAttributeValue):
+ (WebCore::HTMLScriptElement::typeAttributeValue):
+ (WebCore::HTMLScriptElement::languageAttributeValue):
+ (WebCore::HTMLScriptElement::dispatchLoadEvent):
+ (WebCore::HTMLScriptElement::dispatchErrorEvent):
+ * html/HTMLScriptElement.h:
+ * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::SVGScriptElement):
+ (WebCore::SVGScriptElement::scriptContent):
+ (WebCore::SVGScriptElement::sourceAttributeValue):
+ (WebCore::SVGScriptElement::charsetAttributeValue):
+ (WebCore::SVGScriptElement::typeAttributeValue):
+ (WebCore::SVGScriptElement::languageAttributeValue):
+ (WebCore::SVGScriptElement::dispatchLoadEvent):
+ (WebCore::SVGScriptElement::dispatchErrorEvent):
+ * svg/SVGScriptElement.h:
+ (WebCore::SVGScriptElement::setCreatedByParser):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Attempt to fix the Gtk build, no review.
+
+ I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
+
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ * platform/graphics/qt/GradientQt.cpp:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::paintMozWidget):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Yet another attempt to fix the Qt build, no review.
+
+ * platform/graphics/qt/GradientQt.cpp:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::applyStrokePattern):
+ (WebCore::GraphicsContext::applyFillPattern):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Attempt to fix the Windows build, no review.
+
+ * platform/win/CursorWin.cpp:
+ (WebCore::loadCursorByName):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::paint):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Attempt to fix the Windows build, no review.
+
+ * platform/win/CursorWin.cpp:
+ (WebCore::loadCursorByName):
+ * platform/win/ScrollViewWin.cpp:
+ (WebCore::ScrollView::paint):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Attempt to fix the Qt build, no review.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::image):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Attempt to fix the Windows build, no review.
+
+ * platform/graphics/win/ImageWin.cpp:
+ (WebCore::Image::loadPlatformResource):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paintMissingPluginIcon):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Another attempt to fix the Qt build, no review.
+
+ * platform/graphics/qt/ImageQt.cpp:
+ * platform/graphics/qt/StillImageQt.h:
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ No review, build fix only.
+
+ Fix mac build, due to change in new code since my patch was written.
+
+ * svg/graphics/cg/SVGResourceMaskerCg.mm:
+ (WebCore::SVGResourceMasker::applyMask):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Build fix only, no review.
+
+ Attempt to fix the Qt build.
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ * platform/graphics/qt/StillImageQt.h:
+ (WebCore::StillImage::create):
+ (WebCore::StillImage::destroyDecodedData):
+ (WebCore::StillImage::decodedSize):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Build fix only, no review.
+
+ Attempt to fix the Qt build.
+
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyStrokeColor):
+ (WebCore::CanvasStyle::applyFillColor):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Sam.
+
+ Match HTML5 spec by throwing INVALID_STATE_ERR when
+ createPattern is called and the HTMLImageElement is not
+ yet done loading the image (!isComplete)
+ https://bugs.webkit.org/show_bug.cgi?id=20351
+
+ Test: http/misc/canvas-pattern-from-incremental-image.html
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createPattern):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Niko.
+
+ Split out a Pattern class from CanvasPattern
+ and remove all the Pattern-related #ifdefs
+ (This will break non-mac platforms! I will fix them.)
+ https://bugs.webkit.org/show_bug.cgi?id=20351
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * html/CanvasPattern.cpp:
+ (WebCore::CanvasPattern::parseRepetitionType):
+ (WebCore::CanvasPattern::CanvasPattern):
+ * html/CanvasPattern.h:
+ (WebCore::CanvasPattern::create):
+ (WebCore::CanvasPattern::pattern):
+ (WebCore::CanvasPattern::originClean):
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createPattern):
+ (WebCore::CanvasRenderingContext2D::applyStrokePattern):
+ (WebCore::CanvasRenderingContext2D::applyFillPattern):
+ * html/CanvasRenderingContext2D.h:
+ * html/HTMLCanvasElement.cpp:
+ * html/HTMLCanvasElement.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::createHistoryItem):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::GraphicsContext::applyStrokePattern):
+ (WebCore::GraphicsContext::applyFillPattern):
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::GraphicsContext::clipToImageBuffer):
+ (WebCore::GraphicsContext::applyStrokePattern):
+ (WebCore::GraphicsContext::applyFillPattern):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Niko.
+
+ Make Images RefCounted (and clean up callers)
+ https://bugs.webkit.org/show_bug.cgi?id=20351
+
+ * editing/DeleteButtonController.cpp:
+ (WebCore::DeleteButtonController::createDeletionUI):
+ * loader/CachedImage.cpp:
+ (WebCore::CachedImage::CachedImage):
+ (WebCore::brokenImage):
+ (WebCore::nullImage):
+ (WebCore::CachedImage::image):
+ (WebCore::CachedImage::notifyObservers):
+ (WebCore::CachedImage::createImage):
+ * loader/CachedImage.h:
+ * loader/icon/IconRecord.cpp:
+ (WebCore::IconRecord::setImageData):
+ (WebCore::IconRecord::loadImageFromResource):
+ * loader/icon/IconRecord.h:
+ * platform/graphics/BitmapImage.h:
+ (WebCore::BitmapImage::create):
+ * platform/graphics/GeneratedImage.h:
+ * platform/graphics/Gradient.cpp:
+ * platform/graphics/Gradient.h:
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::nullImage):
+ * platform/graphics/Image.h:
+ * platform/graphics/ImageBuffer.h:
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::image):
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::image):
+ (WebCore::ImageBuffer::getImageData):
+ (WebCore::ImageBuffer::putImageData):
+ * platform/graphics/cg/PDFDocumentImage.h:
+ (WebCore::PDFDocumentImage::create):
+ (WebCore::PDFDocumentImage::destroyDecodedData):
+ (WebCore::PDFDocumentImage::decodedSize):
+ * platform/graphics/gtk/ImageGtk.cpp:
+ (WebCore::Image::loadPlatformResource):
+ * platform/graphics/mac/ImageMac.mm:
+ (WebCore::Image::loadPlatformResource):
+ * rendering/RenderImage.cpp:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintOverflowControls):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::nativeImageForCurrentFrame):
+ * svg/graphics/SVGImage.h:
+ (WebCore::SVGImage::create):
+ (WebCore::SVGImage::destroyDecodedData):
+ (WebCore::SVGImage::decodedSize):
+ (WebCore::SVGImage::frameAtIndex):
+ * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
+ (WebCore::SVGPaintServerPattern::setup):
+ * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
+ (WebCore::SVGResourceMasker::applyMask):
+ * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
+ (WebCore::patternCallback):
+ * svg/graphics/cg/SVGResourceMaskerCg.mm:
+ (WebCore::SVGResourceMasker::applyMask):
+
+2008-08-13 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Niko.
+
+ Remove #ifdefs from CanvasStyle by using platform/Color.h
+ https://bugs.webkit.org/show_bug.cgi?id=20351
+
+ There are some down-sides to this commit.
+ This commit limits us to 255 levels of grey for calls like:
+ context.setStrokeStyle(.37, 1.0)
+ previously CG might have used up to 32bits to store the grey level
+ Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
+
+ Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
+ to RGBA32 (like all the rest of colors in WebCore), thus:
+ context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
+ context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
+
+ If this is a problem for Dashboard, we can either roll out this commit
+ or add a beefier Color abstraction, which can be used internally by GraphicsContext
+ when keeping state, and then GraphicsContext can grow some additional set* routines
+ for setting the a grey/float/whatever fill and stroke.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setFillStyle):
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::CanvasStyle):
+ (WebCore::colorWithOverrideAlpha):
+ (WebCore::CanvasStyle::applyStrokeColor):
+ (WebCore::CanvasStyle::applyFillColor):
+ * html/CanvasStyle.h:
+ * platform/graphics/Color.cpp:
+ (WebCore::colorFloatToRGBAByte):
+ (WebCore::makeRGBA32FromFloats):
+ * platform/graphics/Color.h:
+
+2008-08-13 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Fix for <rdar://problem/6137931>
+ https://bugs.webkit.org/show_bug.cgi?id=20360
+ Remove all parameters from the MIME type before checking with the MIME type registry
+
+ Tests: media/video-source-type-params.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
+ to isSupportedMediaMIMEType()
+
+2008-08-13 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/6141345>
+
+ This patch refines findString and markAllMatchesForText functions'
+ interactions with disconnected frames. They no longer rely on
+ knowing where a range is relative to the visible region and work
+ with disconnected frames that contain frames.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
+ the visiblity enum.
+ (WebCore::Editor::firstVisibleRange): This now returns the very
+ first visible range in the document. It's no longer dependent on
+ searching forward.
+ (WebCore::Editor::lastVisibleRange): This now returns the very last
+ visible range in the document. It's no longer dependent on
+ searching backwards.
+ (WebCore::Editor::nextVisibleRange): This returns the next visible
+ range in the appropriate direction from the current range.
+ * editing/Editor.h:
+ * page/Frame.cpp:
+ (WebCore::Frame::findString):
+ (WebCore::Frame::markAllMatchesForText):
+
+2008-08-13 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix for case-sensitive platforms, like Linux.
+
+ * WebCoreSources.bkl:
+
+2008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
+
+ Reviewed by Holger Freyther.
+
+ http://bugs.webkit.org/show_bug.cgi?id=16881
+ [GTK] PlatformScreenGtk is unimplemented
+
+ Original patch by Christian Dywan.
+
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::screenDepth):
+ (WebCore::screenDepthPerComponent):
+ (WebCore::screenIsMonochrome):
+ (WebCore::screenRect):
+ (WebCore::screenAvailableRect):
+
+2008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ http://bugs.webkit.org/show_bug.cgi?id=20318
+ SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
+
+ g_idle_add is the same as g_idle_add_full with a priority of
+ G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
+
+ * platform/gtk/SharedTimerGtk.cpp:
+ (WebCore::setSharedTimerFireTime):
+
+2008-08-13 Timothy Hatcher <timothy@apple.com>
+
+ Changed the InspectorController so it can be notified when the
+ attached state of the Inspector changes in WebKit.
+
+ Reviewed by Kevin McCullough.
+
+ * WebCore.base.exp: Updated the symbol for setWindowVisible.
+ * page/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible): Added an attached argument,
+ that defaults to false.Call setAttachedWindow with the attached argument.
+ (WebCore::InspectorController::setAttachedWindow): Call the script version
+ of setAttachedWindow.
+ * page/InspectorController.h:
+ * page/inspector/inspector.js:
+ (WebInspector.setAttachedWindow): Set the attached property.
+
+2008-08-12 Timothy Hatcher <timothy@apple.com>
+
+ Added a close button to the Inspector's toolbar when docked.
+
+ https://bugs.webkit.org/show_bug.cgi?id=14270
+
+ Reviewed by Kevin McCullough.
+
+ * page/InspectorController.cpp:
+ (WebCore::closeWindow): Call InspectorController::closeWindow.
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ Added closeWindow to the script class.
+ * page/InspectorController.h:
+ * page/inspector/Images/closeButtons.png: Added.
+ * page/inspector/inspector.css: Added and changed styles.
+ * page/inspector/inspector.html: Added the close button.
+ * page/inspector/inspector.js:
+ (WebInspector.loaded): Added click event listener to the close button.
+ (WebInspector.close): Call InspectorController.closeWindow.
+
+2008-08-12 Timothy Hatcher <timothy@apple.com>
+
+ Make the docked Web Inspector resizable. This is the cross platform
+ portion of the code. Each InspectorClient needs to implement the
+ real resize code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=14282
+
+ Reviewed by Kevin McCullough.
+
+ * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
+ * page/InspectorClient.h: Added setAttachedWindowHeight.
+ * page/InspectorController.cpp:
+ (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
+ on the InspectorController.
+ (WebCore::InspectorController::setAttachedWindowHeight): Call
+ setAttachedWindowHeight on the client.
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ Added setAttachedWindowHeight to the script class.
+ * page/InspectorController.h:
+ * page/inspector/inspector.css: Make the cursor on the toolbar be
+ row-resize when docked.
+ * page/inspector/inspector.js:
+ (WebInspector.loaded): Always add the toolbarDragStart event listener.
+ (WebInspector.toolbarDragStart): Return early if we are not attached
+ and not on Leopard. Call WebInspector.elementDragStart.
+ (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
+ (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
+ otherwise call moveByUnrestricted.
+
+2008-08-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger.
+
+ Initialize m_zoomsTextOnly in the Settings constructor.
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+
+2008-08-13 Brad Hughes <bhughes@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
+
+ The latest upgrade of the intel compiler allows us to compile all of
+ Qt with optimizations enabled (yay!).
+
+ * WebCore.pro:
+
+2008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix QtWebKit not displaying content on 403 HTTP responses
+
+ Just like with 404 responses also display content with 403, as
+ used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::finish):
+
+2008-08-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Holger.
+
+ Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
+
+ Make the formatting of String::format() locale independent through the use of QString::vsprintf.
+
+ * platform/text/String.cpp:
+ (WebCore::String::format):
+
+2008-08-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Lars.
+
+ Fix QWebFrame::setHtml() not setting the new contents immediately.
+
+ Added a setter to the DocumentLoader to toggle the deferred loading of the main
+ resource when it comes from substitute data.
+
+ Disable deferred loading of the main resource when we have valid substitute data,
+ as used by QWebFrame::setHtml.
+
+ * loader/DocumentLoader.h:
+
+2008-08-13 Mark Rowe <mrowe@apple.com>
+
+ Speculative GTK build fix.
+
+ * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
+
+2008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fix encoding of [ and ] in the host part of the URL
+
+ Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
+ add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
+ doesn't encode [ and ] when they are found in the host part. That is, the
+ following URL:
+ http://[::1]/
+ is valid and should not be reencoded to:
+ http://%5b::1%5d/
+
+ * platform/qt/KURLQt.cpp:
+ (WebCore::KURL::operator QUrl):
+
+2008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
+ Broken HTML object elements cause de-reference of pointer to freed memory.
+ If we fail to load an image for an object tag and we no longer believe the object tag points at
+ an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
+ fall back content.
+
+ Reviewed by Dave Hyatt and Alexey Proskuryakov.
+
+ Test: http/tests/misc/object-image-error-with-onload.html
+
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::renderFallbackContent):
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+
+2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Dave.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
+ Masks are translated, and the mask images are swapped on the y-axis.
+
+ Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
+ is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
+
+ Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
+ the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
+
+ * svg/graphics/cg/SVGResourceMaskerCg.mm:
+ (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
+
+2008-08-12 Dan Bernstein <mitz@apple.com>
+
+ - WebCore part of <rdar://problem/6121636>
+ Make fast*alloc() abort() on failure and add "try" variants that
+ return NULL on failure.
+
+ Reviewed by Darin Adler.
+
+ * platform/Arena.cpp:
+ (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
+ result.
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
+
+2008-08-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=19348
+ <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
+
+ Test: fast/frames/frameset-style-recalc.html
+
+ * html/HTMLFrameSetElement.cpp:
+ (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
+ class implementation after marking for layout.
+
+2008-08-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
+
+ * WebCore.base.exp:
+ * page/FrameView.cpp:
+ (WebCore::FrameViewPrivate::FrameViewPrivate):
+ (WebCore::FrameView::shouldUpdateWhileHidden):
+ (WebCore::FrameView::setShouldUpdateWhileHidden):
+ * page/FrameView.h:
+ * page/Settings.cpp:
+ * page/Settings.h:
+
+2008-08-12 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * bindings/js/JSSVGPODTypeWrapper.h: Align
+ JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
+ members on 16-byte boundaries to avoid an alignment warning.
+
+2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Oliver.
+
+ Add new dynamice-update layout tests covering SVGMarkerElement.
+ Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
+ Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
+
+ Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
+ svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
+ svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
+ svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
+ svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
+ svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
+ svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
+
+ * svg/SVGMarkerElement.cpp:
+ (WebCore::SVGMarkerElement::SVGMarkerElement):
+ (WebCore::SVGMarkerElement::parseMappedAttribute):
+ (WebCore::SVGMarkerElement::svgAttributeChanged):
+ (WebCore::SVGMarkerElement::childrenChanged):
+ (WebCore::SVGMarkerElement::setOrientToAuto):
+ (WebCore::SVGMarkerElement::setOrientToAngle):
+ (WebCore::SVGMarkerElement::canvasResource):
+
+2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Oliver.
+
+ Add new dynamic-update layout tests covering SVGImageElement.
+ Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
+
+ Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
+ svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
+ svg/dynamic-updates/SVGImageElement-dom-width-attr.html
+ svg/dynamic-updates/SVGImageElement-dom-x-attr.html
+ svg/dynamic-updates/SVGImageElement-dom-y-attr.html
+ svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
+ svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
+ svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
+ svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
+ svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
+
+ * svg/SVGImageElement.cpp:
+ (WebCore::SVGImageElement::svgAttributeChanged):
+
+2008-08-11 Anthony Ricaud <rik24d@gmail.com>
+
+ Changed Option/Alt-Up or Down in CSS editing when the value is
+ near zero to jump to the next integer.
+
+ Reviewed by Tim Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20326
+
+ * page/inspector/StylesSidebarPane.js:
+
+2008-08-11 Anthony Ricaud <rik24d@gmail.com>
+
+ Changed the line highlight transition for an easier animation.
+
+ Reviewed by Tim Hatcher.
+
+ * page/inspector/SourceFrame.js:
+
+2008-08-11 Keishi Hattori <casey.hattori@gmail.com>
+
+ Added support for some Firebug Command Line APIs.
+
+ Reviewed by Tim Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19867
+ https://bugs.webkit.org/show_bug.cgi?id=19868
+ https://bugs.webkit.org/show_bug.cgi?id=19869
+ https://bugs.webkit.org/show_bug.cgi?id=19875
+ https://bugs.webkit.org/show_bug.cgi?id=19876
+ https://bugs.webkit.org/show_bug.cgi?id=19880
+
+ * page/inspector/Console.js:
+ (WebInspector.Console.prototype._evalInInspectedWindow):
+ Create an object on the inspected window that holds the console
+ command line API functions. This object is used in a with statement
+ around the typed expression.
+
+2008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
+
+ Reviewed by Antti.
+
+ Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
+
+ JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
+ failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
+
+ Added tests: svg/custom/svg-modify-currentTranslate.html
+ svg/custom/tearoffs-with-tearoffs.html
+ svg/custom/immutable-properties.html
+
+ Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
+
+ * bindings/js/JSSVGPODTypeWrapper.h:
+ (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
+ (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
+ (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
+ (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
+ (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
+ (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
+ (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
+ (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
+ * bindings/scripts/CodeGenerator.pm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
+ * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
+
+2008-08-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John and Anders
+
+ Fix for <rdar://problem/6141797>
+
+ When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
+ would never have nil data.
+
+ When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
+ semantics with some WebKit applications.
+
+ The guarantee was a good one and should be restored.
+
+ Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
+ creates an empty data object in the case of null data for its own purposes.
+
+ * loader/SubstituteResource.h:
+ (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
+ well help any future subclassers not make this mistake.
+
+ * loader/archive/ArchiveResource.cpp:
+ (WebCore::ArchiveResource::create): Return 0 if the data is null.
+
+2008-08-11 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ https://bugs.webkit.org/show_bug.cgi?id=20328
+ Fix a problem when an 'all' transition transition with more than
+ one property changing is interrupted, and did some AnimationController
+ cleanup.
+
+ Test: transitions/interrupted-all-transition.html
+
+ * page/AnimationController.cpp:
+ (WebCore::ImplicitAnimation::ImplicitAnimation):
+ (WebCore::AnimationControllerPrivate::blendProperties):
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::cleanupFinishedAnimations):
+ (WebCore::CompositeAnimation::setTransitionStartTime):
+ (WebCore::CompositeAnimation::overrideImplicitAnimations):
+ (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
+ (WebCore::ImplicitAnimation::animate):
+ (WebCore::ImplicitAnimation::onAnimationEnd):
+ (WebCore::ImplicitAnimation::sendTransitionEvent):
+ (WebCore::ImplicitAnimation::affectsProperty):
+ (WebCore::KeyframeAnimation::endAnimation):
+ (WebCore::KeyframeAnimation::onAnimationEnd):
+
+2008-08-11 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Tim.
+
+ - Because console messages have group levels now, newly created messages
+ that do not specify the level lose their message since the number of
+ arguments is wrong.
+
+ * page/inspector/Console.js:
+ * page/inspector/Resource.js:
+
+2008-08-11 Alp Toker <alp@nuanti.com>
+
+ Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
+ the opportunity to sort the sources lists.
+
+ * GNUmakefile.am:
+
+2008-08-11 Timothy Hatcher <timothy@apple.com>
+
+ Speed up the the JavaScript syntax highlighter by generating
+ the finders only once per script instead of per line.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20346
+
+ Reviewed by Adam Roben.
+
+ * page/inspector/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
+ Removed, factored into syntaxHighlightJavascript as an inline function.
+ (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
+ Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
+ Generate the finders before iterating the lines.
+
+2008-08-11 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
+ JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
+ too.
+
+2008-08-11 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
+
+ Test: fast/css/counters/invalidate-cached-counter-node.html
+
+ * rendering/RenderContainer.cpp:
+ (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
+ RenderCounters in :before and :after content.
+ * rendering/RenderContainer.h:
+ * rendering/RenderCounter.cpp:
+ (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
+ to match the RenderObject method.
+ (WebCore::RenderCounter::invalidate): Added. Resets the cached
+ CounterNode and invalidates the object's layout and preferred widths.
+ (WebCore::destroyCounterNodeChildren): Added a call to
+ invalidateCounters().
+ * rendering/RenderCounter.h:
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::invalidateCounters):
+
+2008-08-11 Dean Jackson <dino@apple.com>
+
+ Implement CSS Animation and Transition Events
+ https://bugs.webkit.org/show_bug.cgi?id=20337
+
+ Implement the events defined in the CSS Animations
+ and Transitions specifications so code can react
+ to animations and transitions.
+
+ Reviewed by Tim Hatcher and Dave Hyatt.
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ Build configs for new files
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSEventCustom.cpp:
+ * dom/Document.h:
+ * dom/Event.cpp:
+ * dom/Event.h:
+ * dom/EventTarget.cpp:
+ * dom/EventTargetNode.cpp:
+ * dom/EventTargetNode.h:
+ * html/HTMLElement.cpp:
+ * page/AnimationController.cpp:
+ do all the new event stuff
+
+ * html/HTMLAttributeNames.in:
+ the onwebkitanimation* and onwebkittransitionend attrs
+
+ * dom/WebKitAnimationEvent.cpp: Added.
+ * dom/WebKitAnimationEvent.h: Added.
+ * dom/WebKitAnimationEvent.idl: Added.
+ * dom/WebKitTransitionEvent.cpp: Added.
+ * dom/WebKitTransitionEvent.h: Added.
+ * dom/WebKitTransitionEvent.idl: Added.
+ New files for the events
+
+ * manual-tests/transition-events.html: Added.
+ New testfile
+
+2008-08-11 Adam Roben <aroben@apple.com>
+
+ Add a ForwardingHeader for wtf/NotFound.h
+
+ Rubberstamped by Darin Adler.
+
+ * ForwardingHeaders/wtf/NotFound.h: Added.
+
+2008-08-11 Timothy Hatcher <timothy@apple.com>
+
+ Fixes a bug where error bubbles in JavaScript resources would
+ be clobbered by the syntax highlighter.
+
+ https://bugs.webkit.org/show_bug.cgi?id=20345
+
+ Reviewed by Adam Roben.
+
+ * manual-tests/inspector/resources/script-error.js: Added.
+ * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
+ * page/inspector/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._addMessageToSource):
+ Check the nodeType and not the nodeName, this is less fragile.
+ (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
+ Check if the lastChild is an error bubble, if so remove it before
+ getting the line's textContent. Add the error bubble back at the end.
+
+== Rolled over to ChangeLog-2008-08-10 ==