2009-08-25 Jian Li Reviewed by David Levin. [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752. https://bugs.webkit.org/show_bug.cgi?id=28717 * bindings/v8/DOMObjectsInclude.h: * bindings/v8/DerivedSourcesAllInOne.cpp: * bindings/v8/V8Index.cpp: * bindings/v8/V8Index.h: * bindings/v8/custom/V8DocumentCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): 2009-08-25 Alpha Lam Reviewed by David Levin. [chromium] Implement media volume slider for chromium https://bugs.webkit.org/show_bug.cgi?id=28715 Provided the implementation of the volume slider and its container for chromium port. With this change there will be a usable volume control slider for chromium theme. No new tests since this is covered by existing media layout tests. * css/mediaControlsChromium.css: CSS style for the volume slider. * rendering/RenderThemeChromiumSkia.cpp: (WebCore::mediaSliderThumbImage): Returns the image for slider thumb. (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb. (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line. (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images. (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image. (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image. 2009-08-25 Chris Marrin Reviewed by Simon Fraser. Missed checking in 2 Canvas3D files https://bugs.webkit.org/show_bug.cgi?id=28018 * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls 2009-08-25 Mads Ager Reviewed by Adam Barth. [V8] Exception from JavaScript propagates to main script https://bugs.webkit.org/show_bug.cgi?id=26433 Make sure that exceptions thrown both at compile time and at runtime in javascript URLs are isolated from the main script. Test: fast/dom/javascript-url-exception-isolation.html * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluate): 2009-08-25 Chris Marrin Reviewed by Simon Fraser. Added all new Canvas3D files to the build https://bugs.webkit.org/show_bug.cgi?id=28018 This also hooks up CanvasRenderingContext as the common base class for CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit of logic throughout to support the new CanvasRenderingContext3D object. But nothing is hooked up yet. * DerivedSources.make: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore/GNUmakefile.am: * WebCore/WebCore.gypi: * WebCore/WebCoreSources.bkl: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::strokeStyle): (WebCore::JSCanvasRenderingContext2D::setStrokeStyle): (WebCore::JSCanvasRenderingContext2D::fillStyle): (WebCore::JSCanvasRenderingContext2D::setFillStyle): (WebCore::JSCanvasRenderingContext2D::setFillColor): (WebCore::JSCanvasRenderingContext2D::setStrokeColor): (WebCore::JSCanvasRenderingContext2D::strokeRect): (WebCore::JSCanvasRenderingContext2D::drawImage): (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): (WebCore::JSCanvasRenderingContext2D::setShadow): (WebCore::JSCanvasRenderingContext2D::createPattern): (WebCore::JSCanvasRenderingContext2D::putImageData): (WebCore::JSCanvasRenderingContext2D::fillText): (WebCore::JSCanvasRenderingContext2D::strokeText): * bindings/js/JSDOMBinding.cpp: (WebCore::isObservableThroughDOM): * bindings/js/JSDocumentCustom.cpp: * bindings/js/JSHTMLCanvasElementCustom.cpp: (WebCore::JSHTMLCanvasElement::markChildren): * dom/Document.cpp: (WebCore::Document::getCSSCanvasContext): * dom/Document.h: * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): (WebCore::HTMLCanvasElement::willDraw): (WebCore::HTMLCanvasElement::reset): (WebCore::HTMLCanvasElement::paint): (WebCore::HTMLCanvasElement::is3D): (WebCore::HTMLCanvasElement::context3D): (WebCore::HTMLCanvasElement::texture3D): * html/HTMLCanvasElement.h: (WebCore::HTMLCanvasElement::renderingContext): * html/canvas/CanvasObject.cpp: (WebCore::CanvasObject::~CanvasObject): * html/canvas/CanvasRenderingContext.idl: * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D): * html/canvas/CanvasRenderingContext2D.h: (WebCore::CanvasRenderingContext2D::is2d): * html/canvas/CanvasRenderingContext2D.idl: * html/canvas/CanvasRenderingContext3D.cpp: * html/canvas/CanvasRenderingContext3D.idl: 2009-08-25 Dan Bernstein Reviewed by Anders Carlsson. REGRESSION (r47630): fast/repaint/background-generated.html is failing https://bugs.webkit.org/show_bug.cgi?id=28704 * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone. * rendering/style/FillLayer.cpp: (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone. * rendering/style/FillLayer.h: (WebCore::FillSize::FillSize): Changed assignment to initialization and removed redundant assignment to size. 2009-08-25 Yusuke Sato Reviewed by Darin Fisher. [Chromium] Complex text doesn't show up with text stroking https://bugs.webkit.org/show_bug.cgi?id=28707 Skip the NULL check of m_hdc if Windows GDI is not in use. * platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::Font::drawComplexText): 2009-08-25 Alpha Lam Reviewed by David Levin. Media controls panel does not have a volume control slider https://bugs.webkit.org/show_bug.cgi?id=28241 Introduced "-webkit-media-controls-volume-slider", "-webkit-media-controls-volume-slider-container" and the supporting implementation. Also added appearances of "media-volume-slider" and "media-volume-slider-container". The implementation of the controls are in WebCore::MediaControlElements. Logic to trigger the display of the volume controls are in WebCore::RenderMedia. No new tests since this change doesn't have theme implementation and the volume slider is disabled by default. * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values. * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): ditto. * css/CSSSelector.h: (WebCore::CSSSelector::): ditto. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto. * css/CSSValueKeywords.in: ditto. * css/mediaControls.css: Makes the volume slider disabled by default. * platform/ThemeTypes.h: Defines theme parts for volume slider and its container. (WebCore::): * rendering/MediaControlElements.cpp: (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): Adjust the CSS values for "display", "postion", "left" and "top" according to member variables. (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value. (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values. (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element. (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging. * rendering/MediaControlElements.h: (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement. (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter. * rendering/RenderMedia.cpp: (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider. (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel. (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container. (WebCore::RenderMedia::updateControls): Updates volume container and volume slider. (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child. (WebCore::RenderMedia::forwardEvent): Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider. * rendering/RenderMedia.h: Added definition for RenderMedia::updateVolumeSliderContainer(). * rendering/RenderMediaControls.cpp: (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented. * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical. (WebCore::RenderSlider::thumbRect): ditto. (WebCore::RenderSlider::mouseEventIsInThumb): ditto. (WebCore::RenderSlider::setValueForPosition): ditto. (WebCore::RenderSlider::positionForOffset): ditto. (WebCore::RenderSlider::currentPosition): ditto. (WebCore::RenderSlider::trackSize): ditto. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb. (WebCore::RenderTheme::paint): Paints volume control parts using theme. * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden. (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto. (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto. * rendering/style/RenderStyleConstants.h: (WebCore::): Constants for volume control parts. 2009-08-25 Tor Arne Vestbø Reviewed by Ariya Hidayat. [Qt/Mac] Use CONFIG+=build_all only when building libraries If no configuration is specified when building WebKit we pass the debug_and_release option to QMake which results in Makefiles for both configurations being generated. Previously we built both of these configurations by default, for all targets (both the QtWebKit framework/dyldlib and the various executables such as QtLauncher and tests). This makes sense for the libraries, which get the _debug suffix and can be loaded on demand by setting the DYLD_IMAGE_SUFFIX, but for executables we ended up building the same executable twice. We now only build one instance of each executable, and since this is a developer build we build the debug-version. Passing either --debug or --release to build-webkit will override this, and even in the default case the release version can still be built by running 'make release' in the the build directory of each target. * WebCore.pro: 2009-08-25 Xan Lopez Reviewed by Jan Alonzo. https://bugs.webkit.org/show_bug.cgi?id=28690 Build failure in webkitgtk+-1.1.3 Do not use deprecated function to unref a pixbuf. * platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): 2009-08-24 Hironori Bono Reviewed by Adam Barth. Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet". . Because of the lack of mappings from GDK key-codes to WebKit key-codes, Chromium cannot send valid key-codes to JavaScript when a user types function keys. This change just copies the mappings from 'KeyEventGtk.cpp'. To write layout tests for this issue, added mappings from function-key names to platform-specific key-codes to EventSendingController objects so that eventSender.keyDown() can send function-key events without using platform-specific key codes. (Unfortunately, this eventSender.keyDown() change is only for Mac. So this change adds this new test to Skipped tests for other platforms to prevent this change from crashing the build trees.) Test: fast/events/keydown-function-keys.html * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes to WebKit key-code for function keys. (WebCore::windowsKeyCodeForKeyEvent): 2009-08-24 Antti Koivisto Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=28698 Avoid unnecessary transformations for the window resizer rect. * platform/Scrollbar.cpp: (WebCore::Scrollbar::setFrameRect): 2009-08-24 Alexey Proskuryakov Reviewed by Anders Carlsson. REGRESSION: 100 MB membuster leak on windows due to 47391 (DNS prefetching support) * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary thread on Windows, because there isn't one on main one. 2009-08-24 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=28374 Cross-scheme requests should not be blocked by appcache rules Test: http/tests/appcache/different-scheme.html * loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Resources with different schemes can never be loaded from appcache. 2009-08-24 Alexey Proskuryakov Reviewed by Darin Adler and Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=28688 REGRESSION(r24994): Cannot create a frame with a javascript URL Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue): * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL): * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL): * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc): Omit the checks if there is no document in frame yet. 2009-08-24 Nate Chapin Reviewed by Eric Seidel. Fix crash in fast/css/rem-dynamic-scaling.html due to a freed RenderStyle being accessed. https://bugs.webkit.org/show_bug.cgi?id=28681 * dom/Element.cpp: (WebCore::Element::recalcStyle): Make currentStyle a RefPtr. 2009-08-24 Dan Bernstein Reviewed by Simon Fraser. Long freezing during loading and selecting text of a large table https://bugs.webkit.org/show_bug.cgi?id=14918 * rendering/RenderView.cpp: (WebCore::RenderView::setSelection): Added calls to beginDeferredRepaints() and endDeferredRepaints() around the invalidation of the selection, in order to better coalesce multiple invalid rectangles. 2009-08-24 Pavel Feldman Reviewed by Timothy Hatcher. WebInspector: Simplify findTreeElement code, get rid of potential infinite loop. https://bugs.webkit.org/show_bug.cgi?id=28680 * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.updateBreadcrumb): * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.findTreeElement): * inspector/front-end/treeoutline.js: (TreeOutline.prototype.getCachedTreeElement): (TreeOutline.prototype.findTreeElement): * inspector/front-end/utilities.js: (isAncestorNode): (): 2009-08-24 Pavel Feldman Reviewed by Timothy Hatcher. WebInspector: Do expand local scope when hitting the break https://bugs.webkit.org/show_bug.cgi?id=28678 * inspector/front-end/ScopeChainSidebarPane.js: (WebInspector.ScopeChainSidebarPane.prototype.update): 2009-08-24 Ada Chan Reviewed by Steve Falkenburg. Make sure we use the current FrameView's frame rect when going back to a cached page. https://bugs.webkit.org/show_bug.cgi?id=28659 * loader/FrameLoader.cpp: (WebCore::FrameLoader::open): 2009-08-24 Cameron McCormack Reviewed by Darin Adler. Modifying doesn't clear the corresponding SVGAnimatedNumberList https://bugs.webkit.org/show_bug.cgi?id=28673 Test: svg/dom/text-rotate-live.html * svg/SVGNumberList.cpp: (WebCore::SVGNumberList::parse): Clear the list before adding the parsed numbers. 2009-08-24 Simon Fraser Reviewed by NOBODY (build fix) Turn off ENABLE_3D_CANVAS in the xconfig files. * Configurations/FeatureDefines.xcconfig: 2009-08-24 Pavel Feldman Reviewed by Timothy Hatcher. WebInspector: Only expand local scope when hitting the break https://bugs.webkit.org/show_bug.cgi?id=28678 * inspector/front-end/ScopeChainSidebarPane.js: (WebInspector.ScopeChainSidebarPane.prototype.update): 2009-08-24 Dan Bernstein Reviewed by Simon Fraser. background-size fails to parse if a single length/percentage/auto is followed by a comma https://bugs.webkit.org/show_bug.cgi?id=28674 * css/CSSParser.cpp: (WebCore::CSSParser::parseFillSize): Added an allowComma parameter, which is set to false when this method consumes a comma. Moved handling of 'contain' and 'cover' from parseFillProperty into this method. (WebCore::CSSParser::parseFillProperty): Set allowComma to true before processing the next value, and pass allowComma to parseFillSize. * css/CSSParser.h: 2009-08-17 Martin Robinson Reviewed by Gustavo Noronha. [GTK] Support for cursors that are images https://bugs.webkit.org/show_bug.cgi?id=28346 Added support for cursors which are images for CursorGtk. Added a manual test for this. * manual-tests/gtk/cursor-image.html: Added. * manual-tests/gtk/resources/redcursor.cur: Added. * platform/gtk/CursorGtk.cpp: (WebCore::Cursor::Cursor): 2009-08-24 Zan Dobersek Reviewed by Gustavo Noronha. [GTK] Integrate GStreamer video with the graphics backend https://bugs.webkit.org/show_bug.cgi?id=16356 Improves GStreamer backend implementation of MediaPlayerPrivate class. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer error for different GStreamer errors to MediaPlayerPrivate. (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static initialization boolean to a better place. (WebCore::MediaPlayerPrivate::play): (WebCore::MediaPlayerPrivate::pause): (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not consider the source as stream if duration query failed. (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use an early return. (WebCore::MediaPlayerPrivate::seek): Return if error occured. (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this function doesn't seem to be used anywhere in WebCore. (WebCore::MediaPlayerPrivate::paused): (WebCore::MediaPlayerPrivate::seeking): (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set. (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured. (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto. (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto. (WebCore::MediaPlayerPrivate::bytesLoaded): (WebCore::MediaPlayerPrivate::totalBytesKnown): (WebCore::MediaPlayerPrivate::totalBytes): Ditto. (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update after seek ended with a successful change (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached. (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error. (WebCore::mimeTypeCache): Gather supported mime types from GStreamer. (WebCore::MediaPlayerPrivate::getSupportedTypes): (WebCore::MediaPlayerPrivate::supportsType): (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin): (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen support. (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin, do not set playbin's audio sink. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_idle_func): Use C++ casts, decrease reference count of async queue at the end of the idle function. (webkit_video_sink_render): Increase reference count of async queue. (webkit_video_sink_stop): Remove any idle functions with the sink as data. 2009-08-23 Chris Marrin Reviewed by Simon Fraser. Remaining new files for Canvas3D https://bugs.webkit.org/show_bug.cgi?id=28018 * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions * html/canvas/CanvasByteArray.h: Added. * html/canvas/CanvasByteArray.idl: Added. * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions * html/canvas/CanvasNumberArray.h: Added. * html/canvas/CanvasNumberArray.idl: Added. 2009-08-24 Pavel Feldman Reviewed by Timothy Hatcher. WebInspector: Migrate call frames interaction to the InjectedScript-based schema. https://bugs.webkit.org/show_bug.cgi?id=28408 * inspector/front-end/CallStackSidebarPane.js: (WebInspector.CallStackSidebarPane.prototype.update): * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.doEvalInWindow): (WebInspector.ConsoleTextMessage): * inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent.prototype.get domWindow): (InspectorController.openInInspectedWindow): (InspectorController.getCallFrames): (InspectorController.evaluateInCallFrame): * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.reset): (WebInspector.ElementsPanel.prototype.generateStylesheet): * inspector/front-end/InjectedScript.js: (InjectedScript.evaluate): (InjectedScript._evaluateOn): (InjectedScript.openInInspectedWindow): (InjectedScript.getCallFrames): (InjectedScript.evaluateInCallFrame): (InjectedScript._callFrameForId): (InjectedScript._objectForId): (InjectedScript.CallFrameProxy): (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): * inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection.prototype._update): * inspector/front-end/ObjectProxy.js: (WebInspector.ObjectPropertyProxy): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): * inspector/front-end/ScopeChainSidebarPane.js: (WebInspector.ScopeChainSidebarPane): (WebInspector.ScopeChainSidebarPane.prototype.update): (WebInspector.ScopeVariableTreeElement.prototype.onattach): (WebInspector.ScopeVariableTreeElement.prototype.onexpand): (WebInspector.ScopeVariableTreeElement.prototype.oncollapse): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame): (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame): (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback): (WebInspector.ScriptsPanel.prototype.debuggerPaused): 2009-08-24 Kent Tamura Reviewed by Eric Seidel. Add support for the placeholder attribute and DOM property of the textarea element. https://bugs.webkit.org/show_bug.cgi?id=21248 A DOM node for an INPUT element doesn't have a flag for placeholder visibility anymore. This patch also fixes a bug that a renderer doesn't reflect a corresponding DOM value change. Tests: fast/forms/textarea-placeholder-dom-property.html fast/forms/textarea-placeholder-pseudo-style.html fast/forms/textarea-placeholder-set-attribute.html fast/forms/textarea-placeholder-set-value.html * css/html.css: Add the default style for placeholder of textarea. * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal (WebCore::InputElement::dispatchFocusEvent): (WebCore::InputElement::dispatchBlurEvent): (WebCore::InputElement::placeholderShouldBeVisible): (WebCore::InputElement::updatePlaceholderVisibility): (WebCore::InputElement::setValueFromRenderer): (WebCore::InputElementData::InputElementData): * dom/InputElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::dispatchFocusEvent): (WebCore::HTMLInputElement::dispatchBlurEvent): (WebCore::HTMLInputElement::setValue): (WebCore::HTMLInputElement::placeholderShouldBeVisible): * html/HTMLInputElement.h: (WebCore::HTMLInputElement::updatePlaceholderVisibility): * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::parseMappedAttribute): (WebCore::HTMLTextAreaElement::setValue): (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible): (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility): (WebCore::HTMLTextAreaElement::dispatchFocusEvent): (WebCore::HTMLTextAreaElement::dispatchBlurEvent): * html/HTMLTextAreaElement.h: * html/HTMLTextAreaElement.idl: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): (WebCore::RenderTextControl::styleDidChange): (WebCore::RenderTextControl::setInnerTextStyle): (WebCore::RenderTextControl::updatePlaceholderVisibility): * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): (WebCore::RenderTextControlMultiLine::nodeAtPoint): (WebCore::RenderTextControlMultiLine::updateFromElement): (WebCore::RenderTextControlMultiLine::createInnerTextStyle): (WebCore::RenderTextControlMultiLine::textBaseStyle): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): (WebCore::RenderTextControlSingleLine::textBaseStyle): (WebCore::RenderTextControlSingleLine::updateFromElement): (WebCore::RenderTextControlSingleLine::createInnerTextStyle): * rendering/RenderTextControlSingleLine.h: * wml/WMLInputElement.cpp: (WebCore::WMLInputElement::dispatchFocusEvent): (WebCore::WMLInputElement::dispatchBlurEvent): (WebCore::WMLInputElement::setValue): (WebCore::WMLInputElement::placeholderShouldBeVisible): 2009-08-23 Dirk Schulze Reviewed by Mark Rowe. Code clean-up and build fix for filters enabled builds. Moved SVGNames.h into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other files. They are needed there after r47688. * dom/Document.cpp: * svg/SVGComponentTransferFunctionElement.h: * svg/SVGFELightElement.h: * svg/SVGFEMergeNodeElement.h: * svg/SVGFilterPrimitiveStandardAttributes.h: 2009-08-23 Gustavo Noronha Silva Unreviewed, build fix for make distcheck on GTK+. * GNUmakefile.am: Added files needed for the build. * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include with #if clause. * bindings/js/JSEventTarget.cpp: Dito. * dom/Document.cpp: Dito. * loader/FrameLoader.cpp: Dito. 2009-08-23 Joseph Pecoraro Reviewed by Timothy Hatcher. Inspector: Throws an Error on "null" https://bugs.webkit.org/show_bug.cgi?id=28665 * inspector/front-end/InjectedScript.js: (InjectedScript.evaluate): 2009-08-23 Pavel Feldman Reviewed by Timothy Hatcher. Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often https://bugs.webkit.org/show_bug.cgi?id=28666 * inspector/front-end/InjectedScript.js: (InjectedScript.getProperties): (InjectedScript.createProxyObject): 2009-08-22 Martin Robinson Reviewed by Xan Lopez. [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly https://bugs.webkit.org/show_bug.cgi?id=28345 When doing the conversion between cairo_surface_t* and GdkPixbuf* account for the differences in the respective formats' in-memory image format. * platform/graphics/gtk/ImageGtk.cpp: (WebCore::getCairoSurfacePixel): (WebCore::getGdkPixbufPixel): (WebCore::BitmapImage::getGdkPixbuf): 2009-08-22 Darin Adler Reviewed by Oliver Hunt. Make DOM classes start with a reference count of 1, like all other RefCounted Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement, HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement. * DerivedSources.make: Fix error seen every time we build by escaping the $ in the build rule, since you have to use $$ for that in make. * WebCore.base.exp: Updated. * bindings/objc/DOM.mm: Added now-needed include of SVGNames.h. * dom/Document.cpp: Added now-needed include of SVGNames.h. (WebCore::Document::createElement): Use create instead of new. * dom/Element.cpp: (WebCore::Element::Element): Added ConstructionType argument so the caller can determine whether this starts with a reference count of either 0 or 1. Later we will remove this again once they are all 1. (WebCore::Element::create): Added. * dom/Element.h: Added create and made constructor protected. * dom/StyledElement.cpp: (WebCore::StyledElement::StyledElement): Added ConstructionType argument. * dom/StyledElement.h: Made many functions protected or private, including the constructor. * dom/make_names.pl: Use create to create the base elements HTMLElement, SVGElement, and WMLElement. * editing/CreateLinkCommand.cpp: (WebCore::CreateLinkCommand::doApply): Use create instead of new. * editing/UnlinkCommand.cpp: (WebCore::UnlinkCommand::doApply): Ditto. * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::create): Added. * html/HTMLAnchorElement.h: Made constructor protected and added create. Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr. * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::create): Added. * html/HTMLAppletElement.h: Made constructor private and added create. * html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::create): Added. * html/HTMLAreaElement.h: Made constructor private and added create. * html/HTMLElement.cpp: (WebCore::HTMLElement::create): Added. * html/HTMLElement.h: Made constructor protected and added create. Made other functions protected and private. Also added inline definition of constructor. * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::create): Added. * html/HTMLEmbedElement.h: Made constructor private and added create. Made other functions private. * html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::create): Added. (WebCore::HTMLFrameElement::parseMappedAttribute): * html/HTMLFrameElement.h: Made constructor private and added create. Made other functions private. * html/HTMLFrameElementBase.h: Made functions protected and private. * html/HTMLFrameOwnerElement.cpp: (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass CreateElement so reference count starts at 1. * html/HTMLFrameOwnerElement.h: Made functions protected and private. * html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::create): Added. * html/HTMLIFrameElement.h: Made constructor private and added create. Made other functions private. * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::create): Added. (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop into a for loop and tweaked formatting. * html/HTMLObjectElement.h: Made constructor private and added create. Made other functions private. * html/HTMLPlugInElement.h: Made constructor protected. Made other functions protected and private. * html/HTMLPlugInImageElement.h: Made constructor and another function protected. * html/HTMLTagNames.in: Removed createWithNew from all classes that now have create functions. Moved conditional noscript to a separate paragraph. * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create. (WebCore::HTMLViewSourceDocument::addLink): Ditto. * page/DragController.cpp: (WebCore::documentFragmentFromDragData): Ditto. * svg/SVGElement.cpp: (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount so reference count still starts at 0. Will change this class later. (WebCore::SVGElement::create): Added. * svg/SVGElement.h: Added create, made constructor protected, and made other functions protected and private. Removed unneeded SVGNames.h include. * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h include. * svg/SVGStopElement.h: Added now-needed SVGNames.h include. Made functions private. * wml/WMLElement.cpp: (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount so reference count still starts at 0. Will change this class later. (WebCore::WMLElement::create): Added. * wml/WMLElement.h: Added create and made constructor protected. * wml/WMLTagNames.in: Removed createWithNew from WMLElement. 2009-08-22 Adele Peterson Reviewed by Anders Carlsson. Fix for Crash in RenderObject::destroy when using custom scrollbars Custom scrollbars normally get detached when a document gets detached. In this case, a crash was happening when the document had gone into the page cache and then was getting destroyed without proper scrollbar teardown. This change makes custom scrollbars get detached when the document enters the cache. I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time. * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created. They'll get reattached when the document comes out of the page cache. * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds. 2009-08-22 David Hyatt Reviewed by Dan Bernstein. Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with the bottom of their parent blocks. The old code prevented all collapsing, but all CSS2.1 states is that: "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin." The implication is that the bottom margin can still collapse, and the block-inside-inline form of fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends on it to get comparable results. Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/ * rendering/RenderBlock.cpp: (WebCore::RenderBlock::MarginInfo::MarginInfo): (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::clearFloatsIfNeeded): (WebCore::RenderBlock::handleBottomOfBlock): * rendering/RenderBlock.h: (WebCore::RenderBlock::MarginInfo::clearMargin): (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren): 2009-08-22 Chris Fleizach Reviewed by Darin Adler. Need to implement ARIA role="listitem" and role="list" https://bugs.webkit.org/show_bug.cgi?id=28606 Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::getOrCreate): * accessibility/AccessibilityList.cpp: (WebCore::AccessibilityList::isUnorderedList): * accessibility/AccessibilityRenderObject.cpp: (WebCore::RoleEntry::): 2009-08-21 Dan Bernstein Reviewed by Darin Adler. Clean up fill image geometry calculation https://bugs.webkit.org/show_bug.cgi?id=28652 * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed calculateBackgroundSize() to this. Replaced separate scaledWidth and scaledHeight parameters with a single scaledSize parameter. Renamed parameters and local variables. (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed to use CSS3 Backgrounds and Borders terminology in comments and local variable names. Renamed, clarified and consolidated some local variables. * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private. 2009-08-22 Chris Marrin Unreviewed, build fix. Backing out http://trac.webkit.org/changeset/47669 * html/canvas/CanvasRenderingContext2D.cpp: * html/canvas/CanvasRenderingContext2D.h: 2009-08-22 Dimitri Glazkov Unreviewed, build fix. Backing out http://trac.webkit.org/changeset/47671 in preparation of rolling out http://trac.webkit.org/changeset/47669. 2009-08-22 Dimitri Glazkov Reviewed by Anders Carlsson. Build fix, add CanvasRenderingContext to build systems. https://bugs.webkit.org/show_bug.cgi?id=28018 * DerivedSources.make: Added CanvasRenderinContext. * GNUmakefile.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * WebCoreSources.bkl: Ditto. 2009-08-21 Chris Marrin Reviewed by Oliver Hunt. New files implementing GL buffer wrappers, and support to make them platform independent https://bugs.webkit.org/show_bug.cgi?id=28018 * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object * html/canvas/CanvasBuffer.h: Added. * html/canvas/CanvasBuffer.idl: Added. * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object * html/canvas/CanvasFramebuffer.h: Added. * html/canvas/CanvasFramebuffer.idl: Added. * html/canvas/CanvasObject.h: Expose m_context * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object * html/canvas/CanvasProgram.h: Added. * html/canvas/CanvasProgram.idl: Added. * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object * html/canvas/CanvasRenderbuffer.h: Added. * html/canvas/CanvasRenderbuffer.idl: Added. * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here * html/canvas/CanvasRenderingContext3D.h: * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object * html/canvas/CanvasShader.h: Added. * html/canvas/CanvasShader.idl: Added. * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object * html/canvas/CanvasTexture.h: Added. * html/canvas/CanvasTexture.idl: Added. * platform/graphics/GraphicsContext3D.cpp: Removed. * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction 2009-08-21 Darin Adler * WebCore.vcproj/build-generated-files.sh: * make-generated-sources.sh: Removed obsolete code to set up CREATE_HASH_TABLE. 2009-08-21 Adele Peterson Reviewed by Mark Rowe. Custom style sheet ignored if UAC is enabled * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): No need to open the file with write access. Only read access is needed. 2009-08-21 Alexey Proskuryakov Reviewed by Darin Adler. Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html Also fixes leaks seen on appcache tests. * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around something that's likely a CFNetwork issue. Note that on Windows, there is no matching API to call, and we do not think that the leak occurs there anyway. 2009-08-21 Dmitry Titov Reviewed by David Levin. https://bugs.webkit.org/show_bug.cgi?id=28650 Remove cross-thread code from CrossOriginPreflightResultCache. Removed mutexes, atomic initializer and string copy. No new tests, the worker tests cover this. * loader/CrossOriginPreflightResultCache.cpp: (WebCore::addToAccessControlAllowList): (WebCore::CrossOriginPreflightResultCache::shared): (WebCore::CrossOriginPreflightResultCache::appendEntry): (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): (WebCore::CrossOriginPreflightResultCache::empty): * loader/CrossOriginPreflightResultCache.h: 2009-08-21 Michelangelo De Simone Reviewed by Jan Alonzo. Buildfix after http://trac.webkit.org/changeset/47655. * html/HTMLFormControlElement.h: 2009-08-19 Joseph Pecoraro Reviewed by Timothy Hatcher. Inspector: Improve Cookie DataGrid to Show Hidden Data https://bugs.webkit.org/show_bug.cgi?id=28269 Removed Custom Bindings * bindings/js/JSInspectorBackendCustom.cpp: * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8InspectorBackendCustom.cpp: * inspector/InspectorBackend.cpp: Made Non-Custom Bindings in the Backend (WebCore::InspectorBackend::getCookies): (WebCore::InspectorBackend::deleteCookie): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::deleteCookie): * inspector/InspectorController.h: Build the Cookie ScriptObjects, handles using document.cookie in case the platform hasn't implemented raw cookie access. * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getCookies): (WebCore::InspectorDOMAgent::buildObjectForCookie): (WebCore::InspectorDOMAgent::buildArrayForCookies): * inspector/InspectorDOMAgent.h: Complete the Asynchronous Calls * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetCookies): * inspector/InspectorFrontend.h: Asynchronous Functions to get Cookie Data * inspector/front-end/DOMAgent.js: (WebInspector.Cookies.getCookiesAsync): (WebInspector.Cookies.buildCookiesFromString): fallback behavior Refactor to use the Asynchronous Functions * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView): (WebInspector.CookieItemsView.prototype.get statusBarItems): (WebInspector.CookieItemsView.prototype.update.callback): (WebInspector.CookieItemsView.prototype.update): (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies): (WebInspector.CookieItemsView.prototype._deleteButtonClicked): Cleaned/Commented Related Code (InspectorController.searchCanceled): * inspector/front-end/InjectedScript.js: * platform/Cookie.h: * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time 2009-08-21 Michelangelo De Simone Reviewed by Adele Peterson. https://bugs.webkit.org/show_bug.cgi?id=28145 Add support for novalidate/formnovalidate attribute, from HTML5 specs: http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate Tests: fast/forms/formnovalidate-attribute.html fast/forms/novalidate-attribute.html * html/HTMLAttributeNames.in: added novalidate, formnovalidate * html/HTMLButtonElement.idl: formnovalidate attribute exposed * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::formNoValidate): attribute getter (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter * html/HTMLFormControlElement.h: * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::novalidate): attribute getter (WebCore::HTMLFormElement::setNovalidate): attribute setter * html/HTMLFormElement.h: * html/HTMLFormElement.idl: novalidate attribute exposed * html/HTMLInputElement.idl: formNoValidate attribute exposed 2009-08-21 Dan Bernstein Reviewed by Beth Dakin. Rendering changes to complete [CSS3 Backgrounds and Borders] Add support for the "contain" value for background-size https://bugs.webkit.org/show_bug.cgi?id=27573 and [CSS3 Backgrounds and Borders] Add support for the "cover" value for background-size https://bugs.webkit.org/show_bug.cgi?id=27574 Test: fast/backgrounds/size/contain-and-cover.html * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::calculateBackgroundSize): * rendering/RenderObject.cpp: (WebCore::mustRepaintFillLayers): 2009-08-21 Michelangelo De Simone Reviewed by Adele Peterson. https://bugs.webkit.org/show_bug.cgi?id=27452 Add support for checkValidity() method and invalid event, from HTML5 specs: http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity Tests: fast/events/invalid-001.html fast/events/invalid-002.html fast/events/invalid-003.html fast/events/invalid-004.html fast/events/invalid-005.html fast/forms/checkValidity-001.html fast/forms/checkValidity-002.html fast/forms/checkValidity-003.html fast/forms/checkValidity-004.html * dom/Document.idl: oninvalid event handler * dom/Element.idl: ditto * dom/EventNames.h: added invalid event * dom/Node.cpp: (WebCore::Node::oninvalid): ditto (WebCore::Node::setOninvalid): ditto * dom/Node.h: ditto * html/HTMLAttributeNames.in: oninvalid attribute * html/HTMLButtonElement.idl: added checkValidity() method * html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid * html/HTMLFieldSetElement.idl: added checkValidity() method * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::checkValidity): checkValidity() implementation * html/HTMLFormControlElement.h: * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation for form elements * html/HTMLFormElement.h: checkValidity() definition * html/HTMLFormElement.idl: added checkValidity() method * html/HTMLInputElement.idl: added checkValidity() method * html/HTMLSelectElement.idl: added checkValidity() method * html/HTMLTextAreaElement.idl: added checkValidity() method * page/DOMWindow.cpp: (WebCore::DOMWindow::oninvalid): oninvalid event handler (WebCore::DOMWindow::setOninvalid): ditto * page/DOMWindow.h: ditto * page/DOMWindow.idl: ditto 2009-08-21 Beth Dakin Reviewed by Dan Bernstein. The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 Backgrounds and Borders] Add support for the "round" value for background-repeat -and- https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and Borders] Add support for the "space" value for background-repeat * css/CSSParser.cpp: (WebCore::CSSParser::parseFillProperty): * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EFillRepeat): * css/CSSValueKeywords.in: * rendering/style/FillLayer.h: * rendering/style/RenderStyleConstants.h: (WebCore::): 2009-08-21 Chris Marrin Reviewed by Oliver Hunt. New files for Canvas 3D feature https://bugs.webkit.org/show_bug.cgi?id=28018 This is all the new files for implementing Canvas 3D. None of them are hooked up and are not even included in the build yet. This incorporates the reviews from Simon and Ollie for these files. * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array * html/CanvasObject.cpp: Added. Base class for all GL object containers * html/CanvasObject.h: Added. * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D * html/CanvasRenderingContext.h: Added. * html/CanvasRenderingContext.idl: Added. * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext() * html/CanvasRenderingContext3D.h: Added. * html/CanvasRenderingContext3D.idl: Added. * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine * platform/graphics/GraphicsContext3D.h: Added. * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas * platform/graphics/mac/Canvas3DLayer.mm: Added. * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based) 2009-08-21 Ryosuke Niwa No Review. Another Windows build fix. * editing/ApplyStyleCommand.cpp: (WebCore::diffTextDecorations): 2009-08-21 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode line box shrinking quirk. Make sure outlines don't extend outside the lineTop and lineBottom of the root line box. Covered by existing tests. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::addFocusRingRects): * rendering/RenderInline.cpp: (WebCore::RenderInline::addFocusRingRects): (WebCore::RenderInline::paintOutline): 2009-08-21 Ryosuke Niwa No Review. Windows build fix. * editing/ApplyStyleCommand.cpp: (WebCore::setTextDecorationProperty): Made it static (WebCore::diffTextDecorations): Made it static 2009-08-21 Ryosuke Niwa Reviewed by Eric Seidel. execCommand("Underline") uses CSS even when styleWithCSS has been turned off https://bugs.webkit.org/show_bug.cgi?id=23892 This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that WebKit does not use CSS to decorate texts when styleWithCSS is set to false. * css/CSSValueList.cpp: (WebCore::CSSValueList::copy): Added. * css/CSSValueList.h: Added copy. * editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::applyUnderline): (WebCore::StyleChange::applyLineThrough): (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument. (WebCore::StyleChange::init): Ditto. (WebCore::StyleChange::extractTextStyles): Handles text decorations. (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly. (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed. 2009-08-21 Joseph Pecoraro Reviewed by Timothy Hatcher. Inspector: Rename "Databases" Panel as "Storage" https://bugs.webkit.org/show_bug.cgi?id=28620 Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used. * inspector/InspectorController.cpp: (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage" * inspector/InspectorController.h: (WebCore::InspectorController::): * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::showPanel): Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage, any DatabasesPanel constructors and appropriate function names. * inspector/front-end/DOMStorageDataGrid.js: (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): (WebInspector.DOMStorageDataGrid.prototype._startEditing): (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): * inspector/front-end/DOMStorageItemsView.js: (WebInspector.DOMStorageItemsView.prototype.update): * inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView.prototype._queryFinished): * inspector/front-end/DatabaseTableView.js: (WebInspector.DatabaseTableView.prototype._queryFinished): * inspector/front-end/inspector.js: (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage" (WebInspector.showStoragePanel): (WebInspector.selectDatabase): (WebInspector.selectDOMStorage): (WebInspector.addDatabase): (WebInspector.addDOMStorage): Renamed some files and Updated Accordingly. * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js. * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png. * inspector/front-end/WebKit.qrc: use new file names * inspector/front-end/inspector.css: use new images name and class names * inspector/front-end/inspector.html: use new file name * WebCore.gypi: use new file names Miscellaneous Updates. * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage" 2009-08-21 Maxime Simon Reviewed by Oliver Hunt. [Haiku] Adding three font-specific files to WebCore: FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp https://bugs.webkit.org/show_bug.cgi?id=28131 * platform/graphics/haiku/FontCacheHaiku.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::createFontPlatformData): (WebCore::FontCache::getTraitsInFamily): * platform/graphics/haiku/FontHaiku.cpp: Added. (charUnicodeToUTF8HACK): (WebCore::Font::canReturnFallbackFontsForComplexText): (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::offsetForPositionForComplexText): * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added. (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformCharWidthInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::platformWidthForGlyph): 2009-08-21 Philippe Beauchamp Reviewed by Adam Roben. Middle click panning icon is offset by 3 pixels https://bugs.webkit.org/show_bug.cgi?id=28611 * platform/ScrollView.cpp: panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset) * platform/win/CursorWin.cpp: (WebCore::middlePanningCursor): Hotspot initialized to (8,8) instead of (7,7) (one pixel offset) 2009-08-21 Laszlo Gombos Reviewed by Eric Seidel. [Qt] Remove inspector resources for Symbian https://bugs.webkit.org/show_bug.cgi?id=28610 Based on an idea from Simon Hausmann. * WebCore.pro: 2009-08-21 Joseph Pecoraro Reviewed by Eric Seidel. Inspector: Remove Unused Variable https://bugs.webkit.org/show_bug.cgi?id=28616 * inspector/front-end/Resource.js: (WebInspector.Resource.prototype._checkWarning): 2009-08-21 Joseph Pecoraro Reviewed by Timothy Hatcher. Inspector: Console Array Formatter Shows Extra Properties https://bugs.webkit.org/show_bug.cgi?id=28615 * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties 2009-08-21 Beth Dakin Reviewed by Dan Bernstein. The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 Backgrounds and Borders] Add support for the "contain" value for background-size -and- https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and Borders] Add support for the "cover" value for background-size Return contain or cover when appropriate, and otherwise do what we used to do. * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Accept contain and cover as valid values for background-size. * css/CSSParser.cpp: (WebCore::CSSParser::parseFillProperty): Handle setting the size and the sizeLength if appropriate. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapFillSize): Added new keywords contain and cover. * css/CSSValueKeywords.in: Use just sizeLength instead of size to match old behavior. * page/animation/AnimationBase.cpp: (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::calculateBackgroundSize): * rendering/RenderObject.cpp: (WebCore::mustRepaintFillLayers): The variable m_sizeType is an EBackgroundSize, and m_sizeLength is a LengthSize (the equivalent of what m_size used to be). I got rid of m_sizeSet and made isSizeSet() dynamic. I also defined a new struct, FillSize that can be used to set or get m_size and m_sizeLength both at once. * rendering/style/FillLayer.cpp: (WebCore::FillLayer::FillLayer): (WebCore::FillLayer::operator=): (WebCore::FillLayer::operator==): (WebCore::FillLayer::fillUnsetProperties): * rendering/style/FillLayer.h: (WebCore::FillSize::FillSize): (WebCore::FillSize::operator==): (WebCore::FillSize::operator!=): (WebCore::FillLayer::sizeLength): (WebCore::FillLayer::size): (WebCore::FillLayer::isSizeSet): (WebCore::FillLayer::setSizeType): (WebCore::FillLayer::setSizeLength): (WebCore::FillLayer::setSize): (WebCore::FillLayer::clearSize): (WebCore::FillLayer::initialFillSizeType): (WebCore::FillLayer::initialFillSizeLength): (WebCore::FillLayer::initialFillSize): This is all boiler-plate stuff to adjust to the new size() vs. sizeType() vs. sizeLength() distinction. * rendering/style/RenderStyle.h: (WebCore::InheritedFlags::backgroundSizeType): (WebCore::InheritedFlags::backgroundSizeLength): (WebCore::InheritedFlags::maskSize): (WebCore::InheritedFlags::setBackgroundSize): (WebCore::InheritedFlags::setBackgroundSizeLength): (WebCore::InheritedFlags::setMaskSize): Definition for EBackgroundSizeType. * rendering/style/RenderStyleConstants.h: (WebCore::): 2009-08-21 Ariya Hidayat Not reviewed, build fix after r47580. [Qt] Adjust the files. * inspector/front-end/WebKit.qrc: 2009-08-20 Chris Fleizach Reviewed by Darin Adler. Enable various "grouping" ARIA roles https://bugs.webkit.org/show_bug.cgi?id=28486 Test: platform/mac/accessibility/aria-grouping-roles.html * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: * accessibility/mac/AccessibilityObjectWrapper.mm: * page/mac/WebCoreViewFactory.h: * platform/LocalizedStrings.h: * platform/mac/LocalizedStringsMac.mm: 2009-08-20 David Levin Unreviewed trivial comment fix. Update a bug link in a comment due to bugzilla amnesia. * loader/CachedResource.cpp: (WebCore::CachedResource::setResourceToRevalidate): 2009-08-20 Albert J. Wong Reviewed by David Levin. HTML5 media elements do not fire waiting events correctly https://bugs.webkit.org/show_bug.cgi?id=28335 Fire the waiting event before seeking, and fix a case where firing of the seeked event is missed when the ready state is changed during a seek. Added video-waiting-seeking.html into manual tests because not all platforms allow seeking into non-buffered ranges. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setReadyState): add support for waiting event when seeking. (WebCore::HTMLMediaElement::finishSeek): send seeked event whenever seeking finishes. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to new function. * html/HTMLMediaElement.h: * manual-tests/video-waiting-seeking.html: Added. 2009-08-20 Dan Bernstein Reviewed by John Sullivan. Fix more cases of Lots of ": doClip: empty path." spew in the console with certain content If the border box is empty, simply avoid painting instead of trying to clip to the empty path. * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::paint): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): 2009-08-20 Jeremy Orlow Build fix. Forgot a svn add for a patch I landed. :-( * storage/SQLTransactionClient.cpp: Added. (WebCore::SQLTransactionClient::didCommitTransaction): (WebCore::SQLTransactionClient::didExecuteStatement): (WebCore::SQLTransactionClient::didExceedQuota): * storage/SQLTransactionClient.h: Added. 2009-08-20 Dumitru Daniliuc Reviewed by Dimitri Glazkov. Added a client to SQLTransaction. In addition to being a place to get notifications about certain events in a transaction, it is also an abstraction layer that allows us to plug in different implementations for each port for how transactions interract with the main DB. For example, WebCore's default implementation will make direct calls to DatabaseTracker's methods. At the same time, Chromium's implementation will send IPCs to the browser process whenever a transaction needs something from the main DB. All storage tests pass. https://bugs.webkit.org/show_bug.cgi?id=27967 * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * storage/Database.cpp: (WebCore::Database::transactionClient): * storage/Database.h: * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread): * storage/DatabaseThread.h: (WebCore::DatabaseThread::transactionClient): * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::runCurrentStatement): (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): (WebCore::SQLTransaction::postflightAndCommit): * storage/SQLTransactionClient.cpp: Added. * storage/SQLTransactionClient.h: Added. 2009-08-20 Brian Weinstein Reviewed by Steve Falkenburg. Fix of Auto scroll speed is faster than in IE, Firefox. Changed pan scrolling speed to match Firefox's algorithm. * rendering/RenderLayer.cpp: (WebCore::adjustedScrollDelta): (WebCore::RenderLayer::panScrollFromPoint): 2009-08-20 Stephen White Reviewed by Eric Seidel. Fix for assert in Chromium page cycler: drawRect() was re-using an SkPaint, but not resetting it before calling PlatformGraphicsSkia::setupPaintForFilling() a second time. This CL fixes drawRect(), and re-enables the assert. http://bugs.webkit.org/show_bug.cgi?id=28172 http://crbug.com/19797 Covered by Chromium page cycler tests. * platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::drawRect): (PlatformContextSkia::setupPaintCommon): 2009-08-20 Anders Carlsson Reviewed by Dan Bernstein. Popup menus don't disappear when you click outside the window. Revert r47535 which introduced this. * platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show): (WebCore::PopupWndProc): 2009-08-20 David Levin Reviewed by Alexey Proskuryakov. Crashes on sites with lots of images https://bugs.webkit.org/show_bug.cgi?id=28473 The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while CachedResource is still referring to it, so it may get deleted before Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate. * loader/Cache.cpp: (WebCore::Cache::revalidateResource): Added assert to verify the resource being revalidated is physically in the cache. (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating resource to the revalidated resource. This allows for proper lifetime management of the revalidated resource. Added assert to verify that the revalidatingResource is in the cache. (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the process of being validated (or else they can get added twice: Once through the normal mechanism and then again during revalidateResource). * loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::isSafeToMakePurgeable): Changed m_isBeingRevalidated to m_proxyResource to allow finding out who the validating resource (or proxy) is. (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts as well. (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource and added a comment about the assert. (WebCore::CachedResource::clearResourceToRevalidate): Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource. * loader/CachedResource.h: (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource is still being referred to by it and the code it robust to this being switched to a new proxy resource without it being cleared first. (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource. 2009-08-20 Xiaomei Ji Reviewed by Eric Seidel. Fix "Chromium RTL autocomplete popup is not layout correctly". https://bugs.webkit.org/show_bug.cgi?id=27889 The complete fix of the issue consists 2 parts: the patch in webkit and the patch in Chromium's own code. This webkit patch only affects Chromium autofill. It 1. introduces a new flag in WebCore::PopupContainerSettings to distinguish whether the width of the drop-down should be restricted or not. For autofill, the width of the drop-down is restricted to be the same as that of the input field (the new flag is set in Chromium's own code). But width is not restricted for , still use the text's first strong directional character's directionality to display the text. Since the patch only affects the chromium client, not webcore part or other clients. No automatic tests is possible. * manual-tests/autofill-popup-width-and-item-direction.html: Added. * platform/chromium/PopupMenuChromium.cpp: (WebCore::): (WebCore::PopupListBox::paintRow): If list box width is restricted and an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses. (WebCore::PopupListBox::layout): Restrict width of list box if applicable. * platform/chromium/PopupMenuChromium.h: (WebCore::PopupItem::PopupItem): style change. (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to distinguish whether to restrict width of list box and in what directionality to display the text in drop-down. 2009-08-20 Brian Weinstein Reviewed by Adele Peterson. Fix of . Pan Scrolling can scroll while showing the middlePanScroll icon. Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState. In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix the off by one error. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::panScrollFromPoint): 2009-08-20 David Hyatt Reviewed by Dan Bernstein. Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method, layoutBlockChild. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::layoutBlockChild): * rendering/RenderBlock.h: 2009-08-20 Brian Weinstein Reviewed by Adam Roben. Made subframeForHitTargetNode a public static method, so WebView can call it during hit testing. * page/EventHandler.cpp: (WebCore::subframeForHitTestResult): (WebCore::EventHandler::subframeForTargetNode): * page/EventHandler.h: 2009-08-20 Brent Fulgham Rubberstamped by Kevin Ollivier. Check for null bundle before attempting to use it. * platform/network/curl/ResourceHandleManager.cpp: (WebCore::certificatePath): Add null check on return of CFBundleGetBundleWithIdentifier. 2009-08-20 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line. Added fast/repaint/inline-block-overflow.html and updated another test. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::computeVerticalOverflow): Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the replaced element. Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the RenderBox has not been updated to the new values yet. * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::paint): Don't use the root line box's overflow. Use the actual line box overflow values instead. In the case of an inline with a layer, our overflow didn't propagate to the root line, so we always need to use our values. * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::layout): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::layout): Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow value around if a box-shadow goes away. 2009-08-20 Dmitry Titov Another attempt to fix Chromium build. * WebCore.gypi: now use the correct name of the image file. 2009-08-20 Dan Bernstein Make the Windows build even fixeder * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContextPlatformPrivate::flush): 2009-08-20 Dmitry Titov Not reviewed, Chromium build fix. * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png) 2009-08-20 Dan Bernstein Windows build fix after the last change * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::releaseWindowsContext): (WebCore::GraphicsContext::drawWindowsBitmap): 2009-08-20 Dan Bernstein Reviewed by Geoffrey Garen. Replace many manually-released CFTypeRefs with RetainPtrs https://bugs.webkit.org/show_bug.cgi?id=28498 * platform/graphics/cg/ColorCG.cpp: (WebCore::createCGColor): * platform/graphics/cg/GradientCG.cpp: (WebCore::Gradient::platformGradient): * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::platformContext): (WebCore::GraphicsContext::applyStrokePattern): (WebCore::GraphicsContext::applyFillPattern): (WebCore::GraphicsContext::setPlatformShadow): (WebCore::GraphicsContext::setURLForRect): * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): * platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::ImageBuffer): * platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::checkForSolidColor): (WebCore::Image::drawPattern): * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData): (WebCore::ImageSource::isSizeAvailable): (WebCore::ImageSource::frameSizeAtIndex): (WebCore::ImageSource::repetitionCount): (WebCore::ImageSource::createFrameAtIndex): (WebCore::ImageSource::frameDurationAtIndex): * platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged): * platform/graphics/cg/PathCG.cpp: (WebCore::createScratchContext): (WebCore::Path::contains): * platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::createFontCustomPlatformData): * platform/graphics/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/mac/ImageMac.mm: (WebCore::BitmapImage::getTIFFRepresentation): * platform/mac/ClipboardMac.mm: (WebCore::cocoaTypeFromMIMEType): (WebCore::MIMETypeFromCocoaType): * platform/mac/WebCoreNSStringExtras.mm: (stringEncodingForResource): * platform/network/mac/FormDataStreamMac.mm: (WebCore::advanceCurrentStream): (WebCore::setHTTPBody): * platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::encode): 2009-08-20 Shinichiro Hamaji Reviewed by Eric Seidel. Output actual values of counters in showTree https://bugs.webkit.org/show_bug.cgi?id=28481 No new tests because this patch just improves debugging outputs. * rendering/CounterNode.cpp: (WebCore::showTreeAndMark): 2009-08-20 Eric Carlson Reviewed by NOBODY (build fix). Add file missed in last check-in. * html/HTMLAttributeNames.in: 2009-08-19 Timothy Hatcher Adds new icons to the Web Inspector for Local Storage, Session Storage and Cookies. https://bugs.webkit.org/show_bug.cgi?id=28470 Reviewed by Eric Seidel. * inspector/front-end/DatabasesPanel.js: (WebInspector.DatabasesPanel.prototype.addDOMStorage): (WebInspector.DOMStorageSidebarTreeElement): * inspector/front-end/Images/cookie.png: * inspector/front-end/Images/domStorage.png: Removed. * inspector/front-end/Images/localStorage.png: Added. * inspector/front-end/Images/sessionStorage.png: Added. * inspector/front-end/inspector.css: 2009-08-20 Eric Carlson Reviewed by Anders Carlsson. HTML5 media elements must fire 'loadend' progress event https://bugs.webkit.org/show_bug.cgi?id=28419 * dom/EventNames.h: Define loadend. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with onloadend. (WebCore::HTMLMediaElement::loadInternal): Post 'loadend' immediately after 'abort'. (WebCore::HTMLMediaElement::noneSupported): Post 'loadend' immediately after 'error'. (WebCore::HTMLMediaElement::mediaEngineError): Ditto. (WebCore::HTMLMediaElement::setNetworkState): Post 'loadend' immediately after 'load'. (WebCore::HTMLMediaElement::userCancelledLoad): Post 'loadend' immediately after 'abort'. 2009-08-20 Ryosuke Niwa Reviewed by Darin Adler. REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table https://bugs.webkit.org/show_bug.cgi?id=28474 This patch fixes a crash when indenting at right after a table. The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()); where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode()); Test: editing/execCommand/indent-right-after-table.html * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node() 2009-08-20 Andrew Scherkus Reviewed by David Levin. Render disabled mute button during an error or if no audio is present. https://bugs.webkit.org/show_bug.cgi?id=28475 Covered by existing layout tests: media/video-controls-visible-audio-only.html media/video-no-audio.html * rendering/RenderThemeChromiumSkia.cpp: (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): 2009-08-20 Dan Bernstein Reviewed by Darin Adler. Loading page with 1px wide is focused, getSelection() exposes shadow tree nodes https://bugs.webkit.org/show_bug.cgi?id=15903 Test: fast/forms/shadow-tree-exposure.html * page/DOMSelection.cpp: (WebCore::selectionShadowAncestor): Added. (WebCore::DOMSelection::anchorNode): Return the parent of the shadow ancestor if the selection is in a shadow tree. Matches Firefox. (WebCore::DOMSelection::anchorOffset): Return the index of the shadow ancestor if the selection is in a shadow tree. Matches Firefox. (WebCore::DOMSelection::focusNode): Ditto. (WebCore::DOMSelection::focusOffset): Ditto. (WebCore::DOMSelection::baseNode): More of the same, but since this is a WebKit-invented property, it does not match Firefox. (WebCore::DOMSelection::baseOffset): Ditto. (WebCore::DOMSelection::extentNode): Ditto. (WebCore::DOMSelection::extentOffset): Ditto. (WebCore::DOMSelection::isCollapsed): Return true even when the selection is a range, if the selection is in the shadow tree. Matches Firefox. Also changed behavior when called and the frame is gone to return true instead of false which makes more sense. (WebCore::DOMSelection::empty): Use clear() just like the other selection-clearing function in this file does. (WebCore::DOMSelection::getRangeAt): Return a range that starts and ends before the shadow ancestor. Matches Firefox. 2009-08-10 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Make all status bar button images glyph-based. https://bugs.webkit.org/show_bug.cgi?id=28124 * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel): * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added. * inspector/front-end/Images/clearConsoleButtons.png: Removed. * inspector/front-end/Images/consoleButtonGlyph.png: Added. * inspector/front-end/Images/consoleButtons.png: Removed. * inspector/front-end/Images/dockButtonGlyph.png: Added. * inspector/front-end/Images/dockButtons.png: Removed. * inspector/front-end/Images/enableButtons.png: Removed. * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added. * inspector/front-end/Images/enableSolidButtonGlyph.png: Added. * inspector/front-end/Images/excludeButtonGlyph.png: Added. * inspector/front-end/Images/excludeButtons.png: Removed. * inspector/front-end/Images/focusButtonGlyph.png: Added. * inspector/front-end/Images/focusButtons.png: Removed. * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added. * inspector/front-end/Images/largerResourcesButtons.png: Removed. * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added. * inspector/front-end/Images/nodeSearchButtons.png: Removed. * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added. * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed. * inspector/front-end/Images/percentButtonGlyph.png: Added. * inspector/front-end/Images/percentButtons.png: Removed. * inspector/front-end/Images/recordButtonGlyph.png: Added. * inspector/front-end/Images/recordButtons.png: Removed. * inspector/front-end/Images/recordToggledButtonGlyph.png: Added. * inspector/front-end/Images/reloadButtonGlyph.png: Added. * inspector/front-end/Images/reloadButtons.png: Removed. * inspector/front-end/Images/undockButtonGlyph.png: Added. * inspector/front-end/Panel.js: (WebInspector.Panel.prototype.createStatusBarButton): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.css: * inspector/front-end/inspector.html: 2009-08-07 Brady Eidson Reviewed by Darin Adler. KURL ref() methods should be fragmentIdentifier() methods https://bugs.webkit.org/show_bug.cgi?id=28084 In addition to the renames, also took the chance to replace all use of: setRef(String()); with: removeFragmentIdentifier(); * platform/KURL.cpp: (WebCore::KURL::fragmentIdentifier): (WebCore::KURL::hasFragmentIdentifier): (WebCore::KURL::setFragmentIdentifier): (WebCore::KURL::removeFragmentIdentifier): (WebCore::KURL::prettyURL): (WebCore::equalIgnoringFragmentIdentifier): * platform/KURL.h: * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::internalLinkElement): * css/CSSCursorImageValue.cpp: (WebCore::isSVGCursorIdentifier): * history/HistoryItem.cpp: (WebCore::HistoryItem::isCurrentDocument): * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::hash): * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed): * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): (WebCore::FrameLoader::gotoAnchor): (WebCore::FrameLoader::scheduleLocationChange): (WebCore::FrameLoader::scrollToAnchor): (WebCore::FrameLoader::shouldReload): (WebCore::FrameLoader::urlsMatchItem): * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::resourceForURL): (WebCore::ApplicationCache::resourceForRequest): * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest): (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::didFail): (WebCore::ApplicationCacheGroup::addEntry): * loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::create): * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): (WebCore::ApplicationCacheStorage::cacheGroupForURL): (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): * page/Location.cpp: (WebCore::Location::hash): * page/Page.cpp: (WebCore::Page::goToItem): * rendering/RenderPartObject.cpp: (WebCore::isURLAllowed): * workers/WorkerLocation.cpp: (WebCore::WorkerLocation::hash): 2009-08-10 Andy Shaw Reviewed by Simon Hausmann. Fix endless loop when the application is quit by a secondary thread during a sync xml http request. Replace the m_finished state variable and the call to QCoreApplication::processEvents() with a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well as from Qt through its knowledge of globally registered eventloops. There is no unit test for this bug as it would require exporting additional symbols and introduce the synchronous loader as global variable just for the test. * platform/network/qt/ResourceHandleQt.cpp: (WebCore::WebCoreSynchronousLoader::didFinishLoading): (WebCore::WebCoreSynchronousLoader::didFail): (WebCore::WebCoreSynchronousLoader::waitForCompletion): 2009-08-10 Pavel Feldman Reviewed by Timothy Hatcher. WebInspector: Make properties inspection serialized. https://bugs.webkit.org/show_bug.cgi?id=28078 * inspector/front-end/DOMAgent.js: (InspectorController.getPrototypes): (InspectorController.getProperties): * inspector/front-end/InjectedScript.js: (InjectedScript.getPrototypes): (InjectedScript.getProperties): (InjectedScript.setPropertyValue): * inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectRef): (WebInspector.ObjectPropertyRef): (WebInspector.ObjectPropertiesSection.prototype.onpopulate): (WebInspector.ObjectPropertiesSection.prototype.update.callback): (WebInspector.ObjectPropertiesSection.prototype.update): (WebInspector.ObjectPropertiesSection.prototype._update): (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback): (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): (WebInspector.ObjectPropertyTreeElement.prototype.onattach): (WebInspector.ObjectPropertyTreeElement.prototype.update): * inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback): (WebInspector.PropertiesSidebarPane.prototype.update): 2009-08-09 Nikolas Zimmermann Reviewed by George Staikos. [WML] wml.css lacks
 support
        https://bugs.webkit.org/show_bug.cgi?id=28135

        Add 
 support for WML.
        Extended fast/wml/text-emphasis.wml to cover 
 support.

        * css/wml.css: 
 section copied from html.css

2009-08-09  Nikolas Zimmermann  

        Reviewed by Oliver Hunt.

        Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.

        * loader/FrameLoader.cpp:
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem):

