diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/ChangeLog')
-rw-r--r-- | src/3rdparty/webkit/WebCore/ChangeLog | 41580 |
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 == |