summaryrefslogtreecommitdiffstats
path: root/WebCore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r--WebCore/ChangeLog5468
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.