2009-08-09  Nikolas Zimmermann  

        Reviewed by George Staikos.

        [WML] Deck access control is completly broken
        https://bugs.webkit.org/show_bug.cgi?id=27721

        Rewrite WML deck access control, actually works now standalone and within LayoutTests.
        Added several new layout tests covering local & remote access support.

        In order to detect WML task execution failures from within the WML layout tests a new
        method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
        error message. Change WML log messages to dump to InspectorClient, just like it's done
        for HTML - we used to behave like JSMessageSource, which is wrong.

        Tests: http/tests/wml/access-target-domain-deny.html
               http/tests/wml/access-target-path-deny.html
               http/tests/wml/access-target.html
               wml/access-target-deny.html
               wml/access-target.html

        * inspector/ConsoleMessage.h:
        (WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
        (WebCore::ConsoleMessage::message): Added public method to access the error message.
        * inspector/InspectorController.h:
        (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
        * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem):
        * loader/FrameLoaderTypes.h:
        (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
        * page/Console.cpp:
        (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
        (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
        * page/Console.h:
        * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
        * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
        (WebCore::WMLAccessElement::parseMappedAttribute):
        (WebCore::WMLAccessElement::insertedIntoDocument):
        * wml/WMLAccessElement.h:
        * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
        * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
        (WebCore::WMLDocument::finishedParsing):
        (WebCore::WMLDocument::initialize):
        * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
        (WebCore::reportWMLError):
        * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
        (WebCore::WMLPageState::WMLPageState):
        (WebCore::normalizedHostName):
        (WebCore::hostFromURL):
        (WebCore::urlForHistoryItem):
        (WebCore::tryAccessHistoryURLs):
        (WebCore::WMLPageState::processAccessControlData):
        (WebCore::WMLPageState::resetAccessControlData):
        (WebCore::WMLPageState::canAccessDeck):
        (WebCore::WMLPageState::hostIsAllowedToAccess):
        (WebCore::WMLPageState::pathIsAllowedToAccess):
        * wml/WMLPageState.h:

2009-08-09  Nikolas Zimmermann  

        Reviewed by Maciej Stachowiak.

        FrameLoadType / WebFrameLoadType enums are out of sync
        https://bugs.webkit.org/show_bug.cgi?id=28132

        Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
        The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
        'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload + 2'.

        Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.

        * loader/FrameLoaderTypes.h:
        (WebCore::):

2009-08-09  Nikolas Zimmermann  

        Reviewed by George Staikos.

        [WML] manual-tests/wml/onevent-prev.wml crashes
        https://bugs.webkit.org/show_bug.cgi?id=27722

        Fix intrinsic event execution, leading to crashes.
        First finish parsing the document, then execute the events. Not the other way round.
        -> exposes bugs all over the WML layout tests, which relied on that quirk.

        Fixes manual-tests/wml/onevent-prev.wml.

        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::WMLDocument):
        (WebCore::WMLDocument::finishedParsing):
        (WebCore::WMLDocument::initialize):
        * wml/WMLDocument.h:

2009-08-08  Dimitri Glazkov  

        Unreviewed, build fix.

        [Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
        introduced by http://trac.webkit.org/changeset/46956.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * WebCore.gypi: Added ImageBuffer.cpp.

2009-08-08  Nikolas Zimmermann  

        Rubber-stamped by Jan Michael Alonzo.

        Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
        fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.

        * dom/Document.idl:

2009-08-08  Dirk Schulze  

        Reviewed by Eric Seidel.

        SVG Filter need feColorMatrix implementation
        [https://bugs.webkit.org/show_bug.cgi?id=27711]

        Adds the filter effect feColorMatrix to SVG filters. 

        There is already a test in the w3c directory.
        Test: svg/W3C-SVG-1.1/filters-color-01-b.svg

        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::matrix):
        (WebCore::saturate):
        (WebCore::huerotate):
        (WebCore::luminance):
        (WebCore::FEColorMatrix::apply):

2009-08-08  Dirk Schulze  

        Reviewed by Oliver Hunt.

        Build fix for Tiger.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2009-08-08  Dirk Schulze  

        Reviewed by Oliver Hunt.

        This is an initial implementation for linearRGB and sRGB support for all
        platforms. Some platforms like Cg support different color spaces
        natively, others like Qt, Cairo and Skia do not. This patch uses the
        native implementation of platforms if possible and offers a common version
        if not.

        Different color spaces are used in SVG Filters. Nearly every Filter test 
        case is a test for this patch and will be enabled, once Filters are enabled.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * GNUmakefile.am:
        * WebCore.pro:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern):
        * platform/graphics/ImageBuffer.cpp: Added.
        (WebCore::ImageBuffer::transformColorSpace):
        * platform/graphics/ImageBuffer.h:
        (WebCore::):
        (WebCore::ImageBuffer::create):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::getEffectContext):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::strokeContains):
        (WebCore::Path::strokeBoundingRect):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::scratchContext):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::buildPattern):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        * svg/graphics/SVGPaintServerGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        * svg/graphics/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::applyMask):
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):

