diff options
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 5468 |
1 files changed, 5468 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 32a3cef..730308a 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,5471 @@ +2010-09-10 Dirk Pranke <dpranke@chromium.org> + + Reviewed by Kent Tamura. + + roll out r66992 and r66997 - possibly introduced a perf slowdown in chromium tests + https://bugs.webkit.org/show_bug.cgi?id=45524 + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parametersForPlugin): + (WebCore::HTMLObjectElement::updateWidget): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::requestFrame): + * loader/SubframeLoader.h: + +2010-09-10 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + Extract the code to find special ancestors in createMarkup into a function + https://bugs.webkit.org/show_bug.cgi?id=45449 + + Extracted the code to find special common ancestors in createMarkup as highestAncestorToWrapMarkup. + Also isolated the code to find ancestors required to retain structure and appearance into + ancestorToRetainStructureAndAppearance. + + No new tests are added since this is a cleanup. + + * editing/markup.cpp: + (WebCore::ancestorToRetainStructureAndAppearance): Added. + (WebCore::propertyMissingOrEqualToNone): Moved. + (WebCore::isElementPresentational): Moved. + (WebCore::shouldIncludeWrapperForFullySelectedRoot): Added. isSpecialAncestorBlock is merged into this function. + (WebCore::highestAncestorToWrapMarkup): Extracted from createMarkup. + (WebCore::createMarkup): Calls highestAncestorToWrapMarkup. + +2010-09-09 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + Spurious null check in MediaDocumentParser + https://bugs.webkit.org/show_bug.cgi?id=45461 + + Trivial change. FrameLoader can never be null. + + * html/MediaDocument.cpp: + (WebCore::MediaDocumentParser::createDocumentStructure): + +2010-09-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION: applying new font size causes font-size outside selection to change + https://bugs.webkit.org/show_bug.cgi?id=45026 + + The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly. + Namely, it was treating font size as a pixel value for font-size property. Fixed this by adding fontSizeToCSSValue + which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement + + Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were + relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size + to legacy font size by CSSStyleSelector::legacyFontSize. + + Test: editing/style/push-down-font-styles.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above. + (WebCore::stringToCSSValue): Converts string to CSSValue. + (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue. + (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue. + * css/CSSStyleSelector.h: Made fontSizeForKeyword public. + +2010-09-09 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix for Qt. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + +2010-09-09 Dominic Cooney <dominicc@google.com> + + Reviewed by Kent Tamura. + + Moves location.replace bindings logic into bindings/generic and + instantiates it for JSC and V8. + + https://bugs.webkit.org/show_bug.cgi?id=44891 + + Covered by existing location.replace tests. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/BindingDOMWindow.h: + * bindings/generic/BindingFrame.h: Added. + (WebCore::::navigateIfAllowed): + * bindings/generic/BindingLocation.h: Added. + (WebCore::::replace): + * bindings/generic/GenericBinding.h: + (WebCore::completeURL): + * bindings/js/JSBinding.h: Added. + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::shouldAllowNavigation): + (WebCore::toLexicalFrame): + (WebCore::toDynamicFrame): + (WebCore::processingUserGesture): + (WebCore::completeURL): + * bindings/js/JSLocationCustom.cpp: + (WebCore::navigateIfAllowed): + (WebCore::JSLocation::replace): + * bindings/js/specialization/JSBindingState.cpp: Added. + (WebCore::::getActiveFrame): + (WebCore::::getFirstFrame): + (WebCore::::processingUserGesture): + (WebCore::::allowsAccessFromFrame): + * bindings/js/specialization/JSBindingState.h: Added. + * bindings/v8/V8Binding.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::completeURL): + (WebCore::navigateIfAllowed): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::V8Location::replaceCallback): + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::allowsAccessFromFrame): + * bindings/v8/specialization/V8BindingState.h: + +2010-09-09 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Apply :invalid CSS class to <input type=number> with an unacceptable value + https://bugs.webkit.org/show_bug.cgi?id=45376 + + Apply :invalid CSS class to <input type=number> elements with an + unacceptable value in order to tell users that a value is not + valid. + + Introducing Element::hasUnaccceptableValue(), and CSSStyleSelector + applies :invalid to not only elements with !isValidFormControlElement() + but also elements with hasUnaccceptableValue(). + + HTMLInputElement and RenderTextControlSingleLine need some changes + to update style and to avoid updating renderer value during style + update. + + Test: fast/forms/input-number-unacceptable-style.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): + * dom/Element.h: + (WebCore::Element::hasUnacceptableValue): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::handleBlurEvent): + (WebCore::HTMLInputElement::hasUnacceptableValue): + * html/HTMLInputElement.h: + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::subtreeHasChanged): + (WebCore::RenderTextControlSingleLine::updateFromElement): + +2010-09-09 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + <input type=number> should not have an invalid number as its value + https://bugs.webkit.org/show_bug.cgi?id=43973 + + This change implements the value sanitization algorithm for + type=number, and remove validity.typeMismatch support for + type=number in order to improve HTML5 conformance. + + HTMLInputElement::value for type=number always has a valid number + string or an empty string. However, the input field for it, a + RenderTextControlSingleLine, can have a non-number string. For + example, '-' is a non-number string, but a user needs to type + '-'. So, the string in the input field has never been committed to + HTMLInputElement until the string becomes a valid number string. + + This change is also a preparation of supporting localized + numbers. A localized string in the input field would not be + matched with HTMLInputElement::value. + + Test: fast/forms/input-number-commit-valid-only.html + + * dom/InputElement.h: Add isAcceptableValue() + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::handleBlurEvent): + Set formControlValueMatchesRenderer false to clean an invalid value in the renderer. + (WebCore::HTMLInputElement::isAcceptableValue): + (WebCore::HTMLInputElement::sanitizeValue): + * html/HTMLInputElement.h: + * html/ValidityState.cpp: + (WebCore::ValidityState::typeMismatch): Always returns false for type=number. + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::subtreeHasChanged): + * wml/WMLInputElement.h: + (WebCore::WMLInputElement::isAcceptableValue): + +2010-09-09 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Support <script async> as specified by HTML5 + https://bugs.webkit.org/show_bug.cgi?id=45310 + + Tests: fast/dom/HTMLScriptElement/async-inline-script.html + fast/dom/HTMLScriptElement/async-onbeforeload.html + fast/dom/HTMLScriptElement/async-write.html + http/tests/misc/async-and-defer-script.html + http/tests/misc/script-async.html + + * dom/AsyncScriptRunner.cpp: + (WebCore::AsyncScriptRunner::AsyncScriptRunner): + (WebCore::AsyncScriptRunner::~AsyncScriptRunner): + (WebCore::AsyncScriptRunner::executeScriptSoon): Increment the delay count when a task to execute scripts is queued up. + (WebCore::AsyncScriptRunner::timerFired): decrementLoadEventDelayCount handles calling checkCompleted(). + * dom/AsyncScriptRunner.h: + (WebCore::AsyncScriptRunner::create): + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/ScriptElement.cpp: + (WebCore::ScriptElement::insertedIntoDocument): Treats async scripts just like a dynamically inserted script element rather than a parser inserted one. + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::runScript): + +2010-09-09 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by James Robinson. + + [chromium] Disable subpixel rendering in Linux when GPU compositor is active + https://bugs.webkit.org/show_bug.cgi?id=45087 + + This extends windows-only logic to chromium linux as well. + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::updateContents): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active. + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::setRootLayerCanvasSize): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::updateContents): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::clip): + * platform/graphics/skia/PlatformContextSkia.cpp: + Made setDrawingToImageBuffer and isDrawingToImageBuffer available to + Linux; removed all #if OS(WINDOWS) || OS(LINUX). + (WebCore::PlatformContextSkia::State::State): + (WebCore::PlatformContextSkia::PlatformContextSkia): + (WebCore::PlatformContextSkia::isDrawingToImageBuffer): + (WebCore::PlatformContextSkia::save): + (WebCore::PlatformContextSkia::beginLayerClippedToImage): + (WebCore::PlatformContextSkia::restore): + (WebCore::PlatformContextSkia::applyClipFromImage): + * platform/graphics/skia/PlatformContextSkia.h: + +2010-09-09 Kinuko Yasuda <kinuko@chromium.org> + + Unreviewed, Windows build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2010-09-09 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Jian Li. + + [FileSystem] Add File and FileWriter accessor methods in FileEntry + https://bugs.webkit.org/show_bug.cgi?id=45440 + + Adding file() and createWrite() methods in FileEntry. + http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-fileentry-interface + + No new tests; this patch doesn't have implementation yet. + + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * fileapi/FileEntry.cpp: + (WebCore::FileEntry::createWriter): Added. + (WebCore::FileEntry::file): Added. + * fileapi/FileEntry.h: + * fileapi/FileEntry.idl: + * fileapi/FileCallback.h: Added. + * fileapi/FileCallback.idl: Added. + * fileapi/FileWriterCallback.h: Added. + * fileapi/FileWriterCallback.idl: Added. + +2010-09-09 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Darin Adler. + + Fix for Bug 24742 - CSS tokenizer allows color in 6 hex digit notation to be followed by the next token without separation + Stop checking in the flex definition the number of hexadecimal digits for a hex color. + Instead, rely on the checking in Color::parseHexColor(). + The resultant grammar is actually more close to the one in http://www.w3.org/TR/CSS21/grammar.html . + + https://bugs.webkit.org/show_bug.cgi?id=24742 + + Test: fast/css/invalid-hex-color.html + + * css/tokenizer.flex: + +2010-09-09 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioSourceNode files + https://bugs.webkit.org/show_bug.cgi?id=45010 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioSourceNode.h: Added. + (WebCore::AudioSourceNode::AudioSourceNode): + * webaudio/AudioSourceNode.idl: Added. + +2010-09-09 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Don't call deleteTexture on a texture attached to an FBO that is not currently bound + https://bugs.webkit.org/show_bug.cgi?id=45504 + + The OpenGL semantics for glDeleteTextures() are that if one of the specified texture is attached + to the currently bound FBO, that FBO's color attachment is removed. However, if the specified + texture is attached to a non-current FBO then OpenGL states explicitly that that FBO's color + attachment is not cleared and that the texture stays alive even though its ID is no longer + valid to use. This is not the behavior we want in DrawingBuffer - we actually want the + texture to be immediately deleted. This patch makes sure the DrawingBuffer's FBO is bound + before deleting its color attachment texture. + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::reset): + +2010-09-09 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Chromium mac build should exclude all Skia files in platform/graphics/skia/, not just some + https://bugs.webkit.org/show_bug.cgi?id=45516 + + This excludes platform/graphics/skia/*Skia.(h|cpp) by pattern instead of individual files. + None of these files should be compiled into the Chromium mac build and the old file list had + both omissions and stale entries. + + * WebCore.gyp/WebCore.gyp: + +2010-09-09 Dirk Pranke <dpranke@chromium.org> + + Unreviewed, rolling out r67145. + http://trac.webkit.org/changeset/67145 + https://bugs.webkit.org/show_bug.cgi?id=45431 + + broke editing/inserting/5994480-2.html on Chromium Linux + + * css/CSSStyleSelector.h: + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::init): + (WebCore::StyleChange::extractTextStyles): + (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): + +2010-09-09 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Removing an obsolete comment. + https://bugs.webkit.org/show_bug.cgi?id=40112 + + * bindings/generic/ActiveDOMCallback.cpp: + +2010-09-09 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Clear only the uploaded portion of the software backing store when in mixed mode + https://bugs.webkit.org/show_bug.cgi?id=45503 + + This clears out only the dirty region of the software backing store when uploading results + to hardware rather than clearing out the entire software backing store. This is a significant + performance improvement when the dirty rects are small relative to the whole canvas. + + This also implements the non-swizzle path of copySubRect() using memcpy() to copy the rows, which + is another respectable performance increase. + + * html/canvas/CanvasRenderingContext2D.cpp: + * platform/graphics/gpu/Texture.cpp: + (WebCore::copySubRect): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::prepareForSoftwareDraw): + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + (WebCore::PlatformContextSkia::readbackHardwareToSoftware): + +2010-09-09 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Add math utilities for cubic curve processing + https://bugs.webkit.org/show_bug.cgi?id=45251 + + Adding mathematic utilities needed for the GPU accelerated path + rendering algorithm from GPU Gems 3. No tests yet; will be tested + in conjunction with later code. + + * platform/graphics/gpu/LoopBlinnMathUtils.cpp: Added. + (WebCore::LoopBlinnMathUtils::roundToZero): + (WebCore::LoopBlinnMathUtils::approxEqual): + (WebCore::LoopBlinnMathUtils::linesIntersect): + (WebCore::LoopBlinnMathUtils::pointInTriangle): + (WebCore::LoopBlinnMathUtils::trianglesOverlap): + (WebCore::LoopBlinnMathUtils::chopCubicAt): + (WebCore::LoopBlinnMathUtils::xRayCrossesLine): + (WebCore::LoopBlinnMathUtils::numXRayCrossingsForCubic): + * platform/graphics/gpu/LoopBlinnMathUtils.h: Added. + +2010-09-09 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Dumitru Daniliuc. + + Add Entry.getMetadata for FileSystem API + https://bugs.webkit.org/show_bug.cgi?id=45403 + + Add getMetadata to Entry.idl (I had missed to include this + in my previous Entry.idl patch.) + + Also make some minor cleanups and nits fixes. + + No new tests; layout test is going be added later. + + * fileapi/DOMFileSystem.cpp: Bug fix. + * fileapi/MetadataCallback.h: Nits fix. + * fileapi/Entry.idl: Added getMetadata. + * fileapi/ErrorCallback.h: Nits fix. + +2010-09-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION: applying new font size causes font-size outside selection to change + https://bugs.webkit.org/show_bug.cgi?id=45026 + + The regression was caused by removeImplicitlyStyledElement not converting font size to CSS value properly. + Namely, it was treating font size as a pixel value for font-size property. Fixed this by adding fontSizeToCSSValue + which uses HTMLFontElement::cssValueFromFontSizeNumber and deployed it in removeImplicitlyStyledElement + + Also fixed a bug in StyleChange::extractTextStyles that it ignores font-size property when the values were + relative terms such as x-small and -webkit-xxx-large. And replaced the logic to convert from pixel font size + to legacy font size by CSSStyleSelector::legacyFontSize. + + Test: editing/style/push-down-font-styles.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::extractTextStyles): Fixed a bug. See above. + (WebCore::stringToCSSValue): Converts string to CSSValue. + (WebCore::fontSizeToCSSValue): Converts font size number (String) to CSSPrimitiveValue. + (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Calls stringToCSSValue and fontSizeToCSSValue. + * css/CSSStyleSelector.h: Made fontSizeForKeyword public. + +2010-09-09 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r67126. + http://trac.webkit.org/changeset/67126 + https://bugs.webkit.org/show_bug.cgi?id=45510 + + broke chromium mac compile, it also uses PlatformContextSkia + (Requested by jamesr on #webkit). + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::updateContents): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::adjustTextRenderMode): + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::setRootLayerCanvasSize): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::updateContents): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::clip): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::State::State): + (WebCore::PlatformContextSkia::PlatformContextSkia): + (WebCore::PlatformContextSkia::save): + (WebCore::PlatformContextSkia::restore): + * platform/graphics/skia/PlatformContextSkia.h: + +2010-09-09 Simon Fraser <simon.fraser@apple.com> + + Attempt to fix Qt build. + + * WebCore.pro: + +2010-09-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=45509 + <rdar://problem/8142166> REGRESSION: WebView setDrawsBackground:NO no + longer works without setBackgroundColor:clearColor + + r61215 caused RenderView to paint the viewport background when the + document element's renderer is known to not fill opaquely paint + the entire viewport, i.e. more often than it did before. + + This exposed a latent, long-standing bug which was introduced + in r14638 (the RenderCanvas -> RenderView rename), where a call + to view()->isTransparent() was not converted to frameView()->isTransparent(), + yet happened to still compile because of RenderObject::isTransparent(). + + This resulted in us painting the viewport background, even when + WebView clients explicitly said that they wanted a transparent + WebView. + + Fixed by calling frameView()->isTransparent(), as intended. + + * rendering/RenderView.cpp: + (WebCore::RenderView::paintBoxDecorations): + +2010-09-09 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + audio engine: add Biquad files + https://bugs.webkit.org/show_bug.cgi?id=44795 + + No new tests since audio API is not yet implemented. + + * platform/audio/Biquad.cpp: Added. + (WebCore::Biquad::Biquad): + (WebCore::Biquad::process): + (WebCore::Biquad::processFast): + (WebCore::Biquad::processSliceFast): + (WebCore::Biquad::reset): + (WebCore::Biquad::setLowpassParams): + (WebCore::Biquad::setHighpassParams): + (WebCore::Biquad::setLowShelfParams): + (WebCore::Biquad::setZeroPolePairs): + (WebCore::Biquad::setAllpassPole): + * platform/audio/Biquad.h: Added. + (WebCore::Biquad::~Biquad): + +2010-09-09 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioBuffer files + https://bugs.webkit.org/show_bug.cgi?id=45003 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioBuffer.cpp: Added. + (WebCore::AudioBuffer::create): + (WebCore::AudioBuffer::createFromAudioFileData): + (WebCore::AudioBuffer::AudioBuffer): + (WebCore::AudioBuffer::releaseMemory): + (WebCore::AudioBuffer::getChannelData): + (WebCore::AudioBuffer::zero): + * webaudio/AudioBuffer.h: Added. + (WebCore::AudioBuffer::length): + (WebCore::AudioBuffer::duration): + (WebCore::AudioBuffer::sampleRate): + (WebCore::AudioBuffer::numberOfChannels): + (WebCore::AudioBuffer::gain): + (WebCore::AudioBuffer::setGain): + * webaudio/AudioBuffer.idl: Added. + +2010-09-09 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by James Robinson. + + [chromium] Disable subpixel rendering in Linux when GPU compositor is active + https://bugs.webkit.org/show_bug.cgi?id=45087 + + Covered by all tests that activate the compositor and contain text. + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::updateContents): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::adjustTextRenderMode): Added a check to see if the compositor is active. + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::setRootLayerCanvasSize): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::updateContents): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::ImageBuffer): + (WebCore::ImageBuffer::clip): + * platform/graphics/skia/PlatformContextSkia.cpp: + Made setDrawingToImageBuffer and isDrawingToImageBuffer available to + Linux; removed all #if OS(WINDOWS) || OS(LINUX). + (WebCore::PlatformContextSkia::State::State): + (WebCore::PlatformContextSkia::PlatformContextSkia): + (WebCore::PlatformContextSkia::isDrawingToImageBuffer): + (WebCore::PlatformContextSkia::save): + (WebCore::PlatformContextSkia::beginLayerClippedToImage): + (WebCore::PlatformContextSkia::restore): + (WebCore::PlatformContextSkia::applyClipFromImage): + * platform/graphics/skia/PlatformContextSkia.h: + +2010-09-09 Simon Fraser <simon.fraser@apple.com> + + Fix windows build by adding missing file. + + * platform/graphics/win/LocalWindowsContext.h: Added. + (WebCore::LocalWindowsContext::LocalWindowsContext): + (WebCore::LocalWindowsContext::~LocalWindowsContext): + (WebCore::LocalWindowsContext::hdc): + +2010-09-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adam Roben. + + Scrollbars fail to render in composited iframes. + https://bugs.webkit.org/show_bug.cgi?id=45335 + + Add a stack-based class, LocalWindowsContext, which does a getWindowsContext/ + releaseWindowsContext automatically. + + Also fix getWindowsContext to create a bitmap context if mayCreateBitmap + is true, and if the context's HDC is null. This fixes scrollbar rendering + in compositing layers. + + Use LocalWindowsContext in places where we had bare getWindowsContext() calls. + + * platform/graphics/win/LocalWindowsContext.h + (WebCore::LocalWindowsContext::LocalWindowsContext): + (WebCore::LocalWindowsContext::~LocalWindowsContext): + (WebCore::LocalWindowsContext::hdc): + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::releaseWindowsContext): + * platform/graphics/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContext::getWindowsContext): + * platform/graphics/win/IconWin.cpp: + (WebCore::Icon::paint): + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::paint): + * platform/win/ScrollbarThemeWin.cpp: + (WebCore::ScrollbarThemeWin::paintTrackPiece): + (WebCore::ScrollbarThemeWin::paintButton): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::paintWindowedPluginIntoContext): + (WebCore::PluginView::paint): + * rendering/RenderThemeWin.cpp: + (WebCore::drawControl): + +2010-09-09 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + [Chromium] Minimize uploads in canvas 2d mixed mode rendering + https://bugs.webkit.org/show_bug.cgi?id=45476 + + No new tests - change is for performance, logic fixes only apparent when running hardware acceleration. + + - Enumeration values fixed, "CavasWillDraw" -> "CanvasDidDraw". + - markDirtyRect() plumbed through GraphicsContext to PlatformContextSkia. + - Texture::updateSubRect() added to allow uploading only a dirty rect. + - Logic fix in ImageBuffer::draw(), caused canvas to canvas copies to be incorrect. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): + (WebCore::CanvasRenderingContext2D::strokeRect): + (WebCore::CanvasRenderingContext2D::drawImage): + (WebCore::CanvasRenderingContext2D::didDraw): + - Logic fix for drawingContext()->markDirtyRect() call. + (WebCore::CanvasRenderingContext2D::putImageData): + (WebCore::CanvasRenderingContext2D::drawTextInternal): + - Logic fix for calls to "didDraw()", use peer method first. + * html/canvas/CanvasRenderingContext2D.h: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawImageBuffer): + (WebCore::GraphicsContext::markDirtyRect): + * platform/graphics/GraphicsContext.h: + * platform/graphics/gpu/Texture.cpp: + (WebCore::Texture::create): + (WebCore::Texture::load): + (WebCore::Texture::updateSubRect): + * platform/graphics/gpu/Texture.h: + * platform/graphics/gpu/TilingData.h: + (WebCore::TilingData::borderTexels): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): + (WebCore::GraphicsContext::markDirtyRect): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::draw): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::State::cloneInheritedProperties): + (WebCore::PlatformContextSkia::drawRect): + (WebCore::PlatformContextSkia::setFillColor): + (WebCore::PlatformContextSkia::setStrokeColor): + (WebCore::PlatformContextSkia::markDirtyRect): + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + * platform/graphics/skia/PlatformContextSkia.h: + +2010-09-08 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Move functions from Frame to Editor as planned + https://bugs.webkit.org/show_bug.cgi?id=45218 + + Just executing the plan that has long been described in Frame.h + to move a bunch of functions to Editor. + + * WebCore.exp.in: Updated. + + * editing/Editor.cpp: + (WebCore::Editor::fontForSelection): + (WebCore::Editor::textDirectionForSelection): + (WebCore::Editor::applyStyle): + (WebCore::Editor::selectionStartHasStyle): + (WebCore::Editor::selectionHasStyle): + (WebCore::Editor::selectionStartCSSPropertyValue): + (WebCore::Editor::Editor): + (WebCore::Editor::cut): + (WebCore::Editor::copy): + (WebCore::Editor::ignoreSpelling): + (WebCore::Editor::learnSpelling): + (WebCore::Editor::isSelectionMisspelled): + (WebCore::Editor::guessesForMisspelledSelection): + (WebCore::Editor::selectedText): + (WebCore::Editor::firstRectForRange): + (WebCore::Editor::shouldChangeSelection): + (WebCore::Editor::computeAndSetTypingStyle): + (WebCore::Editor::selectionComputedStyle): + (WebCore::Editor::textFieldDidBeginEditing): + (WebCore::Editor::textFieldDidEndEditing): + (WebCore::Editor::textDidChangeInTextField): + (WebCore::Editor::doTextFieldCommandFromEvent): + (WebCore::Editor::textWillBeDeletedInTextField): + (WebCore::Editor::textDidChangeInTextArea): + (WebCore::Editor::applyEditingStyleToBodyElement): + (WebCore::Editor::applyEditingStyleToElement): + (WebCore::Editor::styleForSelectionStart): + (WebCore::Editor::findString): + (WebCore::Editor::countMatchesForText): + (WebCore::Editor::setMarkedTextMatchesAreHighlighted): + (WebCore::Editor::respondToChangedSelection): + * editing/Editor.h: + * editing/mac/EditorMac.mm: + (WebCore::Editor::fontAttributesForSelectionStart): + (WebCore::Editor::baseWritingDirectionForSelectionStart): + Moved functions here. + + * page/Frame.cpp: + (WebCore::Frame::Frame): + (WebCore::Frame::shouldChangeSelection): + * page/Frame.h: + * page/mac/FrameMac.mm: + Moved functions out of here. + + * dom/InputElement.cpp: + (WebCore::InputElement::dispatchBlurEvent): + (WebCore::InputElement::aboutToUnload): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::doApply): + * editing/EditorCommand.cpp: + (WebCore::executeToggleStyleInList): + (WebCore::executeDeleteToMark): + (WebCore::executeFindString): + (WebCore::executeSelectToMark): + (WebCore::executeSetMark): + (WebCore::executeSwapWithMark): + (WebCore::enabledVisibleSelectionAndMark): + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::find): + * page/DragController.cpp: + (WebCore::DragController::startDrag): + * page/EventHandler.cpp: + (WebCore::EventHandler::sendContextMenuEventForKey): + * page/Page.cpp: + (WebCore::Page::findString): + (WebCore::Page::markAllMatchesForText): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintTextMatchMarker): + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::subtreeHasChanged): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::subtreeHasChanged): + Changed call sites to use editor(). + +2010-09-09 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioDSPKernelProcessor files + https://bugs.webkit.org/show_bug.cgi?id=45211 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioDSPKernelProcessor.cpp: Added. + (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor): + (WebCore::AudioDSPKernelProcessor::initialize): + (WebCore::AudioDSPKernelProcessor::uninitialize): + (WebCore::AudioDSPKernelProcessor::process): + (WebCore::AudioDSPKernelProcessor::reset): + (WebCore::AudioDSPKernelProcessor::setNumberOfChannels): + * platform/audio/AudioDSPKernelProcessor.h: Added. + (WebCore::AudioDSPKernelProcessor::numberOfChannels): + +2010-09-09 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add setRange() and zeroRange() methods to TypedArrayBase + https://bugs.webkit.org/show_bug.cgi?id=45419 + + No new tests since adding new methods which are not yet called anywhere. + + * html/canvas/ArrayBufferView.cpp: + (WebCore::ArrayBufferView::setRangeImpl): + (WebCore::ArrayBufferView::zeroRangeImpl): + * html/canvas/ArrayBufferView.h: + * html/canvas/TypedArrayBase.h: + (WebCore::TypedArrayBase::setRange): + (WebCore::TypedArrayBase::zeroRange): + +2010-09-09 Robert Hogan <robert@webkit.org> + + Reviewed by Andreas Kling. + + [Qt] always send an Accept header + + Ensure QtWebKit always sends an Accept header. This is required + for compatibility with sites that expect the header in requests + for subresources. + + See https://bugs.webkit.org/show_bug.cgi?id=33242 for more. + + https://bugs.webkit.org/show_bug.cgi?id=45458 + + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + +2010-09-09 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Chris Marrin. + + Add media element logging + https://bugs.webkit.org/show_bug.cgi?id=45469 + + Add logging at interesting points in a media element's lifecycle. + + * html/HTMLMediaElement.cpp: + (WebCore::urlForLogging): + (WebCore::boolString): + (WebCore::HTMLMediaElement::scheduleEvent): + (WebCore::HTMLMediaElement::asyncEventTimerFired): + (WebCore::HTMLMediaElement::canPlayType): + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::prepareForLoad): + (WebCore::HTMLMediaElement::selectMediaResource): + (WebCore::HTMLMediaElement::loadResource): + (WebCore::HTMLMediaElement::isSafeToLoadURL): + (WebCore::HTMLMediaElement::waitForSourceChange): + (WebCore::HTMLMediaElement::noneSupported): + (WebCore::HTMLMediaElement::mediaEngineError): + (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): + (WebCore::HTMLMediaElement::setNetworkState): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::rewind): + (WebCore::HTMLMediaElement::returnToRealtime): + (WebCore::HTMLMediaElement::addPlayedRange): + (WebCore::HTMLMediaElement::seek): + (WebCore::HTMLMediaElement::finishSeek): + (WebCore::HTMLMediaElement::setPlaybackRate): + (WebCore::HTMLMediaElement::setWebkitPreservesPitch): + (WebCore::HTMLMediaElement::setAutoplay): + (WebCore::HTMLMediaElement::setPreload): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::playInternal): + (WebCore::HTMLMediaElement::pause): + (WebCore::HTMLMediaElement::pauseInternal): + (WebCore::HTMLMediaElement::setLoop): + (WebCore::HTMLMediaElement::setControls): + (WebCore::HTMLMediaElement::setVolume): + (WebCore::HTMLMediaElement::setMuted): + (WebCore::HTMLMediaElement::togglePlayState): + (WebCore::HTMLMediaElement::beginScrubbing): + (WebCore::HTMLMediaElement::endScrubbing): + (WebCore::HTMLMediaElement::selectNextSourceChild): + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): + (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): + (WebCore::HTMLMediaElement::mediaPlayerMuteChanged): + (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): + (WebCore::HTMLMediaElement::mediaPlayerRateChanged): + (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged): + (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): + (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): + (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): + (WebCore::HTMLMediaElement::updatePlayState): + (WebCore::HTMLMediaElement::userCancelledLoad): + (WebCore::HTMLMediaElement::stop): + (WebCore::HTMLMediaElement::suspend): + (WebCore::HTMLMediaElement::resume): + (WebCore::HTMLMediaElement::hasPendingActivity): + (WebCore::HTMLMediaElement::mediaVolumeDidChange): + (WebCore::HTMLMediaElement::createMediaPlayerProxy): + (WebCore::HTMLMediaElement::enterFullscreen): + (WebCore::HTMLMediaElement::exitFullscreen): + (WebCore::HTMLMediaElement::setClosedCaptionsVisible): + (WebCore::HTMLMediaElement::mediaCanStart): + (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): + +2010-09-09 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] bypass caches when query memory usage from post GC and in crash handler. + https://bugs.webkit.org/show_bug.cgi?id=45036 + + Second part of the whole change: now use API introduced in + http://trac.webkit.org/changeset/66818 and now backed by Chromium. + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::reportFatalErrorInV8): + * bindings/v8/V8GCController.cpp: + (WebCore::V8GCController::gcEpilogue): + +2010-09-09 Kwang Yul Seo <skyul@company100.net> + + Reviewed by James Robinson. + + Make sure skia is not Chromium specific + https://bugs.webkit.org/show_bug.cgi?id=39672 + + FontCustomPlatformData is not Chromium-specific. Move it to platform/skia. + + No new tests because this is pure refactoring. + + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * platform/graphics/chromium/FontCustomPlatformData.cpp: Removed. + * platform/graphics/chromium/FontCustomPlatformData.h: Removed. + * platform/graphics/skia/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.cpp. + * platform/graphics/skia/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/chromium/FontCustomPlatformData.h. + +2010-09-09 Chris Rogers <crogers@google.com> + + Reviewed by Chris Fleizach. + + Add AudioDSPKernel files + https://bugs.webkit.org/show_bug.cgi?id=45319 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioDSPKernel.h: Added. + (WebCore::AudioDSPKernel::AudioDSPKernel): + (WebCore::AudioDSPKernel::~AudioDSPKernel): + (WebCore::AudioDSPKernel::sampleRate): + (WebCore::AudioDSPKernel::nyquist): + (WebCore::AudioDSPKernel::processor): + +2010-09-09 Chris Rogers <crogers@google.com> + + Reviewed by Chris Fleizach. + + Add AudioProcessor.h + https://bugs.webkit.org/show_bug.cgi?id=45206 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioProcessor.h: Added. + (WebCore::AudioProcessor::AudioProcessor): + (WebCore::AudioProcessor::~AudioProcessor): + (WebCore::AudioProcessor::isInitialized): + (WebCore::AudioProcessor::sampleRate): + +2010-09-09 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Add cubic texture coordinate computation + https://bugs.webkit.org/show_bug.cgi?id=45250 + + Adding the texture coordinate computation for cubic curves per the + GPU Gems 3 chapter. No tests yet; will be tested in conjunction + with later code. + + * platform/graphics/gpu/LoopBlinnConstants.h: Added. + * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Added. + (WebCore::LoopBlinnTextureCoords::compute): + * platform/graphics/gpu/LoopBlinnTextureCoords.h: Added. + (WebCore::LoopBlinnTextureCoords::Result::Result): + (WebCore::LoopBlinnTextureCoords::LoopBlinnTextureCoords): + +2010-09-09 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Add cubic curve classifier + https://bugs.webkit.org/show_bug.cgi?id=45249 + + Adding the cubic curve classification algorithm per the GPU Gems 3 + chapter. No tests yet; will be tested in conjunction with later code. + + * platform/graphics/gpu/LoopBlinnClassifier.cpp: Added. + (WebCore::LoopBlinnClassifier::classify): + * platform/graphics/gpu/LoopBlinnClassifier.h: Added. + (WebCore::LoopBlinnClassifier::Result::Result): + (WebCore::LoopBlinnClassifier::LoopBlinnClassifier): + +2010-09-09 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + QueryCommandValue('FontSize') returns pixel values instead of IE font numbers + https://bugs.webkit.org/show_bug.cgi?id=21033 + + Modified selectionStartCSSPropertyValue to return legacy font size instead of pixel size. + To implement the conversion between pixel font size and legacy font size, + added legacyFontSize to CSSStyleSelector with a helper static function findNearestLegacyFontSize. + + Fixed a bug in selectionComputedStyle where it obtains the style of the previous editing position + even when the selection is a range. This change revealed a crash in executeToggleStyleInList, + which was also fixed. + + Test: editing/execCommand/query-font-size.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): Corrected style. + (WebCore::CSSComputedStyleDeclaration::useFixedFontDefaultSize): Added. + * css/CSSComputedStyleDeclaration.h: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::fontSizeForKeyword): Renamed fixed/monospace to shouldUseFixedDefaultSize. + (WebCore::findNearestLegacyFontSize): Added, a helper for legacyFontSize. + (WebCore::CSSStyleSelector::legacyFontSize): Added. + * css/CSSStyleSelector.h: + * editing/Editor.cpp: + (WebCore::Editor::selectionStartCSSPropertyValue): Added a conversion from pixel to legacy font size. + * editing/EditorCommand.cpp: + (WebCore::executeToggleStyleInList): Crash fix. + * page/Frame.cpp: + (WebCore::Frame::selectionComputedStyle): See above. + +2010-09-09 Robert Hogan <robert@webkit.org> + + Reviewed by Adam Barth. + + Give WebKit clients a way to replace window.screen + to foil attempts to track users with it. + + This allows clients to overload the values returned by the + Screen object through the JSC manipulation API (such as + QWebFrame::addToJavaScriptWindowObject() in Qt). Clients will + want to do this when they do not want to reveal too much + explicit information about the user's desktop configuration. + + https://bugs.webkit.org/show_bug.cgi?id=41802 + + * page/DOMWindow.idl: + +2010-09-09 Kenneth Russell <kbr@google.com> + + Reviewed by James Robinson. + + Memory leak in red/black tree + https://bugs.webkit.org/show_bug.cgi?id=45472 + + Fixed memory leak in red/black tree where it was using operator + new directly to allocate its internal nodes rather than the arena + with which it was configured. Added allocateObject variant to + arena supporting single-argument constructors. Added test to + red/black tree unit tests to cover this functionality, and + refactored TrackedAllocator into helper file to share between + arena and red/black tree tests. + + * platform/graphics/gpu/PODArena.h: + (WebCore::PODArena::allocateObject): + (WebCore::PODArena::allocateBase): + * platform/graphics/gpu/PODIntervalTree.h: + (WebCore::PODIntervalTree::PODIntervalTree): + * platform/graphics/gpu/PODRedBlackTree.h: + (WebCore::PODRedBlackTree::add): + +2010-09-09 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + Fill mode is broken with multiple keyframes + https://bugs.webkit.org/show_bug.cgi?id=41209 + + With a forward fill mode the animation would tick after + the end of the animation, causing the fractional + duration of the animation to wrap. This meant the last + style update would happen using the incorrect keyframes. + The solution was to put clamps in for the elapsed time + and current iteration count. + + Tests: animations/fill-mode-missing-from-to-keyframes.html + animations/fill-mode-multiple-keyframes.html + + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): + +2010-09-09 Chris Fleizach <cfleizach@apple.com> + + Reviewed by David Kilzer. + + AX: Support AccessibilityTextMarkers in DRT + https://bugs.webkit.org/show_bug.cgi?id=44778 + + Provide support in DRT for accessing and manipulating the text marker system that AX exposes. + This will allow future bug fixes in the text marker system to be adequately tested. + + Tests: platform/mac/accessibility/element-for-text-marker.html + platform/mac/accessibility/text-marker-length.html + + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): + +2010-09-09 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + REGRESSION(r58875-r59046): Scrollable content drawn in wrong layer with Flash 10.1 + https://bugs.webkit.org/show_bug.cgi?id=40743 + + We can't do partial compositing layer updates on scrolling if we have to look + for overlap, because the overlap map needs to be populated by traversing the + compositing layer hierarchy from the root. + + Test: compositing/layer-creation/scroll-partial-update.html + + * rendering/RenderLayerCompositor.cpp: + (WebCore::RenderLayerCompositor::updateCompositingLayers): + +2010-09-09 Philippe Normand <pnormand@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] testmimehandling falsely succeeds testing Ogg mime type + https://bugs.webkit.org/show_bug.cgi?id=45349 + + Advertize audio/x-vorbis+ogg so MediaDocuments loading local ogg + files work as well. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::mimeTypeCache): + +2010-09-09 Adam Barth <abarth@webkit.org> + + Move FTPDirectoryDocument, ImageDocument, MediaDocument, and + PluginDocument from WebCore/loader to WebCore/html. These classes are + subclasses of HTMLDocument. They don't belong in the loader. Further + cleanup patches to follow. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/FTPDirectoryDocument.cpp: Copied from WebCore/loader/FTPDirectoryDocument.cpp. + * html/FTPDirectoryDocument.h: Copied from WebCore/loader/FTPDirectoryDocument.h. + * html/ImageDocument.cpp: Copied from WebCore/loader/ImageDocument.cpp. + * html/ImageDocument.h: Copied from WebCore/loader/ImageDocument.h. + * html/MediaDocument.cpp: Copied from WebCore/loader/MediaDocument.cpp. + * html/MediaDocument.h: Copied from WebCore/loader/MediaDocument.h. + * html/PluginDocument.cpp: Copied from WebCore/loader/PluginDocument.cpp. + * html/PluginDocument.h: Copied from WebCore/loader/PluginDocument.h. + * loader/FTPDirectoryDocument.cpp: Removed. + * loader/FTPDirectoryDocument.h: Removed. + * loader/ImageDocument.cpp: Removed. + * loader/ImageDocument.h: Removed. + * loader/MediaDocument.cpp: Removed. + * loader/MediaDocument.h: Removed. + * loader/PluginDocument.cpp: Removed. + * loader/PluginDocument.h: Removed. + +2010-09-09 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: use string representation of resource type in extension API + Fixed Resoruce.Type.toString() to handle Resource.Type.Media. + https://bugs.webkit.org/show_bug.cgi?id=45286 + + Test: inspector/extensions-resources.html + + * English.lproj/localizedStrings.js: Added "media". + * inspector/front-end/ExtensionServer.js: Added webInspector.resources.Types. Return resource types as strings. + (WebInspector.ExtensionServer.prototype._convertResource): + (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript): + * inspector/front-end/Resource.js: Added toUIString(), changed toString() to return locale-independent representation. + (WebInspector.Resource.Type.toUIString): + (WebInspector.Resource.Type.toString): + +2010-09-09 Kristian Amlie <kristian.amlie@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Fixed incorrect Symbian scoping. + + The missing install functionality is only true for mmp based systems. + + https://bugs.webkit.org/show_bug.cgi?id=45268 + + * WebCore.pro: + +2010-09-09 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Dirk Schulze. + + [WML] Add a parameter to fix build break. + https://bugs.webkit.org/show_bug.cgi?id=45437 + + In WMLSelectElement.h, the setSelectedIndexByUser() needs to have one more parameter. + Because, parent class's setSelectedIndexByUser() has one more param. + + * wml/WMLSelectElement.h: + +2010-09-09 Ryuan Choi <ryuan.choi@samsung.com> + + Unreviewed attempt to fix EFL build after r67001. + + [EFL] Regression (67001) Build break + https://bugs.webkit.org/show_bug.cgi?id=45422 + + * platform/efl/ScrollbarEfl.cpp: + (scrollbarEflEdjeMessage): + +2010-09-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + MarkupAccumulator should be broken down into two classes + https://bugs.webkit.org/show_bug.cgi?id=44854 + + Extracted wrapWithNode, wrapWithStyleNode, stringValueForRange, renderedText, removeExteriorStyles, + shouldAnnotate, m_shouldAnnotate, and m_reversedPrecedingMarkup from MarkupAccumulator to create + StyledMarkupAccumulator in order to isolate annotation related code and prepending of text. + + Isolating MarkupAccumulator as a separate class has two advantages: + 1. Isolated serialization code is easier to understand and easier to security-review. + 2. Embedder can use MarkupAccumulator to implement "Save as" feature. + + Also made takeResults, appendText, and appendElement in MarkupAccumulator virtual to override in + StyledMarkupAccumulator because prepending text requires overriding takeResults, appendText needs + to append only rendered text when shouldAnnotate() is true, and appendElement requires a different + behavior when shouldAnnotate() is true or when called inside wrapWithNode with convertBlocksToInlines = true. + + No new tests are added since this is a cleanup. + + * editing/markup.cpp: + (WebCore::MarkupAccumulator::MarkupAccumulator): Removed shouldAnnotate from argument. + (WebCore::MarkupAccumulator::~MarkupAccumulator): Added. + (WebCore::StyledMarkupAccumulator::): Added. + (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Added. + (WebCore::StyledMarkupAccumulator::appendElement): Added to support annotation. + (WebCore::StyledMarkupAccumulator::shouldAnnotate): Moved from MarkupAccumulator. + (WebCore::MarkupAccumulator::appendStartTag): No longer takes convertBlocksToInlines and RangeFullySelectsNode. + (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Moved from MarkupAccumulator. + (WebCore::MarkupAccumulator::takeResults): No longer accumulates prepended text, and made virtual. + (WebCore::StyledMarkupAccumulator::takeResults): Added to support prepended text. + (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute): Takes a reference to Attribute instead of a pointer. + (WebCore::MarkupAccumulator::entityMaskForText): Extracted from appendText. + (WebCore::MarkupAccumulator::appendText): No longer deals with annotation. + (WebCore::StyledMarkupAccumulator::appendText): Added to support annotation. + (WebCore::StyledMarkupAccumulator::stringValueForRange): Moved from MarkupAccumulator. + (WebCore::StyledMarkupAccumulator::renderedText): Moved from MarkupAccumulator. + (WebCore::MarkupAccumulator::appendElement): No longer deals with annotation. + (WebCore::StyledMarkupAccumulator::wrapWithNode): Moved from MarkupAccumulator. + (WebCore::StyledMarkupAccumulator::removeExteriorStyles): Moved from MarkupAccumulator. + (WebCore::MarkupAccumulator::appendOpenTag): Added. + (WebCore::MarkupAccumulator::appendCloseTag): Added. + (WebCore::MarkupAccumulator::appendAttribute): Added. + (WebCore::MarkupAccumulator::appendStartMarkup): No longer takes convertBlocksToInlines and RangeFullySelectsNode. + (WebCore::serializeNodes): Takes StyledMarkupAccumulator. + (WebCore::createMarkup): Range version uses StyledMarkupAccumulator and node version uses MarkupAccumulator. + +2010-09-08 Peter Kasting <pkasting@google.com> + + Not reviewed, layout test fix. + + Fix flaky layout test results caused by not initializing members correctly. + https://bugs.webkit.org/show_bug.cgi?id=45411 + + * platform/ScrollAnimator.cpp: + (WebCore::ScrollAnimator::ScrollAnimator): + (WebCore::ScrollAnimator::~ScrollAnimator): + * platform/ScrollAnimator.h: + +2010-09-08 MORITA Hajime <morrita@google.com> + + Reviewed by Tony Chang. + + spelling underline gets lost on backspace + https://bugs.webkit.org/show_bug.cgi?id=41423 + + moveParagraphs() did make a DOM range by serializing source range + and deserializing it back, and markers are gone during the process. + This change marks that DOM range again. + + Test: editing/spelling/spelling-backspace-between-lines.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphs): + * editing/Editor.cpp: + (WebCore::Editor::clearMisspellingsAndBadGrammar): Added. + (WebCore::Editor::markMisspellingsAndBadGrammar): Added. + * editing/Editor.h: + +2010-09-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + text/plain documents that start with \n trigger ASSERT + https://bugs.webkit.org/show_bug.cgi?id=45409 + + Because the TextDocumentParser uses a <pre> element to show the text, + it ran into a requirement from HTML5 to skip any initial \n character + tokens inside a <pre> element. We don't want the behavior for + TextDocuments, so I've loosened our ASSERTs and added a comment and a + test to document the correct behavior. + + Test: fast/tokenizer/text-plain.html + + * html/parser/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + +2010-09-08 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Always do 2d canvas clearRect() in hardware + https://bugs.webkit.org/show_bug.cgi?id=45415 + + r67003 forced Canvas 2d's clearRect() to happen in software if a gradient/shadow/etc was + active. This is subtly wrong for mixed mode rendering since it results in only the + software backing store being cleared and not the hardware. This forces clearRect() to + happen in hardware. Since we upload mixed mode results before doing any hardware draw + this means we always clear everything. + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::clearRect): + +2010-09-08 Dean Jackson <dino@apple.com> + + Unreviewed attempt to fix the Mac builds. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseAnimationTimingFunction): + +2010-09-08 Dean Jackson <dino@apple.com> + + Unreviewed attempt to fix QT build. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::solveStepsFunction): + (WebCore::applyTimingFunction): + +2010-09-08 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + Implement steps() timing function for animations + https://bugs.webkit.org/show_bug.cgi?id=44541 + + Tests: animations/timing-functions.html + transitions/steps-timing-function.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::getTimingFunctionValue): + - when creating computed style we now test what + type of timing function it being used + * css/CSSParser.cpp: + (WebCore::CSSParser::parseCubicBezierTimingFunctionValue): + - rename this method from parseTimingFunctionValue + (WebCore::CSSParser::parseAnimationTimingFunction): + - support parsing the steps() function + * css/CSSParser.h: + - method rename + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapAnimationTimingFunction): + - handle 'step-start' and 'step-end' identifiers. Also + now use ::create when constructing objects + * css/CSSTimingFunctionValue.cpp: + (WebCore::CSSLinearTimingFunctionValue::cssText): + (WebCore::CSSCubicBezierTimingFunctionValue::cssText): + (WebCore::CSSStepsTimingFunctionValue::cssText): + - new text output for computed style. We now produce + the text 'linear' when appropriate. + * css/CSSTimingFunctionValue.h: + (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue): + (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue): + (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue): + (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): + (WebCore::CSSTimingFunctionValue::isTimingFunctionValue): + (WebCore::CSSLinearTimingFunctionValue::create): + (WebCore::CSSLinearTimingFunctionValue::isLinearTimingFunctionValue): + (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue): + (WebCore::CSSCubicBezierTimingFunctionValue::create): + (WebCore::CSSCubicBezierTimingFunctionValue::isCubicBezierTimingFunctionValue): + (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue): + (WebCore::CSSStepsTimingFunctionValue::create): + (WebCore::CSSStepsTimingFunctionValue::numberOfSteps): + (WebCore::CSSStepsTimingFunctionValue::stepAtStart): + (WebCore::CSSStepsTimingFunctionValue::isStepsTimingFunctionValue): + (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue): + - CSSTimingFunction is now a pure virtual ref-counted base class, with + subclasses for each of the three supported timing functions. + * css/CSSValueKeywords.in: + - new keywords step-start and step-end + * page/animation/AnimationBase.cpp: + (WebCore::solveStepsFunction): + - produces the output value from a stepping function + (WebCore::AnimationBase::progress): + - now has to switch based on timing function type + * page/animation/KeyframeAnimation.cpp: + (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty): + - use ref-counted access + * platform/animation/Animation.cpp: + (WebCore::Animation::animationsMatch): + - change timing function comparison for operator== + * platform/animation/Animation.h: + (WebCore::Animation::timingFunction): + (WebCore::Animation::setTimingFunction): + (WebCore::Animation::initialAnimationTimingFunction): + - move to ref-counted timing function class + * platform/animation/TimingFunction.h: + (WebCore::TimingFunction::~TimingFunction): + (WebCore::TimingFunction::isLinearTimingFunction): + (WebCore::TimingFunction::isCubicBezierTimingFunction): + (WebCore::TimingFunction::isStepsTimingFunction): + (WebCore::TimingFunction::TimingFunction): + (WebCore::LinearTimingFunction::create): + (WebCore::LinearTimingFunction::~LinearTimingFunction): + (WebCore::LinearTimingFunction::operator==): + (WebCore::LinearTimingFunction::LinearTimingFunction): + (WebCore::CubicBezierTimingFunction::create): + (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction): + (WebCore::CubicBezierTimingFunction::operator==): + (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction): + (WebCore::StepsTimingFunction::create): + (WebCore::StepsTimingFunction::~StepsTimingFunction): + (WebCore::StepsTimingFunction::operator==): + (WebCore::StepsTimingFunction::numberOfSteps): + (WebCore::StepsTimingFunction::stepAtStart): + (WebCore::StepsTimingFunction::StepsTimingFunction): + - TimingFunction is now a ref-counted pure virtual base class, + with three subclasses representing the types of timing functions + that are supported. + * platform/graphics/GraphicsLayer.h: + (WebCore::AnimationValue::AnimationValue): + (WebCore::FloatAnimationValue::FloatAnimationValue): + (WebCore::TransformAnimationValue::TransformAnimationValue): + - use PassRefPtr in function parameters + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::solveStepsFunction): + (WebCore::applyTimingFunction): + (WebCore::AnimationQt::AnimationQt): + (WebCore::AnimationQt::updateCurrentTime): + - implement the timing function switch for QT + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::getCAMediaTimingFunction): + - update for new timing function interface + (WebCore::animationHasStepsTimingFunction): + - new method to make sure animations with steps() functions + never try to execute in Core Animation + (WebCore::GraphicsLayerCA::addAnimation): + - test for steps() timing function + (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue): + * rendering/style/RenderStyleConstants.h: + - remove old RenderStyle enum for timing function types + +2010-09-08 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed trivial fix after r66960. + + * WebCore.pro: loader/TextDocument.h renamed to html/TextDocument.h + +2010-09-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + move-during-parse-parent.html crashes + https://bugs.webkit.org/show_bug.cgi?id=45210 + + When inserting elements into the tree, they need to be associated with + their parent's document, not the document for which the parser is + running. These two are different when the parent has been moved to a + different document during parsing. + + Test: fast/parser/move-during-parsing.html + + * html/parser/HTMLConstructionSite.cpp: + (WebCore::HTMLConstructionSite::insertComment): + (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): + (WebCore::HTMLConstructionSite::insertScriptElement): + (WebCore::HTMLConstructionSite::insertTextNode): + (WebCore::HTMLConstructionSite::createElement): + (WebCore::HTMLConstructionSite::createHTMLElement): + +2010-09-08 Gabor Loki <loki@webkit.org> + + Reviewed by Andreas Kling. + + Fix increases required alignment of target type warning on ARM + https://bugs.webkit.org/show_bug.cgi?id=45301 + + No new tests needed. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::readLittleEndian): + (WebCore::CloneDeserializer::readString): + * plugins/PluginDatabase.cpp: + (WebCore::readTime): + +2010-09-08 Antonio Gomes <agomes@rim.com> + + Reviewed by Daniel Bates. + + Make FocusController::focusedOrMainFrame method const + https://bugs.webkit.org/show_bug.cgi?id=45406 + + No new tests. + + * page/FocusController.cpp: + (WebCore::FocusController::focusedOrMainFrame): + * page/FocusController.h: + +2010-09-08 Jian Li <jianli@chromium.org> + + Reviewed by Darin Adler. + + Fix a problem in createCanonicalUUIDString that causes the last digit + missing on Linux. + https://bugs.webkit.org/show_bug.cgi?id=45412 + + This is caused by not including the final null character into the count + that is provided to fgets. + + This is covered by the existing test: send-form-data-with-sliced-file.html. + + * platform/UUID.cpp: + (WebCore::createCanonicalUUIDString): + +2010-09-08 Nico Weber <thakis@chromium.org> + + Reviewed by Dimitri Glazkov. + + chromium/mac: Fix overrelease in ImageLayerChromium + https://bugs.webkit.org/show_bug.cgi?id=45360 + + Only release colorSpace if we created it. + + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContents): + +2010-09-08 Robert Hogan <robert@webkit.org> + + Reviewed by Antonio Gomes. + + Remove some unnecessary duplicate calls to string functions + + https://bugs.webkit.org/show_bug.cgi?id=45314 + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::parseDataUrl): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::send): + +2010-09-08 Peter Kasting <pkasting@google.com> + + Not reviewed, fallout from http://trac.webkit.org/changeset/67001 + + Fix compile failures and add svn:eol-style on two new files. + + * platform/ScrollAnimator.h: Added property svn:eol-style. + * platform/ScrollAnimatorWin.cpp: Added property svn:eol-style. + * platform/win/PopupMenuWin.cpp: Fix compile errors. + (WebCore::PopupMenuWin::scrollToRevealSelection): + (WebCore::PopupMenuWin::scrollSize): + +2010-09-08 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Force canvas 2d draw calls to happen in software if a gradient, pattern, shadow, or clip are active + https://bugs.webkit.org/show_bug.cgi?id=45405 + + This forces all draw calls to happen in software instead of hardware if there is a fill pattern, gradient, + shadow, or clip applied; at least until we can handle these in hardware. Otherwise the pattern/gradient/etc + is completely ignored by the hardware drawing routine and we render incorrectly. + + The test is slightly convervative - for example it will force drawImage() calls to happen in software if a + fill gradient is set even though it's irrelevant. This doesn't seem to be an issue in practice and we + can tighten the checks later if needed. + + Tested by fast/canvas/canvas-incremental-repaint.html. + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::canvasClip): + (WebCore::GraphicsContext::fillRect): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::draw): + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::BitmapImage::draw): + (WebCore::BitmapImageSingleFrameSkia::draw): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::State::State): + (WebCore::PlatformContextSkia::canvasClipPath): + (WebCore::PlatformContextSkia::canAccelerate): + * platform/graphics/skia/PlatformContextSkia.h: + +2010-09-08 Peter Kasting <pkasting@google.com> + + Reviewed by David Hyatt. + + Add smooth scrolling framework, and a Windows implementation. + https://bugs.webkit.org/show_bug.cgi?id=32356 + + * CMakeLists.txt: Add ScrollAnimator. + * GNUmakefile.am: Add ScrollAnimator. + * WebCore.gyp/WebCore.gyp: Add Windows ScrollAnimator. + * WebCore.gypi: Add ScrollAnimator. + * WebCore.pro: Add ScrollAnimator. + * WebCore.vcproj/WebCore.vcproj: Add ScrollAnimator. + * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator. + * platform/ScrollAnimator.cpp: Added base implementation that does no animation. + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimator::scroll): + (WebCore::ScrollAnimator::setScrollPositionAndStopAnimation): + * platform/ScrollAnimator.h: Added base implementation that does no animation. + (WebCore::ScrollAnimator::ScrollAnimator): + (WebCore::ScrollAnimator::~ScrollAnimator): + * platform/ScrollAnimatorWin.cpp: Added Windows subclass that animates scrolls. + (WebCore::ScrollAnimator::create): + (WebCore::ScrollAnimatorWin::PerAxisData::PerAxisData): + (WebCore::ScrollAnimatorWin::ScrollAnimatorWin): + (WebCore::ScrollAnimatorWin::~ScrollAnimatorWin): + (WebCore::ScrollAnimatorWin::scroll): + (WebCore::ScrollAnimatorWin::setScrollPositionAndStopAnimation): + (WebCore::ScrollAnimatorWin::accelerationTime): + (WebCore::ScrollAnimatorWin::animationTimerFired): + (WebCore::ScrollAnimatorWin::stopAnimationTimerIfNeeded): + (WebCore::ScrollAnimatorWin::animateScroll): + * platform/ScrollAnimatorWin.h: Added Windows subclass that animates scrolls. + * platform/ScrollView.cpp: Implement new ScrollbarClient functions. Allow wheel scrolls to be animated. + (WebCore::ScrollView::scrollSize): + (WebCore::ScrollView::setScrollOffsetFromAnimation): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: Implement new ScrollbarClient functions. + * platform/Scrollbar.cpp: Allow ScrollAnimator to handle scrolls if present. + (WebCore::Scrollbar::setValue): + (WebCore::Scrollbar::scroll): + (WebCore::Scrollbar::moveThumb): + (WebCore::Scrollbar::setCurrentPos): + (WebCore::Scrollbar::mouseMoved): + * platform/Scrollbar.h: + * platform/ScrollbarClient.cpp: Added to avoid having to make ScrollAnimator.h non-private. + (WebCore::ScrollbarClient::ScrollbarClient): + (WebCore::ScrollbarClient::~ScrollbarClient): + (WebCore::ScrollbarClient::scroll): + (WebCore::ScrollbarClient::setScrollPositionAndStopAnimation): + * platform/ScrollbarClient.h: Add hooks for ScrollAnimator. + (WebCore::ScrollbarClient::convertFromScrollbarToContainingView): + (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar): + * platform/gtk/MainFrameScrollbarGtk.cpp: + (MainFrameScrollbarGtk::gtkValueChanged): + * platform/qt/ScrollbarQt.cpp: Use scroll() in preference to setValue(). + (WebCore::Scrollbar::contextMenu): + * platform/win/PopupMenuWin.cpp: Implement new ScrollbarClient functions. + (WebCore::PopupMenuWin::scrollSize): + (WebCore::PopupMenuWin::setScrollOffsetFromAnimation): + * platform/win/PopupMenuWin.h: Implement new ScrollbarClient functions. + * rendering/RenderDataGrid.cpp: Implement new ScrollbarClient functions. + (WebCore::RenderDataGrid::scrollSize): + (WebCore::RenderDataGrid::setScrollOffsetFromAnimation): + * rendering/RenderDataGrid.h: Implement new ScrollbarClient functions. + * rendering/RenderLayer.cpp: Implement new ScrollbarClient functions. + (WebCore::RenderLayer::scrollToOffset): + (WebCore::RenderLayer::scrollSize): + (WebCore::RenderLayer::setScrollOffsetFromAnimation): + (WebCore::RenderLayer::updateScrollInfoAfterLayout): + * rendering/RenderLayer.h: Implement new ScrollbarClient functions. + * rendering/RenderListBox.cpp: Implement new ScrollbarClient functions. + (WebCore::RenderListBox::scrollToRevealElementAtListIndex): + (WebCore::RenderListBox::scrollSize): + (WebCore::RenderListBox::setScrollOffsetFromAnimation): + (WebCore::RenderListBox::setScrollTop): + * rendering/RenderListBox.h: Implement new ScrollbarClient functions. + +2010-09-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + applyInlineStyleToRange needs cleanup + https://bugs.webkit.org/show_bug.cgi?id=45008 + + Removed rangeIsEmpty and extracted the entire loop into applyInlineStyleToNodeRange. + applyInlineStyleToRange is now a wrapper that fixes range and passes it on to applyInlineStyleToNodeRange. + + No new tests are added since this is a cleanup. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Cleaned up. + (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Extracted from applyInlineStyleToRange. + * editing/ApplyStyleCommand.h: + +2010-09-08 Andy Estes <aestes@apple.com> + + Rubber-stamped by Darin Adler. + + Incorporate additional feedback from + https://bugs.webkit.org/show_bug.cgi?id=45364. + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parametersForPlugin): Rename urlParam to + urlParameter. + * loader/SubframeLoader.h: Add argument names to the definition of + SubframeLoader::resourceWillUsePlugin(). + +2010-09-07 Oliver Hunt <oliver@apple.com> + + Reviewed by Anders Carlsson. + + Support SerializedScriptValue in WebKit2 + https://bugs.webkit.org/show_bug.cgi?id=45340 + + Add a new constructor that allows WebKit2 to create a SerializedScriptValue + directly from serialized data. + + * WebCore.exp.in: + * bindings/js/SerializedScriptValue.h: + (WebCore::SerializedScriptValue::adopt): + (WebCore::SerializedScriptValue::data): + +2010-09-08 Andy Estes <aestes@apple.com> + + Reviewed by Eric Carlson. + + Fallback content should be rendered when an <object> doesn't specify a + data, type or classid attribute. + https://bugs.webkit.org/show_bug.cgi?id=45364 + <rdar://problem/8375816> + + HTML5 says that if no data or type attribute is specified on an <object>, + fallback content should be rendered. However, WebKit has traditionally + supported specifying a URL and MIME type in <param> elements. + + To more closely match the spec while maintaining compatibility with + content that relied on our old behavior, we will continue to load + a resource specified by <param> elements if we can determine a priori + that it will be handled by a plug-in. + + If we can't make this determination, and the <object> element has no + "data" or "type" attribute, the <param> elements will be ignored and + fallback content will be rendered. Otherwise, there is no change in + behavior. + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parametersForPlugin): If an empty url is + passed to this function and a <param> exists that specifies a url that + references a plug-in resource, set it to url, making it the url that + will be loaded by the <object> element. + (WebCore::HTMLObjectElement::updateWidget): If no type attribute was + specified, but there is a classid attribute, try to map the classid to + a MIME type. This needs to be done before calling + HTMLObjectElement::parametersForPlugin(). + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::resourceWillUsePlugin): Make a public method + that determines if a resource will load a plug-in based on its url and + MIME type. This is equivalent to calling + SubframeLoader::shouldUsePlugin(), but does not burden the caller with + the details of fallback content. + * loader/SubframeLoader.h: + +2010-09-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add breakpoints to source frame after content is loaded. + https://bugs.webkit.org/show_bug.cgi?id=43056 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): + (WebInspector.ScriptsPanel.prototype._showScriptOrResource): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype._contentLoaded): + +2010-09-08 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + Canvas: Remove unnecessary null-check of canvas() in getImageData() + https://bugs.webkit.org/show_bug.cgi?id=45394 + + canvas() is already dereferenced earlier in the function so there is + no use in checking it for null later. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::getImageData): + +2010-09-08 Philippe Normand <pnormand@igalia.com> + + Reviewed by Eric Carlson. + + [GStreamer] cache media duration in READY instead of PLAYING + https://bugs.webkit.org/show_bug.cgi?id=39053 + + New cacheDuration private method used to in updateStates() and + durationChanged(). + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + (WebCore::MediaPlayerPrivateGStreamer::cacheDuration): + (WebCore::MediaPlayerPrivateGStreamer::durationChanged): + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: + +2010-09-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Need a WebSocket implementation + https://bugs.webkit.org/show_bug.cgi?id=45197 + + Add a GIO-based WebSocket implementation. This does not yet support + SSL sockets or proxies, but these should be possible to add as support + arrives in GLib/GIO for them. + + * platform/network/soup/SocketStreamHandle.h: + * platform/network/soup/SocketStreamHandleSoup.cpp: Add a GIO-based WebSocket implementation. + (WebCore::isActiveHandle): Added. + (WebCore::deactivateHandle): Added. + (WebCore::SocketStreamHandle::SocketStreamHandle): Filled out stub. + (WebCore::SocketStreamHandle::~SocketStreamHandle): Ditto. + (WebCore::SocketStreamHandle::connected): Added. + (WebCore::SocketStreamHandle::readBytes): Added. + (WebCore::SocketStreamHandle::writeReady): Added. + (WebCore::SocketStreamHandle::platformSend): Filled out stub. + (WebCore::SocketStreamHandle::platformClose): Filled out stub. + (WebCore::SocketStreamHandle::beginWaitingForSocketWritability): Added. + (WebCore::SocketStreamHandle::stopWaitingForSocketWritability): + (WebCore::connectedCallback): Added. + (WebCore::readReadyCallback): Added. + (WebCore::writeReadyCallback): Added. + +2010-09-07 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Dirk Schulze. + + [Cairo] Actually use the antialias parameter of GraphicsContext::clipConvexPolygon + https://bugs.webkit.org/show_bug.cgi?id=45355 + + r63864 added an additional boolean parameter to GraphicsContext::clipConvexPolygon, + which determines whether or not to render the render the clip with anti-aliasing + or not. The Cairo implementation now uses that parameter to determine the argument + to pass to cairo_set_antialias(...) when clipping. + + Test: This is tested by many tests in fast/borders. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): Actually use the boolean antialias parameter. + +2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Support to enable HTML5's Video based on gstreamer in WebKit-EFL + https://bugs.webkit.org/show_bug.cgi?id=44098 + + To support video of HTML5 based on gstreamer, add files regarding gstreamer to + CMakeListsEfl.txt. + + * CMakeListsEfl.txt: + +2010-09-08 Jan E Hanssen <jhanssen@sencha.com> + + Reviewed by Dirk Schulze. + + [Qt] PathQt should use the QPainterPath functionality for calculations + https://bugs.webkit.org/show_bug.cgi?id=43837 + + Change PathQt to use the built-in functionality of QPainterPath for + calculating length(), pointAtLength() and normalAngleAtLength(). + + * platform/graphics/Path.cpp: + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::length): + (WebCore::Path::pointAtLength): + (WebCore::Path::normalAngleAtLength): + +2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Dirk Schulze. + + [WML] Remove create() function in WMLTaskElement because of build break. + https://bugs.webkit.org/show_bug.cgi?id=44954 + + Remove create() function in WMLTaskElement.cpp because of build breaks. + + * wml/WMLTaskElement.cpp: + * wml/WMLTaskElement.h: + +2010-09-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Dirk Schulze. + + [WML] Add create functions to WML. + https://bugs.webkit.org/show_bug.cgi?id=44950 + + There are missing definitions of create function in WML area. + So, there are build breaks when enabling WML. The create functions and the construction + are added. In addition, a style error and duplicated adoptRef usage are fixed. + + * wml/WMLDocument.h: + (WebCore::WMLDocument::create): + * wml/WMLFormControlElement.h: + * wml/WMLIntrinsicEvent.cpp: + (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent): + * wml/WMLIntrinsicEvent.h: + +2010-09-08 Nico Weber <thakis@chromium.org> + + Reviewed by Kenneth Russell. + + chromium/mac: Fix crash with compositor due to missing current NSGraphicsContext + https://bugs.webkit.org/show_bug.cgi?id=45354 + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::updateContents): Set a current local context. + +2010-09-08 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + NULL deref when use target is reset, then set to display:none + https://bugs.webkit.org/show_bug.cgi?id=45345 + + Move the NULL check on shadowRoot earlier in SVGUseElement::recalcStyle + + Test: svg/custom/use-display-none.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::recalcStyle): + +2010-08-30 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Darin Adler. + + Handle MediaQueryExp memory management exclusively with smart pointers + https://bugs.webkit.org/show_bug.cgi?id=44874 + + Gace MediaQueryExp a create function, made the constructor private, and followed + the implications. The one tricky bit was using a non-copying sort to sort + the Vector<OwnPtr<MediaQueryExp> > in the MediaQuery constructor. + + * ForwardingHeaders/wtf/NonCopyingSort.h: Added. + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::~CSSParser): + (WebCore::CSSParser::createFloatingMediaQueryExp): + (WebCore::CSSParser::createFloatingMediaQueryExpList): + (WebCore::CSSParser::sinkFloatingMediaQueryExpList): + (WebCore::CSSParser::createFloatingMediaQuery): + * css/CSSParser.h: + * css/MediaList.cpp: + * css/MediaQuery.cpp: + (WebCore::expressionCompare): + (WebCore::MediaQuery::MediaQuery): + (WebCore::MediaQuery::~MediaQuery): + * css/MediaQuery.h: + (WebCore::MediaQuery::expressions): + * css/MediaQueryEvaluator.cpp: + (WebCore::MediaQueryEvaluator::eval): + * css/MediaQueryExp.h: + (WebCore::MediaQueryExp::create): + +2010-09-08 Adam Barth <abarth@webkit.org> + + Reviewed by Maciej Stachowiak. + + Remove unused member variable from DecodedDocumentParser + https://bugs.webkit.org/show_bug.cgi?id=45379 + + This member variable isn't used because of the recent split of + TextDocumentParser and TextViewSourceParser. + + * dom/DecodedDataDocumentParser.cpp: + (WebCore::DecodedDataDocumentParser::DecodedDataDocumentParser): + * dom/DecodedDataDocumentParser.h: + * dom/ScriptableDocumentParser.cpp: + (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): + * dom/ScriptableDocumentParser.h: + +2010-09-08 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Andreas Kling. + + Fix warning in rendering/RenderBlock.cpp. + https://bugs.webkit.org/show_bug.cgi?id=45373 + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::hitTestColumns): Suggested parentheses added around && within || + +2010-09-08 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Martin Robinson. + + [Gtk] A list item's number/bullet should not be a child of that list item + https://bugs.webkit.org/show_bug.cgi?id=45190 + + Ignore list markers and prefix them to the text for the item + + * accessibility/gtk/AccessibilityObjectAtk.cpp: + (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): + Make list markers ignore accessibility for the GTK port. + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_text_get_text): Prefix the text of a marker + along with the accessible text for its list item's AtkObject + +2010-09-08 Adam Barth <abarth@webkit.org> + + Rubber-stamped by Eric Seidel. + + Rename DocLoader to CachedResourceLoader because that's what it does. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSCursorImageValue.cpp: + (WebCore::CSSCursorImageValue::cachedImage): + * css/CSSCursorImageValue.h: + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::cachedResourceLoader): + (WebCore::CSSFontSelector::addFontFaceRule): + * css/CSSFontSelector.h: + * css/CSSImageValue.cpp: + (WebCore::CSSImageValue::cachedImage): + * css/CSSImageValue.h: + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::loadPendingImages): + * css/CSSStyleSheet.h: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + (WebCore::Document::implicitClose): + * dom/Document.h: + (WebCore::Document::cachedResourceLoader): + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + * dom/ScriptElement.cpp: + (WebCore::ScriptElementData::requestScript): + * dom/XMLDocumentParser.cpp: + * dom/XMLDocumentParser.h: + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::matchFunc): + (WebCore::shouldAllowExternalLoad): + (WebCore::openFunc): + (WebCore::XMLDocumentParser::doWrite): + (WebCore::XMLDocumentParser::endElementNs): + (WebCore::XMLDocumentParser::initializeParserContext): + (WebCore::XMLDocumentParser::doEnd): + (WebCore::xmlDocPtrForString): + * dom/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::parseEndElement): + * dom/XMLDocumentParserScope.cpp: + (WebCore::XMLDocumentParserScope::XMLDocumentParserScope): + (WebCore::XMLDocumentParserScope::~XMLDocumentParserScope): + * dom/XMLDocumentParserScope.h: + * editing/Editor.cpp: + (WebCore::Editor::paste): + * editing/mac/EditorMac.mm: + (WebCore::Editor::paste): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::process): + * html/parser/CSSPreloadScanner.cpp: + (WebCore::CSSPreloadScanner::emitRule): + * html/parser/HTMLPreloadScanner.cpp: + (WebCore::HTMLNames::PreloadTask::preload): + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::requestPendingScript): + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::cachedResource): + * loader/Cache.cpp: + (WebCore::Cache::requestResource): + (WebCore::Cache::requestUserCSSStyleSheet): + (WebCore::Cache::revalidateResource): + (WebCore::Cache::addCachedResourceLoader): + (WebCore::Cache::removeCachedResourceLoader): + * loader/Cache.h: + * loader/CachedCSSStyleSheet.h: + * loader/CachedFont.cpp: + (WebCore::CachedFont::load): + (WebCore::CachedFont::beginLoadIfNeeded): + * loader/CachedFont.h: + * loader/CachedImage.cpp: + (WebCore::CachedImage::load): + (WebCore::CachedImage::maximumDecodedImageSize): + * loader/CachedImage.h: + * loader/CachedResource.cpp: + (WebCore::CachedResource::CachedResource): + (WebCore::CachedResource::~CachedResource): + (WebCore::CachedResource::load): + * loader/CachedResource.h: + (WebCore::CachedResource::load): + (WebCore::CachedResource::setCachedResourceLoader): + * loader/CachedResourceLoader.cpp: Copied from WebCore/loader/DocLoader.cpp. + (WebCore::CachedResourceLoader::CachedResourceLoader): + (WebCore::CachedResourceLoader::~CachedResourceLoader): + (WebCore::CachedResourceLoader::frame): + (WebCore::CachedResourceLoader::checkForReload): + (WebCore::CachedResourceLoader::requestImage): + (WebCore::CachedResourceLoader::requestFont): + (WebCore::CachedResourceLoader::requestCSSStyleSheet): + (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): + (WebCore::CachedResourceLoader::requestScript): + (WebCore::CachedResourceLoader::requestXSLStyleSheet): + (WebCore::CachedResourceLoader::requestLinkPrefetch): + (WebCore::CachedResourceLoader::canRequest): + (WebCore::CachedResourceLoader::requestResource): + (WebCore::CachedResourceLoader::printAccessDeniedMessage): + (WebCore::CachedResourceLoader::setAutoLoadImages): + (WebCore::CachedResourceLoader::cachePolicy): + (WebCore::CachedResourceLoader::removeCachedResource): + (WebCore::CachedResourceLoader::setLoadInProgress): + (WebCore::CachedResourceLoader::checkCacheObjectStatus): + (WebCore::CachedResourceLoader::incrementRequestCount): + (WebCore::CachedResourceLoader::decrementRequestCount): + (WebCore::CachedResourceLoader::requestCount): + (WebCore::CachedResourceLoader::preload): + (WebCore::CachedResourceLoader::checkForPendingPreloads): + (WebCore::CachedResourceLoader::requestPreload): + (WebCore::CachedResourceLoader::clearPreloads): + (WebCore::CachedResourceLoader::clearPendingPreloads): + (WebCore::CachedResourceLoader::printPreloadStats): + * loader/CachedResourceLoader.h: Copied from WebCore/loader/DocLoader.h. + * loader/CachedScript.h: + * loader/CachedXSLStyleSheet.h: + * loader/DocLoader.cpp: Removed. + * loader/DocLoader.h: Removed. + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::isLoadingInAPISense): + (WebCore::DocumentLoader::subresource): + (WebCore::DocumentLoader::getSubresources): + * loader/FrameLoader.cpp: + (WebCore::numRequests): + (WebCore::FrameLoader::stopLoading): + (WebCore::FrameLoader::didBeginDocument): + * loader/HistoryController.cpp: + (WebCore::HistoryController::createItem): + * loader/ImageLoader.cpp: + (WebCore::ImageLoader::updateFromElement): + * loader/Request.cpp: + (WebCore::Request::Request): + * loader/Request.h: + (WebCore::Request::cachedResourceLoader): + * loader/loader.cpp: + (WebCore::Loader::load): + (WebCore::Loader::cancelRequests): + (WebCore::Loader::Host::servePendingRequests): + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + (WebCore::Loader::Host::didReceiveResponse): + (WebCore::Loader::Host::cancelPendingRequests): + (WebCore::Loader::Host::cancelRequests): + * loader/loader.h: + * page/DragController.cpp: + (WebCore::DragController::concludeEditDrag): + * page/Frame.cpp: + * page/FrameView.cpp: + (WebCore::FrameView::checkStopDelayingDeferredRepaints): + (WebCore::FrameView::updateDeferredRepaintDelay): + * page/Settings.cpp: + (WebCore::setLoadsImagesAutomaticallyInAllFrames): + * platform/android/TemporaryLinkStubs.cpp: + (WebCore::CheckCacheObjectStatus): + * platform/network/android/ResourceHandleAndroid.cpp: + (WebCore::ResourceHandle::start): + * platform/network/cf/ResourceHandleCFNet.cpp: + * platform/network/curl/ResourceHandleCurl.cpp: + * platform/network/mac/ResourceHandleMac.mm: + * platform/network/qt/ResourceHandleQt.cpp: + * platform/network/soup/ResourceHandleSoup.cpp: + * platform/network/win/ResourceHandleWin.cpp: + * svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::requestImageResource): + * svg/SVGFontFaceUriElement.cpp: + (WebCore::SVGFontFaceUriElement::loadFont): + * workers/Worker.cpp: + * xml/XSLImportRule.cpp: + (WebCore::XSLImportRule::loadSheet): + * xml/XSLStyleSheet.h: + * xml/XSLStyleSheetLibxslt.cpp: + (WebCore::XSLStyleSheet::cachedResourceLoader): + (WebCore::XSLStyleSheet::parseString): + * xml/XSLStyleSheetQt.cpp: + (WebCore::XSLStyleSheet::cachedResourceLoader): + * xml/XSLTProcessor.cpp: + * xml/XSLTProcessorLibxslt.cpp: + (WebCore::docLoaderFunc): + (WebCore::setXSLTLoadCallBack): + (WebCore::xmlDocPtrFromNode): + (WebCore::XSLTProcessor::transformToString): + +2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Eric Carlson. + + Add mediaPlayerPlaybackStateChanged to MediaPlayerClient + + https://bugs.webkit.org/show_bug.cgi?id=45263 + + The platform backend may change state, for example as a result + of an external plugin controlling the backend, so we need to + react to this situation by syncing up the WebCore state with the + platform backend. + + We call playInternal()/pauseInternal() depending on the backend + state, to trigger the corresponding DOM events to match the state. + + updatePlayState() is then refactored to take into account the + situation where the backend is already in the correct state but + WebCore is not, so that we update the playback progress timer + and set m_playing correctly. + + updatePlayState() changes Should be covered by existing tests. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged): + (WebCore::HTMLMediaElement::updatePlayState): + * html/HTMLMediaElement.h: + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::playbackStateChanged): + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayerClient::mediaPlayerPlaybackStateChanged): + +2010-09-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + TextDocument doesn't belong in WebCore/loader + https://bugs.webkit.org/show_bug.cgi?id=45346 + + TextDocument has nothing to do with loading. It turns out that it + should be in WebCore/html because TextDocument is actually a subclass + of HTMLDocument (in quirks mode, no less). + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/TextDocument.cpp: Renamed from WebCore/loader/TextDocument.cpp. + (WebCore::TextDocument::TextDocument): + (WebCore::TextDocument::createParser): + * html/TextDocument.h: Renamed from WebCore/loader/TextDocument.h. + (WebCore::TextDocument::create): + +2010-09-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Create TextViewSourceParser + https://bugs.webkit.org/show_bug.cgi?id=45343 + + Rather than have the view source document set a flag on + HTMLViewSourceParser to indicate whether we're parsing a text document, + this patch creates a TextViewSourceParser for parsing text documents in + view-source mode. Like the TextDocumentParser, the + TextViewSourceParser implements this functionality by subclassing its + HTML counterpart. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::createParser): + * html/parser/HTMLViewSourceParser.cpp: + * html/parser/HTMLViewSourceParser.h: + (WebCore::HTMLViewSourceParser::tokenizer): + * html/parser/TextViewSourceParser.cpp: Added. + (WebCore::TextViewSourceParser::TextViewSourceParser): + (WebCore::TextViewSourceParser::~TextViewSourceParser): + * html/parser/TextViewSourceParser.h: Added. + (WebCore::TextViewSourceParser::create): + +2010-09-08 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Move HTMLInputStream to WebCore/html/parser + https://bugs.webkit.org/show_bug.cgi?id=45339 + + I forgot to move this file before. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/parser/HTMLInputStream.h: Renamed from WebCore/html/HTMLInputStream.h. + (WebCore::HTMLInputStream::HTMLInputStream): + (WebCore::HTMLInputStream::appendToEnd): + (WebCore::HTMLInputStream::insertAtCurrentInsertionPoint): + (WebCore::HTMLInputStream::hasInsertionPoint): + (WebCore::HTMLInputStream::markEndOfFile): + (WebCore::HTMLInputStream::haveSeenEndOfFile): + (WebCore::HTMLInputStream::current): + (WebCore::HTMLInputStream::splitInto): + (WebCore::HTMLInputStream::mergeFrom): + (WebCore::InsertionPointRecord::InsertionPointRecord): + (WebCore::InsertionPointRecord::~InsertionPointRecord): + +2010-09-08 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + TextDocument should come in from the cold + https://bugs.webkit.org/show_bug.cgi?id=45334 + + Previously, TextDocument reinvented the wheel to parse text. This + patch replaces TextDocument's hand-rolled parser with a parser built on + the HTML parser infrustructure, which gives us that stuff for free. I + also disentangled TextDocument from HTMLViewSourceDocument. + + In a future patch, I'll move TextDocument out of the "loader" directory. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::createParser): + * html/HTMLViewSourceDocument.h: + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): + * html/parser/HTMLTreeBuilder.h: + * html/parser/HTMLViewSourceParser.cpp: + (WebCore::HTMLViewSourceParser::forcePlaintext): + * html/parser/HTMLViewSourceParser.h: + * html/parser/TextDocumentParser.cpp: Added. + (WebCore::TextDocumentParser::TextDocumentParser): + (WebCore::TextDocumentParser::~TextDocumentParser): + (WebCore::TextDocumentParser::insertFakePreElement): + * html/parser/TextDocumentParser.h: Added. + (WebCore::TextDocumentParser::create): + * loader/TextDocument.cpp: + * loader/TextDocument.h: + +2010-09-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Andreas Kling. + + Implement MediaPlayerPrivate::platformMedia() for the Qt port + + https://bugs.webkit.org/show_bug.cgi?id=45264 + + * platform/graphics/MediaPlayer.h: + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivate::platformMedia): + * platform/graphics/qt/MediaPlayerPrivateQt.h: + +2010-09-08 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + An individual renderer should be assigned to each SVGFE*Element class + https://bugs.webkit.org/show_bug.cgi?id=43954 + + RenderSVGResourceFilterPrimitive renderer is added to + the project, and assigned to each object, which class is + derived from SVGFilterPrimitiveStandardAttributes. The patch + mainly contains build system changes, and it fixes one layout + test in svg/dynamic-updates. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGResourceFilterPrimitive): + * rendering/RenderSVGResourceFilterPrimitive.cpp: Added. + (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): + * rendering/RenderSVGResourceFilterPrimitive.h: Added. + (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGContainer): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): + * svg/SVGFELightElement.cpp: + (WebCore::SVGFELightElement::svgAttributeChanged): + (WebCore::SVGFELightElement::childrenChanged): + * svg/SVGFEOffsetElement.cpp: + (WebCore::SVGFEOffsetElement::svgAttributeChanged): + * svg/SVGFilterElement.h: + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): + (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): + (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer): + * svg/SVGFilterPrimitiveStandardAttributes.h: + (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate): + +2010-09-07 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + DatasetDOMStringMap does not have the right memory model + https://bugs.webkit.org/show_bug.cgi?id=45358 + + Test: fast/dom/dataset-gc.html + + * bindings/js/JSElementCustom.cpp: + (WebCore::JSElement::markChildren): + Mark the dataset if it exists. + + * dom/Element.cpp: + (WebCore::Element::optionalDataset): + * dom/Element.h: + Expose a way to get the dataset or null (depending on if anyone thing + has forced its creation yet). + +2010-09-07 Jan E Hanssen <jhanssen@sencha.com> + + Reviewed by Andreas Kling. + + [Qt] Add a separate Path::closeCanvasSubpath() function for canvas paths + https://bugs.webkit.org/show_bug.cgi?id=45331 + + This is needed due to an adverse effect of the fix in 44061 that causes + certain paths not to be closed. This is not important for canvas paths + but it is for SVG paths, so splitting up the code in a generic (SVG) + case and one specialized for canvas. + + Test: svg/dom/path-totalLength.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::closePath): + * platform/graphics/Path.h: + (WebCore::Path::closeCanvasSubpath): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::closeSubpath): + (WebCore::Path::closeCanvasSubpath): + +2010-09-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Chris Marrin. + + Transform animations always run in software now + https://bugs.webkit.org/show_bug.cgi?id=45341 + + After r66339 we always fell into software animation, because we + failed to detect transform or opacity properties in the keyframes, + so would send an empty list of values to the GraphicsLayer. + + Fixed by using CSSProperty values, rather than GraphicsLayer + values, when detecting the presence of properties in the keyframes. + + Test: manual-tests/transition-accelerated.html + + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::startAnimation): + +2010-09-07 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + audio engine: add FFTFrame files + https://bugs.webkit.org/show_bug.cgi?id=34827 + + No new tests since audio API is not yet implemented. + + * platform/audio/FFTFrame.cpp: Added. + (WebCore::FFTFrame::doPaddedFFT): + (WebCore::FFTFrame::createInterpolatedFrame): + (WebCore::FFTFrame::interpolateFrequencyComponents): + (WebCore::FFTFrame::extractAverageGroupDelay): + (WebCore::FFTFrame::addConstantGroupDelay): + (WebCore::FFTFrame::print): + * platform/audio/FFTFrame.h: Added. + (WebCore::FFTFrame::fftSize): + (WebCore::FFTFrame::log2FFTSize): + (WebCore::FFTFrame::dspSplitComplex): + * platform/audio/mac/FFTFrameMac.cpp: Added. + (WebCore::FFTFrame::FFTFrame): + (WebCore::FFTFrame::~FFTFrame): + (WebCore::FFTFrame::multiply): + (WebCore::FFTFrame::doFFT): + (WebCore::FFTFrame::doInverseFFT): + (WebCore::FFTFrame::fftSetupForSize): + (WebCore::FFTFrame::cleanup): + (WebCore::FFTFrame::realData): + (WebCore::FFTFrame::imagData): + +2010-09-07 Brent Fulgham <bfulgham@webkit.org> + + Build fix, no review. + + Provide stubs to allow WebKit.dll to build + for the WinCairo port. + + * platform/network/curl/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + * platform/network/curl/ResourceResponse.h: + (WebCore::ResourceResponse::cfURLResponse): + +2010-09-07 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioArray.h + https://bugs.webkit.org/show_bug.cgi?id=45204 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioArray.h: Added. + (WebCore::AudioArray::AudioArray): + (WebCore::AudioArray::zero): + (WebCore::AudioArray::zeroRange): + (WebCore::AudioArray::copyToRange): + +2010-09-07 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Oliver Hunt. + + pushState and replaceState do not clone RegExp objects correctly + https://bugs.webkit.org/show_bug.cgi?id=44718 + + Add RegExp support to the JSC implementation of SerializedScriptValue + (it stores the pattern and flags read from a RegExpObject, and creates + a new one on deserialization). + + Tests: fast/loader/stateobjects/pushstate-object-types.html + + * ForwardingHeaders/runtime/RegExp.h: Added. + * ForwardingHeaders/runtime/RegExpObject.h: Added. + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneDeserializer::readTerminal): + +2010-09-07 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + Fix compile errors in DrawingBuffer if USE(ACCELERATED_COMPOSITING) is not set + https://bugs.webkit.org/show_bug.cgi?id=45324 + + Adds appropriate #if guards around code that has to deal directly with the compositor. + DrawingBuffer can still be used without the compositor as an off-screen rendering + region. + + To test, compile without USE(ACCELERATED_COMPOSITING). + + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.h: + +2010-09-03 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Darin Adler. + + Provide a way to trigger a <select multiple> onchange event on changes + https://bugs.webkit.org/show_bug.cgi?id=45192 + + Test: LayoutTests/platform/mac/fast/objc/dom-html-select-activate.html + + This provides a way for a WebKit client using the Obj-C DOM bindings to + trigger the "change" on a listbox select (<select multiple> or <select> + with size > 1). This is because when a select is rendered as a listbox + "change" events are triggered by mouse down events. + + This adds -[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:] + to allow for handling multiple selections if the select element is a + multi-select. + + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): + * bindings/objc/DOMPrivate.h: unified the Category name. Was "FormsAutocomplete" now all are "FormAutocomplete". + * dom/SelectElement.h: + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::setSelectedIndexByUser): listboxs need to be treated specially to fire their "change" event. + * html/HTMLSelectElement.h: + * wml/WMLSelectElement.cpp: + (WebCore::WMLSelectElement::setSelectedIndexByUser): + +2010-09-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Minor WKCACFLayerRenderer cleanup + https://bugs.webkit.org/show_bug.cgi?id=45201 + + Call initD3DGeometry() from createRenderer, rather than duplicating the code. + + No behavior changes. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::createRenderer): + +2010-09-07 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Reset the owner of PlatformLayer's once the GraphicsLayer they are associated with + gets destroyed. + https://bugs.webkit.org/show_bug.cgi?id=45329 + + Test: Fixes UI test failures downstream for all the Media tests when run on the buildbots (machines without GPUs). + + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium): + +2010-09-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8381749> -Wcast-align warning emitted when building with clang + + Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc. + + * Configurations/Base.xcconfig: + +2010-09-07 Abhishek Arya <inferno@chromium.org> + + Reviewed by Darin Adler. + + Remove redundant bounds check in originalText(). Add bounds check + to previousCharacter(). No need of start() > 0 check since m_start + is unsigned and we already do start() null check inside function. + https://bugs.webkit.org/show_bug.cgi?id=45303 + + Test: fast/text/one-letter-transform-crash.html + + * rendering/RenderTextFragment.cpp: + (WebCore::RenderTextFragment::originalText): + (WebCore::RenderTextFragment::previousCharacter): + +2010-09-07 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Regression in JPEG texture uploads on Mac OS X + https://bugs.webkit.org/show_bug.cgi?id=45316 + + Fixed regression introduced in + https://bugs.webkit.org/show_bug.cgi?id=44566 . Added regression + test covering this case to gl-teximage.html in Khronos repository + and synced test with WebKit's version. + + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-09-07 Martin Robinson <mrobinson@igalia.com> + + Add rendering/ColumnInfo.h to the sources list. + + * GNUmakefile.am: + +2010-09-07 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=45317, encapsulate multi-column rectangle information. + + * WebCore.xcodeproj/project.pbxproj: + * rendering/ColumnInfo.h: Added. + (WebCore::ColumnInfo::ColumnInfo): + (WebCore::ColumnInfo::desiredColumnWidth): + (WebCore::ColumnInfo::setDesiredColumnWidth): + (WebCore::ColumnInfo::desiredColumnCount): + (WebCore::ColumnInfo::setDesiredColumnCount): + (WebCore::ColumnInfo::columnCount): + (WebCore::ColumnInfo::columnRectAt): + (WebCore::ColumnInfo::clearColumns): + (WebCore::ColumnInfo::addColumnRect): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintColumnRules): + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::hitTestColumns): + (WebCore::RenderBlock::setDesiredColumnCountAndWidth): + (WebCore::RenderBlock::desiredColumnWidth): + (WebCore::RenderBlock::desiredColumnCount): + (WebCore::RenderBlock::columnInfo): + (WebCore::RenderBlock::layoutColumns): + (WebCore::RenderBlock::adjustPointToColumnContents): + (WebCore::RenderBlock::adjustRectForColumns): + (WebCore::RenderBlock::adjustForColumns): + * rendering/RenderBlock.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintChildLayerIntoColumns): + (WebCore::RenderLayer::hitTestChildLayerColumns): + +2010-09-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/7794761> Floats inside of multicol fail to hit test + https://bugs.webkit.org/show_bug.cgi?id=44730 + + Test: fast/multicol/hit-test-float.html + + Factored float hit-testing out of nodeAtPoint so that hitTestColumns could + call it with column-adjusted coordinates. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): + (WebCore::RenderBlock::hitTestFloats): + (WebCore::RenderBlock::hitTestColumns): + * rendering/RenderBlock.h: + +2010-09-07 François Sausset <sausset@gmail.com> + + Reviewed by Beth Dakin. + + <math> element should be centered when display attribute set to block. + https://bugs.webkit.org/show_bug.cgi?id=44206 + + Test: mathml/presentation/attributes.xhtml + + * css/mathml.css: + (math[display="block"]): + +2010-09-07 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Darin Adler. + + Media elements should derive from ActiveDOMObjects + https://bugs.webkit.org/show_bug.cgi?id=45306 + <rdar://problem/7929062> + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize ActiveDOMObject + (WebCore::HTMLMediaElement::stop): Call suspend, we want to do the same thing in both cases. + (WebCore::HTMLMediaElement::suspend): Rename from documentWillBecomeInactive. + (WebCore::HTMLMediaElement::resume): Rename from documentDidBecomeActive. + (WebCore::HTMLMediaElement::hasPendingActivity): Return true if the event queue is not empty + so the element can't be collected before they are sent. + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::canSuspend): + +2010-09-07 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, rolling out r66886. + http://trac.webkit.org/changeset/66886 + https://bugs.webkit.org/show_bug.cgi?id=45112 + + Made + + * platform/chromium/GeolocationServiceChromium.cpp: + * platform/chromium/GeolocationServiceChromium.h: + +2010-09-07 Martin Robinson <mrobinson@igalia.com> + + Small build fix. Remove libWebCoreJS from CLEAN_FILES, as it + is no longer built. + + * GNUmakefile.am: Remove reference to libWebCoreJS. + +2010-09-07 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] [REGRESSION] r66848 caused a crash in testwebview + https://bugs.webkit.org/show_bug.cgi?id=45298 + + No new tests as this fixes a test failure. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the + scrollbar adjustments unless this is a main frame ScrollView. If we do + Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing + a segfault. + +2010-09-07 Kristian Monsen <kristianm@google.com> + + Reviewed by Steve Block. + + Compile fix for Android. + https://bugs.webkit.org/show_bug.cgi?id=45292 + Explicitly add needed header for + STRING_TO_V8PARAMETER_EXCEPTION_BLOCK as they do not get + included through other headers on Android. + + No new tests, just a compile fix. + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-09-07 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix some feature guards + https://bugs.webkit.org/show_bug.cgi?id=45302 + + No new tests as this is just a build change. + + * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Guard with #if ENABLE(VIDEO) + * platform/graphics/gstreamer/DataSourceGStreamer.h: Ditto. + * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Ditto. + * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Ditto. + * platform/graphics/gstreamer/GStreamerGWorld.cpp: Ditto. + * platform/graphics/gstreamer/GStreamerGWorld.h: Ditto. + * platform/graphics/gstreamer/ImageGStreamer.h: Ditto. + * platform/graphics/gstreamer/ImageGStreamerCG.mm: Ditto. + * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto. + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Ditto. + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto. + * platform/graphics/gstreamer/PlatformVideoWindow.h: Ditto. + * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Ditto. + * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto. + * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Ditto. + * platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto. + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto. + * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Ditto. + * platform/gtk/GeolocationServiceGtk.cpp: Guard with ENABLE(GEOLOCATION) + * platform/gtk/GeolocationServiceGtk.h: Ditto. + +2010-09-07 Jonathan Dixon <joth@chromium.org> + + Reviewed by Jeremy Orlow. + + Access to out-of-scope WebGeolocationServiceBridgeImpl + https://bugs.webkit.org/show_bug.cgi?id=45112 + + Add missing virtual destructor to the abstract base class. + + * platform/chromium/GeolocationServiceChromium.cpp: + (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge): + * platform/chromium/GeolocationServiceChromium.h: + +2010-09-07 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] [REGRESSION] r66848 caused a crash in testwebview + https://bugs.webkit.org/show_bug.cgi?id=45298 + + No new tests as this fixes a test failure. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): Don't actually attach the + scrollbar adjustments unless this is a main frame ScrollView. If we do + Scrollbars will be cast incorrectly to MainFrameScrollbarGtk, causing + a segfault. + +2010-09-07 Adam Langley <agl@chromium.org> + + Reviewed by Tony Chang. + + [chromium] Fix complex text word spacing on Linux. + + I broke complex text word spacing with r66689. I misnamed a + variable in the original code |glyphIndex| when it was + actually indexing code points. That meant that I compared it + against the wrong limit when working around Harfbuzz issues + and neatly disabled word spacing. + + https://bugs.webkit.org/show_bug.cgi?id=45191 + + Test: fast/text/atsui-spacing-features.html + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::setGlyphXPositions): + +2010-09-07 Satish Sampath <satish@chromium.org> + + Reviewed by Steve Block. + + Fix speech button's hit test logic for RTL rendering. + https://bugs.webkit.org/show_bug.cgi?id=45288 + + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::forwardEvent): + +2010-09-07 Satish Sampath <satish@chromium.org> + + Reviewed by Jeremy Orlow. + + Ignore programmatic clicks on speech input button for security reasons. + https://bugs.webkit.org/show_bug.cgi?id=45181 + + Test: fast/speech/speech-button-ignore-generated-events.html + + * rendering/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): + +2010-09-07 Kent Hansen <kent.hansen@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] tst_QWebFrame::connectAndDisconnect() fails on WebKit trunk because __qt_sender__ is never set + https://bugs.webkit.org/show_bug.cgi?id=44697 + + When the signal handler is a JS function, __qt_sender__ is stuffed into a temporary + object that's pushed onto the function's scope before the function is invoked, and + popped again afterwards. + + We were pushing this new scope object _after_ calling JSFunction::getCallData(), + and relying on JSC::call() to use the fresh scope chain from the function object. + However, this is no longer the case; JSC::call() uses the scope chain passed in + the CallData argument. Hence, we need to set up the scope before the function's + CallData is queried. + + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtConnectionObject::execute): + +2010-09-07 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + Add ENABLE(INSPECTOR) guard in InspectorController::inspectorControllerForNode + https://bugs.webkit.org/show_bug.cgi?id=45272 + + Build fix. + + * inspector/InspectorController.h: + (WebCore::InspectorController::inspectorControllerForNode): + +2010-09-07 Joerg Bornemann <joerg.bornemann@nokia.com> + + Reviewed by Ariya Hidayat. + + Fix QtWebKit linker error on Windows CE 6. + https://bugs.webkit.org/show_bug.cgi?id=43442 + + Doesn't affect any tests. + + * WebCore.pro: + +2010-09-07 James Kozianski <koz@chromium.org> + + Reviewed by Kent Tamura. + + Crash rendering <meter/> with percent padding + https://bugs.webkit.org/show_bug.cgi?id=45081 + + Avoids a crash caused by RenderMeter checking its own dimensions to + determine whether it needs layout. The crash is avoided by removing + the check and always calling setNeedsLayout(true). + + Test: fast/dom/HTMLMeterElement/meter-percent-size.html + + * rendering/RenderIndicator.cpp: + (WebCore::RenderIndicator::updateFromElement): + * rendering/RenderIndicator.h: + +2010-09-06 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + OOB read with svg polyline + https://bugs.webkit.org/show_bug.cgi?id=45279 + + In principle, attributeChanged can do anything. If we supported more + DOM mutation events, it could even run JavaScript. That means we need + to be prepared for the attribute map to change when running + attributeChanged. This patch makes this loop resilient to the + attribute map changing by storing the list of changed attributes on the + stack. + + Test: fast/parser/changing-attrbutes-crash.html + + * dom/Element.cpp: + (WebCore::Element::setAttributeMap): + +2010-09-06 Oliver Hunt <oliver@apple.com> + + Windows build fix + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::write): + +2010-09-06 Oliver Hunt <oliver@apple.com> + + Windows build fix + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneSerializer::write): + +2010-09-05 Oliver Hunt <oliver@apple.com> + + Reviewed by Sam Weinig. + + SerializedScriptValue needs to use a flat storage mechanism + https://bugs.webkit.org/show_bug.cgi?id=45244 + + Rewrite the old tree to tree serialization logic to use + flat storage. Unfortunately this basically required a + complete rewrite. + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneBase::CloneBase): + (WebCore::CloneBase::shouldTerminate): + (WebCore::CloneBase::ticksUntilNextCheck): + (WebCore::CloneBase::didTimeOut): + (WebCore::CloneBase::throwStackOverflow): + (WebCore::CloneBase::throwInterruptedException): + (WebCore::CloneBase::fail): + (WebCore::CloneSerializer::serialize): + (WebCore::CloneSerializer::CloneSerializer): + (WebCore::CloneSerializer::isArray): + (WebCore::CloneSerializer::startObject): + (WebCore::CloneSerializer::startArray): + (WebCore::CloneSerializer::endObject): + (WebCore::CloneSerializer::getSparseIndex): + (WebCore::CloneSerializer::getProperty): + (WebCore::CloneSerializer::dumpImmediate): + (WebCore::CloneSerializer::dumpString): + (WebCore::CloneSerializer::dumpIfTerminal): + (WebCore::CloneSerializer::write): + (WebCore::CloneSerializer::writeLittleEndian): + (WebCore::CloneSerializer::writeStringIndex): + (WebCore::CloneDeserializer::deserializeString): + (WebCore::CloneDeserializer::deserialize): + (WebCore::CloneDeserializer::CloneDeserializer): + (WebCore::CloneDeserializer::throwValidationError): + (WebCore::CloneDeserializer::isValid): + (WebCore::CloneDeserializer::readLittleEndian): + (WebCore::CloneDeserializer::read): + (WebCore::CloneDeserializer::readStringIndex): + (WebCore::CloneDeserializer::readString): + (WebCore::CloneDeserializer::readStringData): + (WebCore::CloneDeserializer::readTag): + (WebCore::CloneDeserializer::putProperty): + (WebCore::CloneDeserializer::readFile): + (WebCore::CloneDeserializer::readTerminal): + (WebCore::SerializedScriptValue::~SerializedScriptValue): + (WebCore::SerializedScriptValue::SerializedScriptValue): + (WebCore::SerializedScriptValue::create): + (WebCore::SerializedScriptValue::toString): + (WebCore::SerializedScriptValue::deserialize): + (WebCore::SerializedScriptValue::nullValue): + * bindings/js/SerializedScriptValue.h: + * dom/MessagePortChannel.cpp: + (WebCore::MessagePortChannel::EventData::EventData): + * workers/WorkerMessagingProxy.cpp: + (WebCore::MessageWorkerContextTask::MessageWorkerContextTask): + (WebCore::MessageWorkerTask::MessageWorkerTask): + +2010-09-06 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] ScrollbarThemeGtk should be enabled for interior frame scrollbars + https://bugs.webkit.org/show_bug.cgi?id=45046 + + Make interior frame scrollbars "fully-fake," which means they do not rely + at all on GTK+ for painting or behavior, but instead are typical WebCore + scrollbars drawn according to the GTK+ theme. Move ScrollbarGtk to + MainFrameScrollbarGtk and remove all logic in that file dealing with interior + frame scrollbars. + + No new tests, as this is already covered by pixel tests for scrollbars, + which were added in r66605. + + * GNUmakefile.am: Update sources list. + * platform/ScrollView.h: Change the adjustment members to be smart pointers. + * platform/Scrollbar.cpp: Enable THUMB_POSITION_AFFECTS_BUTTONS for GTK+ as well. + * platform/gtk/MainFrameScrollbarGtk.cpp: Added. + (MainFrameScrollbarGtk::create): Create a MainFrameScrollbarGtk instead of ScrollbarGtk. + (MainFrameScrollbarGtk::MainFrameScrollbarGtk): + (MainFrameScrollbarGtk::~MainFrameScrollbarGtk): + (MainFrameScrollbarGtk::attachAdjustment): + (MainFrameScrollbarGtk::detachAdjustment): + (MainFrameScrollbarGtk::updateThumbPosition): + (MainFrameScrollbarGtk::updateThumbProportion): + (MainFrameScrollbarGtk::gtkValueChanged): + (MainFrameScrollbarGtk::paint): + * platform/gtk/MainFrameScrollbarGtk.h: Added. + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::platformInit): Remove unnecessary initialization + because of smart pointer change. + (WebCore::ScrollView::createScrollbar): Instead of creating ScrollbarGtk for + interior frame scrollbars, create a normal WebCore scrollbar. + (WebCore::ScrollView::setGtkAdjustments): Added an extra assert which ensures + that this method is never called with a non-null adjustment on an interior frame + scrollbar. + (WebCore::ScrollView::platformAddChild): Remove logic for interior frame scrollbars. + (WebCore::ScrollView::platformRemoveChild): Remove logic for interior frame scrollbars. + (WebCore::ScrollView::visibleContentRect): Use a more accurate guard for detecting + transitionary states when accessing parent widgets. Explcitly guard against interior + frame ScrollView's trying to determine size based on parent widgets. + (WebCore::ScrollView::setScrollbarModes): This method was out of sync with the one + it copy-and-pasted from. Update it and change the logic to do the right thing for + interior frame scrollbars. + * platform/gtk/ScrollbarGtk.cpp: Removed. + * platform/gtk/ScrollbarGtk.h: Removed. + +2010-09-06 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + Make SVG PendingResources use RefPtr + https://bugs.webkit.org/show_bug.cgi?id=43587 + + Convert SVGDocumentExtensions::m_pendingResources to use a RefPtr for + pending elements instead of a raw pointer so that pending elements can't + be freed prematurely. + + Test: svg/custom/use-invalid-pattern.svg + + * rendering/RenderSVGResourceContainer.cpp: + (WebCore::RenderSVGResourceContainer::registerResource): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::addPendingResource): + (WebCore::SVGDocumentExtensions::removePendingResource): + * svg/SVGDocumentExtensions.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::insertedIntoDocument): + +2010-09-06 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] ScrollbarThemeGtk should support secondary steppers + https://bugs.webkit.org/show_bug.cgi?id=44791 + + Add support to ScrollbarThemeGtk for drawing alternate steppers. Adjust + the algorithms for calculating forward and back button rects, if they + are active in the theme. Expose this information via GtkScrollbarMetrics. + + * platform/gtk/ScrollbarThemeGtk.cpp: + (WebCore::ScrollbarThemeGtk::updateThemeProperties): Access the secondary stepper properties + of GtkScrollbarMetrics when updating the style cache. + (WebCore::ScrollbarThemeGtk::backButtonRect): Account for alternate steppers. + (WebCore::ScrollbarThemeGtk::forwardButtonRect): Ditto. + (WebCore::ScrollbarThemeGtk::trackRect): Ditto. + (WebCore::ScrollbarThemeGtk::paintButton): Ditto. + * platform/gtk/ScrollbarThemeGtk.h: + * platform/gtk/gtk2drawing.c: Expose whether or not the style uses alternate steppers + via GtkScrollbarMetrics. + * platform/gtk/gtkdrawing.h: Added fields to GtkScrollbarMetrics. + +2010-09-06 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Implement HTML5 definition of document.readyState + https://bugs.webkit.org/show_bug.cgi?id=45119 + + The legacy behavior was "loading" -> "loaded" -> "complete". The new + HTML5 behavior is "loading" -> "interactive" -> "complete". There is + some potential for this to cause compat problems if for instance a + page expects readyState to be "loaded" during the DOMContentLoaded event. + + Test: fast/dom/Document/readystate.html + + * dom/Document.cpp: + (WebCore::Document::Document): Initial value is Complete because according to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-readystate, + when a Document is created the initial value is "complete" unless it has a parser associated with it, in which case it is "loading". + So the ctor starts it Complete, and when the parser is created it is flipped to Loading. + (WebCore::Document::readyState): + (WebCore::Document::setReadyState): + (WebCore::Document::implicitOpen): + (WebCore::Document::finishedParsing): Ensure that XML and HTML parser have transition to Stopping state. + * dom/Document.h: + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::prepareToStopParsing): Previously this was being called when parsing had stopped. + It is better to ensure it is only called while parsing. + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::end): Transition to stopping before calling document finishedParsiong(). + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::prepareToStopParsing): Set state to interactive before running deferred scripts. + This method is also called when parsing fragments, so we need to ensure it isn't done in that case. + (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): Added. Break out this part s that notifyFinished doesn't go through + the additional steps of pumping tokenizer, setting the state, etc. + (WebCore::HTMLDocumentParser::notifyFinished): Now that prepareToStopParsing is split up, we must protect. It also makes sense to add a couple of ASSERTs. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): It looks like an aborted load should never transition to "complete" according the HTML5. I've left the legacy behavior for now though. + (WebCore::FrameLoader::checkCompleted): The FrameLoader now sets the state on the Document instead of the Document polling the FrameLoader. + +2010-09-06 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] Inline hot methods for V8 to WebCore and back conversions + https://bugs.webkit.org/show_bug.cgi?id=45270 + + Inline fast paths of hot functions performing conversions from V8 wrappers + to WebCore native objects and back. + That slightly increases the size of binary (within 0.1% for both Ubuntu + and Windows, but those builds are slightly different from official ones), + but gives performance boost (3--5% on Windows, up to 8% on Ubuntu). + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::initContextIfNeeded): + * bindings/v8/V8DOMWindowShell.h: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getWrapperSlow): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::getWrapper): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::toV8Slow): + +2010-09-06 Shane Stephens <shanestephens@google.com> + + Reviewed by Dimitri Glazkov. + + [Crash] <animateMotion> element directly inside <symbol> element causes crash when referenced by <use> + https://bugs.webkit.org/show_bug.cgi?id=44750 + + Fixes crash by checking for null transforms and skipping update step + when appropriate. + + Test: svg/dom/symbol-embeddedAnimation.svg + + * svg/SVGAnimateMotionElement.cpp: + (WebCore::SVGAnimateMotionElement::applyResultsToTarget): + +2010-09-06 Xan Lopez <xlopez@igalia.com> + + Rubber-stamped by Tor Arne Vestbø. + + WebCore already generates a focus-{out,in} events on its setFocus + method, there's no need to duplicate it here. Previously this was + needed because we were not catching all possible names of focus + events in PluginView::handleEvent and were missing the ones + WebCore does, but this has been fixed in r66827. + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setFocus): + +2010-09-06 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r66823. + http://trac.webkit.org/changeset/66823 + https://bugs.webkit.org/show_bug.cgi?id=45266 + + Windows build fails with unknown reason (Requested by zherczeg + on #webkit). + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderObject.h: + * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed. + * rendering/RenderSVGResourceFilterPrimitive.h: Removed. + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGContainer): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): + * svg/SVGFELightElement.cpp: + (WebCore::SVGFELightElement::svgAttributeChanged): + (WebCore::SVGFELightElement::childrenChanged): + * svg/SVGFEOffsetElement.cpp: + (WebCore::SVGFEOffsetElement::svgAttributeChanged): + * svg/SVGFilterElement.h: + (WebCore::SVGFilterElement::invalidateFilter): + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): + (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): + * svg/SVGFilterPrimitiveStandardAttributes.h: + (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): + +2010-09-06 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Provide Keyboard Events to Windowless plugins + https://bugs.webkit.org/show_bug.cgi?id=44613 + + Fix keyboard event delivery for windowless plugins. + + Based on a patch by Bharathwaaj. + + * plugins/PluginView.cpp: + (WebCore::PluginView::handleEvent): also take into account + focused{in,out} events + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::handleKeyboardEvent): we want the keyval + here, not the hardware keycode + (WebCore::PluginView::handleMouseEvent): focus the pluginview on mouse events + +2010-09-06 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: it'd be nice to be able to pass undefined argument as a callback to InspectorBackend functions. + + There are some places where callback is passing via some wrapper. In that case sendMessageToBackend + will be called with additional argument for callback but with undefined value. + + https://bugs.webkit.org/show_bug.cgi?id=45265 + + * inspector/CodeGeneratorInspector.pm: + +2010-09-06 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Dirk Schulze. + + An individual renderer should be assigned to each SVGFE*Element class + https://bugs.webkit.org/show_bug.cgi?id=43954 + + RenderSVGResourceFilterPrimitive renderer is added to + the project, and assigned to each object, which class is + derived from SVGFilterPrimitiveStandardAttributes. The patch + mainly contains build system changes, and it fixes one layout + test in svg/dynamic-updates. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGResourceFilterPrimitive): + * rendering/RenderSVGResourceFilterPrimitive.cpp: Added. + (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive): + * rendering/RenderSVGResourceFilterPrimitive.h: Added. + (WebCore::RenderSVGResourceFilterPrimitive::isSVGResourceFilterPrimitive): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGContainer): + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): + * svg/SVGFELightElement.cpp: + (WebCore::SVGFELightElement::svgAttributeChanged): + (WebCore::SVGFELightElement::childrenChanged): + * svg/SVGFEOffsetElement.cpp: + (WebCore::SVGFEOffsetElement::svgAttributeChanged): + * svg/SVGFilterElement.h: + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged): + (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged): + (WebCore::SVGFilterPrimitiveStandardAttributes::createRenderer): + * svg/SVGFilterPrimitiveStandardAttributes.h: + (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate): + +2010-09-06 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Dirk Schulze. + + [WML] Use RenderImageResource in WMLImageElement.cpp + https://bugs.webkit.org/show_bug.cgi?id=44952 + + The hasImage() and setCachedImage() were moved to RenderImageResource class. + So, WML also should use the functions from RenderImageResource. + + * wml/WMLImageElement.cpp: + (WebCore::WMLImageElement::attach): + +2010-08-26 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + Add index insertion support to IndexedDB. + https://bugs.webkit.org/show_bug.cgi?id=44695 + + Whenever you insert an item into an ObjectStore, it should use all + indexes' key paths to insert corresponding entries into each index. + Also data should be deleted out of the index when it goes away. + + Not much testing yet since there's no way to directly observe indexes. + More will be in next patch. + + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::removeObjectStore): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::createTables): + * storage/IDBIndex.idl: + * storage/IDBIndexBackendImpl.cpp: + (WebCore::whereClause): + (WebCore::bindWhereClause): + (WebCore::IDBIndexBackendImpl::addingKeyAllowed): + * storage/IDBIndexBackendImpl.h: + (WebCore::IDBIndexBackendImpl::id): + * storage/IDBKey.cpp: + (WebCore::IDBKey::whereSyntax): + (WebCore::IDBKey::bind): + (WebCore::IDBKey::bindWithNulls): + * storage/IDBKey.h: + * storage/IDBObjectStore.idl: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::whereClause): + (WebCore::bindWhereClause): + (WebCore::IDBObjectStoreBackendImpl::get): + (WebCore::fetchKeyFromKeyPath): + (WebCore::putObjectStoreData): + (WebCore::putIndexData): + (WebCore::IDBObjectStoreBackendImpl::put): + (WebCore::IDBObjectStoreBackendImpl::remove): + (WebCore::IDBObjectStoreBackendImpl::createIndex): + (WebCore::doDelete): + (WebCore::IDBObjectStoreBackendImpl::removeIndex): + (WebCore::IDBObjectStoreBackendImpl::openCursor): + * storage/IDBObjectStoreBackendImpl.h: + +2010-09-06 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + [v8] bypass caches when query memory usage from post GC and in crash handler. + https://bugs.webkit.org/show_bug.cgi?id=45036 + + Add Chromium-specific API to query actual memory usage which bypasses any caches. + + * platform/chromium/ChromiumBridge.h: + +2010-09-06 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Rename SecurityOrigin::canLoad to canDisplay + https://bugs.webkit.org/show_bug.cgi?id=45214 + + canLoad is a pretty opaque name. This function is really about whether + you can display the contents of the URL in an iframe, an image, or a + plugin. + + * WebCore.exp.in: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::isSafeToLoadURL): + * loader/Cache.cpp: + (WebCore::Cache::requestResource): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadFrameRequest): + * loader/PingLoader.cpp: + (WebCore::PingLoader::loadImage): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): + (WebCore::SubframeLoader::createJavaAppletWidget): + (WebCore::SubframeLoader::loadSubframe): + (WebCore::SubframeLoader::loadPlugin): + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::create): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::canDisplay): + * page/SecurityOrigin.h: + * plugins/PluginView.cpp: + (WebCore::PluginView::load): + +2010-08-31 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: browser crashes on attempt to evaluate "alert(1)" while staying on a breakpoint + https://bugs.webkit.org/show_bug.cgi?id=44943 + + Test: inspector/debugger-suspend-active-dom-objects.html + + * page/PageGroupLoadDeferrer.cpp: + (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): + +2010-09-05 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Fisher. + + Add unit tests for red-black tree and (POD) arena + https://bugs.webkit.org/show_bug.cgi?id=45060 + + * platform/graphics/gpu/PODArena.h: Made DefaultChunkSize public so unit tests can access it. Fixed copyright header. + * platform/graphics/gpu/PODInterval.h: Fixed copyright header. + * platform/graphics/gpu/PODIntervalTree.h: Fixed copyright header. + * platform/graphics/gpu/PODRedBlackTree.h: Fixed copyright header. + +2010-09-05 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Add the concept of class methods to bindings (for IndexedDB's IDBKeyRange). + https://bugs.webkit.org/show_bug.cgi?id=45044 + + IndexedDB's IDBKeyRange has what, in other languages, are called class + methods. In javaScript terms, these are methods only accessible from their + constructor and not instances. This change adds such support to V8. There + are already other features required for IndexedDB that JSC doesn't yet + support, so I'll add this to the list of todo items in the master bug + for that. + + The bindings tests cover this. My next patch will change WebCore to use + this and it'll have associated layout tests. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: + (WebDOMTestObj::classMethod): + (WebDOMTestObj::classMethodWithOptional): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_class_method): + (webkit_dom_test_obj_class_method_with_optional): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::jsTestObjPrototypeFunctionStaticMethod): + (WebCore::jsTestObjPrototypeFunctionStaticMethodWithOptional): + * bindings/scripts/test/JS/JSTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj classMethod]): + (-[DOMTestObj classMethodWithOptional:]): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::classMethodCallback): + (WebCore::TestObjInternal::classMethodWithOptionalCallback): + (WebCore::ConfigureV8TestObjTemplate): + * storage/IDBKeyRange.idl: + +2010-09-05 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + Add IndexedDB objects' constructors to window + https://bugs.webkit.org/show_bug.cgi?id=44599 + + Also add a forgotten constant to IDBTransaction, and + change IDBKeyRange over to using the V8Static attribute + so it actually behaves as it's supposed to. + + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::iDBCursorEnabled): + (WebCore::RuntimeEnabledFeatures::iDBDatabaseEnabled): + (WebCore::RuntimeEnabledFeatures::iDBDatabaseErrorEnabled): + (WebCore::RuntimeEnabledFeatures::iDBDatabaseExceptionEnabled): + (WebCore::RuntimeEnabledFeatures::iDBErrorEventEnabled): + (WebCore::RuntimeEnabledFeatures::iDBEventEnabled): + (WebCore::RuntimeEnabledFeatures::iDBFactoryEnabled): + (WebCore::RuntimeEnabledFeatures::iDBIndexEnabled): + (WebCore::RuntimeEnabledFeatures::iDBKeyRangeEnabled): + (WebCore::RuntimeEnabledFeatures::iDBObjectStoreEnabled): + (WebCore::RuntimeEnabledFeatures::iDBRequestEnabled): + (WebCore::RuntimeEnabledFeatures::iDBSuccessEventEnabled): + (WebCore::RuntimeEnabledFeatures::iDBTransactionEnabled): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::clear): + (WebCore::DOMWindow::indexedDB): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * storage/IDBKeyRange.idl: + * storage/IDBTransaction.h: + * storage/IDBTransaction.idl: + +2010-09-04 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + Prevent premature deletion of svg use shadow tree + https://bugs.webkit.org/show_bug.cgi?id=43260 + + Test: svg/custom/use-invalid-style.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::insertedIntoDocument): + (WebCore::SVGUseElement::removedFromDocument): + (WebCore::SVGUseElement::detach): + +2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> + + Reviewed by Darin Adler. + + Add NetworkingContext to avoid layer violations + https://bugs.webkit.org/show_bug.cgi?id=42292 + + Create and provide access to NetworkingContext in FrameLoader. + + In the WebKit layer we added specific implementations of FrameNetworkingContext + so each port's FrameLoaderClient can add any port specific information to NetworkingContext + The NetworkingContext is, therefore, created by a FrameLoaderClient and stored + in the FrameLoader for each frame created. People must always use it + by calling FrameLoader::networkingContext() and never through their FrameLoaderClient. + The lifetime cycle of NetworkingContext is kept by a RefPtr, so the object is RefCounted. + + It is still a preparation to NetworkingContext to be activated and + work for all ports. + + * WebCore.exp.in: + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::createNetworkingContext): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::~FrameLoader): + (WebCore::FrameLoader::init): + (WebCore::FrameLoader::networkingContext): + * loader/FrameLoader.h: + * loader/FrameLoaderClient.h: + +2010-09-03 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Darin Adler. + + V8/JS bindings should not perform type checks if the parameter has Callback attribute + https://bugs.webkit.org/show_bug.cgi?id=45143 + + No new tests, should not affect existing idls. + + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): + (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::overloadedMethod5Callback): + (WebCore::TestObjInternal::overloadedMethodCallback): + +2010-09-03 Kenneth Russell <kbr@google.com> + + Unreviewed, Chromium build fix. Fix breakage on Windows after + r66787 / https://bugs.webkit.org/show_bug.cgi?id=45223 . + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + +2010-09-03 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Text sometimes fails to display in accelerated 2d canvases + https://bugs.webkit.org/show_bug.cgi?id=45223 + + Calls PlatformContextSkia::prepareForSoftwareDraw() before drawing glyphs + using skia to ensure that the backing store state is consistent. + + * platform/graphics/chromium/FontChromiumWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::drawGlyphs): + +2010-09-03 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Fisher. + + Add thirdparty directory and incorporate GLU tessellator + https://bugs.webkit.org/show_bug.cgi?id=44707 + + This directory is intended to contain copies of third-party libraries used + by WebCore, in particular those which may require some modification in + order to incorporate. + + No tests at this time; these sources are being added in preparation for + incorporating other code which uses them, at which point the code will be + exercised and testable. + + * thirdparty: Added. + * thirdparty/README.txt: Added. + * thirdparty/glu: Added. + * thirdparty/glu/LICENSE.txt: Added. + * thirdparty/glu/README.webkit: Added. + * thirdparty/glu/gluos.h: Added. + * thirdparty/glu/internal_glu.h: Added. + * thirdparty/glu/libtess: Added. + * thirdparty/glu/libtess/GNUmakefile: Added. + * thirdparty/glu/libtess/Imakefile: Added. + * thirdparty/glu/libtess/README: Added. + * thirdparty/glu/libtess/alg-outline: Added. + * thirdparty/glu/libtess/dict-list.h: Added. + * thirdparty/glu/libtess/dict.c: Added. + * thirdparty/glu/libtess/dict.h: Added. + * thirdparty/glu/libtess/geom.c: Added. + * thirdparty/glu/libtess/geom.h: Added. + * thirdparty/glu/libtess/memalloc.c: Added. + * thirdparty/glu/libtess/memalloc.h: Added. + * thirdparty/glu/libtess/mesh.c: Added. + * thirdparty/glu/libtess/mesh.h: Added. + * thirdparty/glu/libtess/normal.c: Added. + * thirdparty/glu/libtess/normal.h: Added. + * thirdparty/glu/libtess/priorityq-heap.c: Added. + * thirdparty/glu/libtess/priorityq-heap.h: Added. + * thirdparty/glu/libtess/priorityq-sort.h: Added. + * thirdparty/glu/libtess/priorityq.c: Added. + * thirdparty/glu/libtess/priorityq.h: Added. + * thirdparty/glu/libtess/render.c: Added. + * thirdparty/glu/libtess/render.h: Added. + * thirdparty/glu/libtess/sweep.c: Added. + * thirdparty/glu/libtess/sweep.h: Added. + * thirdparty/glu/libtess/tess.c: Added. + * thirdparty/glu/libtess/tess.h: Added. + * thirdparty/glu/libtess/tessmono.c: Added. + * thirdparty/glu/libtess/tessmono.h: Added. + +2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r66781. + http://trac.webkit.org/changeset/66781 + https://bugs.webkit.org/show_bug.cgi?id=45220 + + Breaks the build. Adds a mac-specific file to + platform/graphics without #if PLATFORM() guards and changes + the GraphicsContext3D interface without updating all + implementations (Requested by jamesr on #webkit). + + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * html/canvas/WebGLObject.cpp: + (WebCore::WebGLObject::deleteObject): + * platform/graphics/ANGLEWebKitBridge.h: + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/GraphicsContext3DOpenGL.cpp: Removed. + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::validateAttributes): + (WebCore::GraphicsContext3D::makeContextCurrent): + (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): + (WebCore::GraphicsContext3D::reshape): + (WebCore::ensureContext): + (WebCore::GraphicsContext3D::prepareTexture): + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::attachShader): + (WebCore::GraphicsContext3D::bindAttribLocation): + (WebCore::GraphicsContext3D::bindBuffer): + (WebCore::GraphicsContext3D::bindFramebuffer): + (WebCore::GraphicsContext3D::bindRenderbuffer): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::blendColor): + (WebCore::GraphicsContext3D::blendEquation): + (WebCore::GraphicsContext3D::blendEquationSeparate): + (WebCore::GraphicsContext3D::blendFunc): + (WebCore::GraphicsContext3D::blendFuncSeparate): + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + (WebCore::GraphicsContext3D::checkFramebufferStatus): + (WebCore::GraphicsContext3D::clearColor): + (WebCore::GraphicsContext3D::clear): + (WebCore::GraphicsContext3D::clearDepth): + (WebCore::GraphicsContext3D::clearStencil): + (WebCore::GraphicsContext3D::colorMask): + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::copyTexImage2D): + (WebCore::GraphicsContext3D::copyTexSubImage2D): + (WebCore::GraphicsContext3D::cullFace): + (WebCore::GraphicsContext3D::depthFunc): + (WebCore::GraphicsContext3D::depthMask): + (WebCore::GraphicsContext3D::depthRange): + (WebCore::GraphicsContext3D::detachShader): + (WebCore::GraphicsContext3D::disable): + (WebCore::GraphicsContext3D::disableVertexAttribArray): + (WebCore::GraphicsContext3D::drawArrays): + (WebCore::GraphicsContext3D::drawElements): + (WebCore::GraphicsContext3D::enable): + (WebCore::GraphicsContext3D::enableVertexAttribArray): + (WebCore::GraphicsContext3D::finish): + (WebCore::GraphicsContext3D::flush): + (WebCore::GraphicsContext3D::framebufferRenderbuffer): + (WebCore::GraphicsContext3D::framebufferTexture2D): + (WebCore::GraphicsContext3D::frontFace): + (WebCore::GraphicsContext3D::generateMipmap): + (WebCore::GraphicsContext3D::getActiveAttrib): + (WebCore::GraphicsContext3D::getActiveUniform): + (WebCore::GraphicsContext3D::getAttachedShaders): + (WebCore::GraphicsContext3D::getAttribLocation): + (WebCore::GraphicsContext3D::getContextAttributes): + (WebCore::GraphicsContext3D::getError): + (WebCore::GraphicsContext3D::getString): + (WebCore::GraphicsContext3D::hint): + (WebCore::GraphicsContext3D::isBuffer): + (WebCore::GraphicsContext3D::isEnabled): + (WebCore::GraphicsContext3D::isFramebuffer): + (WebCore::GraphicsContext3D::isProgram): + (WebCore::GraphicsContext3D::isRenderbuffer): + (WebCore::GraphicsContext3D::isShader): + (WebCore::GraphicsContext3D::isTexture): + (WebCore::GraphicsContext3D::lineWidth): + (WebCore::GraphicsContext3D::linkProgram): + (WebCore::GraphicsContext3D::pixelStorei): + (WebCore::GraphicsContext3D::polygonOffset): + (WebCore::GraphicsContext3D::readPixels): + (WebCore::GraphicsContext3D::releaseShaderCompiler): + (WebCore::GraphicsContext3D::renderbufferStorage): + (WebCore::GraphicsContext3D::sampleCoverage): + (WebCore::GraphicsContext3D::scissor): + (WebCore::GraphicsContext3D::shaderSource): + (WebCore::GraphicsContext3D::stencilFunc): + (WebCore::GraphicsContext3D::stencilFuncSeparate): + (WebCore::GraphicsContext3D::stencilMask): + (WebCore::GraphicsContext3D::stencilMaskSeparate): + (WebCore::GraphicsContext3D::stencilOp): + (WebCore::GraphicsContext3D::stencilOpSeparate): + (WebCore::GraphicsContext3D::texParameterf): + (WebCore::GraphicsContext3D::texParameteri): + (WebCore::GraphicsContext3D::uniform1f): + (WebCore::GraphicsContext3D::uniform1fv): + (WebCore::GraphicsContext3D::uniform2f): + (WebCore::GraphicsContext3D::uniform2fv): + (WebCore::GraphicsContext3D::uniform3f): + (WebCore::GraphicsContext3D::uniform3fv): + (WebCore::GraphicsContext3D::uniform4f): + (WebCore::GraphicsContext3D::uniform4fv): + (WebCore::GraphicsContext3D::uniform1i): + (WebCore::GraphicsContext3D::uniform1iv): + (WebCore::GraphicsContext3D::uniform2i): + (WebCore::GraphicsContext3D::uniform2iv): + (WebCore::GraphicsContext3D::uniform3i): + (WebCore::GraphicsContext3D::uniform3iv): + (WebCore::GraphicsContext3D::uniform4i): + (WebCore::GraphicsContext3D::uniform4iv): + (WebCore::GraphicsContext3D::uniformMatrix2fv): + (WebCore::GraphicsContext3D::uniformMatrix3fv): + (WebCore::GraphicsContext3D::uniformMatrix4fv): + (WebCore::GraphicsContext3D::useProgram): + (WebCore::GraphicsContext3D::validateProgram): + (WebCore::GraphicsContext3D::vertexAttrib1f): + (WebCore::GraphicsContext3D::vertexAttrib1fv): + (WebCore::GraphicsContext3D::vertexAttrib2f): + (WebCore::GraphicsContext3D::vertexAttrib2fv): + (WebCore::GraphicsContext3D::vertexAttrib3f): + (WebCore::GraphicsContext3D::vertexAttrib3fv): + (WebCore::GraphicsContext3D::vertexAttrib4f): + (WebCore::GraphicsContext3D::vertexAttrib4fv): + (WebCore::GraphicsContext3D::vertexAttribPointer): + (WebCore::GraphicsContext3D::viewport): + (WebCore::GraphicsContext3D::getBooleanv): + (WebCore::GraphicsContext3D::getBufferParameteriv): + (WebCore::GraphicsContext3D::getFloatv): + (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): + (WebCore::GraphicsContext3D::getIntegerv): + (WebCore::GraphicsContext3D::getProgramiv): + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getRenderbufferParameteriv): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + (WebCore::GraphicsContext3D::getTexParameterfv): + (WebCore::GraphicsContext3D::getTexParameteriv): + (WebCore::GraphicsContext3D::getUniformfv): + (WebCore::GraphicsContext3D::getUniformiv): + (WebCore::GraphicsContext3D::getUniformLocation): + (WebCore::GraphicsContext3D::getVertexAttribfv): + (WebCore::GraphicsContext3D::getVertexAttribiv): + (WebCore::GraphicsContext3D::getVertexAttribOffset): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::createBuffer): + (WebCore::GraphicsContext3D::createFramebuffer): + (WebCore::GraphicsContext3D::createProgram): + (WebCore::GraphicsContext3D::createRenderbuffer): + (WebCore::GraphicsContext3D::createShader): + (WebCore::GraphicsContext3D::createTexture): + (WebCore::GraphicsContext3D::deleteBuffer): + (WebCore::GraphicsContext3D::deleteFramebuffer): + (WebCore::GraphicsContext3D::deleteProgram): + (WebCore::GraphicsContext3D::deleteRenderbuffer): + (WebCore::GraphicsContext3D::deleteShader): + (WebCore::GraphicsContext3D::deleteTexture): + (WebCore::GraphicsContext3D::sizeInBytes): + (WebCore::GraphicsContext3D::synthesizeGLError): + +2010-09-03 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + Force 2d canvases to be rendered in software when the composite operation isn't source-over + https://bugs.webkit.org/show_bug.cgi?id=45216 + + The current accelerated 2d canvas implementation is very slow for composite operations other + than the default. This patch forces a canvas to be rendered in software if any other operation + is set until we accelerate the rest. + + Tested by any of the fast/canvas tests that use a non-default globalCompositeOperation. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): + +2010-09-03 Paul Sawaya <psawaya@apple.com> + + Reviewed by Chris Marrin. + + Refactored out Mac specific code for platform/graphics/mac/GraphicsContext3D.mm file. + Left general OpenGL code in platform/graphics/GraphicsContext3DOpenGL.cpp. + https://bugs.webkit.org/show_bug.cgi?id=30625 + + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * html/canvas/WebGLObject.cpp: + (WebCore::WebGLObject::deleteObject): + * platform/graphics/ANGLEWebKitBridge.h: + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/GraphicsContext3DOpenGL.cpp: Copied from platform/graphics/mac/GraphicsContext3DMac.mm. + (WebCore::GraphicsContext3D::prepareTexture): + (WebCore::GraphicsContext3D::activeTexture): + (WebCore::GraphicsContext3D::attachShader): + (WebCore::GraphicsContext3D::bindAttribLocation): + (WebCore::GraphicsContext3D::bindBuffer): + (WebCore::GraphicsContext3D::bindFramebuffer): + (WebCore::GraphicsContext3D::bindRenderbuffer): + (WebCore::GraphicsContext3D::bindTexture): + (WebCore::GraphicsContext3D::blendColor): + (WebCore::GraphicsContext3D::blendEquation): + (WebCore::GraphicsContext3D::blendEquationSeparate): + (WebCore::GraphicsContext3D::blendFunc): + (WebCore::GraphicsContext3D::blendFuncSeparate): + (WebCore::GraphicsContext3D::bufferData): + (WebCore::GraphicsContext3D::bufferSubData): + (WebCore::GraphicsContext3D::checkFramebufferStatus): + (WebCore::GraphicsContext3D::clearColor): + (WebCore::GraphicsContext3D::clear): + (WebCore::GraphicsContext3D::clearDepth): + (WebCore::GraphicsContext3D::clearStencil): + (WebCore::GraphicsContext3D::colorMask): + (WebCore::GraphicsContext3D::compileShader): + (WebCore::GraphicsContext3D::copyTexImage2D): + (WebCore::GraphicsContext3D::copyTexSubImage2D): + (WebCore::GraphicsContext3D::cullFace): + (WebCore::GraphicsContext3D::depthFunc): + (WebCore::GraphicsContext3D::depthMask): + (WebCore::GraphicsContext3D::depthRange): + (WebCore::GraphicsContext3D::detachShader): + (WebCore::GraphicsContext3D::disable): + (WebCore::GraphicsContext3D::disableVertexAttribArray): + (WebCore::GraphicsContext3D::drawArrays): + (WebCore::GraphicsContext3D::drawElements): + (WebCore::GraphicsContext3D::enable): + (WebCore::GraphicsContext3D::enableVertexAttribArray): + (WebCore::GraphicsContext3D::finish): + (WebCore::GraphicsContext3D::flush): + (WebCore::GraphicsContext3D::framebufferRenderbuffer): + (WebCore::GraphicsContext3D::framebufferTexture2D): + (WebCore::GraphicsContext3D::frontFace): + (WebCore::GraphicsContext3D::generateMipmap): + (WebCore::GraphicsContext3D::getActiveAttrib): + (WebCore::GraphicsContext3D::getActiveUniform): + (WebCore::GraphicsContext3D::getAttachedShaders): + (WebCore::GraphicsContext3D::getAttribLocation): + (WebCore::GraphicsContext3D::getError): + (WebCore::GraphicsContext3D::getString): + (WebCore::GraphicsContext3D::hint): + (WebCore::GraphicsContext3D::isBuffer): + (WebCore::GraphicsContext3D::isEnabled): + (WebCore::GraphicsContext3D::isFramebuffer): + (WebCore::GraphicsContext3D::isProgram): + (WebCore::GraphicsContext3D::isRenderbuffer): + (WebCore::GraphicsContext3D::isShader): + (WebCore::GraphicsContext3D::isTexture): + (WebCore::GraphicsContext3D::lineWidth): + (WebCore::GraphicsContext3D::linkProgram): + (WebCore::GraphicsContext3D::pixelStorei): + (WebCore::GraphicsContext3D::polygonOffset): + (WebCore::GraphicsContext3D::readPixels): + (WebCore::GraphicsContext3D::releaseShaderCompiler): + (WebCore::GraphicsContext3D::renderbufferStorage): + (WebCore::GraphicsContext3D::sampleCoverage): + (WebCore::GraphicsContext3D::scissor): + (WebCore::GraphicsContext3D::shaderSource): + (WebCore::GraphicsContext3D::stencilFunc): + (WebCore::GraphicsContext3D::stencilFuncSeparate): + (WebCore::GraphicsContext3D::stencilMask): + (WebCore::GraphicsContext3D::stencilMaskSeparate): + (WebCore::GraphicsContext3D::stencilOp): + (WebCore::GraphicsContext3D::stencilOpSeparate): + (WebCore::GraphicsContext3D::texParameterf): + (WebCore::GraphicsContext3D::texParameteri): + (WebCore::GraphicsContext3D::uniform1f): + (WebCore::GraphicsContext3D::uniform1fv): + (WebCore::GraphicsContext3D::uniform2f): + (WebCore::GraphicsContext3D::uniform2fv): + (WebCore::GraphicsContext3D::uniform3f): + (WebCore::GraphicsContext3D::uniform3fv): + (WebCore::GraphicsContext3D::uniform4f): + (WebCore::GraphicsContext3D::uniform4fv): + (WebCore::GraphicsContext3D::uniform1i): + (WebCore::GraphicsContext3D::uniform1iv): + (WebCore::GraphicsContext3D::uniform2i): + (WebCore::GraphicsContext3D::uniform2iv): + (WebCore::GraphicsContext3D::uniform3i): + (WebCore::GraphicsContext3D::uniform3iv): + (WebCore::GraphicsContext3D::uniform4i): + (WebCore::GraphicsContext3D::uniform4iv): + (WebCore::GraphicsContext3D::uniformMatrix2fv): + (WebCore::GraphicsContext3D::uniformMatrix3fv): + (WebCore::GraphicsContext3D::uniformMatrix4fv): + (WebCore::GraphicsContext3D::useProgram): + (WebCore::GraphicsContext3D::validateProgram): + (WebCore::GraphicsContext3D::vertexAttrib1f): + (WebCore::GraphicsContext3D::vertexAttrib1fv): + (WebCore::GraphicsContext3D::vertexAttrib2f): + (WebCore::GraphicsContext3D::vertexAttrib2fv): + (WebCore::GraphicsContext3D::vertexAttrib3f): + (WebCore::GraphicsContext3D::vertexAttrib3fv): + (WebCore::GraphicsContext3D::vertexAttrib4f): + (WebCore::GraphicsContext3D::vertexAttrib4fv): + (WebCore::GraphicsContext3D::vertexAttribPointer): + (WebCore::GraphicsContext3D::viewport): + (WebCore::GraphicsContext3D::getBooleanv): + (WebCore::GraphicsContext3D::getBufferParameteriv): + (WebCore::GraphicsContext3D::getFloatv): + (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv): + (WebCore::GraphicsContext3D::getIntegerv): + (WebCore::GraphicsContext3D::getProgramiv): + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getRenderbufferParameteriv): + (WebCore::GraphicsContext3D::getShaderiv): + (WebCore::GraphicsContext3D::getShaderInfoLog): + (WebCore::GraphicsContext3D::getShaderSource): + (WebCore::GraphicsContext3D::getTexParameterfv): + (WebCore::GraphicsContext3D::getTexParameteriv): + (WebCore::GraphicsContext3D::getUniformfv): + (WebCore::GraphicsContext3D::getUniformiv): + (WebCore::GraphicsContext3D::getUniformLocation): + (WebCore::GraphicsContext3D::getVertexAttribfv): + (WebCore::GraphicsContext3D::getVertexAttribiv): + (WebCore::GraphicsContext3D::getVertexAttribOffset): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::createBuffer): + (WebCore::GraphicsContext3D::createFramebuffer): + (WebCore::GraphicsContext3D::createProgram): + (WebCore::GraphicsContext3D::createRenderbuffer): + (WebCore::GraphicsContext3D::createShader): + (WebCore::GraphicsContext3D::createTexture): + (WebCore::GraphicsContext3D::deleteBuffer): + (WebCore::GraphicsContext3D::deleteFramebuffer): + (WebCore::GraphicsContext3D::deleteProgram): + (WebCore::GraphicsContext3D::deleteRenderbuffer): + (WebCore::GraphicsContext3D::deleteShader): + (WebCore::GraphicsContext3D::deleteTexture): + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::ensureContext): + (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses): + +2010-09-03 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Implement ImageBufferSkia::draw on the GPU when possible + https://bugs.webkit.org/show_bug.cgi?id=45207 + + When drawing from an ImageBuffer into a GraphicsContext, attempt to do the + draw in hardware when possible. This is how canvas 2d's drawImage(canvas, ...) + is implemented. Adds new API to DrawingBuffer to request a texture containing + the DrawingBuffer's current rendering results. + + Test: covered fast/canvas/drawImage.html and all other tests that draw from one + 2d canvas into another. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::getRenderingResultsAsTexture): + * platform/graphics/gpu/DrawingBuffer.h: + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::draw): + +2010-09-03 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction + https://bugs.webkit.org/show_bug.cgi?id=45187 + + Canvas2DLayerChromium keeps a back reference to a DrawingBuffer. This has to be a raw pointer + because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium. Since the layer can + outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer + is destroyed. + + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: + (WebCore::Canvas2DLayerChromium::setDrawingBuffer): + * platform/graphics/chromium/Canvas2DLayerChromium.h: + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::DrawingBuffer::~DrawingBuffer): + +2010-09-03 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Fisher. + + Add interval tree capable of holding plain old data (POD) + https://bugs.webkit.org/show_bug.cgi?id=45160 + + Adding an interval tree currently capable of holding types which + do not require their destructors to be called. POD is a slight + misnomer which will be corrected soon, hopefully by removing this + restriction. + + This class is based on the augmentable property of the red/black + tree integrated under bug 45059. + + Unit tests for the PODIntervalTree will be integrated separately + under bug 45161. + + * WebCore.gypi: + * platform/graphics/gpu/PODInterval.h: Added. + (WebCore::PODInterval::PODInterval): + (WebCore::PODInterval::low): + (WebCore::PODInterval::high): + (WebCore::PODInterval::data): + (WebCore::PODInterval::overlaps): + (WebCore::PODInterval::operator<): + (WebCore::PODInterval::operator==): + (WebCore::PODInterval::maxHigh): + (WebCore::PODInterval::setMaxHigh): + (WebCore::PODInterval::toString): + * platform/graphics/gpu/PODIntervalTree.h: Added. + (WebCore::PODIntervalTree::PODIntervalTree): + (WebCore::PODIntervalTree::allOverlaps): + (WebCore::PODIntervalTree::createInterval): + (WebCore::PODIntervalTree::checkInvariants): + (WebCore::PODIntervalTree::init): + (WebCore::PODIntervalTree::searchForOverlapsFrom): + (WebCore::PODIntervalTree::updateNode): + (WebCore::PODIntervalTree::checkInvariantsFromNode): + (WebCore::valueToString): + +2010-09-02 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Gracefully switch over to software compositing if the accelerated + compositor fails to initialize. LayerRendererChromium::create() will now return 0 + if the GLES2Context passed to it is NULL or the LayerRendererChromium failed to initialize + hardware rendering. + https://bugs.webkit.org/show_bug.cgi?id=45124 + + Tested by forcing the creation of the gles2 context to fail and loading pages that normally trigger + the compositor. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::create): + (WebCore::LayerRendererChromium::LayerRendererChromium): + (WebCore::LayerRendererChromium::makeContextCurrent): + +2010-09-03 Peter Kasting <pkasting@google.com> + + Reviewed by Simon Fraser. + + Report correct (unzoomed) image sizes for zoomed images. + https://bugs.webkit.org/show_bug.cgi?id=42089 + + Test: fast/images/zoomed-img-size.html + + * css/CSSPrimitiveValue.cpp: Factor rounding code out to a templatized function so it can be shared. + (WebCore::CSSPrimitiveValue::computeLengthInt): + (WebCore::CSSPrimitiveValue::computeLengthIntForLength): + (WebCore::CSSPrimitiveValue::computeLengthShort): + * css/CSSPrimitiveValue.h: Factor rounding code out to a templatized function so it can be shared. + (WebCore::roundForImpreciseConversion): + * html/HTMLImageElement.cpp: Report unzoomed size to script that queries an image's width or height. + (WebCore::HTMLImageElement::width): + (WebCore::HTMLImageElement::height): + * loader/ImageDocument.cpp: Report unzoomed size in the page title when viewing a standalone image. + (WebCore::ImageDocumentParser::finish): + * rendering/RenderObject.h: Use shared rounding code from CSSPrimitiveValue to compensate for inexactness in zoomed sizes. + (WebCore::adjustForAbsoluteZoom): + +2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r66770. + http://trac.webkit.org/changeset/66770 + https://bugs.webkit.org/show_bug.cgi?id=45200 + + Broke Windows in a way I can't figure out now to fix + (Requested by abarth on #webkit). + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/BindingDOMWindow.h: + (WebCore::::completeURL): + * bindings/generic/BindingFrame.h: Removed. + * bindings/generic/BindingLocation.h: Removed. + * bindings/generic/GenericBinding.h: + * bindings/js/JSBinding.h: Removed. + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::shouldAllowNavigation): + (WebCore::toLexicalFrame): + (WebCore::toDynamicFrame): + (WebCore::processingUserGesture): + (WebCore::completeURL): + * bindings/js/JSLocationCustom.cpp: + (WebCore::navigateIfAllowed): + (WebCore::JSLocation::replace): + * bindings/js/specialization/JSBindingState.cpp: Removed. + * bindings/js/specialization/JSBindingState.h: Removed. + * bindings/v8/V8Binding.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::completeURL): + (WebCore::navigateIfAllowed): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::V8Location::replaceCallback): + * bindings/v8/specialization/V8BindingState.cpp: + * bindings/v8/specialization/V8BindingState.h: + +2010-09-03 Jian Li <jianli@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION (r66452): Sending of multipart forms with files is broken. + https://bugs.webkit.org/show_bug.cgi?id=45159 + + * platform/network/FormData.cpp: + (WebCore::FormData::appendKeyValuePairItems): + +2010-09-03 Dominic Cooney <dominicc@google.com> + + Reviewed by Adam Barth. + + Moves location.replace bindings logic into bindings/generic and + instantiates it for JSC and V8. + + https://bugs.webkit.org/show_bug.cgi?id=44891 + + Covered by existing location.replace tests. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/BindingDOMWindow.h: + (WebCore::::createWindow): + (WebCore::::open): + * bindings/generic/BindingFrame.h: Added. + (WebCore::::navigateIfAllowed): + * bindings/generic/BindingLocation.h: Added. + (WebCore::::replace): + * bindings/generic/GenericBinding.h: + (WebCore::completeURL): + * bindings/js/JSBinding.h: Added. + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSDOMBinding.cpp: + (WebCore::shouldAllowNavigation): + (WebCore::toLexicalFrame): + (WebCore::toDynamicFrame): + (WebCore::processingUserGesture): + (WebCore::completeURL): + * bindings/js/JSLocationCustom.cpp: + (WebCore::navigateIfAllowed): + (WebCore::JSLocation::replace): + * bindings/js/specialization/JSBindingState.cpp: Added. + (WebCore::::getActiveFrame): + (WebCore::::getFirstFrame): + (WebCore::::processingUserGesture): + (WebCore::::allowsAccessFromFrame): + * bindings/js/specialization/JSBindingState.h: Added. + * bindings/v8/V8Binding.h: + * bindings/v8/V8Utilities.cpp: + (WebCore::completeURL): + (WebCore::navigateIfAllowed): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::V8Location::replaceCallback): + * bindings/v8/specialization/V8BindingState.cpp: + (WebCore::::allowsAccessFromFrame): + * bindings/v8/specialization/V8BindingState.h: + +2010-09-03 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Tony Chang. + + [Chromium] Make sure that the width of the menu list is always constant under layout tests. + https://bugs.webkit.org/show_bug.cgi?id=45196 + + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::menuListButtonWidth): Added. + (WebCore::RenderThemeChromiumWin::paintMenuList): Use menuListButtonWidth instead of always + querying system metrics. + +2010-09-03 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r66732. + http://trac.webkit.org/changeset/66732 + https://bugs.webkit.org/show_bug.cgi?id=45195 + + the patch is not matched with general publish/subscribe scheme + implemented in the Inspector API (Requested by loislo on + #webkit). + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::getChildNodes): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback): + (WebInspector.DOMAgent.prototype.getChildNodesAsync): + * inspector/front-end/WorkersSidebarPane.js: + (WebInspector.WorkersSidebarPane.prototype.reset): + +2010-09-03 James Robinson <jamesr@chromium.org> + + [chromium] Compile fixes for 66746 + + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::texImage2D): + (WebCore::SharedGraphicsContext3D::texSubImage2D): + +2010-09-03 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioParam files + https://bugs.webkit.org/show_bug.cgi?id=44995 + + No new tests since audio API is not yet implemented. + + * webaudio: Added. + * webaudio/AudioParam.h: Added. + (WebCore::AudioParam::create): + (WebCore::AudioParam::AudioParam): + (WebCore::AudioParam::value): + (WebCore::AudioParam::setValue): + (WebCore::AudioParam::name): + (WebCore::AudioParam::minValue): + (WebCore::AudioParam::maxValue): + (WebCore::AudioParam::defaultValue): + (WebCore::AudioParam::units): + (WebCore::AudioParam::smoothedValue): + (WebCore::AudioParam::smooth): + (WebCore::AudioParam::resetSmoothedValue): + (WebCore::AudioParam::setSmoothingConstant): + * webaudio/AudioParam.idl: Added. + +2010-09-03 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + audio engine: add AudioChannel files + https://bugs.webkit.org/show_bug.cgi?id=44921 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioChannel.cpp: Added. + (WebCore::AudioChannel::scale): + (WebCore::AudioChannel::copyFrom): + (WebCore::AudioChannel::copyFromRange): + (WebCore::AudioChannel::sumFrom): + (WebCore::AudioChannel::maxAbsValue): + * platform/audio/AudioChannel.h: Added. + (WebCore::AudioChannel::AudioChannel): + (WebCore::AudioChannel::set): + (WebCore::AudioChannel::length): + (WebCore::AudioChannel::data): + (WebCore::AudioChannel::zero): + +2010-09-03 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Adam Roben. + + [WINCE] Remove usage of ce_textcodecs.h + https://bugs.webkit.org/show_bug.cgi?id=45169 + + ce_textcodecs.h was a non public header for (not required) + additonal codecs in the original Torch Mobile port. + + * platform/text/wince/TextCodecWinCE.cpp: + (WebCore::LanguageManager::LanguageManager): + (WebCore::decode): + +2010-09-03 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Initial patch for audio engine: AudioBus and helper classes + https://bugs.webkit.org/show_bug.cgi?id=34452 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioBus.cpp: Added. + (WebCore::AudioBus::AudioBus): + (WebCore::AudioBus::setChannelMemory): + (WebCore::AudioBus::zero): + (WebCore::AudioBus::channelByType): + (WebCore::AudioBus::topologyMatches): + (WebCore::AudioBus::createBufferFromRange): + (WebCore::AudioBus::maxAbsValue): + (WebCore::AudioBus::normalize): + (WebCore::AudioBus::scale): + (WebCore::AudioBus::copyFrom): + (WebCore::AudioBus::sumFrom): + (WebCore::AudioBus::processWithGainFromMonoStereo): + (WebCore::AudioBus::processWithGainFrom): + (WebCore::AudioBus::copyWithGainFrom): + (WebCore::AudioBus::sumWithGainFrom): + * platform/audio/AudioBus.h: Added. + (WebCore::AudioBus::numberOfChannels): + (WebCore::AudioBus::channel): + (WebCore::AudioBus::length): + (WebCore::AudioBus::sampleRate): + (WebCore::AudioBus::setSampleRate): + (WebCore::AudioBus::setGain): + (WebCore::AudioBus::gain): + (WebCore::AudioBus::reset): + (WebCore::AudioBus::AudioBus): + * platform/audio/AudioSourceProvider.h: Added. + (WebCore::AudioSourceProvider::~AudioSourceProvider): + +2010-09-03 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add Panner files + https://bugs.webkit.org/show_bug.cgi?id=45076 + + No new tests since audio API is not yet implemented. + + * platform/audio/Panner.cpp: Added. + (WebCore::Panner::create): + * platform/audio/Panner.h: Added. + (WebCore::Panner::~Panner): + (WebCore::Panner::panningModel): + (WebCore::Panner::Panner): + +2010-09-03 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioListener files + https://bugs.webkit.org/show_bug.cgi?id=45006 + + No new tests since audio API is not yet implemented. + + * webaudio: Added. + * webaudio/AudioListener.cpp: Added. + (WebCore::AudioListener::AudioListener): + * webaudio/AudioListener.h: Added. + (WebCore::AudioListener::create): + (WebCore::AudioListener::setPosition): + (WebCore::AudioListener::position): + (WebCore::AudioListener::setOrientation): + (WebCore::AudioListener::orientation): + (WebCore::AudioListener::setUpVector): + (WebCore::AudioListener::upVector): + (WebCore::AudioListener::setVelocity): + (WebCore::AudioListener::velocity): + (WebCore::AudioListener::setDopplerFactor): + (WebCore::AudioListener::dopplerFactor): + (WebCore::AudioListener::setSpeedOfSound): + (WebCore::AudioListener::speedOfSound): + * webaudio/AudioListener.idl: Added. + +2010-09-03 Chris Rogers <crogers@google.com> + + Unreviewed + + Add WebCore/webaudio and WebCore/platform/audio/mac directories in preparation for landing reviewed patches + https://bugs.webkit.org/show_bug.cgi?id=45185 + + * platform/audio/mac: Added. + * webaudio: Added. + +2010-09-03 James Robinson <jamesr@chromium.org> + + Reviewed by Chris Marrin. + + Multiple accelerated 2D canvases should be able to use the same GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=44926 + + This allows many accelerated 2d canvases to render using a single underlying GraphicsContext3D. + It introduces a new class SharedGraphicsContext3D that manages several callers. This class could + also cache the current state to avoid issuing redundant calls, although in this first cut it doesn't. + The SharedGraphicsContext3D is provided through the ChromeClient so that its lifetime can be tied to that + of the platform-specific compositor infrastructure. + + Accelerated 2d canvases maintain a reference to a SharedGraphicsContext3D and have ownership of a CanvasFramebuffer, + which represents the canvas's rendering target. The compositing layer for an accelerated 2d canvas is + aware only of the canvas's CanvasFramebuffer. This means that WebGL and 2d canvases are no longer treated + as the same time of layer by the compositor. + + Covered by existing canvas tests. + + * WebCore.gypi: + * html/canvas/CanvasRenderingContext.cpp: + * html/canvas/CanvasRenderingContext.h: + (WebCore::CanvasRenderingContext::paintsIntoCanvasBuffer): + (WebCore::CanvasRenderingContext::platformLayer): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): + (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer): + (WebCore::CanvasRenderingContext2D::reset): + (WebCore::CanvasRenderingContext2D::didDraw): + (WebCore::CanvasRenderingContext2D::platformLayer): + * html/canvas/CanvasRenderingContext2D.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::paintsIntoCanvasBuffer): + * html/canvas/WebGLRenderingContext.h: + (WebCore::WebGLRenderingContext::graphicsContext3D): + (WebCore::WebGLRenderingContext::platformLayer): + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::attachRootGraphicsLayer): + (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization): + (WebCore::EmptyChromeClient::scheduleCompositingLayerSync): + * page/ChromeClient.h: + (WebCore::ChromeClient::getSharedGraphicsContext3D): + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setSharedGraphicsContext3D): + (WebCore::GraphicsContext::syncSoftwareCanvas): + * platform/graphics/GraphicsContext.h: + * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Added. + (WebCore::Canvas2DLayerChromium::create): + (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium): + (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): + (WebCore::Canvas2DLayerChromium::updateContents): + (WebCore::Canvas2DLayerChromium::setTextureChanged): + (WebCore::Canvas2DLayerChromium::textureId): + * platform/graphics/chromium/Canvas2DLayerChromium.h: Added. + (WebCore::Canvas2DLayerChromium::drawsContent): + * platform/graphics/chromium/CanvasLayerChromium.cpp: + (WebCore::CanvasLayerChromium::CanvasLayerChromium): + (WebCore::CanvasLayerChromium::~CanvasLayerChromium): + (WebCore::CanvasLayerChromium::draw): + * platform/graphics/chromium/CanvasLayerChromium.h: + * platform/graphics/chromium/DrawingBufferChromium.cpp: Added. + (WebCore::generateColorTexture): + (WebCore::DrawingBuffer::DrawingBuffer): + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::publishToPlatformLayer): + (WebCore::DrawingBuffer::reset): + (WebCore::DrawingBuffer::platformLayer): + * platform/graphics/chromium/GLES2Canvas.cpp: + (WebCore::GLES2Canvas::GLES2Canvas): + (WebCore::GLES2Canvas::~GLES2Canvas): + (WebCore::GLES2Canvas::bindFramebuffer): + (WebCore::GLES2Canvas::clearRect): + (WebCore::GLES2Canvas::fillRect): + (WebCore::GLES2Canvas::drawTexturedRect): + (WebCore::GLES2Canvas::drawTexturedRectTile): + (WebCore::GLES2Canvas::drawQuad): + (WebCore::GLES2Canvas::createTexture): + (WebCore::GLES2Canvas::getTexture): + * platform/graphics/chromium/GLES2Canvas.h: + (WebCore::GLES2Canvas::context): + (WebCore::GLES2Canvas::drawingBuffer): + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setContentsToCanvas): + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/chromium/WebGLLayerChromium.cpp: Added. + (WebCore::WebGLLayerChromium::create): + (WebCore::WebGLLayerChromium::WebGLLayerChromium): + (WebCore::WebGLLayerChromium::updateContents): + (WebCore::WebGLLayerChromium::setContext): + * platform/graphics/chromium/WebGLLayerChromium.h: Added. + (WebCore::WebGLLayerChromium::drawsContent): + * platform/graphics/gpu/DrawingBuffer.cpp: Added. + (WebCore::DrawingBuffer::create): + (WebCore::DrawingBuffer::bind): + (WebCore::DrawingBuffer::setWillPublishCallback): + * platform/graphics/gpu/DrawingBuffer.h: Added. + (WebCore::DrawingBuffer::size): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Added. + (WebCore::SharedGraphicsContext3D::create): + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D): + (WebCore::SharedGraphicsContext3D::makeContextCurrent): + (WebCore::SharedGraphicsContext3D::scissor): + (WebCore::SharedGraphicsContext3D::enable): + (WebCore::SharedGraphicsContext3D::disable): + (WebCore::SharedGraphicsContext3D::clearColor): + (WebCore::SharedGraphicsContext3D::clear): + (WebCore::SharedGraphicsContext3D::drawArrays): + (WebCore::SharedGraphicsContext3D::getError): + (WebCore::SharedGraphicsContext3D::getIntegerv): + (WebCore::SharedGraphicsContext3D::createFramebuffer): + (WebCore::SharedGraphicsContext3D::createTexture): + (WebCore::SharedGraphicsContext3D::deleteFramebuffer): + (WebCore::SharedGraphicsContext3D::deleteTexture): + (WebCore::SharedGraphicsContext3D::framebufferTexture2D): + (WebCore::SharedGraphicsContext3D::texParameteri): + (WebCore::SharedGraphicsContext3D::texImage2D): + (WebCore::SharedGraphicsContext3D::texSubImage2D): + (WebCore::SharedGraphicsContext3D::readPixels): + (WebCore::SharedGraphicsContext3D::supportsBGRA): + (WebCore::SharedGraphicsContext3D::getTexture): + (WebCore::SharedGraphicsContext3D::applyCompositeOperator): + (WebCore::SharedGraphicsContext3D::useQuadVertices): + (WebCore::SharedGraphicsContext3D::setActiveTexture): + (WebCore::SharedGraphicsContext3D::bindTexture): + (WebCore::SharedGraphicsContext3D::useFillSolidProgram): + (WebCore::SharedGraphicsContext3D::useTextureProgram): + (WebCore::SharedGraphicsContext3D::bindFramebuffer): + (WebCore::SharedGraphicsContext3D::setViewport): + (WebCore::SharedGraphicsContext3D::paintsIntoCanvasBuffer): + * platform/graphics/gpu/SharedGraphicsContext3D.h: Added. + * platform/graphics/gpu/Texture.cpp: + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::syncSoftwareCanvas): + (WebCore::GraphicsContext::setSharedGraphicsContext3D): + * platform/graphics/skia/ImageSkia.cpp: + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::~PlatformContextSkia): + (WebCore::WillPublishCallbackImpl::create): + (WebCore::WillPublishCallbackImpl::willPublish): + (WebCore::WillPublishCallbackImpl::WillPublishCallbackImpl): + (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + (WebCore::PlatformContextSkia::readbackHardwareToSoftware): + * platform/graphics/skia/PlatformContextSkia.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): + +2010-09-03 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add audio distance effect files + https://bugs.webkit.org/show_bug.cgi?id=44705 + + No new tests since audio API is not yet implemented. + + * platform/audio/Distance.cpp: Added. + (WebCore::DistanceEffect::DistanceEffect): + (WebCore::DistanceEffect::gain): + (WebCore::DistanceEffect::linearGain): + (WebCore::DistanceEffect::inverseGain): + (WebCore::DistanceEffect::exponentialGain): + * platform/audio/Distance.h: Added. + (WebCore::DistanceEffect::model): + (WebCore::DistanceEffect::setModel): + (WebCore::DistanceEffect::setRefDistance): + (WebCore::DistanceEffect::setMaxDistance): + (WebCore::DistanceEffect::setRolloffFactor): + (WebCore::DistanceEffect::refDistance): + (WebCore::DistanceEffect::maxDistance): + (WebCore::DistanceEffect::rolloffFactor): + +2010-09-03 Johnny Ding <jnd@chromium.org> + + Reviewed by Adam Barth. + + Save the gesture state to track the user gesture state across async form submission. + https://bugs.webkit.org/show_bug.cgi?id=44969 + + fast/events/popup-blocked-to-post-blank.html can cover the test in WebKit. + A UI test will be added in chromium to address chromium's bug. + + * loader/RedirectScheduler.cpp: + (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): + (WebCore::ScheduledFormSubmission::fire): + (WebCore::RedirectScheduler::scheduleFormSubmission): + +2010-09-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics + https://bugs.webkit.org/show_bug.cgi?id=45182 + + Test: fast/text/decomposed-after-stacked-diacritics.html + + * platform/graphics/Font.cpp: + (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since + it may also contain characters that require the complex text code path. + +2010-09-03 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Cleanup after r66117 - extract heap snapshot + view styles into a dedicated .css + + https://bugs.webkit.org/show_bug.cgi?id=45178 + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/front-end/WebKit.qrc: + * inspector/front-end/heapProfiler.css: Added. + (.heap-snapshot-sidebar-tree-item .icon): + (.heap-snapshot-sidebar-tree-item.small .icon): + (.heap-snapshot-view): + (.heap-snapshot-view.visible): + (.heap-snapshot-view .data-grid): + (.heap-snapshot-view .data-grid th.count-column): + (.heap-snapshot-view .data-grid td.count-column): + (.heap-snapshot-view .data-grid th.size-column): + (.heap-snapshot-view .data-grid td.size-column): + (.heap-snapshot-view .data-grid th.countDelta-column): + (.heap-snapshot-view .data-grid td.countDelta-column): + (.heap-snapshot-view .data-grid th.sizeDelta-column): + (.heap-snapshot-view .data-grid td.sizeDelta-column): + (#heap-snapshot-summary-container): + (.heap-snapshot-summary): + (.heap-snapshot-summary canvas.summary-graph): + (.heap-snapshot-summary-label): + * inspector/front-end/inspector.css: + * inspector/front-end/inspector.html: + +2010-09-03 Zaheer Ahmad <zaheer.mot@gmail.com> + + Reviewed by Darin Adler. + + [GTK] compilation issue with JSTimeRanges when video turned off + https://bugs.webkit.org/show_bug.cgi?id=44249 + + Move the JSTimeRanges outside ENABLE_VIDEO in GNUMakefile.am + * WebCore/GNUMakefile.am + +2010-09-03 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value. + + The current implementation of the inspector api has some unnecessary complexity. + As example WebInspector is requesting child nodes of a node by getChildNodes + but DOM agent is actually pushing the child nodes via setChildNodes event call and + send back an empty response message. + + https://bugs.webkit.org/show_bug.cgi?id=45172 + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getChildNodesArray): + (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): + (WebCore::InspectorDOMAgent::getChildNodes): + * inspector/InspectorDOMAgent.h: + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback): + (WebInspector.DOMAgent.prototype.getChildNodesAsync): + * inspector/front-end/WorkersSidebarPane.js: + (WebInspector.WorkersSidebarPane.prototype.reset): + +2010-09-03 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + SVG atlas map slider doesn't work properly + https://bugs.webkit.org/show_bug.cgi?id=45107 + + SVG 1.1 2nd edition relaxes hit testing rules. The outermost <svg> should react + to mouse events, in standalone and compound documents, if the mouse location is + within the intrinsic boundaries of the <svg> element. + + Tests: svg/custom/mouse-move-on-svg-container-standalone.svg + svg/custom/mouse-move-on-svg-container.xhtml + svg/custom/mouse-move-on-svg-root-standalone.svg + svg/custom/mouse-move-on-svg-root.xhtml + + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::nodeAtPoint): + +2010-09-03 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: provide more information to front-end when breaking on DOM event + https://bugs.webkit.org/show_bug.cgi?id=44679 + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::parserInsertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::appendChild): + (WebCore::ContainerNode::parserAddChild): + (WebCore::notifyChildInserted): + (WebCore::dispatchChildRemovalEvents): + * dom/Element.cpp: + (WebCore::Element::setAttribute): + (WebCore::Element::removeAttribute): + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willInsertDOMNodeImpl): + (WebCore::InspectorController::didInsertDOMNodeImpl): + (WebCore::InspectorController::willRemoveDOMNodeImpl): + (WebCore::InspectorController::didRemoveDOMNodeImpl): + (WebCore::InspectorController::willModifyDOMAttrImpl): + (WebCore::InspectorController::didModifyDOMAttrImpl): + * inspector/InspectorController.h: + (WebCore::InspectorController::willInsertDOMNode): + (WebCore::InspectorController::didInsertDOMNode): + (WebCore::InspectorController::willRemoveDOMNode): + (WebCore::InspectorController::willModifyDOMAttr): + (WebCore::InspectorController::didModifyDOMAttr): + (WebCore::InspectorController::inspectorControllerForNode): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::~InspectorDOMAgent): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion): + (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval): + (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification): + (WebCore::InspectorDOMAgent::didInsertDOMNode): + (WebCore::InspectorDOMAgent::didRemoveDOMNode): + (WebCore::InspectorDOMAgent::didModifyDOMAttr): + (WebCore::InspectorDOMAgent::createBreakpoint): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::didPause): + (WebCore::InspectorDebuggerAgent::breakProgram): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorValues.h: + (WebCore::InspectorValue::isNull): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointItem): + (WebInspector.BreakpointItem.prototype._enableChanged): + * inspector/front-end/Script.js: + (WebInspector.Script.prototype.get linesCount): + * inspector/front-end/inspector.js: + (WebInspector.pausedScript): + +2010-08-31 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + IDBCursor.continue() should reuse the .openCursor's IDBRequest object + https://bugs.webkit.org/show_bug.cgi?id=44953 + + This is to match the spec. This requires a modification to IDBRequest so + that multiple events can be queued up. + + Note that the initial state for IDBRequest was removed from the spec. + + Test: modified existing test to verify new behavior. + + * storage/IDBAny.cpp: + (WebCore::IDBAny::createInvalid): + (WebCore::IDBAny::createNull): + (WebCore::IDBAny::setNull): + * storage/IDBAny.h: + (WebCore::IDBAny::create): + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::IDBCursor): + (WebCore::IDBCursor::continueFunction): + * storage/IDBCursor.h: + (WebCore::IDBCursor::create): + * storage/IDBCursor.idl: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::IDBRequest): + (WebCore::IDBRequest::~IDBRequest): + (WebCore::IDBRequest::resetReadyState): + (WebCore::IDBRequest::onError): + (WebCore::IDBRequest::onSuccess): + (WebCore::IDBRequest::abort): + (WebCore::IDBRequest::timerFired): + (WebCore::IDBRequest::scheduleEvent): + * storage/IDBRequest.h: + * storage/IDBRequest.idl: + +2010-09-03 Bharathwaaj Srinivasan <bharathwaaj.s@gmail.com> + + Reviewed by Xan Lopez. + + Initialize keyboard events before passing plugins. + https://bugs.webkit.org/show_bug.cgi?id=44771 + + No new tests needed since this is a trivial fix. + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::handleKeyboardEvent): + +2010-09-03 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed. Fix Qt compilation. + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::parametersForPlugin): + +2010-09-03 Hironori Bono <hbono@chromium.org> + + Reviewed by Kent Tamura. + + Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests + and implements it for Mac. + https://bugs.webkit.org/show_bug.cgi?id=41832 + + Tests: editing/spelling/spelling-contenteditable.html + editing/spelling/spelling-textarea.html + + * WebCore.exp.in: Exported symbols used by [WebFrame hasSpellingMarker:length:]. + +2010-09-02 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector + https://bugs.webkit.org/show_bug.cgi?id=44230 + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::inspectedPageDestroyed): + (WebCore::InspectorController::close): + * inspector/InspectorFrontendClient.h: + * inspector/InspectorFrontendHost.cpp: + (WebCore::InspectorFrontendHost::disconnectFromBackend): don't try to notify InspectorController + that frontend closes if InspectorController triggered the action. + * inspector/InspectorFrontendHost.h: + * inspector/InspectorFrontendHost.idl: + * inspector/front-end/InspectorFrontendHostStub.js: + (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend): + * inspector/front-end/inspector.js: + (WebInspector.disconnectFromBackend): + +2010-09-03 Girish Ramakrishnan <girish@forwardbias.in> + + Reviewed-by Simon Hausmann. + + Passing a 32-bit depth X pixmap to NPAPI windowless plugins is too inefficient. + Instead, pass a X Pixmap that has same depth as the screen depth since graphics + operations are optimized for this depth. + + https://bugs.webkit.org/show_bug.cgi?id=45167 + + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::determineQuirks): + +2010-09-02 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + Add ENABLE(DATABASE) guard to DatabaseAuthorizer.cpp + https://bugs.webkit.org/show_bug.cgi?id=45152 + + DatabaseAuthorizer is used only with ENABLE(DATABASE). + + * storage/DatabaseAuthorizer.cpp: + +2010-09-02 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: persist DOM breakpoints between page reloads + https://bugs.webkit.org/show_bug.cgi?id=44837 + + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.DOMBreakpointItem): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode.prototype.path): + (WebInspector.DOMNode.prototype.setBreakpoint): + (WebInspector.DOMNode.prototype.hasBreakpoint): + (WebInspector.DOMNode.prototype.removeBreakpoint): + (WebInspector.DOMNode.prototype.removeBreakpoints): + (WebInspector.DOMAgent.prototype._setDocument): + (WebInspector.DOMAgent.prototype._childNodeRemoved): + (WebInspector.DOMAgent.prototype._removeBreakpoints): + (WebInspector.DOMBreakpointManager): + (WebInspector.DOMBreakpointManager.prototype.setBreakpoint): + (WebInspector.DOMBreakpointManager.prototype.removeBreakpointsForNode): + (WebInspector.DOMBreakpointManager.prototype._breakpointRemoved): + (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints.restoreBreakpointsForNode): + (WebInspector.DOMBreakpointManager.prototype.restoreBreakpoints): + (WebInspector.DOMBreakpoint): + (WebInspector.DOMBreakpoint.prototype.get nodeId): + (WebInspector.DOMBreakpoint.prototype.get type): + (WebInspector.DOMBreakpoint.prototype.set enabled): + (WebInspector.DOMBreakpoint.prototype.remove): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.reset): + (WebInspector.ElementsPanel.prototype.setDocument): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): + +2010-09-02 Eric Seidel <eric@webkit.org> + + Reviewed by Dimitri Glazkov. + + Move updateWidget into FrameView from RenderEmbeddedObject + https://bugs.webkit.org/show_bug.cgi?id=45065 + + I also made updateWidget() virtual on HTMLPlugInImageElement. + I'm not yet sure that updateWidget belongs on HTMLElement since + I'm not sure that HTMLMediaElement's use of the updateWidget + infrastructure is correct. + + I also got rid of the strange !m_replacementText.isEmpty() checks + by making a pluginCrashedOrWasMissing() call which seems to embody + the idea behind that check and hides the screwy details. + + I noticed a couple methods on HTMLPlugInImageElement were public + which did not need to be. Fixed. + + No functional change, thus no tests. + + * html/HTMLEmbedElement.h: + * html/HTMLObjectElement.h: + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary): + * html/HTMLPlugInImageElement.h: + (WebCore::HTMLPlugInImageElement::serviceType): + (WebCore::HTMLPlugInImageElement::url): + * page/FrameView.cpp: + (WebCore::FrameView::updateWidget): + (WebCore::FrameView::updateWidgets): + * page/FrameView.h: + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::pluginCrashedOrWasMissing): + (WebCore::RenderEmbeddedObject::paint): + (WebCore::RenderEmbeddedObject::paintReplaced): + * rendering/RenderEmbeddedObject.h: + +2010-09-02 Eric Seidel <eric@webkit.org> + + Reviewed by Dimitri Glazkov. + + Move updateWidget implementations into the DOM + https://bugs.webkit.org/show_bug.cgi?id=45058 + + Unfortunately it's not yet possible to share an updateWidget + implementation between <embed> and <object>. That would amount to + (positive) functional changes for <embed> which I'd will separate + into a later patch. I will also have to untangle <object>'s <param> + walk from its url/serviceType calculations. + + However after this patch it's slap-you-across-the-face obvious that + RenderEmbeddedObject::updateWidget was the wrong place for this code. + RenderEmbeddedObject::updateWidget still exists, but only as a + pseudo-virtual-method dispatcher. Unless we add updateWidget() to + HTMLElement, we won't be able to use real virtual dispatch. + + I may need to consider making "having a widget" a has-a relationship + with some sort of WidgetContainer object which Media and Plugin can + share. Or its also possible that Media's use of the widget code here + is just wrong. Certainly now that updateWidget was moved into HTMLMediaElement + it becomes obvious that HTMLMediaElement has duplicate code for updating widgets. + + No functional changes, thus no tests. + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::updateWidget): + * html/HTMLEmbedElement.h: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::updateWidget): + * html/HTMLMediaElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::updateWidget): + * html/HTMLObjectElement.h: + (WebCore::HTMLObjectElement::useFallbackContent): + * html/HTMLPlugInImageElement.h: + (WebCore::HTMLPlugInImageElement::needsWidgetUpdate): + (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate): + * loader/FrameLoader.cpp: + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::updateWidget): + +2010-09-02 Eric Seidel <eric@webkit.org> + + Reviewed by Dimitri Glazkov. + + Move more code from RenderEmbeddedObject into the DOM + https://bugs.webkit.org/show_bug.cgi?id=45055 + + No logic changes here, just taking the code which + I ripped out of RenderEmbeddedObject::updateWidget + into static methods before and moving it into + the applicable DOM classes. + + HTMLObjectElement::parametersForPlugin does too much + but in order to fix it I may need to add a PluginParameters + class so we can ask things about the parameters. <object> + needs to get multiple bits of information out of its parameters + array. Right now it does it all in one walk. In order to share + code with HTMLEmbedElement, we need the "generate the params array" + code to be separate from the "make advanced <object> specific decision + from the params array". But that will need to be in a later patch. + + No functional changes, thus no tests. + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::parametersForPlugin): + * html/HTMLEmbedElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::createClassIdToTypeMap): + (WebCore::serviceTypeForClassId): + (WebCore::mapDataParamToSrc): + (WebCore::HTMLObjectElement::parametersForPlugin): + (WebCore::HTMLObjectElement::hasFallbackContent): + * html/HTMLObjectElement.h: + * html/HTMLPlugInImageElement.cpp: + (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL): + (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): + (WebCore::HTMLPlugInImageElement::detach): + (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary): + (WebCore::HTMLPlugInImageElement::updateWidgetCallback): + * html/HTMLPlugInImageElement.h: + * rendering/RenderEmbeddedObject.cpp: + (WebCore::updateWidgetForObjectElement): + (WebCore::updateWidgetForEmbedElement): + (WebCore::RenderEmbeddedObject::updateWidget): + +2010-09-02 François Sausset <sausset@gmail.com> + + Reviewed by Darin Adler. + + MathML mo element should render "hyphen-minus" as "minus sign" (Unicode glyph names). + https://bugs.webkit.org/show_bug.cgi?id=43629 + + Test: mathml/presentation/mo.xhtml + + * mathml/RenderMathMLOperator.cpp: + (WebCore::RenderMathMLOperator::RenderMathMLOperator): + (WebCore::RenderMathMLOperator::updateFromElement): + * mathml/RenderMathMLOperator.h: + (WebCore::convertHyphenMinusToMinusSign): + * platform/text/CharacterNames.h: + +2010-09-02 Kenneth Russell <kbr@google.com> + + Reviewed by Darin Fisher. + + Add red-black tree capable of holding plain old data (POD) + https://bugs.webkit.org/show_bug.cgi?id=45059 + + Adding an augmentable red-black tree capable of holding Plain Old + Data (POD), or classes bottoming out into only POD, and an + associated PODArena. Note that the PODArena will be used by other + classes to allocate temporary structures, which is why it is not + just an implementation detail of the red-black tree. + + These classes are being placed under WebCore/platform/graphics/gpu + for the time being. If they are generalized to hold even data + types which internally perform dynamic memory allocation, we may + consider moving them to WTF in the future. + + Unit tests for the PODRedBlackTree will be integrated separately + under bug 45060. + + * WebCore.gypi: + * platform/graphics/gpu/PODArena.h: Added. + (WebCore::PODArena::Allocator::~Allocator): + (WebCore::PODArena::FastMallocAllocator::create): + (WebCore::PODArena::FastMallocAllocator::allocate): + (WebCore::PODArena::FastMallocAllocator::free): + (WebCore::PODArena::FastMallocAllocator::FastMallocAllocator): + (WebCore::PODArena::create): + (WebCore::PODArena::allocateObject): + (WebCore::PODArena::~PODArena): + (WebCore::PODArena::PODArena): + (WebCore::PODArena::minAlignment): + (WebCore::PODArena::roundUp): + (WebCore::PODArena::Chunk::Chunk): + (WebCore::PODArena::Chunk::~Chunk): + (WebCore::PODArena::Chunk::allocate): + * platform/graphics/gpu/PODRedBlackTree.h: Added. + (WebCore::PODRedBlackTree::Visitor::~Visitor): + (WebCore::PODRedBlackTree::PODRedBlackTree): + (WebCore::PODRedBlackTree::~PODRedBlackTree): + (WebCore::PODRedBlackTree::add): + (WebCore::PODRedBlackTree::remove): + (WebCore::PODRedBlackTree::contains): + (WebCore::PODRedBlackTree::visitInorder): + (WebCore::PODRedBlackTree::size): + (WebCore::PODRedBlackTree::setNeedsFullOrderingComparisons): + (WebCore::PODRedBlackTree::checkInvariants): + (WebCore::PODRedBlackTree::dump): + (WebCore::PODRedBlackTree::setVerboseDebugging): + (WebCore::PODRedBlackTree::Node::Node): + (WebCore::PODRedBlackTree::Node::~Node): + (WebCore::PODRedBlackTree::Node::color): + (WebCore::PODRedBlackTree::Node::setColor): + (WebCore::PODRedBlackTree::Node::data): + (WebCore::PODRedBlackTree::Node::copyFrom): + (WebCore::PODRedBlackTree::Node::left): + (WebCore::PODRedBlackTree::Node::setLeft): + (WebCore::PODRedBlackTree::Node::right): + (WebCore::PODRedBlackTree::Node::setRight): + (WebCore::PODRedBlackTree::Node::parent): + (WebCore::PODRedBlackTree::Node::setParent): + (WebCore::PODRedBlackTree::root): + (WebCore::PODRedBlackTree::updateNode): + (WebCore::PODRedBlackTree::treeSearch): + (WebCore::PODRedBlackTree::treeSearchNormal): + (WebCore::PODRedBlackTree::treeSearchFullComparisons): + (WebCore::PODRedBlackTree::treeInsert): + (WebCore::PODRedBlackTree::treeSuccessor): + (WebCore::PODRedBlackTree::treeMinimum): + (WebCore::PODRedBlackTree::propagateUpdates): + (WebCore::PODRedBlackTree::leftRotate): + (WebCore::PODRedBlackTree::rightRotate): + (WebCore::PODRedBlackTree::insertNode): + (WebCore::PODRedBlackTree::deleteFixup): + (WebCore::PODRedBlackTree::deleteNode): + (WebCore::PODRedBlackTree::visitInorderImpl): + (WebCore::PODRedBlackTree::Counter::Counter): + (WebCore::PODRedBlackTree::Counter::visit): + (WebCore::PODRedBlackTree::Counter::count): + (WebCore::PODRedBlackTree::checkInvariantsFromNode): + (WebCore::PODRedBlackTree::logIfVerbose): + (WebCore::PODRedBlackTree::dumpFromNode): + +2010-09-02 Rafael Antognolli <antognolli@profusion.mobi> + + Reviewed by Martin Robinson. + + [Cairo] Remove glib dependency (caused by use of GOwnPtr) + https://bugs.webkit.org/show_bug.cgi?id=45053 + + Use OwnPtr instead of GOwnPtr to keep track of Fc* references + in FontCacheCairo.cpp. + + No features added, so no new tests. + + * CMakeListsEfl.txt: Updating build system to look for GOwnPtrCairo.* + * GNUmakefile.am: Ditto. + * platform/graphics/cairo/FontCacheCairo.cpp: Using OwnPtr instead of GOwnPtr. + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/cairo/GOwnPtrCairo.cpp: Removed. + * platform/graphics/cairo/GOwnPtrCairo.h: Removed. + * platform/graphics/cairo/OwnPtrCairo.cpp: Added. + (WTF::FcPattern): + (WTF::FcObjectSet): + (WTF::FcFontSet): + * platform/graphics/cairo/OwnPtrCairo.h: Added. + +2010-09-02 Kinuko Yasuda <kinuko@chromium.org> + + Unreviewed, updating binding-tests expectations (for changeset 66521). + + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::stringAttrAttrSetter): + (WebCore::TestObjInternal::reflectedStringAttrAttrSetter): + (WebCore::TestObjInternal::reflectedURLAttrAttrSetter): + (WebCore::TestObjInternal::reflectedNonEmptyURLAttrAttrSetter): + (WebCore::TestObjInternal::reflectedCustomURLAttrAttrSetter): + (WebCore::TestObjInternal::reflectedCustomNonEmptyURLAttrAttrSetter): + (WebCore::TestObjInternal::stringAttrWithGetterExceptionAttrSetter): + (WebCore::TestObjInternal::stringAttrWithSetterExceptionAttrSetter): + +2010-09-02 Adam Langley <agl@chromium.org> + + Reviewed by Adam Barth. + + [chromium] fix memory corruption in Khmer rendering. + + https://bugs.webkit.org/show_bug.cgi?id=44960 + + Test: fast/text/khmer-crash.html + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::shapeGlyphs): + The Khmer shaper has a bug where it would request larger output + buffers, but request a zero increase in size. Because of this we add + one to the requested size. + (WebCore::TextRunWalker::setGlyphXPositions): + The Khmer shaper is outputing cluster logs which suggest that some + output glyphs appear from nowhere (i.e. have no input codepoints). I + don't know Khmer, so maybe that's correct, but it broke the + assumptions of this code, causing a read out-of-bounds. + * platform/graphics/chromium/HarfbuzzSkia.cpp: + (WebCore::stringToGlyphs): + The Harfbuzz interfaces aren't documented, but it appears that the + output array to stringToGlyphs isn't sized and that Harfbuzz expects + us to detect when the input is too long. + +2010-09-02 Adam Roben <aroben@apple.com> + + Fill the scroll corner with white when shouldPaintCustomScrollbars is + false + + Previously we were only filling with white when + shouldPaintCustomScrollbars was true but the ChromeClient didn't paint + any custom scrollbars. + + Reviewed by Sam Weinig. + + * platform/ScrollbarThemeComposite.cpp: + (WebCore::ScrollbarThemeComposite::paintScrollCorner): + +2010-09-02 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r66671. + http://trac.webkit.org/changeset/66671 + https://bugs.webkit.org/show_bug.cgi?id=45115 + + http/tests/misc/redirect-to-about-blank.html is failing on + several platforms (Requested by japhet on #webkit). + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::updateURLForPushOrReplaceState): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::iconURL): + (WebCore::FrameLoader::didOpenURL): + (WebCore::FrameLoader::didExplicitOpen): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::setURL): + (WebCore::FrameLoader::startIconLoader): + (WebCore::FrameLoader::commitIconURLToIconDatabase): + (WebCore::FrameLoader::finishedParsing): + (WebCore::FrameLoader::checkIfDisplayInsecureContent): + (WebCore::FrameLoader::checkIfRunInsecureContent): + (WebCore::FrameLoader::updateFirstPartyForCookies): + (WebCore::FrameLoader::loadInSameDocument): + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::shouldScrollToAnchor): + * loader/FrameLoader.h: + (WebCore::FrameLoader::url): + +2010-09-01 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Roll ANGLE under webkit to r402 + https://bugs.webkit.org/show_bug.cgi?id=45004 + + * platform/graphics/mac/GraphicsContext3DMac.mm: Update the code to use newer ANGLE interface. + (WebCore::GraphicsContext3D::GraphicsContext3D): + +2010-09-02 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + WebInspector: Timeline instrumentation code can crash browser. + + Steps: + 1) load the site + 2) open inspector + 3) start timeline recording + 4) reload inspected page + got NPE + + https://bugs.webkit.org/show_bug.cgi?id=45098 + + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::didReceiveResponse): + (WebCore::ResourceLoader::didReceiveData): + +2010-09-02 Nate Chapin <japhet@chromium.org> + + Reviewed by Adam Barth. + + Remove m_URL from FrameLoader and instead depend on Document's url. + FrameLoader::url() will be removed in a later patch. + + http://bugs.webkit.org/show_bug.cgi?id=41165 + + No new tests, since this predominantly a refactor. Updating + fast/dom/early-frame-url.html. + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::updateURLForPushOrReplaceState): + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::iconURL): + (WebCore::FrameLoader::didOpenURL): + (WebCore::FrameLoader::didExplicitOpen): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::url): + (WebCore::FrameLoader::setOutgoingReferrer): + (WebCore::FrameLoader::startIconLoader): + (WebCore::FrameLoader::commitIconURLToIconDatabase): + (WebCore::FrameLoader::finishedParsing): + (WebCore::FrameLoader::checkIfDisplayInsecureContent): + (WebCore::FrameLoader::checkIfRunInsecureContent): + (WebCore::FrameLoader::updateFirstPartyForCookies): + (WebCore::FrameLoader::loadInSameDocument): + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::shouldScrollToAnchor): + * loader/FrameLoader.h: + +2010-09-01 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Support <script defer> as specified by HTML5 + https://bugs.webkit.org/show_bug.cgi?id=40934 + + Tests: fast/dom/HTMLScriptElement/defer-double-defer-write.html + fast/dom/HTMLScriptElement/defer-double-write.html + fast/dom/HTMLScriptElement/defer-inline-script.html + fast/dom/HTMLScriptElement/defer-onbeforeload.html + fast/dom/HTMLScriptElement/defer-script-invalid-url.html + fast/dom/HTMLScriptElement/defer-write.html + fast/dom/HTMLScriptElement/two-defer-writes.html + http/tests/misc/script-defer-after-slow-stylesheet.html + http/tests/misc/script-defer.html + + * dom/Document.cpp: + (WebCore::Document::open): Allow implicit open for writes() while executing deferred scripts. + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::DocumentParser): + (WebCore::DocumentParser::startParsing): + (WebCore::DocumentParser::prepareToStopParsing): If called when stopped or detached, it shouldn't reset to stopping. + (WebCore::DocumentParser::stopParsing): + (WebCore::DocumentParser::detach): + * dom/DocumentParser.h: + (WebCore::DocumentParser::isParsing): + (WebCore::DocumentParser::isActive): + (WebCore::DocumentParser::isStopping): + (WebCore::DocumentParser::isDetached): + * dom/RawDataDocumentParser.h: + (WebCore::RawDataDocumentParser::finish): + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::append): + (WebCore::XMLDocumentParser::exitText): + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::doWrite): + (WebCore::XMLDocumentParser::startElementNs): + (WebCore::XMLDocumentParser::endElementNs): + (WebCore::XMLDocumentParser::characters): + (WebCore::XMLDocumentParser::error): + (WebCore::XMLDocumentParser::processingInstruction): + (WebCore::XMLDocumentParser::cdataBlock): + (WebCore::XMLDocumentParser::comment): + (WebCore::XMLDocumentParser::internalSubset): + (WebCore::XMLDocumentParser::initializeParserContext): + (WebCore::XMLDocumentParser::doEnd): + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::prepareToStopParsing): + (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible): + (WebCore::HTMLDocumentParser::pumpTokenizer): + (WebCore::HTMLDocumentParser::insert): + (WebCore::HTMLDocumentParser::append): + (WebCore::HTMLDocumentParser::end): + (WebCore::HTMLDocumentParser::attemptToEnd): + (WebCore::HTMLDocumentParser::endIfDelayed): + (WebCore::HTMLDocumentParser::notifyFinished): + * html/parser/HTMLDocumentParser.h: + * html/parser/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::~HTMLScriptRunner): + (WebCore::HTMLScriptRunner::executeParsingBlockingScript): + (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): + (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing): + (WebCore::HTMLScriptRunner::requestDeferredScript): + (WebCore::HTMLScriptRunner::runScript): + * html/parser/HTMLScriptRunner.h: + * loader/ImageDocument.cpp: + (WebCore::ImageDocumentParser::finish): + +2010-09-02 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: HAR converter fails on POST requests with non-form content type + https://bugs.webkit.org/show_bug.cgi?id=45109 + + * inspector/front-end/HAREntry.js: + (WebInspector.HAREntry.prototype._buildPostData): + +2010-09-02 Andreas Kling <andreas.kling@nokia.com> + + Rubber-stamped by Simon Hausmann. + + [Qt] REGRESSION(r62898): tst_QWebFrame crashing + https://bugs.webkit.org/show_bug.cgi?id=43039 + + Rolling out the offending change <http://trac.webkit.org/changeset/62898> + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::markAggregate): + 2010-09-02 Anton Muhin <antonm@chromium.org> Reviewed by Tony Chang. |