diff -r 000000000000 -r 4f2f89ce4247 WebCore/ChangeLog-2010-01-29 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebCore/ChangeLog-2010-01-29 Fri Sep 17 09:02:29 2010 +0300 @@ -0,0 +1,98486 @@ +2010-01-29 Mark Rowe + + Fix the Mac build. + + Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional". + + As the comment in FeatureDefines.xcconfig notes, the list of feature defines + needs to be kept in sync across the various files. The default values also + need to be kept in sync between these files and build-webkit. + + * Configurations/FeatureDefines.xcconfig: + +2010-01-29 Steve Falkenburg + + Reviewed by Darin Adler. + + Timeout for client-based Geolocation shouldn't start until user gives consent + https://bugs.webkit.org/show_bug.cgi?id=34352 + + * page/Geolocation.cpp: + (WebCore::Geolocation::startRequest): Don't start timer if we're blocked on user consent. + (WebCore::Geolocation::setIsAllowed): Start timer after user gives consent. + +2010-01-29 Jakob Petsovits + + Reviewed by Nikolas Zimmermann. + + [OpenVG] Implement more graphics primitives + https://bugs.webkit.org/show_bug.cgi?id=34339 + + Adds lines, arcs, ellipses, polygons and rounded + rectangles to PainterOpenVG and GraphicsContext. + + Rounded rects support by Eli Fidler . + + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::drawFocusRing): + (WebCore::GraphicsContext::drawLineForText): + (WebCore::GraphicsContext::clearRect): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/openvg/PainterOpenVG.cpp: + (WebCore::PainterOpenVG::drawRect): + (WebCore::PainterOpenVG::drawRoundedRect): + (WebCore::PainterOpenVG::drawLine): + (WebCore::PainterOpenVG::drawArc): + (WebCore::PainterOpenVG::drawEllipse): + (WebCore::PainterOpenVG::drawPolygon): + * platform/graphics/openvg/PainterOpenVG.h: + +2010-01-29 Jeremy Orlow + + Reviewed by Dimitri Glazkov. + + A first step towards the Indexed Database API + https://bugs.webkit.org/show_bug.cgi?id=34342 + + Flesh out the first part of Indexed Database API. + Currently only compiles with v8 + chromium for now. + Completely non-functional, but it seems best to do + this in chunks. + + No tests because nothing works yet. + + * Configurations/FeatureDefines.xcconfig: + * WebCore.gypi: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/DerivedSourcesAllInOne.cpp: + * bindings/v8/RuntimeEnabledFeatures.cpp: + * bindings/v8/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setIndexedDatabaseEnabled): + (WebCore::RuntimeEnabledFeatures::indexedDatabaseEnabled): + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::IndexedDBEnabled): + * bindings/v8/custom/V8IDBRequestCustom.cpp: Added. + (WebCore::V8IDBRequest::resultAccessorGetter): + * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Added. + (WebCore::V8IndexedDatabaseRequest::openCallback): + * dom/EventNames.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::indexedDB): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * storage/IDBDatabaseError.h: Added. + (WebCore::IDBDatabaseError::create): + (WebCore::IDBDatabaseError::~IDBDatabaseError): + (WebCore::IDBDatabaseError::code): + (WebCore::IDBDatabaseError::setCode): + (WebCore::IDBDatabaseError::message): + (WebCore::IDBDatabaseError::setMessage): + (WebCore::IDBDatabaseError::IDBDatabaseError): + * storage/IDBDatabaseError.idl: Added. + * storage/IDBDatabaseException.h: Added. + (WebCore::IDBDatabaseException::create): + (WebCore::IDBDatabaseException::~IDBDatabaseException): + (WebCore::IDBDatabaseException::code): + (WebCore::IDBDatabaseException::setCode): + (WebCore::IDBDatabaseException::message): + (WebCore::IDBDatabaseException::setMessage): + (WebCore::IDBDatabaseException::IDBDatabaseException): + * storage/IDBDatabaseException.idl: Added. + * storage/IDBRequest.cpp: Added. + (WebCore::IDBRequest::IDBRequest): + (WebCore::IDBRequest::~IDBRequest): + (WebCore::IDBRequest::abort): + (WebCore::IDBRequest::eventTargetData): + (WebCore::IDBRequest::ensureEventTargetData): + * storage/IDBRequest.h: Added. + (WebCore::IDBRequest::create): + (WebCore::IDBRequest::readyState): + (WebCore::IDBRequest::error): + (WebCore::IDBRequest::result): + (WebCore::IDBRequest::scriptExecutionContext): + (WebCore::IDBRequest::toIDBRequest): + (WebCore::IDBRequest::refEventTarget): + (WebCore::IDBRequest::derefEventTarget): + * storage/IDBRequest.idl: Added. + * storage/IndexedDatabaseRequest.cpp: Added. + (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest): + (WebCore::IndexedDatabaseRequest::~IndexedDatabaseRequest): + (WebCore::IndexedDatabaseRequest::open): + * storage/IndexedDatabaseRequest.h: Added. + (WebCore::IndexedDatabaseRequest::create): + (WebCore::IndexedDatabaseRequest::request): + * storage/IndexedDatabaseRequest.idl: Added. + +2010-01-29 Brian Weinstein + + Reviewed by Adam Roben. + + Drag and Drop: Windows uses "stop" sign as cursor when dragging + https://bugs.webkit.org/show_bug.cgi?id=34305 + + + Add a FIXME for the code that needs to be changed to support full + custom cursors. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleDrag): + +2010-01-29 Victor Wang + + Reviewed by darin@apple.com. + + Fix the issue that both main frome and iframe are + focused if window.onblur calls window.focus. + https://bugs.webkit.org/show_bug.cgi?id=31692 + + The problem is caused by the focused frame in FocusController + is messed up if window.onblur calls window.focus: + When user clicks iframe to switch focus from main frame to iframe, + FocusController::setFocusedFrame fires onblur event, which calls + window.focus and then calls setFocusedFrame again to switch back. + This messes up the old focused frame and new focused frame and + leaves the FocusController confused. As a result, controlls + in both main frame and iframe look like get focused. + + To fix it, add a flag to FocusController and do no switch the focused + frame when FocusController is in the middle of changing the focused frame. + + Test: fast/events/change-frame-focus.html + + * page/FocusController.cpp: + (WebCore::FocusController::FocusController): + (WebCore::FocusController::setFocusedFrame): + * page/FocusController.h: + (WebCore::FocusController::focusedFrame): + (WebCore::FocusController::isActive): + (WebCore::FocusController::isFocused): + +2010-01-29 Alexey Proskuryakov + + Reviewed by Dan Bernstein. + + REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as + blank windows + + We probably shouldn't be deferring loads below modal dialogs and alerts, because that's not + what being modal means. But making such a change for general Web content would require fixes + in other parts of code, which I'm not ready to implement right now, so making it application + specific. + + * page/Page.cpp: (WebCore::Page::setDefersLoading): Do nothing if load deferring is not + enabled in page settings. + + * WebCore.base.exp: + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setLoadDeferringEnabled): + * page/Settings.h: (WebCore::Settings::loadDeferringEnabled): + Add the ability for client to disable page deferring (still enabled by default). + + * platform/mac/RuntimeApplicationChecks.h: + * platform/mac/RuntimeApplicationChecks.mm: (WebCore::applicationIsAdobeInstaller): + Added a bundle ID test for Adobe installer. + +2010-01-29 Steve Falkenburg + + Build fix. + + * page/Geolocation.cpp: + (WebCore::Geolocation::startUpdating): + +2010-01-29 Steve Falkenburg + + Reviewed by Darin Adler. + + Client-based Geolocation starts updating before getting consent from the user + https://bugs.webkit.org/show_bug.cgi?id=34343 + + * page/Geolocation.cpp: + (WebCore::Geolocation::startRequest): Pass notifier instead of options to startUpdating. + (WebCore::Geolocation::setIsAllowed): Add the observer or notify of error for deferred startUpdating. + (WebCore::Geolocation::startUpdating): Pass notifier instead of options, since we may need to call it if we fail to get user consent. + Defer adding the observer if we don't yet have user consent, since this could kick off + server-based wifi Geolocation requests. + * page/Geolocation.h: + +2010-01-28 Jon Honeycutt + + MSAA: Crash when posting a notification for a detached object + + https://bugs.webkit.org/show_bug.cgi?id=34309 + + + Reviewed by Darin Adler. + + Test: platform/win/accessibility/detached-object-notification-crash.html + + * accessibility/AccessibilityRenderObject.cpp: + (AccessibilityRenderObject::document): + Null check m_renderer. This is the bug fix; the other changes in the + patch are for the test. + + * accessibility/win/AXObjectCacheWin.cpp: + (WebCore::AXObjectCache::postPlatformNotification): + Map AXValueChanged to EVENT_OBJECT_VALUECHANGED, so we'll post a + notification when AXValueChanged is posted. Receiving an event of this + type tells us that the test passed. + +2010-01-29 Darin Fisher + + Okayed by Oliver Hunt. + + Rollout r53949, r53951 and r54013 due to a Chromium regression that it + causes. Somehow this code change is triggering an endless repaint loop. + + https://bugs.webkit.org/show_bug.cgi?id=33808 + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawTiledImage): + * platform/graphics/GraphicsContext.h: + * platform/graphics/transforms/TransformationMatrix.h: + (WebCore::TransformationMatrix::isIdentityOrTranslation): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderBoxModelObject.h: + +2010-01-29 Tony Chang + + Reviewed by Darin Adler. + + Add gdb helper methods for Ranges like we have for VisibleSelections. + https://bugs.webkit.org/show_bug.cgi?id=34308 + + No new tests, these are only for debugging. + + * dom/Position.cpp: + (WebCore::Position::showTreeForThis): + * dom/Range.cpp: + (showTree): + * dom/Range.h: + +2010-01-29 Drew Wilson + + Reviewed by Adam Barth. + + V8 implementation of MessageEvent.initMessageEvent() does not set source correctly. + https://bugs.webkit.org/show_bug.cgi?id=34292 + + Test: fast/events/init-events.html will pass in Chrome now. + + * bindings/v8/custom/V8MessageEventCustom.cpp: + (WebCore::V8MessageEvent::initMessageEventCallback): + Now properly extracts the reference to the DOMWindow object from the passed-in window parameter. + +2010-01-29 Ben Murdoch + + Reviewed by Dimitri Glazkov. + + [Android] Android needs functionality in the ChromeClient to be informed when touch events are and are not needed by the webpage. + https://bugs.webkit.org/show_bug.cgi?id=34215 + + Add a function on the ChromeClient that WebCore can use to inform the platform when it needs touch events. This way the platform can optimise by not forwarding the events if they are not required. + + No new tests as the only implementation is specific to Android. + + * dom/Document.cpp: + (WebCore::Document::detach): Check if this is the top level document and if so, stop forwarding touch events. + (WebCore::Document::addListenerTypeIfNeeded): Inform the ChromeClient it should start forwarding touch events and guard touch event code properly. + * history/CachedFrame.cpp: + (WebCore::CachedFrameBase::restore): If the document uses touch events, inform the ChromeClient to start forwarding them. + (WebCore::CachedFrame::CachedFrame): If the document uses touch events, inform the ChromeClient to stop forwarding them, as the document is being put into the page cache. + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::needTouchEvents): Add an empty implementation. + * page/ChromeClient.h: Add the needTouchEvents() function. + +2010-01-29 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Fix toolbar gradient to match the window's titlebar on Snow Leopard + https://bugs.webkit.org/show_bug.cgi?id=34320 + + * inspector/front-end/inspector.css: + +2010-01-29 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Fix MacOS X version detection + + MacOS X version can have 2 or 3 segments. + https://bugs.webkit.org/show_bug.cgi?id=34322 + + * inspector/front-end/inspector.js: + (WebInspector._detectPlatform): + +2010-01-29 Jakob Petsovits + + Reviewed by Nikolas Zimmermann. + + [OpenVG] Implement a basic GraphicsContext on top of a new PainterOpenVG class + https://bugs.webkit.org/show_bug.cgi?id=33405 + + PainterOpenVG provides painter state management that works + on a single (EGL) context, and apart from painter state + implements a single drawing operation (for now), drawRect(). + + It is a generic painter class that cooperates with + SurfaceOpenVG to enable robust surface/context switching + (given that EGL doesn't notify us if somebody switches + the surface/context behind our backs), and provides + painting operations close to OpenVG's way of working + that GraphicsContext, Path, Image, Font and other WebKit + platform classes can use to draw on. + + Initial code for state management and OpenVG scissoring by + Eli Fidler . VGRect/VGMatrix and the bulk + of the transformations code by Adam Treat . + Preliminary drawFocusRing() implementation by Yong Li . + + * platform/graphics/FloatRect.h: + * platform/graphics/GraphicsContext.cpp: + * platform/graphics/GraphicsContext.h: + * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Added. + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::platformContext): + (WebCore::GraphicsContext::getCTM): + (WebCore::GraphicsContext::savePlatformState): + (WebCore::GraphicsContext::restorePlatformState): + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::beginPath): + (WebCore::GraphicsContext::addPath): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::clipPath): + (WebCore::GraphicsContext::drawFocusRing): + (WebCore::GraphicsContext::drawLineForText): + (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): + (WebCore::GraphicsContext::roundToDevicePixels): + (WebCore::GraphicsContext::setPlatformShadow): + (WebCore::GraphicsContext::clearPlatformShadow): + (WebCore::GraphicsContext::beginTransparencyLayer): + (WebCore::GraphicsContext::endTransparencyLayer): + (WebCore::GraphicsContext::clearRect): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setLineCap): + (WebCore::GraphicsContext::setLineDash): + (WebCore::GraphicsContext::setLineJoin): + (WebCore::GraphicsContext::setMiterLimit): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::setCompositeOperation): + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::scale): + (WebCore::GraphicsContext::rotate): + (WebCore::GraphicsContext::translate): + (WebCore::GraphicsContext::origin): + (WebCore::GraphicsContext::clipOutEllipseInRect): + (WebCore::GraphicsContext::clipToImageBuffer): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + (WebCore::GraphicsContext::concatCTM): + (WebCore::GraphicsContext::setURLForRect): + (WebCore::GraphicsContext::setPlatformStrokeColor): + (WebCore::GraphicsContext::setPlatformStrokeStyle): + (WebCore::GraphicsContext::setPlatformStrokeThickness): + (WebCore::GraphicsContext::setPlatformFillColor): + (WebCore::GraphicsContext::setPlatformShouldAntialias): + (WebCore::GraphicsContext::setImageInterpolationQuality): + (WebCore::GraphicsContext::imageInterpolationQuality): + * platform/graphics/openvg/PainterOpenVG.cpp: Added. + (WebCore::isNonRotatedAffineTransformation): + (WebCore::toVGCapStyle): + (WebCore::toVGJoinStyle): + (WebCore::toVGFillRule): + (WebCore::colorToVGColor): + (WebCore::setVGSolidColor): + (WebCore::PlatformPainterState::PlatformPainterState): + (WebCore::PlatformPainterState::copyPaintState): + (WebCore::PlatformPainterState::applyState): + (WebCore::PlatformPainterState::applyBlending): + (WebCore::PlatformPainterState::applyTransformationMatrix): + (WebCore::PlatformPainterState::applyScissorRect): + (WebCore::PlatformPainterState::applyStrokeStyle): + (WebCore::PlatformPainterState::strokeDisabled): + (WebCore::PlatformPainterState::fillDisabled): + (WebCore::PainterOpenVG::PainterOpenVG): + (WebCore::PainterOpenVG::~PainterOpenVG): + (WebCore::PainterOpenVG::begin): + (WebCore::PainterOpenVG::end): + (WebCore::PainterOpenVG::destroyPainterStates): + (WebCore::PainterOpenVG::applyState): + (WebCore::PainterOpenVG::blitToSurface): + (WebCore::PainterOpenVG::transformationMatrix): + (WebCore::PainterOpenVG::concatTransformationMatrix): + (WebCore::PainterOpenVG::setTransformationMatrix): + (WebCore::PainterOpenVG::compositeOperation): + (WebCore::PainterOpenVG::setCompositeOperation): + (WebCore::PainterOpenVG::opacity): + (WebCore::PainterOpenVG::setOpacity): + (WebCore::PainterOpenVG::strokeThickness): + (WebCore::PainterOpenVG::setStrokeThickness): + (WebCore::PainterOpenVG::strokeStyle): + (WebCore::PainterOpenVG::setStrokeStyle): + (WebCore::PainterOpenVG::setLineDash): + (WebCore::PainterOpenVG::setLineCap): + (WebCore::PainterOpenVG::setLineJoin): + (WebCore::PainterOpenVG::setMiterLimit): + (WebCore::PainterOpenVG::strokeColor): + (WebCore::PainterOpenVG::setStrokeColor): + (WebCore::PainterOpenVG::fillColor): + (WebCore::PainterOpenVG::setFillColor): + (WebCore::PainterOpenVG::antialiasingEnabled): + (WebCore::PainterOpenVG::setAntialiasingEnabled): + (WebCore::PainterOpenVG::scale): + (WebCore::PainterOpenVG::rotate): + (WebCore::PainterOpenVG::translate): + (WebCore::PainterOpenVG::intersectScissorRect): + (WebCore::PainterOpenVG::intersectClipRect): + (WebCore::PainterOpenVG::drawRect): + (WebCore::PainterOpenVG::save): + (WebCore::PainterOpenVG::restore): + * platform/graphics/openvg/PainterOpenVG.h: Added. + (WebCore::PainterOpenVG::): + (WebCore::PainterOpenVG::surface): + * platform/graphics/openvg/SurfaceOpenVG.cpp: + (WebCore::SurfaceOpenVG::SurfaceOpenVG): + (WebCore::SurfaceOpenVG::~SurfaceOpenVG): + (WebCore::SurfaceOpenVG::makeCurrent): + (WebCore::SurfaceOpenVG::makeCompatibleCurrent): + (WebCore::SurfaceOpenVG::setActivePainter): + (WebCore::SurfaceOpenVG::activePainter): + * platform/graphics/openvg/SurfaceOpenVG.h: + (WebCore::SurfaceOpenVG::): + * platform/graphics/openvg/VGUtils.cpp: Added. + (WebCore::VGMatrix::VGMatrix): + (WebCore::VGMatrix::operator TransformationMatrix): + (WebCore::TransformationMatrix::operator VGMatrix): + (WebCore::VGRect::VGRect): + (WebCore::VGRect::operator FloatRect): + (WebCore::FloatRect::operator VGRect): + * platform/graphics/openvg/VGUtils.h: + (WebCore::VGMatrix::toVGfloat): + (WebCore::VGRect::toVGfloat): + * platform/graphics/transforms/TransformationMatrix.h: + +2010-01-29 Philippe Normand + + Reviewed by Gustavo Noronha Silva. + + [Gtk] Vimeo HTML5 player doesn't work + https://bugs.webkit.org/show_bug.cgi?id=34327 + + Send Referer when requesting media over HTTP. + + Test: http/tests/media/video-referer.html + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateSourceChangedCallback): + +2010-01-29 Oswald Buddenhagen + + Reviewed by Simon Hausmann. + + [Qt] Speed up the WebCore::String -> QString conversion + + Use QString(const QChar *, int len) constructor instead of QString::fromUtf16 to + avoid BOM checks and byteswapping. + + * bridge/qt/qt_class.cpp: + (JSC::Bindings::QtClass::fieldNamed): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): + +2010-01-29 Alexander Pavlov + + Reviewed by Timothy Hatcher. + + Web Inspector: Source view displays text using wrong fonts + https://bugs.webkit.org/show_bug.cgi?id=34269 + + * inspector/front-end/TextEditor.js: + (WebInspector.TextEditor): + (WebInspector.TextEditor.prototype._initFont): + * inspector/front-end/inspector.js: + +2010-01-29 Philippe Normand + + Reviewed by Gustavo Noronha Silva. + + [Gtk] Apple trailers don't play anymore + https://bugs.webkit.org/show_bug.cgi?id=34316 + + Fake QuickTime when accessing movie trailers. + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateSourceChangedCallback): + +2010-01-29 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: migrate to tokenizer-based highlighting in the Elements panel. + + https://bugs.webkit.org/show_bug.cgi?id=34273 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/CSSSourceSyntaxHighlighter.js: Removed. + * inspector/front-end/DOMSyntaxHighlighter.js: Added. + (WebInspector.DOMSyntaxHighlighter): + (WebInspector.DOMSyntaxHighlighter.prototype.createSpan): + (WebInspector.DOMSyntaxHighlighter.prototype.syntaxHighlightNode): + * inspector/front-end/ElementsTreeOutline.js: + * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Removed. + * inspector/front-end/SourceCSSTokenizer.js: + (WebInspector.SourceCSSTokenizer): + (WebInspector.SourceCSSTokenizer.prototype.nextToken): + * inspector/front-end/SourceCSSTokenizer.re2js: + * inspector/front-end/SourceHTMLTokenizer.js: + (WebInspector.SourceHTMLTokenizer): + (WebInspector.SourceHTMLTokenizer.prototype.nextToken): + * inspector/front-end/SourceHTMLTokenizer.re2js: + * inspector/front-end/SourceJavaScriptTokenizer.js: + (WebInspector.SourceJavaScriptTokenizer): + (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken): + * inspector/front-end/SourceJavaScriptTokenizer.re2js: + * inspector/front-end/SourceSyntaxHighlighter.js: Removed. + * inspector/front-end/SourceTokenizer.js: Added. + (WebInspector.SourceTokenizer): + (WebInspector.SourceTokenizer.prototype.set line): + (WebInspector.SourceTokenizer.prototype.set condition): + (WebInspector.SourceTokenizer.prototype.get condition): + (WebInspector.SourceTokenizer.prototype.hasCondition): + (WebInspector.SourceTokenizer.prototype.getLexCondition): + (WebInspector.SourceTokenizer.prototype.setLexCondition): + (WebInspector.SourceTokenizer.prototype._charAt): + (WebInspector.SourceTokenizer.Registry): + (WebInspector.SourceTokenizer.Registry.getInstance): + (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer): + * inspector/front-end/TextEditorHighlighter.js: + (WebInspector.TextEditorHighlighter): + (WebInspector.TextEditorHighlighter.prototype.set mimeType): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2010-01-29 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: No need to render background sources + when performing search. + + https://bugs.webkit.org/show_bug.cgi?id=34263 + + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + (WebInspector.ScriptView.prototype.show): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype.set visible): + (WebInspector.SourceFrame.prototype.set executionLine): + (WebInspector.SourceFrame.prototype.revealLine): + (WebInspector.SourceFrame.prototype.clearMessages): + (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): + (WebInspector.SourceFrame.prototype.setContent): + (WebInspector.SourceFrame.prototype._createEditorIfNeeded): + (WebInspector.SourceFrame.prototype.setSelection): + (WebInspector.SourceFrame.prototype.clearSelection): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._toggleBreakpoint): + (WebInspector.SourceFrame.prototype.resize): + (WebInspector.BreakpointLineNumberDecorator): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + (WebInspector.SourceView.prototype.show): + (WebInspector.SourceView.prototype.hide): + (WebInspector.SourceView.prototype.resize): + * inspector/front-end/TextEditor.js: + (WebInspector.TextEditor): + * inspector/front-end/TextEditorHighlighter.js: + (WebInspector.TextEditorHighlighter): + * inspector/front-end/TextEditorModel.js: + (WebInspector.TextEditorModel): + (WebInspector.TextEditorModel.prototype.set changeListener): + (WebInspector.TextEditorModel.prototype.setText): + +2010-01-29 Yury Semikhatsky + + Reviewed by Adam Barth. + + Remove ScriptState::frame which is only used for reporting exceptions + in some cases in a way that diverges from the regular exception reporting in + v8 bindings. + + Cache ScriptState directly on v8::Context instead of providing + implementations specific for isolated worlds and ScriptController. + + https://bugs.webkit.org/show_bug.cgi?id=34266 + + * bindings/js/ScriptController.cpp: + * bindings/js/ScriptController.h: + * bindings/js/ScriptState.cpp: + (WebCore::mainWorldScriptState): + * bindings/js/ScriptState.h: + * bindings/v8/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::ScriptCallStack): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + (WebCore::ScriptController::clearWindowShell): + * bindings/v8/ScriptController.h: + * bindings/v8/ScriptScope.cpp: + (WebCore::ScriptScope::ScriptScope): + (WebCore::ScriptScope::success): + * bindings/v8/ScriptScope.h: + * bindings/v8/ScriptState.cpp: + (WebCore::ScriptState::ScriptState): + (WebCore::ScriptState::forContext): + (WebCore::ScriptState::current): + (WebCore::ScriptState::weakReferenceCallback): + (WebCore::mainWorldScriptState): + (WebCore::scriptStateFromPage): + * bindings/v8/ScriptState.h: + (WebCore::ScriptState::ScriptState): + (WebCore::EmptyScriptState::EmptyScriptState): + (WebCore::EmptyScriptState::~EmptyScriptState): + * bindings/v8/V8HiddenPropertyName.h: + * bindings/v8/V8IsolatedContext.cpp: + * bindings/v8/V8IsolatedContext.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::getScriptExecutionContext): + (WebCore::reportException): + * bindings/v8/custom/V8NodeIteratorCustom.cpp: + (WebCore::V8NodeIterator::nextNodeCallback): + (WebCore::V8NodeIterator::previousNodeCallback): + * bindings/v8/custom/V8TreeWalkerCustom.cpp: + (WebCore::V8TreeWalker::parentNodeCallback): + (WebCore::V8TreeWalker::firstChildCallback): + (WebCore::V8TreeWalker::lastChildCallback): + (WebCore::V8TreeWalker::nextNodeCallback): + (WebCore::V8TreeWalker::previousNodeCallback): + (WebCore::V8TreeWalker::nextSiblingCallback): + (WebCore::V8TreeWalker::previousSiblingCallback): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::injectedScriptForNodeId): + +2010-01-29 Darin Fisher + + Reviewed by Adam Barth. + + Add FrameLoaderClient::allowImages method to allow the client to + overrule image loading policy on a per frame basis. + + https://bugs.webkit.org/show_bug.cgi?id=34225 + + For completeness, this patch also adds Settings::areImagesEnabled. + This is different from loadsImagesAutomatically as is explained in + Settings.h. + + * loader/DocLoader.cpp: + (WebCore::DocLoader::requestImage): + * loader/FrameLoaderClient.h: + (WebCore::FrameLoaderClient::allowImages): + * loader/ImageDocument.cpp: + (WebCore::ImageTokenizer::writeRawData): + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setImagesEnabled): + * page/Settings.h: + (WebCore::Settings::areImagesEnabled): + +2010-01-28 Nicholas Young + + Reviewed by Eric Carlson. + + Prefer provided video element width/height properties to hard coded + defaults for intrinsic size when natural video size is unavailable. + https://bugs.webkit.org/show_bug.cgi?id=34302 + + No new tests needed. + + * rendering/RenderVideo.cpp: Attempt to use width/height properties + (WebCore::RenderVideo::RenderVideo): + * rendering/RenderVideo.h: More appropriate constructor signature + +2010-01-28 Oliver Hunt + + Reviewed by Gavin Barraclough. + + MessageEvent.data should not be repeated deserialised + https://bugs.webkit.org/show_bug.cgi?id=34311 + + Cache the result of deserialising the event data + + * bindings/scripts/CodeGeneratorJS.pm: + * dom/MessageEvent.idl: + +2010-01-28 Hayato Ito + + Reviewed by Darin Adler. + + Change CSS 'page-break-inside' property from inherited one to non-inherited one because CSS specification defines so. + + Note: Currently, the 'page-break-inside' property is used only when parsing the CSS. That property is not used when rendering. + + https://bugs.webkit.org/show_bug.cgi?id=34195 + + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::NonInheritedFlags::operator==): + (WebCore::InheritedFlags::setBitDefaults): + (WebCore::InheritedFlags::pageBreakInside): + (WebCore::InheritedFlags::setPageBreakInside): + * rendering/style/StyleInheritedData.cpp: + (WebCore::StyleInheritedData::StyleInheritedData): + (WebCore::StyleInheritedData::operator==): + * rendering/style/StyleInheritedData.h: + +2010-01-28 Michael Nordman + + Reviewed by Alexey Proskuryakov. + + ApplicationCache events should be deferred until after Document onload has fired. + https://bugs.webkit.org/show_bug.cgi?id=29690 + + Test: http/tests/appcache/deferred-events.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::handledOnloadEvents): Tells the ApplicationCacheHost to stop deferring events. + * loader/appcache/ApplicationCacheHost.cpp: + (WebCore::ApplicationCacheHost::ApplicationCacheHost): Initialize m_isDeferringEvents to true. + (WebCore::ApplicationCacheHost::notifyDOMApplicationCache): Depending, defer or raise the event. + (WebCore::ApplicationCacheHost::stopDeferringEvents): Raise any deferred events and reset the flag. + * loader/appcache/ApplicationCacheHost.h: Declare new data members and method. + +2010-01-28 Kavita Kanetkar + + Reviewed by Dimitri Glazkov. + + [V8] Generate header declaration for custom constructor callbacks + https://bugs.webkit.org/show_bug.cgi?id=33680 + + Added handling of 'CanBeConstructed' and 'OmitConstructor' and a new extended attribute + CustomConstructor'. + + Deleted implementation .cpp files for corresponding 'CanBeConstructed' + extended attributes. These are now generated via CodeGeneratorV8.pm + Treating 'OmitConstructor' and 'CustomConstructor' to be the same in + CodeGeneratorJS.pm + Cleaned idls that had 'CustomConstructor' and 'OmitConstructor' together, and + same with CustomConstructor and CanBeConstructed. + + * Android.v8bindings.mk: + * WebCore.gypi: Removed deps for classes being generated. + * bindings/scripts/CodeGeneratorJS.pm: OmitConstructor and CustomConstructor have the same behavior in generator. + * bindings/scripts/CodeGeneratorV8.pm: Generating the callbacks for constructors. + * bindings/v8/V8DOMWrapper.cpp: Removed manual calls to SetCallHandler() for constructor callbacks. + (WebCore::V8DOMWrapper::getTemplate): + * bindings/v8/custom/V8CustomBinding.h: Removed manual declarations of constructor callbacks. + * bindings/v8/custom/V8DOMParserConstructor.cpp: + * bindings/v8/custom/V8EventSourceConstructor.cpp: + (WebCore::V8EventSource::constructorCallback): + * bindings/v8/custom/V8MessageChannelConstructor.cpp: + (WebCore::V8MessageChannel::constructorCallback): + * bindings/v8/custom/V8SharedWorkerCustom.cpp: + (WebCore::V8SharedWorker::constructorCallback): + * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: + (WebCore::V8WebGLArrayBuffer::constructorCallback): + * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: + (WebCore::V8WebGLByteArray::constructorCallback): + * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: + (WebCore::V8WebGLFloatArray::constructorCallback): + * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: + (WebCore::V8WebGLIntArray::constructorCallback): + * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: + (WebCore::V8WebGLShortArray::constructorCallback): + * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: + (WebCore::V8WebGLUnsignedByteArray::constructorCallback): + * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: + (WebCore::V8WebGLUnsignedIntArray::constructorCallback): + * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: + (WebCore::V8WebGLUnsignedShortArray::constructorCallback): + * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: + (WebCore::V8WebKitCSSMatrix::constructorCallback): + * bindings/v8/custom/V8WebKitPointConstructor.cpp: + (WebCore::V8WebKitPoint::constructorCallback): + * bindings/v8/custom/V8WebSocketCustom.cpp: + (WebCore::V8WebSocket::constructorCallback): + * bindings/v8/custom/V8WorkerCustom.cpp: + (WebCore::V8Worker::constructorCallback): + * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: + (WebCore::V8XMLHttpRequest::constructorCallback): + * bindings/v8/custom/V8XMLSerializerConstructor.cpp: + * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Deleted the file. Implementation now being generated. + * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Deleted the file. Implementation now being generated. + (WebCore::V8XSLTProcessor::constructorCallback): Deleted the file. Implementation now being generated. + * css/WebKitCSSMatrix.idl: Added CustomConstructor attribute. + * dom/MessageChannel.idl: Added CustomConstructor attribute. + * html/canvas/WebGLArrayBuffer.idl: Added CustomConstructor attribute. + * html/canvas/WebGLByteArray.idl: Added CustomConstructor attribute. + * html/canvas/WebGLFloatArray.idl: Added CustomConstructor attribute. + * html/canvas/WebGLIntArray.idl: Added CustomConstructor attribute. + * html/canvas/WebGLShortArray.idl: Added CustomConstructor attribute. + * html/canvas/WebGLUnsignedByteArray.idl: Added CustomConstructor attribute. + * html/canvas/WebGLUnsignedIntArray.idl: Added CustomConstructor attribute. + +2010-01-28 Steve Block + + Reviewed by David Levin. + + Add stub for AXObjectCache::contentChanged when HAVE(ACCESSIBILITY) is not defined + https://bugs.webkit.org/show_bug.cgi?id=34271 + + No new tests, build fix only. + + * accessibility/AXObjectCache.cpp: Modified. Added HAVE(ACCESSIBILITY) guards around contentChanged + * accessibility/AXObjectCache.h: Modified. + (WebCore::AXObjectCache::contentChanged): Added stub + +2010-01-28 Steve Block + + Reviewed by David Levin. + + Use long long rather than int64 in V8Binding.h + https://bugs.webkit.org/show_bug.cgi?id=34270 + + No new tests, build fix only. + + * bindings/v8/V8Binding.h: Modified. + (WebCore::toInt64): Returns long long + +2010-01-28 Avi Drissman + + Reviewed by David Levin. + + Unused variable in ThemeMac (followup to change 49103). + https://bugs.webkit.org/show_bug.cgi?id=34274 + + Covered by existing tests. + + * platform/mac/ThemeMac.mm: + (WebCore::setupButtonCell): + +2010-01-28 Enrica Casucci + + Reviewed by Maciej Stachowiak. + + Huge plain text pastes are slow + + https://bugs.webkit.org/show_bug.cgi?id=34237 + + No new tests. It is a performance improvement. + + The performance of the plain text paste is now linear. + We treat as a special case, a fragment that has been + created from plain text. Finding VisiblePositions and + applying style is greatly simplified, given the nature of + the fragment. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): + * editing/markup.cpp: + (WebCore::isPlainTextMarkup): + * editing/markup.h: + +2010-01-28 Jeremy Orlow + + Reviewed by Adam Barth. + + Initialize DOM Storage's quota's current length parameter when we clone it. + https://bugs.webkit.org/show_bug.cgi?id=34294 + + * storage/StorageMap.cpp: + (WebCore::StorageMap::copy): + +2010-01-28 Brent Fulgham + + Unreviewed build fix after r53411 on WinCairo. + + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::frameCount): + +2010-01-28 Nayan Kumar K + + Reviewed by Laszlo Gombos. + + Fix for compilation error in WML enabled build introduced because of the changeset 53514. + + https://bugs.webkit.org/show_bug.cgi?id=34254 + + * wml/WMLDocument.cpp: + (WebCore::WMLDocument::WMLDocument): + +2010-01-28 Alex Milowski + + Reviewed by Eric Seidel. + + Update to CSS to remove unnecessary line-height settings + + * css/mathml.css: + +2010-01-28 Steve Block + + Reviewed by David Levin. + + Add missing includes for HashMap/HashSet + https://bugs.webkit.org/show_bug.cgi?id=34276 + + No new tests, build fix only. + + * platform/KURL.cpp: Modified. Include HashMap.h + * platform/network/CredentialStorage.cpp: Modified. Include HashMap.h and HashSet.h + * platform/network/ProtectionSpaceHash.h: Modified. Include HashTraits.h + +2010-01-28 Sebastian Dröge + + Reviewed by Gustavo Noronha. + + Pass cookies to the GStreamer HTTP source + https://bugs.webkit.org/show_bug.cgi?id=34003 + + Test: http/tests/media/video-cookie.html + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mediaPlayerPrivateSourceChangedCallback): + When using an appropiate GStreamer HTTP source element, pass + the cookies for the media URI to it. This fixes playback of + the YouTube HTML5 videos. + +2010-01-28 Csaba Osztrogonác + + [Qt] Unreviewed buildfix after r54022. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtRuntimeObjectImp::createStructure): + * bridge/qt/qt_pixmapruntime.cpp: + (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure): + * bridge/qt/qt_runtime.h: + (JSC::Bindings::QtRuntimeMethod::createStructure): + +2010-01-28 Adam Roben + + Fix an assertion beneath SerializedScriptValue::deserialize on 32-bit + builds (e.g., on Windows) + + Passing a JSValue to toRef on 32-bit builds can perform an allocation, + so we need to make sure we hold a JSLock when that occurs. + + Reviewed by Oliver Hunt. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValueData::serialize): + (WebCore::SerializedScriptValueData::deserialize): + Moved JSLocks from here... + + (WebCore::SerializedScriptValue::create): + (WebCore::SerializedScriptValue::deserialize): + ...to this higher level, from which toRef can be called. + +2010-01-28 Oliver Hunt + + Reviewed by Gavin Barraclough. + + DOM Objects shouldn't all require custom mark functions + https://bugs.webkit.org/show_bug.cgi?id=34291 + + Make DOMObjectWithGlobalPointer use an anonymous slot to store the global object + reference. + + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObjectWithGlobalPointer::globalObject): + (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): + (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): + +2010-01-28 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Simplify anonymous slot implementation + https://bugs.webkit.org/show_bug.cgi?id=34282 + + Update the WebCore JS DOM bindings to correctly pass and + propagate the anonymous slot count information. + + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObjectWithGlobalPointer::createStructure): + (WebCore::DOMConstructorObject::createStructure): + * bindings/js/JSDOMWindowShell.h: + (WebCore::JSDOMWindowShell::createStructure): + * bindings/scripts/CodeGeneratorJS.pm: + * bridge/objc/objc_runtime.h: + (JSC::Bindings::ObjcFallbackObjectImp::createStructure): + * bridge/runtime_array.h: + (JSC::RuntimeArray::createStructure): + * bridge/runtime_method.h: + (JSC::RuntimeMethod::createStructure): + * bridge/runtime_object.h: + (JSC::RuntimeObjectImp::createStructure): + +2010-01-27 Evan Martin + + Reviewed by David Levin. + + [chromium] hebrew vowel marks incorrectly positioned + https://bugs.webkit.org/show_bug.cgi?id=34234 + + Fix glyph metrics computation such that the glyph offsets + are correct, so we can now make use of them. + + Test: fast/text/international/hebrew-vowels.html + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::createGlyphArrays): initialize per-glyph + offset table. + (WebCore::TextRunWalker::setGlyphXPositions): use per-glyph + offsets. + * platform/graphics/chromium/HarfbuzzSkia.cpp: + (WebCore::getGlyphMetrics): fix metrics computation such that + per-glyph offsets are computed correctly. + +2010-01-28 Laszlo Gombos + + Unreviewed build fix. + + [Qt] Build fix if websockets support is turned off after r53947. + + * WebCore.pro: + +2010-01-28 Dimitri Glazkov + + No review, rolling out r54012. + http://trac.webkit.org/changeset/54012 + https://bugs.webkit.org/show_bug.cgi?id=34266 + + Introduced 33 crashes in V8 traversal/ tests. + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::mainWorldScriptState): + * bindings/js/ScriptController.h: + * bindings/js/ScriptState.cpp: + * bindings/js/ScriptState.h: + * bindings/v8/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::ScriptCallStack): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::mainWorldScriptState): + (WebCore::ScriptController::currentScriptState): + (WebCore::ScriptController::clearWindowShell): + * bindings/v8/ScriptController.h: + * bindings/v8/ScriptScope.cpp: + (WebCore::ScriptScope::ScriptScope): + (WebCore::ScriptScope::success): + * bindings/v8/ScriptScope.h: + * bindings/v8/ScriptState.cpp: + (WebCore::ScriptState::ScriptState): + (WebCore::scriptStateFromPage): + * bindings/v8/ScriptState.h: + (WebCore::ScriptState::ScriptState): + (WebCore::ScriptState::frame): + * bindings/v8/V8HiddenPropertyName.h: + * bindings/v8/V8IsolatedContext.cpp: + (WebCore::V8IsolatedContext::scriptState): + * bindings/v8/V8IsolatedContext.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::getScriptExecutionContext): + (WebCore::reportException): + * bindings/v8/custom/V8NodeIteratorCustom.cpp: + (WebCore::V8NodeIterator::nextNodeCallback): + (WebCore::V8NodeIterator::previousNodeCallback): + * bindings/v8/custom/V8TreeWalkerCustom.cpp: + (WebCore::V8TreeWalker::parentNodeCallback): + (WebCore::V8TreeWalker::firstChildCallback): + (WebCore::V8TreeWalker::lastChildCallback): + (WebCore::V8TreeWalker::nextNodeCallback): + (WebCore::V8TreeWalker::previousNodeCallback): + (WebCore::V8TreeWalker::nextSiblingCallback): + (WebCore::V8TreeWalker::previousSiblingCallback): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::injectedScriptForNodeId): + +2010-01-28 Steve Block + + Reviewed by Adam Barth. + + Fix missing forward-declarations and includes in V8 bindings + https://bugs.webkit.org/show_bug.cgi?id=34272 + + No new tests, build fix only. + + * bindings/v8/ScriptController.h: Modified. Forward-declare NPObject + * bindings/v8/V8DOMWindowShell.cpp: Modified. Include CString.h and PlatformBridge.h + * bindings/v8/V8DOMWrapper.h: Modified. Forward-declare V8Proxy + +2010-01-28 Yury Semikhatsky + + Reviewed by Adam Barth. + + Remove ScriptState::frame which is only used for reporting exceptions + in some cases in a way that diverges from the regular exception reporting in + v8 bindings. + + Cache ScriptState directly on v8::Context instead of providing + implementations specific for isolated worlds and ScriptController. + + https://bugs.webkit.org/show_bug.cgi?id=34266 + + * bindings/js/ScriptController.cpp: + * bindings/js/ScriptController.h: + * bindings/js/ScriptState.cpp: + (WebCore::mainWorldScriptState): + * bindings/js/ScriptState.h: + * bindings/v8/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::ScriptCallStack): + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::clearWindowShell): + * bindings/v8/ScriptController.h: + * bindings/v8/ScriptScope.cpp: + (WebCore::ScriptScope::ScriptScope): + (WebCore::ScriptScope::success): + * bindings/v8/ScriptScope.h: + * bindings/v8/ScriptState.cpp: + (WebCore::ScriptState::ScriptState): + (WebCore::ScriptState::forContext): + (WebCore::ScriptState::current): + (WebCore::ScriptState::empty): + (WebCore::ScriptState::weakReferenceCallback): + (WebCore::mainWorldScriptState): + (WebCore::scriptStateFromPage): + * bindings/v8/ScriptState.h: + * bindings/v8/V8HiddenPropertyName.h: + * bindings/v8/V8IsolatedContext.cpp: + * bindings/v8/V8IsolatedContext.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::getScriptExecutionContext): + (WebCore::reportException): + * bindings/v8/custom/V8NodeIteratorCustom.cpp: + (WebCore::V8NodeIterator::nextNodeCallback): + (WebCore::V8NodeIterator::previousNodeCallback): + * bindings/v8/custom/V8TreeWalkerCustom.cpp: + (WebCore::V8TreeWalker::parentNodeCallback): + (WebCore::V8TreeWalker::firstChildCallback): + (WebCore::V8TreeWalker::lastChildCallback): + (WebCore::V8TreeWalker::nextNodeCallback): + (WebCore::V8TreeWalker::previousNodeCallback): + (WebCore::V8TreeWalker::nextSiblingCallback): + (WebCore::V8TreeWalker::previousSiblingCallback): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::injectedScriptForNodeId): + +2010-01-28 Adam Barth + + Reviewed by David Levin. + + Remove XSSAuditor false positive for Google Translate + https://bugs.webkit.org/show_bug.cgi?id=34242 + + Google translate takes a base URL as a parameter, causing a false + positive in the XSS filter. This patch removes the false positive by + allowing direct injections into the href property of the base tag. + + Test: http/tests/security/xssAuditor/base-href-direct.html + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canSetBaseElementURL): + +2010-01-28 Nikolas Zimmermann + + Reviewed by Dirk Schulze. + + Save additional memory in SVG*Element classes, by introducing SVGElementRareData + https://bugs.webkit.org/show_bug.cgi?id=34268 + + Introduce SVGElementRareData, to remove the need to store any members in SVGElement/SVGStyledElement. + This saves some additional MB for the svg-node-count-vs-scroll.xhtml testcase. + + SVGElementRareData works just like NodeRareData. Unlike ElementRareData, we're not inheriting from + NodeRareData in SVG, as we don't need all the rare data stored there, unlike Element. + + * GNUmakefile.am: Add SVGElementRareData.h to build. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * dom/Node.cpp: Use Nodes bitfield to keep track wheter a SVGElement has a SVGElementRareData object associated. + (WebCore::Node::Node): + * dom/Node.h: Add m_hasRareSVGData flag, merged with the existing bitfield, 10 bits remaining now. + (WebCore::Node::hasRareSVGData): + * svg/SVGAnimateMotionElement.cpp: SVGElement::instancesForElement() now returns a const-reference to the HashMap instead of copying. + (WebCore::SVGAnimateMotionElement::applyResultsToTarget): + * svg/SVGAnimateTransformElement.cpp: Ditto. + (WebCore::SVGAnimateTransformElement::applyResultsToTarget): + * svg/SVGAnimationElement.cpp: Ditto. + (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): + * svg/SVGElement.cpp: Move the element instances HashSet and two cursor-related pointers into SVGElementRareData. + (WebCore::SVGElement::SVGElement): + (WebCore::SVGElement::~SVGElement): + (WebCore::SVGElement::rareSVGData): Modelled just like Node::rareData(). + (WebCore::SVGElement::ensureRareSVGData): Dito. + (WebCore::SVGElement::accessDocumentSVGExtensions): + (WebCore::SVGElement::mapInstanceToElement): Route call through SVGElementRareData. + (WebCore::SVGElement::removeInstanceMapping): Ditto. + (WebCore::SVGElement::instancesForElement): Ditto. + (WebCore::SVGElement::setCursorElement): Ditto. + (WebCore::SVGElement::setCursorImageValue): Ditto. + * svg/SVGElement.h: + * svg/SVGElementInstance.cpp: Ditto. + (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): + * svg/SVGElementRareData.h: Added. Based on NodeRareData - works exactly the same. + (WebCore::SVGElementRareData::SVGElementRareData): + (WebCore::SVGElementRareData::rareDataMap): + (WebCore::SVGElementRareData::rareDataFromMap): + (WebCore::SVGElementRareData::elementInstances): + (WebCore::SVGElementRareData::instanceUpdatesBlocked): + (WebCore::SVGElementRareData::setInstanceUpdatesBlocked): + (WebCore::SVGElementRareData::cursorElement): + (WebCore::SVGElementRareData::setCursorElement): + (WebCore::SVGElementRareData::cursorImageValue): + (WebCore::SVGElementRareData::setCursorImageValue): + * svg/SVGStyledElement.cpp: Move m_instancesUpdatesBlocked into SVGElementRareData. + (WebCore::SVGStyledElement::SVGStyledElement): + (WebCore::SVGStyledElement::instanceUpdatesBlocked): + (WebCore::SVGStyledElement::setInstanceUpdatesBlocked): + * svg/SVGStyledElement.h: + * svg/SVGUseElement.cpp: Adapt to element instances changes, now passed as const-reference. + (WebCore::dumpInstanceTree): + +2010-01-28 Aaron Boodman + + Reviewed by Darin Adler. + + Expand the NotificationPresenter::checkPermission() interface to send the full + URL of the requesting context, as well as a pointer to the document if that + context was a document. + + https://bugs.webkit.org/show_bug.cgi?id=34238 + + * notifications/Notification.cpp: + (WebCore::Notification::Notification): + * notifications/NotificationCenter.cpp: + (WebCore::NotificationCenter::NotificationCenter): + (WebCore::NotificationCenter::checkPermission): + Pass the full URL and document from the requesting context when calling + NotificationPresenter::checkPermission(). + + * notifications/NotificationPresenter.h: + (WebCore::NotificationPresenter::): + Expand interface. + +2010-01-28 Simon Fraser + + Reviewed by Dan Bernstein. + + Video can overlap position:fixed element when scrolling + https://bugs.webkit.org/show_bug.cgi?id=32180 + + When the scroll position changes, and we're using overlap to decide what gets composited, + then we need to re-evaluate what gets compositing when scrolling in case fixed postion elements + overlap composited elements (e.g. video). + + Test: compositing/geometry/video-fixed-scrolling.html + + * page/FrameView.cpp: + (WebCore::FrameView::updateCompositingLayers): + (WebCore::FrameView::scrollPositionChanged): Annotate the calls to updateCompositingLayers() + with the type of change that occurred. + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): Ditto. + + * rendering/RenderLayerCompositor.h: + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateCompositingLayers): For scroll changes, check + for hierarchy update if m_compositingConsultsOverlap is true, and do + a geometry update. For other changes, always check for hierarchy updates. + +2010-01-27 Dave Hyatt + + Reviewed by Darin Adler. + + Fix for user stylesheet bugs where they get parsed using the wrong compatibility mode. This was a regression + caused from Safari 3 -> 4 by the Acid3 fixes to create a real DOCTYPE in the DOM. + + This patch makes style selector creation lazy, so that the selector isn't built unless someone asks for it. + + In order to avoid creating the style selector before the compatibility mode has been determined, document + style is now created without having a dependence on an instantiated style selector. The creation of the style + is now done as a static method on CSSStyleSelector called styleForDocument, and a couple of font-related + functions have been made static as well so that they can be used by this method. + + m_styleSelector on Document is now an OwnPtr. + + Added userscripts/mixed-case-stylesheet.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForDocument): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::checkForGenericFamilyChange): + (WebCore::CSSStyleSelector::setFontSize): + (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): + (WebCore::CSSStyleSelector::fontSizeForKeyword): + * css/CSSStyleSelector.h: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + (WebCore::Document::recalcStyle): + (WebCore::Document::createStyleSelector): + (WebCore::Document::attach): + (WebCore::Document::setVisuallyOrdered): + (WebCore::Document::recalcStyleSelector): + * dom/Document.h: + (WebCore::Document::styleSelector): + (WebCore::Document::visuallyOrdered): + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::determineParseMode): + * loader/PlaceholderDocument.cpp: + (WebCore::PlaceholderDocument::attach): + +2010-01-28 Kent Tamura + + Reviewed by Darin Adler. + + Rename ISODateTime.{cpp,h} to DateComponents.{cpp,h} + https://bugs.webkit.org/show_bug.cgi?id=34245 + + No functional changes. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/DateComponents.cpp: Copied from WebCore/html/ISODateTime.cpp. + (WebCore::DateComponents::maxWeekNumberInYear): + (WebCore::DateComponents::parseYear): + (WebCore::DateComponents::addDay): + (WebCore::DateComponents::addMinute): + (WebCore::DateComponents::parseTimeZone): + (WebCore::DateComponents::parseMonth): + (WebCore::DateComponents::parseDate): + (WebCore::DateComponents::parseWeek): + (WebCore::DateComponents::parseTime): + (WebCore::DateComponents::parseDateTimeLocal): + (WebCore::DateComponents::parseDateTime): + (WebCore::DateComponents::setMillisecondsSinceMidnightInternal): + (WebCore::DateComponents::setMillisecondsSinceEpochForDateInternal): + (WebCore::DateComponents::setMillisecondsSinceEpochForDate): + (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime): + (WebCore::DateComponents::setMillisecondsSinceEpochForDateTimeLocal): + (WebCore::DateComponents::setMillisecondsSinceEpochForMonth): + (WebCore::DateComponents::setMillisecondsSinceMidnight): + (WebCore::DateComponents::setMillisecondsSinceEpochForWeek): + (WebCore::DateComponents::millisecondsSinceEpochForTime): + (WebCore::DateComponents::millisecondsSinceEpoch): + (WebCore::DateComponents::toStringForTime): + (WebCore::DateComponents::toString): + * html/DateComponents.h: Copied from WebCore/html/ISODateTime.h. + (WebCore::DateComponents::DateComponents): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseToDouble): + (WebCore::HTMLInputElement::valueAsDate): + (WebCore::HTMLInputElement::setValueAsDate): + (WebCore::HTMLInputElement::setValueAsNumber): + (WebCore::HTMLInputElement::formStringToDateComponents): + * html/HTMLInputElement.h: + * html/ISODateTime.cpp: Removed. + * html/ISODateTime.h: Removed. + * html/ValidityState.cpp: + (WebCore::ValidityState::typeMismatch): + +2010-01-28 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Use platform-specific monospace fonts in the Web Inspector + + Move the OS version detection code into the frontend, + add custom CSS monospace styles for known platforms. + https://bugs.webkit.org/show_bug.cgi?id=34040 + + * inspector/InspectorFrontendHost.cpp: + (WebCore::InspectorFrontendHost::platform): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): + * inspector/front-end/DatabaseQueryView.js: + (WebInspector.DatabaseQueryView): + * inspector/front-end/InspectorBackendStub.js: + (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup): + (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._createConditionElement): + * inspector/front-end/inspector.css: + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.URLRegExp.i.get platform): + (WebInspector._detectPlatform): + +2010-01-28 Mikhail Naganov + + Reviewed by Timothy Hatcher. + + Simplify views logic in Profiler panel, and fix the problem described in the issue. + Remove image from Welcome view. + Preserve border on status bar-like buttons in Welcome view on window deactivation. + + https://bugs.webkit.org/show_bug.cgi?id=34201 + + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype.show): + (WebInspector.ProfilesPanel.prototype.reset): + (WebInspector.ProfilesPanel.prototype.addProfileHeader): + (WebInspector.ProfilesPanel.prototype.showView): + (WebInspector.ProfilesPanel.prototype._updateInterface): + * inspector/front-end/WelcomeView.js: + (WebInspector.WelcomeView): + * inspector/front-end/inspector.css: + +2010-01-18 Holger Hans Peter Freyther + + Reviewed by Eric Seidel. + + [Qt] Speed up KURL to QUrl conversion + https://bugs.webkit.org/show_bug.cgi?id=33873 + + The WebCore::String::utf8 method will use the generic WebCore::TextCodec + and then call the encode method on it. In QtWebKit this class is implemented + around the QTextCodec class. Instead of going the generic codec way we treat + the WebCore::String as a QString (no copying) and then use the built-in + QString::toUtf8 to do the conversion. + + * platform/qt/KURLQt.cpp: + (WebCore::KURL::operator QUrl): + +2010-01-28 Ben Murdoch + + Reviewed by Simon Hausmann. + + [Android] [Qt] Touch event page co-ordinates are incorrect when touch is received in an iframe. + https://bugs.webkit.org/show_bug.cgi?id=34162 + + The pageX/pageY co-ordinates of a touch event should be relative to the containing frame, not the main frame. This change implements that and also updates the existing touch-inside-iframe test to also examine the page co-ordinates. + + * dom/Touch.cpp: + (WebCore::Touch::Touch): Remove dead code. + * dom/Touch.h: Remove dead code. + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTouchEvent): Rename framePoint to pagePoint, as it seems a clearer name. Also adjust the pagePoint to be relative to the touch target element's containing frame rather than the main frame. + * platform/PlatformTouchEvent.h: Rename Android specific constructor parameter to better reflect it's contents. + * platform/PlatformTouchPoint.h: Ditto. + * platform/android/PlatformTouchEventAndroid.cpp: Ditto. + * platform/android/PlatformTouchPointAndroid.cpp: Ditto. + +2010-01-28 Yury Semikhatsky + + Reviewed by Pavel Feldman. + + Simplify isActivation method. + + https://bugs.webkit.org/show_bug.cgi?id=34161 + + Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html + + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::isActivation): + +2010-01-27 Kent Tamura + + Reviewed by Darin Adler. + + rangeOverflow/rangeUnderflow support for type=date + https://bugs.webkit.org/show_bug.cgi?id=34209 + + Add DATE type support to rangeUnderflow(), rangeOverflow(), + minimum(), and maximum() of HTMLInputElement. + In order to unify parsing code for value, min, and max strings, + introduce parseToDouble() function and it is called by + valueAsDate() and valueAsNumber() too. + + Tests: fast/forms/ValidityState-rangeOverflow-date.html + fast/forms/ValidityState-rangeUnderflow-date.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::rangeUnderflow): Support DATE type, and use parseToDouble(). + (WebCore::HTMLInputElement::rangeOverflow): ditto. + (WebCore::HTMLInputElement::minimum): ditto. + (WebCore::HTMLInputElement::maximum): ditto. + (WebCore::HTMLInputElement::doubleValueFor): Added. + (WebCore::HTMLInputElement::valueAsDate): Use parseToDouble(). + (WebCore::HTMLInputElement::valueAsNumber): Use parseToDouble(). + * html/HTMLInputElement.h: Declare parseToDouble(). + +2010-01-27 Darin Fisher + + Fix chromium build bustage (take 2). + + * bindings/scripts/CodeGeneratorV8.pm: Really treat V8CustomGetter like CustomGetter in all cases. + +2010-01-27 Darin Fisher + + Fix chromium build bustage. + + * bindings/scripts/CodeGeneratorV8.pm: Treat V8CustomGetter like CustomGetter in all cases. + +2010-01-27 Oliver Hunt + + Reviewed by Maciej Stachowiak. + + MessageEvent.data should deserialize in the context of the MessageEvent's global object + https://bugs.webkit.org/show_bug.cgi?id=34227 + + Make ScriptValue deserialisation support the provision of a specific global + object to use when creating new objects. This then allows us to make + MessageEvent.data and PopStateEvent.state deserialize in the correct + context. + + Test: fast/dom/Window/window-postmessage-clone-frames.html + + * bindings/js/JSPopStateEventCustom.cpp: + Remove custom implementation of state getter + * bindings/js/SerializedScriptValue.cpp: + (WebCore::DeserializingTreeWalker::DeserializingTreeWalker): + (WebCore::DeserializingTreeWalker::createOutputArray): + (WebCore::DeserializingTreeWalker::createOutputObject): + (WebCore::DeserializingTreeWalker::convertIfTerminal): + (WebCore::SerializedScriptValueData::deserialize): + (WebCore::SerializedScriptValue::deserialize): + * bindings/js/SerializedScriptValue.h: + (WebCore::SerializedScriptValue::deserialize): + * bindings/scripts/CodeGeneratorJS.pm: + Update bindings generation to pass the correct global object, and to + treat "any" as synonymous with SerializedValue. + * dom/PopStateEvent.idl: + +2010-01-27 Nicholas Young + + Reviewed by Eric Carlson. + + Make media controls fade in/out transition duration configurable on a theme level. + https://bugs.webkit.org/show_bug.cgi?id=34196 + + No new tests needed (I hope). + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::RenderMedia): Removed constant from contructor - the initial value is meaningless. + (WebCore::RenderMedia::updateControlVisibility): Get fade in/out duration from theme. + * rendering/RenderTheme.h: + (WebCore::RenderTheme::mediaControlsFadeInDuration): New virtual method. + (WebCore::RenderTheme::mediaControlsFadeOutDuration): New virtual method. + +2010-01-27 John Abd-El-Malek + + Reviewed by Dimitri Glazkov. + + Tests that when a page removes an iframe that sleeps in its unload handler and + terminates its JS execution, the outer page's JS continues running. + + https://bugs.webkit.org/show_bug.cgi?id=34226 + + Tests: fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html + fast/dom/Window/slow-unload-handler.html + + * bindings/v8/DateExtension.cpp: + (WebCore::DateExtension::OnSleepDetected): + +2010-01-27 Kent Tamura + + Reviewed by Darin Adler. + + Add valueAsNumber support for type=datetime-local. + https://bugs.webkit.org/show_bug.cgi?id=34200 + + Implement necessary methods of ISODateTime, and call them from + HTMLInputElement. + + Test: fast/forms/input-valueasnumber-datetimelocal.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::valueAsNumber): + (WebCore::HTMLInputElement::setValueAsNumber): + * html/ISODateTime.cpp: + (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTimeLocal): + Implemented. Just call setMillisecondsSinceEpochForDateTime(). + (WebCore::ISODateTime::millisecondsSinceEpochForTime): + Accept to be called for m_type=DateTimeLocal. + (WebCore::ISODateTime::toString): Add DateTimeLocal support. + * html/ISODateTime.h: Declare new methods. + +2010-01-27 Steve Falkenburg + + Windows Debug_All build fix. + + * platform/graphics/win/WKCACFLayer.cpp: + * platform/graphics/win/WKCACFLayerRenderer.cpp: + +2010-01-27 Evan Martin + + Reviewed by David Levin. + + [chromium] complex text draws newlines as bells + https://bugs.webkit.org/show_bug.cgi?id=34186 + + Revert r45496 -- once we've got a glyph array, it is too late to normalize + because we could have had multiple codepoints combine into one glyph. The + Uniscribe code it mentions it's duplicating uses the log cluster map to fix + this. + + Instead, we just normalize the input text if it contains any non-ascii-space + whitespace. + + This fixes fast/text/international/hindi-whitespace, which currently has an + incorrect baseline containing a square box glyph. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::getTextRun): + (WebCore::TextRunWalker::getNormalizedTextRun): + * platform/graphics/chromium/HarfbuzzSkia.cpp: + (WebCore::stringToGlyphs): + +2010-01-27 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=34150 + WebKit needs a mechanism to catch stale HashMap entries + + * css/CSSStyleSelector.cpp: + (WebCore::CSSRuleSet::getIDRules): + (WebCore::CSSRuleSet::getClassRules): + (WebCore::CSSRuleSet::getTagRules): + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::checkedButtonForGroup): + (WebCore::CheckedRadioButtons::removeButton): + * editing/markup.cpp: + (WebCore::shouldAddNamespaceAttr): + (WebCore::appendNamespace): + (WebCore::appendStartMarkup): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::namedItems): + (WebCore::HTMLCollection::nextNamedItem): + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::formCollectionInfo): + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::collectionInfo): + * loader/loader.cpp: + (WebCore::Loader::load): + (WebCore::Loader::servePendingRequests): + (WebCore::Loader::nonCacheRequestInFlight): + (WebCore::Loader::nonCacheRequestComplete): + (WebCore::Loader::cancelRequests): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::timeToNextService): + (WebCore::CompositeAnimation::getAnimationForProperty): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::pauseAnimationAtTime): + (WebCore::CompositeAnimation::numberOfActiveAnimations): + Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys. + + * dom/Document.cpp: + (WebCore::Document::removedLastRef): Clear m_elementsById map, because removeAllChildren() + doesn't always update it correctly when called during docuemnt destruction. + (WebCore::Document::getElementById): Added checkConsistency(). + (WebCore::Document::removeElementById): Ditto. + (WebCore::Document::removeImageMap): Ditto. + (WebCore::Document::getImageMap): Ditto. + (WebCore::Document::nameCollectionInfo): Ditto. + * dom/Document.h: + (WebCore::Document::collectionInfo): Ditto. + + * html/CollectionCache.cpp: + (WebCore::CollectionCache::checkConsistency): + * html/CollectionCache.h: + Added a checkConsistency() method that checks both HashMaps in the cache. + + * platform/TreeShared.h: + (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be + destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check. + (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative. + +2010-01-27 Brian Tarricone + + Reviewed by Gustavo Noronha Silva. + + [gtk] Add support for windowless NPAPI plugins + + Much of this is a translation of how the Qt backend does this, + modified for Gtk. + + https://bugs.webkit.org/show_bug.cgi?id=18831 + + No new tests; there is already a windowless test in the tree. + + * plugins/PluginView.cpp: + (WebCore::PluginView::handleEvent): + (WebCore::PluginView::PluginView): + * plugins/PluginView.h: + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::getRootWindow): + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::paint): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::inputEventState): + (WebCore::PluginView::initXEvent): + (WebCore::setXButtonEventSpecificFields): + (WebCore::setXMotionEventSpecificFields): + (WebCore::setXCrossingEventSpecificFields): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::handleFocusInEvent): + (WebCore::PluginView::handleFocusOutEvent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::setNPWindowIfNeeded): + (WebCore::PluginView::getValueStatic): + (WebCore::PluginView::invalidateRect): + (WebCore::getPluginDisplay): + (WebCore::plug_removed_cb): + (WebCore::getVisualAndColormap): + (WebCore::PluginView::platformStart): + (WebCore::PluginView::platformDestroy): + +2010-01-27 Anton Muhin + + Reviewed by David Levin. + + [v8] minor cosmetic fix in V8 bindings codegenerator + https://bugs.webkit.org/show_bug.cgi?id=34224 + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-01-27 Darin Fisher + + Fix Chromium build bustage. + + * rendering/RenderBoxModelObject.cpp: Add wtf/CurrentTime.h include. + +2010-01-26 Darin Fisher + + Reviewed by Brady Eidson and David Levin. + + Chains of history items representing same-document navigation need to + always remember that association + + https://bugs.webkit.org/show_bug.cgi?id=33224 + + Replace HistoryItem's Document pointer with a DocumentSequenceNumber. + During session history traversal, if the current HistoryItem and the + target HistoryItem have the same DocumentSequenceNumber, then it means + that the current Document should remain. + + NOTE: To support Chromium's serialization of HistoryItems, I generate + DocumentSequenceNumbers that are unique across application launches. + DocumentSequenceNumbers are generated using a counter initialized with + the time of day. + + Test: fast/loader/stateobjects/document-destroyed-navigate-back.html + + * dom/Document.cpp: + (WebCore::Document::detach): + * dom/Document.h: + * history/BackForwardList.cpp: + (WebCore::BackForwardList::pushStateItem): + * history/BackForwardListChromium.cpp: + (WebCore::BackForwardList::pushStateItem): + * history/HistoryItem.cpp: + (WebCore::generateDocumentSequenceNumber): + (WebCore::HistoryItem::HistoryItem): + (WebCore::HistoryItem::~HistoryItem): + (WebCore::HistoryItem::setStateObject): + * history/HistoryItem.h: + (WebCore::HistoryItem::setDocumentSequenceNumber): + (WebCore::HistoryItem::documentSequenceNumber): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::navigateWithinDocument): + (WebCore::FrameLoader::loadItem): + * loader/HistoryController.cpp: + (WebCore::HistoryController::updateBackForwardListForFragmentScroll): + (WebCore::HistoryController::pushState): + (WebCore::HistoryController::replaceState): + * loader/RedirectScheduler.cpp: + (WebCore::RedirectScheduler::scheduleHistoryNavigation): + * page/History.cpp: + (WebCore::History::stateObjectAdded): + * page/Page.cpp: + (WebCore::Page::goToItem): + +2010-01-27 Oliver Hunt + + Reviewed by Simon Fraser. + + Animated scaling of background-image is too slow + https://bugs.webkit.org/show_bug.cgi?id=33808 + + Implement a version of the RenderImage animated scaling optimisation + for background images. Due to the possibility of arbitrary transforms + being applied to containing elements we explicitly check the current + CTM of the context for scaling or rotation. + + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawTiledImage): + * platform/graphics/GraphicsContext.h: + * platform/graphics/transforms/TransformationMatrix.h: + (WebCore::TransformationMatrix::isIdentityOrTranslation): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData): + (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData): + (WebCore::RenderBoxModelScaleData::size): + (WebCore::RenderBoxModelScaleData::time): + (WebCore::RenderBoxModelScaleData::useLowQualityScale): + (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer): + (WebCore::RenderBoxModelScaleData::setSize): + (WebCore::RenderBoxModelScaleData::setTime): + (WebCore::RenderBoxModelScaleData::setUseLowQualityScale): + (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed): + (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired): + (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality): + (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired): + (WebCore::RenderBoxModelObject::~RenderBoxModelObject): + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + * rendering/RenderBoxModelObject.h: + +2010-01-27 Yael Aharon + + Reviewed by Laszlo Gombos. + + [Qt] Enable websockets support in QtWebKit + https://bugs.webkit.org/show_bug.cgi?id=34180 + + Connected between SocketStreamHandle and QTcpSocket/QSslSocket + to enable support for websockets. + Proxy authentication is not yet supported. + SSL certificate errors are ignored while this is under development. + + * WebCore.pro: + * platform/network/qt/SocketStreamHandle.h: + * platform/network/qt/SocketStreamHandlePrivate.h: Added. + * platform/network/qt/SocketStreamHandleQt.cpp: + (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate): + (WebCore::SocketStreamHandlePrivate::~SocketStreamHandlePrivate): + (WebCore::SocketStreamHandlePrivate::socketConnected): + (WebCore::SocketStreamHandlePrivate::socketReadyRead): + (WebCore::SocketStreamHandlePrivate::send): + (WebCore::SocketStreamHandlePrivate::close): + (WebCore::SocketStreamHandlePrivate::socketSentdata): + (WebCore::SocketStreamHandlePrivate::socketClosed): + (WebCore::SocketStreamHandlePrivate::socketError): + (WebCore::SocketStreamHandlePrivate::socketClosedCallback): + (WebCore::SocketStreamHandlePrivate::socketErrorCallback): + (WebCore::SocketStreamHandlePrivate::socketSslErrors): + (WebCore::SocketStreamHandle::SocketStreamHandle): + (WebCore::SocketStreamHandle::~SocketStreamHandle): + (WebCore::SocketStreamHandle::platformSend): + (WebCore::SocketStreamHandle::platformClose): + +2010-01-27 Mads Ager + + Reviewed by Dimitri Glazkov. + + [V8] Support getting integer-named properties using indexing notation on document object + https://bugs.webkit.org/show_bug.cgi?id=34211 + + Add indexed property getter to HTMLDocument to support getting + elements with integer names using indexing notation on document. + + Test: fast/dom/HTMLDocument/get-iframe-with-integer-name.html + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::V8HTMLDocument::indexedPropertyGetter): + +2010-01-27 Yury Semikhatsky + + Reviewed by Oliver Hunt. + + Instead of relying on Object.prototype.toString result use JSObject::isActivationObject + to check if a scope node is a JSActivation. Object.prototype.toString for JSActivation + will call JSActivation::toThisObject whose result depends on the current call stack. + + https://bugs.webkit.org/show_bug.cgi?id=34161 + + Test: WebCore/manual-tests/inspector/debugger-scopes-inspection.html + + * bindings/js/JSInjectedScriptHostCustom.cpp: + (WebCore::JSInjectedScriptHost::isActivation): + * inspector/InjectedScriptHost.idl: + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor.): + * manual-tests/inspector/debugger-scopes-inspection.html: Added. + +2010-01-27 Anton Muhin + Review by Adam Barth. + + Implement Node map in intrusive way for better speed. + https://bugs.webkit.org/show_bug.cgi?id=33957 + + * bindings/v8/DOMData.h: + (WebCore::DOMData::removeObjectsFromWrapperMap): + * bindings/v8/DOMDataStore.cpp: + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::get): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::set): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::contains): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::allocateTableEntry): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::freeTableEntry): + * bindings/v8/DOMDataStore.h: + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntry): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clearEntries): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visitEntries): + (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::TableChunk::TableChunk): + (WebCore::DOMDataStore::domNodeMap): + * bindings/v8/StaticDOMDataStore.cpp: + (WebCore::StaticDOMDataStore::StaticDOMDataStore): + * bindings/v8/StaticDOMDataStore.h: + * bindings/v8/V8DOMMap.cpp: + (WebCore::getDOMNodeMap): + * bindings/v8/V8DOMMap.h: + (WebCore::AbstractWeakReferenceMap::AbstractWeakReferenceMap): + (WebCore::AbstractWeakReferenceMap::weakReferenceCallback): + (WebCore::WeakReferenceMap::WeakReferenceMap): + (WebCore::WeakReferenceMap::set): + (WebCore::WeakReferenceMap::visit): + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertDocumentToV8Object): + (WebCore::getWrapper): + (WebCore::V8DOMWrapper::convertNodeToV8Object): + (WebCore::V8DOMWrapper::convertNewNodeToV8Object): + * bindings/v8/V8DOMWrapper.h: + +2010-01-27 Kinuko Yasuda + + Reviewed by Eric Seidel. + + Add key event mappings for numpad keys for Gtk and Chromium/Gtk. + http://bugs.webkit.org/show_bug.cgi?id=28247 + + Test: fast/events/keydown-numpad-keys.html + + * platform/chromium/KeyCodeConversionGtk.cpp: + (WebCore::windowsKeyCodeForKeyEvent): + * platform/gtk/KeyEventGtk.cpp: + (WebCore::windowsKeyCodeForKeyEvent): + +2010-01-27 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: migrate from SourceFrame to SourceFrame2. + + https://bugs.webkit.org/show_bug.cgi?id=34171 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/JSInspectorFrontendHostCustom.cpp: + * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: + * inspector/InspectorFrontendHost.cpp: + * inspector/InspectorFrontendHost.h: + * inspector/InspectorFrontendHost.idl: + * inspector/front-end/InspectorBackendStub.js: + * inspector/front-end/InspectorFrontendHostStub.js: + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView.prototype._innerSelectContentTab): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.getResourceContent): + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView): + (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._sidebarResizeDrag): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame): + (WebInspector.SourceFrame.prototype.set executionLine): + (WebInspector.SourceFrame.prototype.revealLine): + (WebInspector.SourceFrame.prototype.addBreakpoint): + (WebInspector.SourceFrame.prototype.removeBreakpoint): + (WebInspector.SourceFrame.prototype.addMessage): + (WebInspector.SourceFrame.prototype.clearMessages): + (WebInspector.SourceFrame.prototype.sizeToFitContentHeight): + (WebInspector.SourceFrame.prototype.setContent): + (WebInspector.SourceFrame.prototype.findSearchMatches): + (WebInspector.SourceFrame.prototype._collectRegexMatches): + (WebInspector.SourceFrame.prototype.setSelection): + (WebInspector.SourceFrame.prototype._incrementMessageRepeatCount): + (WebInspector.SourceFrame.prototype._addExistingMessagesToSource): + (WebInspector.SourceFrame.prototype._addMessageToSource): + (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource): + (WebInspector.SourceFrame.prototype._addBreakpointToSource): + (WebInspector.SourceFrame.prototype._removeBreakpointFromSource): + (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): + (WebInspector.SourceFrame.prototype._contextMenu): + (WebInspector.SourceFrame.prototype._toggleBreakpoint): + (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed): + (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed): + (WebInspector.SourceFrame.prototype._editBreakpointCondition): + (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup): + (WebInspector.SourceFrame.prototype._createConditionElement): + (WebInspector.SourceFrame.prototype._keyDown): + (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): + (WebInspector.SourceFrame.prototype._breakpointChanged): + (WebInspector.SourceFrame.prototype.resize): + (WebInspector.BreakpointLineNumberDecorator): + (WebInspector.BreakpointLineNumberDecorator.prototype.decorate): + (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint): + (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter): + (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown): + (WebInspector.BreakpointLineNumberDecorator.prototype.contextMenu): + (WebInspector.ExecutionLineDecorator): + (WebInspector.ExecutionLineDecorator.prototype.decorate): + * inspector/front-end/SourceFrame2.js: Removed. + * inspector/front-end/SourceView.js: + (WebInspector.SourceView): + (WebInspector.SourceView.prototype.show): + (WebInspector.SourceView.prototype.resize): + (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): + (WebInspector.SourceView.prototype._contentLoaded): + (WebInspector.SourceView.prototype.performSearch.findSearchMatches): + (WebInspector.SourceView.prototype.performSearch): + (WebInspector.SourceView.prototype._jumpToSearchResult): + (WebInspector.SourceView.prototype._sourceFrameSetupFinished): + * inspector/front-end/TextEditor.js: + (WebInspector.TextEditor.prototype._mouseDown): + (WebInspector.TextEditor.prototype._copy.delayCopy): + (WebInspector.TextEditor.prototype._copy): + (WebInspector.TextEditor.prototype._cut): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.html: + +2010-01-27 Dominik Röttsches + + Reviewed by Xan Lopez. + + [Gtk] For removing ICU, implement IDN support by means of libidn + https://bugs.webkit.org/show_bug.cgi?id=31470 + + In order to avoid a new dependency, + IDN support now based on GLib for the GLib unicode backend. + + * platform/KURL.cpp: + (WebCore::appendEncodedHostname): + +2010-01-27 Simon Hausmann + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] For package builds use the .def files on Symbian + + * WebCore.pro: + +2010-01-27 Alexander Pavlov + + Reviewed by Timothy Hatcher. + + Avoid watch expressions duplication + https://bugs.webkit.org/show_bug.cgi?id=33996 + + * inspector/front-end/WatchExpressionsSidebarPane.js: + (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded): + +2010-01-27 Marcus Bulach + + Reviewed by Dimitri Glazkov. + + Adds EventSource bindings for V8 + https://bugs.webkit.org/show_bug.cgi?id=33695 + + No new tests (existing layout tests for EventSource should pass). + + * Android.v8bindings.mk: + * WebCore.gypi: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/DerivedSourcesAllInOne.cpp: + * bindings/v8/V8DOMWrapper.cpp: + * bindings/v8/V8DOMWrapper.h: + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + * bindings/v8/WorkerContextExecutionProxy.cpp: + * bindings/v8/custom/V8CustomBinding.h: + * bindings/v8/custom/V8EventSourceConstructor.cpp: Added. + * bindings/v8/custom/V8EventSourceCustom.cpp: Added. + +2010-01-27 Kent Hansen + + Reviewed by Simon Hausmann. + + [Qt] Meta-methods can't be introspected using ES5 API + https://bugs.webkit.org/show_bug.cgi?id=34087 + + Add getOwnPropertyDescriptor() and getOwnPropertyNames() reimplementations. + + Tests are in WebKit/qt/tests/qwebframe + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor): + (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames): + (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor): + (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames): + * bridge/qt/qt_runtime.h: + +2010-01-27 Tony Chang + + Reviewed by Eric Seidel. + + Fix a crash when trying to indent a block element that was contained + in a list. This was happening because enclosingBlock() in + htmlediting.cpp can return the current the same Node when a block + element (like an
or a ) is passed in. This causes + the indent command to think that it is not in a list item. + + Work around this by checking to see if enclosingBlock returned the + same Node. + + https://bugs.webkit.org/show_bug.cgi?id=32390 + + Test: editing/execCommand/indent-block-in-list.html + + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::tryIndentingAsListItem): + +2010-01-27 Jocelyn Turcotte + + Reviewed by Tor Arne Vestbø. + + [Qt] Add the "d" suffix to QtWebKit's dll on Windows. + + * WebCore.pro: + +2010-01-27 Matt Perry + + Reviewed by Eric Seidel. + + Fix a bug where dispatchDocumentElementAvailable was fired for fragment parsing on XML documents. + https://bugs.webkit.org/show_bug.cgi?id=33920 + + Tests: userscripts/script-not-run-for-fragments.html + userscripts/script-run-at-start.html + + * dom/XMLTokenizerLibxml2.cpp: + (WebCore::XMLTokenizer::startElementNs): + +2010-01-27 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: Improve SourceHTMLTokenizer so that it treats script tag well. + + https://bugs.webkit.org/show_bug.cgi?id=34177 + + * inspector/front-end/SourceHTMLTokenizer.js: + (WebInspector.SourceHTMLTokenizer): + (WebInspector.SourceHTMLTokenizer.prototype._isAttribute): + (WebInspector.SourceHTMLTokenizer.prototype._isAttributeValue): + (WebInspector.SourceHTMLTokenizer.prototype._setAttributeValue): + (WebInspector.SourceHTMLTokenizer.prototype._setAttribute): + (WebInspector.SourceHTMLTokenizer.prototype._stringToken): + (WebInspector.SourceHTMLTokenizer.prototype.nextToken): + * inspector/front-end/SourceHTMLTokenizer.re2js: + +2010-01-26 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: nuke quarantine wrappers. + + https://bugs.webkit.org/show_bug.cgi?id=34203 + + * Android.jscbindings.mk: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSInspectedObjectWrapper.cpp: Removed. + * bindings/js/JSInspectedObjectWrapper.h: Removed. + * bindings/js/JSInspectorCallbackWrapper.cpp: Removed. + * bindings/js/JSInspectorCallbackWrapper.h: Removed. + * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed. + * bindings/js/JSQuarantinedObjectWrapper.h: Removed. + +2010-01-27 Alexey Proskuryakov + + Revert r53899 (HashMap key checks) and subsequent build fixes, + because they make SVG tests crash in release builds. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSRuleSet::getIDRules): + (WebCore::CSSRuleSet::getClassRules): + (WebCore::CSSRuleSet::getTagRules): + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::checkedButtonForGroup): + (WebCore::CheckedRadioButtons::removeButton): + * dom/ContainerNodeAlgorithms.h: + (WebCore::removeAllChildrenInContainer): + * dom/Document.cpp: + (WebCore::Document::getElementById): + (WebCore::Document::removeElementById): + (WebCore::Document::removeImageMap): + (WebCore::Document::getImageMap): + (WebCore::Document::nameCollectionInfo): + * dom/Document.h: + (WebCore::Document::collectionInfo): + * editing/markup.cpp: + (WebCore::shouldAddNamespaceAttr): + (WebCore::appendNamespace): + (WebCore::appendStartMarkup): + * html/CollectionCache.cpp: + * html/CollectionCache.h: + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::namedItems): + (WebCore::HTMLCollection::nextNamedItem): + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::formCollectionInfo): + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::collectionInfo): + * loader/loader.cpp: + (WebCore::Loader::load): + (WebCore::Loader::servePendingRequests): + (WebCore::Loader::nonCacheRequestInFlight): + (WebCore::Loader::nonCacheRequestComplete): + (WebCore::Loader::cancelRequests): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::timeToNextService): + (WebCore::CompositeAnimation::getAnimationForProperty): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::pauseAnimationAtTime): + (WebCore::CompositeAnimation::numberOfActiveAnimations): + * platform/TreeShared.h: + (WebCore::TreeShared::~TreeShared): + (WebCore::TreeShared::deref): + +2010-01-25 Philippe Normand + + Reviewed by Eric Seidel. + + autobuffer value not forwarded media element to MediaPlayer + https://bugs.webkit.org/show_bug.cgi?id=33889 + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::loadResource): Forward autobuffer + value to MediaPlayer instance. + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::load): Forward autobuffer and + preservesPitch values to newly created platform media player instance. + +2010-01-25 Philippe Normand + + Reviewed by Eric Seidel. + + [Gtk] media/video-reverse-play-duration.html fails on and off on Gtk buildbots + https://bugs.webkit.org/show_bug.cgi?id=34086 + + Cache media duration and fix didEnd() in case of reverse + playback. When EOS was reached but in case of reverse playback the + position is not always 0. So to not confuse the HTMLMediaElement + we synchronize position and duration values. + + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::duration): + (WebCore::MediaPlayerPrivate::updateStates): + (WebCore::MediaPlayerPrivate::didEnd): + (WebCore::MediaPlayerPrivate::durationChanged): + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: + +2010-01-27 Alexey Proskuryakov + + * WebCore.xcodeproj/project.pbxproj: Actually land the change to add ContainerNodeAlgorithms.h + (it's "svn resolved", not "svn revert"!). + +2010-01-26 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=34150 + WebKit needs a mechanism to catch stale HashMap entries + + * WebCore.xcodeproj/project.pbxproj: Added ContainerNodeAlgorithms.h to the project to make + it easier to search for. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSRuleSet::getIDRules): + (WebCore::CSSRuleSet::getClassRules): + (WebCore::CSSRuleSet::getTagRules): + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): + * dom/CheckedRadioButtons.cpp: + (WebCore::CheckedRadioButtons::checkedButtonForGroup): + (WebCore::CheckedRadioButtons::removeButton): + * dom/Document.cpp: + (WebCore::Document::getElementById): + (WebCore::Document::removeElementById): + (WebCore::Document::removeImageMap): + (WebCore::Document::getImageMap): + (WebCore::Document::nameCollectionInfo): + * dom/Document.h: + (WebCore::Document::collectionInfo): + * editing/markup.cpp: + (WebCore::shouldAddNamespaceAttr): + (WebCore::appendNamespace): + (WebCore::appendStartMarkup): + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::namedItems): + (WebCore::HTMLCollection::nextNamedItem): + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::formCollectionInfo): + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::collectionInfo): + * loader/loader.cpp: + (WebCore::Loader::load): + (WebCore::Loader::servePendingRequests): + (WebCore::Loader::nonCacheRequestInFlight): + (WebCore::Loader::nonCacheRequestComplete): + (WebCore::Loader::cancelRequests): + * page/animation/CompositeAnimation.cpp: + (WebCore::CompositeAnimation::clearRenderer): + (WebCore::CompositeAnimation::updateKeyframeAnimations): + (WebCore::CompositeAnimation::animate): + (WebCore::CompositeAnimation::getAnimatedStyle): + (WebCore::CompositeAnimation::setAnimating): + (WebCore::CompositeAnimation::timeToNextService): + (WebCore::CompositeAnimation::getAnimationForProperty): + (WebCore::CompositeAnimation::suspendAnimations): + (WebCore::CompositeAnimation::resumeAnimations): + (WebCore::CompositeAnimation::isAnimatingProperty): + (WebCore::CompositeAnimation::pauseAnimationAtTime): + (WebCore::CompositeAnimation::numberOfActiveAnimations): + Added checkConsistency checks before lookups in HashMaps with AtomicStringImpl* keys. + + * dom/ContainerNodeAlgorithms.h: (WebCore::removeAllChildrenInContainer): Be sure to notify + about removed child nodes that can be deleted immediately. + + * html/CollectionCache.cpp: + (WebCore::CollectionCache::checkConsistency): + * html/CollectionCache.h: + Added a checkConsistency() method that checks both HashMaps in the cache. + + * platform/TreeShared.h: + (WebCore::TreeShared::~TreeShared): Assert that m_refCount is null. Since Nodes can be + destroyed with operator delete (as done in ContainerNodeAlgorithms), this is important to check. + (WebCore::TreeShared::deref): Assert that m_refCount isn't already negative. + +2010-01-26 Daniel Bates + + Reviewed by Tor Arne Vestbø. + + https://bugs.webkit.org/show_bug.cgi?id=29564 + + [Qt] Fixes an issue where the height of