2009-08-08  Xan Lopez  

        Roll out r46928, since it wasn't done in accordance with the
        agreed naming.

        * bindings/gdom/GdomDOMObject.cpp: Removed.

2009-08-08  Jan Michael Alonzo  

        Reviewed by Xan Lopez.

        [Gtk] Enable accessibility in Gtk DRT
        https://bugs.webkit.org/show_bug.cgi?id=25989

        Add SPI to get the focused accessible element to be used by DRT.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_focused_element):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.h:

2009-08-07  Jan Michael Alonzo  

        Gtk build fix - add html/canvas to the binding generator's include path

        * GNUmakefile.am:

2009-08-07  Oliver Hunt  

        Another attempt to fix windows.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:

2009-08-07  Oliver Hunt  

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj:

2009-08-07  Jan Michael Alonzo  

        Gtk build fix - add html/canvas to the include path.

        * GNUmakefile.am:

2009-08-07  Adam Treat  

        Prospective build fix for Qt following r46937.

        * WebCore.pro:

2009-08-07  Yong Li  

        WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::advanceData):
        (WebCore::GlyphBuffer::add):

2009-08-07  Yong Li  

        Reviewed by Eric Seidel.

        WINCE PORT: pass unrecognized glyphs to GDI to handle
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter):

2009-08-07  Chris Marrin  

        Reviewed by Oliver Hunt.

        Move Canvas related file to a subdirectories
        https://bugs.webkit.org/show_bug.cgi?id=28026

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/CanvasGradient.cpp: Removed.
        * html/CanvasGradient.h: Removed.
        * html/CanvasGradient.idl: Removed.
        * html/CanvasPattern.cpp: Removed.
        * html/CanvasPattern.h: Removed.
        * html/CanvasPattern.idl: Removed.
        * html/CanvasPixelArray.cpp: Removed.
        * html/CanvasPixelArray.h: Removed.
        * html/CanvasPixelArray.idl: Removed.
        * html/CanvasRenderingContext2D.cpp: Removed.
        * html/CanvasRenderingContext2D.h: Removed.
        * html/CanvasRenderingContext2D.idl: Removed.
        * html/CanvasStyle.cpp: Removed.
        * html/CanvasStyle.h: Removed.
        * html/canvas: Added.
        * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
        * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
        * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
        * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
        * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
        * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
        * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
        * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
        * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
        * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
        * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
        * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
        * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
        * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.

