Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(283)

Unified Diff: Source/WebCore/ChangeLog

Issue 9689079: Merge 110499 - [Skia] Release CGImage used to apply color space conversion to SkBitmap (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1025/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « no previous file | Source/WebCore/platform/image-decoders/skia/ImageDecoderSkia.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 110586)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,13757 @@
+2012-03-12 Brian Salomon <bsalomon@google.com>
+
+ [Skia] Release CGImage used to apply color space conversion to SkBitmap
+ https://bugs.webkit.org/show_bug.cgi?id=80892
+
+ Reviewed by Adam Barth.
+
+ Regressions should be covered by any test that does image decode on the mac.
+
+ * platform/image-decoders/skia/ImageDecoderSkia.cpp:
+ (WebCore::resolveColorSpace):
+
+2012-03-12 Levi Weintraub <leviw@chromium.org>
+
+ Update LayoutUnit usage in RenderMathML* classes
+ https://bugs.webkit.org/show_bug.cgi?id=77916
+
+ Reviewed by Eric Seidel.
+
+ The purpose of this patch is to ensure MathML rendering does not regress when
+ we switch to sub-pixel layout. A subsequent patch can likely improve MathML's
+ rendering when zoom is applied.
+
+ To accomplish this without changing the current heuristics for positioning,
+ we continue to use integers for sizes and locations, using pixel snapping
+ when communicating with other Rendering classes.
+
+ No new tests. No change in behavior.
+
+ * rendering/mathml/RenderMathMLBlock.cpp:
+ (WebCore::RenderMathMLBlock::paint): Cleaning up debug painting to be on
+ pixel boundaries instead of subpixel.
+ * rendering/mathml/RenderMathMLFraction.cpp:
+ (WebCore::RenderMathMLFraction::paint): Reverting to integers for determining
+ the vertical offset.
+ (WebCore::RenderMathMLFraction::baselinePosition):
+ * rendering/mathml/RenderMathMLRoot.cpp:
+ (WebCore::RenderMathMLRoot::paint): Using integers for height and width
+ and only accumulating pixel snapped values.
+ (WebCore::RenderMathMLRoot::layout): Setting padding with integers to
+ avoid inconsistent rounding based on the root's location.
+ * rendering/mathml/RenderMathMLRow.cpp:
+ (WebCore::RenderMathMLRow::layout):
+ * rendering/mathml/RenderMathMLSquareRoot.cpp:
+ (WebCore::RenderMathMLSquareRoot::paint): See RenderMathMLRoot.
+ (WebCore::RenderMathMLSquareRoot::layout): Ditto.
+ * rendering/mathml/RenderMathMLUnderOver.cpp:
+ (WebCore::getOffsetHeight):
+ (WebCore::RenderMathMLUnderOver::layout):
+
+2012-03-12 Anders Carlsson <andersca@apple.com>
+
+ Use smaller tiles for right and bottom edges
+ https://bugs.webkit.org/show_bug.cgi?id=80893
+ <rdar://problem/11032873>
+
+ Reviewed by Sam Weinig.
+
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::rectForTileIndex):
+ Intersect the rect with the tile cache bounds.
+
+ (WebCore::TileCache::revalidateTiles):
+ Resize already existing tiles if needed.
+
+ (WebCore::TileCache::createTileLayer):
+ This now takes a tile rect. Use setFrame instead of setting the bounds and position separately.
+
+2012-03-12 Enrica Casucci <enrica@apple.com>
+
+ WebKit2: remove NSPasteboard access for promised data from the WebProcess
+ https://bugs.webkit.org/show_bug.cgi?id=80073
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebCore.exp.in: Added two exported methods.
+ * platform/mac/FileSystemMac.mm:
+ (WebCore::setMetaData): Last parameter in the call to wkSetMetadataURL
+ needs to be wrapped in String before casting to NSString.
+
+2012-03-12 Alexey Proskuryakov <ap@apple.com>
+
+ clang build fix
+
+ * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::convertToLength): Reorder
+ boolean operators, so that a warning about "use of logical || with constant operand" doesn't
+ appear.
+
+2012-03-12 Abhishek Arya <inferno@chromium.org>
+
+ Crash in Text::splitText due to mutation events.
+ https://bugs.webkit.org/show_bug.cgi?id=80828
+
+ Reviewed by Ryosuke Niwa.
+
+ Test: fast/text/split-text-crash.xhtml
+
+ * dom/Range.cpp:
+ (WebCore::Range::insertNode): replace m_start.container() calls with ref protected node.
+
+2012-03-12 Kenneth Russell <kbr@google.com>
+
+ Null argument to texSubImage2D crashes
+ https://bugs.webkit.org/show_bug.cgi?id=80778
+
+ Reviewed by Dean Jackson.
+
+ Generate INVALID_VALUE OpenGL error upon receiving null argument.
+ Final behavior still being decided on public-webgl mailing list.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::texImage2D):
+ (WebCore::WebGLRenderingContext::texSubImage2D):
+ (WebCore::WebGLRenderingContext::validateTexFuncData):
+ * html/canvas/WebGLRenderingContext.h:
+
+2012-03-12 Luke Macpherson <macpherson@chromium.org>
+
+ Remove CSSStyleSelector's convertToLength method and use CSSPrimitiveValue's version directly.
+ https://bugs.webkit.org/show_bug.cgi?id=80484
+
+ Reviewed by Julien Chaffraix.
+
+ No new tests / code cleanup only.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::convertToLength):
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyClip::convertToLength):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+
+2012-03-12 Stephen White <senorblanco@chromium.org>
+
+ [chromium] Restore canvas2D acceleration after context loss.
+ https://bugs.webkit.org/show_bug.cgi?id=80629
+
+ Reviewed by James Robinson.
+
+ Covered by existing canvas tests, and manual testing (killing the GPU
+ process).
+
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
+ (WebCore::Canvas2DLayerChromium::create):
+ (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
+ (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
+ (WebCore::Canvas2DLayerChromium::drawsContent):
+ (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
+ * platform/graphics/chromium/Canvas2DLayerChromium.h:
+ (Canvas2DLayerChromium):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::applyFilters):
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+ (SharedGraphicsContext3DImpl):
+ (WebCore::SharedGraphicsContext3DImpl::SharedGraphicsContext3DImpl):
+ (WebCore::SharedGraphicsContext3DImpl::get):
+ (WebCore):
+ (WebCore::SharedGraphicsContext3D::get):
+ * platform/graphics/gpu/SharedGraphicsContext3D.h:
+ (SharedGraphicsContext3D):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::createAcceleratedCanvas):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::PlatformContextSkia):
+ (WebCore):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (WebCore):
+ (WebCore::PlatformContextSkia::isAccelerated):
+ (WebCore::PlatformContextSkia::setAccelerated):
+ (PlatformContextSkia):
+
+2012-03-12 George Staikos <staikos@webkit.org>
+
+ It doesn't make sense to return const unsigned, and GCC warns about it.
+ Remove const.
+ https://bugs.webkit.org/show_bug.cgi?id=80790
+
+ Reviewed by Antonio Gomes.
+
+ * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
+ (WebCore::ComplexTextController::length):
+ (WebCore::ComplexTextController::numCodePoints):
+ (WebCore::ComplexTextController::offsetX):
+
+2012-03-12 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=80888
+ Clear background for NSTextFieldCell is unreliable and not necessary
+ -and corresponding-
+ <rdar://problem/10663710>
+
+ Reviewed by Dan Bernstein.
+
+ With http://trac.webkit.org/changeset/104240 I thought it was necessary to
+ make NSTextFieldCells draw with a clear background in order to allow styled
+ text fields. That is not actually necessary; we just had a different bug
+ where isControlStyled() was only checking for styled borders on text fields.
+ Text fields can also be styled with backgrounds, so they need the full check.
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::isControlStyled):
+ (WebCore::RenderThemeMac::textField):
+
+2012-03-12 Scott Byer <scottbyer@chromium.org>
+
+ Cleanup obsolete files.
+ https://bugs.webkit.org/show_bug.cgi?id=80737
+
+ Reviewed by James Robinson.
+
+ No new code.
+
+ * GNUmakefile.list.am:
+ * PlatformWinCE.cmake:
+ * Target.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * platform/ScrollAnimatorWin.cpp: Removed.
+ * platform/ScrollAnimatorWin.h: Removed.
+
+2012-03-12 Gregg Tavares <gman@google.com>
+
+ Make texImage2D error for wrong size ArrayBufferView more helpful
+ https://bugs.webkit.org/show_bug.cgi?id=80868
+
+ It took me about 30 minutes to figure out my texImage2D was failing
+ not because my ArrayBufferView was too small but because the default
+ alignment is 4. A better error message might help devs find this issue
+ faster.
+
+ Reviewed by Kenneth Russell.
+
+ No new tests as no new functionality.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::validateTexFuncData):
+
+2012-03-12 Tim Horton <timothy_horton@apple.com>
+
+ Infinite repaint loop with SVGImageCache and deferred repaint timers
+ https://bugs.webkit.org/show_bug.cgi?id=78315
+ <rdar://problem/10651634>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Only defer image redraw on a timer if we're in layout. This breaks
+ the repaint loop while still preventing us from drawing inside layout.
+
+ Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
+ preventing deferred repaint timers from being started during that process.
+
+ No new tests, as the problem only occurs in a nonstandard configuration.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::reset):
+ (WebCore::FrameView::repaintContentRectangle):
+ (WebCore::FrameView::endDeferredRepaints):
+ (WebCore::FrameView::startDeferredRepaintTimer):
+ (WebCore):
+ (WebCore::FrameView::doDeferredRepaints):
+ (WebCore::FrameView::deferredRepaintTimerFired):
+ (WebCore::FrameView::beginDisableRepaints):
+ (WebCore::FrameView::endDisableRepaints):
+ * page/FrameView.h:
+ (FrameView):
+ (WebCore::FrameView::repaintsDisabled):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::shouldRepaint):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::drawSVGToImageBuffer):
+ (WebCore::SVGImage::draw):
+ (WebCore::SVGImage::frameView):
+ (WebCore):
+ * svg/graphics/SVGImage.h:
+ (WebCore):
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redraw):
+ (WebCore::SVGImageCache::redrawTimerFired):
+ (WebCore):
+ * svg/graphics/SVGImageCache.h:
+ (SVGImageCache):
+
+2012-03-12 Adam Klein <adamk@chromium.org>
+
+ [MutationObservers] Enforce a consistent order of MutationRecord delivery
+ https://bugs.webkit.org/show_bug.cgi?id=80549
+
+ Reviewed by Ojan Vafai.
+
+ Mutations should be delivered in order of creation.
+
+ Tests: fast/mutation/create-during-delivery.html
+ fast/mutation/delivery-order.html
+ fast/mutation/mutate-during-delivery.html
+
+ * dom/WebKitMutationObserver.cpp:
+ (WebCore):
+ (WebCore::WebKitMutationObserver::ObserverLessThan::operator()): Functor for use with std::sort.
+ (WebCore::WebKitMutationObserver::create):
+ (WebCore::WebKitMutationObserver::WebKitMutationObserver):
+ (WebCore::WebKitMutationObserver::deliverAllMutations): Move observers into a sorted vector before delivery.
+ * dom/WebKitMutationObserver.h: Add a "priority" member which monotonically increases with each construction.
+
+2012-03-12 Nat Duca <nduca@chromium.org>
+
+ [Chromium] Force compositeAndReadback through regular scheduling flow
+ https://bugs.webkit.org/show_bug.cgi?id=77049
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ (WebCore::CCFrameRateController::onTimerTick):
+ * platform/graphics/chromium/cc/CCFrameRateController.h:
+ (CCFrameRateControllerClient):
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::setNeedsForcedCommit):
+ (WebCore):
+ (WebCore::CCScheduler::vsyncTick):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCScheduler):
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
+ (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
+ (WebCore::CCSchedulerStateMachine::nextAction):
+ (WebCore::CCSchedulerStateMachine::updateState):
+ (WebCore::CCSchedulerStateMachine::setNeedsForcedCommit):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
+ (CCSchedulerStateMachine):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::CCThreadProxy):
+ (WebCore::CCThreadProxy::compositeAndReadback):
+ (WebCore::CCThreadProxy::requestReadbackOnImplThread):
+ (WebCore::CCThreadProxy::forceBeginFrameOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionBeginFrame):
+ (WebCore::CCThreadProxy::beginFrame):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+ (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
+ (BeginFrameAndCommitState):
+
+2012-03-12 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Handle LevelDB database corruption
+ https://bugs.webkit.org/show_bug.cgi?id=79413
+
+ Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.
+
+ Reviewed by Tony Chang.
+
+ Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'
+
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
+ (WebCore::IDBLevelDBBackingStore::open):
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::destroy):
+ (WebCore):
+ * platform/leveldb/LevelDBDatabase.h:
+ (LevelDBDatabase):
+
+2012-03-11 Shawn Singh <shawnsingh@chromium.org>
+
+ Fix regression on fast/table/table-row-compositing-repaint-crash.html
+ https://bugs.webkit.org/show_bug.cgi?id=80804
+
+ Reviewed by Simon Fraser.
+
+ Covered by existing tests.
+
+ http://trac.webkit.org/changeset/110401/ accidentally caused
+ fast/table/table-row-compositing-repaint-crash.html to fail.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateBacking):
+
+2012-03-12 Mike Lawther <mikelawther@chromium.org>
+
+ CSS3 calc: enable mixed percent/absolute for font
+ https://bugs.webkit.org/show_bug.cgi?id=80813
+
+ Reviewed by Ojan Vafai.
+
+ Add support for mixed percent/absolute expressions to the font handling class.
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyFontSize::applyValue):
+
+2012-03-12 Andreas Kling <awesomekling@apple.com>
+
+ Restore Attr::style() functionality.
+ <http://webkit.org/b/80678>
+ <rdar://problem/10933904>
+
+ Reviewed by Antti Koivisto.
+
+ The neutering of Attr::style() in r106740 broke some internal clients of the Obj-C API,
+ so this was definitely premature.
+
+ Since we no longer have a per-Attribute style object, synthesize one in style() and
+ hang it off of the Attr. This grows Attr by one pointer, but it's a low-volume object
+ so it shouldn't matter much.
+
+ We recreate the StylePropertySet object on every call to style(), to avoid complicating
+ things with custom invalidation code.
+
+ * dom/Attr.cpp:
+ (WebCore::Attr::style):
+ * dom/Attr.h:
+ * dom/StyledElement.h:
+ (WebCore::StyledElement::collectStyleForAttribute):
+
+2012-03-12 Ryosuke Niwa <rniwa@webkit.org>
+
+ REGRESSION(r109285): Crash in WebCore::Document::nodeChildrenWillBeRemoved
+ https://bugs.webkit.org/show_bug.cgi?id=80578
+
+ Reviewed by Andreas Kling.
+
+ Test: svg/css/style-change-crash.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::setAttribute):
+ (WebCore::Element::setAttributeInternal):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::addAttribute):
+ (WebCore::ElementAttributeData::removeAttribute):
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateStyleAttribute):
+
+2012-03-12 Sadrul Habib Chowdhury <sadrul@chromium.org>
+
+ Touch event handler count is not updated when adding handlers to the window.
+ https://bugs.webkit.org/show_bug.cgi?id=80756
+
+ Touch event handlers added to the window needs to be included when counting the number of touch event
+ handlers. This makes touch event handler counting identical to wheel event handler counting.
+
+ Reviewed by Anders Carlsson.
+
+ Test: fast/events/touch/touch-handler-count.html
+
+ * dom/EventNames.h:
+ (EventNames):
+ (WebCore::EventNames::isTouchEventType):
+ * dom/Node.cpp:
+ (WebCore):
+ (WebCore::tryAddEventListener):
+ (WebCore::tryRemoveEventListener):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::addEventListener):
+ (WebCore::DOMWindow::removeEventListener):
+ * testing/Internals.cpp:
+ (WebCore::Internals::touchEventHandlerCount):
+ (WebCore):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-03-12 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: extract ResourceScriptMapping from MainScriptMapping.
+ https://bugs.webkit.org/show_bug.cgi?id=80834
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/ScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
+ (WebInspector.ResourceScriptMapping.prototype.reset):
+ (WebInspector.MainScriptMapping):
+ (WebInspector.MainScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.MainScriptMapping.prototype.createLiveLocation):
+ (WebInspector.MainScriptMapping.prototype._registerLiveLocation):
+ (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
+ (WebInspector.MainScriptMapping.prototype._updateLiveLocations):
+ (WebInspector.MainScriptMapping.prototype.uiSourceCodeList):
+ (WebInspector.MainScriptMapping.prototype.addScript):
+ (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
+ (WebInspector.MainScriptMapping.prototype.setFormatSource):
+ (WebInspector.MainScriptMapping.prototype.forceUpdateSourceMapping):
+ (WebInspector.MainScriptMapping.prototype.reset):
+
+2012-03-12 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: recognize Float*Array and Int*Array as arrays.
+ https://bugs.webkit.org/show_bug.cgi?id=80850
+
+ Reviewed by Vsevolod Vlasov.
+
+ Test: inspector/console/console-external-array.html
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::type):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::typeCallback):
+
+2012-03-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ [TexMapGL] Pixel-align the transform of textures that fit pixel-for-pixel on the frame buffer.
+ https://bugs.webkit.org/show_bug.cgi?id=80848
+
+ Reviewed by Noam Rosenthal.
+
+ When rendering a transformed texture on the screen with a fractional
+ coordinate with linear filtering, the resulting pixel will be blended from
+ the texels around this fractional position according to their cover ratio.
+ This produces a slight blur of pixels which give no benefit when rendering
+ a texture that isn't scaled.
+
+ This patch offsets the transform by rounding the translation part of the
+ layer's transform to align the result to integer coordinates.
+ Applying the adjustment on the layer transform makes sure that all the tiles
+ get the same adjustment.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawTexture):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (WebCore::BitmapTextureGL::textureSize):
+
+2012-03-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ [TexMapGL] Use textures sized exactly to their contents.
+ https://bugs.webkit.org/show_bug.cgi?id=80845
+
+ Reviewed by Noam Rosenthal.
+
+ This fixes a regression introduced in r108273 as well as the bug it fixed.
+ The regressing behavior was that textures were rendered shrunk by 1 pixel
+ and thus would appear blurry on the screen.
+ The original problem was that garbage contents would appear on filtered
+ textures since we would reuse textures of different sizes by giving them
+ a slightly bigger size.
+
+ This patch will reuse the texture only if the size matches exactly to allow
+ edge clamping to work properly when redering with linear filtering.
+ Reusing textures would only saves us the allocation of graphic memory
+ anyway, which is negligeable compared to texture upload.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::BitmapTextureGL::didReset):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::prepare):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (TextureMapperShaderProgramOpacityAndMask):
+
+2012-03-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ [TexMap] Remove BitmapTexture::destroy.
+ https://bugs.webkit.org/show_bug.cgi?id=80844
+
+ Reviewed by Noam Rosenthal.
+
+ Use the destructor directly instead.
+
+ * platform/graphics/texmap/TextureMapper.h:
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::BitmapTextureGL::~BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperImageBuffer.h:
+ (WebCore::BitmapTextureImageBuffer::~BitmapTextureImageBuffer):
+
+2012-03-12 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: DebuggerModel.Location should have scriptId property.
+ https://bugs.webkit.org/show_bug.cgi?id=80830
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/CompilerSourceMapping.js:
+ (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype.location):
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerModel.Location):
+ (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
+ (WebInspector.DebuggerModel.prototype.createRawLocation):
+ (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
+ (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
+ (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
+ (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
+ (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
+ (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
+ (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
+ (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
+ * inspector/front-end/ScriptFormatter.js:
+ (WebInspector.ScriptFormatter.locationToPosition):
+ (WebInspector.ScriptFormatter.positionToLocation):
+ (WebInspector.FormattedSourceMapping.prototype.originalToFormatted):
+ (WebInspector.FormattedSourceMapping.prototype.formattedToOriginal):
+
+2012-03-12 Dana Jansens <danakj@chromium.org>
+
+ [chromium] A couple early-outs for occlusion tracker
+ https://bugs.webkit.org/show_bug.cgi?id=80742
+
+ Reviewed by Adrienne Walker.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::::occluded):
+ (WebCore::::unoccludedContentRect):
+
+2012-03-12 Zeno Albisser <zeno@webkit.org>
+
+ [Qt][Mac] Build fails after adding WebCoreCFAutorelease(CFTypeRef) (r110360).
+ https://bugs.webkit.org/show_bug.cgi?id=80840
+
+ CoreFoundation/CFBase.h needs to be included to define the type CFTypeRef.
+
+ Reviewed by Tor Arne Vestbø.
+
+ * platform/mac/WebCoreObjCExtras.h:
+
+2012-03-12 George Staikos <staikos@webkit.org>
+
+ Remove unused global static variable for BlackBerry.
+ https://bugs.webkit.org/show_bug.cgi?id=80790
+
+ Reviewed by Alexey Proskuryakov.
+
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore):
+
+2012-03-12 George Staikos <staikos@webkit.org>
+
+ Correct usage of NDEBUG to fix warnings on BlackBerry.
+ https://bugs.webkit.org/show_bug.cgi?id=80790
+
+ Reviewed by Alexey Proskuryakov.
+
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
+ (WebCore::CookieDatabaseBackingStore::sendChangesToDatabase):
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::initiateCookieLimitCleanUp):
+
+2012-03-12 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Re-apply the patch after v8 roll to r11000.
+
+ Web Inspector: move heap snapshot nodes data to external array.
+ https://bugs.webkit.org/show_bug.cgi?id=79911
+
+ Reviewed by Vsevolod Vlasov.
+
+ Tests:
+ heap-shapshot.html
+ heap-shapshot-loader.html
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.Int32Array):
+ (WebInspector.Int32Array.prototype.get array):
+ (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
+ (WebInspector.HeapSnapshot):
+ (WebInspector.HeapSnapshot.prototype._init):
+
+2012-03-12 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix build with newer Qt 5.
+
+ Reviewed by Tor Arne Vestbø.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::fileListNameForWidth): Use DefaultCodec instead of the
+ deprecated CodecForTR.
+
+2012-03-12 Hans Wennborg <hans@chromium.org>
+
+ Speech JavaScript API: SpeechRecognitionEvent
+ https://bugs.webkit.org/show_bug.cgi?id=80513
+
+ Reviewed by Adam Barth.
+
+ Implement SpeechRecognitionEvent.
+ (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
+
+ Test: fast/events/constructors/speech-recognition-event-constructor.html
+
+ * Modules/speech/DOMWindowSpeech.idl:
+ * Modules/speech/SpeechRecognitionEvent.cpp: Added.
+ (WebCore):
+ (WebCore::SpeechRecognitionEventInit::SpeechRecognitionEventInit):
+ (WebCore::SpeechRecognitionEvent::create):
+ (WebCore::SpeechRecognitionEvent::createResult):
+ (WebCore::SpeechRecognitionEvent::createNoMatch):
+ (WebCore::SpeechRecognitionEvent::createResultDeleted):
+ (WebCore::SpeechRecognitionEvent::createError):
+ (WebCore::SpeechRecognitionEvent::interfaceName):
+ (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
+ * Modules/speech/SpeechRecognitionEvent.h: Added.
+ (WebCore):
+ (SpeechRecognitionEventInit):
+ (SpeechRecognitionEvent):
+ (WebCore::SpeechRecognitionEvent::result):
+ (WebCore::SpeechRecognitionEvent::error):
+ (WebCore::SpeechRecognitionEvent::resultIndex):
+ (WebCore::SpeechRecognitionEvent::resultHistory):
+ * Modules/speech/SpeechRecognitionEvent.idl:
+ * WebCore.gypi:
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEventEnabled):
+ * bindings/v8/OptionsObject.cpp:
+ (WebCore::OptionsObject::get):
+ (WebCore):
+ * bindings/v8/OptionsObject.h:
+ (WebCore):
+ (OptionsObject):
+ * dom/EventNames.h:
+ (WebCore):
+ * dom/EventNames.in:
+
+2012-03-12 Kent Tamura <tkent@chromium.org>
+
+ Use ICU C API instead of C++ API in LocalizedNumberICU
+ https://bugs.webkit.org/show_bug.cgi?id=80815
+ https://bugs.gentoo.org/show_bug.cgi?id=407401
+
+ Reviewed by Hajime Morita.
+
+ ICU 4.8 doesn't have kNumberStyle. We had better to use ICU C API in
+ general to avoid such issues.
+
+ This patch should not make any behavior change.
+
+ * platform/text/LocalizedNumberICU.cpp:
+ (WebCore::ICULocale::ICULocale):
+ Change the argument type: icu::Locale -> const char*
+ (WebCore::ICULocale::~ICULocale): Delete m_numberFormat with unum_close().
+ (WebCore::ICULocale::create): Do not create icu::Locale.
+ (WebCore::ICULocale::createForCurrentLocale): ditto.
+ (WebCore::ICULocale::setDecimalSymbol):
+ Use unum_getSymbol() instead of DecimalFormatSymbols::getSymbol().
+ (WebCore::ICULocale::setDecimalTextAttribute):
+ Added. A utility function to store prefixes and suffixes.
+ (WebCore::ICULocale::initializeDecimalFormat):
+ - unum_open(), instead of NumberFormat::createInstance().
+ - Use C API symbols.
+ - Cache positive/negative prefixes/suffixes.
+ (WebCore::ICULocale::convertToLocalizedNumber): Use cached prefixes and suffixes.
+ (WebCore::matches): Stop using template because we don't use UString anymore.
+ (WebCore::ICULocale::detectSignAndGetDigitRange):
+ - Use cached prefixes and suffixes.
+ - Use String::startsWith() and endsWith().
+ (WebCore::ICULocale::convertFromLocalizedNumber):
+ * platform/text/LocalizedNumberICU.h:
+ (ICULocale):
+
+2012-03-11 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: decouple LiveLocation from RawSourceCode.
+ https://bugs.webkit.org/show_bug.cgi?id=80785
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
+ (WebInspector.PresentationCallFrame):
+ (WebInspector.PresentationCallFrame.prototype.uiLocation):
+ (WebInspector.DebuggerPresentationModel.CallFramePlacard):
+ * inspector/front-end/RawSourceCode.js:
+ * inspector/front-end/ScriptMapping.js:
+ (WebInspector.MainScriptMapping):
+ (WebInspector.MainScriptMapping.prototype.createLiveLocation):
+ (WebInspector.MainScriptMapping.prototype._registerLiveLocation):
+ (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
+ (WebInspector.MainScriptMapping.prototype._updateLiveLocations):
+ (WebInspector.MainScriptMapping.prototype._uiSourceCodeListChanged):
+ (WebInspector.MainScriptMapping.prototype.reset):
+ (WebInspector.LiveLocation):
+ (WebInspector.LiveLocation.prototype.init):
+ (WebInspector.LiveLocation.prototype.dispose):
+ (WebInspector.LiveLocation.prototype._update):
+
+2012-03-11 Victor Carbune <vcarbune@adobe.com>
+
+ The main code structure for placing future text track cue rendering
+ code and main outer rendering steps.
+ https://bugs.webkit.org/show_bug.cgi?id=79746
+
+ Reviewed by Eric Carlson.
+
+ No new tests. Only refactoring, but some chromium tests require rebaselining
+ and have been marked accordingly.
+
+ * css/mediaControls.css:
+ (::-webkit-media-controls): Changed the default display to -webkit-box, as
+ captions need to always be rendered on top of the controls, if they are visible.
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ Default position attribute is now relative, handled by the parent -webkit-box
+ (video::-webkit-media-text-track-container): The position of the container is
+ now relative, handled by -webkit-box.
+ (video::-webkit-media-text-track-display): Adjusted text color to match
+ the color required in the WebVTT spec (section 3.5.1 'color' property)
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ Default position attribute is now relative, handled by the parent -webkit-box
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added a timer
+ for the webkit fade out transition event. This timer is required for setting
+ the display property to 'none', when the fade out transition is over. Otherwise,
+ captions would not be displayed at the bottom of the video.
+ (WebCore::MediaControlPanelElement::startTimer): Added.
+ (WebCore):
+ (WebCore::MediaControlPanelElement::stopTimer): Added.
+ (WebCore::MediaControlPanelElement::transitionTimerFired): Added. If the current
+ state of the controls is transparent, the display property is set to 'none'.
+ (WebCore::MediaControlPanelElement::makeOpaque): The inline display:'none' property
+ is removed before the fade in transition.
+ (WebCore::MediaControlPanelElement::makeTransparent): Added the timer start.
+ (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
+ Removed m_bottom as it is not needed anymore.
+ (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Added. Main
+ function for the rendering rules.
+ (WebCore::MediaControlTextTrackContainerElement::updateSizes): The bottom position
+ needs not to be set anymore.
+ * html/shadow/MediaControlElements.h:
+ (MediaControlPanelElement): Added timer internals.
+ (MediaControlTextTrackContainerElement): Added updateDisplay() and removed unused
+ variables.
+
+ (WebCore):
+ * html/shadow/MediaControlRootElement.cpp: Removed m_textTrackDisplay
+ and duplicated code with MediaControlRootElementChromium (only minimum
+ function calls to the main text track container)
+ (WebCore::MediaControlRootElement::MediaControlRootElement):
+ (WebCore::MediaControlRootElement::setMediaController):
+ (WebCore::MediaControlRootElement::createTextTrackDisplay):
+ (WebCore::MediaControlRootElement::updateTextTrackDisplay):
+
+ * html/shadow/MediaControlRootElementChromium.cpp: Removed m_textTrackDisplay
+ and duplicate code with MediaControlRootElement (only minimum function calls
+ to the main text track container remained)
+ (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
+ (WebCore::MediaControlRootElementChromium::setMediaController):
+ (WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
+ (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):
+
+ (WebCore):
+ * html/track/TextTrackCue.cpp: Enhanced structure for supporting more complex
+ rendering required by the WebVTT spec.
+ (WebCore::TextTrackCue::TextTrackCue):
+ (WebCore::TextTrackCue::cueDidChange): Mark the display tree as obsolete, so that
+ it needs to be re-computed.
+ (WebCore::TextTrackCue::setIsActive): The display tree needs to be removed as
+ soon as the cue becomes inactive. Adjusted this method to support the functionality.
+ (WebCore):
+ (WebCore::TextTrackCue::determineDisplayParameters): Added. This method will hold
+ main positioning parameter computations for a TextTrackCue
+ (WebCore):
+ (WebCore::TextTrackCue::getDisplayTree): Added. This method returns the root node
+ of the CSS boxes that need to be displayed on top of the video, for the current
+ instance.
+ * html/track/TextTrackCue.h:
+ (WebCore):
+ (TextTrackCue):
+
+2012-03-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110359.
+ http://trac.webkit.org/changeset/110359
+ https://bugs.webkit.org/show_bug.cgi?id=80799
+
+ SelectPopupMenuTest.ClickItem failure (Requested by ukai on
+ #webkit).
+
+ * platform/chromium/PopupListBox.cpp:
+ (WebCore::PopupListBox::paint):
+ (WebCore::PopupListBox::paintRow):
+ (WebCore::PopupListBox::getRowHeight):
+ * platform/chromium/PopupListBox.h:
+ (PopupContainerSettings):
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore):
+ (WebCore::PopupMenuChromium::show):
+ * platform/chromium/PopupMenuChromium.h:
+ (PopupMenuChromium):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::showPopup):
+
+2012-03-11 Timothy Hatcher <timothy@apple.com>
+
+ Fix a crash opening the Web Inspector in WebKit1 clients.
+
+ The call to InspectorFrontendClientLocal::setAttachedWindow is preformed really early in the process,
+ causing it to crash almost every time. It should use evaluateOnLoad instead of evaluateAsBoolean.
+
+ <rdar://problem/10951109> Crash when bringing up Web Inspector in WebKit1 client
+ https://bugs.webkit.org/show_bug.cgi?id=80796
+
+ Reviewed by Brian Weinstein.
+
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::setAttachedWindow): Use evaluateOnLoad instead of evaluateAsBoolean.
+
+2012-03-11 Shawn Singh <shawnsingh@chromium.org>
+
+ REGRESSION (r93614): scrolling div does not repaint
+ https://bugs.webkit.org/show_bug.cgi?id=80641
+
+ Reviewed by Simon Fraser.
+
+ Test: compositing/repaint/newly-composited-repaint-rect.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateBacking): When a layer
+ becomes newly composited and creates its backing, the repaintRect
+ may become invalid. This patch recomputes repaintRects in this
+ case.
+
+2012-03-11 George Staikos <staikos@webkit.org>
+
+ Enable JPEG encoding for BlackBerry.
+ https://bugs.webkit.org/show_bug.cgi?id=80792
+
+ Reviewed by Antonio Gomes.
+
+ * PlatformBlackBerry.cmake:
+
+2012-03-11 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: console.log attempts to substitute any "%" character in the message.
+ https://bugs.webkit.org/show_bug.cgi?id=80504
+
+ Reviewed by Vsevolod Vlasov.
+
+ Test: inspector/console/console-string-format.html
+
+ * inspector/front-end/AuditRules.js:
+ (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
+ * inspector/front-end/ProfileDataGridTree.js:
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
+ * inspector/front-end/utilities.js:
+
+2012-03-11 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: use monotonically increasing time in timeline agent
+ https://bugs.webkit.org/show_bug.cgi?id=80786
+
+ Reviewed by Pavel Feldman.
+
+ * bindings/v8/ScriptGCEvent.cpp:
+ (WebCore::ScriptGCEvent::gcPrologueCallback):
+ (WebCore::ScriptGCEvent::gcEpilogueCallback):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::pushGCEventRecords):
+ (WebCore::InspectorTimelineAgent::willSendResourceRequest):
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ (WebCore::InspectorTimelineAgent::appendRecord):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ (WebCore::InspectorTimelineAgent::timestamp):
+ (WebCore):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::timestamp):
+
+2012-03-11 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Network panel does not show responses for application/json data
+ https://bugs.webkit.org/show_bug.cgi?id=80684
+
+ Reviewed by Pavel Feldman.
+
+ Test: http/tests/inspector/network/async-xhr-json-mime-type.html
+
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::createXHRTextDecoder):
+ (WebCore::InspectorPageAgent::cachedResourceContent):
+ * inspector/InspectorPageAgent.h:
+ * inspector/NetworkResourcesData.cpp:
+ (WebCore::createOtherResourceTextDecoder):
+ (WebCore):
+ (WebCore::NetworkResourcesData::responseReceived):
+
+2012-03-11 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: CSS content is not shown when stylesheet is loaded with invalid mime type in quirks mode.
+ https://bugs.webkit.org/show_bug.cgi?id=80528
+
+ Reviewed by Pavel Feldman.
+
+ Test: http/tests/inspector/resource-tree/resource-tree-invalid-mime-type-css-content.html
+
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::cachedResourceContent):
+
+2012-03-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ [Qt] [WK2] Support threaded renderer in WK2
+ https://bugs.webkit.org/show_bug.cgi?id=76661
+
+ Reviewed by Noam Rosenthal.
+
+ Add TransformationMatrix conversions from/to Qt QMatrix4x4. Used by Qt WebKit2
+ rendering and tested by Qt WebKit2 API tests.
+
+ * platform/graphics/qt/TransformationMatrixQt.cpp:
+ (WebCore::TransformationMatrix::operator QMatrix4x4):
+ (WebCore):
+ (WebCore::TransformationMatrix::TransformationMatrix):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (TransformationMatrix):
+
+2012-03-09 Jon Lee <jonlee@apple.com>
+
+ Rename NotificationPresenter to NotificationClient
+ https://bugs.webkit.org/show_bug.cgi?id=80488
+ <rdar://problem/10965558>
+
+ Reviewed by Kentaro Hara.
+
+ * notifications/NotificationCenter.h: Renamed from notifications/NotificationPresenter.h.
+
+ Refactor to use renamed WebCore::NotificationClient.
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * notifications/Notification.cpp:
+ (WebCore::Notification::Notification):
+ (WebCore::Notification::show):
+ (WebCore::Notification::cancel):
+ (WebCore::Notification::contextDestroyed):
+ (WebCore::Notification::finishLoading):
+ * notifications/NotificationCenter.cpp:
+ (WebCore::NotificationCenter::create):
+ (WebCore::NotificationCenter::NotificationCenter):
+ (WebCore::NotificationCenter::checkPermission):
+ (WebCore::NotificationCenter::requestPermission):
+ (WebCore::NotificationCenter::disconnectFrame):
+ * notifications/NotificationController.cpp:
+ (WebCore::NotificationController::NotificationController):
+ (WebCore::NotificationController::create):
+ (WebCore::NotificationController::clientFrom):
+ (WebCore::provideNotification):
+ * notifications/NotificationController.h:
+ (WebCore):
+ (NotificationController):
+ (WebCore::NotificationController::client):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::webkitNotifications):
+ * page/DOMWindow.h:
+ (DOMWindow):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::webkitNotifications):
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::WorkerThread):
+ * workers/WorkerThread.h:
+ (WebCore):
+ (WebCore::WorkerThread::getNotificationClient):
+ (WebCore::WorkerThread::setNotificationClient):
+ (WorkerThread):
+
+2012-03-10 Julien Chaffraix <jchaffraix@webkit.org>
+
+ RenderObject with 'resize' different from 'none' should have a RenderLayer
+ https://bugs.webkit.org/show_bug.cgi?id=80738
+
+ Reviewed by James Robinson.
+
+ Covered by fast/css/resize-single-axis.html.
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::requiresLayerForOverflowClip):
+ The resizer logic is tied to RenderLayer so force a RenderLayer to be allocated if resize() != RESIZE_NONE.
+
+2012-03-10 Stephen White <senorblanco@chromium.org>
+
+ Unreviewed, rolling out r110358.
+ http://trac.webkit.org/changeset/110358
+ https://bugs.webkit.org/show_bug.cgi?id=80706
+
+ No improvement on specified benchmarks.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::collectNodes):
+ (WebCore::collectTargetNodes):
+
+2012-03-10 MORITA Hajime <morrita@google.com>
+
+ ShadowTree uses weak iteration patterns
+ https://bugs.webkit.org/show_bug.cgi?id=80572
+
+ Reviewed by Dimitri Glazkov.
+
+ Patch by Adam Barth.
+
+ This patch moves various ShadowTree to using a better iteration pattern
+ in which we collect all the ShadowRoots we're planning to iterate into
+ a vector and then iterate over them.
+
+ * dom/ShadowTree.cpp:
+ (ShadowRootVector):
+ (WebCore::ShadowRootVector::ShadowRootVector):
+ (WebCore):
+ (WebCore::ShadowTree::removeAllShadowRoots):
+ (WebCore::ShadowTree::insertedIntoDocument):
+ (WebCore::ShadowTree::removedFromDocument):
+ (WebCore::ShadowTree::insertedIntoTree):
+ (WebCore::ShadowTree::removedFromTree):
+ (WebCore::ShadowTree::willRemove):
+
+2012-03-10 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110363.
+ http://trac.webkit.org/changeset/110363
+ https://bugs.webkit.org/show_bug.cgi?id=80757
+
+ link error in chromium: unresolved external symbol
+ webkit_support::CreateScopedTempDirectory(void) (Requested by
+ ukai_home on #webkit).
+
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
+ (WebCore::IDBLevelDBBackingStore::open):
+ * platform/leveldb/LevelDBDatabase.cpp:
+ * platform/leveldb/LevelDBDatabase.h:
+ (LevelDBDatabase):
+
+2012-03-09 Robert Kroeger <rjkroege@chromium.org>
+
+ Handle more Gesture* events by performing scrolls on the correct target ScrollableArea
+ https://bugs.webkit.org/show_bug.cgi?id=80311
+
+ Implement GestureScroll* events via re-use of WheelEvent dispatch.
+
+ Reviewed by James Robinson.
+
+ Layout tests previously submited as https://bugs.webkit.org/show_bug.cgi?id=80201 and unit
+ test added as part of this patch.
+
+ * page/EventHandler.cpp:
+ (WebCore::wheelGranularityToScrollGranularity): Refactoring.
+ (WebCore):
+ (WebCore::scrollNode):
+ (WebCore::EventHandler::EventHandler):
+ (WebCore::EventHandler::clear):
+ (WebCore::EventHandler::handleWheelEvent):
+ (WebCore::EventHandler::defaultWheelEventHandler):
+ (WebCore::EventHandler::handleGestureEvent): Added GestureScrollBegin & End.
+ (WebCore::EventHandler::handleGestureTap):
+ (WebCore::EventHandler::handleGestureScrollUpdate):
+ (WebCore::EventHandler::handleGestureScrollCore): Refactoring.
+ * page/EventHandler.h:
+ (EventHandler):
+ * platform/PlatformWheelEvent.h: Added additional scroll type.
+ * platform/ScrollAnimator.cpp:
+ (WebCore::ScrollAnimator::handleWheelEvent): Forward additional scroll type.
+ * platform/ScrollAnimator.h:
+ (WebCore):
+ * platform/ScrollAnimatorNone.cpp:
+ (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): Handle additional scroll type.
+ (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
+ (WebCore):
+ (WebCore::ScrollAnimatorNone::scroll):
+ * platform/ScrollAnimatorNone.h:
+ (ScrollAnimatorNone):
+ * platform/ScrollTypes.h: Added an additional scroll type.
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::scroll):
+
+2012-03-09 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Fix a fixme in v8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=80734
+
+ Reviewed by Kentaro Hara.
+
+ No new tests. Covered by existing tests.
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toInt32):
+ (WebCore::toUInt32):
+
+2012-03-09 Lauro Neto <lauro.neto@openbossa.org>
+
+ [Qt] WebCore/Target.pri contains obsolete FileStreamProxy.h reference.
+ https://bugs.webkit.org/show_bug.cgi?id=80730
+
+ Reviewed by Tor Arne Vestbø.
+
+ Build fix. Target.pri was still including old FileStreamProxy.h.
+
+ * Target.pri:
+
+2012-03-05 Cem Kocagil <cem.kocagil@gmail.com>
+
+ Pan scroll icon is painted at incorrect coordinates in frames
+ https://bugs.webkit.org/show_bug.cgi?id=79378
+
+ Convert client coordinates to parent ScrollView coordinates
+
+ Reviewed by Antonio Gomes
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::paintPanScrollIcon):
+
+2012-03-09 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Handle LevelDB database corruption
+ https://bugs.webkit.org/show_bug.cgi?id=79413
+
+ Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.
+
+ Reviewed by Tony Chang.
+
+ Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'
+
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
+ (WebCore::IDBLevelDBBackingStore::open):
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::destroy):
+ (WebCore):
+ * platform/leveldb/LevelDBDatabase.h:
+ (LevelDBDatabase):
+
+2012-03-09 Jessie Berlin <jberlin@apple.com>
+
+ Fix one of the Windows build warnings.
+
+ * html/track/TextTrackCueList.idl:
+ Add a newline to the end of the file.
+
+2012-03-09 Tyler Abbott <tabbott@rim.com>
+
+ BlackBerry PlayBook doesn't sniff mime types
+ https://bugs.webkit.org/show_bug.cgi?id=73869
+
+ Reviewed by Rob Buis.
+
+ Hook up MIMESniffing for BlackBerry. Override Content-Types will
+ not be overriden. File extensions will be trusted when content
+ is loaded from disk.
+
+ No tests, BlackBerry tests are not yet present in webkit.org codebase.
+
+ * PlatformBlackBerry.cmake:
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::NetworkJob):
+ (WebCore::NetworkJob::initialize):
+ (WebCore::NetworkJob::handleNotifyDataReceived):
+ (WebCore::NetworkJob::sendResponseIfNeeded):
+ * platform/network/blackberry/NetworkJob.h:
+ (NetworkJob):
+
+2012-03-09 Enrica Casucci <enrica@apple.com>
+
+ Move WebNSURLExtras code down to WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=80611
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebCore.exp.in: Added new exported functions.
+ * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSURLExtras.*
+ * platform/FileSystem.h: Added setMetadataURL.
+ * platform/mac/FileSystemMac.mm:
+ (WebCore::setMetaData): Added.
+ (WebCore::setMetadataURL): Added.
+ * platform/mac/WebCoreNSStringExtras.h:
+ * platform/mac/WebCoreNSStringExtras.mm:
+ (hasCaseInsensitivePrefix): Added.
+ * platform/mac/WebCoreNSURLExtras.h: Added.
+ * platform/mac/WebCoreNSURLExtras.mm: Added.
+ * platform/mac/WebCoreObjCExtras.h:
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2012-03-09 Tim Dresser <tdresser@chromium.org>
+
+ [chromium] Increase size of Combo Box Options for touch and high DPI devices
+ https://bugs.webkit.org/show_bug.cgi?id=80027
+
+ Reviewed by Darin Fisher.
+
+ Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
+ <option> elements when touch is enabled.
+
+ Manually tested with --default-device-scale-factor=1,2 and unset.
+ Each of these were tested with RuntimeEnabledFeatures::touchEnabled
+ set to true and false.
+
+ * platform/chromium/PopupListBox.cpp:
+ (WebCore::PopupListBox::paint):
+ (WebCore::PopupListBox::paintRow):
+ (WebCore::PopupListBox::getRowHeight):
+ * platform/chromium/PopupListBox.h:
+ (PopupContainerSettings):
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore):
+ (WebCore::PopupMenuChromium::show):
+ * platform/chromium/PopupMenuChromium.h:
+ (WebCore::PopupMenuChromium::optionPaddingForTouch):
+ (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
+ (PopupMenuChromium):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::showPopup):
+
+2012-03-09 Stephen White <senorblanco@chromium.org>
+
+ Improve ContainerNode collectNode() performance by reserving vector
+ capacity up front.
+ https://bugs.webkit.org/show_bug.cgi?id=80706
+
+ Reviewed by Ryosuke Niwa.
+
+ Covered by existing tests. Performance will be evaluated based on
+ Chromium's page_cycler_bloat-http, page_cycler_intl1, and
+ dromaeo_domcore suites.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::collectNodes):
+
+2012-03-09 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/11018851> Crash in DisplayRefreshMonitor::notifyClients()
+ https://bugs.webkit.org/show_bug.cgi?id=80740
+
+ Reviewed by Sam Weinig.
+
+ No test, since this race condition cannot be reproduced reliably.
+
+ * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
+ (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor): Changed to stop the display link
+ first, then cancel any outstanding calls to refreshDisplayOnMainThread(). When doing things
+ the other way around, the display link can fire after outstanding calls have been canceled,
+ and enqueue new calls on the main thread, which will be dispatched after monitor destruction.
+
+2012-03-09 Pratik Solanki <psolanki@apple.com>
+
+ Assertion failure in ResourceHandle::setDefersLoading(): d->m_defersLoading != defers
+ https://bugs.webkit.org/show_bug.cgi?id=80543
+
+ Reviewed by Geoffrey Garen.
+
+ Reset m_defersLoading flag to the value from Page::defersCallbacks() in
+ ResourceLoader::init(). This is because the resource could have been in the pending requests
+ queue in ResourceLoadScheduler and would have missed out on state changes to this flag
+ happening from DocumentLoader::setDefersCallbacks().
+
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::init):
+
+2012-03-09 Emil A Eklund <eae@chromium.org>
+
+ Add roundedPoint to HitTestResult and change platform code to use it
+ https://bugs.webkit.org/show_bug.cgi?id=80715
+
+ Reviewed by James Robinson.
+
+ Change ports to use roundedPoint to avoid exposing subpixel types to
+ platform code.
+
+ No new tests.
+
+ * rendering/HitTestResult.h:
+ (WebCore::HitTestResult::roundedPoint):
+
+2012-03-09 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Performance] Inline hot methods in V8Bindings.h
+ https://bugs.webkit.org/show_bug.cgi?id=80685
+
+ Reviewed by Adam Barth.
+
+ This patch slightly improves DOM binding performance by inlining hot
+ methods in V8Binding.cpp, e.g. isUndefinedOrNull(), v8StringOrNull(), v8Boolean().
+ For example, this patch improves div.nodeName by 5.0%, and div.nodeValue by 4.1%.
+
+ Performance tests: https://bugs.webkit.org/attachment.cgi?id=131006
+
+ The performance test results in my Mac environment are as follows:
+
+ Chromium/V8 without this patch:
+ div.nodeName : 3417.4 ms
+ div.nodeValue : 2069.6 ms
+
+ Chromium/V8 with this patch:
+ div.nodeName : 3245.6 ms
+ div.nodeValue : 1983.1 ms
+
+ No tests. No change in behavior.
+
+ * bindings/v8/V8Binding.cpp:
+ * bindings/v8/V8Binding.h:
+ (WebCore::toWebCoreString):
+ (WebCore::isUndefinedOrNull):
+ (WebCore::isHostObject):
+ (WebCore::v8Boolean):
+ (WebCore::toWebCoreStringWithNullCheck):
+ (WebCore::toAtomicWebCoreStringWithNullCheck):
+ (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
+ (WebCore::v8UndetectableString):
+ (WebCore::v8StringOrNull):
+ (WebCore::v8StringOrUndefined):
+ (WebCore::v8StringOrFalse):
+ (WebCore::toWebCoreDate):
+ (WebCore::v8DateOrNull):
+
+2012-03-09 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Implement scroll physics architecture for impl/main thread
+ https://bugs.webkit.org/show_bug.cgi?id=79827
+
+ Reviewed by James Robinson.
+
+ Unittests added, plus follow-on patch from rjkroege will add layout tests.
+
+ PlatformGestureCurve is a framework to separate the physical simulation from for gesture
+ animation from control concerns. This allows the physics to be reused in alternate places.
+ At present, the framework will be applied in ScrollAnimatorNone and the Chrome Compositor.
+
+ * WebCore.gypi:
+ * platform/ActivePlatformGestureAnimation.cpp: Added.
+ (WebCore):
+ (WebCore::ActivePlatformGestureAnimation::create):
+ (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
+ (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
+ (WebCore::ActivePlatformGestureAnimation::animate):
+ * platform/ActivePlatformGestureAnimation.h: Added.
+ (WebCore):
+ (ActivePlatformGestureAnimation):
+ * platform/PlatformGestureCurve.h: Added.
+ (WebCore):
+ (PlatformGestureCurve):
+ (WebCore::PlatformGestureCurve::~PlatformGestureCurve):
+ * platform/PlatformGestureCurveTarget.h: Added.
+ (WebCore):
+ (PlatformGestureCurveTarget):
+ (WebCore::PlatformGestureCurveTarget::~PlatformGestureCurveTarget):
+ * platform/TouchFlingPlatformGestureCurve.cpp: Added.
+ (WebCore):
+ (WebCore::TouchFlingPlatformGestureCurve::create):
+ (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
+ (WebCore::TouchFlingPlatformGestureCurve::~TouchFlingPlatformGestureCurve):
+ (WebCore::TouchFlingPlatformGestureCurve::apply):
+ * platform/TouchFlingPlatformGestureCurve.h: Added.
+ (WebCore):
+ (TouchFlingPlatformGestureCurve):
+ * platform/WheelFlingPlatformGestureCurve.cpp: Added.
+ (WebCore):
+ (WebCore::WheelFlingPlatformGestureCurve::create):
+ (WebCore::WheelFlingPlatformGestureCurve::WheelFlingPlatformGestureCurve):
+ (WebCore::WheelFlingPlatformGestureCurve::~WheelFlingPlatformGestureCurve):
+ (WebCore::WheelFlingPlatformGestureCurve::apply):
+ * platform/WheelFlingPlatformGestureCurve.h: Added.
+ (WebCore):
+ (WheelFlingPlatformGestureCurve):
+ * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp: Added.
+ (WebCore):
+ (WebCore::CCActiveGestureAnimation::create):
+ (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
+ (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
+ (WebCore::CCActiveGestureAnimation::animate):
+ * platform/graphics/chromium/cc/CCActiveGestureAnimation.h: Added.
+ (WebCore):
+ (CCActiveGestureAnimation):
+ * platform/graphics/chromium/cc/CCGestureCurve.h: Added.
+ (WebCore):
+ (CCGestureCurveTarget):
+ (WebCore::CCGestureCurveTarget::~CCGestureCurveTarget):
+ (CCGestureCurve):
+ (WebCore::CCGestureCurve::~CCGestureCurve):
+
+2012-03-09 Alexis Menard <alexis.menard@openbossa.org>
+
+ Implement selectedOptions attribute of <select>.
+ https://bugs.webkit.org/show_bug.cgi?id=80631
+
+ Reviewed by Benjamin Poulain.
+
+ Add a new collection as a member of HTMLSelectElement which is
+ used to store the selected elements. Extend HTMLCollection to
+ support the new collection type needed by this feature.
+
+ Reference : http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-select-selectedoptions
+
+ Test: fast/dom/select-selectedOptions.html
+
+ * html/CollectionType.h:
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollection::shouldIncludeChildren):
+ (WebCore::HTMLCollection::isAcceptableElement):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::selectedOptions):
+ (WebCore):
+ * html/HTMLSelectElement.h:
+ (HTMLSelectElement):
+ * html/HTMLSelectElement.idl:
+
+2012-03-09 Tien-Ren Chen <trchen@chromium.org>
+
+ [chromium] ScrollbarLayerChromium/CCScrollbarLayerImpl for CC-side scrollbar painting
+ https://bugs.webkit.org/show_bug.cgi?id=78872
+
+ Reviewed by James Robinson.
+
+ New test ScrollbarLayerChromiumTest.resolveScrollLayerPointer
+
+ * WebCore.gypi:
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::scrollLayerForFrameView):
+ (WebCore::scrollbarLayerDidChange):
+ (WebCore):
+ (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
+ (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::invalidateScrollbar):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ (WebCore::GraphicsLayerChromium::hasContentsLayer):
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore):
+ (WebCore::LayerChromium::toScrollbarLayerChromium):
+ (LayerChromium):
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp: Added.
+ (WebCore):
+ (WebCore::ScrollbarLayerChromium::createCCLayerImpl):
+ (WebCore::ScrollbarLayerChromium::create):
+ (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
+ (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
+ * platform/graphics/chromium/ScrollbarLayerChromium.h: Added.
+ (WebCore):
+ (ScrollbarLayerChromium):
+ (WebCore::ScrollbarLayerChromium::scrollLayerId):
+ (WebCore::ScrollbarLayerChromium::toScrollbarLayerChromium):
+ * platform/graphics/chromium/TreeSynchronizer.cpp:
+ (WebCore::TreeSynchronizer::synchronizeTrees):
+ (WebCore::TreeSynchronizer::collectExistingCCLayerImplRecursive):
+ (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
+ (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
+ (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
+ (WebCore):
+ * platform/graphics/chromium/TreeSynchronizer.h:
+ (TreeSynchronizer):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: Added.
+ (WebCore):
+ (WebCore::CCScrollbarLayerImpl::create):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
+ (WebCore::CCScrollbarLayerImpl::willDraw):
+ (WebCore::CCScrollbarLayerImpl::appendQuads):
+ (WebCore::CCScrollbarLayerImpl::didDraw):
+ (WebCore::CCScrollbarLayerImpl::paint):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::x):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::y):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::width):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::height):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::size):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::location):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::parent):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::root):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::setFrameRect):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::frameRect):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::invalidate):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::invalidateRect):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::scrollbarOverlayStyle):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::getTickmarks):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollableAreaActive):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollViewScrollbar):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::convertFromContainingWindow):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::isCustomScrollbar):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::orientation):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::value):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::currentPos):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::visibleSize):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::maximum):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::controlSize):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::lineStep):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::pageStep):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::pressedPart):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::hoveredPart):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::styleChanged):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::enabled):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::setEnabled):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: Added.
+ (WebCore):
+ (CCScrollbarLayerImpl):
+ (WebCore::CCScrollbarLayerImpl::setScrollbarOverlayStyle):
+ (WebCore::CCScrollbarLayerImpl::setTickmarks):
+ (WebCore::CCScrollbarLayerImpl::setIsScrollableAreaActive):
+ (WebCore::CCScrollbarLayerImpl::setIsScrollViewScrollbar):
+ (WebCore::CCScrollbarLayerImpl::setOrientation):
+ (WebCore::CCScrollbarLayerImpl::setControlSize):
+ (WebCore::CCScrollbarLayerImpl::setPressedPart):
+ (WebCore::CCScrollbarLayerImpl::setHoveredPart):
+ (WebCore::CCScrollbarLayerImpl::setEnabled):
+ (WebCore::CCScrollbarLayerImpl::scrollLayer):
+ (WebCore::CCScrollbarLayerImpl::setScrollLayer):
+ (CCScrollbar):
+ (WebCore::CCScrollbarLayerImpl::CCScrollbar::CCScrollbar):
+
+2012-03-09 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Split the extra logical height distribution logic out of RenderTableSection::layoutRows
+ https://bugs.webkit.org/show_bug.cgi?id=80671
+
+ Reviewed by Adrienne Walker.
+
+ Refactoring only, no change in behavior expected.
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::layoutRows):
+ Split the logic from here...
+
+ (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
+ (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
+ (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
+ (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
+ ... to those functions. Cleaned up the variable naming while at it and
+ made them follow the same signature as this may be useful to fix another
+ bug I have.
+
+ * rendering/RenderTableSection.h:
+ (RenderTableSection):
+ Added the previous 4 new functions.
+
+2012-03-09 Rob Buis <rbuis@rim.com>
+
+ Remove unused file FrameBlackBerry.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=80731
+
+ Reviewed by Antonio Gomes.
+
+ This is not needed anymore since there is an implementation elsewhere.
+
+ * PlatformBlackBerry.cmake:
+ * page/blackberry/FrameBlackBerry.cpp: Removed.
+
+2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110309.
+ http://trac.webkit.org/changeset/110309
+ https://bugs.webkit.org/show_bug.cgi?id=80732
+
+ Seems to have caused a number of SVG crashes (thorton will
+ investigate further) (Requested by abarth|gardener on
+ #webkit).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::reset):
+ (WebCore::FrameView::repaintContentRectangle):
+ (WebCore::FrameView::deferredRepaintTimerFired):
+ * page/FrameView.h:
+ (FrameView):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::shouldRepaint):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::drawSVGToImageBuffer):
+ (WebCore::SVGImage::draw):
+ * svg/graphics/SVGImage.h:
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redrawTimerFired):
+ * svg/graphics/SVGImageCache.h:
+ (SVGImageCache):
+
+2012-03-09 Ken Buchanan <kenrb@chromium.org>
+
+ Crash due to inserting letter into div with first-letter
+ https://bugs.webkit.org/show_bug.cgi?id=78534
+
+ Reviewed by David Hyatt.
+
+ This fixes an issue in RenderTextFragment with setTextInternal
+ getting called with different intents. While most calls to it
+ are intended to change the underlying DOM node string, it can
+ also be called as a result of styleDidChange just for transforms
+ on the substring text fragment. This adds a mechanism for internal
+ callers to specify if the internal text is being updated without
+ a DOM node text change.
+
+ * rendering/RenderTextFragment.cpp:
+ (WebCore::RenderTextFragment::styleDidChange)
+ (WebCore::RenderTextFragment::setTextInternal)
+ * rendering/RenderTextFragment.h:
+ (WebCore::RenderTextFragment)
+
+2012-03-09 Chris Rogers <crogers@google.com>
+
+ Fix uninitialized variable in DynamicsCompressor
+ https://bugs.webkit.org/show_bug.cgi?id=80724
+
+ Reviewed by James Robinson.
+
+ * platform/audio/DynamicsCompressor.cpp:
+ (WebCore::DynamicsCompressor::DynamicsCompressor):
+
+2012-03-09 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Undo text position adjustment for attribute event handlers
+ https://bugs.webkit.org/show_bug.cgi?id=80725
+
+ Reviewed by Adam Barth.
+
+ No new tests. Needs rebaseline.
+
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::prepareListenerObject):
+
+2012-03-09 Tom Sepez <tsepez@chromium.org>
+
+ Hold cached images with a CachedResourceHandle rather than a raw pointer for CSSCrossfadeValue
+ https://bugs.webkit.org/show_bug.cgi?id=80186
+
+ Reviewed by Simon Fraser.
+
+ Test: http/tests/css/cross-fade-reload.html
+
+ * css/CSSCrossfadeValue.h:
+ (CSSCrossfadeValue):
+
+2012-03-09 Abhishek Arya <inferno@chromium.org>
+
+ Crash when splitting an anonymous block in multi-column layout.
+ https://bugs.webkit.org/show_bug.cgi?id=80432
+
+ Reviewed by David Hyatt.
+
+ Calculating currChild->nextSibling() is risky after destroying :after content
+ because it can blow away currChild if it is a left over empty anonymous block.
+ We need to calculate next sibling upfront, using the same trick, we do in
+ RenderBlock::addChildIgnoringAnonymousColumnBlock to reset beforeChild (check
+ out the line before splitFlow call).
+
+ Test: fast/multicol/anonymous-block-split-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::splitBlocks):
+
+2012-03-09 Abhishek Arya <inferno@chromium.org>
+
+ Crash due to accessing removed parent lineboxes when clearing selection.
+ https://bugs.webkit.org/show_bug.cgi?id=79264
+
+ Reviewed by Dave Hyatt.
+
+ Test: editing/selection/first-letter-selection-crash.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::setSelectionState):
+ 1. No need of checking if we are being set to same selection state.
+ Now tested by setSelectionStateIfNeeded. Rename 's' with 'state' and
+ 'cb' with 'containingBlock'.
+ * rendering/RenderListMarker.cpp:
+ (WebCore::RenderListMarker::setSelectionState):
+ 1. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
+ root line boxes are still valid before setting them.
+ 2. No need of calling setSelectionState on containing block since our base
+ class call to RenderBox::setSelectionState covers it. Added a comment to indicate that.
+ 3. Use m_inlineBoxWrapper variable directly to simplify the ifs.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
+ (WebCore): helper function to tell if we can update selection information
+ on our root line boxes. This returns false if our containing block is pending layout.
+ * rendering/RenderObject.h:
+ (RenderObject):
+ (WebCore::RenderObject::setSelectionStateIfNeeded):
+ (WebCore): helper to set selection state only if it is different from our
+ current selection state.
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::setSelectionState):
+ 1. Rename 's' to 'state', 'line' to 'root' and use m_inlineBoxWrapper directly
+ to simplify ifs.
+ 2. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
+ root line boxes are still valid before setting them.
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::setSelectionState):
+ 1. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
+ root line boxes are still valid before setting them.
+ 2. Rename 'cb' to 'containingBlock', 'line' to 'root', move InlineTextBox
+ declaration to local.
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setSelection): Replace all calls to setSelectionState
+ with setSelectionStateIfNeeded.
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::setSelectionState):
+ 1. No need of checking if we are being set to same selection state.
+ Now tested by setSelectionStateIfNeeded.
+
+2012-03-09 Levi Weintraub <leviw@chromium.org>
+
+ Move TransformationMatrix and TransformState to LayoutUnits.
+ https://bugs.webkit.org/show_bug.cgi?id=80632
+
+ Reviewed by Simon Fraser.
+
+ When we move layout to sub-pixel precision, we want to preserve that precision through
+ transformations. This change readies TransformState and TransformationMatrix to make
+ use of this additional precision in accumulating transforms, and in returning rects that
+ preserve it.
+
+ No new tests. No change in behavior.
+
+ * platform/graphics/transforms/TransformState.cpp:
+ (WebCore::TransformState::move): Changed to pass along LayoutUnits to the contained
+ TransformationMatrix. The values of the LayoutUnits will be implicitly converted to
+ floats to be applied.
+ * platform/graphics/transforms/TransformState.h:
+ (WebCore::TransformState::move): Ditto.
+ (TransformState):
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::clampEdgeValue): Limiting edges to the maximum LayoutUnit value to prevent
+ overflow..
+ (WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad): Same as above, but also
+ returning a LayoutRect which preserves additional precision than the previous IntRect.
+ (WebCore::TransformationMatrix::mapRect): Adding a version of this method that operates
+ specifically on FractionalLayoutRects.
+ (WebCore):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (WebCore):
+ (TransformationMatrix):
+ * rendering/LayoutTypes.h:
+ (WebCore::clampToLayoutUnit):
+ (WebCore):
+
+2012-03-09 Ryosuke Niwa <rniwa@webkit.org>
+
+ Remove a bogus assertion. This condition is no longer true for non-document tree scopes.
+
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::activeElement):
+
+2012-03-09 Ryosuke Niwa <rniwa@webkit.org>
+
+ Cleanup incDOMTreeVersion callers
+ https://bugs.webkit.org/show_bug.cgi?id=80452
+
+ Reviewed by Andreas Kling.
+
+ Unify various calls to incDOMTreeVersion and namely remove the call inside dispatchSubtreeModifiedEvent.
+ There should be no behavioral change and therefore there is no new test.
+
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::parserAppendData):
+ (WebCore::CharacterData::setDataAndUpdate):
+ * dom/ContainerNode.cpp:
+ (WebCore::willRemoveChild):
+ (WebCore::willRemoveChildren):
+ (WebCore::ContainerNode::removeChild):
+ (WebCore::ContainerNode::removeChildren):
+ (WebCore::ContainerNode::childrenChanged):
+ (WebCore::notifyChildInserted):
+ * dom/Element.cpp:
+ (WebCore::Element::attributeChanged):
+ (WebCore::Element::parserSetAttributes):
+ (WebCore::Element::willModifyAttribute):
+ * dom/Node.cpp:
+ (WebCore::Node::dispatchSubtreeModifiedEvent):
+ * html/HTMLOutputElement.cpp:
+ (WebCore::HTMLOutputElement::childrenChanged):
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::childrenChanged):
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::childrenChanged):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::childrenChanged):
+ * html/HTMLTitleElement.cpp:
+ (WebCore::HTMLTitleElement::childrenChanged):
+ * svg/SVGScriptElement.cpp:
+ (WebCore::SVGScriptElement::childrenChanged):
+ * svg/SVGStyleElement.cpp:
+ (WebCore::SVGStyleElement::childrenChanged):
+
+2012-03-09 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for !ENABLE(FILTERS) after r110285.
+
+ * rendering/svg/SVGRenderingContext.h:
+ (WebCore::SVGRenderingContext::SVGRenderingContext):
+
+2012-03-09 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Use opaque paints in CCOcclusionTracker
+ https://bugs.webkit.org/show_bug.cgi?id=80173
+
+ Reviewed by Adrienne Walker.
+
+ Use tracked opaque paints in the tiles when tracking occlusion in
+ CCOcclusionTracker. Moves the Tile::m_opaqueRect up to the super-
+ class in CCLayerTilingData rather than having it declared in both
+ TiledLayerChromium and CCTiledLayerImpl. This lets the CCLayerTilingData
+ class compute the opaque region for its tiles, sharing code between the
+ two tiled layer implementations.
+
+ Use of this feature is guarded behind a runtime flag and turned off for
+ paint culling. We will enable it in the future once we're comfortable
+ with the paint culling.
+
+ Unit test: CCOcclusionTrackerTest.opaqueContentsRegionEmpty
+ CCOcclusionTrackerTest.opaqueContentsRegionNonEmpty
+ TiledLayerChromiumTest.opaqueContentsRegion
+
+ All existing CCOcclusionTrackerTest.* duplicated with opaque painted
+ rects.
+
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::opaqueContentsRegion):
+ (LayerChromium):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (UpdatableTile):
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore::TiledLayerChromium::prepareToUpdateTiles):
+ (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
+ (WebCore::TiledLayerChromium::opaqueContentsRegion):
+ (WebCore):
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (WebCore::CCLayerImpl::opaqueContentsRegion):
+ (CCLayerImpl):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::opaqueRegionInLayerRect):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCLayerTilingData.h:
+ (WebCore):
+ (Tile):
+ (WebCore::CCLayerTilingData::Tile::opaqueRect):
+ (WebCore::CCLayerTilingData::Tile::setOpaqueRect):
+ (CCLayerTilingData):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::::CCOcclusionTrackerBase):
+ (WebCore::computeOcclusionBehindLayer):
+ (WebCore::::markOccludedBehindLayer):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.h:
+ (CCOcclusionTrackerBase):
+ (WebCore::CCOcclusionTrackerBase::setUsePaintTracking):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (DrawableTile):
+ (WebCore::CCTiledLayerImpl::opaqueContentsRegion):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+ (CCTiledLayerImpl):
+
+2012-03-09 Antti Koivisto <antti@apple.com>
+
+ Presentation attribute cache
+ https://bugs.webkit.org/show_bug.cgi?id=80707
+
+ Reviewed by Andreas Kling.
+
+ It is common for the same presentation attribute values repeat. We should introduce a cache that uses
+ presentation attribute names and values as key. This will help to avoid repeated parsing of the
+ same attribute values, reduce memory consumption and speed up the style resolve.
+
+ This patch introduces a simple and small (128 entries) global cache. In general web browsing it seems
+ to give sharing rate of >75% (an average presentation attribute property set is shared between >4 elements).
+
+ * dom/StyledElement.cpp:
+ (WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
+ (PresentationAttributeCacheKey):
+ (WebCore):
+ (WebCore::operator!=):
+ (PresentationAttributeCacheEntry):
+ (WebCore::presentationAttributeCache):
+ (WebCore::attributeNameSort):
+ (WebCore::StyledElement::makePresentationAttributeCacheKey):
+ (WebCore::computePresentationAttributeCacheHash):
+ (WebCore::StyledElement::updateAttributeStyle):
+ * dom/StyledElement.h:
+ (WebCore):
+ (StyledElement):
+
+2012-03-08 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Fix object scope for inline event attribute handlers
+ https://bugs.webkit.org/show_bug.cgi?id=80329
+
+ Reviewed by Ojan Vafai.
+
+ We now create the funciton inside the with-statements with the current scope objects.
+ This is important for a few reasons:
+
+ - We need to use the real objects and not just lookup the JS properties because these might have been overridden.
+ - We need to use the node, form and document at the time of the preparation and not at the time of calling.
+ - We need to ensure that event/evt is bound closer than a property with the same name in the object environment
+ created by the with-statements.
+
+ Tests: fast/dom/inline-event-attributes-lookup-removed-form.html
+ fast/dom/inline-event-attributes-lookup-removed.html
+ fast/dom/inline-event-attributes-lookup.html
+
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::eventParameterName):
+ (WebCore):
+ (WebCore::createAttributeEventListener):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::V8LazyEventListener):
+ (WebCore):
+ (WebCore::toObjectWrapper):
+ (WebCore::V8LazyEventListener::callListenerFunction):
+ (WebCore::V8LazyEventListener::prepareListenerObject):
+ * bindings/v8/V8LazyEventListener.h:
+ (WebCore):
+ (WebCore::V8LazyEventListener::create):
+ (V8LazyEventListener):
+
+2012-03-09 Stephen Chenney <schenney@chromium.org>
+
+ Crash in WebCore::SVGUseElement::instanceForShadowTreeElement
+ https://bugs.webkit.org/show_bug.cgi?id=80406
+
+ Reviewed by Nikolas Zimmermann.
+
+ Code assumes that an object that is an SVG Element and in a shadow
+ tree must be in an SVG use shadow tree, and casts the shadow host with
+ a static_cast. It may be that an SVG element appears in a non-use
+ shadow tree, in which case bad things happen. While it appears that
+ the current code prevents such a situation from arising (checks are
+ made within the shadow tree code to prevent it) there are also
+ indications that the situation may change.
+
+ No new tests. I believe that the problem here cannot currently be
+ reproduced. That is, other code prevents SVG elements from appearing
+ in non-svg shadow trees.
+
+ * dom/EventDispatcher.cpp:
+ (WebCore::eventTargetRespectingSVGTargetRules):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::title):
+
+2012-03-09 Jon Lee <jonlee@apple.com>
+
+ Add support for ENABLE(LEGACY_NOTIFICATIONS)
+ https://bugs.webkit.org/show_bug.cgi?id=80497
+
+ Reviewed by Adam Barth.
+
+ Prep for b80472: Update API for Web Notifications
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+
+2012-03-09 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ ShadowRoot should implement activeElement.
+ https://bugs.webkit.org/show_bug.cgi?id=79886
+
+ Reviewed by Ryosuke Niwa.
+
+ Implement the activeElement attribute for ShadowRoot to return the
+ currently focused element in the shadow DOM subtree.
+
+ Test: fast/dom/shadow/shadow-root-activeElement.html
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::activeElement):
+ (WebCore):
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+ * dom/ShadowRoot.idl:
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::adoptIfNeeded):
+ (WebCore):
+ (WebCore::focusedFrameOwnerElement):
+ (WebCore::TreeScope::activeElement):
+ * dom/TreeScope.h:
+ (TreeScope):
+ * html/HTMLDocument.cpp:
+ (WebCore):
+ (WebCore::HTMLDocument::activeElement):
+
+2012-03-09 Tim Horton <timothy_horton@apple.com>
+
+ Infinite repaint loop with SVGImageCache and deferred repaint timers
+ https://bugs.webkit.org/show_bug.cgi?id=78315
+ <rdar://problem/10651634>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Only defer image redraw on a timer if we're in layout. This breaks
+ the repaint loop while still preventing us from drawing inside layout.
+
+ Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
+ preventing deferred repaint timers from being started during that process.
+
+ No new tests, as the problem only occurs in a nonstandard configuration.
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::draw):
+ (WebCore::SVGImage::frameView):
+ (WebCore):
+ * svg/graphics/SVGImage.h:
+ (WebCore):
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redraw):
+ (WebCore::SVGImageCache::redrawTimerFired):
+ (WebCore):
+ * svg/graphics/SVGImageCache.h:
+ (SVGImageCache):
+
+2012-03-09 Victor Carbune <vcarbune@adobe.com>
+
+ The method TextTrackCue::getCueAsHTML() should return different
+ fragments on different calls.
+
+ https://bugs.webkit.org/show_bug.cgi?id=80701
+
+ Reviewed by Eric Carlson.
+
+ Test: media/track/track-cue-mutable-fragment.html
+
+ * html/track/TextTrackCue.cpp: Removed setCueHTML(), since it is sufficient
+ to create apply the DOM rules only when the fragment is first requested.
+ (WebCore::TextTrackCue::getCueAsHTML): Changed the method such that a
+ a clone of the cached document fragment is returned.
+ * html/track/TextTrackCue.h: Removed setCueHTML() as the document fragment
+ of the cue should be created only within the class, from the cue text.
+ (TextTrackCue):
+ * html/track/WebVTTParser.cpp:
+ (WebCore::WebVTTParser::createNewCue): removed usage of setCueHTML()
+
+2012-03-09 Tim Horton <timothy_horton@apple.com>
+
+ Crash in SVGTextLayoutAttributesBuilder::fillCharacterDataMap
+ https://bugs.webkit.org/show_bug.cgi?id=78949
+ <rdar://problem/10889440>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Invalidate the text positioning cache when the children of an SVGAElement change,
+ so that we regenerate the list the next time it's needed instead of using stale values.
+
+ Test: svg/text/text-positioning-remove-child-crash.svg
+
+ * rendering/svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::childrenChanged):
+
+2012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com>
+
+ Bash scripts should support LF endings only
+ https://bugs.webkit.org/show_bug.cgi?id=79509
+
+ Reviewed by David Kilzer.
+
+ * WebCore.gyp/mac/adjust_visibility.sh: Added property svn:eol-style.
+ * WebCore.vcproj/build-generated-files.sh: Added property svn:executable.
+ * WebCore.vcproj/migrate-scripts.sh: Added property svn:executable.
+ * gyp/copy-forwarding-and-icu-headers.sh: Added property svn:eol-style.
+ * gyp/copy-inspector-resources.sh: Added property svn:eol-style.
+ * gyp/generate-derived-sources.sh: Added property svn:eol-style.
+ * gyp/generate-webcore-export-file-generator.sh: Added property svn:eol-style.
+ * gyp/run-if-exists.sh: Added property svn:eol-style.
+ * gyp/streamline-inspector-source.sh: Added property svn:eol-style.
+ * gyp/update-info-plist.sh: Added property svn:eol-style.
+
+2012-03-09 Andreas Kling <awesomekling@apple.com>
+
+ CSSParser: Use Vector for intermediate property storage.
+ <http://webkit.org/b/80653>
+
+ Reviewed by Antti Koivisto.
+
+ Remove the custom memory management for intermediate CSSProperties in CSSParser
+ and replace it by a Vector<CSSProperty, 256>.
+ This avoids heap allocations and removes a bunch of unnecessary complexity.
+
+ Remove WTF_MAKE_FAST_ALLOCATED from CSSProperty since they are only created on
+ the stack now.
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::~CSSParser):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseColor):
+ (WebCore::CSSParser::parseDeclaration):
+ (WebCore::CSSParser::addProperty):
+ (WebCore::CSSParser::rollbackLastProperties):
+ (WebCore::CSSParser::clearProperties):
+ (WebCore::CSSParser::parse4Values):
+ (WebCore::CSSParser::parseFlowThread):
+ (WebCore::CSSParser::createStyleRule):
+ (WebCore::CSSParser::createFontFaceRule):
+ (WebCore::CSSParser::createPageRule):
+ (WebCore::CSSParser::createMarginAtRule):
+ (WebCore::CSSParser::startDeclarationsForMarginBox):
+ (WebCore::CSSParser::endDeclarationsForMarginBox):
+ (WebCore::CSSParser::deleteFontFaceOnlyValues):
+ (WebCore::CSSParser::createKeyframeRule):
+ * css/CSSParser.h:
+ (WebCore::CSSParser::hasProperties):
+ (CSSParser):
+ * css/CSSProperty.h:
+ * css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGValue):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::StylePropertySet):
+ (WebCore::StylePropertySet::addParsedProperties):
+ * css/StylePropertySet.h:
+ (WebCore::StylePropertySet::create):
+ (StylePropertySet):
+
+2012-03-09 Nate Chapin <japhet@chromium.org>
+
+ CachedRawResource breaks when trying to load
+ a resource with an empty response body from cache.
+
+ Reviewed by Alexey Proskuryakov.
+
+ Test: http/tests/cache/zero-length-xhr.html
+
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::didAddClient): Don't exit early
+ if m_data is empty, we may still need to notifyFinished().
+
+2012-03-09 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Upstream classes that handle layer tiling
+ https://bugs.webkit.org/show_bug.cgi?id=79875
+
+ Reviewed by Rob Buis.
+
+ Initial upstreaming, no new tests.
+
+ * platform/graphics/blackberry/LayerTile.cpp: Added.
+ (WebCore):
+ (WebCore::LayerTile::LayerTile):
+ (WebCore::LayerTile::~LayerTile):
+ (WebCore::LayerTile::setContents):
+ (WebCore::LayerTile::setContentsToColor):
+ (WebCore::LayerTile::updateContents):
+ (WebCore::LayerTile::discardContents):
+ (WebCore::LayerTile::setVisible):
+ (WebCore::LayerTile::setTexture):
+ * platform/graphics/blackberry/LayerTile.h: Added.
+ (WebCore):
+ (LayerTileData):
+ (WebCore::LayerTileData::LayerTileData):
+ (WebCore::LayerTileData::isVisible):
+ (LayerTile):
+ (WebCore::LayerTile::texture):
+ (WebCore::LayerTile::isVisible):
+ (WebCore::LayerTile::isDirty):
+ (WebCore::LayerTile::hasTexture):
+ (WebCore::LayerTile::setContentsDirty):
+ * platform/graphics/blackberry/LayerTileIndex.h: Added.
+ (WebCore):
+ (TileIndex):
+ (WebCore::TileIndex::TileIndex):
+ (WebCore::TileIndex::~TileIndex):
+ (WebCore::TileIndex::i):
+ (WebCore::TileIndex::j):
+ (WebCore::TileIndex::setIndex):
+ (WebCore::operator==):
+ (WebCore::operator!=):
+ (WTF):
+ * platform/graphics/blackberry/LayerTiler.cpp: Added.
+ (WebCore):
+ (WebCore::transformPoint):
+ (WebCore::defaultTileSize):
+ (WebCore::LayerTiler::LayerTiler):
+ (WebCore::LayerTiler::~LayerTiler):
+ (WebCore::LayerTiler::layerWebKitThreadDestroyed):
+ (WebCore::LayerTiler::layerCompositingThreadDestroyed):
+ (WebCore::LayerTiler::setNeedsDisplay):
+ (WebCore::LayerTiler::updateTextureContentsIfNeeded):
+ (WebCore::LayerTiler::shouldPerformRenderJob):
+ (WebCore::LayerTiler::addTextureJob):
+ (WebCore::LayerTiler::clearTextureJobs):
+ (WebCore::LayerTiler::commitPendingTextureUploads):
+ (WebCore::LayerTiler::layerVisibilityChanged):
+ (WebCore::LayerTiler::uploadTexturesIfNeeded):
+ (WebCore::LayerTiler::processTextureJob):
+ (WebCore::LayerTiler::addTileJob):
+ (WebCore::LayerTiler::performTileJob):
+ (WebCore::LayerTiler::drawTextures):
+ (WebCore::LayerTiler::drawMissingTextures):
+ (WebCore::LayerTiler::drawTexturesInternal):
+ (WebCore::LayerTiler::addRenderJob):
+ (WebCore::LayerTiler::removeRenderJob):
+ (WebCore::LayerTiler::deleteTextures):
+ (WebCore::LayerTiler::pruneTextures):
+ (WebCore::LayerTiler::updateTileSize):
+ (WebCore::LayerTiler::disableTiling):
+ (WebCore::LayerTiler::shouldPrefillTile):
+ (WebCore::LayerTiler::indexOfTile):
+ (WebCore::LayerTiler::originOfTile):
+ (WebCore::LayerTiler::rectForTile):
+ (WebCore::LayerTiler::hasDirtyTiles):
+ (WebCore::LayerTiler::bindContentsTexture):
+ * platform/graphics/blackberry/LayerTiler.h: Added.
+ (WebCore):
+ (LayerTiler):
+ (WebCore::LayerTiler::create):
+ (WebCore::LayerTiler::layer):
+ (WebCore::LayerTiler::hasMissingTextures):
+ (WebCore::LayerTiler::TextureJob::TextureJob):
+ (TextureJob):
+ (WebCore::LayerTiler::TextureJob::setContents):
+ (WebCore::LayerTiler::TextureJob::setContentsToColor):
+ (WebCore::LayerTiler::TextureJob::updateContents):
+ (WebCore::LayerTiler::TextureJob::discardContents):
+ (WebCore::LayerTiler::TextureJob::resizeContents):
+ (WebCore::LayerTiler::TextureJob::dirtyContents):
+ (WebCore::LayerTiler::TextureJob::isNull):
+ (WebCore::LayerTiler::tileSize):
+ (WebCore::LayerTiler::removeUpdateContentsJobs):
+
+2012-03-09 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Ensure we use the correct time when notifying animation started
+ https://bugs.webkit.org/show_bug.cgi?id=79537
+
+ Reviewed by James Robinson
+
+ Tested in CCLayerTreeHostTestAddAnimation
+
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::setAnimationEvent):
+ * platform/graphics/chromium/LayerChromium.h:
+ (LayerChromium):
+ * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
+ (WebCore::CCAnimationStartedEvent::create):
+ (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
+ * platform/graphics/chromium/cc/CCAnimationEvents.h:
+ (CCAnimationEvent):
+ (CCAnimationStartedEvent):
+ * platform/graphics/chromium/cc/CCInputHandler.h:
+ (CCInputHandler):
+ * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
+ (WebCore::CCLayerAnimationControllerImpl::animate):
+ (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
+ (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
+ (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
+ (WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
+ (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
+ * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
+ (CCLayerAnimationControllerImpl):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::setAnimationEvents):
+ (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::animate):
+ (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
+ (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
+ (WebCore::CCLayerTreeHostImpl::animatePageScale):
+ (WebCore::CCLayerTreeHostImpl::animateLayers):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImplClient):
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
+ (WebCore::CCPageScaleAnimation::create):
+ (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
+ (WebCore::CCPageScaleAnimation::zoomTo):
+ (WebCore::CCPageScaleAnimation::zoomWithAnchor):
+ (WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
+ (WebCore::CCPageScaleAnimation::pageScaleAtTime):
+ (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
+ (WebCore::CCPageScaleAnimation::progressRatioForTime):
+ * platform/graphics/chromium/cc/CCPageScaleAnimation.h:
+ (CCPageScaleAnimation):
+ (WebCore::CCPageScaleAnimation::startTime):
+ (WebCore::CCPageScaleAnimation::duration):
+ (WebCore::CCPageScaleAnimation::endTime):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::startPageScaleAnimation):
+ (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
+ (WebCore::CCSingleThreadProxy::doComposite):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ (CCSingleThreadProxy):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::startPageScaleAnimation):
+ (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread):
+ (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
+ (WebCore::CCThreadProxy::setAnimationEvents):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-03-09 Zoltan Herczeg <zherczeg@webkit.org>
+
+ Add SVGRenderingContext and move there the context related code from SVGRenderSupport
+ https://bugs.webkit.org/show_bug.cgi?id=80413
+
+ Reviewed by Nikolas Zimmermann.
+
+ This is the first step of refactoring the rendering context for SVG. The
+ previous context was stateless before, which means the cleanup phase
+ needed to do a lot of checks to revert the initialization part and
+ was unaware of failed inititalization. Future code can also add
+ new local variables to the context.
+
+ This patch add a new SVGRenderingContext class, and moves there the context
+ initialization / cleanup code from SVGRenderSupport. All build systems were
+ updated.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/svg/RenderSVGAllInOne.cpp:
+ * rendering/svg/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::paint):
+ * rendering/svg/RenderSVGForeignObject.cpp:
+ (WebCore::RenderSVGForeignObject::paint):
+ * rendering/svg/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paintReplaced):
+ * rendering/svg/RenderSVGShape.cpp:
+ (WebCore::RenderSVGShape::paint):
+ * rendering/svg/SVGInlineFlowBox.cpp:
+ (WebCore::SVGInlineFlowBox::paint):
+ * rendering/svg/SVGRenderSupport.cpp:
+ * rendering/svg/SVGRenderSupport.h:
+ * rendering/svg/SVGRenderingContext.cpp: Added.
+ (WebCore):
+ (WebCore::isRenderingMaskImage):
+ (WebCore::SVGRenderingContext::~SVGRenderingContext):
+ (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
+ * rendering/svg/SVGRenderingContext.h: Added.
+ (WebCore):
+ (SVGRenderingContext):
+ (WebCore::SVGRenderingContext::SVGRenderingContext):
+ (WebCore::SVGRenderingContext::isRenderingPrepared):
+ * rendering/svg/SVGRootInlineBox.cpp:
+ (WebCore::SVGRootInlineBox::paint):
+
+2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110191, r110202, and r110279.
+ http://trac.webkit.org/changeset/110191
+ http://trac.webkit.org/changeset/110202
+ http://trac.webkit.org/changeset/110279
+ https://bugs.webkit.org/show_bug.cgi?id=80694
+
+ They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
+ #webkit).
+
+ * WebCore.exp.in:
+ * testing/Internals.cpp:
+ * testing/Internals.h:
+ (WebCore):
+ (Internals):
+ * testing/Internals.idl:
+
+2012-03-09 Hans Wennborg <hans@chromium.org>
+
+ Speech JavaScript API: add SpeechGrammar and SpeechGrammarList
+ https://bugs.webkit.org/show_bug.cgi?id=80417
+
+ Reviewed by Adam Barth.
+
+ Implement SpeechGrammar and SpeechGrammarList.
+ (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
+
+ Test: fast/speech/scripted/speechgrammar-basics.html
+
+ * Modules/speech/DOMWindowSpeech.idl:
+ * Modules/speech/SpeechGrammar.cpp:
+ (WebCore):
+ (WebCore::SpeechGrammar::create):
+ (WebCore::SpeechGrammar::SpeechGrammar):
+ * Modules/speech/SpeechGrammar.h:
+ (WebCore):
+ (SpeechGrammar):
+ (WebCore::SpeechGrammar::src):
+ (WebCore::SpeechGrammar::setSrc):
+ (WebCore::SpeechGrammar::weight):
+ (WebCore::SpeechGrammar::setWeight):
+ * Modules/speech/SpeechGrammar.idl:
+ * Modules/speech/SpeechGrammarList.cpp:
+ (WebCore):
+ (WebCore::SpeechGrammarList::create):
+ (WebCore::SpeechGrammarList::item):
+ (WebCore::SpeechGrammarList::addFromUri):
+ (WebCore::SpeechGrammarList::addFromString):
+ (WebCore::SpeechGrammarList::SpeechGrammarList):
+ * Modules/speech/SpeechGrammarList.h:
+ (WebCore):
+ (SpeechGrammarList):
+ (WebCore::SpeechGrammarList::length):
+ * Modules/speech/SpeechGrammarList.idl:
+ * WebCore.gypi:
+
+2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110269.
+ http://trac.webkit.org/changeset/110269
+ https://bugs.webkit.org/show_bug.cgi?id=80688
+
+ It made inspector/elements/highlight-node.html fail everywhere
+ (Requested by Ossy on #webkit).
+
+ * testing/Internals.idl:
+
+2012-03-07 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Styles] Click in the first line of rule while editing property starts a new property
+ https://bugs.webkit.org/show_bug.cgi?id=80507
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection):
+ (WebInspector.StylePropertiesSection.prototype._checkWillCancelEditing):
+ (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
+ (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
+ (WebInspector.StylePropertyTreeElement.prototype.onattach):
+ (WebInspector.StylePropertyTreeElement.prototype):
+
+2012-03-09 Mark Rowe <mrowe@apple.com>
+
+ <rdar://problem/11012024> Fix the build by working around <rdar://problem/10710970>.
+
+ * platform/mac/RunLoopMac.mm:
+ (WebCore::RunLoop::stop):
+
+2012-03-09 Marja Hölttä <marja@google.com>
+
+ FileInputType doesn't support (save|restore)FormControlState
+ https://bugs.webkit.org/show_bug.cgi?id=80145
+
+ Reviewed by Kent Tamura.
+
+ This enables saving and restoring the state of file upload elements in
+ unsubmitted forms.
+
+ Test: fast/forms/file/recover-file-input-in-unposted-form.html
+
+ * html/BaseCheckableInputType.cpp:
+ (WebCore::BaseCheckableInputType::restoreFormControlState): non-const
+ * html/BaseCheckableInputType.h:
+ (BaseCheckableInputType): restoreFormControlState non-const
+ * html/FileInputType.cpp:
+ (WebCore::FileInputType::saveFormControlState): save chosen files
+ (WebCore):
+ (WebCore::FileInputType::restoreFormControlState): restore chosen files
+ * html/FileInputType.h:
+ (FileInputType): overwrite (save|restore)FormControlState
+ * html/HiddenInputType.cpp:
+ (WebCore::HiddenInputType::restoreFormControlState): non-const
+ * html/HiddenInputType.h:
+ (HiddenInputType): restoreFormControlState non-const
+ * html/InputType.cpp:
+ (WebCore::InputType::restoreFormControlState): non-const
+ * html/InputType.h:
+ (InputType): restoreFormControlState non-const
+ * html/PasswordInputType.cpp:
+ (WebCore::PasswordInputType::restoreFormControlState): non-const
+ * html/PasswordInputType.h:
+ (PasswordInputType): restoreFormControlState non-const
+
+2012-03-08 Benjamin Poulain <bpoulain@apple.com>
+
+ Base the access to CSSStyleDeclaration on the CSSPropertyID instead of the PropertyName
+ https://bugs.webkit.org/show_bug.cgi?id=80461
+
+ Reviewed by Geoffrey Garen.
+
+ Previously, the acces to CSS Style properties was done through a NamedGetter. This caused
+ the (slow) mapping between CSSPropertyName and CSSPropertyID to be done twice for every acess:
+ 1) canGetItemsForName() prior to the definition of the slot.
+ 2) nameGetter() called from the slot with CSSPropertyName to get the actual value.
+
+ This patch changes the access to be based on CSSPropertyID. The slot is defined with the
+ CSSPropertyID as the customIndex, and the value can be accessed directly when the slot is
+ called.
+
+ To handle the differences create by hadPixelOrPosPrefix, two nearly identical callback are defined,
+ one for hadPixelOrPosPrefix, the other for !hadPixelOrPosPrefix.
+
+ The performance gain is about 19% when accessing CSS properties.
+
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::getPropertyValueFallback):
+ (WebCore::cssPropertyGetterPixelOrPosPrefix):
+ (WebCore):
+ (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
+ (WebCore::cssPropertyGetter):
+ (WebCore::cssPropertyGetterCallback):
+ (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
+ (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
+ * css/CSSStyleDeclaration.idl:
+
+2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ [Qt] Fix Qt minimal build
+
+ * testing/Internals.idl:
+
+2012-03-08 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove dead CoreGraphics code from chromium compositor implementation
+ https://bugs.webkit.org/show_bug.cgi?id=80470
+
+ Reviewed by Adam Barth.
+
+ We haven't supported CoreGraphics as a raster backend in chromium for a few months and do not plan to do so, so
+ it's time to remove the USE(CG) #ifdefs from our compositor and just rely on USE(SKIA) being set. This also
+ slightly simplifies how PlatformCanvas works.
+
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
+ (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
+ * platform/graphics/chromium/ImageLayerChromium.h:
+ * platform/graphics/chromium/LayerChromium.cpp:
+ * platform/graphics/chromium/LayerRendererChromium.cpp:
+ (WebCore::LayerRendererChromium::initialize):
+ * platform/graphics/chromium/LayerRendererChromium.h:
+ * platform/graphics/chromium/PlatformCanvas.cpp:
+ (WebCore::PlatformCanvas::createBackingCanvas):
+ (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
+ (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
+ (WebCore):
+ (WebCore::PlatformCanvas::AutoLocker::pixels):
+ (WebCore::PlatformCanvas::Painter::Painter):
+ * platform/graphics/chromium/PlatformCanvas.h:
+ (WebCore):
+ (AutoLocker):
+ (Painter):
+ (PlatformCanvas):
+ * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
+ * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
+
+2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
+
+ Get rid of itemTypeAttributeChanged
+ https://bugs.webkit.org/show_bug.cgi?id=80666
+
+ Reviewed by Adam Barth.
+
+ This function is unnecessay as we can invalidate m_microDataItemListCaches
+ in invalidateCachesThatDependOnAttributes as done for other node lists.
+
+ * dom/Node.cpp:
+ (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
+ (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
+ * dom/Node.h:
+ * dom/NodeRareData.h:
+ (NodeListsNodeData):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::parseAttribute):
+
+2012-03-08 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r108616.
+ http://trac.webkit.org/changeset/108616
+ https://bugs.webkit.org/show_bug.cgi?id=80676
+
+ breaks animation on Safari welcome page (Requested by smfr on
+ #webkit).
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationController::updateAnimations):
+ * page/animation/AnimationControllerPrivate.h:
+ (AnimationControllerPrivate):
+
+2012-03-08 Benjamin Poulain <benjamin@webkit.org>
+
+ Fix the build of WebKit with WTFURL following the removal of ForwardingHeaders/wtf
+ https://bugs.webkit.org/show_bug.cgi?id=80652
+
+ Reviewed by Eric Seidel.
+
+ The fowarding headers have been removed, we must now use the full path to the header.
+
+ * platform/KURLWTFURLImpl.h:
+
+2012-03-08 Emil A Eklund <eae@chromium.org>
+
+ Change calcRadiiFor to IntSize
+ https://bugs.webkit.org/show_bug.cgi?id=80655
+
+ Reviewed by Simon Fraser.
+
+ Borders and RoundedRect are both represented with pixel precision. As
+ such it doesn't make sense for calcRadiiFor to use subpixel units, it
+ just adds unnecessary type conversions.
+
+ No new tests, no new functionality.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::calcRadiiFor):
+
+2012-03-08 Adrienne Walker <enne@google.com>
+
+ [chromium] Encapsulate mask layer settings in LayerChromium
+ https://bugs.webkit.org/show_bug.cgi?id=80646
+
+ Reviewed by James Robinson.
+
+ If a WebLayer sets a mask layer, the setIsMask flag will not get set
+ properly and the mask layer will not turn off tiling. This was only
+ being set through GraphicsLayerChromium. Move this flag into
+ LayerChromium so that it always gets set.
+
+ Test: LayoutTests/compositing/
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setMaskLayer):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::setMaskLayer):
+
+2012-03-08 Tony Chang <tony@chromium.org>
+
+ margins on flex-align: baseline are double counted
+ https://bugs.webkit.org/show_bug.cgi?id=80645
+
+ Reviewed by Ojan Vafai.
+
+ Fix a bug where we're counting the margins on baseline aligned
+ children twice. Also add some test cases to make sure we handle
+ wrap-reverse baseline alignment properly.
+
+ Tests: css3/flexbox/multiline-reverse-wrap-baseline-expected.html
+ css3/flexbox/multiline-reverse-wrap-baseline.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
+
+2012-03-08 Nat Duca <nduca@chromium.org>
+
+ [chromium] Pass setVisibility to CCLayerTreeHostImpl regardless of LRC initialization status
+ https://bugs.webkit.org/show_bug.cgi?id=80584
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::setVisible):
+ (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::setVisible):
+ (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
+
+2012-03-08 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Ensure that the cc thread animation framework continues to tick when the tab is backgrounded
+ https://bugs.webkit.org/show_bug.cgi?id=77668
+
+ Reviewed by James Robinson.
+
+ Tested in CCLayerTreeHostTestTickAnimationWhileBackgrounded
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (CCLayerTreeHostImplTimeSourceAdapter):
+ (WebCore::CCLayerTreeHostImplTimeSourceAdapter::create):
+ (WebCore::CCLayerTreeHostImplTimeSourceAdapter::~CCLayerTreeHostImplTimeSourceAdapter):
+ (WebCore::CCLayerTreeHostImplTimeSourceAdapter::onTimerTick):
+ (WebCore::CCLayerTreeHostImplTimeSourceAdapter::setActive):
+ (WebCore::CCLayerTreeHostImplTimeSourceAdapter::CCLayerTreeHostImplTimeSourceAdapter):
+ (WebCore):
+ (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::setVisible):
+ (WebCore::CCLayerTreeHostImpl::animateLayers):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (WebCore):
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCProxy.cpp:
+ (WebCore::CCProxy::currentThread):
+ (WebCore):
+ (WebCore::CCProxy::isMainThread):
+ (WebCore::CCProxy::isImplThread):
+ (WebCore::CCProxy::setCurrentThreadIsImplThread):
+ * platform/graphics/chromium/cc/CCProxy.h:
+ (CCProxy):
+
+2012-03-08 Nico Weber <thakis@chromium.org>
+
+ [chromium] Only build NEON files if target_arch=="arm"
+ https://bugs.webkit.org/show_bug.cgi?id=80626
+
+ Currently, webcore_arm_neon will compile a bunch of files
+ whose contents are completely ifdef'd away on non-arm, and
+ then bundle all the generated empty .o files into a useless
+ libwebcore_arm_neon.a. Don't do this.
+
+ Reviewed by Tony Chang.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-03-08 Nima Ghanavatian <nghanavatian@rim.com>
+
+ [BlackBerry] Fix warning in PlatformTouchEventBlackBerry.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=80621
+
+ Fixes a warning seen when control reaches the end of a
+ non-void function. Return TouchCancel in the 'default' case.
+
+ Reviewed by Rob Buis.
+
+ * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
+ (WebCore::touchEventType):
+
+2012-03-08 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Using wrong scissor rect for draw culling
+ https://bugs.webkit.org/show_bug.cgi?id=80624
+
+ Reviewed by Adrienne Walker.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
+
+2012-03-08 Andy Estes <aestes@apple.com>
+
+ REGRESSION (r105396): Dragging an iWork document into icloud.com opens it in the Mac app instead of uploading it to icloud.com
+ https://bugs.webkit.org/show_bug.cgi?id=79443
+
+ Reviewed by Ryosuke Niwa.
+
+ icloud.com registers a drop event handler that sets display:none on the
+ file input element receiving the drop. After dispatching the drop event,
+ DragController hit tests the position under the mouse to see if it is a
+ file input element in need of receiving files. Since the file input
+ element has lost its renderer, it cannot be found by hit testing, so
+ the dropped file is never attached to the file input element, no change
+ event fires, and no upload commences. We want these things to happen
+ even if the element is no longer visible.
+
+ Since we already keep track of the file input element under the mouse
+ via m_fileInputElementUnderMouse, this additional hit test is
+ unnecessary. Use m_fileInputElementUnderMouse in concludeEditDrag()
+ when dropping files.
+
+ Test: fast/events/file-input-hidden-in-ondrop.html
+
+ * page/DragController.cpp:
+ (WebCore::DragController::concludeEditDrag): Use
+ m_fileInputElementUnderMouse instead of the element returned by hit
+ testing. Assert that m_fileInputElementUnderMouse equals the hit tested
+ element unless m_fileInputElementUnderMouse doesn't have a renderer.
+
+2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
+
+ Mac build fix for micro data API.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Document.cpp:
+ (WebCore::Document::removeCachedMicroDataItemList):
+ * html/HTMLElement.idl:
+
+2012-03-07 Jon Lee <jonlee@apple.com>
+
+ Support [Custom] for static functions
+ https://bugs.webkit.org/show_bug.cgi?id=80573
+
+ Reviewed by Kentaro Hara.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHeader): If the function is static, add static qualifier to cpp function.
+ (GenerateImplementation): Reorganize the function to split out based on the static
+ attribute, instead of checking for it at every line we output.
+ If the function is static and not custom, the listed code should be the code in
+ the rest of the function that did not have the static check. If it is custom, then
+ we check the number of arguments, and then call the static impl function directly.
+ If the function is not static, all of the "unless ($function->isStatic)" checks
+ are removed since it is not necessary.
+
+ * bindings/scripts/test/TestObj.idl: Added new test case.
+
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore):
+ (WebCore::jsTestObjConstructorFunctionClassMethod2):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ (JSTestObj):
+ (WebCore):
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj classMethod2]):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::ConfigureV8TestObjTemplate):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+
+2012-03-08 Mark Pilgrim <pilgrim@chromium.org>
+
+ Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB)
+ https://bugs.webkit.org/show_bug.cgi?id=80592
+
+ Reviewed by Adam Barth.
+
+ In anticipation of moving FILE_SYSTEM-related code to Modules/, we
+ are collapsing combination BLOB/FILE_SYSTEM ifdefs to just
+ BLOB. In other words, it is assumed from now on that you can not
+ have FILE_SYSTEM support without BLOB support.
+
+ No new tests, all existing tests pass.
+
+ * CMakeLists.txt:
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
+ (WebCore):
+ (WebCore::ScriptExecutionContext::fileThread):
+ * dom/ScriptExecutionContext.h:
+ (WebCore):
+ (ScriptExecutionContext):
+ * fileapi/AsyncFileStream.cpp:
+ * fileapi/AsyncFileStream.h:
+ * fileapi/FileError.h:
+ * fileapi/FileException.cpp:
+ * fileapi/FileException.h:
+ * fileapi/FileThread.cpp:
+ * fileapi/FileThread.h:
+ * fileapi/OperationNotAllowedException.cpp:
+ * fileapi/OperationNotAllowedException.h:
+ * platform/FileStream.cpp:
+ * platform/FileStream.h:
+ * platform/FileStreamClient.h:
+ * platform/SchemeRegistry.cpp:
+ (WebCore::canDisplayOnlyIfCanRequestSchemes):
+ (WebCore::CORSEnabledSchemes):
+ (WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):
+
+2012-03-08 James Robinson <jamesr@chromium.org>
+
+ Use an explicit attribute to signal that a context prefers to use a discrete GPU
+ https://bugs.webkit.org/show_bug.cgi?id=80639
+
+ Reviewed by Stephen White.
+
+ On platforms that support both integrated and discrete GPUs and can dynamically switch between the two, we
+ sometimes have a specific preference for a given context. Specifically, contexts used for WebGL and canvas 2d
+ acceleration should use the discrete GPU if available, but compositor contexts can run fine on an integrated
+ GPU. Instead of attempting to infer the intent from examining other context attributes, this adds an explicit
+ attribute to control this behavior.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::create):
+ * platform/graphics/GraphicsContext3D.h:
+ (WebCore::GraphicsContext3D::Attributes::Attributes):
+ (Attributes):
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+ (WebCore::SharedGraphicsContext3D::get):
+
+2012-03-08 Andy Estes <aestes@apple.com>
+
+ NULL renderer possible in WebCore::HTMLInputElement::setCanReceiveDroppedFiles()
+ https://bugs.webkit.org/show_bug.cgi?id=80648
+
+ Reviewed by Simon Fraser.
+
+ Test: fast/events/input-element-display-none-in-dragleave-crash.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): NULL-check renderer().
+
+2012-03-08 Jer Noble <jer.noble@apple.com>
+
+ Yet another unreviewed build fix.
+
+ Remove an unneeded and Lion-defined window constant from WebCoreFullScreenWindow.
+
+ * platform/mac/WebCoreFullScreenWindow.mm:
+ (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
+
+2012-03-08 Levi Weintraub <leviw@chromium.org>
+
+ Switch absoluteRects, culledInlineAbsoluteRects, absoluteBoundingBoxRect, and addFocusRingRects back to integers
+ https://bugs.webkit.org/show_bug.cgi?id=80545
+
+ Reviewed by Simon Fraser.
+
+ Converting the above functions, all of which return rects that represent on-screen rects, to IntRects from
+ LayoutRects.
+
+ addFocusRingsRects generates a vector of rects that is handed off directly to the GraphicsContext to be
+ drawn. Snapping the rects before adding them to the vector saves an extra pass through the vector.
+
+ absoluteRects and culledInlineAbsoluteRects are only used by addFocusRingRects, hasNonEmptyBoundingBox (only
+ to check if they're empty), and absoluteBoundingBoxRect, which is exposed from WebCore and thus should be an
+ IntRect anyways.
+
+ No new tests. No change in behavior.
+
+ * dom/Node.cpp:
+ (WebCore::Node::hasNonEmptyBoundingBox):
+ * dom/Range.cpp:
+ (WebCore::Range::boundingBox):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::absoluteRects):
+ (WebCore::RenderBlock::addFocusRingRects):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::absoluteRects):
+ (WebCore::RenderInline::culledInlineAbsoluteRects):
+ (WebCore::RenderInline::addFocusRingRects):
+ * rendering/RenderInline.h:
+ (RenderInline):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::addFocusRingRects):
+ * rendering/RenderListBox.h:
+ (RenderListBox):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::paintFocusRing):
+ (WebCore::RenderObject::absoluteBoundingBoxRect):
+ (WebCore::RenderObject::absoluteFocusRingQuads):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::absoluteRects):
+ (RenderObject):
+ (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
+ (WebCore::RenderObject::addFocusRingRects):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::absoluteRects):
+ (WebCore::RenderText::absoluteRectsForRange):
+ * rendering/RenderText.h:
+ (RenderText):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::addFocusRingRects):
+ * rendering/RenderTextControl.h:
+ (RenderTextControl):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::absoluteRects):
+ * rendering/RenderView.h:
+ (RenderView):
+ * rendering/svg/RenderSVGBlock.cpp:
+ (WebCore::RenderSVGBlock::absoluteRects):
+ * rendering/svg/RenderSVGBlock.h:
+ (RenderSVGBlock):
+ * rendering/svg/RenderSVGContainer.cpp:
+ (WebCore::RenderSVGContainer::addFocusRingRects):
+ * rendering/svg/RenderSVGContainer.h:
+ (RenderSVGContainer):
+ * rendering/svg/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::addFocusRingRects):
+ * rendering/svg/RenderSVGImage.h:
+ (RenderSVGImage):
+ * rendering/svg/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::absoluteRects):
+ * rendering/svg/RenderSVGModelObject.h:
+ (RenderSVGModelObject):
+ * rendering/svg/RenderSVGShape.cpp:
+ (WebCore::RenderSVGShape::addFocusRingRects):
+ * rendering/svg/RenderSVGShape.h:
+ (RenderSVGShape):
+
+2012-03-08 Erik Arvidsson <arv@chromium.org>
+
+ [V8] Use EventNames instead of strings
+ https://bugs.webkit.org/show_bug.cgi?id=80649
+
+ Reviewed by Ojan Vafai.
+
+ No new tests. Covered by existing tests.
+
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::invokeEventHandler):
+
+2012-03-08 Tim Horton <timothy_horton@apple.com>
+
+ No-op filter changes color output because of colorspace issues
+ https://bugs.webkit.org/show_bug.cgi?id=72411
+ <rdar://problem/10588374>
+
+ Reviewed by Dean Jackson.
+
+ Redefine "linear RGB" color space on Mac to mean linearized sRGB, instead of linear
+ Generic RGB. This makes existing CG color matching equivalent to what other ports do via
+ ImageBuffer::transformColorSpace (which only adjusts gamma, as we will now). Previously,
+ we were also causing actual (non-gamma) color adjustments which were not reversible.
+
+ No new tests, covered by all existing SVG and CSS filter tests.
+
+ * Resources/linearSRGB.icc: Added.
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore::linearRGBColorSpaceRef):
+
+2012-03-08 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=80463
+ RenderImage is using the wrong origin when calling addRelevantRepaintedObject
+ -and corresponding-
+ <rdar://problem/10970221>
+
+ Reviewed by Dan Bernstein.
+
+ Use the exact same rect that we paint with instead of the
+ visualOverflowRect() which does not always have a correct x and y.
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::paintReplaced):
+ * rendering/RenderVideo.cpp:
+ (WebCore::RenderVideo::paintReplaced):
+
+2012-03-08 Jer Noble <jer.noble@apple.com>
+
+ Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
+ https://bugs.webkit.org/show_bug.cgi?id=78928
+
+ Reviewed by Anders Carlsson.
+
+ Move WKFullScreenWindow from WebKit2 into WebCore to be shared by WebKit2 and WebKit.
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/mac/WebCoreFullScreenWindow.h:
+ * platform/mac/WebCoreFullScreenWindow.mm:
+
+ Add symbols for the following classes and functions to the export list:
+ WebCoreFullScreenWindow
+ WebWindowScaleAnimation
+ WebWindowFadeAnimation
+ ScrollView::contentsToScreen()
+ RenderObject::localToContainerQuad()
+ Document::setAnimatingFullScreen()
+ * WebCore.exp.in:
+
+2012-03-08 Jer Noble <jer.noble@apple.com>
+
+ Full Screen Refactor Part 1: Remove special-case rendering code for Full Screen animation.
+ https://bugs.webkit.org/show_bug.cgi?id=78925
+
+ Reviewed by John Sullivan.
+
+ No new tests; no net change in functionality so covered by existing tests.
+
+ The following functions had special case code for rendering full-screen elements removed:
+ * dom/Document.cpp:
+ (WebCore::Document::webkitWillEnterFullScreenForElement):
+ (WebCore::Document::webkitDidEnterFullScreenForElement):
+ (WebCore::Document::webkitWillExitFullScreenForElement):
+ (WebCore::Document::webkitDidExitFullScreenForElement):
+ (WebCore::Document::setAnimatingFullScreen):
+ * page/FrameView.cpp:
+ (WebCore):
+ (WebCore::FrameView::updateCompositingLayers):
+ (WebCore::FrameView::syncCompositingStateForThisFrame):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::layerOrAncestorIsTransformed):
+ (WebCore::RenderLayerBacking::updateCompositedBounds):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer):
+ * rendering/RenderLayerCompositor.h:
+
+2012-03-08 Matt Lilek <mrl@apple.com>
+
+ Don't enable VIDEO_TRACK on all OS X platforms
+ https://bugs.webkit.org/show_bug.cgi?id=80635
+
+ Reviewed by Eric Carlson.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-03-08 Tony Chang <tony@chromium.org>
+
+ implement flexbox wrap-reverse
+ https://bugs.webkit.org/show_bug.cgi?id=80552
+
+ Reviewed by Ojan Vafai.
+
+ No new tests, but additional coverage in:
+ css3/flexbox/multiline-align.html
+ css3/flexbox/multiline-pack.html
+ css3/flexbox/multiline.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext): Helper struct to hold information needed for reversing
+ the order of lines.
+ (RenderFlexibleBox::WrapReverseContext):
+ (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
+ (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
+ (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta): Computes the number of pixels to move a line.
+ (WebCore):
+ (WebCore::RenderFlexibleBox::layoutFlexItems): Call flipForWrapReverse if needed. This happens
+ before flipForRightToLeftColumn because otherwise the crossAxisOffsets will be wrong.
+ (WebCore::flexAlignForChild):
+ (WebCore::RenderFlexibleBox::alignChildren): Flip alignment in wrap-reverse because the cross directions are flipped.
+ (WebCore::RenderFlexibleBox::flipForWrapReverse): Flip each line.
+ * rendering/RenderFlexibleBox.h:
+ (RenderFlexibleBox):
+
+2012-03-08 Adam Klein <adamk@chromium.org>
+
+ Remove InDocumentFlag manipulation methods from Node interface
+ https://bugs.webkit.org/show_bug.cgi?id=80612
+
+ Reviewed by Ryosuke Niwa.
+
+ This is a first step towards tightening up Node::inDocument() to match
+ the actual in-document-tree state (see r108152 for the sort of bug
+ resulting from those not matching).
+
+ No new tests, refactoring only.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removedFromDocument): Remove duplicate call to clearInDocument:
+ the call to Node::removedFromDocument three lines above will clear the flag.
+ * dom/Document.cpp:
+ (WebCore::Document::Document): Call ContainerNode constructor with InDocumentFlag always set
+ instead of calling setInDocument.
+ * dom/Node.cpp:
+ (WebCore::Node::insertedIntoDocument): Inline setInDocument (now the only caller).
+ (WebCore::Node::removedFromDocument): Inline clearInDocument (now the only caller).
+ * dom/Node.h: Remove setInDocument & clearInDocument, add new CreateDocument ConstructionType.
+
+2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ [Qt] Try to fix the Snow Leopard build
+
+ If the build is running under sh, echo -n does not empty the file.
+
+ * DerivedSources.pri:
+
+2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Prospective build fix for Qt minimal after r110191
+
+ https://bugs.webkit.org/show_bug.cgi?id=80338
+
+ * testing/Internals.cpp:
+ (WebCore):
+ * testing/Internals.h:
+ (Internals):
+
+2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ [Qt] Prospective Windows build fix
+
+ Don't assume that windows-builds will always run inside a cmd.exe shell.
+
+ * DerivedSources.pri:
+
+2012-03-08 Vivek Galatage <vivekgalatage@gmail.com>
+
+ Web Inspector: Creating a selector for class names with trailing spaces results with two dots instead of one
+ https://bugs.webkit.org/show_bug.cgi?id=80529
+
+ Trim the className before replacing the whitespaces with dot "."
+
+ Reviewed by Pavel Feldman.
+
+ No new tests.
+
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype.appropriateSelectorFor):
+
+2012-03-08 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10981173> Dashboard regions should not be in device space
+
+ Reviewed by John Sullivan.
+
+ Test: TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm
+
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::addDashboardRegions): Stop applying the device scale factor to
+ Dashboard regions.
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::addDashboardRegions): Ditto.
+
+2012-03-08 Cem Kocagil <cem.kocagil@gmail.com>
+
+ Web Inspector: Cannot insert right curly bracket on some keyboards
+ https://bugs.webkit.org/show_bug.cgi?id=80474
+
+ Make sure other modifiers are not pressed
+
+ Reviewed by Pavel Feldman
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown):
+
+2012-03-08 Max Vujovic <mvujovic@adobe.com>
+
+ Add a method to window.internals to enable testing of inspector highlight rects
+ https://bugs.webkit.org/show_bug.cgi?id=80338
+
+ Reviewed by Pavel Feldman.
+
+ Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
+ positions and sizes of inspector highlight rects.
+
+ Test: inspector/elements/highlight-node.html
+
+ * WebCore.exp.in: Export symbols.
+ * testing/Internals.cpp:
+ (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
+ return the highlight's quads as a ClientRectList.
+ (WebCore):
+ * testing/Internals.h:
+ (WebCore):
+ (Internals):
+ * testing/Internals.idl:
+
+ Add inspectorHighlightRects to the window.internals interface.
+
+2012-03-08 Antti Koivisto <antti@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=80370
+ Enable matched declaration caching for elements with a style attribute
+
+ Reviewed by Andreas Kling
+
+ Make the property set for style attribute immutable as long as there is no CSSOM
+ wrapper for it. If the style attribute changes we create a new property set instead
+ of recycling the old one. This way the property sets can be made cacheable as long
+ as there is no CSSOM wrapper that would allow uncontrolled modifications. Constructing
+ the wrapper disables caching.
+
+ Made StyledElement::inlineStyle() and StyledElement::ensureInlineStyle() return a const
+ StylePropertySet so making accidental modifications difficult. Also dropped *Decl from
+ the names.
+
+ Fixed two unrelated bugs that this exposed.
+
+ * css/CSSStyleSelector.cpp:
+
+ Don't allow caching of document element style if writingModeSetOnDocumentElement() bit is set.
+ Tested by fast/multicol/vertical-rl/break-properties.html.
+
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/StylePropertySet.h:
+ (StylePropertySet):
+ (WebCore::StylePropertySet::hasCSSOMWrapper):
+ * dom/Element.cpp:
+ (WebCore::Element::recalcStyle):
+
+ Invalidate the matched properties cache if the document has rem units and the root font changes.
+ Tested by fast/css/rem-dynamic-scaling.html.
+
+ * dom/ElementAttributeData.cpp:
+ (WebCore):
+ (WebCore::ElementAttributeData::ensureInlineStyle):
+ (WebCore::ElementAttributeData::ensureMutableInlineStyle):
+ (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
+ (WebCore::ElementAttributeData::destroyInlineStyle):
+ * dom/ElementAttributeData.h:
+ (WebCore::ElementAttributeData::inlineStyle):
+ (ElementAttributeData):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateStyleAttribute):
+ (WebCore::StyledElement::~StyledElement):
+ (WebCore):
+ (WebCore::StyledElement::style):
+ (WebCore::StyledElement::parseAttribute):
+ (WebCore::StyledElement::setInlineStyleProperty):
+ (WebCore::StyledElement::removeInlineStyleProperty):
+ (WebCore::StyledElement::addSubresourceAttributeURLs):
+ * dom/StyledElement.h:
+ (WebCore::StyledElement::inlineStyle):
+ (WebCore::StyledElement::ensureInlineStyle):
+ (StyledElement):
+ (WebCore::StyledElement::destroyInlineStyle):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::hasNoAttributeOrOnlyStyleAttribute):
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
+ (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
+ (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
+ (WebCore::ApplyStyleCommand::removeCSSStyle):
+ (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
+ (WebCore::ApplyStyleCommand::addBlockStyle):
+ (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
+ * editing/EditingStyle.cpp:
+ (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
+ (HTMLTextDecorationEquivalent):
+ (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
+ (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
+ (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
+ (WebCore::EditingStyle::mergeInlineStyleOfElement):
+ (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
+ (WebCore::EditingStyle::mergeStyle):
+ * editing/EditingStyle.h:
+ (EditingStyle):
+ * editing/RemoveCSSPropertyCommand.cpp:
+ (WebCore::RemoveCSSPropertyCommand::doApply):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
+ (WebCore::ReplaceSelectionCommand::handleStyleSpans):
+ * editing/markup.cpp:
+ (WebCore::StyledMarkupAccumulator::appendElement):
+ (WebCore::styleFromMatchedRulesAndInlineDecl):
+ * html/HTMLElement.cpp:
+ (WebCore::StyledElement::copyNonAttributeProperties):
+ * html/canvas/CanvasStyle.cpp:
+ (WebCore::currentColor):
+ * page/PageSerializer.cpp:
+ (WebCore::PageSerializer::serializeFrame):
+ (WebCore::PageSerializer::retrieveResourcesForProperties):
+ * page/PageSerializer.h:
+ (PageSerializer):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::isEmptyOrUnstyledAppleStyleSpan):
+
+2012-03-08 Scott Byer <scottbyer@chromium.org>
+
+ Have ScrollAnimatorNone use requestAnimationFrame
+ https://bugs.webkit.org/show_bug.cgi?id=78938
+
+ Reviewed by James Robinson.
+
+ No new tests. Passes Chromium webkit_unit_tests.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::serviceScriptedAnimations):
+ * platform/ScrollAnimator.h:
+ (WebCore::ScrollAnimator::serviceScrollAnimations):
+ * platform/ScrollAnimatorNone.cpp:
+ (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
+ (WebCore::ScrollAnimatorNone::scroll):
+ (WebCore::ScrollAnimatorNone::cancelAnimations):
+ (WebCore):
+ (WebCore::ScrollAnimatorNone::serviceScrollAnimations):
+ (WebCore::ScrollAnimatorNone::animationTimerFired):
+ (WebCore::ScrollAnimatorNone::startNextTimer):
+ (WebCore::ScrollAnimatorNone::animationTimerActive):
+ (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
+ * platform/ScrollAnimatorNone.h:
+ (ScrollAnimatorNone):
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::serviceScrollAnimations):
+ (WebCore):
+ * platform/ScrollableArea.h:
+ (WebCore):
+ (ScrollableArea):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::hostWindow):
+ (RenderLayer):
+ * rendering/RenderListBox.h:
+ (WebCore::RenderListBox::hostWindow):
+ (RenderListBox):
+
+2012-03-08 Dan Bernstein <mitz@apple.com>
+
+ REGRESSION (r109964): Assertion failure (!isUndefined()) in Length::getIntValue() when a Dashboard region is specified without offsets
+ https://bugs.webkit.org/show_bug.cgi?id=80614
+
+ Reviewed by Beth Dakin.
+
+ Test: fast/css/dashboard-regions-undefined-length-assertion.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList): Reverted to setting zero lengths,
+ rather than Undefined ones, in the RenderStyle when offsets are not given.
+
+2012-03-08 Mikkel Kruse Johnsen <mikkel@linet.dk>
+
+ WebKitGtk+ fails to build on win32 against GTK3
+ https://bugs.webkit.org/show_bug.cgi?id=63919
+
+ Reviewed by Gustavo Noronha Silva.
+
+ * plugins/gtk/PluginViewGtk.cpp: Don't use gtk_socket_new with GTK3 on Win32
+ (WebCore::PluginView::platformStart):
+
+2012-03-08 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry]New feature: support about:cookie for internal build.
+ https://bugs.webkit.org/show_bug.cgi?id=80367
+
+ Reviewed by Antonio Gomes.
+
+ No new tests.
+
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::generateHtmlFragmentForCookies):
+ (WebCore):
+ * platform/blackberry/CookieManager.h:
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::handleAbout):
+
+2012-03-08 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Make elements with attributes smaller by eliminating the m_element back pointer in NamedNodeMap
+ https://bugs.webkit.org/show_bug.cgi?id=75069
+
+ Reviewed by Ryosuke Niwa.
+
+ NamedNodeMap is an exposed DOM representation of an element's attribute storage. As part of
+ its implementation it keeps a pointer to its associated Element plus all the attribute
+ storage.
+
+ This commit separate the two things: NamedNodeMap is now a wrapper to Element, containing
+ only the pointer, and the attribute storage is now owned by Element directly. Since usage
+ of NamedNodeMap is not very common, it can be stored in ElementRareData. As a result, most
+ elements with attributes now don't need to allocate memory for that extra pointer in
+ NamedNodeMap.
+
+ One consequence of this implementation is that now we explicitly don't support
+ DocumentType.notations and DocumentType.entities. They weren't supported before, a
+ NamedNodeMap was never created for those attributes -- and some NamedNodeMap functions
+ wouldn't work correctly without an associated Element.
+
+ NamedNodeMap itself was cleaned up, as well as unnecessary references to it removed in the
+ code and comments.
+
+ No new tests and should not change results for existing tests.
+
+ * dom/Attribute.h:
+ (WebCore):
+ * dom/DocumentType.h:
+ (DocumentType): Point out that we don't support does attributes yet.
+ * dom/Element.cpp:
+ (WebCore::Element::~Element): Detaching the NamedNodeMap is no longer necessary because it
+ will be destroyed. We still detach the potential Attrs inside our Attributes by using
+ clearAttributes().
+ (WebCore::Element::attributes): Looks in ElementRareData now. Note we ensure the creation
+ of the attribute storage.
+ (WebCore):
+ (WebCore::Element::getAttribute):
+ (WebCore::Element::setAttributeInternal):
+ (WebCore::Element::parserSetAttributes):
+ (WebCore::Element::hasAttributes):
+ (WebCore::Element::createAttributeData):
+ (WebCore::Element::insertedIntoDocument):
+ (WebCore::Element::removedFromDocument):
+ (WebCore::Element::getURLAttribute):
+ (WebCore::Element::getNonEmptyURLAttribute):
+ (WebCore::Element::hasNamedNodeMap): Helper function for Node::dumpStatistics().
+ * dom/Element.h:
+ (Element):
+ (WebCore::Element::attributeData):
+ (WebCore::Element::ensureAttributeData):
+ (WebCore::Element::fastHasAttribute):
+ (WebCore::Element::fastGetAttribute):
+ (WebCore::Element::hasAttributesWithoutUpdate):
+ (WebCore::Element::idForStyleResolution):
+ (WebCore::Element::attributeCount):
+ (WebCore::Element::attributeItem):
+ (WebCore::Element::getAttributeItem):
+ * dom/ElementAttributeData.h:
+ (WebCore::ElementAttributeData::create):
+ (ElementAttributeData):
+ * dom/ElementRareData.h:
+ (ElementRareData):
+ * dom/NamedNodeMap.cpp: Rewriting now that m_attributeData is not a member, using m_element
+ methods when possible.
+ (WebCore::NamedNodeMap::ref):
+ (WebCore::NamedNodeMap::deref):
+ (WebCore::NamedNodeMap::getNamedItem):
+ (WebCore::NamedNodeMap::getNamedItemNS):
+ (WebCore::NamedNodeMap::removeNamedItem):
+ (WebCore::NamedNodeMap::removeNamedItemNS):
+ (WebCore::NamedNodeMap::setNamedItem):
+ (WebCore::NamedNodeMap::item):
+ (WebCore::NamedNodeMap::length):
+ * dom/NamedNodeMap.h:
+ (WebCore):
+ (WebCore::NamedNodeMap::create):
+ (NamedNodeMap):
+ (WebCore::NamedNodeMap::NamedNodeMap): Instead of asserting m_element in every function, we
+ now assert only in the constructor.
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics): Add a counter for elements with rare data, this allows us
+ compare more clearly the impact of moving NamedNodeMap there.
+ (WebCore::Node::isEqualNode): Remove use of mapsEquivalent(). It was dead code, because
+ both entities and notations were always NULL.
+ (WebCore::Node::compareDocumentPosition):
+ * inspector/DOMPatchSupport.h:
+ (WebCore):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::attributeChanged):
+
+2012-03-08 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Upstream WebGL related files from platform/graphics
+ https://bugs.webkit.org/show_bug.cgi?id=79876
+
+ Reviewed by Rob Buis.
+
+ Initial upstream, no new tests.
+
+ * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp: Added.
+ (WebCore):
+ (DrawingBufferInternal):
+ (WebCore::generateColorTexture):
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore::DrawingBuffer::~DrawingBuffer):
+ (WebCore::DrawingBuffer::publishToPlatformLayer):
+ (WebCore::DrawingBuffer::reset):
+ (WebCore::DrawingBuffer::platformLayer):
+ * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: Added.
+ (WebCore):
+ (WebCore::GraphicsContext3D::create):
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ (WebCore::GraphicsContext3D::~GraphicsContext3D):
+ (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
+ (WebCore::GraphicsContext3D::makeContextCurrent):
+ (WebCore::GraphicsContext3D::isGLES2Compliant):
+ (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
+ (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
+ (WebCore::GraphicsContext3D::platformTexture):
+ (WebCore::GraphicsContext3D::platformLayer):
+ (WebCore::GraphicsContext3D::paintToCanvas):
+ (WebCore::GraphicsContext3D::setContextLostCallback):
+ * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp: Added.
+ (WebCore):
+ (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
+ (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
+ (WebCore::WebGLLayerWebKitThread::setNeedsDisplay):
+ (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
+ * platform/graphics/blackberry/WebGLLayerWebKitThread.h: Added.
+ (WebCore):
+ (WebGLLayerWebKitThread):
+ (WebCore::WebGLLayerWebKitThread::create):
+ (WebCore::WebGLLayerWebKitThread::setWebGLContext):
+
+2012-03-08 Yong Li <yoli@rim.com>
+
+ [BlackBerry] LayerRender should turn off stencil/scissor after drawing layers
+ https://bugs.webkit.org/show_bug.cgi?id=80598
+
+ Reviewed by Rob Buis.
+
+ Turn off stencil/scissor after using them to avoid affecting later GL operation
+ accidentally.
+
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::drawLayers):
+
+2012-03-08 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Windows build fix.
+
+ Reviewed by Tor Arne Vestbø.
+
+ * DerivedSources.pri: Replace commandline that is too long for Windows with
+ separate lines to be executed in the Makefile for the IDL preprocessing.
+
+2012-03-08 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: The function had to return a hash but it returned just address.
+ https://bugs.webkit.org/show_bug.cgi?id=80591
+
+ Reviewed by Yury Semikhatsky.
+
+ * bindings/v8/RetainedDOMInfo.cpp:
+ (WebCore::RetainedDOMInfo::GetHash):
+
+2012-03-08 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed single line fix. The function had to return a hash but it returned just address.
+
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::UnspecifiedGroup::GetHash):
+
+2012-03-08 Shinya Kawanaka <shinyak@chromium.org>
+
+ <shadow> should be rendered correctly.
+ https://bugs.webkit.org/show_bug.cgi?id=78596
+
+ Reviewed by Hajime Morita.
+
+ This patch supports <shadow> element rendering.
+
+ When attaching <shadow> element, if it is in the oldest shadow tree, it runs a part of
+ distribution algorithm. If it is in non-oldest shadow tree, it runs tree a part of
+ tree composition algorithm to assign a older shadow root. In this patch, InsertionPonit
+ try to treat the distributed host children and the assigned shadow children similarly.
+
+ NodeRenderingContext supports rendering <shadow> element. Since the assigned shadow children
+ are treated like distributed host children, that change is to consider non-youngest shadow
+ tree basically also.
+
+ Tests: fast/dom/shadow/shadow-element-rendering-multiple.html
+ fast/dom/shadow/shadow-element-rendering-single.html
+
+ * dom/NodeRenderingContext.cpp:
+ (WebCore):
+ (WebCore::NodeRenderingContext::NodeRenderingContext):
+ Does not ignore non-youngest shadow tree.
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::ShadowRoot):
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+ (WebCore::ShadowRoot::assignedTo):
+ (WebCore):
+ (WebCore::ShadowRoot::setAssignedTo):
+ (WebCore::ShadowRoot::isUsedForRendering):
+ Returns true if ShadowRoot is youngest or assigned to some InsertionPoint.
+ (WebCore::toShadowRoot):
+ * dom/ShadowTree.cpp:
+ (WebCore::ShadowTree::insertionPointFor):
+ Returns InsertionPoint to which node is distributed.
+ * dom/ShadowTree.h:
+ (ShadowTree):
+ * html/shadow/HTMLContentElement.h:
+ (WebCore::HTMLContentElement::doesSelectFromHostChildren):
+ (HTMLContentElement):
+ * html/shadow/HTMLShadowElement.cpp:
+ (WebCore::HTMLShadowElement::HTMLShadowElement):
+ (WebCore::HTMLShadowElement::select):
+ (WebCore::HTMLShadowElement::doesSelectFromHostChildren):
+ (WebCore):
+ * html/shadow/HTMLShadowElement.h:
+ (HTMLShadowElement):
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore::InsertionPoint::attach):
+ (WebCore::InsertionPoint::detach):
+ (WebCore::InsertionPoint::assignedFrom):
+ (WebCore):
+ (WebCore::InsertionPoint::assignShadowRoot):
+ (WebCore::InsertionPoint::clearAssignment):
+ * html/shadow/InsertionPoint.h:
+ (InsertionPoint):
+
+2012-03-06 Hans Wennborg <hans@chromium.org>
+
+ Speech JavaScript API: SpeechRecognitionAlternative, Result and ResultList
+ https://bugs.webkit.org/show_bug.cgi?id=80424
+
+ Reviewed by Adam Barth.
+
+ Implement the SpeechRecognitionAlternative,
+ SpeechRecognitionResult and SpeechRecognitionResultList.
+ (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
+
+ No new tests because these interfaces don't have constructors.
+ They will be tested as more of the API gets implemented.
+
+ * Modules/speech/SpeechRecognitionAlternative.cpp: Added.
+ (WebCore):
+ (WebCore::SpeechRecognitionAlternative::create):
+ (WebCore::SpeechRecognitionAlternative::SpeechRecognitionAlternative):
+ * Modules/speech/SpeechRecognitionAlternative.h: Added.
+ (WebCore):
+ (SpeechRecognitionAlternative):
+ (WebCore::SpeechRecognitionAlternative::transcript):
+ (WebCore::SpeechRecognitionAlternative::confidence):
+ * Modules/speech/SpeechRecognitionAlternative.idl: Added.
+ * Modules/speech/SpeechRecognitionResult.cpp: Added.
+ (WebCore):
+ (WebCore::SpeechRecognitionResult::create):
+ (WebCore::SpeechRecognitionResult::item):
+ (WebCore::SpeechRecognitionResult::SpeechRecognitionResult):
+ * Modules/speech/SpeechRecognitionResult.h: Added.
+ (WebCore):
+ (SpeechRecognitionResult):
+ (WebCore::SpeechRecognitionResult::length):
+ (WebCore::SpeechRecognitionResult::final):
+ * Modules/speech/SpeechRecognitionResult.idl: Added.
+ * Modules/speech/SpeechRecognitionResultList.cpp: Added.
+ (WebCore):
+ (WebCore::SpeechRecognitionResultList::create):
+ (WebCore::SpeechRecognitionResultList::item):
+ (WebCore::SpeechRecognitionResultList::SpeechRecognitionResultList):
+ * Modules/speech/SpeechRecognitionResultList.h: Added.
+ (WebCore):
+ (SpeechRecognitionResultList):
+ (WebCore::SpeechRecognitionResultList::length):
+ * Modules/speech/SpeechRecognitionResultList.idl: Added.
+ * WebCore.gypi:
+
+2012-03-08 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Upstream GraphicsLayerBlackBerry.{h, cpp}
+ https://bugs.webkit.org/show_bug.cgi?id=79867
+
+ Reviewed by Rob Buis.
+
+ Initial upstream, no new tests.
+
+ * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp: Added.
+ (WebCore):
+ (WebCore::setLayerBorderColor):
+ (WebCore::clearBorderColor):
+ (WebCore::setLayerBackgroundColor):
+ (WebCore::clearLayerBackgroundColor):
+ (WebCore::GraphicsLayer::create):
+ (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
+ (WebCore::GraphicsLayerBlackBerry::~GraphicsLayerBlackBerry):
+ (WebCore::GraphicsLayerBlackBerry::setName):
+ (WebCore::GraphicsLayerBlackBerry::setChildren):
+ (WebCore::GraphicsLayerBlackBerry::addChild):
+ (WebCore::GraphicsLayerBlackBerry::addChildAtIndex):
+ (WebCore::GraphicsLayerBlackBerry::addChildBelow):
+ (WebCore::GraphicsLayerBlackBerry::addChildAbove):
+ (WebCore::GraphicsLayerBlackBerry::replaceChild):
+ (WebCore::GraphicsLayerBlackBerry::removeFromParent):
+ (WebCore::GraphicsLayerBlackBerry::setPosition):
+ (WebCore::GraphicsLayerBlackBerry::setAnchorPoint):
+ (WebCore::GraphicsLayerBlackBerry::setSize):
+ (WebCore::GraphicsLayerBlackBerry::setTransform):
+ (WebCore::GraphicsLayerBlackBerry::setChildrenTransform):
+ (WebCore::GraphicsLayerBlackBerry::setPreserves3D):
+ (WebCore::GraphicsLayerBlackBerry::setMasksToBounds):
+ (WebCore::GraphicsLayerBlackBerry::setDrawsContent):
+ (WebCore::GraphicsLayerBlackBerry::setContentsVisible):
+ (WebCore::GraphicsLayerBlackBerry::setMaskLayer):
+ (WebCore::GraphicsLayerBlackBerry::setReplicatedByLayer):
+ (WebCore::GraphicsLayerBlackBerry::setFixedPosition):
+ (WebCore::GraphicsLayerBlackBerry::setHasFixedContainer):
+ (WebCore::GraphicsLayerBlackBerry::setHasFixedAncestorInDOMTree):
+ (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
+ (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
+ (WebCore::GraphicsLayerBlackBerry::setContentsOpaque):
+ (WebCore::GraphicsLayerBlackBerry::setBackfaceVisibility):
+ (WebCore::GraphicsLayerBlackBerry::setOpacity):
+ (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
+ (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
+ (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
+ (WebCore::GraphicsLayerBlackBerry::setContentsRect):
+ (WebCore::removeAnimationByIdAndProperty):
+ (WebCore::removeAnimationByName):
+ (WebCore::GraphicsLayerBlackBerry::addAnimation):
+ (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
+ (WebCore::GraphicsLayerBlackBerry::removeAnimation):
+ (WebCore::GraphicsLayerBlackBerry::suspendAnimations):
+ (WebCore::GraphicsLayerBlackBerry::resumeAnimations):
+ (WebCore::GraphicsLayerBlackBerry::setContentsToImage):
+ (WebCore::GraphicsLayerBlackBerry::updateContentsImage):
+ (WebCore::GraphicsLayerBlackBerry::setContentsToCanvas):
+ (WebCore::GraphicsLayerBlackBerry::setContentsToMedia):
+ (WebCore::GraphicsLayerBlackBerry::hostLayerForSublayers):
+ (WebCore::GraphicsLayerBlackBerry::layerForSuperlayer):
+ (WebCore::GraphicsLayerBlackBerry::platformLayer):
+ (WebCore::GraphicsLayerBlackBerry::setDebugBackgroundColor):
+ (WebCore::GraphicsLayerBlackBerry::setDebugBorder):
+ (WebCore::GraphicsLayerBlackBerry::updateSublayerList):
+ (WebCore::GraphicsLayerBlackBerry::updateLayerPosition):
+ (WebCore::GraphicsLayerBlackBerry::updateLayerSize):
+ (WebCore::GraphicsLayerBlackBerry::updateAnchorPoint):
+ (WebCore::GraphicsLayerBlackBerry::updateTransform):
+ (WebCore::GraphicsLayerBlackBerry::updateChildrenTransform):
+ (WebCore::GraphicsLayerBlackBerry::updateMasksToBounds):
+ (WebCore::GraphicsLayerBlackBerry::updateContentsOpaque):
+ (WebCore::GraphicsLayerBlackBerry::updateBackfaceVisibility):
+ (WebCore::GraphicsLayerBlackBerry::updateLayerPreserves3D):
+ (WebCore::GraphicsLayerBlackBerry::updateLayerIsDrawable):
+ (WebCore::GraphicsLayerBlackBerry::updateFixedPosition):
+ (WebCore::GraphicsLayerBlackBerry::updateHasFixedContainer):
+ (WebCore::GraphicsLayerBlackBerry::updateHasFixedAncestorInDOMTree):
+ (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
+ (WebCore::GraphicsLayerBlackBerry::updateAnimations):
+ (WebCore::GraphicsLayerBlackBerry::updateContentsVideo):
+ (WebCore::GraphicsLayerBlackBerry::updateContentsRect):
+ (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
+ (WebCore::GraphicsLayerBlackBerry::updateOpacityOnLayer):
+ (WebCore::GraphicsLayerBlackBerry::contentsVisible):
+ * platform/graphics/blackberry/GraphicsLayerBlackBerry.h: Added.
+ (WebCore):
+ (GraphicsLayerBlackBerry):
+ (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
+ (WebCore::GraphicsLayerBlackBerry::notifyAnimationStarted):
+ (WebCore::GraphicsLayerBlackBerry::primaryLayer):
+ (WebCore::GraphicsLayerBlackBerry::contentsLayer):
+
+2012-03-07 Shinya Kawanaka <shinyak@chromium.org>
+
+ Refactoring: Remove Node::isContentElement and Node::isShadowElement.
+ https://bugs.webkit.org/show_bug.cgi?id=80501
+
+ Reviewed by Hajime Morita.
+
+ Removes Node::isContentElement and Node::isShadowElement. These methods are replaced
+ by hasTagName. However the tag name of HTMLContentElement was not consistent,
+ this patch make them consistent.
+
+ No new tests. Should be covered by existing tests.
+
+ * dom/Node.h:
+ * html/HTMLElement.h:
+ (WebCore::HTMLElement::isInsertionPoint):
+ (HTMLElement):
+ * html/HTMLSummaryElement.cpp:
+ (WebCore::SummaryContentElement::SummaryContentElement):
+ It uses HTMLNames::divTag as tagname. It should use HTMLNames::webkitShadowTagName.
+ * html/shadow/HTMLContentElement.h:
+ (HTMLContentElement):
+ * html/shadow/InsertionPoint.h:
+ (InsertionPoint):
+ (WebCore::InsertionPoint::isInsertionPoint):
+ (WebCore::isInsertionPoint):
+ * testing/Internals.cpp:
+ (WebCore::Internals::isValidContentSelect):
+ * testing/Internals.h:
+ (Internals):
+
+2012-03-07 Adam Barth <abarth@webkit.org>
+
+ ContainerNode::insertedIntoDocument and removedFromDocument use weak iteration patterns
+ https://bugs.webkit.org/show_bug.cgi?id=80569
+
+ Reviewed by Ryosuke Niwa.
+
+ This patch moves ContainerNode::insertedIntoDocument and
+ removedFromDocument to using a better iteration pattern in which we
+ collect all the nodes we're planning to iterate into a vector and then
+ iterate over them.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::insertedIntoDocument):
+ (WebCore::ContainerNode::removedFromDocument):
+
+2012-03-07 Ami Fischman <fischman@chromium.org>
+
+ [Chromium] Allow CCLayerTreeHost::context() to be called even with the threaded compositor enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=80565
+
+ Reviewed by James Robinson.
+
+ This gets triggered by the video HW decode+render path when threaded compositor is enabled
+ (https://chromiumcodereview.appspot.com/9639005/)
+
+ No new tests.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::context):
+
+2012-03-07 Mike Lawther <mikelawther@chromium.org>
+
+ CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
+ https://bugs.webkit.org/show_bug.cgi?id=79621
+
+ Reviewed by Andreas Kling.
+
+ ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
+ length expressions. All property handlers using this template now work with
+ mixed expressions.
+
+ This patch adds a new expression evaluator in CalculationValue.cpp. This is because
+ Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css)
+ due to layering restrictions.
+
+ Lengths can be copied, and so the expressions are stored in a hashmap, and only their
+ ids are copied along with Length. The expressions are RefCounted, and will get
+ cleaned up when the last referring Length is destructed.
+
+ * WebCore.exp.in:
+ * css/CSSCalculationValue.cpp:
+ (WebCore::CSSCalcPrimitiveValue::toCalcValue):
+ (CSSCalcPrimitiveValue):
+ (WebCore::CSSCalcBinaryOperation::toCalcValue):
+ (CSSCalcBinaryOperation):
+ * css/CSSCalculationValue.h:
+ (WebCore):
+ (CSSCalcExpressionNode):
+ (CSSCalcValue):
+ (WebCore::CSSCalcValue::toCalcValue):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyLength::applyValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSStyleSelector.h:
+ (CSSStyleSelector):
+ * platform/CalculationValue.cpp:
+ (WebCore::CalcExpressionBinaryOperation::evaluate):
+ (WebCore):
+ (WebCore::CalculationValue::create):
+ (WebCore::CalculationValue::evaluate):
+ * platform/CalculationValue.h:
+ (CalcExpressionNode):
+ (WebCore::CalcExpressionNode::~CalcExpressionNode):
+ (WebCore):
+ (CalculationValue):
+ (WebCore::CalculationValue::CalculationValue):
+ (CalcExpressionNumber):
+ (WebCore::CalcExpressionNumber::CalcExpressionNumber):
+ (WebCore::CalcExpressionNumber::evaluate):
+ (CalcExpressionLength):
+ (WebCore::CalcExpressionLength::CalcExpressionLength):
+ (WebCore::CalcExpressionLength::evaluate):
+ (CalcExpressionBinaryOperation):
+ (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
+ * platform/Length.cpp:
+ (WebCore):
+ (WebCore::Length::~Length):
+ (CalculationValueHandleMap):
+ (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
+ (WebCore::CalculationValueHandleMap::insert):
+ (WebCore::CalculationValueHandleMap::remove):
+ (WebCore::CalculationValueHandleMap::get):
+ (WebCore::calcHandles):
+ (WebCore::Length::Length):
+ (WebCore::Length::calculationValue):
+ (WebCore::Length::calculatedValue):
+ (WebCore::Length::calculatedMinValue):
+ (WebCore::Length::calculatedFloatValue):
+ (WebCore::Length::incrementCalculatedRef):
+ (WebCore::Length::decrementCalculatedRef):
+ (WebCore::Length::nonNanCalculatedValue):
+ * platform/Length.h:
+ (Length):
+ (WebCore::Length::Length):
+ (WebCore::Length::operator=):
+ (WebCore::Length::operator*=):
+ (WebCore::Length::value):
+ (WebCore::Length::setValue):
+ (WebCore::Length::calcValue):
+ (WebCore::Length::calcMinValue):
+ (WebCore::Length::calcFloatValue):
+ (WebCore::Length::isZero):
+ (WebCore::Length::isPositive):
+ (WebCore::Length::isNegative):
+ (WebCore::Length::isPercent):
+ (WebCore::Length::isSpecified):
+ (WebCore::Length::isCalculated):
+ (WebCore::Length::initFromLength):
+ (WebCore::Length::calculationHandle):
+
+2012-03-07 Kent Tamura <tkent@chromium.org>
+
+ Do not refer to resutlsButtonElement and cancelButtonElement to compute paddings of search popups
+ https://bugs.webkit.org/show_bug.cgi?id=80564
+
+ Reviewed by Hajime Morita.
+
+ We'd like to reduce dependency of resultsButtonElement and
+ cancelButtonElement from RenderTextControlSingleLine.
+
+ No behavior change.
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
+ Use the left position of innerBlockElement, instead of the width of resultsButtonElement.
+ They are equivalent.
+ (WebCore::RenderTextControlSingleLine::clientPaddingRight):
+ Use <the container width - right position of innerBlockElement>,
+ instead of the width of the cancelButtonElement. They are
+ equivalent.
+
+2012-03-07 Mike Lawther <mikelawther@chromium.org>
+
+ use DEFINE_STATIC_LOCAL on Lengths to avoid exit time destructors
+ https://bugs.webkit.org/show_bug.cgi?id=80561
+
+ Reviewed by Eric Seidel.
+
+ This is in preparation for http://wkb.ug/79621 where a destructor is added to Length.
+
+ No new tests as this is not a behaviour change.
+
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
+
+2012-03-07 Adam Barth <abarth@webkit.org>
+
+ ContainerNode::willRemove uses a weak iteration pattern
+ https://bugs.webkit.org/show_bug.cgi?id=80530
+
+ Reviewed by Ryosuke Niwa.
+
+ This patch moves ContainerNode::willRemove to using a better iteration
+ pattern in which we collect all the nodes we're planning to iterate
+ into a vector and then iterate over them.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::willRemove):
+
+2012-03-07 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
+ Element.dataset and Node.attributes
+ https://bugs.webkit.org/show_bug.cgi?id=80376
+
+ Reviewed by Adam Barth.
+
+ This patch improves the performance of HTMLElement.classList, Element.dataset
+ and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
+
+ Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
+ created every time the DOM attribute is accessed, in spite of the fact that
+ the 'hiddenReferenceName' string is static.
+
+ This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
+ Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
+ since if 'element' exists, it is guaranteed that 'elementValue' is not empty
+ and is an Object.
+
+ Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
+
+ AppleWebKit/JavaScriptCore:
+ div.classList : 382ms
+ div.classList.foo = 123 : 335ms
+ div.dataset : 403ms
+ div.dataset.foo = 123 : 5250ms
+ div.attributes : 183ms
+
+ Chromium/V8 (without this patch):
+ div.classList : 9140ms
+ div.classList.foo = 123 : 9086ms
+ div.dataset : 9930ms
+ div.dataset.foo = 123 : 49698ms
+ div.attributes : 13489ms
+
+ Chromium/V8 (with this patch):
+ div.classList : 1435ms
+ div.classList.foo = 123 : 1470ms
+ div.dataset : 1400ms
+ div.dataset.foo = 123 : 30396ms
+ div.attributes : 1242ms
+
+ No tests. No change in behavior.
+
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
+ (WebCore::toV8):
+
+ * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
+ to optimize the macro.
+ (WebCore):
+ (WebCore::V8HiddenPropertyName::hiddenReferenceName):
+ * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
+ and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
+ or a hidden reference.
+ (WebCore):
+ (V8HiddenPropertyName):
+
+2012-03-07 Kent Tamura <tkent@chromium.org>
+
+ Add RenderBoxModelObject::marginWidth() and marginHeight()
+ https://bugs.webkit.org/show_bug.cgi?id=80556
+
+ Reviewed by Kentaro Hara.
+
+ They make some code shorter.
+
+ No behavior change.
+
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::marginHeight): Added.
+ (WebCore::RenderBoxModelObject::marginWidth): Added.
+ * inspector/DOMNodeHighlighter.cpp: Use marginHeight() and/or marginWidth().
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatWithRect::FloatWithRect): ditto.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::checkFloatsInCleanLine): ditto.
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::repaintLayerRectsForImage): ditto.
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): ditto.
+ (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): ditto.
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild): ditto.
+ (WebCore::RenderFlexibleBox::computeNextFlexLine): ditto.
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::culledInlineAbsoluteRects): ditto.
+ (WebCore::RenderInline::culledInlineAbsoluteQuads): ditto.
+ (WebCore::RenderInline::culledInlineBoundingBox): ditto.
+ * rendering/RenderScrollbar.cpp:
+ (WebCore::RenderScrollbar::trackPieceRectWithMargins): ditto.
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::computeLogicalHeight): ditto.
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::computeControlHeight): ditto.
+
+2012-03-07 Jessie Berlin <jberlin@apple.com>
+
+ Clean Windows build fails after r110033
+ https://bugs.webkit.org/show_bug.cgi?id=80553
+
+ Rubber-stamped by Jon Honeycutt and Eric Seidel.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ Update the expected location of the copied JSC WTF string implementation files.
+
+2012-03-07 Michael Nordman <michaeln@google.com>
+
+ [Chromium] Don't be so CRASH() happy in the bindings layer.
+ https://bugs.webkit.org/show_bug.cgi?id=75111
+ - change the v8 bindings generated code to check for the 'worker is terminating'
+ condition prior to committing a suicidal CRASH()
+ - fixup custom v8 bindings accordingly
+ - simplify bindings/generic/ActiveDOMCallback, there is no need for it to support
+ destruction on a different thread
+
+ Reviewed by David Levin.
+
+ No new tests, existing tests apply.
+
+ * bindings/generic/ActiveDOMCallback.cpp: Simplified in general.
+ (WebCore):
+ (WebCore::ActiveDOMCallback::ActiveDOMCallback):
+ (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
+ (WebCore::ActiveDOMCallback::canInvokeCallback):
+ (WebCore::ActiveDOMCallback::isScriptControllerTerminating): New method to avoid CRASH()ing in exceptional conditions in v8 bindings.
+ * bindings/generic/ActiveDOMCallback.h: Derive from ContextDestructionObserver.
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
+ (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
+ * bindings/js/WorkerScriptController.h:
+ (WorkerScriptController):
+ * bindings/scripts/CodeGeneratorV8.pm: Generates v8 bindding code that uses isScriptControllerTerminating to avoid CRASH()ing.
+ (GenerateCallbackImplementation):
+ * bindings/scripts/test/V8/V8TestCallback.cpp: Fixup expected outputs of the modified CodeGeneratorV8.pm script.
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ (WebCore::V8TestCallback::callbackWithStringList):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController): Initialize a new data member.
+ (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
+ (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
+ * bindings/v8/WorkerScriptController.h: Add a pair of new data members, bool + mutex.
+ (WorkerScriptController):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8SQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8MutationCallbackCustom.cpp:
+ (WebCore::V8MutationCallback::handleEvent):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::ScriptExecutionContext): Initilaize data members.
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Set m_activeDOMObjectsAreStopped.
+ * dom/ScriptExecutionContext.h: Add m_activeDOMObjectsAreStopped data member.
+ (WebCore::ScriptExecutionContext::activeDOMObjectsAreStopped): Simple getter.
+ (ScriptExecutionContext):
+
+2012-03-07 Kent Tamura <tkent@chromium.org>
+
+ Remove meaningless code in RenderTextControlSingleLine::preferredContentWidth()
+ https://bugs.webkit.org/show_bug.cgi?id=80493
+
+ Reviewed by Hajime Morita.
+
+ preferredContentWidth() added border+padding widths of the search result
+ button, search cancel button, and speech input button. It makes no sense
+ to make the intrinsic width wider by only their border+padding width,
+ not their content width.
+
+ The default borders and paddings of these buttons are 0 in all
+ platforms, and adding border or padding to these elements by page
+ authors made unreasonable behavior. So we had better remove this
+ code.
+
+ Tests: fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html
+ fast/speech/intrinsic-input-width-with-speech-border-padding.html
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::preferredContentWidth):
+ Remove the meaningless code.
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine): Remove speechButtonElement(). It's unnecessary.
+
+2012-03-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r110126.
+ http://trac.webkit.org/changeset/110126
+ https://bugs.webkit.org/show_bug.cgi?id=80558
+
+ compile failed on AppleMac (Requested by ukai on #webkit).
+
+ * WebCore.exp.in:
+ * css/CSSCalculationValue.cpp:
+ * css/CSSCalculationValue.h:
+ (WebCore):
+ (CSSCalcExpressionNode):
+ (CSSCalcValue):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyLength::applyValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSStyleSelector.h:
+ * platform/CalculationValue.cpp:
+ * platform/CalculationValue.h:
+ * platform/Length.cpp:
+ (WebCore::newLengthArray):
+ * platform/Length.h:
+ (WebCore::Length::operator*=):
+ (WebCore::Length::value):
+ (WebCore::Length::setValue):
+ (Length):
+ (WebCore::Length::calcValue):
+ (WebCore::Length::calcMinValue):
+ (WebCore::Length::calcFloatValue):
+ (WebCore::Length::isZero):
+ (WebCore::Length::isPositive):
+ (WebCore::Length::isNegative):
+ (WebCore::Length::isPercent):
+ (WebCore::Length::isSpecified):
+
+2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Make Node::dumpStatistics() work again
+ https://bugs.webkit.org/show_bug.cgi?id=80327
+
+ Reviewed by Ryosuke Niwa.
+
+ Update the code in dumpStatistics() to the latest attribute storage changes. Also
+ move the DUMP_NODE_STATISTICS define here from the Node.cpp, since its also used
+ by Document.h.
+
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics): Use more self-describing variable names.
+ * dom/Node.h:
+
+2012-03-07 Mike Lawther <mikelawther@chromium.org>
+
+ CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
+ https://bugs.webkit.org/show_bug.cgi?id=79621
+
+ Reviewed by Andreas Kling.
+
+ ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
+ length expressions. All property handlers using this template now work with
+ mixed expressions.
+
+ This patch adds a new expression evaluator in CalculationValue.cpp. This is because
+ Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css)
+ due to layering restrictions.
+
+ Lengths can be copied, and so the expressions are stored in a hashmap, and only their
+ ids are copied along with Length. The expressions are RefCounted, and will get
+ cleaned up when the last referring Length is destructed.
+
+ * WebCore.exp.in:
+ * css/CSSCalculationValue.cpp:
+ (WebCore::CSSCalcPrimitiveValue::toCalcValue):
+ (CSSCalcPrimitiveValue):
+ (WebCore::CSSCalcBinaryOperation::toCalcValue):
+ (CSSCalcBinaryOperation):
+ * css/CSSCalculationValue.h:
+ (WebCore):
+ (CSSCalcExpressionNode):
+ (CSSCalcValue):
+ (WebCore::CSSCalcValue::toCalcValue):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSStyleApplyProperty.cpp:
+ (WebCore::ApplyPropertyLength::applyValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+ * css/CSSStyleSelector.h:
+ (CSSStyleSelector):
+ * platform/CalculationValue.cpp:
+ (WebCore::CalcExpressionBinaryOperation::evaluate):
+ (WebCore):
+ (WebCore::CalculationValue::create):
+ (WebCore::CalculationValue::evaluate):
+ * platform/CalculationValue.h:
+ (CalcExpressionNode):
+ (WebCore::CalcExpressionNode::~CalcExpressionNode):
+ (WebCore):
+ (CalculationValue):
+ (WebCore::CalculationValue::CalculationValue):
+ (CalcExpressionNumber):
+ (WebCore::CalcExpressionNumber::CalcExpressionNumber):
+ (WebCore::CalcExpressionNumber::evaluate):
+ (CalcExpressionLength):
+ (WebCore::CalcExpressionLength::CalcExpressionLength):
+ (WebCore::CalcExpressionLength::evaluate):
+ (CalcExpressionBinaryOperation):
+ (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
+ * platform/Length.cpp:
+ (WebCore):
+ (WebCore::Length::~Length):
+ (CalculationValueHandleMap):
+ (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
+ (WebCore::CalculationValueHandleMap::insert):
+ (WebCore::CalculationValueHandleMap::remove):
+ (WebCore::CalculationValueHandleMap::get):
+ (WebCore::calcHandles):
+ (WebCore::Length::Length):
+ (WebCore::Length::calculationValue):
+ (WebCore::Length::calculatedValue):
+ (WebCore::Length::calculatedMinValue):
+ (WebCore::Length::calculatedFloatValue):
+ (WebCore::Length::incrementCalculatedRef):
+ (WebCore::Length::decrementCalculatedRef):
+ (WebCore::Length::nonNanCalculatedValue):
+ * platform/Length.h:
+ (Length):
+ (WebCore::Length::Length):
+ (WebCore::Length::operator=):
+ (WebCore::Length::operator*=):
+ (WebCore::Length::value):
+ (WebCore::Length::setValue):
+ (WebCore::Length::calcValue):
+ (WebCore::Length::calcMinValue):
+ (WebCore::Length::calcFloatValue):
+ (WebCore::Length::isZero):
+ (WebCore::Length::isPositive):
+ (WebCore::Length::isNegative):
+ (WebCore::Length::isPercent):
+ (WebCore::Length::isSpecified):
+ (WebCore::Length::isCalculated):
+ (WebCore::Length::initFromLength):
+ (WebCore::Length::calculationHandle):
+
+2012-03-07 Emil A Eklund <eae@chromium.org>
+
+ Change remaining scroll methods to integers
+ https://bugs.webkit.org/show_bug.cgi?id=80539
+
+ Reviewed by Eric Seidel.
+
+ No new tests, no new functionality.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollByRecursively):
+ (WebCore::RenderLayer::scrollToOffset):
+ (WebCore::RenderLayer::scrollRectToVisible):
+ (WebCore::RenderLayer::scrollToXOffset):
+ (WebCore::RenderLayer::scrollToYOffset):
+ Change scrollTo methods to take integer x and y values as the actual
+ scrolling is done in increments of full pixels.
+
+ (WebCore::cornerStart):
+ (WebCore::RenderLayer::scrollWidth):
+ (WebCore::RenderLayer::scrollHeight):
+ Change scrollWidth/Height to return pixel snapped values and remove
+ pixelSnapped versions of same as all callers either used snapped the
+ values or used the pixelSnapped versions of these methods.
+
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::scrollWidth):
+ Change scrollWidth to return snapped client width.
+
+ * rendering/RenderListBox.h:
+ Change scrollSize, scrollPosition and setScrollOffset methods to use
+ integers in accordance with the interface defined by ScrollableArea.
+
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write):
+
+2012-03-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Implement getAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
+ https://bugs.webkit.org/show_bug.cgi?id=80541
+
+ Reviewed by Ryosuke Niwa.
+
+ DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
+ ElementAttributeData. The difference between them is that Element methods can early
+ return if there's no attribute storage.
+
+ * dom/Element.cpp:
+ (WebCore::Element::getAttributeNode):
+ Removed the manual lowercasing letting our existing mechanism in
+ ElementAttributeData::getAttributeItemIndex() take care of it. I considered that
+ this could be an optimization, but testing a few Dromaeo tests (dom-attr,
+ jslib-attr-jquery, jslib-attr-prototype) the difference isn't significant. It
+ shouldn't affect correctness either.
+
+ (WebCore::Element::getAttributeNodeNS):
+ * dom/ElementAttributeData.cpp:
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+ (WebCore::ElementAttributeData::getAttributeNode):
+ (WebCore):
+ * dom/NamedNodeMap.cpp:
+ (WebCore::NamedNodeMap::getNamedItem):
+ (WebCore::NamedNodeMap::getNamedItemNS):
+ * dom/NamedNodeMap.h:
+ (NamedNodeMap):
+
+2012-03-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Support printing WebGL content in threaded compositor
+ https://bugs.webkit.org/show_bug.cgi?id=80464
+
+ Reviewed by Kenneth Russell.
+
+ Do the readback on the WebGL context instead of the compositor's context since we cannot use the latter from the
+ main thread. Since we're on the WebGL context, we have to be careful to restore any state we change.
+
+ Tested printing manually with threaded compositing enabled.
+
+ * platform/graphics/chromium/WebGLLayerChromium.cpp:
+ (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
+ * platform/graphics/chromium/WebGLLayerChromium.h:
+ (WebGLLayerChromium):
+
+2012-03-07 Adam Barth <abarth@webkit.org>
+
+ Remove #define private public from WebCache.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=80520
+
+ Reviewed by Eric Seidel.
+
+ Add some accessors for state used by WebCache.cpp.
+
+ * loader/cache/MemoryCache.h:
+ (WebCore::MemoryCache::minDeadCapacity):
+ (WebCore::MemoryCache::maxDeadCapacity):
+ (WebCore::MemoryCache::capacity):
+ (WebCore::MemoryCache::liveSize):
+ (WebCore::MemoryCache::deadSize):
+ (MemoryCache):
+
+2012-03-07 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Performance] Optimize Element.firstElementChild, Element.lastElementChild,
+ Element.previousElementSibling, Element.nextElementSibling, Node.parentElement
+ https://bugs.webkit.org/show_bug.cgi?id=80506
+
+ Reviewed by Adam Barth.
+
+ This patch improves the performance of Element.firstElementChild by 5.8 times,
+ Element.lastElementChild by 6.2 times, Element.previousElementSibling by 7.1 times,
+ Element.nextElementSibling by 7.1 times, and Node.parentElement by 6.7 times.
+
+ Previously, while toV8(Node*) caches a wrapper object on a node object
+ (i.e. node->wrapper(), node->setWrapper()), toV8(Element*) does not
+ cache a wrapper object.
+
+ This patch removes toV8(Element*), so that DOM attribute getters that return
+ Element* use toV8(Node*). This change makes these DOM attribute getters
+ cache the wrapper object on a node object. This optimization is already
+ implemented in JavaScriptCore.
+
+ Performance tests: https://bugs.webkit.org/attachment.cgi?id=130594
+
+ The test results in my local Mac environment are as follows:
+
+ AppleWebKit/JavaScriptCore:
+ div.firstElementChild : 1162ms
+ div.lastElementChild : 1016ms
+ div.previousElementSibling : 918ms
+ div.nextElementSibling : 900ms
+ div.parentElement : 901ms
+
+ Chromium/V8 (without this patch):
+ div.firstElementChild : 9515ms
+ div.lastElementChild : 9449ms
+ div.previousElementSibling : 9254ms
+ div.nextElementSibling : 9315ms
+ div.parentElement : 9380ms
+
+ Chromium/V8 (with this patch):
+ div.firstElementChild : 1628ms
+ div.lastElementChild : 1527ms
+ div.previousElementSibling : 1310ms
+ div.nextElementSibling : 1310ms
+ div.parentElement : 1410ms
+
+ No tests. No change in behavior.
+
+ * dom/Element.idl: Removed toV8(Element*)
+ * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
+ (WebCore::toV8Slow):
+ * bindings/scripts/CodeGeneratorV8.pm: Ditto.
+ (GenerateHeader):
+
+ * bindings/v8/custom/V8ElementCustom.cpp: Removed.
+ * Target.pri: Removed V8ElementCustom.cpp.
+ * UseV8.cmake: Ditto.
+ * WebCore.gypi: Ditto.
+
+2012-03-07 Joshua Bell <jsbell@chromium.org>
+
+ [Chromium] IndexedDB: V8LocalContext creation in IDBKey extraction/injection is slow
+ https://bugs.webkit.org/show_bug.cgi?id=80358
+
+ Cache a re-usable context (per isolate) for cases like IDB's key/SSV extraction/injection,
+ where no user script is run. This yields a 3x-4x performance improvement in basic IDB
+ operations.
+
+ Reviewed by Tony Chang.
+
+ No new tests - no behavior changes.
+
+ * bindings/v8/IDBBindingUtilities.cpp:
+ (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
+ (WebCore::injectIDBKeyIntoSerializedValue):
+ * bindings/v8/V8Binding.h:
+ (WebCore::V8BindingPerIsolateData::auxiliaryContext):
+ (V8BindingPerIsolateData):
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::V8AuxiliaryContext::V8AuxiliaryContext):
+ (WebCore::V8AuxiliaryContext::~V8AuxiliaryContext):
+ (WebCore::V8AuxiliaryContext::auxiliaryContext):
+ * bindings/v8/V8Utilities.h:
+ (V8AuxiliaryContext):
+
+2012-03-07 Nat Duca <nduca@chromium.org>
+
+ [chromium] Remove unused wasRecreate variable
+ https://bugs.webkit.org/show_bug.cgi?id=80533
+
+ Reviewed by Adrienne Walker.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
+
+2012-03-07 Ryan Sleevi <rsleevi@chromium.org>
+
+ [chromium] Update GYP files to reflect file deletes/renames
+ https://bugs.webkit.org/show_bug.cgi?id=80525
+
+ Reviewed by Ryosuke Niwa.
+
+ No change in functionality, so no tests.
+
+ * WebCore.gypi:
+ Updated AppleMac private headers due to r109877
+ Updated platform/qt references due to r109542
+ Updated platform/mac references due to r109147
+ Updated platform/mac references due to r108956
+
+2012-03-07 Eric Carlson <eric.carlson@apple.com>
+
+ Html5 video element Useragent string is Quicktime
+ https://bugs.webkit.org/show_bug.cgi?id=46241
+
+ Reviewed by Daniel Bates.
+
+ Test: http/tests/media/video-useragent.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerUserAgent): Return the UA string for the current source.
+ * html/HTMLMediaElement.h:
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::userAgent): New, return the client's mediaPlayerUserAgent.
+ * platform/graphics/MediaPlayer.h:
+ (WebCore::MediaPlayerClient::mediaPlayerUserAgent):
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to set
+ the UA header.
+
+2012-03-07 Scott Byer <scottbyer@chromium.org>
+
+ Get ScrollAnimatorNone to handle the stop and reverse cases.
+ https://bugs.webkit.org/show_bug.cgi?id=80455
+
+ Reviewed by James Robinson.
+
+ Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollStopInMiddle and
+ ScrollAnimatorNoneTest.ReverseInMiddle.
+
+ * platform/ScrollAnimatorNone.cpp:
+ (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
+
+2012-03-07 Yong Li <yoli@rim.com>
+
+ RenderImage ignores its percent width/height when setContainerSizeForRenderer
+ https://bugs.webkit.org/show_bug.cgi?id=80431
+
+ Reviewed by George Staikos.
+
+ Not only respect fixed width/height explicitly specified in img element, but also
+ respect percent width/height when determining container size for images.
+
+ No new tests because there is no functional change but only internal buffer sizes.
+
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::computeReplacedLogicalWidth):
+
+2012-03-06 Benjamin Poulain <bpoulain@apple.com>
+
+ [Mac] Update the configuration files for iOS
+ https://bugs.webkit.org/show_bug.cgi?id=80435
+
+ Reviewed by David Kilzer.
+
+ * Configurations/WebCore.xcconfig:
+
+2012-03-07 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Cull occluded tiles during paint
+ https://bugs.webkit.org/show_bug.cgi?id=76838
+
+ Reviewed by Adrienne Walker.
+
+ Using CCOcclusionTracker instead of the old custom paint occlusion
+ tracking. Stops painting tiles when the tile is not visible.
+
+ CCOcclusionTracker only uses Layer::opaque() for determining
+ occlusion so far. The Layer::addSelfToOccludedRegion is being
+ replaced by a superior method in CCOcclusionTracker that will
+ work for both threads, so removing that support here.
+
+ Unit test: TiledLayerChromiumTest.cpp
+
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerChromium::paintContentsIfDirty):
+ (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ (ContentLayerChromium):
+ * platform/graphics/chromium/ImageLayerChromium.cpp:
+ (WebCore::ImageLayerChromium::paintContentsIfDirty):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebCore::LayerChromium::idlePaintContentsIfDirty):
+ (LayerChromium):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore):
+ (WebCore::contentToLayerTransform):
+ (WebCore::TiledLayerChromium::prepareToUpdateTiles):
+ (WebCore::TiledLayerChromium::prepareToUpdate):
+ (WebCore::TiledLayerChromium::prepareToUpdateIdle):
+ * platform/graphics/chromium/TiledLayerChromium.h:
+ (TiledLayerChromium):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::paintContentsIfDirty):
+ (WebCore::CCLayerTreeHost::paintLayerContents):
+
+2012-03-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Implement removeAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
+ https://bugs.webkit.org/show_bug.cgi?id=80522
+
+ Reviewed by Andreas Kling.
+
+ DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
+ ElementAttributeData. A helper function takeAttribute() was added to increase
+ code sharing. Also removed some unneeded methods.
+
+ * dom/Element.cpp:
+ (WebCore::Element::removeAttribute): Use ElementAttributeData function directly.
+ (WebCore::Element::removeAttributeNode): Get the index manually and use new
+ takeAttribute() directly.
+ * dom/Element.h:
+ (Element): Remove unused removeAttribute(unsigned index).
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::takeAttribute): Like removeAttribute() but
+ returns a reference to old Attr.
+ (WebCore):
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+ * dom/NamedNodeMap.cpp:
+ (WebCore::NamedNodeMap::removeNamedItem): Avoid looking up the property twice by
+ getting the index directly from the name, instead of going through the qualified name.
+ * dom/NamedNodeMap.h: Remove now unused internal methods for removing attributes.
+
+2012-03-07 Alexey Proskuryakov <ap@apple.com>
+
+ Merge AsyncFileStream with FileStreamProxy
+ https://bugs.webkit.org/show_bug.cgi?id=80325
+
+ Build fix.
+
+ * WebCore.xcodeproj/project.pbxproj: Removed files that got mysteriously added to the project
+ with a merge.
+
+2012-03-07 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Unreviewed ASSERT failure fix.
+ https://bugs.webkit.org/show_bug.cgi?id=75568
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::styleDidChange):
+ Fix a bad merge of the patch, we should call updateCachedSizeForOverflowClip if we lose
+ our layer.
+
+2012-03-07 ChangSeok Oh <shivamidow@gmail.com>
+
+ [EFL] Revise PlatformKeyboardEventEfl and EflKeyboardUtilities
+ https://bugs.webkit.org/show_bug.cgi?id=80511
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Added 'const' keyword in front of argument of keyIdentifiersForEvasKeyName/windowsKeyCodeForEvasKeyName.
+ Since they should not be changed while processing each function.
+ And initialized missing member variables of PlatformKeyboardEventEfl.
+
+ No new tests, since no new feature.
+
+ * platform/efl/EflKeyboardUtilities.cpp:
+ (WebCore::keyIdentifierForEvasKeyName): Added const keyword
+ (WebCore::windowsKeyCodeForEvasKeyName): Added const keyword
+ * platform/efl/EflKeyboardUtilities.h:
+ (WebCore):
+ * platform/efl/PlatformKeyboardEventEfl.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+
+2012-03-07 Hironori Bono <hbono@chromium.org>
+
+ [Chromium] Mirror the resizer image of an RTL element when WTF_USE_RTL_SCROLLBAR is 1
+ https://bugs.webkit.org/show_bug.cgi?id=9223
+
+ Reviewed by Tony Chang.
+
+ This change mirrors a resizer image of an RTL element horizontall as Firefox
+ does. This change also mirrors its dragging behavior, i.e. draging the resizer
+ of an RTL element to the left side increases its width. (This feature is enabled
+ only when WTF_USE_RTL_SCROLLBAR is 1.)
+
+ Test: platform/chromium/scrollbars/drag-rtl-resizer.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::resize): Mirrored the x coordinate of mouse positions
+ when mirroring a resizer.
+ (WebCore::RenderLayer::offsetFromResizeCorner): Returned the offset from the
+ bottom-left corner when rendering a resizer there.
+ (WebCore::RenderLayer::drawPlatformResizerImage): Mirrored the resizer bitmap
+ horizontally when rendering a resizer to the bottom-left corner.
+
+2012-03-07 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Lazily allocate overflow: hidden layers if we have overflowing content
+ https://bugs.webkit.org/show_bug.cgi?id=75568
+
+ Reviewed by David Hyatt.
+
+ Change covered by the existing tests and the tons of rebaselines.
+
+ This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
+
+ Apart from saving some memory, it will also speed up the rendering as we don't need to
+ go through the layer's machinery when painting and hit testing.
+
+ On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
+ overflow: hidden case in par with the overflow: visible case when scrolling that is a
+ very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::updateScrollInfoAfterLayout):
+ Changed this method to update our size cache if needed.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::paint):
+ (WebCore::RenderBlock::isPointInOverflowControl):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::willBeDestroyed):
+ (WebCore::RenderBox::styleDidChange):
+ (WebCore::RenderBox::layout):
+ (WebCore::RenderBox::scrollWidth):
+ (WebCore::RenderBox::scrollHeight):
+ (WebCore::RenderBox::scrollLeft):
+ (WebCore::RenderBox::scrollTop):
+ (WebCore::RenderBox::setScrollLeft):
+ (WebCore::RenderBox::setScrollTop):
+ (WebCore::RenderBox::includeVerticalScrollbarSize):
+ (WebCore::RenderBox::includeHorizontalScrollbarSize):
+ (WebCore::RenderBox::scrolledContentOffset):
+ (WebCore::RenderBox::pushContentsClip):
+ (WebCore::RenderBox::popContentsClip):
+ (WebCore::RenderBox::addLayoutOverflow):
+ Added layer() check to the previous call sites.
+
+ (WebCore::cachedSizeForOverflowClipMap):
+ (WebCore::RenderBox::cachedSizeForOverflowClip):
+ (WebCore::RenderBox::updateCachedSizeForOverflowClip):
+ (WebCore::RenderBox::clearCachedSizeForOverflowClip):
+ This logic stores the size information for later repainting.
+ It is in practice replicating what RenderLayer is doing.
+ I had to disable an ASSERT here as it would trigger in NRWT but
+ not under DRT. I haven't found by code inspection what was wrong.
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::hasOverflowClipWithLayer):
+ Helper function.
+
+ (WebCore::RenderBox::requiresLayerForOverflowClip):
+ This determines if we can survive without a RenderLayer. For the moment,
+ it is very conservative.
+
+ (WebCore::RenderBox::requiresLayer):
+ Updated to call requiresLayerForOverflowClip.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::ensureLayer):
+ Added this function to create and add a new layer.
+
+ (WebCore::RenderBoxModelObject::willBeDestroyed):
+ (WebCore::RenderBoxModelObject::styleDidChange):
+ Patched those method to handle updating / removing
+ cached size entries.
+
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::requiresLayer):
+ Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
+ overflow clips.
+
+ * rendering/RenderTableRow.h:
+ (WebCore::RenderTableRow::requiresLayer):
+ Added a comment about why we need a layout for table rows.
+
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::layout):
+ Updated those call sites to use RenderBlock::updateScrollInfoAfterLayout
+ or RenderBox::updateCachedSizeForOverflowClip. The current logic is really
+ not tight proof and would need to be rethought to not avoid cases.
+
+2012-03-07 Konrad Piascik <kpiascik@rim.com>
+
+ [BlackBerry] Fix warnings in CookieMap
+ https://bugs.webkit.org/show_bug.cgi?id=80512
+
+ Reviewed by Rob Buis.
+
+ No new tests. No behavioural changes.
+
+ * platform/blackberry/CookieMap.cpp:
+ (WebCore::CookieMap::addOrReplaceCookie):
+ (WebCore::CookieMap::removeCookie):
+ (WebCore::CookieMap::getAllCookies):
+ (WebCore::CookieMap::updateOldestCookie):
+
+2012-03-07 Levi Weintraub <leviw@chromium.org>
+
+ Update usage of LayoutUnits in InlineBox and InlineFlowBox
+ https://bugs.webkit.org/show_bug.cgi?id=80051
+
+ Reviewed by Eric Seidel.
+
+ Updating LayoutUnit vs Integer usage in InlineBox and InlineFlowBox. While the
+ line box tree remains floating point, margins are now subpixel, and rects from
+ the render tree use LayoutUnits. For more information, see the LayoutUnit wiki
+ page: https://trac.webkit.org/wiki/LayoutUnit
+
+ No new tests. No change in behavior.
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::flipForWritingMode): Changing over to LayoutUnits.
+ * rendering/InlineBox.h:
+ (InlineBox):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth): Returning a LayoutUnit
+ instead of an integer, as it uses margin which is a LayoutUnit.
+ (WebCore::InlineFlowBox::placeBoxesInInlineDirection): Using a LayoutUnit for
+ margin.
+ (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Build fixes for when
+ LayoutUnits are subpixel.
+ (WebCore::InlineFlowBox::paintFillLayer): Ditto.
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft): Returning a LayoutUnit
+ instead of an integer since margin is a LayoutUnit.
+ (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight): Ditto.
+ (InlineFlowBox):
+ (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): Adding a static_cast that's
+ redundant now, but required when we switch to subpixel LayoutUnits.
+ (WebCore::InlineFlowBox::logicalRightLayoutOverflow): Ditto.
+ (WebCore::InlineFlowBox::logicalLeftVisualOverflow): Ditto.
+ (WebCore::InlineFlowBox::logicalRightVisualOverflow): Ditto.
+
+2012-03-07 Qi Zhang <qi.2.zhang@nokia.com>
+
+ [Qt] Unskip http/tests/websocket/tests/hixie76/long-invalid-header.html
+ https://bugs.webkit.org/show_bug.cgi?id=80516
+
+ Reviewed by Csaba Osztrogonác.
+
+ Missed some files related to websocket, take them in.
+
+ * Target.pri:
+
+2012-03-05 Alexey Proskuryakov <ap@apple.com>
+
+ Merge AsyncFileStream with FileStreamProxy
+ https://bugs.webkit.org/show_bug.cgi?id=80325
+
+ Reviewed by Filip Pizlo.
+
+ AsyncFileStream sounds like a platform concept, but the implementation is web specific.
+ Better to just keep it in one place.
+
+ This is a step toward decoupling blob scheme support from ResourceHandle, which is supposed
+ to be an interface to platform networking APIs only, and definitely shouldn't know about
+ Web concepts.
+
+ No change in functionality, so no tests.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Updated for moved and removed files. Namely, platform/AsyncFileStream is dead, and
+ fileapi/FileStreamProxy is now fileapi/AsyncFileStream.
+
+ * fileapi/AsyncFileStream.cpp: Copied from Source/WebCore/fileapi/FileStreamProxy.cpp.
+ (WebCore::AsyncFileStream::AsyncFileStream):
+ (WebCore::AsyncFileStream::create):
+ (WebCore::AsyncFileStream::~AsyncFileStream):
+ (WebCore::AsyncFileStream::fileThread):
+ (WebCore::didStart):
+ (WebCore::AsyncFileStream::startOnFileThread):
+ (WebCore::AsyncFileStream::stop):
+ (WebCore::derefProxyOnContext):
+ (WebCore::AsyncFileStream::stopOnFileThread):
+ (WebCore::didGetSize):
+ (WebCore::AsyncFileStream::getSize):
+ (WebCore::AsyncFileStream::getSizeOnFileThread):
+ (WebCore::didOpen):
+ (WebCore::AsyncFileStream::openForRead):
+ (WebCore::AsyncFileStream::openForReadOnFileThread):
+ (WebCore::AsyncFileStream::openForWrite):
+ (WebCore::AsyncFileStream::openForWriteOnFileThread):
+ (WebCore::AsyncFileStream::close):
+ (WebCore::AsyncFileStream::closeOnFileThread):
+ (WebCore::didRead):
+ (WebCore::AsyncFileStream::read):
+ (WebCore::AsyncFileStream::readOnFileThread):
+ (WebCore::didWrite):
+ (WebCore::AsyncFileStream::write):
+ (WebCore::AsyncFileStream::writeOnFileThread):
+ (WebCore::didTruncate):
+ (WebCore::AsyncFileStream::truncate):
+ (WebCore::AsyncFileStream::truncateOnFileThread):
+ * fileapi/AsyncFileStream.h: Copied from Source/WebCore/fileapi/FileStreamProxy.h.
+ (WebCore):
+ (AsyncFileStream):
+ (WebCore::AsyncFileStream::client):
+ (WebCore::AsyncFileStream::setClient):
+ * fileapi/FileStreamProxy.cpp: Removed.
+ * fileapi/FileStreamProxy.h: Removed.
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::createAsyncFileStream):
+ * platform/AsyncFileStream.h: Removed.
+ Fewer files!
+
+ * platform/network/BlobRegistry.h: Removed createResourceHandle(). It's logically a method
+ on in-process BlobRegistryImpl only, and we no longer need to call this from platform code.
+
+ * platform/network/BlobRegistryImpl.cpp:
+ (WebCore::createResourceHandle):
+ (WebCore::registerBlobResourceHandleConstructor):
+ (WebCore::BlobRegistryImpl::registerBlobURL):
+ * platform/network/BlobRegistryImpl.h:
+ Except for chromium, "blob" is a scheme that's handled internally. Added hooks for that.
+
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::builtinResourceHandleConstructorMap):
+ (WebCore::ResourceHandle::registerBuiltinConstructor):
+ (WebCore::ResourceHandle::create):
+ * platform/network/ResourceHandle.h:
+ Added a way for other code to register handlers for URL schemes. Non-Chromium platforms
+ use this for blob: now.
+
+2012-03-07 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/10923294> REGRESSION (r100847): Entries are clipped out in Day One
+ https://bugs.webkit.org/show_bug.cgi?id=80494
+
+ Reviewed by Sam Weinig.
+
+ Test: fast/dom/HTMLDocument/width-and-height.html
+
+ * html/HTMLDocument.idl: Reverted r100847 by re-enabling the width and height properties
+ in the JavaScript bindings.
+
+2012-03-07 Philippe Normand <pnormand@igalia.com>
+
+ [GTK] media/audio-garbage-collect.html is flaky
+ https://bugs.webkit.org/show_bug.cgi?id=72698
+
+ Reviewed by Xan Lopez.
+
+ Call ::hasPendingActivity() instead of ::paused() when checking if
+ the audio element is still active. This is similar to what the
+ image element (another ActiveDOMObject implementation) does just
+ above. This contributes to fixing the audio-garbage-collect.html
+ test.
+
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::isReachableFromDOM):
+
+2012-03-07 Adele Peterson <adele@apple.com>
+
+ REGRESSION(r96566): Cursor is I-beam upon dragging an attachment in mail
+ https://bugs.webkit.org/show_bug.cgi?id=80458
+ <rdar://problem/10873195>
+
+ Reviewed by Dan Bernstein.
+
+ No tests because we currently don't have any test machinery for cursors.
+
+ Make sure the shortcut to always use an iBeam cursor during selection isn't used during dragging.
+ Before r96566, we handled plugin cursors as a special case before calling into selectCursor, so we never hit this code path.
+
+ * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
+
+2012-03-07 ChangSeok Oh <shivamidow@gmail.com>
+
+ [EFL] Key press event is not processed properly.
+ https://bugs.webkit.org/show_bug.cgi?id=80491
+
+ Reviewed by Gustavo Noronha Silva.
+
+ This issue is related with mutation observer feature.
+ If enter key is pressed, then a keyboard event should be processed
+ and reach to the mutation observer, but it doesn't.
+ Some special keys like Enter, Backspace and Tab key should be processed
+ and change to a single character code, but EFL port hasn't handled like that.
+
+ At least we can verify this with following two tests as I know. but they require another
+ functionality for bug79601. I'm going to submit the patch for it after this one.
+
+ Test: fast/mutation/end-of-task-delivery.html
+ fast/mutation/inline-event-listener.html
+
+ * platform/efl/EflKeyboardUtilities.cpp:
+ (WebCore::singleCharacterString):
+ (WebCore):
+ * platform/efl/EflKeyboardUtilities.h:
+ (WebCore):
+ * platform/efl/PlatformKeyboardEventEfl.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+
+2012-03-07 Gavin Peters <gavinp@chromium.org>
+
+ Add Histograms for reporting on PageCache reject reasons
+ https://bugs.webkit.org/show_bug.cgi?id=80187
+
+ Enhance the PageCache debug mode so that it uses Histograms to
+ report on causes of failure. Turn on the debug printing path
+ even in non-debug Chromium builds, so these histograms will
+ update.
+
+ Reviewed by Brady Eidson.
+
+ No new tests, does not change behaviour.
+
+ * history/PageCache.cpp:
+ (WebCore):
+ (WebCore::logCanCacheFrameDecision):
+ (WebCore::logCanCachePageDecision):
+ (WebCore::PageCache::canCache):
+
+2012-03-07 Elliot Poger <epoger@google.com>
+
+ [Chromium] Remove use_skia option from GYP
+ https://bugs.webkit.org/show_bug.cgi?id=75811
+
+ Reviewed by Tony Chang.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-03-07 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Introduce LabelableElement to share "labels" attribute implementation
+ https://bugs.webkit.org/show_bug.cgi?id=80392
+
+ Reviewed by Kent Tamura.
+
+ This patch introduces new class LabelableElement as base class of
+ HTMLFormControlElement for sharing implementation of "labels"
+ attribute among form-associate elements, "meter" element, and
+ "progress" element.
+
+ This patch allows us to change base class of HTMLMeterElement and
+ HTMLProgressElement dervied from HTMLFormControlElement to
+ HTMLElement for remove them from HTMLFormElement::m_associatedFormElements
+ where we don't need to put "meter" and "progress" elements(bug 80381.)
+
+ This patch also changes implementation of isLabelable using virtual
+ method rather than sequence of hasTagName for execution speed and
+ better readability.
+
+ No new tests are required. No behavior changes.
+
+ * CMakeLists.txt: Add LabelableElement.cpp and .h
+ * GNUmakefile.list.am: Add LabelableElement.cpp and .h
+ * Target.pri: Add LabelableElement.cpp and .h
+ * WebCore.gypi: Add LabelableElement.cpp and .h
+ * WebCore.vcproj/WebCore.vcproj: Add LabelableElement.cpp and .h
+ * WebCore.xcodeproj/project.pbxproj: Add LabelableElement.cpp and .h
+ * html/HTMLButtonElement.h: Implement isLabelable.
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::HTMLFormControlElement): Change direct base class.
+ * html/HTMLFormControlElement.h:
+ (HTMLFormControlElement): Change direct base class.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::isLabelable): Removed to use virtual method instead of hasTagName.
+ (WebCore):
+ * html/HTMLInputElement.h: Declaration of isLabelable.
+ * html/HTMLKeygenElement.h: Implement isLabelable.
+ * html/HTMLMeterElement.h: Implement isLabelable.
+ * html/HTMLProgressElement.h: Implement isLabelable.
+ * html/HTMLSelectElement.h: Implement isLabelable.
+ * html/HTMLTextAreaElement.h: Implement isLabelable.
+ * html/LabelableElement.cpp: Added.
+ (WebCore):
+ (WebCore::LabelableElement::LabelableElement):
+ (WebCore::LabelableElement::~LabelableElement):
+ (WebCore::LabelableElement::labels): Moved from HTMLFormControlElement.
+ * html/LabelableElement.h: Added.
+ (WebCore):
+ (LabelableElement):
+
+2012-03-07 Arun Patole <bmf834@motorola.com>
+
+ HTMLTrackElement.idl doesn't have default attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=80116
+
+ Reviewed by Kentaro Hara.
+
+ Renamed isDefault to 'default' so that in JS, it will be track.default instead of track.isDefault.
+ * html/HTMLTrackElement.idl:
+
+2012-03-07 Zoltan Horvath <zoltan@webkit.org>
+
+ [Qt] Add qmake config tests for JPEG and PNG library
+ https://bugs.webkit.org/show_bug.cgi?id=80398
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add JPEG and PNG library tests to config.tests and
+ add error() abort to WebCore.pri if tests don't work.
+
+ * WebCore.pri:
+
+2012-03-06 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: extract source mapping logic from DebuggerPresentationModel to ScriptMappingImpl.
+ https://bugs.webkit.org/show_bug.cgi?id=80412
+
+ Reviewed by Vsevolod Vlasov.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.sh:
+ * inspector/front-end/ScriptMapping.js:
+ (WebInspector.ScriptMappingImpl):
+ (WebInspector.ScriptMappingImpl.prototype.rawLocationToUILocation):
+ (WebInspector.ScriptMappingImpl.prototype.createLiveLocation):
+ (WebInspector.ScriptMappingImpl.prototype.uiSourceCodeList):
+ (WebInspector.ScriptMappingImpl.prototype._handleUISourceCodeListChanged):
+ (WebInspector.ScriptMappingImpl.prototype._uiSourceCodeListChanged):
+ (WebInspector.ScriptMappingImpl.prototype._bindScriptToRawSourceCode):
+ (WebInspector.ScriptMappingImpl.prototype.setFormatSource):
+ (WebInspector.ScriptMappingImpl.prototype.forceUpdateSourceMapping):
+ (WebInspector.ScriptMappingImpl.prototype.reset):
+
+2012-03-07 Mark Rowe <mrowe@apple.com>
+
+ Fix DerivedSources.make to not assume that WTF and WebCore build in to the same build directory.
+
+ We can't assume that wtf/Platform.h can be found inside BUILT_PRODUCTS_DIR as
+ that won't be the case if WTF and WebCore are building in to different build
+ directories. We should instead look for wtf/Platform.h in the header search path.
+
+ Unreviewed due to being a build fix.
+
+ * DerivedSources.make: Set up the header search path, and invoke the compiler in
+ such a manner that it looks for wtf/Platform.h in that search path.
+
+2012-03-07 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Upstream Texture and TextureCache
+ https://bugs.webkit.org/show_bug.cgi?id=80121
+
+ Reviewed by Rob Buis.
+
+ Initial upstream, no new tests.
+
+ * platform/graphics/blackberry/Texture.cpp: Added.
+ (WebCore):
+ (WebCore::copyImageData):
+ (WebCore::Texture::Texture):
+ (WebCore::Texture::~Texture):
+ (WebCore::Texture::updateContents):
+ (WebCore::Texture::setContentsToColor):
+ (WebCore::Texture::protect):
+ * platform/graphics/blackberry/Texture.h: Added.
+ (WebCore):
+ (Texture):
+ (WebCore::Texture::create):
+ (WebCore::Texture::textureId):
+ (WebCore::Texture::isDirty):
+ (WebCore::Texture::hasTexture):
+ (WebCore::Texture::isColor):
+ (WebCore::Texture::isOpaque):
+ (WebCore::Texture::isProtected):
+ (WebCore::Texture::protect):
+ (WebCore::Texture::unprotect):
+ (WebCore::Texture::size):
+ (WebCore::Texture::width):
+ (WebCore::Texture::height):
+ (WebCore::Texture::bytesPerPixel):
+ (WebCore::Texture::setTextureId):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: Added.
+ (WebCore):
+ (TextureProtector):
+ (WebCore::TextureProtector::TextureProtector):
+ (WebCore::TextureProtector::~TextureProtector):
+ (WebCore::TextureCacheCompositingThread::TextureCacheCompositingThread):
+ (WebCore::TextureCacheCompositingThread::allocateTextureId):
+ (WebCore::TextureCacheCompositingThread::freeTextureId):
+ (WebCore::TextureCacheCompositingThread::collectGarbage):
+ (WebCore::TextureCacheCompositingThread::textureResized):
+ (WebCore::TextureCacheCompositingThread::textureDestroyed):
+ (WebCore::TextureCacheCompositingThread::install):
+ (WebCore::TextureCacheCompositingThread::evict):
+ (WebCore::TextureCacheCompositingThread::textureAccessed):
+ (WebCore::textureCacheCompositingThread):
+ (WebCore::TextureCacheCompositingThread::prune):
+ (WebCore::TextureCacheCompositingThread::clear):
+ (WebCore::TextureCacheCompositingThread::setMemoryUsage):
+ (WebCore::TextureCacheCompositingThread::textureForTiledContents):
+ (WebCore::TextureCacheCompositingThread::textureForColor):
+ (WebCore::TextureCacheCompositingThread::updateContents):
+ (WebCore::TextureCacheCompositingThread::key):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.h: Added.
+ (WebCore):
+ (TextureCacheCompositingThread):
+ (WebCore::TextureCacheCompositingThread::createTexture):
+ (WebCore::TextureCacheCompositingThread::memoryUsage):
+ (WebCore::TextureCacheCompositingThread::memoryLimit):
+ (WebCore::TextureCacheCompositingThread::setMemoryLimit):
+ (WebCore::TextureCacheCompositingThread::prune):
+ (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
+ (ZombieTexture):
+ (WebCore::TextureCacheCompositingThread::incMemoryUsage):
+ (WebCore::TextureCacheCompositingThread::decMemoryUsage):
+ (WebCore::TextureCacheCompositingThread::ColorHash::hash):
+ (WebCore::TextureCacheCompositingThread::ColorHash::equal):
+ (ColorHash):
+ (ColorHashTraits):
+ (WebCore::TextureCacheCompositingThread::ColorHashTraits::constructDeletedValue):
+ (WebCore::TextureCacheCompositingThread::ColorHashTraits::isDeletedValue):
+
+2012-03-07 Kenichi Ishibashi <bashi@chromium.org>
+
+ [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
+ https://bugs.webkit.org/show_bug.cgi?id=80103
+
+ Reviewed by Kent Tamura.
+
+ Add UTF8 validation checks for WebSocket message and close reason.
+
+ Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
+ http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
+
+ * Modules/websockets/WebSocket.cpp:
+ (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
+ (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
+ * Modules/websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.
+
+2012-03-07 Byungwoo Lee <bw80.lee@samsung.com>
+
+ [EFL] Build warning: Fix warn_unused_result warnings.
+ https://bugs.webkit.org/show_bug.cgi?id=79194
+
+ Reviewed by Filip Pizlo.
+
+ Fixed build warning which is getting generated when not using return
+ value of a fuction, especially declared with warn_unused_result
+ attribute.
+
+ * platform/efl/SharedBufferEfl.cpp:
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+
+2012-03-07 Kent Tamura <tkent@chromium.org>
+
+ Cleanup of RenderTextControl::adjustControlHeightBasedOnLineHeight()
+ https://bugs.webkit.org/show_bug.cgi?id=80480
+
+ Reviewed by Hajime Morita.
+
+ The callsite of adjustControlHeightBasedOnLineHeight() stored
+ padding+border+margin height of the inner text in height(), and
+ adjustControlHeightBasedOnLineHeight() implementations refered it. It
+ was unreasonable and hard to understand.
+
+ The purpose of adjustControlHeightBasedOnLineHeight() is to compute
+ - the maximum height of line-heights of the inner text and decorations
+ - the maximum height of padding+border+margin heights of the inner text and decorations,
+ and to sum them up. This patch rewrites the code to make it understood easily.
+
+ adjustControlHeightBasedOnLineHeight() is renamed to
+ computeControlheight(), it takes additional parameter of
+ padding+boder+margin height, and returns the sum of them.
+
+ No behavior change.
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::computeLogicalHeight):
+ * rendering/RenderTextControl.h:
+ (RenderTextControl):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::computeControlHeight):
+ * rendering/RenderTextControlMultiLine.h:
+ (RenderTextControlMultiLine):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::computeControlHeight):
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine):
+
+2012-03-06 Eric Seidel <eric@webkit.org>
+
+ Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
+ https://bugs.webkit.org/show_bug.cgi?id=80363
+
+ Reviewed by Mark Rowe.
+
+ ForwardingHeaders/wtf is no longer needed (or functional) now that
+ JavaScriptCore no longer includes the WTF headers as private headers.
+
+ * DerivedSources.make:
+ * ForwardingHeaders/wtf/ASCIICType.h: Removed.
+ * ForwardingHeaders/wtf/AVLTree.h: Removed.
+ * ForwardingHeaders/wtf/Alignment.h: Removed.
+ * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
+ * ForwardingHeaders/wtf/ArrayBuffer.h: Removed.
+ * ForwardingHeaders/wtf/ArrayBufferView.h: Removed.
+ * ForwardingHeaders/wtf/Assertions.h: Removed.
+ * ForwardingHeaders/wtf/Atomics.h: Removed.
+ * ForwardingHeaders/wtf/Bitmap.h: Removed.
+ * ForwardingHeaders/wtf/BloomFilter.h: Removed.
+ * ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
+ * ForwardingHeaders/wtf/ByteArray.h: Removed.
+ * ForwardingHeaders/wtf/CheckedArithmetic.h: Removed.
+ * ForwardingHeaders/wtf/CheckedBoolean.h: Removed.
+ * ForwardingHeaders/wtf/Compiler.h: Removed.
+ * ForwardingHeaders/wtf/Complex.h: Removed.
+ * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Removed.
+ * ForwardingHeaders/wtf/CurrentTime.h: Removed.
+ * ForwardingHeaders/wtf/DataLog.h: Removed.
+ * ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
+ * ForwardingHeaders/wtf/DateMath.h: Removed.
+ * ForwardingHeaders/wtf/DecimalNumber.h: Removed.
+ * ForwardingHeaders/wtf/Decoder.h: Removed.
+ * ForwardingHeaders/wtf/Deque.h: Removed.
+ * ForwardingHeaders/wtf/DisallowCType.h: Removed.
+ * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
+ * ForwardingHeaders/wtf/DynamicAnnotations.h: Removed.
+ * ForwardingHeaders/wtf/Encoder.h: Removed.
+ * ForwardingHeaders/wtf/ExportMacros.h: Removed.
+ * ForwardingHeaders/wtf/FastAllocBase.h: Removed.
+ * ForwardingHeaders/wtf/FastMalloc.h: Removed.
+ * ForwardingHeaders/wtf/FixedArray.h: Removed.
+ * ForwardingHeaders/wtf/Float32Array.h: Removed.
+ * ForwardingHeaders/wtf/Float64Array.h: Removed.
+ * ForwardingHeaders/wtf/Forward.h: Removed.
+ * ForwardingHeaders/wtf/Functional.h: Removed.
+ * ForwardingHeaders/wtf/GetPtr.h: Removed.
+ * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
+ * ForwardingHeaders/wtf/HashFunctions.h: Removed.
+ * ForwardingHeaders/wtf/HashMap.h: Removed.
+ * ForwardingHeaders/wtf/HashSet.h: Removed.
+ * ForwardingHeaders/wtf/HashTable.h: Removed.
+ * ForwardingHeaders/wtf/HashTraits.h: Removed.
+ * ForwardingHeaders/wtf/HexNumber.h: Removed.
+ * ForwardingHeaders/wtf/Int16Array.h: Removed.
+ * ForwardingHeaders/wtf/Int32Array.h: Removed.
+ * ForwardingHeaders/wtf/Int8Array.h: Removed.
+ * ForwardingHeaders/wtf/ListHashSet.h: Removed.
+ * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
+ * ForwardingHeaders/wtf/Locker.h: Removed.
+ * ForwardingHeaders/wtf/MD5.h: Removed.
+ * ForwardingHeaders/wtf/MainThread.h: Removed.
+ * ForwardingHeaders/wtf/MathExtras.h: Removed.
+ * ForwardingHeaders/wtf/MessageQueue.h: Removed.
+ * ForwardingHeaders/wtf/MetaAllocator.h: Removed.
+ * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Removed.
+ * ForwardingHeaders/wtf/NonCopyingSort.h: Removed.
+ * ForwardingHeaders/wtf/Noncopyable.h: Removed.
+ * ForwardingHeaders/wtf/NotFound.h: Removed.
+ * ForwardingHeaders/wtf/OSAllocator.h: Removed.
+ * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
+ * ForwardingHeaders/wtf/OwnPtr.h: Removed.
+ * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
+ * ForwardingHeaders/wtf/PageAllocation.h: Removed.
+ * ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
+ * ForwardingHeaders/wtf/PageBlock.h: Removed.
+ * ForwardingHeaders/wtf/PageReservation.h: Removed.
+ * ForwardingHeaders/wtf/ParallelJobs.h: Removed.
+ * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
+ * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
+ * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
+ * ForwardingHeaders/wtf/Platform.h: Removed.
+ * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
+ * ForwardingHeaders/wtf/RandomNumber.h: Removed.
+ * ForwardingHeaders/wtf/RedBlackTree.h: Removed.
+ * ForwardingHeaders/wtf/RefCounted.h: Removed.
+ * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
+ * ForwardingHeaders/wtf/RefPtr.h: Removed.
+ * ForwardingHeaders/wtf/RetainPtr.h: Removed.
+ * ForwardingHeaders/wtf/SHA1.h: Removed.
+ * ForwardingHeaders/wtf/SegmentedVector.h: Removed.
+ * ForwardingHeaders/wtf/SimpleStats.h: Removed.
+ * ForwardingHeaders/wtf/Spectrum.h: Removed.
+ * ForwardingHeaders/wtf/StackBounds.h: Removed.
+ * ForwardingHeaders/wtf/StaticConstructors.h: Removed.
+ * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
+ * ForwardingHeaders/wtf/StringExtras.h: Removed.
+ * ForwardingHeaders/wtf/StringHasher.h: Removed.
+ * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
+ * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
+ * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Removed.
+ * ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
+ * ForwardingHeaders/wtf/Threading.h: Removed.
+ * ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
+ * ForwardingHeaders/wtf/TypeTraits.h: Removed.
+ * ForwardingHeaders/wtf/Uint16Array.h: Removed.
+ * ForwardingHeaders/wtf/Uint32Array.h: Removed.
+ * ForwardingHeaders/wtf/Uint8Array.h: Removed.
+ * ForwardingHeaders/wtf/Uint8ClampedArray.h: Removed.
+ * ForwardingHeaders/wtf/UnusedParam.h: Removed.
+ * ForwardingHeaders/wtf/VMTags.h: Removed.
+ * ForwardingHeaders/wtf/ValueCheck.h: Removed.
+ * ForwardingHeaders/wtf/Vector.h: Removed.
+ * ForwardingHeaders/wtf/VectorTraits.h: Removed.
+ * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
+ * ForwardingHeaders/wtf/dtoa.h: Removed.
+ * ForwardingHeaders/wtf/dtoa/double-conversion.h: Removed.
+ * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Removed.
+ * ForwardingHeaders/wtf/text/AtomicString.h: Removed.
+ * ForwardingHeaders/wtf/text/AtomicStringHash.h: Removed.
+ * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Removed.
+ * ForwardingHeaders/wtf/text/CString.h: Removed.
+ * ForwardingHeaders/wtf/text/StringBuffer.h: Removed.
+ * ForwardingHeaders/wtf/text/StringBuilder.h: Removed.
+ * ForwardingHeaders/wtf/text/StringConcatenate.h: Removed.
+ * ForwardingHeaders/wtf/text/StringHash.h: Removed.
+ * ForwardingHeaders/wtf/text/StringImpl.h: Removed.
+ * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
+ * ForwardingHeaders/wtf/text/WTFString.h: Removed.
+ * ForwardingHeaders/wtf/unicode/CharacterNames.h: Removed.
+ * ForwardingHeaders/wtf/unicode/Collator.h: Removed.
+ * ForwardingHeaders/wtf/unicode/UTF8.h: Removed.
+ * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
+ * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
+ * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Removed.
+ * ForwardingHeaders/wtf/url/ParsedURL.h: Removed.
+
+2012-03-07 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] The "legend" element should not be a form-associated element.
+ https://bugs.webkit.org/show_bug.cgi?id=80239
+
+ Reviewed by Kent Tamura.
+
+ This patch changes base class of HTMLLegendElement to HTMLElement from
+ HTMLFormControlElement for saving memory space and iteration time of
+ extra "legend" elements in HTMLFormElement::m_formAssociatedElements
+ and matching the HTML5 specification for ease of maintenance.
+
+ Changes of TextIterator is lead by usage of isFormControlElement. This
+ changes will be replaced with more meaningful predicate as part of
+ https://bugs.webkit.org/show_bug.cgi?id=80381
+
+ No new tests are required. No behavior changes.
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::advance): Check HTMLLegendElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
+ * html/HTMLLegendElement.cpp:
+ (WebCore::HTMLLegendElement::HTMLLegendElement): Remove form parameter.
+ (WebCore::HTMLLegendElement::create): Remove form parameter.
+ (WebCore::HTMLLegendElement::associatedControl): Stop checking legend element, because HTMLLegendElement is no longer HTMLFormControlElement.
+ (WebCore::HTMLLegendElement::supportFocus): Removed. It called HTMLElement::supportFocus.
+ (WebCore::HTMLLegendElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
+ * html/HTMLLegendElement.h:
+ (HTMLLegendElement): Change base class to HTMLElement.
+ * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
+
+2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
+
+ [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
+ https://bugs.webkit.org/show_bug.cgi?id=80469
+
+ Reviewed by Antonio Gomes.
+
+ No new tests, this is a buildsystem change.
+
+ * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
+ property on the library being created.
+
+2012-03-06 Lianghui Chen <liachen@rim.com>
+
+ [BlackBerry] Set correct ResourceRequest target type.
+ https://bugs.webkit.org/show_bug.cgi?id=80430
+
+ Reviewed by Rob Buis.
+
+ For loads started by AppCache, they are based on the manifest file,
+ it is not definitely sure what target it is for, so we just guess
+ based on its mimetype or file extension.
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::createResourceHandle):
+ * loader/cache/CachedResource.cpp:
+ (WebCore):
+ (WebCore::CachedResource::load):
+ * platform/network/blackberry/ResourceRequest.h:
+ (ResourceRequest):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore):
+ (WebCore::mimeTypeRequestTypeMap):
+ (WebCore::ResourceRequest::targetTypeFromMimeType):
+ * workers/DefaultSharedWorkerRepository.cpp:
+ (WebCore::SharedWorkerScriptLoader::load):
+ * workers/Worker.cpp:
+ (WebCore::Worker::create):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::importScripts):
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::WorkerScriptLoader::createResourceRequest):
+ * workers/WorkerScriptLoader.h:
+ (WorkerScriptLoader):
+
+2012-03-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add clipping to scissor rect to CCOcclusionTracker
+ https://bugs.webkit.org/show_bug.cgi?id=79927
+
+ Reviewed by Adrienne Walker.
+
+ Adds logic to CCOcclusionTracker to occlude anything outside of the
+ current screen and target surface scissor rects. When tracking
+ damage for partial swaps, the scissor rects are bounded by the
+ tracked damage rects.
+
+ Unit tests: CCOcclusionTrackerTest.cpp
+
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
+ (WebCore::::CCOcclusionTrackerBase):
+ (WebCore):
+ (WebCore::::markOccludedBehindLayer):
+ (WebCore::testContentRectOccluded):
+ (WebCore::::occluded):
+ (WebCore::computeUnoccludedContentRect):
+ (WebCore::::unoccludedContentRect):
+ (WebCore::::layerScissorRect):
+ * platform/graphics/chromium/cc/CCOcclusionTracker.h:
+ (WebCore):
+ (CCOcclusionTrackerDamageClientBase):
+ (CCOcclusionTrackerBase):
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rolling out r110011.
+ http://trac.webkit.org/changeset/110011
+ https://bugs.webkit.org/show_bug.cgi?id=80376
+
+ layout tests crash
+
+ * bindings/v8/V8HiddenPropertyName.cpp:
+ (WebCore):
+ (WebCore::V8HiddenPropertyName::hiddenReferenceName):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+ (V8HiddenPropertyName):
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::toV8):
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rolling out r110016.
+ http://trac.webkit.org/changeset/110016
+
+ layout tests crash
+
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::toV8):
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, fixed test crashes.
+
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::toV8):
+
+2012-03-06 Hajime Morrita <morrita@chromium.org>
+
+ https://bugs.webkit.org/show_bug.cgi?id=79935
+ REGRESSION: <content> element is not HTMLUnknownElement when Shadow DOM API is disabled
+
+ Reviewed by Adam Barth.
+
+ This change introduced "runtimeConditional" keyword to make_name.pl sources,
+ which allows HTMLElementFactory and HTMLElementWrapperFactory to check RuntimeEnabledFeatures
+ and treat any tag name as HTMLUnknownElement if its definition has runtimeConditional and
+ the flag given is turned off.
+
+ Test: fast/dom/shadow/content-shadow-unknown.html
+
+ * WebCore.exp.in:
+ * dom/make_names.pl:
+ (defaultTagPropertyHash):
+ (printConstructorInterior):
+ (printFactoryCppFile):
+ (printWrapperFunctions):
+ (printWrapperFactoryCppFile):
+ * html/HTMLTagNames.in:
+ * html/shadow/HTMLContentElement.cpp:
+ (WebCore::contentTagName):
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::InternalSettings):
+ (WebCore::InternalSettings::restoreTo):
+ (WebCore::InternalSettings::setShadowDOMEnabled):
+ (WebCore):
+ * testing/InternalSettings.h:
+ (InternalSettings):
+ * testing/InternalSettings.idl:
+
+2012-03-06 Kenichi Ishibashi <bashi@chromium.org>
+
+ [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
+ https://bugs.webkit.org/show_bug.cgi?id=80356
+
+ Reviewed by Kent Tamura.
+
+ Introduced ThreadableWebSocketChannel::SendResult type so that
+ WebSocketChannel can pass the validation result.
+
+ No new test. No changes in behavior.
+
+ * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
+ (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
+ (ThreadableWebSocketChannelClientWrapper):
+ * Modules/websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
+ (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
+ (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
+ * Modules/websockets/WebSocketChannel.h:
+ (WebSocketChannel):
+ (QueuedFrame): Changed the type of stringData from String to CString.
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
+ (WebCore::workerContextDidSend): Ditto.
+ (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
+ * Modules/websockets/WorkerThreadableWebSocketChannel.h:
+ (WorkerThreadableWebSocketChannel): ditto.
+ (Bridge): Ditto.
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
+ Element.dataset and Node.attributes
+ https://bugs.webkit.org/show_bug.cgi?id=80376
+
+ Reviewed by Adam Barth.
+
+ This patch improves the performance of HTMLElement.classList, Element.dataset
+ and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
+
+ Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
+ created every time the DOM attribute is accessed, in spite of the fact that
+ the 'hiddenReferenceName' string is static.
+
+ This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
+ Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
+ since if 'element' exists, it is guaranteed that 'elementValue' is not empty
+ and is an Object.
+
+ Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
+
+ AppleWebKit/JavaScriptCore:
+ div.classList : 382ms
+ div.classList.foo = 123 : 335ms
+ div.dataset : 403ms
+ div.dataset.foo = 123 : 5250ms
+ div.attributes : 183ms
+
+ Chromium/V8 (without this patch):
+ div.classList : 9140ms
+ div.classList.foo = 123 : 9086ms
+ div.dataset : 9930ms
+ div.dataset.foo = 123 : 49698ms
+ div.attributes : 13489ms
+
+ Chromium/V8 (with this patch):
+ div.classList : 1435ms
+ div.classList.foo = 123 : 1470ms
+ div.dataset : 1400ms
+ div.dataset.foo = 123 : 30396ms
+ div.attributes : 1242ms
+
+ No tests. No change in behavior.
+
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
+ (WebCore::toV8):
+
+ * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
+ to optimize the macro.
+ (WebCore):
+ (WebCore::V8HiddenPropertyName::hiddenReferenceName):
+ * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
+ and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
+ or a hidden reference.
+ (WebCore):
+ (V8HiddenPropertyName):
+
+2012-03-06 Nat Duca <nduca@chromium.org>
+
+ [chromium] CCThreadProxy context lost support
+ https://bugs.webkit.org/show_bug.cgi?id=80100
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::didLoseContext):
+ (WebCore):
+ (WebCore::CCScheduler::didRecreateContext):
+ (WebCore::CCScheduler::processScheduledActions):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCSchedulerClient):
+ (CCScheduler):
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
+ (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
+ (WebCore::CCSchedulerStateMachine::nextAction):
+ (WebCore::CCSchedulerStateMachine::updateState):
+ (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
+ (WebCore::CCSchedulerStateMachine::didLoseContext):
+ (WebCore):
+ (WebCore::CCSchedulerStateMachine::didRecreateContext):
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
+ (CCSchedulerStateMachine):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::recreateContext):
+ (WebCore::CCThreadProxy::loseContext):
+ (WebCore::CCThreadProxy::scheduledActionBeginContextRecreation):
+ (WebCore):
+ (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
+ (WebCore::CCThreadProxy::setAnimationEvents):
+ (WebCore::CCThreadProxy::beginContextRecreation):
+ (WebCore::CCThreadProxy::recreateContextOnImplThread):
+ (WebCore::CCThreadProxy::loseContextOnImplThread):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-03-06 Tony Chang <tony@chromium.org>
+
+ refactor method names in RenderFlexibleBox to make them more consistent
+ https://bugs.webkit.org/show_bug.cgi?id=80446
+
+ Reviewed by Ojan Vafai.
+
+ No new tests, just renaming internal methods.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::flowAwareBorderAfter): New, used by layoutAndPlaceChildren
+ (WebCore::RenderFlexibleBox::flowAwarePaddingAfter): New, used by layoutAndPlaceChildren
+ (WebCore::RenderFlexibleBox::marginBoxAscentForChild): Add ForChild for consistency.
+ (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): We were adding the before padding+border twice (it's in the offset and
+ crossAxisBorderAndPaddingExtent() and subtracting it once. Instead, just add the after padding+border.
+ (WebCore::RenderFlexibleBox::alignChildren):
+ * rendering/RenderFlexibleBox.h:
+ (RenderFlexibleBox): Reorder methods to match the .cpp file.
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rolling out r109969.
+ http://trac.webkit.org/changeset/109969
+ https://bugs.webkit.org/show_bug.cgi?id=80376
+
+ layout tests crash
+
+ * bindings/v8/V8HiddenPropertyName.cpp:
+ (WebCore):
+ (WebCore::V8HiddenPropertyName::hiddenReferenceName):
+ * bindings/v8/V8HiddenPropertyName.h:
+ (WebCore):
+ (V8HiddenPropertyName):
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::toV8):
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rolling out r109999.
+ http://trac.webkit.org/changeset/109999
+
+ layout tests crash
+
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp:
+ (WebCore::toV8):
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, fix crashes.
+
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp:
+ (WebCore::toV8):
+
+2012-03-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Fix threaded compositing issues in WebGLLayerChromium (except for printing)
+ https://bugs.webkit.org/show_bug.cgi?id=80459
+
+ Reviewed by Kenneth Russell.
+
+ This fixes a few wrong-thread issues in WebGLLayerChromium for threaded compositing. The key requirements that
+ threaded compositing imposes on LayerChromium subclasses are that the compositor's context can only be used from
+ the compositor thread, meaning inside of updateCompositorResources() and pushPropertiesTo(), and that
+ non-compositor contexts can only be used from the main thread. This means specifically that we can't use the
+ DrawingBuffer's context in either of these two functions.
+
+ Summary of changes:
+ *) Move the publishToPlatformLayer() call and related logic inside of paintContentsIfDirty(), which is called
+ on the main thread.
+ *) Move lost context tracking outside of drawsContent(), since that function is called from both threads, to a
+ separate bool that is updated after each WebGL composite and setDrawingBuffer call.
+
+ Printing still doesn't work in threaded mode with this patch, I'll address that separately. Printing and lost
+ context recovery still work as they did in the single-threaded path.
+
+ * platform/graphics/chromium/WebGLLayerChromium.cpp:
+ (WebCore::WebGLLayerChromium::WebGLLayerChromium):
+ (WebCore::WebGLLayerChromium::drawsContent):
+ (WebCore::WebGLLayerChromium::paintContentsIfDirty):
+ (WebCore::WebGLLayerChromium::updateCompositorResources):
+ (WebCore::WebGLLayerChromium::setDrawingBuffer):
+ * platform/graphics/chromium/WebGLLayerChromium.h:
+ (WebGLLayerChromium):
+
+2012-03-06 Anders Carlsson <andersca@apple.com>
+
+ Cracks between tiles when zoomed in
+ https://bugs.webkit.org/show_bug.cgi?id=80460
+ <rdar://problem/10996688>
+
+ Use enclosingIntRect instead of enclosedIntRect when converting from FloatRect to IntRect.
+
+ * platform/graphics/mac/WebLayer.mm:
+ (drawLayerContents):
+
+2012-03-06 Anders Carlsson <andersca@apple.com>
+
+ Tile cache layers should always be clipped to the view's bounds
+ https://bugs.webkit.org/show_bug.cgi?id=80456
+ <rdar://problem/10996174>
+
+ Reviewed by Simon Fraser.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
+ Factor this code out into a separate function for better clarity. Always return true if we have a tile cache layer.
+
+ (WebCore::RenderLayerBacking::updateCompositedBounds):
+ Call shouldClipCompositedBounds directly.
+
+2012-03-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Null-check m_layerRenderer in CCLayerTreeHostImpl::finishAllRendering()
+ https://bugs.webkit.org/show_bug.cgi?id=80445
+
+ Reviewed by Adrienne Walker.
+
+ Null-check CCLayerTreeHostImpl::m_layerRenderer since it won't be set if context initialiation failed for any
+ reason.
+
+ Covered by new unit test in CCLayerTreeHostImplTest.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::finishAllRendering):
+
+2012-03-06 Ryosuke Niwa <rniwa@webkit.org>
+
+ Can't select a line of RTL text on Facebook
+ https://bugs.webkit.org/show_bug.cgi?id=59435
+
+ Reviewed by Eric Seidel.
+
+ Deploy prevLeafChildIgnoringLineBreak and nextLeafChildIgnoringLineBreak
+ in RenderedPosition::leftBoundaryOfBidiRun and RenderedPosition::rightBoundaryOfBidiRun.
+
+ Without this patch, WebKit extends selection from right to left when the user selects
+ <span dir="rtl">ABC<br></span> from left to right by a mouse drag.
+
+ Test: editing/selection/select-bidi-run.html
+
+ * editing/RenderedPosition.cpp:
+ (WebCore::RenderedPosition::leftBoundaryOfBidiRun):
+ (WebCore::RenderedPosition::rightBoundaryOfBidiRun):
+
+2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
+
+ undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
+ https://bugs.webkit.org/show_bug.cgi?id=80282
+
+ Reviewed by Antonio Gomes.
+
+ No new tests, this is a buildsystem change.
+
+ Remove transitive library dependencies; they are especially
+ dangerous when one ends up linking against WTF, JSC and then WTF
+ again, since some symbols will not be defined.
+
+ Passing --no-copy-dt-needed-entries and --as-needed to the linker
+ (which some recent Linux distros do by default) makes the issue
+ even more evident.
+
+ * CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
+ from it.
+ * PlatformEfl.cmake: Explicitly link against libjpeg and libpng.
+
+2012-03-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] REGRESSION(109469): WebGL printing busted
+ https://bugs.webkit.org/show_bug.cgi?id=80450
+
+ Reviewed by Kenneth Russell.
+
+ Avoid marking layers as needing display in setContentsTo...() since this breaks WebGL's damage tracking and is
+ unnecessary.
+
+ Tested WebGL printing manually.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setContentsToCanvas):
+ (WebCore::GraphicsLayerChromium::setContentsToMedia):
+
+2012-03-06 Adrienne Walker <enne@google.com>
+
+ Overlap map for compositing should ignore empty layers
+ https://bugs.webkit.org/show_bug.cgi?id=63499
+
+ Reviewed by Simon Fraser.
+
+ Test: compositing/layer-creation/overlap-empty-layer.html
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::addToOverlapMap):
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+
+2012-03-06 Vangelis Kokkevis <vangelis@chromium.org>
+
+ [chromium] Increase the accelerated canvas min size to 256 * 256
+ https://bugs.webkit.org/show_bug.cgi?id=80451
+
+ Reviewed by Stephen White.
+
+ Test: Manually
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+
+2012-03-06 Kentaro Hara <haraken@chromium.org>
+
+ [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
+ Element.dataset and Node.attributes
+ https://bugs.webkit.org/show_bug.cgi?id=80376
+
+ Reviewed by Adam Barth.
+
+ This patch improves the performance of HTMLElement.classList, Element.dataset
+ and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
+
+ Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
+ created every time the DOM attribute is accessed, in spite of the fact that
+ the 'hiddenReferenceName' string is static.
+
+ This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
+ Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
+ since if 'element' exists, it is guaranteed that 'elementValue' is not empty
+ and is an Object.
+
+ Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
+
+ AppleWebKit/JavaScriptCore:
+ div.classList : 382ms
+ div.classList.foo = 123 : 335ms
+ div.dataset : 403ms
+ div.dataset.foo = 123 : 5250ms
+ div.attributes : 183ms
+
+ Chromium/V8 (without this patch):
+ div.classList : 9140ms
+ div.classList.foo = 123 : 9086ms
+ div.dataset : 9930ms
+ div.dataset.foo = 123 : 49698ms
+ div.attributes : 13489ms
+
+ Chromium/V8 (with this patch):
+ div.classList : 1435ms
+ div.classList.foo = 123 : 1470ms
+ div.dataset : 1400ms
+ div.dataset.foo = 123 : 30396ms
+ div.attributes : 1242ms
+
+ No tests. No change in behavior.
+
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
+ (WebCore::toV8):
+
+ * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
+ to optimize the macro.
+ (WebCore):
+ (WebCore::V8HiddenPropertyName::hiddenReferenceName):
+ * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
+ and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
+ or a hidden reference.
+ (WebCore):
+ (V8HiddenPropertyName):
+
+2012-03-06 Alexis Menard <alexis.menard@openbossa.org>
+
+ getComputedStyle returns incorrect values for the width and height of pseudo-elements
+ https://bugs.webkit.org/show_bug.cgi?id=37835
+
+ Reviewed by Tony Chang.
+
+ In case we are querying the computed style of an element with a pseudo-element we can't use
+ the renderer of the element as this one is not the one used to render the pseudo-element. We need
+ to use the one created to render the pseudo-element.
+
+ No new tests : Extend the existing getComputedStyle-with-pseudo-element.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+
+2012-03-06 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Make compositeAndReadback and damage tracking play nicely together
+ https://bugs.webkit.org/show_bug.cgi?id=80199
+
+ Reviewed by James Robinson.
+
+ Requires system-level testing (pixels on front-buffer should be
+ observed for correct behavior) that cannot be done by layout tests
+ or unit tests, have to rely on manual testing.
+
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::compositeAndReadback):
+
+2012-03-06 Luke Macpherson <macpherson@chromium.org>
+
+ Make CSSStyleSelector::convertToLength() behave more like CSSPrimitiveValue::convertToLength().
+ https://bugs.webkit.org/show_bug.cgi?id=80375
+
+ Reviewed by Eric Seidel.
+
+ No new tests / cleanup only.
+
+ This patch removes the bool* ok parameter from CSSStyleSelector's convertToLength,
+ and instead uses the recently added Length(Undefined) value to indicate failure.
+ This paves the way for a future patch that will call primitiveValue->convertToLength directly.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+
+2012-03-06 Raymes Khoury <raymes@chromium.org>
+
+ Add state variable and ASSERTs to DocumentWriter to help track down
+ https://bugs.webkit.org/show_bug.cgi?id=80427 and prevent illegal usage
+ of DocumentWriter. This also makes endIfNotLoadingMainResource() private
+ as there is no external usage.
+
+ Reviewed by Adam Barth.
+
+ This only adds ASSERT/CRASH and does not change existing behaviour.
+
+ * loader/DocumentWriter.cpp:
+ (WebCore::DocumentWriter::DocumentWriter):
+ (WebCore::DocumentWriter::begin):
+ (WebCore::DocumentWriter::addData):
+ (WebCore::DocumentWriter::endIfNotLoadingMainResource):
+ (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
+ * loader/DocumentWriter.h:
+ (DocumentWriter):
+
+2012-03-06 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSSRegions][CSSOM]Restrict parsing of named flow name
+ https://bugs.webkit.org/show_bug.cgi?id=80359
+
+ Reviewed by Andreas Kling.
+
+ The function that does the parsing for flow thread name should restrict the
+ number of parsed properties to 1, otherwise it would allow parsing of
+ "-webkit-flow-into: flow; color: red;" constructions.
+
+ Modified fast/regions/webkit-named-flow-invalid-name.html to include the above case.
+
+ * css/CSSParser.cpp:
+ (WebCore::validFlowName):
+ (WebCore::CSSParser::parseFlowThread):
+
+2012-03-06 Joseph Pecoraro <pecoraro@apple.com>
+
+ Unreviewed build fix for minimal build after r109939.
+
+ Guard access to page->inspectorController with ENABLE(INSPECTOR).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::performPostLayoutTasks):
+
+2012-03-05 Dean Jackson <dino@apple.com>
+
+ Enable compositing when a CSS filter is animating
+ https://bugs.webkit.org/show_bug.cgi?id=79048
+
+ Reviewed by Simon Fraser.
+
+ Now that some systems (e.g. OS X) have both hardware accelerated
+ CSS filters, and the ability to animate them via the hardware
+ compositor, all CSS filters should be composited when animating.
+
+ Tests: css3/filters/composited-during-animation-layertree.html
+ css3/filters/composited-during-animation.html
+ css3/filters/composited-during-transition-layertree.html
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore):
+ (WebCore::supportsAcceleratedFilterAnimations):
+ new method that returns true if the platform supports
+ hardware animations of filters.
+ (WebCore::GraphicsLayerCA::addAnimation):
+ (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
+ only create layer-animations if the platform supports it.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
+ create a compositing layer if animating a filter on a
+ supported platform.
+
+2012-03-06 Stephen White <senorblanco@chromium.org>
+
+ Unreviewed, rolling out r109825.
+ http://trac.webkit.org/changeset/109825
+ https://bugs.webkit.org/show_bug.cgi?id=79413
+
+ Broke webkit_unit_tests on Chromium Win
+
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
+ (WebCore::IDBLevelDBBackingStore::open):
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore):
+ * platform/leveldb/LevelDBDatabase.h:
+ (LevelDBDatabase):
+
+2012-03-06 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=80351
+ InlineTextBox is using the wrong origin when calling
+ addRelevantRepaintedObject
+ -and corresponding-
+ <rdar://problem/10970221>
+
+ Reviewed by Sam Weinig.
+
+ boxOrigin represents the actual location of the text. The adjustedPaintOffset
+ (which I was using previously) will only correspond to the first line in a
+ block of lines.
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paint):
+
+2012-03-06 Filip Spacek <fspacek@rim.com>
+
+ [BlackBerry] Disable border radius clips (r95239) for BlackBerry
+ https://bugs.webkit.org/show_bug.cgi?id=80416
+
+ Reviewed by Antonio Gomes
+
+ The BlackBerry port suffers from the same performance
+ degradation when border radius clip is enabled as Chromium.
+
+ * rendering/RenderLayer.cpp:
+
+2012-03-06 Stephen White <senorblanco@chromium.org>
+
+ Unreviewed, rolling out r109832.
+ http://trac.webkit.org/changeset/109832
+ https://bugs.webkit.org/show_bug.cgi?id=80356
+
+ Broke WebSocket tests on Chrome Mac and Linux
+
+ * Modules/websockets/ThreadableWebSocketChannel.h:
+ (ThreadableWebSocketChannel):
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
+ (ThreadableWebSocketChannelClientWrapper):
+ * Modules/websockets/WebSocket.cpp:
+ (WebCore::WebSocket::send):
+ * Modules/websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::send):
+ (WebCore::WebSocketChannel::enqueueTextFrame):
+ (WebCore::WebSocketChannel::processOutgoingFrameQueue):
+ * Modules/websockets/WebSocketChannel.h:
+ (WebSocketChannel):
+ (QueuedFrame):
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+ (WebCore::WorkerThreadableWebSocketChannel::send):
+ (WebCore::workerContextDidSend):
+ (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
+ * Modules/websockets/WorkerThreadableWebSocketChannel.h:
+ (WorkerThreadableWebSocketChannel):
+ (Bridge):
+
+2012-03-06 Stephen White <senorblanco@chromium.org>
+
+ Unreviewed, rolling out r109840.
+ http://trac.webkit.org/changeset/109840
+ https://bugs.webkit.org/show_bug.cgi?id=80103
+
+ Broke WebSocket tests on Chrome Mac and Linux
+
+ * Modules/websockets/WebSocket.cpp:
+ (WebCore::WebSocket::send):
+ (WebCore::WebSocket::close):
+ * Modules/websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::send):
+
+2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
+
+ <http://webkit.org/b/78575> Web Inspector: Disable dock button when not allowed to dock
+
+ There are times when an undocked inspector frontend is not allowed to
+ attach to the main window. We can disable the dock button in those cases.
+
+ Reviewed by Pavel Feldman.
+
+ No new tests. This functionality is port specific right now.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::performPostLayoutTasks):
+ When the main frame is resized we let the inspector client know,
+ so that it can react to it as needed.
+
+ * WebCore.exp.in:
+ * inspector/InspectorClient.h:
+ (WebCore::InspectorClient::didResizeMainFrame):
+ * inspector/InspectorController.cpp:
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::inspectorClient):
+ Call up to the port though to the InspectorClient.
+
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::frontendLoaded):
+ (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
+ * inspector/InspectorFrontendClientLocal.h:
+ On ports where the inspector frontend client is local, provide a
+ setDockingUnavailable InspectorFrontendAPI to update the docking state.
+ Automatically update availability when the frontend completes loading.
+
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.setDockingUnavailable):
+ * inspector/front-end/inspector.js:
+ (WebInspector._createGlobalStatusBarItems):
+ (WebInspector.setAttachedWindow):
+ (WebInspector.setDockingUnavailable):
+ (WebInspector.updateDockToggleButton):
+ Update the dock button's enabled/disabled state when its created,
+ when the attached state changes, when get a frontend API notification
+ that we cannot attach.
+
+ * inspector/front-end/InspectorFrontendHostStub.js:
+ Remove unused canAttachWindow method.
+
+2012-03-06 Hans Wennborg <hans@chromium.org>
+
+ Speech JavaScript API: add SpeechRecognitionError
+ https://bugs.webkit.org/show_bug.cgi?id=80410
+
+ Reviewed by Adam Barth.
+
+ Add SpeechRecognitionError.
+
+ Test: fast/speech/scripted/speechrecognitionerror-basics.html
+
+ * Modules/speech/DOMWindowSpeech.idl: Added.
+ * Modules/speech/SpeechRecognitionError.cpp: Added.
+ (WebCore):
+ (WebCore::SpeechRecognitionError::create):
+ (WebCore::SpeechRecognitionError::SpeechRecognitionError):
+ * Modules/speech/SpeechRecognitionError.h: Added.
+ (WebCore):
+ (SpeechRecognitionError):
+ (WebCore::SpeechRecognitionError::code):
+ (WebCore::SpeechRecognitionError::message):
+ * Modules/speech/SpeechRecognitionError.idl: Added.
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-03-06 David Corvoysier <david.corvoysier@orange.com>
+
+ Unreleased gst_object_reference to audio sink in MediaPlayerPrivateGStreamer
+ https://bugs.webkit.org/show_bug.cgi?id=79795
+