2009-08-07  Szabo Carol  

        Reviewed by David Hyatt.

        QtWebkit ignores letter-spacing and word-spacing styles.
        QtWebkit handles custom letter-spacing and word-spacing in the native QFont
        class, but the values for these options are not not passed on from
        the platform independent part of the Font class.
        Fixed QtWebkit behavior by applying the options to QFont when it is
        returned via Font::font()

        http://bugs.webkit.org/show_bug.cgi?id=27988

        LayoutTests:
        fast/css/word-space-extra.html
        css2.1/t1604-c542-letter-sp-00-b-a.html
        css2.1/t1604-c541-word-sp-01-b-a.html
        css1/text_properties/word_spacing.html
        
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::font):

2009-08-07  Nicolas Weber  

        Reviewed by Darin Adler.

        Use correct highlight color for listboxes and completion popups.

        https://bugs.webkit.org/show_bug.cgi?id=28090

        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        Rename activeListBoxSelectionBackgroundColor to
        platformActiveListBoxSelectionBackgroundColor, so that it actually
        overrides a virtual method.

2009-08-07  Maxime Simon  

        Reviewed by Eric Seidel.

        Added a fourth bunch of Haiku-specific files for WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=26988

        * platform/haiku/PasteboardHaiku.cpp: Added.
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::clear):
        * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
        (WebCore::keyIdentifierForHaikuKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
        * platform/haiku/PlatformMouseEventHaiku.cpp: Added.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/haiku/PlatformWheelEventHaiku.cpp: Added.
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2009-08-07  Nicolas Weber  

        Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
        Heavily inspired by Firefox's take on this issue.

        https://bugs.webkit.org/show_bug.cgi?id=27909

        Reviewed by Eric Seidel.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):
        Tell jpeglib to convert ycck to cmyk and keep cmyk.
        (WebCore::convertCMYKToRGBA):
        Added function to convert cmyk to rgb.
        (WebCore::convertRGBToRGBA):
        Extracted existing conversion logic into its own function.
        (WebCore::JPEGImageDecoder::outputScanlines):
        Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
        images.

2009-08-07  Drew Wilson  

        Reviewed by David Levin.

        SharedWorkers should be shared
        https://bugs.webkit.org/show_bug.cgi?id=28058

        Added tracking of shared workers to the SharedWorkerRepository.

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::create):
        Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
        (WebCore::SharedWorkerProxy::thread):
        (WebCore::SharedWorkerProxy::closing):
        Added flag used to determine whether the worker has closed itself while loading.
        (WebCore::SharedWorkerProxy::url):
        (WebCore::SharedWorkerProxy::name):
        Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
        (WebCore::SharedWorkerProxy::addToDocumentSet):
        Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
        Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
        (WebCore::SharedWorkerScriptLoader::load):
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        (WebCore::DefaultSharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        Now handles "worker already loaded" case.
        (WebCore::SharedWorkerRepository::connect):
        Delegates to DefaultSharedWorkerRepository::connectToWorker
        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
        Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
        (WebCore::DefaultSharedWorkerRepository::getProxy):
        Atomic get-or-create operation on the internal tracking HashMap.
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker):
        * workers/SharedWorkerRepository.h:
        Removed instance() API and made constructor private to prevent instantiation.
        (WebCore::SharedWorkerRepository::SharedWorkerRepository):

2009-08-07  Maxime Simon  

        Reviewed by Eric Seidel.

        Added four Haiku-specific files for WebCore:
        PopupMenuHaiku.cpp, ScreenHaiku.cpp,
        SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28080

        * platform/haiku/PopupMenuHaiku.cpp: Added.
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/haiku/ScreenHaiku.cpp: Added.
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        * platform/haiku/SearchPopupMenuHaiku.cpp: Added.
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/haiku/SoundHaiku.cpp: Added.
        (WebCore::systemBeep):

2009-08-07  Maxime Simon  

        Reviewed by Eric Seidel.

        Added two Haiku-specific files to WebCore:
        TemporaryLinkStubs.cpp and WidgetHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28080

        * platform/haiku/TemporaryLinkStubs.cpp: Added.
        (loadResourceIntoArray):
        (WebCore::historyContains):
        (WebCore::supportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        (WebCore::userIdleTime):
        (WebCore::callOnMainThread):
        (WebCore::SharedBuffer::createWithContentsOfFile):
        (WebCore::KURL::fileSystemPath):
        (WebCore::getSupportedKeySizes):
        * platform/haiku/WidgetHaiku.cpp: Added.
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::frameRect):
        (WebCore::Widget::setFrameRect):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::paint):
        (WebCore::Widget::setIsSelected):

2009-08-07  Jian Li  

        Reviewed by Dimitri Glazkov.

        [V8] Fix the problem that isAttribute is set to false for onerror and
        onmessage in worker custom code.
        https://bugs.webkit.org/show_bug.cgi?id=28083

        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):

2009-08-07  Vitaly Repeshko  

        Reviewed by Dimitri Glazkov.

        V8 bindings: speed up lookupDOMWrapper by using new V8 API function.

        https://bugs.webkit.org/show_bug.cgi?id=28071

        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::lookupDOMWrapper):

2009-08-07  Ryosuke Niwa  

        Reviewed by Justin Garcia.

        selectionHasStyle doesn't handle text-specific properties properly
        https://bugs.webkit.org/show_bug.cgi?id=27858

        This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
        (text-decoration, font-style, font-weight, & color) are present in all text nodes,
        regardless of whether the style is also present in their ancestor nodes or not.
        e.g. New behavior concludes that helloworld has italic style.

        WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
        at least one text node, rather than at the beginning of selection except on Mac.
        On Mac, WebKit applies the text style if the style was not present at the beginning of style.

        Test: editing/execCommand/toggle-compound-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
        * editing/Editor.cpp:
        (WebCore::):
        (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
        (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle

2009-08-07  Jian Li  

        Reviewed by Dimitri Glazkov.

        [V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
        https://bugs.webkit.org/show_bug.cgi?id=28082

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):

2009-08-07  Kwang Yul Seo  

        Reviewed by Eric Seidel.

        Cairo-based Windows port does not handle cookies properly
        https://bugs.webkit.org/show_bug.cgi?id=27414

        curl handles cookies by itself, so using WinINet functions
        to get and set cookies is wrong.

        Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
        cookies can be implemented later once curl provides an API to
        get and set cookies.

        * WebCore.vcproj/WebCore.vcproj:

2009-08-07  Michael Nordman  

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=28074

        V8 bindings for the window.applicationCache attribute.

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.

2009-08-07  Alpha Lam  

        Reviewed by Eric Seidel.

        Right click on timeline of media controls panel cause seek
        https://bugs.webkit.org/show_bug.cgi?id=27920

        Add a test simulate the behavior of seeking by right clicking
        on the time bar of media controls while playing.

        * media/controls-right-click-on-timebar-expected.txt: Added.
        * media/controls-right-click-on-timebar.html: Added.

2009-08-07  Ryosuke Niwa  

        Reviewed by Justin Garcia.

        deprecatedCopyInheritableProperties must be replaced by two different functions
        https://bugs.webkit.org/show_bug.cgi?id=28057

        This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
        or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
        which consists of all CSS properties need to be preserved under editing operations.

        No test is added since this patch does not change any behavior.

        * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
        * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
        * editing/ApplyStyleCommand.cpp:
        (WebCore::):
        (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
        (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
        (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
        * editing/ApplyStyleCommand.h:
        (WebCore::):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
        * editing/EditCommand.cpp:
        * editing/EditCommand.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
        (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
        * editing/markup.cpp:
        (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
        (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
        (WebCore::createMarkup): Uses editingStyleAtPosition

2009-08-07  Steve Block  

        Reviewed by Darin Adler.

        Bug 27250: Geolocation callback function IDL files are superfluous
        https://bugs.webkit.org/show_bug.cgi?id=27250

        The objects for the Geolocation success and error callbacks are created 'manually' in
        WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 
        marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
        appear on the window object. Hence IDL files for these callbacks are not required.

        See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
        http://www.w3.org/TR/WebIDL/#NoInterfaceObject.

        No new tests required.

        * DerivedSources.make: Modified. Removed reference to IDL files.
        * WebCore.gypi: Modified. Removed reference to IDL files.
        * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
        * page/PositionCallback.idl: Removed.
        * page/PositionErrorCallback.idl: Removed.

2009-08-07  Adam Treat  

        Reviewed by David Levin.

        Build fix for Qt when ENABLE_VIDEO = 0.  This was necessitated by r46890 which
        put the idl files back into play regardless of compile time defines.

        * html/TimeRanges.idl:

2009-08-07  Mike Fenton  

        Reviewed by George Staikos.

        Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.

        https://bugs.webkit.org/show_bug.cgi?id=28050

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::baselinePosition):
        (WebCore::inflateButtonRect):
        (WebCore::RenderThemeQt::supportsFocus):
        (WebCore::RenderThemeQt::applyTheme):

2009-08-07  Mike Fenton  

        Reviewed by Eric Seidel.

        Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
        from discarding style colour.

        Add tests and remove tests from platform/qt/Skipped that now pass.

        https://bugs.webkit.org/show_bug.cgi?id=28050

        Tests: fast/forms/menulist-style-color.html
               fast/forms/text-style-color.html

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::adjustMenuListStyle):
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):

2009-08-07  Dimitri Glazkov  

        Unreviewed, build fix.

        https://bugs.webkit.org/show_bug.cgi?id=22495
        [V8] Re-land http://trac.webkit.org/changeset/46821, now that
        http://trac.webkit.org/changeset/46874 re-landed

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-08-07  Adam Treat  

        Reviewed by Darin Adler and George Staikos.

        Add rectToRect convenience function which returns the TransformationMatrix
        which maps the 'from' rectangle to the 'to' rectangle.

        https://bugs.webkit.org/show_bug.cgi?id=28067

        No tests as this would require binding the method to js and since it is static
        that doesn't seem possible.  Please check the math.

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::rectToRect):
        * platform/graphics/transforms/TransformationMatrix.h:

2009-08-07  Brady Eidson  

        Reviewed by Darin Adler.

        Implement the HTML5 hashchange event.
        https://bugs.webkit.org/show_bug.cgi?id=21605

        Test: fast/loader/hashchange-event.html

        * dom/EventNames.h: Add "hashchange"
        * html/HTMLAttributeNames.in: Add "onhashchange"

        * loader/FrameLoader.cpp:
        (WebCore::HashChangeEventTask::create):
        (WebCore::HashChangeEventTask::performTask):
        (WebCore::HashChangeEventTask::HashChangeEventTask):
        (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
          new fragment identifier is different from the old one, queue a hash change event
          on the Document.

        Add a window event listener for the hashchange event if onhashchange is encountered:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute): 
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):

        Add a new string utility method that gives "null and empty are equivalent" behavior:
        * platform/text/PlatformString.h:
        (WebCore::equalIgnoringNullity):
        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringNullity):
        * platform/text/StringImpl.h:

2009-08-07  Jessie Berlin  

        Reviewed by Timothy Hatcher.

        Add the initial implementation of the ability to resize the columns in
        a DataGrid in the Web Inspector. Enables that functionality in both the
        Profile View and in the Local Storage View.
        
        https://bugs.webkit.org/show_bug.cgi?id=26182
        
        In this version, resizing a column can change the width of at most two
        columns (the columns to the left and right of the resizer being dragged).
        
        Possible changes in future patches:
        
        1) Be able to specify the minimum size of a column and the maximum size
           of a column. If the minimum size is equal to the maximum size, the
           column can't be resized.
        2) Make the behavior more in line with the following description:
        
        Everything before the column that is resized stays fixed size. The
        resized column changes sizes. The other columns except the last stay
        the same size. And the last column adjusts to fit with a minimum size.
        If the last column is already the minimum, the next to last column
        shrinks, etc.
        
        3) Make it possible to scale the column sizes appropriately when the
           Web Inspector window gets resized.
        
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype.update):
        Once the DataGrid is added to the DOM, update the widths of the
        DataGrid in order to put the resizers in place.
        (WebInspector.DOMStorageItemsView.prototype.resize):
        Update the widths of the DataGrid in order to correctly adjust the
        positions of the resizers.
        
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        Store column groups whose widths can later be changed when the columns
        are resized by the user.
        Also, keep track of whether the widths of the columns have been
        initialized.
        (WebInspector.DataGrid.prototype.updateWidths):
        Create the resizers for the columns.
        (WebInspector.DataGrid.prototype._clickInDataTable):
        Didn't actually change anything in this method, just added a comma to
        the end of the function.
        (WebInspector.DataGrid.prototype._startResizerDragging):
        Store the resizer that is currently dragging.
        (WebInspector.DataGrid.prototype._resizerDragging):
        Constrain the area that the resizer can be dragged to the column to
        it's left and right, with some padding added to make sure that the
        neighboring columns don't disappear.
        (WebInspector.DataGrid.prototype._endResizerDragging):
        
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.resize):
        Resize the view.
        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
        ditto.
        
        * inspector/front-end/ProfileView.js:
        (WebInspector.ProfileView.prototype.show):
        Now that the DataGrid is actually attached to the DOM, update the
        widths of the DataGrid in order to put the resizers in place.
        (WebInspector.ProfileView.prototype.resize):
        Update the widths of the DataGrid in order to correctly adjust the
        positions of the resizers.
        
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.resize):
        Resize the view.
        (WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
        ditto.
        
        * inspector/front-end/inspector.css:
        Add in a style rule for a resizer in the Data Grid.

2009-08-07  Simon Hausmann  

        Reviewed by Tor Arne Vestbø.

        Back out r46847 and fix the Qt build system to always generate
        all the JS binding files from IDL files. The generated files
        have #if feature guards, so the #ifs are not needed in the
        files using them.

        * WebCore.pro:
        * bindings/js/JSEventTarget.cpp:
        * bindings/js/JSWorkerContextBase.cpp:
        * bindings/js/WorkerScriptController.cpp:

2009-08-07  Shinichiro Hamaji  

        Reviewed by Adele Peterson.

        Cannot scroll for box-reflect:right
        https://bugs.webkit.org/show_bug.cgi?id=27979

        Update m_overflowLeft an m_overflowWidth for reflection just like
        m_overflowTop and m_overflowHeight.

        Test: fast/reflections/reflection-overflow-scroll.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):

2009-08-06  Shinichiro Hamaji  

        Reviewed by Adam Barth.

        box-shadow's spread is ignored with 
        https://bugs.webkit.org/show_bug.cgi?id=28017

        Use RenderStyle::getBoxShadowExtent just like RenderBlock.

        Test: fast/box-shadow/box-shadow-overflow-scroll.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):

2009-08-06  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: NodeLists Don't Display Well in the Console
        https://bugs.webkit.org/show_bug.cgi?id=28061

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"

2009-08-06  Yusuke Sato  

        Reviewed by David Levin.

        Chromium Linux: add support for @font-face
        https://bugs.webkit.org/show_bug.cgi?id=28015
        
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::~CachedFont):
        (WebCore::CachedFont::ensureCustomFontData):
        (WebCore::CachedFont::platformDataFromCustomData):
        (WebCore::CachedFont::allClientsRemoved):

        Modified #ifdefs so that chromium linux can load remote fonts.
        
        * platform/graphics/chromium/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):

        Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
        
        (WebCore::RemoteFontStream::RemoteFontStream):
        (WebCore::RemoteFontStream::~RemoteFontStream):
        (WebCore::RemoteFontStream::rewind):
        (WebCore::RemoteFontStream::read):

        New class that implements SkStream interface and wraps wtf's SharedBuffer.
        
        * platform/graphics/chromium/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):

        Added member variables for Linux.
        
2009-08-06  Yong Li  

        Reviewed by Eric Seidel.

        Fix JPEGImageDecoder.cpp compile error on WinCE
        https://bugs.webkit.org/show_bug.cgi?id=28051

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

2009-08-06  Kevin Ollivier  

        Reviewed by Eric Seidel.

        Adding WebCore support for the waf build system for wx.
        
        https://bugs.webkit.org/show_bug.cgi?id=27619

        * wscript: Added.

2009-08-06  Adam Barth  

        Unreviewed revert.

        http://bugs.webkit.org/show_bug.cgi?id=27879

        Revert 46877 because it broke GTK.

        * platform/graphics/wince/GraphicsContextWince.cpp:

2009-08-06  Chris Fleizach  

        Reviewed by Eric Seidel.

        Bug 27956 - AX: roleValue should be cached for performance
        https://bugs.webkit.org/show_bug.cgi?id=27956

        Caches the role value of an accessibility object instead of calculating it everytime.
        The changes gained a 5% speedup using VoiceOver to navigate a webpage.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleAriaRoleChanged):

        Use generic role setter instead of specific ARIA role setter.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::AccessibilityObject):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::headingLevel):

        Make headingLevel into instance method so that it can *safely* be called in the constructor.

        (WebCore::AccessibilityObject::setRoleValue):
        (WebCore::AccessibilityObject::roleValue):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::headingLevel):
        (WebCore::AccessibilityRenderObject::intValue):
        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (AXAttributeStringSetHeadingLevel):

2009-08-06  Zoltan Horvath  

        Reviewed by Adam Barth.

        Change Noncopyable inheriting to public
        http://bugs.webkit.org/show_bug.cgi?id=27879

        Since Noncopyable is inherited from FastAllocBase, Noncopyable's
        inheriting has been changed to public.

        * platform/graphics/wince/GraphicsContextWince.cpp:

2009-08-06  Mark Rowe  

        Rubber-stamped by Sam Weinig.

        Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-05  Simon Fraser  

        Reviewed by Darin Adler.

        Implement the matchMedium method on the Media interface described in the CSSOM View Module.
        https://bugs.webkit.org/show_bug.cgi?id=22495
        
        Add a new Media interface, obtainable via the AbstractView, that can
        evaluate queries via its matchesMedium() method.

        Test: fast/media/matchmedium-query-api.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Add Media.* files to the build.

        * css/Media.cpp: Added.
        (WebCore::Media::Media):
        (WebCore::Media::type):
        (WebCore::Media::matchMedium):
        * css/Media.h: Added.
        (WebCore::Media::create):
        (WebCore::Media::document):
        * css/Media.idl: Added.
        Media::matchMedium() uses a MediaQueryEvaluator() to test the query.

        * page/AbstractView.idl:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::media):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        Add a readonly attribute for Media.

2009-08-06  Michelangelo De Simone  

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27455
        Support for a custom validation message in ValidityState and related
        form controls.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity

        Tests: fast/forms/ValidityState-customError-001.html
               fast/forms/ValidityState-customError-002.html
               fast/forms/ValidityState-customError-003.html
               fast/forms/ValidityState-customError-004.html

        * html/HTMLButtonElement.idl: setCustomValidity DOM method
        * html/HTMLFieldSetElement.idl: ditto
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::setCustomValidity): ditto
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::valueMissing): moved down
        * html/HTMLInputElement.idl: ditto
        * html/HTMLSelectElement.idl: ditto
        * html/HTMLTextAreaElement.idl:
        * html/ValidityState.h:
        (WebCore::ValidityState::setCustomErrorMessage): method to set custom
        validation message
        (WebCore::ValidityState::customError): validation flag

2009-08-06  Mark Rowe  

        Bring a little order to our otherwise out of control lives.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Mark Rowe  

        Stop copying .idl files in to the framework resources directory.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Mark Rowe  

        Fix the build some more.

        Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
        files and groups in to the appropriate locations.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Fumitoshi Ukai  

        Reviewed by Alexey Proskuryakov.

        Add WebSocket.idl
        https://bugs.webkit.org/show_bug.cgi?id=27209

        Add WebSocket.idl in WebCore/websockets/.
        Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
        Other build systems will be updated once the code is functional.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebSocketConstructor.cpp: Added.
        * bindings/js/JSWebSocketConstructor.h: Added.
        * bindings/js/JSWebSocketCustom.cpp: Added.
        * websockets/WebSocket.cpp: Added.
        * websockets/WebSocket.h: Added.
        * websockets/WebSocket.idl: Added.

2009-08-06  Jian Li  

        Reviewed by Dimitri Glazkov.

        [V8] Style cleaning for WorkerContextExecutionProxy.
        https://bugs.webkit.org/show_bug.cgi?id=27997

        Cleanup WorkerContextExecutioonProxy related files to follow
        WebKit coding styles after all V8 binding codes are upstreamed.
        1) Lower-case the first letter of remaining functins in class
           WorkerContextExecutionProxy. Update the V8 code generator
           and all other references accordingly.
        2) Integrate getConstructor from WorkerContextExecutionProxy
           to V8DOMWrapper.
        3) Other misc changes, like removing trailing whitespaces and
           sorting the include files.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getConstructorForContext):
        (WebCore::V8DOMWrapper::convertToV8Object):
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
        (WebCore::V8WorkerContextEventListener::handleEvent):
        (WebCore::V8WorkerContextEventListener::reportError):
        (WebCore::V8WorkerContextEventListener::getReceiverObject):
        * bindings/v8/V8WorkerContextObjectEventListener.cpp:
        (WebCore::weakObjectEventListenerCallback):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::WorkerContextExecutionProxy::dispose):
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
        (WebCore::WorkerContextExecutionProxy::toV8):
        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
        (WebCore::WorkerContextExecutionProxy::removeEventListener):
        * bindings/v8/WorkerContextExecutionProxy.h:
        (WebCore::WorkerContextExecutionProxy::context):
        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-06  Darin Adler  

        Fix Mac Leopard debug build.

        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
        is always >= 0 and checking causes a warning in the newer versions of gcc.

2009-08-06  Adam Barth  

        Unreview rollout.

        Revert 46840 because it broke the reliability tests.

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-08-06  Adam Barth  

        Unreviewed rollout.

        Revert 46840 in preparation to revert 46838, which broke the reliability tests.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::mainWorldContext):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::context):

2009-08-06  Pavel Feldman  

        Reviewed by Timothy Hatcher.

        WebInspector: move style-related utilities into InjectedScript.

        http://bugs.webkit.org/show_bug.cgi?id=27939

        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
        (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.applyStyleText):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript._serializeStyle):
        (InjectedScript._getUniqueStyleProperties):
        (InjectedScript._getLonghandProperties):
        (InjectedScript._getShorthandPriority):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._update):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertyTreeElement.prototype.get priority):
        (WebInspector.StylePropertyTreeElement.prototype.get value):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/utilities.js:

2009-08-06  Simon Hausmann  

        Unreviewed build fix, add #ifdef guards around
        inclusions of shared worker specific files.

        * bindings/js/JSEventTarget.cpp:
        * bindings/js/JSWorkerContextBase.cpp:
        * bindings/js/WorkerScriptController.cpp:

2009-08-06  Laszlo Gombos  

        Reviewed by Darin Adler.

        cssgrammar.cpp fails to compile with RVCT compiler
        https://bugs.webkit.org/show_bug.cgi?id=27952

        * css/CSSGrammar.y: Do not convert to String to get rid of the stray
        memory allocation 

        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringCase):
        * platform/text/StringImpl.h: 
        (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
          function that works with a character pointer and length

2009-08-06  Drew Wilson  

        Reviewed by David Levin.

        Created first working implementation of SharedWorkers (execution only, no sharing).
        https://bugs.webkit.org/show_bug.cgi?id=27927

        Added initial implementations of SharedWorkerThread and SharedWorkerContext.
        No v8 bindings yet.

        * DerivedSources.cpp:
        Added shared worker files.
        * DerivedSources.make:
        Added shared worker files.
        * GNUmakefile.am:
        Added shared worker files.
        * WebCore.gypi:
        Added shared worker files.
        * WebCore.pro:
        Added shared worker files.
        * WebCore.vcproj/WebCore.vcproj:
        Added shared worker files.
        * WebCore.xcodeproj/project.pbxproj:
        Added shared worker files.
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        Added code to convert from EventTarget to correct JS class.
        (WebCore::toEventTarget):
        Added code to cast from JS object to appropriate EventTarget impl class.
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
        (WebCore::constructSharedWorker):
        Tweaked the constructor code to pass in the lexical global object like normal workers.
        * bindings/js/JSSharedWorkerContextCustom.cpp: Added.
        (WebCore::JSSharedWorkerContext::mark):
        Custom marking of the onconnect handler.
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::toJSSharedWorkerContext):
        (WebCore::toJSWorkerContext):
        Added proper conversion to the correct WorkerContext derived class.
        * bindings/js/JSWorkerContextBase.h:
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
        * bindings/scripts/CodeGeneratorV8.pm:
        Added support for SharedWorkerContext.
        * bindings/v8/DOMObjectsInclude.h:
        Added shared worker bindings files.
        * dom/EventNames.h:
        Added connect event.
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toSharedWorkerContext):
        Added API for casting to new derived class (SharedWorkerContext).
        * dom/EventTarget.h:
        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::resolveURL):
        Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
        * workers/AbstractWorker.h:
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::logException):
        Refactored exception handling code - moved onerror handling to base class.
        * workers/DedicatedWorkerContext.h:
        (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker):
        Changed constructor to fire up worker thread.
        * workers/SharedWorker.h:
        * workers/SharedWorkerContext.cpp: Added.
        (WebCore::SharedWorkerContext::SharedWorkerContext):
        (WebCore::SharedWorkerContext::~SharedWorkerContext):
        (WebCore::SharedWorkerContext::logException):
        (WebCore::SharedWorkerContext::addMessage):
        Placeholder methods until we add support for sending exceptions/messages to console.
        (WebCore::SharedWorkerContext::dispatchConnect):
        (WebCore::SharedWorkerContext::thread):
        * workers/SharedWorkerContext.h: Added.
        (WebCore::SharedWorkerContext::create):
        (WebCore::SharedWorkerContext::isSharedWorkerContext):
        (WebCore::SharedWorkerContext::toSharedWorkerContext):
        (WebCore::SharedWorkerContext::setOnconnect):
        (WebCore::SharedWorkerContext::onconnect):
        (WebCore::SharedWorkerContext::name):
        * workers/SharedWorkerContext.idl: Added.
        * workers/SharedWorkerRepository.h: Added.
        (WebCore::SharedWorkerRepository::~SharedWorkerRepository):
        * workers/DefaultSharedWorkerRepository.cpp: Added.
        Implementation of core singleton class that will be used to implement sharing.
        (WebCore::SharedWorkerProxy::setThread):
        Proxy object used to handle resource loading for a given shared worker.
        (WebCore::SharedWorkerProxy::postTaskToLoader):
        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
        Placeholder routines until we implement loading.
        (WebCore::SharedWorkerConnectTask::create):
        Creates a task to fire off a connect event on the worker thread.
        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
        (WebCore::SharedWorkerConnectTask::performTask):
        (WebCore::SharedWorkerLoader::SharedWorkerLoader):
        Added helper object to load the initial script for the worker.
        (WebCore::SharedWorkerLoader::load):
        (WebCore::SharedWorkerLoader::notifyFinished):
        (WebCore::SharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        Fires off the worker thread once the script is loaded.
        (WebCore::SharedWorkerRepository::connect):
        (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
        (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
        * workers/DefaultSharedWorkerRepository.h: Added.
        * workers/SharedWorkerThread.cpp: Added.
        (WebCore::SharedWorkerThread::create):
        (WebCore::SharedWorkerThread::SharedWorkerThread):
        (WebCore::SharedWorkerThread::~SharedWorkerThread):
        (WebCore::SharedWorkerThread::createWorkerContext):
        * workers/SharedWorkerThread.h: Added.
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::reportException):
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::isSharedWorkerContext):
        (WebCore::WorkerContext::isDedicatedWorkerContext):
        Added APIs to determine the type of a given context.

2009-08-06  Chris Marrin  

        Reviewed by David Hyatt.

        Added ENABLE_3D_CANVAS flag to build, default to off

        * Configurations/FeatureDefines.xcconfig:

2009-08-06  Andras Becsi  

        Reviewed by Simon Hausmann.

        [Qt] windowsKeyCodeForKeyEvent fix

        Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.

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

2009-08-06  George Staikos  

        Rubber-stamped by Ariya Hidayat.

        Remove the dead wince/ directory that should never have gone in.

        * svg/graphics/wince: Removed.
        * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.

2009-08-06  Pavel Feldman  

        Reviewed by Timothy Hatcher.

        WebInspector: Extract style editing into a separate file that is
        going to be loaded in page context.

        https://bugs.webkit.org/show_bug.cgi?id=27939

        * inspector/front-end/InjectedScript.js: Added.
        (InjectedScript.applyStyleText):
        (InjectedScript.setStyleText):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript.setStyleRule):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-08-06  Adam Barth  

        Reviewed by David Levin.

        [V8] Remove bug-bait V8Proxy::context()
        https://bugs.webkit.org/show_bug.cgi?id=27826

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::mainWorldContext):
        * bindings/v8/V8Proxy.h:

2009-08-06  Adam Barth  

        Unreviewed attempt to fix the Chromium Linux build.  This function is
        not used.

        * bindings/v8/OwnHandle.h:

2009-08-06  Adam Barth  

        Reviewed by Eric Seidel.

        [V8] Teach ScheduledAction::execute about isolated worlds
        https://bugs.webkit.org/show_bug.cgi?id=27703

        We now save a weak handle to the original context.  We use that handle
        to call the timeout in the right context / world.

        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
               http/tests/security/isolatedWorld/window-setTimeout-string.html

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-08-05  Dimitri Glazkov  

        Unreviewed, build fix.

        [V8] Revert http://trac.webkit.org/changeset/46821, which was
        landed to supplement http://trac.webkit.org/changeset/46816, but
        now that the latter is reverted, the former needs the same.

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-08-05  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Color is only reported in rgb() format; should toggle between rgb() and hex
        https://bugs.webkit.org/show_bug.cgi?id=13516

          New Class to Parse and Change Between Color Representations:

        * inspector/front-end/Color.js: Added.
        (WebInspector.Color):

          Representations of Colors in Raw Form. (May be Lazy Loaded):

        (WebInspector.Color.prototype.get shorthex):
        (WebInspector.Color.prototype.get hex):
        (WebInspector.Color.prototype.set hex):
        (WebInspector.Color.prototype.get rgb):
        (WebInspector.Color.prototype.set rgb):
        (WebInspector.Color.prototype.get hsl):
        (WebInspector.Color.prototype.set hsl):
        (WebInspector.Color.prototype.get nickname):
        (WebInspector.Color.prototype.set nickname):
        (WebInspector.Color.prototype.get rgba):
        (WebInspector.Color.prototype.set rgba):
        (WebInspector.Color.prototype.get hsla):
        (WebInspector.Color.prototype.set hsla):

          Helpers and Standard String Representations:

        (WebInspector.Color.prototype.hasShortHex):
        (WebInspector.Color.prototype.toRgb):
        (WebInspector.Color.prototype.toHsl):
        (WebInspector.Color.prototype.toShortHex):
        (WebInspector.Color.prototype.toHex):
        (WebInspector.Color.prototype.toRgba):
        (WebInspector.Color.prototype.toHsla):
        (WebInspector.Color.prototype.toNickname):

          Conversion Functions to Determine Other Representations:
          My Sources for all algorithms and sample data:
          Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
          CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color

        (WebInspector.Color.prototype.rgbToHex):
        (WebInspector.Color.prototype.hexToRgb):
        (WebInspector.Color.prototype.rgbToHsl):
        (WebInspector.Color.prototype.hslToRgb.hueToRgb):
        (WebInspector.Color.prototype.hslToRgb):
        (WebInspector.Color.prototype.rgbaToHsla):
        (WebInspector.Color.prototype.hslaToRgba):

          Called from the constructor, attempts to parse and will throw an error
          if it cannot parse.  If simple then the "hex" value is guarenteed.
          If advanced then both the "rgba" and "hsla" are guarenteed.  If it is
          a nickname in any way (e.g. "transparent", "black") then this is
          guarenteed to be set as well.

        (WebInspector.Color.prototype.parse):

          Clicking on the swatch will rotate through Color Representations.
            Simple:   rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
            Advanced: rgba -> hsla -> nickname? -> (loop around)

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):

          Load Color.js:

        * inspector/front-end/inspector.html:

2009-08-05  John Abd-El-Malek  

        Reviewed by Dimitri Glazkov.

        Support setting event listeners for message ports in the worker process.

        https://bugs.webkit.org/show_bug.cgi?id=28004

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::retrieve):
        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
        * bindings/v8/WorkerContextExecutionProxy.h:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-05  Stephen White  

        Reviewed by Dimitri Glazkov.

        http://bugs.webkit.org/show_bug.cgi?id=28022

        Minor fix for media code on chromium/skia.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):

2009-08-05  Darin Adler  

        Reviewed by Dan Bernstein.

        Client side image maps did not handle zoom correctly.
        Client side image maps did not handle border and padding correctly.

        Test: fast/images/image-map-zoom.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
        element using the content box and the effective zoom.

2009-08-05  Alexey Proskuryakov  

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=28027
         Files with accents in names are submitted incorrectly due to use of
        precomposed Unicode

        * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
        FileSystem.h instead of custom code for getting file size. This adds path normalization
        necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
        important anyway.

2009-08-05  Dimitri Glazkov  

        Unreviewed, build fix.

        [V8] Include Media into V8 bindings.

        * bindings/v8/DOMObjectsInclude.h: Added Media include.
        * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
        * bindings/v8/V8Index.cpp: Added decl for V8Media.
        * bindings/v8/V8Index.h: Added V8Media include.

2009-08-04  Jon Honeycutt  

        Fix Windows layout test crashes.

        PluginView::removeFromUnstartedListIfNecessary() would try to remove
        any unstarted PluginView from the Page's set of unstarted plug-ins,
        regardless of why the PluginView wasn't started. If we tried to start a
        plug-in, but it failed to start, we would hit an assertion in
        Page::removeUnstartedPlugin() that asserts that we would only modify the
        unstarted plug-ins set if we were not currently starting plug-ins.

        Fix this by having PluginView track whether it's waiting to be started,
        and to check this before trying to remove itself from the Page's
        unstarted plug-ins set.

        Reviewed by Darin Adler.

        * page/Page.cpp:
        (WebCore::Page::removeUnstartedPlugin):
        Assert that the passed PluginView is in the unstarted set.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        Set that we are not waiting to be started.
        (WebCore::PluginView::startOrAddtoUnstartedList):
        Set that we are waiting to be started.
        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
        Check not whether we are started, but whether we are waiting to be
        started.
        (WebCore::PluginView::PluginView):

        * plugins/PluginView.h:

2009-08-05  Jeremy Orlow  

       Fix DOM Storage memory leak
       https://bugs.webkit.org/show_bug.cgi?id=28029

       Forgot to use adoptRef in one place.  This caused the = operator to
       increment the ref count when it shouldn't have, so StorageAreaImpl's were
       never freed.

        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::storageArea):

2009-08-05  Dimitri Glazkov  

        Unreviewed, build fix.

        [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.

        * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.

2009-08-05  Darin Adler  

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Last patch. Makes all the casts of RenderObject use checked
        casts instead of using static_cast directly.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::visibleChildren):
        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::elementRect):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::textUnderElement):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::titleUIElement):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySliderThumb::elementRect):
        * dom/InputElement.cpp:
        (WebCore::InputElement::updatePlaceholderVisibility):
        * dom/SelectElement.cpp:
        (WebCore::SelectElement::scrollToSelection):
        (WebCore::SelectElement::recalcStyle):
        (WebCore::SelectElement::setRecalcListItems):
        (WebCore::SelectElement::menuListDefaultEventHandler):
        (WebCore::SelectElement::listBoxDefaultEventHandler):
        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::attach):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::defaultEventHandler):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::attach):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        (WebCore::HTMLInputElement::addSearchResult):
        (WebCore::HTMLInputElement::onSearch):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::parseMappedAttribute):
        (WebCore::HTMLLIElement::attach):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
        (WebCore::HTMLMediaElement::defaultEventHandler):
        (WebCore::HTMLMediaElement::finishParsingChildren):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::capsLockStateMayHaveChanged):
        * page/Frame.cpp:
        (WebCore::Frame::ownerRenderer):
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        * page/wince/FrameWince.cpp:
        (WebCore::computePageRectsForFrame):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):
        * rendering/RenderCounter.cpp:
        (WebCore::planCounter):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::computeEdgeInfo):
        (WebCore::RenderFrameSet::setIsResizing):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::contentsBox):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
        * rendering/RenderListItem.cpp:
        (WebCore::previousListItem):
        (WebCore::RenderListItem::explicitValueChanged):
        * rendering/RenderObject.cpp:
        (WebCore::updateListMarkerNumbers):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::updateListMarkerNumbers):
        (WebCore::invalidateCountersInContainer):
        * rendering/RenderScrollbarTheme.cpp:
        (WebCore::RenderScrollbarTheme::minimumThumbLength):
        (WebCore::RenderScrollbarTheme::backButtonRect):
        (WebCore::RenderScrollbarTheme::forwardButtonRect):
        (WebCore::RenderScrollbarTheme::trackRect):
        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
        (WebCore::RenderScrollbarTheme::paintTrackBackground):
        (WebCore::RenderScrollbarTheme::paintTrackPiece):
        (WebCore::RenderScrollbarTheme::paintButton):
        (WebCore::RenderScrollbarTheme::paintThumb):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintSliderThumb):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::determineSliderThumbState):
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::findSVGRootObject):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::attach):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/SVGTextContentElement.cpp:
        (WebCore::rootInlineBoxForTextContentElement):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::defaultEventHandler):
        Use checked casts.

        * rendering/RenderApplet.h:
        * rendering/RenderCounter.h:
        * rendering/RenderFieldset.h:
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderFrame.h:
        * rendering/RenderFrameSet.h:
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderListBox.h:
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.h:
        * rendering/RenderMedia.h:
        * rendering/RenderMenuList.h:
        * rendering/RenderPart.h:
        * rendering/RenderPartObject.h:
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGTextPath.h:
        * rendering/RenderSVGViewportContainer.h:
        * rendering/RenderScrollbar.h:
        * rendering/RenderSlider.h:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderVideo.h:
        Added a checked cast. Also made most members protected or private.

        * rendering/RenderBlock.h:
        * rendering/RenderInline.h:
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInlineText.h:
        * rendering/RenderSVGText.h:
        * rendering/RenderTextControl.h:
        Made most members protected or private.

        * rendering/RenderInline.cpp:
        * rendering/RenderSVGContainer.cpp:
        * rendering/RenderSVGHiddenContainer.cpp:
        * rendering/RenderSVGImage.cpp:
        * rendering/RenderSVGRoot.cpp:
        Removed unneeded destructor.

        * rendering/RenderSVGHiddenContainer.h:
        Removed unneeded virtual function overrides that did the same as
        the default and base class.

        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
        directly instead of using a function call.
        (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
        (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
        (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.

        * rendering/RenderScrollbar.cpp:
        (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
        all values instead of using a default case.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<): Removed dependency on casting to types that don't
        have any public members we need to get at. Instead, use function names to
        identify the type rather than doing so much overloading. Changed to use
        checked casts.
        (WebCore::write): Ditto.

        * rendering/SVGRenderSupport.cpp:
        (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
        added a comment about the fact that the code does not do sufficient type
        checking before doing the cast.

        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
        (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
        (WebCore::writeSVGText): Renamed this from write.
        (WebCore::writeSVGInlineText): Ditto.
        (WebCore::writeSVGImage): Ditto.
        * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
        unneeded default arguments.

2009-08-05  Peter Kasting  

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=27851
        Fix a pair of compiler warnings on the GTK Linux buildbot.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.

2009-08-05  Peter Kasting  

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460
        Return multiple icon entries from the ICO decoder as separate frames,
        sorted by decreasing quality (much like the CG ICO decoder does).

        As a result of this change, we can eliminate the Skia-specific setData()
        hack that the Chromium port used to select the desired icon size -- now
        callers can just enumerate the frames and ask for the data from the one
        they like.
        
        Under the hood, the ICO decoder now keeps vectors for a number of things
        (including directory entries and image decoders) where it used to have
        single members.  However, callers (that I have seen) will only request
        one frame from the icon, so practically there aren't going to be lots of
        instantiated image decoders.

        * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        (WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
        * platform/graphics/skia/ImageSourceSkia.h: Removed.
        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
        (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
        (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
        (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling.  Otherwise, use size from icon directory instead of PNG decoder (if applicable).
        (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
        (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
        (WebCore::ICOImageDecoder::frameCount): Implement.
        (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
        (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
        (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
        (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
        (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
        (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
        (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
        (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
        * platform/image-decoders/ico/ICOImageDecoder.h:

2009-08-05  Szabo Carol  

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27942

        Test: fast/forms/select-reset-multiple-selections-4-single-selection.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::reset):
           Added HTML 4.01 compliant handling of broken webpages that
           specify more than one selected option for single selection SELECT
           element, in a manner that emulates Firefox and is similar to IE 7


2009-08-05  Andras Becsi  

        Reviewed by Simon Hausmann.

        WebCore.pro bugfix

        Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.

        * WebCore.pro:

2009-08-05  Chris Fleizach  

        Fix Tiger build breakage.

        * accessibility/mac/AccessibilityObjectWrapper.mm:

2009-08-04  Simon Hausmann  

        Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
        to both source files, HTMLTagNames.in and HTMLAttributeNames.in

        * WebCore.pro:

2009-08-04  Brian Weinstein  

        Reviewed by Adele Peterson.

        Keypress should exit from pan scrolling mode.
        https://bugs.webkit.org/show_bug.cgi?id=28005

        Change the logic from only exiting pan scrolling on escape to exiting on any key press,
        making it easier for users to back out of an accidental pan scroll.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::keyEvent):
        
2009-08-04  Eric Seidel  

        Reviewed by Simon Fraser.

        REGRESSION (r45064): Drop caret remains in text control after the mouse exits
        https://bugs.webkit.org/show_bug.cgi?id=26787

        Add back missing dragController()->clear() call.

        * manual-tests/drag-caret.html: Added.
        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):

2009-08-04  Chris Fleizach  

        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=27994

        Forgot to commit attribute names.

        * html/HTMLAttributeNames.in:

2009-08-04  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=27994

        Test: platform/mac/accessibility/aria-valuetext.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::valueDescription):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::valueDescription):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLAttributeNames.in:

2009-08-04  Michael Nordman  

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=27821

        No new features, no new tests. Existing layout tests pass.

        * WebCore.base.exp:

        Export AppliationCacheGroup::storeCopyOfCache

        * WebCore.xcodeproj/project.pbxproj:

        Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
        instead of 'private' headers since they're no longer in the DocumentLoader.h
        include graph.

        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::insertedIntoDocument):

        Reinstate the test for manifest.isNull instead of .isEmtpty().
        Added a FIXME to revisit once the spec gets clarified.
        
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::detachFromFrame):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::applicationCacheHost):

        ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
        for compile time friendliness, it results in a smaller include graph for files
        dependent on DocumentLoader.h.

        * loader/FrameLoader.cpp:
        * loader/MainResourceLoader.cpp:
        * loader/ResourceLoader.cpp:

        Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
        This was done for readability at the include site. The included files contain appropriate guards,
        so they're not needed at the include site.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:

        Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.

        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::ApplicationCacheHost):
        (WebCore::ApplicationCacheHost::setDOMApplicationCache):
        (WebCore::ApplicationCacheHost::notifyEventListener):
        (WebCore::ApplicationCacheHost::status):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
        * loader/appcache/ApplicationCacheStorage.h:

        Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::status):
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        (WebCore::DOMApplicationCache::callListener):
        (WebCore::DOMApplicationCache::toEventType):
        (WebCore::DOMApplicationCache::toEventID):
        * loader/appcache/DOMApplicationCache.h:
        (WebCore::DOMApplicationCache::setAttributeEventListener):
        (WebCore::DOMApplicationCache::getAttributeEventListener):
        (WebCore::DOMApplicationCache::clearAttributeEventListener):
        (WebCore::DOMApplicationCache::callEventListener):
        (WebCore::DOMApplicationCache::setOnchecking):
        (WebCore::DOMApplicationCache::onchecking):
        (WebCore::DOMApplicationCache::setOnerror):
        (WebCore::DOMApplicationCache::onerror):
        (WebCore::DOMApplicationCache::setOnnoupdate):
        (WebCore::DOMApplicationCache::onnoupdate):
        (WebCore::DOMApplicationCache::setOndownloading):
        (WebCore::DOMApplicationCache::ondownloading):
        (WebCore::DOMApplicationCache::setOnprogress):
        (WebCore::DOMApplicationCache::onprogress):
        (WebCore::DOMApplicationCache::setOnupdateready):
        (WebCore::DOMApplicationCache::onupdateready):
        (WebCore::DOMApplicationCache::setOncached):
        (WebCore::DOMApplicationCache::oncached):
        (WebCore::DOMApplicationCache::setOnobsolete):
        (WebCore::DOMApplicationCache::onobsolete):

        Use ApplicationCachHost defined constants for Status and EventIDs.

2009-08-04  Nate Chapin  

        Reviewed by Dimitri Glazkov.

        Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.

        https://bugs.webkit.org/show_bug.cgi?id=27719

        * bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
        (WebCore::ACCESSOR_GETTER):

2009-08-04  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27993 - AXSliders are missing required attributes and actions
        https://bugs.webkit.org/show_bug.cgi?id=27993

        Expose appropriate actions and attributes for sliders.

        Test: platform/mac/accessibility/slider-supports-actions.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::orientation):
        * accessibility/AccessibilityObject.h:
        (WebCore::):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::orientation):
        * accessibility/AccessibilitySlider.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-08-04  Jian Li  

        Reviewed by David Levin.

        [V8] Fix an assert in WebCoreStringResource that causes worker script
        evaluation failed.
        https://bugs.webkit.org/show_bug.cgi?id=27996

        The fix is to check for the same thread, instead of the main thread.
        This is because Chromium's workers use v8 in a single thread that is
        not the main thread.

        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):
        (WebCore::WebCoreStringResource::atomicString):

2009-08-04  Simon Fraser  

        Reviewed by Dave Hyatt.

        Add support for transitions/animations of text-indent.

        Test: transitions/text-indent-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap):

2009-08-04  Simon Fraser  

        Reviewed by Dave Hyatt.

        Add support for transitions of min- and max-width, and min- and max-height.
        https://bugs.webkit.org/show_bug.cgi?id=27990

        Test: transitions/min-max-width-height-transitions.html

        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap):

2009-08-04  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
        https://bugs.webkit.org/show_bug.cgi?id=27964

        ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
        Also fixed an issue where an extra space was being appended to some ARIA labels.

        Test: platform/mac/accessibility/aria-radiobutton-text.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::ariaAccessibilityName):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaAccessibilityName):
        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
        * accessibility/AccessibilityRenderObject.h:

2009-08-04  Nate Chapin  

        Reviewed by Dimitri Glazkov.

        Missed a place that expects window.event to be hidden when it shouldn't be.

        https://bugs.webkit.org/show_bug.cgi?id=27719

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::ACCESSOR_GETTER): window.event is no longer hidden.

2009-08-03  Chris Fleizach  

        Reviewed by Jon Honeycutt.

        Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
        https://bugs.webkit.org/show_bug.cgi?id=27958

        Test: platform/mac/accessibility/aria-required.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isRequired):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isRequired):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLAttributeNames.in:

2009-08-04  Jakub Wieczorek  

        Reviewed by Simon Hausmann.

        Add QWebPluginDatabase API to the Qt API.
        
        https://bugs.webkit.org/show_bug.cgi?id=27651

        * WebCore.pro:

2009-08-04  Ariya Hidayat  

        Reviewed by Adam Treat.

        [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
        (as it is the closest match) instead of CompositionMode_SourceOver.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::toQtCompositionMode):

2009-08-04  Christian Plesner Hansen  

        Reviewed by Adam Barth.

        [v8] Fix crash when converting empty v8 string to atomic webkit string.
        https://bugs.webkit.org/show_bug.cgi?id=27975

        collection-null-like-arguments.html tests for this.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8StringToAtomicWebCoreString):

2009-08-04  Ryosuke Niwa  

        Reviewed by Eric Seidel.

        selectionHasStyle needs clean up to fix Bug 27858
        https://bugs.webkit.org/show_bug.cgi?id=27865

        This patch cleans up selectionStartHasStyle and selectionHasStyle.
        No test is added because the patch does not change any behavior.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
        * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
        * editing/Editor.cpp:
        (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
        (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
        (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState

2009-08-03  John Abd-El-Malek  

        Reviewed by David Levin.

        Fix MessagePort construction in worker process.  Also make the other object constructions match this.

        https://bugs.webkit.org/show_bug.cgi?id=27906

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertToV8Object):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::ToV8Object):

2009-08-03  Christian Plesner Hansen  

        Reviewed by David Levin.

        [V8] Cache atomic strings in externalized v8 strings
        https://bugs.webkit.org/show_bug.cgi?id=27762

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):
        (WebCore::WebCoreStringResource::data):
        (WebCore::WebCoreStringResource::length):
        (WebCore::WebCoreStringResource::webcoreString):
        (WebCore::WebCoreStringResource::atomicString):
        (WebCore::WebCoreStringResource::toStringResource):
        (WebCore::v8StringToWebCoreString):
        (WebCore::v8StringToAtomicWebCoreString):
        (WebCore::v8ValueToWebCoreString):
        (WebCore::v8ValueToAtomicWebCoreString):
        * bindings/v8/V8Binding.h:
        (WebCore::):
        * dom/Document.idl:

2009-08-03  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: DOM Storage Live Updating Should Not Affect Tabbing
        https://bugs.webkit.org/show_bug.cgi?id=27957

        * inspector/front-end/DOMStorageDataGrid.js:
        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
        (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener

2009-08-03  Laszlo Gombos  

        Reviewed by Eric Seidel.

        [Qt] Consolidate common gcc flags to WebKit.pri
        https://bugs.webkit.org/show_bug.cgi?id=27934

        * WebCore.pro:

2009-08-03  Jeremy Orlow  

        Reviewed by Darin Fisher.

        Chromium code sometimes isn't sandboxed and needs to access the FS.
        https://bugs.webkit.org/show_bug.cgi?id=27954

        These changes are the WebKit side of http://codereview.chromium.org/159778 which
        aims to make LocalStorage persistent.

        This change runs all FileSystem routines through the ChromiumBridge so that
        WebKitClients can handle them if they choose to.  For now, the only such client
        will be the one running in the browser process.

        It also adds a method called sandboxEnabled to the Chromium bridge so that the
        SQLite file system code can shift its behavior depending on whether we're
        inside a sandbox or not.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileModificationTime):
        (WebCore::directoryName):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::fileExists):
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
        (WebCore::SQLiteFileSystem::registerSQLiteVFS):

2009-08-03  Alpha Lam  

        Reviewed by David Levin.

        [chromium] Implement media slider for chromium
        https://bugs.webkit.org/show_bug.cgi?id=27859

        Implemented the media slider for chromium port. The implementation
        is using Skia for drawing the thumb and buffered region instead of
        using any native system controls so different platforms would have
        the same look and feel.

        No new tests because this is covered by existing tests.

        * css/mediaControlsChromium.css:
        * rendering/RenderThemeChromiumSkia.cpp:
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:

2009-07-27  Peter Kasting  

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460
        Plumbing and cleanup in advance of returning multiple frames from the
        ICOImageDecoder:
        * Make ImageDecoder::frameCount() return a size_t like
          ImageSource::frameCount() and BitmapImage::frameCount() already do.
        * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
          size of a particular frame.  Hook all the
          ImageSource::frameSizeAtIndex() implementations to this.  No
          ImageDecoder implements this yet; that will come in my next change.

        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::frameCount): returns size_t.
        * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/win/ImageCGWin.cpp:
        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
        * platform/graphics/win/ImageCairoWin.cpp:
        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::size): Clarify comment.
        (WebCore::ImageDecoder::frameSizeAtIndex): Add.
        (WebCore::ImageDecoder::frameCount): returns size_t.
        (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::frameCount): returns size_t.
        (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
        * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.

2009-08-03  Dumitru Daniliuc  

        Reviewed by Darin Adler.

        Fix a bug that could cause an ASSERT to fail incorrectly, leading
        to a renderer crash in Chromium.

        https://bugs.webkit.org/show_bug.cgi?id=27947

        All tests in storage/ pass.

        * platform/sql/SQLiteTransaction.cpp:
        (WebCore::SQLiteTransaction::~SQLiteTransaction):
        (WebCore::SQLiteTransaction::begin):

2009-08-03  Kenneth Rohde Christiansen  

        Reviewed by Simon Hausmann.

        Based on work by Yael Aharon.

        Implement keyboard event forwarding for windowless plugins
        for the Qt port.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::setSharedXEventFields):
        (WebCore::setXKeyEventSpecificFields):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):

2009-08-03  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
        https://bugs.webkit.org/show_bug.cgi?id=27928

        * English.lproj/localizedStrings.js:

          "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"

        * inspector/front-end/ChangesView.js: Added.
        (WebInspector.ChangesView):
        (WebInspector.ChangesView.prototype._clearButtonClicked):
        (WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
        (WebInspector.ChangesView.prototype.attach):
        (WebInspector.ChangesView.prototype.show):
        (WebInspector.ChangesView.prototype.hide):

          To be a new view to show Changes made via the inspector.  DOM, CSS, or otherwise.

        * inspector/front-end/Console.js: Removed.

          Sliding View aspect moved to Drawer.js.  The "console" itself has moved to ConsoleView.js

        * inspector/front-end/ConsoleView.js: Added.

          Little has changed from its move from Console.js other then support for working with the Drawer.

        * inspector/front-end/Drawer.js: Added.
        (WebInspector.Drawer):
        (WebInspector.Drawer.prototype.get visibleView):
        (WebInspector.Drawer.prototype.set visibleView):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide.animationFinished):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype._safelyRemoveChildren):
        (WebInspector.Drawer.prototype._startStatusBarDragging):
        (WebInspector.Drawer.prototype._statusBarDragging):
        (WebInspector.Drawer.prototype._endStatusBarDragging):

          Allow for multiple views inside the Sliding Drawer.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.renameSelector):
        (WebInspector.ElementsPanel.prototype.addStyleChange):
        (WebInspector.ElementsPanel.prototype.removeStyleChange):
        (WebInspector.ElementsPanel.prototype.generateStylesheet):

          Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.

        * inspector/front-end/Images/styleIcon.png: Added.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
        (WebInspector.StylePropertyTreeElement.prototype):

          Interface with ElementsPanel for generating a Stylesheet of Changes.

        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
        * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.

        * inspector/front-end/inspector.js:
        (WebInspector.get styleChanges):
        (WebInspector.set styleChanges):
        (WebInspector._updateChangesCount):
        (WebInspector.loaded):
        (WebInspector.documentKeyDown):
        (WebInspector.showConsole):
        (WebInspector.showChanges):

          Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.

2009-08-03  Dean McNamee  

        Reviewed by Adam Barth.

        Correct an assert on a PassRefPtr in the v8 svg bindings.
        https://bugs.webkit.org/show_bug.cgi?id=27951

        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):

2009-08-03  Dirk Pranke  

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
        crash w/ stack overflow when same CSS file loaded repeatedly

        Fix crash caused by a stack overflow when repeatedly loading very large
        CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 
        recursively rather than iteratively.

        Test: fast/css/large-list-of-rules-crash.html

        * css/CSSStyleSelector.h:
        (WebCore::CSSRuleData::~CSSRuleData):
        (WebCore::CSSRuleDataList::~CSSRuleDataList):

2009-08-03  Simon Fraser  

        Reviewed by Dan Bernstein.

        Make the DRT APIs to pause transitions and animations work for accelerated animations
        
        

        Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
        available to LayoutTests to work with accelerated animations and transitions. Done by sending
        the pause time down to the GraphicsLayer, and using it to stop time on the layer.
        
        I also added an assertion to check that the animation has actually started when we
        try to pause it, to check that the pause time we compute is valid. This revealed a number
        of tests that tried to pause before animations started, required some amount of test fixing.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):
        * page/animation/AnimationBase.h:
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::pauseAnimationAtTime):
        (WebCore::CompositeAnimation::pauseTransitionAtTime):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::suspendAnimations):
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::suspendAnimations):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::suspendAnimations):
        * rendering/RenderLayerBacking.h:

2009-08-03  Tony Chang  

        Reviewed by Darin Adler.

        Fix Chromium build by removing PluginView.h from Page.cpp.
        Chromium doesn't use PluginView and the pointer is never
        dereferenced so the header doesn't need to be included.
        https://bugs.webkit.org/show_bug.cgi?id=27946

        No new tests because this is a build fix.

        * page/Page.cpp:

2009-08-03  Eric Carlson  

        One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.

        Unreviewed.

        * WebCoreSources.bkl:

2009-08-03  Eric Carlson  

        Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.

        Unreviewed.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

2009-08-03  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27943: Need to implement ARIA role="radiogroup"
        https://bugs.webkit.org/show_bug.cgi?id=27943

        Test: platform/mac/accessibility/aria-radiogroup.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isRadioGroup):
        (WebCore::AccessibilityObject::selectedRadioButton):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selectedRadioButton):
        (WebCore::RoleEntry::):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper roleDescription]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-08-03  Eric Carlson  

        Reviewed by Eric Seidel.

        HTMLInputElement is not controllable by assistive technologies
        https://bugs.webkit.org/show_bug.cgi?id=27941

        Test: accessibility/input-slider.html

        * WebCore.xcodeproj/project.pbxproj:
            Add AccessibilitySlider.cpp/.h

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
            Create AccessibilitySlider and AccessibilitySliderThumb.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::increment):
        (WebCore::AccessibilityObject::decrement):
            Add default, do nothing, base class methods.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
            Correct typo.

        * accessibility/AccessibilitySlider.cpp: Added.
        (WebCore::AccessibilitySlider::AccessibilitySlider):
        (WebCore::AccessibilitySlider::create):
        (WebCore::AccessibilitySlider::children):
        (WebCore::AccessibilitySlider::addChildren):
        (WebCore::AccessibilitySlider::getAttribute):
        (WebCore::AccessibilitySlider::valueForRange):
        (WebCore::AccessibilitySlider::maxValueForRange):
        (WebCore::AccessibilitySlider::minValueForRange):
        (WebCore::AccessibilitySlider::changeValue):
        (WebCore::AccessibilitySlider::setValue):
        (WebCore::AccessibilitySlider::increment):
        (WebCore::AccessibilitySlider::decrement):
        (WebCore::AccessibilitySlider::element):
        (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
        (WebCore::AccessibilitySliderThumb::create):
        (WebCore::AccessibilitySliderThumb::elementRect):
        (WebCore::AccessibilitySliderThumb::size):
        * accessibility/AccessibilitySlider.h: Added.
        (WebCore::AccessibilitySlider::~AccessibilitySlider):
        (WebCore::AccessibilitySlider::roleValue):
        (WebCore::AccessibilitySlider::accessibilityIsIgnored):
        (WebCore::AccessibilitySlider::isSlider):
        (WebCore::AccessibilitySlider::canSetValueAttribute):
        (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
        (WebCore::AccessibilitySliderThumb::roleValue):
        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
        (WebCore::AccessibilitySliderThumb::setParentObject):
        (WebCore::AccessibilitySliderThumb::parentObject):

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (RoleEntry::):
            SliderThumbRole -> NSAccessibilityValueIndicatorRole
        (-[AccessibilityObjectWrapper roleDescription]):
            Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
            Minor coding style correction.
        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
            If attachement view handles press action, don't also call object wrapper.
        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
            New, call object's increment() method.
        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
            New, call object's decrement() method.
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
            Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::thumbRect):
            Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
        (WebCore::RenderSlider::layout):
            Move code to thumbRect().
        * rendering/RenderSlider.h:

2009-08-03  Laszlo Gombos  

        Reviewed by Eric Seidel.

        Build fix if Netscape plugin support is turned off
        https://bugs.webkit.org/show_bug.cgi?id=27940

        * plugins/PluginView.cpp:
        (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
        disabled
        * plugins/PluginViewNone.cpp:
        (WebCore::PluginView::platformStart): Empty stub.

2009-07-31  Joe Mason  

        Reviewed by George Staikos.

        WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27917

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx

2009-08-02  Adam Barth  
        Reviewed by Darin Adler.

        SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()

        https://bugs.webkit.org/show_bug.cgi?id=27932

        There's no reason to pay for a virtual function call in this case.  We
        can just call document() directly because we know that element is a
        Node*.

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::scriptExecutionContext):

2009-08-02  Adam Barth  

        Reviewed by Darin Adler.

        JSNodeCustom should call document() instead of scriptExecutionContext()
        https://bugs.webkit.org/show_bug.cgi?id=27931

        We want to call document() because it's in inline function, instead of
        scriptExecutionContext() because it's a virtual function.  If we have a
        Node*, then we know that the virtual function will always return the
        document anyway.

        There are more instance of this bug, but I'd like to start with a small
        patch and work up.

        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::toJSDOMGlobalObject):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::addEventListener):
        (WebCore::JSNode::removeEventListener):

2009-08-02  Tor Arne Vestbø  

        Reviewed by Anders Carlsson.

        Share implementation of PluginView::userAgent() and userAgentStatic()

        https://bugs.webkit.org/show_bug.cgi?id=27706

        Differences to the original implementation are as follows:
        
            - The Win port used to return 0 for userAgentStatic, but now
              returns the quirk mode MozillaUserAgent as the other ports.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::userAgent):
        (WebCore::PluginView::userAgentStatic):
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-07-27  Tor Arne Vestbø  

        Reviewed by Anders Carlsson.

        Unregister plugin from PluginMainThreadScheduler if NPP_New fails
        
        https://bugs.webkit.org/show_bug.cgi?id=27706
        
        Since the plugin has not been started yet (m_isStarted is not set),
        calling stop() will not have any affect, so we manually unregister
        in start() before returning.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):

2009-07-27  Tor Arne Vestbø  

        Reviewed by Anders Carlsson.

        Join the various versions of PluginView::stop() into one shared implementation

        https://bugs.webkit.org/show_bug.cgi?id=27706

        The platform-dependent bits are now ifdef'ed in the shared implementation,
        using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
        
        Differences to the original implementation are as follows:

            - The Qt port unregistered the plugin before calling NP_SetWindow
              with a 0 window handle. Now it's done after (similar to Win)

            - The GTK and Qt ports unregistered the plugin before clearing
              the m_npWindow.ws_info struct. Now it's done after.
              
            - The Win port constructed the DropAllLocks after unsubclassing
              the window. Now it's done before.
              
            - The Mac, Qt, and GTK ports did not pass a NPSavedData struct
              to NP_Destroy (like the Win port). Now all ports do.

            - The Win port did not call PluginView::setCurrentPluginView()
              before calling to NP-functions. Now it does.     

        * plugins/PluginView.cpp:
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-07-30  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: let me *edit* css styles in the web inspector.
        https://bugs.webkit.org/show_bug.cgi?id=27124

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update): handle blank sections
        (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype.expand):
        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
        (WebInspector.StylePropertiesSection.prototype._dblclickSelector):
        (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
        (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
        (WebInspector.BlankStylePropertiesSection.prototype._dblclick):
        (WebInspector.BlankStylePropertiesSection.prototype.startEditing):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.):
        * inspector/front-end/inspector.css:

2009-07-31  Anton Muhin  

        Reviewed by Adam Barth.

        [v8] check if proxy is present before invoking a handler
        https://bugs.webkit.org/show_bug.cgi?id=27883 

        Do not invoke handler function if proxy is null pointer (that would lead to access violation
        anyway)

        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::callListenerFunction):

2009-08-01  Pavel Feldman  

        Reviewed by Timothy Hatcher.

        Web Inspector: Reimplement Elements Panel so that its
        interaction with DOM is serialized.

        This is a first cut wuth read support for DOM elements
        tree as well as some limited editing. No properties, no
        styles, no search capabilities are implemented yet.
        Set Preferences.useDOMAgent to true in order to try it
        out, otherwise disabled by default.

        https://bugs.webkit.org/show_bug.cgi?id=27771

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getChildNodes):
        (WebCore::InspectorBackend::setAttribute):
        (WebCore::InspectorBackend::removeAttribute):
        (WebCore::InspectorBackend::setTextNodeValue):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::domAgent):
        * inspector/InspectorDOMAgent.cpp: Added.
        * inspector/InspectorDOMAgent.h: Added.
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/Callback.js: Added.
        * inspector/front-end/DOMAgent.js: Added.
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2009-08-01  Ryosuke Niwa  

        Reviewed by Adele Peterson.

        isContentEditable function in htmlediting.* must be removed
        https://bugs.webkit.org/show_bug.cgi?id=27870

        This patch removes isContentEditable function in htmlediting.cpp and
        replaces all usage by calling Node::isContentEditable or its derivatives.

        * editing/AppendNodeCommand.cpp: ditto
        (WebCore::AppendNodeCommand::AppendNodeCommand): ditto
        * editing/IndentOutdentCommand.cpp: ditto
        (WebCore::IndentOutdentCommand::outdentParagraph): ditto
        * editing/InsertNodeBeforeCommand.cpp: ditto
        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
        * editing/htmlediting.cpp: ditto
        (WebCore::enclosingNodeWithTag): ditto
        (WebCore::enclosingNodeOfType): ditto
        (WebCore::canMergeLists): ditto
        * editing/htmlediting.h: Updated prototype

2009-08-01  John Abd-El-Malek  

        Reviewed by Adam Barth.

        Fix a message port handle always getting marked as reachable once it gets entangled.

        https://bugs.webkit.org/show_bug.cgi?id=27824

        No tests since this only arises with the Chromium multi-process message port implementation
        which isn't in this repostiory.

        * bindings/v8/V8GCController.cpp:
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):

2009-07-31  Yong Li  

        Reviewed by Adam Barth.

        Fix Geolocation permission problem
        https://bugs.webkit.org/show_bug.cgi?id=26993

        * page/Geolocation.cpp:
        (WebCore::Geolocation::requestPermission):

2009-07-31  Norbert Leser  

        Reviewed by Eric Seidel.

        Added project properties as needed by symbian platform

        * WebCore.pro:

2009-07-31  Xan Lopez  

        Reviewed by Holger Freyther.

        Fix compiler warning.

        Initialize member variables in the correct order.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):

2009-07-31  Jon Honeycutt  

        Windows build fix!

        Unreviewed.

        * page/win/PageWin.cpp:

2009-07-31  Jon Honeycutt  

        Mac build fix.

        Unreviewed.

        * page/Page.cpp:
        Move setCanStartPlugins() from here...
        * page/win/PageWin.cpp:
        (WebCore::Page::setCanStartPlugins):
        ... to here.

2009-07-29  Jon Honeycutt  

         Safari shouldn't auto-activate plug-ins in
        background tabs (make Win consistent with Mac)

        https://bugs.webkit.org/show_bug.cgi?id=27855

        Reviewed by Anders Carlsson.

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
        Declare a new function to dispatch failures to start plug-ins.

        * page/Page.cpp:
        (WebCore::Page::Page):
        Initialize new member variable.
        (WebCore::Page::addUnstartedPlugin):
        Add the PluginView to the set of unstarted plug-ins.
        (WebCore::Page::removeUnstartedPlugin):
        Remove the PluginView from the set of unstarted plug-ins.
        (WebCore::Page::setCanStartPlugins):
        If we can now start plug-ins, iterate the set of unstarted plug-ins,
        starting them. If a plug-in fails to start, dispatch a failed-to-start-
        plug-in error. Clear the list of unstarted plug-ins.

        * page/Page.h:
        Added m_canStartPlugins to track whether we can currently start
        plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
        page that are waiting to be started.
        (WebCore::Page::canStartPlugins):

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
        fails, set m_status to reflect this; this used to be set by init(), but
        start() will not be called by init() if we are delaying start().
        If NPP_New() succeeds, set m_status to reflect this, and call
        platformStart().
        (WebCore::PluginView::startOrAddToUnstartedList):
        If we cannot start plug-ins, add this view to the Page's list of
        unstarted plug-ins and return true. Otherwise, call start() and return
        the result.
        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
        If we've been started or we don't have a Page, return early. Remove
        ourselves from the Page's list of unstarted plug-ins.
        (WebCore::PluginView::bindingInstance):
        If we haven't been started yet, return 0. This matches the Mac
        behavior.
        (WebCore::PluginView::setParameters):
        If we find the "plug-ins page" parameter, record it; it may be used if
        we fail to start the plug-in.
        (WebCore::PluginView::PluginView):
        Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
        with mimeType directly; m_mimeType is now a WebCore::String.

        * plugins/PluginView.h:
        Made start() public, so Page can call it when we start unstarted
        plug-ins. Changed m_mimeType from CString to String and added
        m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
        (WebCore::PluginView::pluginsPage):
        Added for dispatchDidFailToStartPlugin().
        (WebCore::PluginView::mimeType):
        Ditto.
        (WebCore::PluginView::url):
        Ditto.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::updatePluginWidget):
        Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
        and SetWindowRgn() to position the plug-in and set its clip rect if an
        earlier call to updatePluginWidget() was made before
        setPlatformPluginWidget() was called to set the plug-in's HWND.
        (WebCore::PluginView::~PluginView):
        Call removeFromUnstartedListIfNecessary() to remove the plug-in from
        the unstarted list if the plug-in is destroyed before it is started.
        (WebCore::PluginView::init):
        Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
        cannot be started, to add it to the list of plug-ins waiting to be
        started. Set m_status to indicate success; this is also set by start(),
        but that may be delayed, and we don't want the loader to dispatch a
        failed-to-start-plug-in error when we return from init().
        (WebCore::PluginView::platformStart):
        Added; code moved from init(). This is now called by start() to perform
        any platform-specific tasks that need to take place after the plug-in
        has started. Added a call to updatePluginWidget() to ensure we position
        the plug-in and set its clip rect after the plug-in has started.
        Removed the setting of m_status; start() does this before calling this
        function (and we assert this at the head of the function).

2009-07-30  Darin Adler  

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Next step: Add casts for all the RenderTable classes and use them everywhere.

        Also added a few uses in places that were still using static_cast.
        Also made some virtual member functions private.
        Also changed RenderTable::m_tableLayout to use OwnPtr.

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
        (WebCore::AccessibilityTable::addChildren):
        (WebCore::AccessibilityTable::cellForColumnAndRow):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):
        (WebCore::AccessibilityTableCell::rowIndexRange):
        (WebCore::AccessibilityTableCell::columnIndexRange):
        (WebCore::AccessibilityTableCell::titleUIElement):
        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObject):
        * accessibility/AccessibilityTableRow.cpp:
        (WebCore::AccessibilityTableRow::parentTable):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        * editing/TextIterator.cpp:
        (WebCore::shouldEmitTabBeforeNode):
        (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::parseMappedAttribute):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::parseMappedAttribute):
        * page/Frame.cpp:
        (WebCore::Frame::searchForLabelsAboveCell):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::searchForNSLabelsAboveCell):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::shouldScaleColumns):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcPrefWidths):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcPercentageHeight):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        (WebCore::RenderObject::containingBlock):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::collapsedBottomBorder):
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::table):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        (WebCore::RenderTableRow::layout):
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::lowestPosition):
        (WebCore::RenderTableSection::rightmostPosition):
        (WebCore::RenderTableSection::leftmostPosition):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::recalcCells):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):
        (WebCore::writeTextRun):
        Use checked casts.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
        (WebCore::RenderTable::addChild): Use checked cast.
        (WebCore::RenderTable::layout): Ditto.
        (WebCore::RenderTable::setCellWidths): Ditto.
        (WebCore::RenderTable::paintObject): Ditto.
        (WebCore::RenderTable::splitColumn): Ditto.
        (WebCore::RenderTable::appendColumn): Ditto.
        (WebCore::RenderTable::colElement): Ditto.
        (WebCore::RenderTable::recalcSections): Ditto.
        (WebCore::RenderTable::outerBorderBottom): Ditto.
        (WebCore::RenderTable::outerBorderLeft): Ditto.
        (WebCore::RenderTable::outerBorderRight): Ditto.
        (WebCore::RenderTable::sectionAbove): Ditto.
        (WebCore::RenderTable::sectionBelow): Ditto.

        * rendering/RenderTable.h: Added checked cast. Made virtual
        functions private. Changed m_tableLayout to be a OwnPtr.

        * rendering/RenderTableCell.h: Added checked cast.
        * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
        * rendering/RenderTableRow.h: Ditto.
        * rendering/RenderTableSection.h: Ditto.

2009-07-31  Brady Eidson  

        Reviewed by John Sullivan.

         and https://bugs.webkit.org/show_bug.cgi?id=27896
        Favicons are still loaded when automatic image loading is disabled.

        People who want to avoid loading images generally want to avoid loading all images.

        Test: http/tests/misc/favicon-loads-with-images-disabled.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 
          perform the load if images shouldn't be loading.

2009-07-31  Simon Fraser  

        Reviewed by Anders Carlsson.
        
        Accelerated animations stutter on pages with lots of animations and 3d transforms
        https://bugs.webkit.org/show_bug.cgi?id=27884
        
        This patch changes the strategy for synchronizing painting view the view,
        and compositing layer updates. Previously the strategy was to disable screen
        updates between the time we updated the layer tree, and painted the view. That
        left screen updates disabled for too long (hundreds of milliseconds) in some
        cases, causing animation stutter.
        
        The new strategy is to batch up changes to the CA layer tree, and commit them
        all at once just before painting happens (referred to as a "sync" in the code).
        GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
        the values stored in GraphicsLayer into the CA layer tree at commit time.
        
        Compositing layers are then synced in FrameView::paintContents(). However, not
        all style/layout changes will result in painting; to deal with style changes that
        touch only compositing properties, we set up a runloop observer that takes care
        of comitting layer changes when no painting happens.

        * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()

        * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
        * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
        view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
        sync and returns false, since we only want to sync when layout is done.
        
        (WebCore::FrameView::paintContents): syncCompositingState() before painting.

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::endAnimation):
        Call animationPaused() to notify the graphics layers about animation pausing.
        
        * platform/graphics/FloatPoint3D.h:
        (WebCore::operator==):
        (WebCore::operator!=): 
        Add missing comparison operators.
        
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::setOpacity):
        (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
        
        (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
        
        * platform/graphics/GraphicsLayer.h:
        (WebCore::AnimationValue:):
        (WebCore::TransformAnimationValue:):
        (WebCore::KeyframeValueList:):
        (WebCore::KeyframeValueList::insert):
        Cleaned up versions of FloatValue and TransformValue, used to store information
        about keyframes values.

        (WebCore::GraphicsLayer::contentsRect):
        (WebCore::GraphicsLayer::setContentsRect):
        ContentsRect is now a simple setter.
        
        (WebCore::GraphicsLayer::addAnimation):
        (WebCore::GraphicsLayer::removeAnimationsForProperty):
        (WebCore::GraphicsLayer::removeAnimationsForKeyframes):
        (WebCore::GraphicsLayer::pauseAnimation):
        Simplified animation api.
        
        (WebCore::GraphicsLayer::setGeometryOrientation):
        (WebCore::GraphicsLayer::geometryOrientation):
        setGeometryOrientation is now just a normal member variable.
        
        (WebCore::GraphicsLayer::contentsOrientation): add a getter.
        (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
        
        * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)

        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        Lots of cleanup and refactoring. Main points:
        - Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
        - Bitmask is used to store which properties have changed. More efficient than before.
        - Simpler animation interface; simple setters are no longer confounded with animations.
        - Refactored code that creates CA animations, and stores which animations are running.

        * platform/graphics/transforms/TransformOperations.h:
        (WebCore::TransformOperations::size):
        (WebCore::TransformOperations::at): Useful accessors for size and indexed access.
        
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerBacking.cpp:
        Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
        contentsLayer.
        Adapt to GraphicsLayer's simpler animation API.
        Pass animation pausing through to the graphics layers.
        contentsBox() is no longer a callback via GraphicsLayerClient.
        
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
        (WebCore::RenderLayerCompositor::scheduleSync):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
        notifications, which travel up to WebKit and set up a runloop observer.
        
2009-07-30  Jeremy Orlow  

        Reviewed by David Levin.

        Guard needs //'s between #endif and ENABLE(DATAGRID)
        https://bugs.webkit.org/show_bug.cgi?id=27862

        Compiling this file causes a build break without this change.

        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:

2009-07-31  Greg Bolsinga  

        Reviewed by Eric Seidel.

        Geolocation clean up when no longer updating
        https://bugs.webkit.org/show_bug.cgi?id=27888

        When Geolocation::disconnectFrame() is called, need to call 
        Document::setUsingGeolocation(false) to mirror the true call 
        when it is set up.

        When handling an error, and there are no more listeners, call
        GeolocationService::stopUpdating().

        * page/Geolocation.cpp:
        (WebCore::Geolocation::disconnectFrame):
        (WebCore::Geolocation::handleError):

2009-07-31  Greg Bolsinga  

        Reviewed by George Staikos.

        Consolidate GeoLocation code to send positions and errors
        https://bugs.webkit.org/show_bug.cgi?id=27863
        
        Create helper methods that will send positions and errors to either
        one shots or watchers.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::sendError):
        (WebCore::Geolocation::sendErrorToOneShots):
        (WebCore::Geolocation::sendErrorToWatchers):
        (WebCore::Geolocation::sendPosition):
        (WebCore::Geolocation::sendPositionToOneShots):
        (WebCore::Geolocation::sendPositionToWatchers):
        * page/Geolocation.h:

2009-07-31  Xan Lopez  

        Roll out previous change as it might be causing some weirdness in
        the bots.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader):

2009-07-31  Xan Lopez  

        Reviewed by Mark Rowe.

        Fix compiler warning.
        https://bugs.webkit.org/show_bug.cgi?id=27851

        GCC does not like multi-character character constants, so use the
        explicit numerical value of 'BM' in the enum.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader):

2009-07-30  Brady Eidson  

        Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.

         and https://bugs.webkit.org/show_bug.cgi?id=27868
        http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
        
        Test: http/tests/misc/meta-refresh-stray-single-quote.html

        * platform/network/HTTPParsers.cpp:
        (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.

2009-07-30  Mark Rowe  

        Reviewed by Adele Peterson and Jon Honeycutt.

        Fix  for Mac.
        Bug 27828: Title attribute is not respected on option elements

        No tests added as it is not clear how to test a tool tip from DumpRenderTree.

        * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
        the popup menu in RenderTextControlSingleLine.

2009-07-30  Xiaomei Ji  

        Reviewed by Dan Bernstein.

        Remove ChromeClientChromium::setToolTip().
        https://bugs.webkit.org/show_bug.cgi?id=27861

        This patch is just to remove a temporarily introduced overloaded empty
        virtual function. No test is needed.

        * page/chromium/ChromeClientChromium.h:

2009-07-30  Michael Nordman  

        Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=27821

        ApplicationCacheHost refactoring.
        
        1) Better encapsulate the interfaces between webcore common code
        and the appcache system within a new class ApplicationCacheHost.

        2) Use that interface throughout the loader system, replacing inline appcache logic.

        3) Implement the interface in terms of webcore's appcache system.

        4) Add the new files to various makefiles.

        5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp

        No new features, no new tests. The existing layout tests all pass.

        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::insertedIntoDocument):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::~DocumentLoader):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::detachFromFrame):
        (WebCore::DocumentLoader::setPrimaryLoadComplete):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::applicationCacheHost):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::didFail):
        (WebCore::MainResourceLoader::load):
        * loader/MainResourceLoader.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::load):
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didFail):
        * loader/ResourceLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheHost.cpp: Added.
        * loader/appcache/ApplicationCacheHost.h: Added.
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::transferApplicationCache):
        * loader/appcache/ApplicationCacheStorage.h:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::DOMApplicationCache):
        (WebCore::DOMApplicationCache::disconnectFrame):
        (WebCore::DOMApplicationCache::applicationCacheHost):
        (WebCore::DOMApplicationCache::status):
        (WebCore::DOMApplicationCache::update):
        (WebCore::DOMApplicationCache::swapCache):
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        (WebCore::DOMApplicationCache::dispatchEvent):
        (WebCore::DOMApplicationCache::callListener):
        (WebCore::DOMApplicationCache::toEventName):
        (WebCore::DOMApplicationCache::toEventType):
        * loader/appcache/DOMApplicationCache.h:
        (WebCore::DOMApplicationCache::):
        (WebCore::DOMApplicationCache::setAttributeEventListener):
        (WebCore::DOMApplicationCache::getAttributeEventListener):
        (WebCore::DOMApplicationCache::clearAttributeEventListener):
        (WebCore::DOMApplicationCache::callEventListener):
        (WebCore::DOMApplicationCache::setOnchecking):
        (WebCore::DOMApplicationCache::onchecking):
        (WebCore::DOMApplicationCache::setOnerror):
        (WebCore::DOMApplicationCache::onerror):
        (WebCore::DOMApplicationCache::setOnnoupdate):
        (WebCore::DOMApplicationCache::onnoupdate):
        (WebCore::DOMApplicationCache::setOndownloading):
        (WebCore::DOMApplicationCache::ondownloading):
        (WebCore::DOMApplicationCache::setOnprogress):
        (WebCore::DOMApplicationCache::onprogress):
        (WebCore::DOMApplicationCache::setOnupdateready):
        (WebCore::DOMApplicationCache::onupdateready):
        (WebCore::DOMApplicationCache::setOncached):
        (WebCore::DOMApplicationCache::oncached):
        (WebCore::DOMApplicationCache::setOnobsolete):
        (WebCore::DOMApplicationCache::onobsolete):
        (WebCore::DOMApplicationCache::~DOMApplicationCache):
        * platform/KURLGoogle.cpp:
        (WebCore::protocolHostAndPortAreEqual):

2009-07-30  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
        https://bugs.webkit.org/show_bug.cgi?id=27854

        AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
        they can disappear and then lead to crashes.
       
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::notificationPostTimerFired):
        (WebCore::AXObjectCache::postNotification):
        * accessibility/AXObjectCache.h:

2009-07-30  Simon Fraser  

        Minor change to earlier commit suggested by Darin Adler.
        Use the variable rather than dereferencing 'it' again.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):

2009-07-30  Simon Fraser  

        Reviewed by Dan Bernstein.

        Animation with a timing function property in a keyframe eats CPU
        https://bugs.webkit.org/show_bug.cgi?id=27856
         Animation demo uses lots of CPU
        
        Don't include animation-timing-function in the list of properties to
        animate in a keyframe animation, because this property is not animated;
        instead, it describes the timing function to apply to this keyframe.
        
        This prevents the animation code from thinking that there's a property
        that it has to software-animate, and thus firing the animation timer frequently.
        
        Not testable because there is no visible impact.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
        CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.

        * page/animation/KeyframeAnimation.cpp
        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment

2009-07-30  Mike Fenton  

         Reviewed by Adam Treat.

         Apply colour style to buttons that use Theme settings in Qt.

         https://bugs.webkit.org/show_bug.cgi?id=27814

         * platform/qt/RenderThemeQt.cpp:
         (WebCore::RenderThemeQt::adjustButtonStyle):

=== End merge of nitro-extreme branch 2009-07-30 ===

2009-05-11  Geoffrey Garen  

        Reviewed by Sam Weinig.

        Make WebCore compile with the new JS number representation.

        * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
        * bindings/js/ScriptEventListener.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:

=== Start merge of nitro-extreme branch 2009-07-30 ===

2009-07-30  Dean McNamee  

        Reviewed by Dimitri Glazkov.

        Don't try to hash member function pointers, instead use a precomputed value based on the field.
        https://bugs.webkit.org/show_bug.cgi?id=27843

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
        (WebCore::PODTypeWrapperCacheInfo::operator==):
        (WebCore::PODTypeWrapperCacheInfoHash::hash):
        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):

2009-07-30  Xan Lopez  

        Reviewed by Simon Fraser.

        Fix compiler warning.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler):

2009-07-29  Matt Perry  

        Reviewed by Adam Barth.

        Add a way to register V8 extensions for Isolated Worlds only.
        https://bugs.webkit.org/show_bug.cgi?id=27785

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInNewWorld):
        (WebCore::ScriptController::evaluateInNewContext):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::evaluate):
        * bindings/v8/V8IsolatedWorld.h:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInNewWorld):
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::createNewContext):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::registerExtensionWithV8):
        (WebCore::V8Proxy::registerExtension):
        * bindings/v8/V8Proxy.h:

2009-07-30  Mike Fenton  

         Reviewed by Adam Treat.

         Add previously defined out support to PopupMenuQt for marking entries as
         disabled and for selecting the desired item.

         https://bugs.webkit.org/show_bug.cgi?id=27772

         * platform/qt/PopupMenuQt.cpp:
         (WebCore::PopupMenu::populate):

2009-07-30  Darin Adler  

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Next step: Add new toRenderWidget cast and use it everywhere.

        Use checked casts in all the places that were using static_cast
        but there is a checked cast available.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::widget):
        (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getPangoLayoutForAtk):
        * dom/Document.cpp:
        (WebCore::widgetForNode):
        (WebCore::Document::setFocusedNode):
        * html/HTMLEmbedElement.cpp:
        (WebCore::findWidgetRenderer):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::defaultEventHandler):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::defaultEventHandler):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::writeRawData):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::subframeForTargetNode):
        (WebCore::EventHandler::handleWheelEvent):
        * page/Frame.cpp:
        (WebCore::isFrameElement):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRects):
        * page/android/EventHandlerAndroid.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/chromium/FrameChromium.cpp:
        (WebCore::computePageRectsForFrame):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/haiku/EventHandlerHaiku.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        * page/win/FrameWin.cpp:
        (WebCore::computePageRectsForFrame):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::getCachedImage):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeImage):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::getCachedImage):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/win/ClipboardWin.cpp:
        (WebCore::getCachedImage):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::boxModelObject):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::addChildToContinuation):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateImageContents):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::RenderTextControlInnerBlock::positionForPoint):
        Use checked cast instead of static_cast.
        
        * rendering/RenderWidget.h: Added toRenderWidget.

2009-07-30  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: some files modified to build for WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27816

        * accessibility/AccessibilityObject.h:
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::messageToEventType):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::deviceInfoForWidget):
        (WebCore::screenIsMonochrome):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::paint):
        (WebCore::registerPopup):
        (WebCore::PopupWndProc):

2009-07-30  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: modified graphics files
        https://bugs.webkit.org/show_bug.cgi?id=27779

        * platform/graphics/BitmapImage.h:
        (WebCore::BitmapImage::mayFillWithSolidColor):
        * platform/graphics/Gradient.h:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/Path.h:
        * platform/graphics/Pattern.h:
        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
        (WebCore::Matrix3DTransformOperation::blend):
        * platform/graphics/transforms/MatrixTransformOperation.cpp:
        (WebCore::MatrixTransformOperation::blend):
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore::TransformationMatrix::operator*):
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::createIconForFile):
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):

2009-07-30  Kenneth Rohde Christiansen  

        Reviewed by Ariya Hidayat.

        Improve efficiency by rewriting code doing three hash table
        lookups, which can be replaced by just one as pointed out
        by Darin Adler.

        Though being slightly less clear, this should be considerable
        faster.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::remove):

2009-07-30  Antonio Gomes   

        Reviewed by Gustavo Noronha.

        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=27651

        Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2009-07-30  Antonio Gomes   

        Reviewed by Gustavo Noronha.

        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=27651

        Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
        No functionality change at all.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
        * platform/graphics/gtk/VideoSinkGStreamer.h:

2009-07-30  Jakub Wieczorek  

        Reviewed by Simon Hausmann.

        Allow to explicitly choose a preferred plugin for a mimetype.

        https://bugs.webkit.org/show_bug.cgi?id=27651

        When the preferred plugin is set for a specific MIME type, it will be
        always picked up, regardless of its version, quirks etc.

        Client applications may want to use that API to resolve mimetype
        ambiguity in a custom way, rather than in the default way that is
        currently used in WebKit.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::pluginForMIMEType):
        (WebCore::PluginDatabase::MIMETypeForExtension):
        (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
        (WebCore::PluginDatabase::remove):
        (WebCore::PluginDatabase::clear):
        * plugins/PluginDatabase.h:

2009-07-30  Jakub Wieczorek  

        [Qt] Fix build with Qt 4.4 after r46535.

        * platform/network/qt/ResourceHandleQt.cpp:

2009-07-30  Eric Carlson  

        Reviewed by Simon Fraser.

        Video elements fires another "load" event when attached to DOM
        https://bugs.webkit.org/show_bug.cgi?id=27623

        Test: media/media-load-event.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::insertedIntoDocument):
            Only schedule load when element's network state is NETWORK_EMPTY.

2009-07-30  Anton Muhin  

        Reviewed by David Levin.

        Cache v8 strings when converting from WebCore::String to v8 string.
        https://bugs.webkit.org/show_bug.cgi?id=27655

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8String): now just immediately calls v8ExternalString
        (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
        v8::String
        (WebCore::makeExternalString): utilty function to create external v8::String out of
        WebCore::String
        (WebCore::getStringCache): static function to access string cache
        (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
        cache
        (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
        the given WebCore::StringImpl.  If present, returns it, otherwise creates a new v8 external
        string.
        * bindings/v8/V8Binding.h:

2009-07-30  Xan Lopez  

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=25535
        [GTK] object:state-changed:checked events missing for radio buttons and checkboxes

        Implement state-changed:checked for radio buttons and checkboxes.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):

2009-07-30  Xan Lopez  

        Forgot the 'break'.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-30  Xan Lopez  

        Try to fix Mac build.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-29  Xan Lopez  

        Reviewed by Adam Barth.

        Add missing enumeration value to switch.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-29  Jian Li  

        Reviewed by Darin Adler.

        Workers need to throw an exception when presented with invalid URLs.
        https://bugs.webkit.org/show_bug.cgi?id=27770

        Tests covered by worker-constructor.html and worker-redirect.html.

        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/Worker.h:
        (WebCore::Worker::create):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        (WebCore::WorkerScriptLoader::createResourceRequest):
        * workers/WorkerScriptLoader.h:

2009-07-29  Brady Eidson  

        Reviewed by Darin Adler.

        (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
        https://bugs.webkit.org/show_bug.cgi?id=27822 and 

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 
          only limiting connections while parsing and still trying to figure out stylesheet urls.

2009-07-29  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27729

        * page/wince/FrameWince.cpp: Added.

2009-07-29  Ryosuke Niwa  

        Reviewed by Justin Garcia.

        REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
        https://bugs.webkit.org/show_bug.cgi?id=27809

        The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
        To determine that a particular text decoration is present, currentlyHasStyle should refer to
        -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
        We also need to update layout to accommodate the changes made within ApplyStyleCommand.

        * editing/ApplyStyleCommand.cpp: ditto
        (WebCore::StyleChange::currentlyHasStyle): ditto

2009-07-29  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: changes to platform/text files
        https://bugs.webkit.org/show_bug.cgi?id=27715

        * platform/text/String.cpp:
        (WebCore::String::format):
        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::encode):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):

2009-07-29  Yong Li  

        Reviewed by Adam Roben.

        FIX: HDC leaks in PopupMenuWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27817

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::paint):

2009-07-29  Darin Adler  

        Reviewed by Dan Bernstein.

        Illegal values for 
    cause list numbering start at 0 (should start at 1) https://bugs.webkit.org/show_bug.cgi?id=27810 Test: fast/lists/ol-start-parsing.html * html/HTMLOListElement.cpp: (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt and use the value 1 if it failed to parse. Before we were getting toInt's default behavior, which is to return 0. 2009-07-29 Kevin McCullough Reviewed by Darin Adler. Added foundation work to allow a testing infrastructure for the Web Inspector. * inspector/InspectorClient.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::scriptObjectReady): Tell the testing harness that the window object is ready. * loader/EmptyClients.h: Empty class support for SVG. (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared): 2009-07-29 Chris Fleizach Build fix for windows after landing Bug 27807 - AX: move re-usable code into more common areas for other platforms Apparently bzero doesn't exist on windows. * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 2009-07-29 Chris Fleizach Reviewed by Justin Garcia. Bug 27807 - AX: move re-usable code into more common areas for other platforms https://bugs.webkit.org/show_bug.cgi?id=27807 Moves some accessibility code that was in the Mac file to a more common place so it can be used by other platforms. This includes: Making TextMarkerData from a VisiblePosition. Making a VisiblePosition from TextMarkerData. Finding the anchor accessibility object for an arbitrary Node. * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::visiblePositionForTextMarkerData): (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): * accessibility/AXObjectCache.h: * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::anchorElementForNode): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::visiblePositionForIndex): * accessibility/mac/AccessibilityObjectWrapper.mm: (textMarkerForVisiblePosition): (visiblePositionForTextMarker): (AXAttributedStringAppendText): 2009-07-29 Dan Bernstein Reviewed by Simon Fraser. Inset box shadows are incorrectly accounted for in visual overflow computations https://bugs.webkit.org/show_bug.cgi?id=27811 * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Use getBoxShadowHorizontalExtent(). (WebCore::InlineFlowBox::placeBoxesVertically): Use getBoxShadowVerticalExtent(). Removed duplicate code to get the text-shadow overflow. (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent(). * rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowHeight): Use getBoxShadowVerticalExtent(). (WebCore::RenderBlock::overflowWidth): Use getBoxShadowHorizontalExtent(). (WebCore::RenderBlock::overflowLeft): Ditto. (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent(). (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent(). (WebCore::RenderBlock::layoutBlock): Ditto. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Ditto. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateRects): Exclude inset shadows. * rendering/RenderObject.cpp: (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent(). (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset shadows. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are not inset. (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset shadows. (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto. (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto. * rendering/style/RenderStyle.h: 2009-07-29 Simon Fraser Reviewed by Dan Bernstein. Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform) https://bugs.webkit.org/show_bug.cgi?id=27796 Avoid repainting when a layer becomes composited if the renderer is not parented yet, because it makes no sense to do so. If the table row is a repaint container, default to the RenderBox implementation of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect computation to something that is above the repaint container. Test: fast/table/table-row-compositing-repaint-crash.html * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::repaintOnCompositingChange): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::clippedOverflowRectForRepaint): 2009-07-29 Brady Eidson Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=27791 307 redirects of POSTs should use POST, not GET Test: http/tests/loading/redirect-methods.html * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willSendRequest): * platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 2009-07-29 Chris Marrin Reviewed by Simon Fraser. Adding -webkit-animation-play-state back in https://bugs.webkit.org/show_bug.cgi?id=26867 We've decided to keep -webkit-animation-play-state. So this just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907. Test: animations/play-state.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseAnimationPlayState): (WebCore::CSSParser::parseAnimationProperty): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapAnimationPlayState): * css/CSSStyleSelector.h: * platform/animation/Animation.h: * rendering/style/RenderStyleConstants.h: (WebCore::): 2009-07-29 Jakub Wieczorek Reviewed by Simon Hausmann. Expose the default plugin directories and the current directory set of the plugin database as public API. https://bugs.webkit.org/show_bug.cgi?id=27651 * plugins/PluginDatabase.h: (WebCore::PluginDatabase::pluginDirectories): 2009-07-29 Alpha Lam Reviewed by David Levin. [chromium] Font size for current time display in media controls panel is affected by body font size. https://bugs.webkit.org/show_bug.cgi?id=27799 Fixing the problem of rendering by explicitly setting the font size for the time displays. No new tests since this is covered by existing media tests. * css/mediaControlsChromium.css: 2009-07-29 Mike Fenton Reviewed by David Levin. Update WebCore/page/ContextMenuController.cpp to conform to WebKit Style Guidelines as identified by cpp_style.py. https://bugs.webkit.org/show_bug.cgi?id=27613 * page/ContextMenuController.cpp: (WebCore::openNewWindow): (WebCore::ContextMenuController::contextMenuItemSelected): 2009-07-29 Dean McNamee Reviewed by Dimitri Glazkov. Removed unused wrapCPointer/extractCPointer from the v8 bindings. https://bugs.webkit.org/show_bug.cgi?id=27805 * bindings/v8/V8DOMWrapper.h: 2009-07-29 Jakub Wieczorek Reviewed by Simon Hausmann. Expose the PluginDatabase::pluginForMIMEType() function as public API. https://bugs.webkit.org/show_bug.cgi?id=27651 It can be used to determine the appropriate plugin for a mime type, without guessing the mimetype from the extension. * plugins/PluginDatabase.h: 2009-07-29 Jakub Wieczorek Reviewed by Adam Treat. Allow to enable/disable particular plugin packages. https://bugs.webkit.org/show_bug.cgi?id=27651 Disabled plugins will not be picked up when looking for a plugin supporting the requested mimetypes. Client applications may want to use that API to disable specific plugins. * plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::pluginForMIMEType): (WebCore::PluginDatabase::MIMETypeForExtension): * plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): (WebCore::PluginPackage::setEnabled): * plugins/PluginPackage.h: (WebCore::PluginPackage::isEnabled): 2009-07-29 Nikolas Zimmermann Reviewed by Adam Treat. [WML] Running WML tests in random order multiple times exposes subtle bugs https://bugs.webkit.org/show_bug.cgi?id=27801 Remove superflous assertions regarding the parent node. Under certain circumstances these can even fire (related to garbage collection while destructing). Fixes random order WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random) The wml/enter-first-card-with-events.html test relied on a bug in our implementation of WMLPageState::reset() - the history stack should still contain the current card afterwards. Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory(). * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec. (WebCore::BackForwardList::clearWMLPageHistory): * wml/WMLDoElement.cpp: (WebCore::WMLDoElement::insertedIntoDocument): (WebCore::WMLDoElement::removedFromDocument): * wml/WMLNoopElement.cpp: (WebCore::WMLNoopElement::insertedIntoDocument): * wml/WMLOnEventElement.cpp: (WebCore::eventHandlingParent): * wml/WMLPostfieldElement.cpp: (WebCore::WMLPostfieldElement::insertedIntoDocument): (WebCore::WMLPostfieldElement::removedFromDocument): * wml/WMLSetvarElement.cpp: (WebCore::WMLSetvarElement::insertedIntoDocument): (WebCore::WMLSetvarElement::removedFromDocument): * wml/WMLTaskElement.cpp: (WebCore::WMLTaskElement::insertedIntoDocument): (WebCore::WMLTaskElement::removedFromDocument): * wml/WMLTimerElement.cpp: (WebCore::WMLTimerElement::insertedIntoDocument): (WebCore::WMLTimerElement::removedFromDocument): 2009-07-29 Yongjun Zhang Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=26848 [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit. * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): * platform/network/ResourceHandle.h: * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/qt/ResourceHandleQt.cpp: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::): 2009-07-29 Alpha Lam Reviewed by David Levin. Media control panel for