Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 102463) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,14 +1,837 @@ |
-2011-12-06 Yury Semikhatsky <yurys@chromium.org> |
+2011-12-08 James Robinson <jamesr@chromium.org> |
- [Chromium] Web Inspector: getFunctionLocation should return scriptId as String not as int |
- https://bugs.webkit.org/show_bug.cgi?id=73892 |
+ Improve handling of frame removal during requestAnimationFrame callback invocation |
+ https://bugs.webkit.org/show_bug.cgi?id=74036 |
+ Reviewed by Adam Barth. |
+ |
+ See bug for details. |
+ |
+ Test: fast/animation/request-animation-frame-detach-element.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::removedLastRef): |
+ (WebCore::Document::detach): |
+ * dom/Document.h: |
+ * dom/ScriptedAnimationController.cpp: |
+ (WebCore::ScriptedAnimationController::~ScriptedAnimationController): |
+ (WebCore::ScriptedAnimationController::serviceScriptedAnimations): |
+ (WebCore::ScriptedAnimationController::scheduleAnimation): |
+ * dom/ScriptedAnimationController.h: |
+ (WebCore::ScriptedAnimationController::create): |
+ (WebCore::ScriptedAnimationController::clearDocumentPointer): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::serviceScriptedAnimations): |
+ |
+2011-12-08 Yongjun Zhang <yongjun_zhang@apple.com> |
+ |
+ Use bitfield for bool data members in BitmapImage. |
+ https://bugs.webkit.org/show_bug.cgi?id=74102 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Class BitmapImage and FrameData has bool data members, we can use bitfield for those data |
+ members to reduce the BitmapImage's memory footprint. |
+ |
+ * platform/graphics/BitmapImage.cpp: |
+ (WebCore::BitmapImage::BitmapImage): |
+ * platform/graphics/BitmapImage.h: |
+ (WebCore::FrameData::FrameData): |
+ * platform/graphics/cairo/ImageCairo.cpp: |
+ (WebCore::BitmapImage::BitmapImage): |
+ * platform/graphics/cg/ImageCG.cpp: |
+ (WebCore::BitmapImage::BitmapImage): |
+ * platform/graphics/openvg/ImageOpenVG.cpp: |
+ (WebCore::BitmapImage::BitmapImage): |
+ * platform/graphics/qt/ImageQt.cpp: |
+ (WebCore::BitmapImage::BitmapImage): |
+ |
+2011-12-08 Anders Carlsson <andersca@apple.com> |
+ |
+ Fix a paste-o in ScrollAnimatorMac::updateScrollerStyle |
+ https://bugs.webkit.org/show_bug.cgi?id=74145 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Call setHorizontalScrollerImp to set the horizontal scrollbar painter. |
+ |
+ * platform/mac/ScrollAnimatorMac.mm: |
+ (WebCore::ScrollAnimatorMac::updateScrollerStyle): |
+ |
+2011-12-08 Anders Carlsson <andersca@apple.com> |
+ |
+ Create one WebScrollbarPainterDelegate for each scrollbar |
+ https://bugs.webkit.org/show_bug.cgi?id=74142 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Create and destroy WebScrollbarPainterDelegate objects as scrollbars come and go. |
+ This is a step towards simplifying the WebScrollbarPainterDelegate object. |
+ |
+ * platform/mac/ScrollAnimatorMac.h: |
+ * platform/mac/ScrollAnimatorMac.mm: |
+ (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): |
+ (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): |
+ (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): |
+ (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): |
+ (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): |
+ (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): |
+ (WebCore::ScrollAnimatorMac::cancelAnimations): |
+ |
+2011-12-08 David Reveman <reveman@chromium.org> |
+ |
+ [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code. |
+ https://bugs.webkit.org/show_bug.cgi?id=74017 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add per-tile drawing to page settings. |
+ |
+ No new tests. |
+ |
+ * page/Settings.h: |
+ (WebCore::Settings::setPerTileDrawingEnabled): |
+ (WebCore::Settings::perTileDrawingEnabled): |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::setPerTileDrawingEnabled): |
+ * testing/Internals.h: |
+ |
+2011-12-08 Anders Carlsson <andersca@apple.com> |
+ |
+ Add a scrollbarPainterForScrollbar helper function |
+ https://bugs.webkit.org/show_bug.cgi?id=74139 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ * platform/mac/ScrollAnimatorMac.mm: |
+ (macScrollbarTheme): |
+ (scrollbarPainterForScrollbar): |
+ (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar): |
+ (WebCore::ScrollAnimatorMac::mouseExitedScrollbar): |
+ (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar): |
+ (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar): |
+ (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar): |
+ (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar): |
+ |
+2011-12-08 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Move NonCompositedContentHost to WebKit |
+ https://bugs.webkit.org/show_bug.cgi?id=74047 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Updates WebCore.gypi to remove files no longer within WebCore and removes unused forward declaration and include |
+ from LayerRendererChromium. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ |
+2011-12-08 Sami Kyostila <skyostil@google.com> |
+ |
+ [chromium] Layer contents scale change should trigger invalidation |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=74086 |
+ |
+ When the contents scale of a layer is changed, the entire contents of |
+ the layer should be marked dirty. |
+ |
+ Reviewed by James Robinson. |
+ |
+ * platform/graphics/chromium/LayerChromium.cpp: |
+ (WebCore::LayerChromium::setContentsScale): |
+ |
+2011-12-08 Stephen White <senorblanco@chromium.org> |
+ |
+ [chromium] Add CSS_FILTERS custom binding file to WebCore.gypi. |
+ https://bugs.webkit.org/show_bug.cgi?id=74091 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ If it builds, you're happy. |
+ |
+ * WebCore.gypi: |
+ |
+2011-12-08 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Line breaks are lost when pasted into textarea text starting with a blank line set while textarea is hidden |
+ https://bugs.webkit.org/show_bug.cgi?id=74126 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ The bug was caused by the code that generated text out of pre-rendered text was generating div's inside the fragment |
+ pasted into textarea even though serialization algorithm in textarea doesn't handle block elements. |
+ |
+ Fixed the bug by special-casing this in createFragmentFromText. In the long run, we should really get rid of this |
+ whole pre-rendering trick. |
+ |
+ * editing/markup.cpp: |
+ (WebCore::createFragmentFromText): |
+ |
+2011-12-08 Florin Malita <fmalita@google.com> |
+ |
+ Moving SVG elements on the page doesn't always erase element at the old position |
+ https://bugs.webkit.org/show_bug.cgi?id=74002 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Test: svg/repaint/container-repaint.svg |
+ |
+ * rendering/svg/RenderSVGContainer.cpp: |
+ (WebCore::RenderSVGContainer::layout): |
+ Save the old repaint bounds before updating the viewport. |
+ |
+2011-12-08 Tim Horton <timothy_horton@apple.com> |
+ |
+ Enable animations of CSS images using -webkit-cross-fade |
+ https://bugs.webkit.org/show_bug.cgi?id=74049 |
+ <rdar://problem/10209303> |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Add support for animating CSS images in the following properties: |
+ - background(-image) |
+ - border-image(-source) |
+ - list-style(-image) |
+ - -webkit-mask-box-image(-source) |
+ - -webkit-mask-image(-source) |
+ |
+ This patch only adds support for transitioning between NinePieceImages |
+ where all of the properties except the image itself are equal, and the |
+ size of the images are equal. Other cases will not animate. |
+ |
+ Add animation blend functions for StyleImage and NinePieceImage. |
+ |
+ Apply the proper compositing operation to -webkit-cross-fade, and |
+ fix handling of the destination and source areas to support scaling. |
+ |
+ Tests: animations/cross-fade-background-image.html |
+ animations/cross-fade-border-image-source.html |
+ animations/cross-fade-list-style-image.html |
+ animations/cross-fade-webkit-mask-box-image.html |
+ animations/cross-fade-webkit-mask-image.html |
+ |
+ * css/CSSCrossfadeValue.cpp: |
+ (WebCore::cachedImageForCSSValue): |
+ (WebCore::CSSCrossfadeValue::fixedSize): |
+ (WebCore::CSSCrossfadeValue::image): |
+ * css/CSSImageValue.cpp: |
+ (WebCore::CSSImageValue::CSSImageValue): |
+ * css/CSSImageValue.h: |
+ (WebCore::CSSImageValue::create): |
+ * page/animation/AnimationBase.cpp: |
+ (WebCore::crossfadeBlend): |
+ (WebCore::blendFunc): |
+ (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper): |
+ (WebCore::RefCountedPropertyWrapper::blend): |
+ (WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper): |
+ (WebCore::FillLayerRefCountedPropertyWrapper::blend): |
+ (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper): |
+ (WebCore::AnimationBase::ensurePropertyMap): |
+ (WebCore::addShorthandProperties): |
+ * platform/graphics/CrossfadeGeneratedImage.cpp: |
+ (WebCore::CrossfadeGeneratedImage::drawCrossfade): |
+ (WebCore::CrossfadeGeneratedImage::draw): |
+ (WebCore::CrossfadeGeneratedImage::drawPattern): |
+ * platform/graphics/CrossfadeGeneratedImage.h: |
+ * rendering/style/RenderStyle.h: |
+ (WebCore::InheritedFlags::setMaskImage): |
+ |
+2011-12-08 Stephen White <senorblanco@chromium.org> |
+ |
+ Use Skia's implementation of Gaussian blur when accelerated filters |
+ are enabled. |
+ https://bugs.webkit.org/show_bug.cgi?id=73949 |
+ |
+ Reviewed by Zoltan Herczeg. |
+ |
+ In the future, this will be covered by the SVG tests run in GPU mode. |
+ |
+ * WebCore.gypi: |
+ Add FEGaussianBlurSkia.cpp to the build. |
+ * platform/graphics/filters/FEGaussianBlur.cpp: |
+ (WebCore::FEGaussianBlur::platformApplySoftware): |
+ Call out to platformApplySkia() when USE_SKIA is enabled. |
+ * platform/graphics/filters/FEGaussianBlur.h: |
+ platformApplySkia() declaration. |
+ * platform/graphics/filters/skia: Added. |
+ * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Added. |
+ (WebCore::FEGaussianBlur::platformApplySkia): |
+ On the Skia port, use SkBlurImageFilter for drawing |
+ Gaussian blurs in accelerated mode. |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::ImageBuffer::copyImage): |
+ Implement ImageBuffer::copyImage() with DontCopyBackingStore semantics. |
+ |
+2011-12-08 Erik Arvidsson <arv@chromium.org> |
+ |
+ CodeGeneratorV8: Fix issue with overloaded static conditional methods |
+ https://bugs.webkit.org/show_bug.cgi?id=74114 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ The code generator was missing checks for Conditional for overloaded methods. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateOverloadedFunctionCallback): Generate needed #ifdefs. |
+ (GenerateFunctionCallback): Ditto. |
+ * bindings/scripts/test/V8/V8TestObj.cpp: Wrap conditional methods with #ifdefs. |
+ (WebCore::ConfigureV8TestObjTemplate): |
+ |
+2011-12-08 Dominic Mazzoni <dmazzoni@google.com> |
+ |
+ AccessibilityController should support listening to notifications on all elements. |
+ https://bugs.webkit.org/show_bug.cgi?id=72866 |
+ |
+ Changes accessibilitySetShouldRepostNotifications from an instance method |
+ into a class method so that it can be used for global notification listeners, |
+ not just for listeners on a particular object. |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Test: accessibility/notification-listeners.html |
+ |
+ * accessibility/mac/WebAccessibilityObjectWrapper.h: |
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm: |
+ (+[WebAccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]): |
+ (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]): |
+ |
+2011-12-08 Vsevolod Vlasov <vsevik@chromium.org> |
+ |
+ Web Inspector: Rename createScriptCallStack() without parameters to createScriptCallStackForInspector(). |
+ https://bugs.webkit.org/show_bug.cgi?id=74120 |
+ |
Reviewed by Pavel Feldman. |
- * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: |
- (WebCore::V8InjectedScriptHost::functionLocationCallback): scriptId should be a string not a number |
- * inspector/Inspector.json: removed unused parameter |
+ * bindings/js/ScriptCallStackFactory.cpp: |
+ (WebCore::createScriptCallStackForInspector): |
+ * bindings/js/ScriptCallStackFactory.h: |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateParametersCheck): |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateFunctionCallback): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore::TestObjInternal::customArgsAndExceptionCallback): |
+ * bindings/v8/ScriptCallStackFactory.cpp: |
+ (WebCore::createScriptCallStackForInspector): |
+ * bindings/v8/ScriptCallStackFactory.h: |
+2011-12-08 Adrienne Walker <enne@google.com> |
+ |
+ [chromium] Remove dead code in compositor |
+ https://bugs.webkit.org/show_bug.cgi?id=74103 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Tested via the compiler. |
+ |
+ * platform/graphics/chromium/LayerChromium.h: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ |
+2011-12-08 Eric Penner <epenner@google.com> |
+ |
+ [chromium] Need to adjust memory limit and viewport multipliers. |
+ https://bugs.webkit.org/show_bug.cgi?id=74022 |
+ |
+ Reviewed by James Robinson. |
+ |
+ * platform/graphics/chromium/TextureManager.cpp: |
+ (WebCore::TextureManager::highLimitBytes): Changing constants |
+ (WebCore::TextureManager::reclaimLimitBytes): ditto |
+ |
+2011-12-08 Benjamin Poulain <bpoulain@apple.com> |
+ |
+ Add a platform EventLoop for iOS |
+ https://bugs.webkit.org/show_bug.cgi?id=74043 |
+ |
+ Reviewed by David Kilzer. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * platform/ios/EventLoopIOS.mm: Added. |
+ (WebCore::EventLoop::cycle): |
+ |
+2011-12-08 Pavel Feldman <pfeldman@google.com> |
+ |
+ Web Inspector: return node counts on the document / detached root basis |
+ https://bugs.webkit.org/show_bug.cgi?id=74104 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * bindings/js/ScriptProfiler.h: |
+ * bindings/v8/ScriptProfiler.cpp: |
+ (WebCore::ScriptProfiler::domNodeCount): |
+ * bindings/v8/ScriptProfiler.h: |
+ * inspector/Inspector.json: |
+ * inspector/InspectorController.cpp: |
+ (WebCore::InspectorController::InspectorController): |
+ * inspector/InspectorMemoryAgent.cpp: |
+ (WebCore::InspectorMemoryAgent::getDOMNodeCount): |
+ (WebCore::InspectorMemoryAgent::InspectorMemoryAgent): |
+ * inspector/InspectorMemoryAgent.h: |
+ (WebCore::InspectorMemoryAgent::create): |
+ |
+2011-12-08 Andreas Kling <kling@webkit.org> |
+ |
+ RenderObject: Rename styleSlowCase() to styleInRegion(). |
+ |
+ Rubber-stamped by David Hyatt. |
+ |
+ * WebCore.exp.in: |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::styleInRegion): |
+ * rendering/RenderObject.h: |
+ (WebCore::RenderObject::style): |
+ |
+2011-12-08 Andreas Kling <kling@webkit.org> |
+ |
+ Optimize RenderObject::containingBlock(). |
+ <http://webkit.org/b/74109> |
+ |
+ Reviewed by David Hyatt. |
+ |
+ When climbing the parent chain to locate the containing block-level element, |
+ use !isRenderBlock() to reject renderers rather than checking against an arbitrary |
+ list of non-block renderers and then rejecting anything that isn't a block anyway. |
+ |
+ RenderObject::containingBlock() was very hot (2.0%) when scrolling on youtube.com. |
+ This change takes it down to 1.0% (60% of which is RenderObject::isRenderBlock().) |
+ |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::containingBlock): |
+ |
+2011-12-08 Nayan Kumar K <nayankk@motorola.com> |
+ |
+ Define DEBUG_GL_COMMANDS only in debug builds. |
+ https://bugs.webkit.org/show_bug.cgi?id=74083 |
+ |
+ Reviewed by Noam Rosenthal. |
+ |
+ No tests added as this change does not affect functionality. |
+ |
+ * platform/graphics/opengl/TextureMapperGL.cpp: |
+ |
+2011-12-08 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ CompositeEditCommand should not be kept alive for undo and redo |
+ https://bugs.webkit.org/show_bug.cgi?id=64414 |
+ |
+ Reviewed by Enrica Casucci. |
+ |
+ This patch introduces EditCommandComposition that replaces CompositeEditCommand for |
+ undo and redo purposes. Furthermore, we now keep a list of commands instead of a tree of commands |
+ to unapply and reapply edit commands that composes an undoable action. |
+ |
+ Each top-level CompositeEditCommand holds a ref-pointer to EditCommandComposition, |
+ and applyCommandToComposite adds new SimpleEditCommands to the list. |
+ |
+ * editing/CompositeEditCommand.cpp: |
+ (WebCore::EditCommandComposition::create): |
+ (WebCore::EditCommandComposition::doApply): Never used. |
+ (WebCore::EditCommandComposition::doUnapply): |
+ (WebCore::EditCommandComposition::doReapply): |
+ (WebCore::EditCommandComposition::append): |
+ (WebCore::CompositeEditCommand::~CompositeEditCommand): Add an assertion to ensure we didn't create |
+ a composition for CompositeEditCommands that have parents. |
+ (WebCore::CompositeEditCommand::doUnapply): Never used. |
+ (WebCore::CompositeEditCommand::doReapply): Never used. |
+ (WebCore::CompositeEditCommand::ensureComposition): Creates and attaches a EditCommandComposition. |
+ (WebCore::CompositeEditCommand::applyCommandToComposite): Append a SimpleEditCommand to the composition. |
+ |
+ * editing/CompositeEditCommand.h: |
+ (WebCore::EditCommandComposition::EditCommandComposition): |
+ (WebCore::CompositeEditCommand::composition): |
+ (WebCore::toEditCommandComposition): |
+ (WebCore::toCompositeEditCommand): |
+ |
+ * editing/DeleteButtonController.cpp: Wrap RemoveNodeCommand in RemoveTargetCommand since top level |
+ commands are now required to be a CompositeEditCommand. |
+ (WebCore::RemoveTargetCommand::create): |
+ (WebCore::RemoveTargetCommand::RemoveTargetCommand): |
+ (WebCore::RemoveTargetCommand::doApply): |
+ (WebCore::DeleteButtonController::deleteTarget): |
+ |
+ * editing/EditCommand.cpp: |
+ (WebCore::EditCommand::EditCommand): New constructor; used by EditCommandComposition. |
+ (WebCore::EditCommand::apply): Create a composition for a top-level command. |
+ (WebCore::EditCommand::unapply): Since we clear m_parent of SimpleEditCommand as soon as they are |
+ added to EditCommandComposition, we can't use isTopLevelCommand() to differentiate EditCommandComposition |
+ from SimpleEditCommand. Use isEditCommandComposition() instead. |
+ (WebCore::EditCommand::reapply): Ditto. |
+ (WebCore::compositionIfPossible): |
+ (WebCore::EditCommand::setStartingSelection): Update the starting selection of EditCommandComposition. |
+ (WebCore::EditCommand::setEndingSelection): Ditto. |
+ (WebCore::EditCommand::setParent): Accepts a null pointer in order to avoid keeping a stale pointer in |
+ m_parent inside SimpleEditCommand when CompositeEditCommand goes away. |
+ |
+ * editing/EditCommand.h: |
+ (WebCore::EditCommand::isSimpleEditCommand): |
+ (WebCore::EditCommand::isCompositeEditCommand): |
+ (WebCore::EditCommand::isEditCommandComposition): |
+ (WebCore::EditCommand::parent): |
+ (WebCore::toSimpleEditCommand): |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::appliedEditing): Register a EditCommandComposition, instead of a CompositeEditCommand |
+ to the undo stack. |
+ (WebCore::Editor::unappliedEditing): Unapplied or reapplied commands are now always EditCommandComposition. |
+ (WebCore::Editor::reappliedEditing): |
+ * editing/Editor.h: |
+ |
+2011-12-08 Stephen White <senorblanco@chromium.org> |
+ |
+ Add missing V8 bindings to get CSS_FILTERS to compile in Chromium. |
+ https://bugs.webkit.org/show_bug.cgi?id=74091 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Will be covered by tests in css3/filters (when enabled). |
+ |
+ * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Added. |
+ (WebCore::V8WebKitCSSFilterValue::indexedPropertyGetter): |
+ |
+2011-12-08 Beth Dakin <bdakin@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=73348 |
+ REGRESSION: Assertion when loading a page with a scrollable RenderLayer |
+ -and corresponding- |
+ <rdar://problem/10518918> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ The main problem here is that certain delegate calls into AppKit for overlay |
+ scrollbars can cause AppKit to call back into WebKit looking for more information. |
+ The assertion happens when WebKit tells AppKit that the scroll position has |
+ changed during a layout, and AppKit immediately asks WebKit to convert some |
+ coordinates, and WebKit asserts that you shouldn't do that while a layout is still |
+ happening. It's still possible for AppKit to call this delegate method while a |
+ layout is happening, and we should guard against that. This patch, however, does |
+ not do that. |
+ |
+ This change instead addresses the reason this assertion started happening much |
+ more frequently recently, which is that it recently became true that |
+ notifyPositionChanged() can be called when the position has not changed. To fix |
+ the assertion AND the bug that that change was intended to fix, we can just make |
+ sure that either the position OR the scroll origin has changed before calling |
+ notifyPositionChanged(). |
+ |
+ * platform/mac/ScrollAnimatorMac.mm: |
+ (WebCore::ScrollAnimatorMac::immediateScrollToPoint): |
+ |
+ Call resetScrollOriginChanged() after the scroll instead of before so that we know |
+ whether or not to call notifyPositionChanged(). |
+ * platform/ScrollView.cpp: |
+ (WebCore::ScrollView::updateScrollbars): |
+ |
+2011-12-08 Kaustubh Atrawalkar <kaustubh@motorola.com> |
+ |
+ Fixing support for static conditional overloaded functions. |
+ https://bugs.webkit.org/show_bug.cgi?id=74068 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateImplementation): Pushing "static" keyword after condition "#if". |
+ * bindings/scripts/test/CPP/WebDOMTestObj.cpp: |
+ (WebDOMTestObj::overloadedMethod1): Added newly generated bindings. |
+ * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto. |
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto. |
+ (webkit_dom_test_obj_overloaded_method1): |
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto. |
+ * bindings/scripts/test/JS/JSTestObj.cpp: Ditto. |
+ (WebCore::jsTestObjConstructorFunctionOverloadedMethod11): |
+ (WebCore::jsTestObjConstructorFunctionOverloadedMethod12): |
+ (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): |
+ * bindings/scripts/test/JS/JSTestObj.h: Ditto. |
+ * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto. |
+ * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto. |
+ (-[DOMTestObj overloadedMethod1:]): |
+ * bindings/scripts/test/TestObj.idl: Ditto. |
+ * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. |
+ (WebCore::TestObjInternal::overloadedMethod11Callback): |
+ (WebCore::TestObjInternal::overloadedMethod12Callback): |
+ (WebCore::TestObjInternal::overloadedMethod1Callback): |
+ (WebCore::ConfigureV8TestObjTemplate): |
+ |
+2011-12-08 Andreas Kling <kling@webkit.org> |
+ |
+ Remove EventListenerMap destructor. |
+ <http://webkit.org/b/74096> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Let the compiler generate ~EventListenerMap(). We only needed it when the hash map |
+ was managing raw pointers. |
+ |
+ We're losing the no-iterators assertion from clear() by doing this, but that was |
+ superfluous to begin with - we were just using it to avoid duplicating code. |
+ |
+ * dom/EventListenerMap.cpp: |
+ * dom/EventListenerMap.h: |
+ |
+2011-12-08 Takashi Toyoshima <toyoshim@chromium.org> |
+ |
+ Provide more specific error description for SocketStreamError. |
+ https://bugs.webkit.org/show_bug.cgi?id=74066 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ No new tests because this change just improve error messages for unexpected failures. |
+ |
+ * platform/network/soup/SocketStreamError.h: Add an argument for passing error description. |
+ (WebCore::SocketStreamError::SocketStreamError): |
+ * platform/network/soup/SocketStreamHandleSoup.cpp: Add error description for SocketStreamError. |
+ (WebCore::SocketStreamHandle::connected): |
+ (WebCore::SocketStreamHandle::readBytes): |
+ (WebCore::SocketStreamHandle::platformSend): |
+ (WebCore::SocketStreamHandle::platformClose): |
+ |
+2011-12-08 Mihnea Ovidenie <mihnea@adobe.com> |
+ |
+ [CSSRegions][CSSOM] Implement NamedFlow interface |
+ https://bugs.webkit.org/show_bug.cgi?id=66642 |
+ |
+ Reviewed by David Hyatt. |
+ |
+ Add WebKitNamedFlow to support the NamedFlow interface. No methods are |
+ yet implemented on this interface. The NamedFlow object is a live object. |
+ The first time user asks for it, it gets a valid JS object whose properties |
+ will reflect the changes to the flow thread. |
+ |
+ Tests: fast/regions/webkit-named-flow-existing-flow.html |
+ fast/regions/webkit-named-flow-flow-added.html |
+ fast/regions/webkit-named-flow-modified-flow.html |
+ fast/regions/webkit-named-flow-non-existing-flow.html |
+ fast/regions/webkit-named-flow-removed-flow.html |
+ fast/regions/webkit-named-flow-same-object.html |
+ |
+ * CMakeLists.txt: |
+ * DerivedSources.cpp: |
+ * DerivedSources.make: |
+ * DerivedSources.pri: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/gobject/GNUmakefile.am: |
+ * dom/DOMAllInOne.cpp: |
+ * dom/Document.cpp: |
+ (WebCore::Document::webkitGetFlowByName): |
+ * dom/Document.h: |
+ * dom/Document.idl: |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded): |
+ * dom/WebKitNamedFlow.cpp: Added. |
+ (WebCore::WebKitNamedFlow::WebKitNamedFlow): |
+ (WebCore::WebKitNamedFlow::~WebKitNamedFlow): |
+ * dom/WebKitNamedFlow.h: Added. |
+ (WebCore::WebKitNamedFlow::create): |
+ * dom/WebKitNamedFlow.idl: Added. |
+ * rendering/RenderFlowThread.cpp: |
+ (WebCore::RenderFlowThread::ensureNamedFlow): |
+ * rendering/RenderFlowThread.h: |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::createObject): |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::ensureRenderFlowThreadWithName): |
+ * rendering/RenderView.h: |
+ |
+2011-12-08 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r102321. |
+ http://trac.webkit.org/changeset/102321 |
+ https://bugs.webkit.org/show_bug.cgi?id=74072 |
+ |
+ "Breaks all Chromium clobbered builds" (Requested by apavlov_ |
+ on #webkit). |
+ |
+ * WebCore.gyp/WebCore.gyp: |
+ * WebCore.gyp/scripts/action_derivedsourcesallinone.py: |
+ (main): |
+ * WebCore.gypi: |
+ * bindings/scripts/generate-bindings.pl: |
+ * page/DOMWindow.idl: |
+ * webaudio/DOMWindowWebAudio.idl: Removed. |
+ |
+2011-12-08 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Refactoring: Editor::requestCheckingFor should take SpellCheckRequest object. |
+ https://bugs.webkit.org/show_bug.cgi?id=74033 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ SpellChecker::requestCheckingFor takes SpellCheckRequest object in order to make it easy to |
+ pass necessary information to requestCheckingFor. |
+ |
+ No new tests. Covered by existing tests. |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::replaceSelectionWithFragment): |
+ Uses the new interface. |
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto. |
+ * editing/SpellChecker.cpp: |
+ (WebCore::SpellCheckRequest::SpellCheckRequest): |
+ (WebCore::SpellCheckRequest::~SpellCheckRequest): |
+ (WebCore::SpellCheckRequest::create): |
+ Creates a new SpellCheckRequest object. |
+ (WebCore::SpellChecker::requestCheckingFor): |
+ Uses the new interface. |
+ (WebCore::SpellChecker::didCheck): |
+ * editing/SpellChecker.h: |
+ (WebCore::SpellCheckRequest::setSequence): |
+ (WebCore::SpellCheckRequest::sequence): |
+ (WebCore::SpellCheckRequest::checkingRange): |
+ (WebCore::SpellCheckRequest::paragraphRange): |
+ (WebCore::SpellCheckRequest::text): |
+ (WebCore::SpellCheckRequest::mask): |
+ (WebCore::SpellCheckRequest::rootEditableElement): |
+ |
+2011-12-08 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r102323. |
+ http://trac.webkit.org/changeset/102323 |
+ https://bugs.webkit.org/show_bug.cgi?id=74069 |
+ |
+ Caused Chromium and GTK build failure (Requested by bashi on |
+ #webkit). |
+ |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::getPageScaleFactor): |
+ * testing/Internals.h: |
+ * testing/Internals.idl: |
+ |
+2011-12-08 Fady Samuel <fsamuel@chromium.org> |
+ |
+ Move scalePageBy from eventSender to window.internals |
+ https://bugs.webkit.org/show_bug.cgi?id=64512 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Added setPageScaleFactor to window.internals. |
+ Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor |
+ to match the webkit style. |
+ |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::pageScaleFactor): |
+ (WebCore::Internals::setPageScaleFactor): |
+ * testing/Internals.h: |
+ * testing/Internals.idl: |
+ |
+2011-12-08 Kentaro Hara <haraken@chromium.org> |
+ |
+ Use the [Supplemental] IDL for webaudio attributes in Chromium |
+ https://bugs.webkit.org/show_bug.cgi?id=73394 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ - Overview: Using the [Supplemental] IDL, this patch moves the attribute |
+ declarations of webaudio from DOMWindow.idl into a new IDL file |
+ webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained |
+ feature (aka a module). |
+ |
+ - This patch changes the build flow of WebCore.gyp as follows: |
+ |
+ Previous build flow: |
+ foreach $idl (all IDL files) { |
+ generate-bindings.pl depends on $idl; |
+ generate-bindings.pl reads $idl; |
+ generate-bindings.pl generates .h and .cpp files for $idl; |
+ } |
+ |
+ New build flow (See the discussions in bug 72138 for more details): |
+ resolve-supplemental.pl depends on all IDL files; |
+ resolve-supplemental.pl reads all IDL files; |
+ resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX]; |
+ resolve-supplemental.pl outputs supplemental_dependency.tmp; |
+ foreach $idl (all IDL files) { |
+ generate-bindings.pl depends on $idl and supplemental_dependency.tmp; |
+ generate-bindings.pl reads $idl; |
+ generate-bindings.pl reads supplemental_dependency.tmp; |
+ generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl; |
+ } |
+ |
+ - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL |
+ will be removed after build scripts for all platforms support the [Supplemental] IDL. |
+ The motivation for the [Supplemented] IDL is as follows: |
+ |
+ In order to support the [Supplemental] IDL, we need to |
+ (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp |
+ (2) and run generate-bindings.pl with the supplemental_dependency.tmp. |
+ |
+ This build flow requires a change on the following build scripts, |
+ but changing all the build scripts all at once without any regression is too difficult: |
+ |
+ - DerivedSources.make |
+ - DerivedSources.pri |
+ - GNUmakefile.am |
+ - PlatformBlackBerry.cmake |
+ - UseJSC.cmake |
+ - UseV8.cmake |
+ - WebCore.vcproj/MigrateScripts |
+ - WebCore.vcproj/WebCore.vcproj |
+ - bindings/gobject/GNUmakefile.am |
+ - WebCore.gyp/WebCore.gyp |
+ |
+ Thus, we are planning to change the build scripts one by one, which implies that |
+ we need to allow the temporary state in which some build scripts support [Supplemental] IDL |
+ but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented]. |
+ The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental] |
+ in another IDL file somewhere, like this: |
+ |
+ DOMWindowWebAudio.idl: |
+ interface [ |
+ Supplemental=DOMWindow |
+ ] DOMWindowWebAudio { |
+ attribute attr1; |
+ attribute attr2; |
+ }; |
+ |
+ DOMWindow.idl: |
+ interface [ |
+ ] DOMWindow { |
+ attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL |
+ attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL. |
+ attribute attr3; |
+ attribute attr4; |
+ }; |
+ |
+ Assuming these IDL files, this patch implements the following logic in generate-bindings.pl: |
+ |
+ - If a given build script supports the [Supplemental] IDL, |
+ generate-bindings.pl ignores all attributes with the [Supplemented] IDL. |
+ - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL |
+ as normal attributes and instead ignores all attributes with the [Supplemental] IDL |
+ (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL). |
+ |
+ Tests: webaudio/* |
+ |
+ * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above. |
+ * WebCore.gyp/scripts/action_derivedsourcesallinone.py: |
+ (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command. |
+ * WebCore.gypi: Added DOMWindowWebAudio.idl. |
+ * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL. |
+ * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL. |
+ * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl. |
+ |
+2011-12-07 Yosifumi Inoue <yosin@chromium.org> |
+ |
+ CSS color gets adjusted for disabled input elements |
+ https://bugs.webkit.org/show_bug.cgi?id=54643 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ No new tests. covered by existing tests. Need rebasing some existing tests for Chromimum. |
+ |
+ Remove automatic color adjustment for disabled text control for Chromimum. |
+ |
+ * css/themeChromium.css: Add CSS entries for default style for disabled input and textarea elements. |
+ * WebCore/rendering/RenderTextControl.cpp: |
+ (disabledTextColor): Removed for PLATFORM(CHROMIUM) |
+ (RenderTextControl::adjustInnerTextStyle): Don't call disabledTextColor for Chromium. |
+ |
2011-12-07 Dmitry Lomov <dslomov@google.com> |
https://bugs.webkit.org/show_bug.cgi?id=74038 |
@@ -20,8 +843,1264 @@ |
(WebCore::isLegacyTargetOriginDesignation): |
(WebCore::handlePostMessageCallback): |
+2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn> |
+ |
+ Upstream 4 files into WebCore/platform/blackberry |
+ https://bugs.webkit.org/show_bug.cgi?id=73541 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ Initial upstream of BlackBerry porting of PlatformScreen/ |
+ SSLKeyGenerator/Sound/Widget, no new tests. |
+ |
+ * PlatformBlackBerry.cmake: Modified to remove empty file "WheelEventBlackBerry.cpp" |
+ * platform/blackberry/PlatformScreenBlackBerry.cpp: Added. |
+ (WebCore::screenIsMonochrome): |
+ (WebCore::screenDepthPerComponent): |
+ (WebCore::screenDepth): |
+ (WebCore::screenAvailableRect): |
+ (WebCore::screenRect): |
+ * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp: Added. |
+ (WebCore::getSupportedKeySizes): |
+ (WebCore::signedPublicKeyAndChallengeString): |
+ * platform/blackberry/SoundBlackBerry.cpp: Added. |
+ (WebCore::systemBeep): |
+ * platform/blackberry/WidgetBlackBerry.cpp: Added. |
+ (WebCore::Widget::Widget): |
+ (WebCore::Widget::~Widget): |
+ (WebCore::Widget::hide): |
+ (WebCore::Widget::paint): |
+ (WebCore::Widget::setCursor): |
+ (WebCore::Widget::setFocus): |
+ (WebCore::Widget::setFrameRect): |
+ (WebCore::Widget::setIsSelected): |
+ (WebCore::Widget::show): |
+ (WebCore::Widget::frameRect): |
+ |
+2011-12-07 Kenichi Ishibashi <bashi@chromium.org> |
+ |
+ Refactor CSSParser::parseFontFaceSrc() |
+ https://bugs.webkit.org/show_bug.cgi?id=73989 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Test: fast/css/font-face-src-parsing.html |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseFontFaceSrcURI): Added. |
+ (WebCore::CSSParser::parseFontFaceSrcLocal): Added. |
+ (WebCore::CSSParser::parseFontFaceSrc): Rewrote. |
+ * css/CSSParser.h: |
+ |
+2011-12-07 Xingnan Wang <xingnan.wang@intel.com> |
+ |
+ Implement the SSE optimization in SincResampler::process() |
+ https://bugs.webkit.org/show_bug.cgi?id=73789 |
+ |
+ Reviewed by Benjamin Poulain. |
+ |
+ Here is about 70% performance improvement on the hot spot of sample convolving. |
+ |
+ * platform/audio/SincResampler.cpp: |
+ |
+2011-12-07 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Implement border image source properties in CSSStyleApplyProperty. |
+ https://bugs.webkit.org/show_bug.cgi?id=73981 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ No new tests / refactoring only. |
+ |
+ * css/CSSStyleApplyProperty.cpp: |
+ (WebCore::ApplyPropertyBorderImageSource::applyValue): |
+ (WebCore::ApplyPropertyBorderImageSource::createHandler): |
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ |
+2011-12-07 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ WebPImageDecoder should not do a full image decode if progressive decoding is active |
+ https://bugs.webkit.org/show_bug.cgi?id=74041 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ If the decoder input data state reaches allDataReceived during a progressive image |
+ decode, the decoder performs a full image decode. |
+ |
+ On allDataReceived, check if we already have a decoder, and if so, continue to run |
+ the progressive decoder. |
+ |
+ No new tests. No change in behavior. |
+ |
+ * platform/image-decoders/webp/WEBPImageDecoder.cpp: |
+ (WebCore::WEBPImageDecoder::decode): |
+ |
+2011-12-07 Alexandre Elias <aelias@google.com> |
+ |
+ [chromium] Add page-scale animation support to Impl thread |
+ https://bugs.webkit.org/show_bug.cgi?id=72996 |
+ |
+ Reviewed by James Robinson. |
+ |
+ This adds a new math helper class to compute the progress of the |
+ animation, and code in the CCLayerTreeHostImpl to apply the animation |
+ frame by frame. |
+ |
+ No new tests. (https://bugs.webkit.org/show_bug.cgi?id=71529 filed.) |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/cc/CCInputHandler.h: |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::animate): |
+ (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation): |
+ (WebCore::CCLayerTreeHostImpl::processScrollDeltas): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
+ * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Added. |
+ (WebCore::CCPageScaleAnimation::CCPageScaleAnimation): |
+ (WebCore::CCPageScaleAnimation::initialize): |
+ (WebCore::CCPageScaleAnimation::zoomTo): |
+ (WebCore::CCPageScaleAnimation::zoomWithAnchor): |
+ (WebCore::CCPageScaleAnimation::zoomElsewhere): |
+ (WebCore::CCPageScaleAnimation::scrollOffsetAtTime): |
+ (WebCore::CCPageScaleAnimation::pageScaleAtTime): |
+ (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime): |
+ (WebCore::CCPageScaleAnimation::progressRatioForTime): |
+ (WebCore::CCPageScaleAnimation::scrollOffsetAtRatio): |
+ (WebCore::CCPageScaleAnimation::pageScaleAtRatio): |
+ * platform/graphics/chromium/cc/CCPageScaleAnimation.h: Added. |
+ (WebCore::CCPageScaleAnimation::startTime): |
+ (WebCore::CCPageScaleAnimation::duration): |
+ (WebCore::CCPageScaleAnimation::endTime): |
+ (WebCore::CCPageScaleAnimation::finalScrollOffset): |
+ (WebCore::CCPageScaleAnimation::finalPageScale): |
+ |
+2011-12-07 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Editor::markAndReplaceFor should take Range instead of TextCheckingParagraph. |
+ https://bugs.webkit.org/show_bug.cgi?id=74035 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Editor::markAndReplaceFor takes chekcing range and paragraph range instead of |
+ spelling paragraph and grammar paragraph. |
+ |
+ No new tests. Covered by existing tests. |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): |
+ (WebCore::Editor::markAndReplaceFor): |
+ * editing/Editor.h: |
+ * editing/TextCheckingHelper.cpp: |
+ (WebCore::TextCheckingParagraph::TextCheckingParagraph): |
+ * editing/TextCheckingHelper.h: |
+ |
+2011-12-07 Ami Fischman <fischman@chromium.org> |
+ |
+ Force LTR layout for media controls even in RTL documents. |
+ https://bugs.webkit.org/show_bug.cgi?id=74024 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Test: media/controls-layout-direction.html |
+ |
+ * css/mediaControls.css: |
+ (::-webkit-media-controls): |
+ |
+2011-12-07 Mark Pilgrim <pilgrim@chromium.org> |
+ |
+ [FileSystem API] requestFileSystem successCallback is required |
+ https://bugs.webkit.org/show_bug.cgi?id=69637 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ * page/DOMWindow.idl: remove [Optional] flag from successCallback parameter |
+ |
+2011-12-07 Leo Yang <leo.yang@torchmobile.com.cn> |
+ |
+ Upstream the BlackBerry porting of network Resource |
+ https://bugs.webkit.org/show_bug.cgi?id=73388 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ Other main contributors: |
+ Joe Mason <jmason@rim.com> |
+ Yong Li <yoli@rim.com> |
+ Gary Simmons <gsimmons@rim.com> |
+ Genevieve Mak <gmak@rim.com> |
+ Chris Guan <chris.guan@torchmobile.com.cn> |
+ Mike Lattanzio <mlattanzio@rim.com> |
+ |
+ Initial upstream, can't be built yet, no new tests. |
+ |
+ * platform/network/blackberry/ResourceError.h: Added. |
+ * platform/network/blackberry/ResourceErrorBlackBerry.cpp: Added. |
+ * platform/network/blackberry/ResourceHandleBlackBerry.cpp: Added. |
+ * platform/network/blackberry/ResourceRequest.h: Added. |
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp: Added. |
+ * platform/network/blackberry/ResourceResponse.h: Added. |
+ * platform/network/blackberry/ResourceResponseBlackBerry.cpp: Added. |
+ |
+2011-12-07 Fady Samuel <fsamuel@chromium.org> |
+ |
+ [Chromium] Plumb DPI info into PlatformScreen |
+ https://bugs.webkit.org/show_bug.cgi?id=70556 |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ Make DPI information accessible from WebKit through |
+ PlatformScreen. This is useful when making scaling |
+ computations on various devices (e.g. Viewport meta tag). |
+ |
+ This patch adds DPI plumbing on Chromium Win/Mac/Linux |
+ platforms. |
+ |
+ * page/Screen.cpp: |
+ (WebCore::Screen::horizontalDPI): |
+ (WebCore::Screen::verticalDPI): |
+ * page/Screen.h: |
+ * platform/PlatformScreen.h: |
+ * platform/chromium/PlatformScreenChromium.cpp: |
+ (WebCore::screenHorizontalDPI): |
+ (WebCore::screenVerticalDPI): |
+ * platform/chromium/PlatformSupport.h: |
+ * platform/efl/PlatformScreenEfl.cpp: |
+ (WebCore::screenHorizontalDPI): |
+ (WebCore::screenVerticalDPI): |
+ * platform/gtk/PlatformScreenGtk.cpp: |
+ (WebCore::screenHorizontalDPI): |
+ (WebCore::screenVerticalDPI): |
+ * platform/mac/PlatformScreenMac.mm: |
+ (WebCore::screenHorizontalDPI): |
+ (WebCore::screenVerticalDPI): |
+ * platform/qt/PlatformScreenQt.cpp: |
+ (WebCore::screenHorizontalDPI): |
+ (WebCore::screenVerticalDPI): |
+ * platform/win/PlatformScreenWin.cpp: |
+ (WebCore::screenHorizontalDPI): |
+ (WebCore::screenVerticalDPI): |
+ |
+2011-12-07 Aaron Colwell <acolwell@chromium.org> |
+ |
+ Revert mixed content handling for video fix and follow-up test expectations & Skipped changes. |
+ (r101883, r101918, r101927, r101981, r101986, r101997) |
+ https://bugs.webkit.org/show_bug.cgi?id=72178 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ * loader/SubresourceLoader.cpp: |
+ (WebCore::SubresourceLoader::willSendRequest): |
+ * loader/cache/CachedRawResource.cpp: |
+ * loader/cache/CachedRawResource.h: |
+ * loader/cache/CachedResource.cpp: |
+ (WebCore::defaultPriorityForResourceType): |
+ (WebCore::cachedResourceTypeToTargetType): |
+ * loader/cache/CachedResource.h: |
+ * loader/cache/CachedResourceLoader.cpp: |
+ (WebCore::createResource): |
+ (WebCore::CachedResourceLoader::checkInsecureContent): |
+ (WebCore::CachedResourceLoader::canRequest): |
+ (WebCore::CachedResourceLoader::requestResource): |
+ |
+2011-12-07 Ryuan Choi <ryuan.choi@samsung.com> |
+ |
+ [EFL] Introduce AssertMatchingEnums.cpp. |
+ https://bugs.webkit.org/show_bug.cgi?id=65238 |
+ |
+ Reviewed by Filip Pizlo. |
+ |
+ Remove switch statement which convert EWK_TOUCH_PointType enum values to |
+ WebCore::PlatformTouchPoint::State enum values. |
+ Newly added AssertMatchingEnums.cpp assure that they are equal. |
+ |
+ No new tests, no new functionality. |
+ |
+ * platform/efl/PlatformTouchEventEfl.cpp: |
+ (WebCore::PlatformTouchEvent::PlatformTouchEvent): |
+ |
+2011-12-07 Shawn Singh <shawnsingh@chromium.org> |
+ |
+ [chromium] Clearing root surface should happen after damage tracking |
+ https://bugs.webkit.org/show_bug.cgi?id=73958 |
+ |
+ Reviewed by James Robinson. |
+ |
+ No new semantics, covered by existing layout tests. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::clearSurfaceForDebug): |
+ (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces): |
+ (WebCore::LayerRendererChromium::drawLayersInternal): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ |
+2011-12-07 Florin Malita <fmalita@google.com> |
+ |
+ <li value="0"> behaves like <li> (the same for negative numbers) |
+ https://bugs.webkit.org/show_bug.cgi?id=73911 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ Allow LI values <= 0 and consolidate the value processing logic. |
+ |
+ * html/HTMLLIElement.cpp: |
+ (WebCore::HTMLLIElement::parseMappedAttribute): |
+ Delegated value parsing to parseValue(). |
+ |
+ (WebCore::HTMLLIElement::attach): |
+ Ditto. Explicit value null testing is no longer necessary, |
+ as parseValue's toInt() performs an equivalent check. |
+ |
+ (WebCore::HTMLLIElement::parseValue): |
+ Consolidated value parsing logic. |
+ |
+ * html/HTMLLIElement.h: |
+ |
+2011-12-07 Joshua Bell <jsbell@chromium.org> |
+ |
+ IndexedDB: Replace bool args in IDBKeyRange private methods with enum |
+ https://bugs.webkit.org/show_bug.cgi?id=70743 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ No new tests - no functional changes. |
+ |
+ * storage/IDBKeyRange.cpp: |
+ (WebCore::IDBKeyRange::IDBKeyRange): |
+ (WebCore::IDBKeyRange::bound): |
+ * storage/IDBKeyRange.h: |
+ (WebCore::IDBKeyRange::create): |
+ (WebCore::IDBKeyRange::lowerOpen): |
+ (WebCore::IDBKeyRange::upperOpen): |
+ |
+2011-12-07 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r102267. |
+ http://trac.webkit.org/changeset/102267 |
+ https://bugs.webkit.org/show_bug.cgi?id=74032 |
+ |
+ Breaks build on Chromium Mac Debug (Requested by aklein on |
+ #webkit). |
+ |
+ * dom/ChildListMutationScope.cpp: |
+ (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded): |
+ (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild): |
+ (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel): |
+ (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::decrementScopingLevel): |
+ |
+2011-12-07 Kentaro Hara <haraken@chromium.org> |
+ |
+ REGRESSION (r95249): Right side can be truncated when printing |
+ https://bugs.webkit.org/show_bug.cgi?id=73868 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ When we print a page with an overflowed width, the right side of the page |
+ can be truncated. This is due to a wrong rendering calculation. |
+ Since 'maximumShrinkFactor' is a ratio based on 'pageSize', |
+ 'maximumShrinkFactor' should multiply (not 'originalPageSize') but 'pageSize'. |
+ This bug happens if all the following conditions are met: |
+ - pageLogicalWidth < docLogicalWidth |
+ - originalPageSize.width * maximumShrinkFactor < docLogicalWidth |
+ - docLogicalWidth < pageLogicalWidth * maximumShrinkFactor |
+ |
+ Test: printing/width-overflow.html |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::forceLayoutForPagination): |
+ |
+2011-12-07 Yong Li <yoli@rim.com> |
+ |
+ Defer ScriptExecutionContext::Task's in Document when page loading is deferred. |
+ Schedule them with timer when page loading is resumed. The tasks will be performed |
+ in the original order. This fixes the problem that database callbacks could be missed |
+ when page loading was deferred. |
+ https://bugs.webkit.org/show_bug.cgi?id=49401 |
+ |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Manual test added: ManualTests/database-callback-deferred.html. |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ (WebCore::Document::didReceiveTask): |
+ (WebCore::Document::postTask): |
+ (WebCore::Document::pendingTasksTimerFired): |
+ (WebCore::Document::suspendScheduledTasks): |
+ (WebCore::Document::resumeScheduledTasks): |
+ * dom/Document.h: |
+ * page/PageGroupLoadDeferrer.cpp: |
+ (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): |
+ (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): |
+ |
+2011-12-07 Andreas Kling <kling@webkit.org> |
+ |
+ RenderObject::style(): Inline early-return condition. |
+ <http://webkit.org/b/74019> |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ style() was very hot (6.1%) when scrolling around on youtube.com, |
+ and 100% of the calls were taking the early return path. |
+ |
+ Inlined the !isRenderFlowThread() check and renamed the function to |
+ styleSlowCase(). |
+ |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::styleSlowCase): |
+ * rendering/RenderObject.h: |
+ (WebCore::RenderObject::style): |
+ |
+2011-12-07 Adam Klein <adamk@chromium.org> |
+ |
+ Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope |
+ https://bugs.webkit.org/show_bug.cgi?id=73964 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ No new tests, refactoring only. |
+ |
+ * dom/ChildListMutationScope.cpp: |
+ (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded): |
+ (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild): |
+ (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel): |
+ (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel): |
+ |
+2011-12-07 Andreas Kling <kling@webkit.org> |
+ |
+ RenderLayer::updateZOrderLists(): Inline early-return condition. |
+ <http://webkit.org/b/74013> |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com, |
+ and 85% of the calls were taking the early return path. |
+ |
+ Inlined the two checks for the early return and renamed the function |
+ to updateZOrderListsSlowCase(). Also reversed their order to avoid the |
+ virtual call (RenderObject::isRenderView()) if possible. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::updateZOrderListsSlowCase): |
+ * rendering/RenderLayer.h: |
+ (WebCore::RenderLayer::updateZOrderLists): |
+ |
+2011-12-07 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r102244. |
+ http://trac.webkit.org/changeset/102244 |
+ https://bugs.webkit.org/show_bug.cgi?id=74016 |
+ |
+ caused debug test timeouts (Requested by simonjam on #webkit). |
+ |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::putImageData): |
+ (WebCore::ImageBuffer::putUnmultipliedImageData): |
+ (WebCore::ImageBuffer::putPremultipliedImageData): |
+ |
+2011-12-07 Adam Klein <adamk@chromium.org> |
+ |
+ Layout Test inspector/debugger/dom-breakpoints.html fails on chromium linux debug with ENABLE(MUTATION_OBSERVERS) |
+ https://bugs.webkit.org/show_bug.cgi?id=73919 |
+ |
+ Reviewed by Ojan Vafai. |
+ |
+ Use StyleAttributeMutationScope to manage DOM breakpoints for style property changes. |
+ |
+ Instead of calling InspectorInstrumentation::didInvalidateStyleAttr() |
+ directly in setNeedsStyleRecalc, set a bool in the current |
+ StyleAttributeMutationScope, and delay the call until the scope's |
+ counter runs down to zero. This keeps the inspector JS from re-entering |
+ CSSMutableStyleDeclaration until all StyleAttributeMutationScope work is done. |
+ |
+ Also fix a small bug in StyleAttributeMutationScope, where |
+ s_shouldDeliver wasn't getting reset properly to false. |
+ |
+ * css/CSSMutableStyleDeclaration.cpp: |
+ (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): |
+ |
+2011-12-07 Ken Buchanan <kenrb@chromium.org> |
+ |
+ Crash from multicol spans with layers |
+ https://bugs.webkit.org/show_bug.cgi?id=68030 |
+ |
+ Reviewed by David Hyatt. |
+ |
+ The layer tree diverges from the render tree when a span is being split |
+ between columns. This patch causes the layer tree to be updated when necessary. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::splitFlow) |
+ (WebCore::RenderBlock::splitBlocks) |
+ |
+2011-12-07 Alexey Proskuryakov <ap@apple.com> |
+ |
+ Handling of !important in inline style sets is broken |
+ https://bugs.webkit.org/show_bug.cgi?id=73941 |
+ |
+ Reviewed by Dave Hyatt. |
+ |
+ This behavior was introduced in bug 8223 to match IE and Firefox. But it doesn't appear that we're matching |
+ any browser today, and CSSOM spec agrees with them. |
+ |
+ * WebCore.exp.in: Don't export CSSStyleDeclaration::setProperty(), no one is using it. |
+ |
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::putDelegate): Use regular |
+ setProperty(), not the incorrect version that's being removed. Properties set via IDL attributes are never |
+ important. |
+ |
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: (WebCore::V8CSSStyleDeclaration::namedPropertySetter): |
+ Made the same fix for v8. Why did v8 bindings authors copy/paste the code?! |
+ |
+ * css/CSSStyleDeclaration.cpp: |
+ * css/CSSStyleDeclaration.h: |
+ Removed a version of setProperty() that attempted to parse the value and extract !important from it. |
+ |
+ * html/ImageDocument.cpp: |
+ (WebCore::ImageDocument::resizeImageToFit): |
+ (WebCore::ImageDocument::restoreImageSize): |
+ (WebCore::ImageDocument::windowSizeChanged): |
+ * page/DragController.cpp: |
+ (WebCore::DragController::concludeEditDrag): |
+ We never needed to use this version of setProperty() here, it was just unnecessarily slower. |
+ |
+2011-12-07 Xianzhu Wang <wangxianzhu@chromium.org> |
+ |
+ In FontCacheAndroid.cpp should keep the pointer valid returned from CString::data() |
+ https://bugs.webkit.org/show_bug.cgi?id=73849 |
+ |
+ The changed code has been covered by many existing layout tests. |
+ |
+ Reviewed by Adam Barth. |
+ |
+ * platform/graphics/chromium/FontCacheAndroid.cpp: |
+ (WebCore::FontCache::createFontPlatformData): |
+ |
+2011-12-07 Xiaomei Ji <xji@chromium.org> |
+ |
+ Turn on move caret by word visually for Windows platform. |
+ https://bugs.webkit.org/show_bug.cgi?id=59652 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ We already support (arrow key) moving cursor by character in visual order. |
+ This patch implements (ctrl/alt-arrow) moving cursor by word in visual order (in Windows). |
+ It matches Firefox's default behavior. |
+ |
+ Without this patch, ctrl(alt for mac)-arrow key or |
+ selection.modify("move", "left"/"right", "word") moves cursor by word in logical order. |
+ |
+ IE implements moving cursor by logical order for both arrow key and ctrl-arrow key. |
+ Firefox implements moving cursor by visual order for both operations. |
+ From Chromium bug report, native speakers would like moving cursor by visual order since it |
+ is more intuitive. |
+ |
+ The patch is only enabled for Windows (by EditingBehavior) because current implementation |
+ matches Windows' native behavior. |
+ For exmaple, if the logical text is "abc def hij", the cursor positions are |
+ "|abc |def |hij|" no matter pressing ctrl-left-arrow or ctrl-right-arrow. |
+ |
+ Mac and Linux's native behavior is slightly different. In which, when pressing |
+ ctrl-left-arrow, the cursor positions are "|abc |def |hij|". When pressing ctrl-right-arrow, |
+ the cursor positions are "|abc| def| hij|". We will implement it next. |
+ |
+ Test: editing/selection/move-left-right-by-word-mac.html |
+ |
+ * editing/EditingBehavior.h: |
+ (WebCore::EditingBehavior::shouldMoveLeftRightByWordInVisualOrder): |
+ * editing/FrameSelection.cpp: Remove experimental enum WebKitVisualWordGranularity. |
+ (WebCore::FrameSelection::modifyExtendingRight): |
+ (WebCore::FrameSelection::modifyExtendingForward): |
+ (WebCore::FrameSelection::modifyMovingRight): |
+ (WebCore::FrameSelection::modifyMovingForward): |
+ (WebCore::FrameSelection::modifyExtendingLeft): |
+ (WebCore::FrameSelection::modifyExtendingBackward): |
+ (WebCore::FrameSelection::modifyMovingLeft): |
+ (WebCore::FrameSelection::modifyMovingBackward): |
+ * editing/TextGranularity.h: Remove experimental enum WebKitVisualWordGranularity. |
+ * editing/VisibleSelection.cpp: Remove experimental enum WebKitVisualWordGranularity. |
+ (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): |
+ * page/DOMSelection.cpp: Remove experimental experimental flag -webkit-visual-word. |
+ (WebCore::DOMSelection::modify): |
+ |
+2011-12-07 Jonathan Backer <backer@chromium.org> |
+ |
+ [chromium] Plumb damage from WebExternalTextureLayer and WebPluginContainer to CCDamageTracker |
+ https://bugs.webkit.org/show_bug.cgi?id=73485 |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ * platform/graphics/chromium/PluginLayerChromium.cpp: |
+ (WebCore::PluginLayerChromium::updateCompositorResources): |
+ (WebCore::PluginLayerChromium::invalidateRect): |
+ * platform/graphics/chromium/PluginLayerChromium.h: |
+ |
+2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn> |
+ |
+ Upstream 5 files into WebCore/platform/blackberry |
+ https://bugs.webkit.org/show_bug.cgi?id=73632 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ Initial upstream, no new tests. |
+ |
+ * PlatformBlackBerry.cmake: Remove two empty files from build list. |
+ * platform/blackberry/PopupMenuBlackBerry.cpp: Added. |
+ (WebCore::PopupMenuBlackBerry::PopupMenuBlackBerry): |
+ (WebCore::PopupMenuBlackBerry::~PopupMenuBlackBerry): |
+ (WebCore::PopupMenuBlackBerry::show): |
+ (WebCore::PopupMenuBlackBerry::hide): |
+ (WebCore::PopupMenuBlackBerry::updateFromElement): |
+ (WebCore::PopupMenuBlackBerry::disconnectClient): |
+ * platform/blackberry/PopupMenuBlackBerry.h: Added. |
+ (WebCore::PopupMenuBlackBerry::client): |
+ * platform/blackberry/ScrollbarThemeBlackBerry.cpp: Added. |
+ (WebCore::ScrollbarTheme::nativeTheme): |
+ * platform/blackberry/SearchPopupMenuBlackBerry.cpp: Added. |
+ (WebCore::SearchPopupMenuBlackBerry::SearchPopupMenuBlackBerry): |
+ (WebCore::SearchPopupMenuBlackBerry::popupMenu): |
+ (WebCore::SearchPopupMenuBlackBerry::enabled): |
+ (WebCore::SearchPopupMenuBlackBerry::saveRecentSearches): |
+ (WebCore::SearchPopupMenuBlackBerry::loadRecentSearches): |
+ * platform/blackberry/SearchPopupMenuBlackBerry.h: Added. |
+ |
+2011-12-07 Dan Bernstein <mitz@apple.com> |
+ |
+ Fixed the definition of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING from r102246. |
+ |
+ * platform/mac/ThemeMac.mm: Added parentheses. |
+ |
+2011-12-07 Dan Bernstein <mitz@apple.com> |
+ |
+ <rdar://problem/10542095> Focus rings are not drawn around push buttons, radio buttons and checkboxes |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Instead of relying on -setShowsFirstResponder: to make -drawWithFrame:inView: draw the focus |
+ ring, use -drawFocusRingMaskWithFrame:inView:. |
+ |
+ * platform/mac/ThemeMac.mm: |
+ (-[NSCell _web_drawFocusRingWithFrame:inView:]): Added. Sets up the focus ring style and a |
+ transparency layer, then uses -drawFocusRingMaskWithFrame:inView: to draw the focus ring. |
+ (WebCore::updateStates): Eliminated calls to get and set showsFirstResponder. |
+ (WebCore::paintCheckbox): Changed to use -_web_drawFocusRingWithFrame:inView:. |
+ (WebCore::paintRadio): Ditto. |
+ (WebCore::paintButton): Ditto. |
+ |
+2011-12-07 Brian Salomon <bsalomon@google.com> |
+ |
+ [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer |
+ https://bugs.webkit.org/show_bug.cgi?id=73953 |
+ |
+ Reviewed by Stephen White. |
+ |
+ Tested by existing canvas2d layout tests. |
+ |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::putImageData): |
+ (WebCore::ImageBuffer::putUnmultipliedImageData): |
+ (WebCore::ImageBuffer::putPremultipliedImageData): |
+ |
+2011-12-07 Andreas Kling <kling@webkit.org> |
+ |
+ Micro-optimize ScrollView::visibleContentRect(). |
+ <http://webkit.org/b/74001> |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ Reorder the scrollbar exclusion code to minimize the number of virtual calls |
+ to ScrollableArea::verticalScrollbar(), ScrollableArea::horizontalScrollbar() |
+ and Scrollbar::isOverlayScrollbar(). |
+ |
+ * platform/ScrollView.cpp: |
+ (WebCore::ScrollView::visibleContentRect): |
+ |
+2011-12-07 Andreas Kling <kling@webkit.org> |
+ |
+ ApplyPropertyBorderImage: Remove unneeded template argument for mapNinePieceImage(). |
+ <http://webkit.org/b/73998> |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Have ApplyPropertyBorderImage call mapNinePieceImage() directly now that it's |
+ public (instead of passing it as a template argument.) |
+ |
+ * css/CSSStyleApplyProperty.cpp: |
+ (WebCore::ApplyPropertyBorderImage::applyValue): |
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): |
+ |
+2011-12-07 Jessie Berlin <jberlin@apple.com> |
+ |
+ Mac build fix after r102235. |
+ |
+ * WebCore.exp.in: |
+ |
+2011-11-30 Simon Hausmann <simon.hausmann@nokia.com> |
+ |
+ [Qt] V8 debug build fixes. |
+ |
+ Reviewed by Tor Arne Vestbø. |
+ |
+ * Target.pri: Add missing files to the build. |
+ * loader/SubresourceLoader.cpp: Add missing CString.h header file inclusion, |
+ that is implicitly included with Chromium builds and only needed in ASSERTS |
+ in debug builds. |
+ * loader/cache/CachedResource.cpp: Ditto. |
+ * page/FrameTree.cpp: Ditto. |
+ * platform/graphics/MediaPlayer.cpp: Ditto. |
+ |
+2011-11-30 Simon Hausmann <simon.hausmann@nokia.com> |
+ |
+ [Qt] V8 build fixes. |
+ |
+ Reviewed by Tor Arne Vestbø. |
+ |
+ * Target.pri: Don't load(javascriptcore) if we're building with v8. |
+ |
+2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn> |
+ |
+ Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline |
+ https://bugs.webkit.org/show_bug.cgi?id=73986 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ Just function name change, no new tests. |
+ |
+ * platform/Logging.h: |
+ * platform/efl/LoggingEfl.cpp: |
+ (WebCore::initializeLoggingChannelsIfNecessary): |
+ * platform/gtk/LoggingGtk.cpp: |
+ (WebCore::initializeLoggingChannelsIfNecessary): |
+ * platform/mac/LoggingMac.mm: |
+ (WebCore::initializeLoggingChannelsIfNecessary): |
+ * platform/qt/LoggingQt.cpp: |
+ (WebCore::initializeLoggingChannelsIfNecessary): |
+ * platform/win/LoggingWin.cpp: |
+ (WebCore::initializeLoggingChannelsIfNecessary): |
+ * platform/wx/LoggingWx.cpp: |
+ (WebCore::initializeLoggingChannelsIfNecessary): |
+ |
+2011-12-07 Mihnea Ovidenie <mihnea@adobe.com> |
+ |
+ [CSSRegions]Add support for background-color in region styling |
+ https://bugs.webkit.org/show_bug.cgi?id=71488 |
+ |
+ Reviewed by David Hyatt. |
+ |
+ Tests: fast/regions/region-style-block-background-color.html |
+ fast/regions/region-style-block-background-color2.html |
+ fast/regions/region-style-image-background-color.html |
+ fast/regions/region-style-inline-background-color.html |
+ |
+ * WebCore.exp.in: |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::RuleData::regionStyleRule): |
+ (WebCore::CSSStyleSelector::CSSStyleSelector): |
+ (WebCore::CSSStyleSelector::addMatchedDeclaration): |
+ (WebCore::CSSStyleSelector::matchRules): |
+ (WebCore::CSSStyleSelector::matchAllRules): |
+ (WebCore::CSSStyleSelector::initForRegionStyling): |
+ (WebCore::CSSStyleSelector::styleForElement): |
+ (WebCore::CSSStyleSelector::pseudoStyleForElement): |
+ (WebCore::RuleData::RuleData): |
+ (WebCore::RuleSet::RuleSet): |
+ (WebCore::RuleSet::addToRuleSet): |
+ (WebCore::CSSStyleSelector::applyDeclarations): |
+ (WebCore::isValidRegionStyleProperty): |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ * css/CSSStyleSelector.h: |
+ (WebCore::CSSStyleSelector::setRegionForStyling): |
+ (WebCore::CSSStyleSelector::regionForStyling): |
+ (WebCore::CSSStyleSelector::applyPropertyToRegionStyle): |
+ * rendering/RenderFlowThread.cpp: |
+ (WebCore::RenderFlowThread::clearRenderRegionRangeMap): |
+ (WebCore::RenderFlowThread::~RenderFlowThread): |
+ (WebCore::RenderFlowThread::layout): |
+ (WebCore::RenderFlowThread::clearRenderObjectCustomStyle): |
+ (WebCore::RenderFlowThread::setRegionRangeForBox): |
+ * rendering/RenderFlowThread.h: |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer): |
+ (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer): |
+ (WebCore::RenderLayer::paint): |
+ (WebCore::RenderLayer::hitTest): |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::style): |
+ * rendering/RenderObject.h: |
+ (WebCore::RenderObject::canHaveRegionStyle): |
+ * rendering/RenderObjectChildList.cpp: |
+ (WebCore::RenderObjectChildList::removeChildNode): |
+ * rendering/RenderRegion.cpp: |
+ (WebCore::RenderRegion::layout): |
+ (WebCore::RenderRegion::renderObjectRegionStyle): |
+ (WebCore::RenderRegion::computeStyleInRegion): |
+ (WebCore::RenderRegion::clearObjectStyleInRegion): |
+ * rendering/RenderRegion.h: |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::RenderView): |
+ * rendering/RenderView.h: |
+ (WebCore::RenderView::currentRenderRegion): |
+ (WebCore::RenderView::setCurrentRenderRegion): |
+ |
+2011-12-01 Vsevolod Vlasov <vsevik@chromium.org> |
+ |
+ Web Inspector: Extract default call stack creation and check for front-end from console. |
+ https://bugs.webkit.org/show_bug.cgi?id=73566 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * bindings/js/ScriptCallStackFactory.cpp: |
+ (WebCore::createScriptCallStack): |
+ * bindings/js/ScriptCallStackFactory.h: |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateParametersCheck): |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateFunctionCallback): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore::TestObjInternal::customArgsAndExceptionCallback): |
+ * bindings/v8/ScriptCallStackFactory.cpp: |
+ (WebCore::createScriptCallStack): |
+ * bindings/v8/ScriptCallStackFactory.h: |
+ * inspector/InspectorInstrumentation.cpp: |
+ (WebCore::InspectorInstrumentation::hasFrontendForScriptContext): |
+ * inspector/InspectorInstrumentation.h: |
+ (WebCore::InspectorInstrumentation::hasFrontendForScriptContext): |
+ * inspector/WorkerInspectorController.h: |
+ (WebCore::WorkerInspectorController::hasFrontend): |
+ * page/Console.cpp: |
+ * page/Console.h: |
+ |
+2011-12-07 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Internals should have a method to reutrn the max sequence number of spellcheck reqeust. |
+ https://bugs.webkit.org/show_bug.cgi?id=73511 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Internal state of SpellChecker should be able to be exposed for testing SpellChecker. |
+ This patch will enable us to know asynchronous spellcheck has finished or not. |
+ |
+ Test: editing/spelling/spellcheck-sequencenum.html |
+ |
+ * editing/SpellChecker.cpp: |
+ (WebCore::SpellChecker::SpellChecker): |
+ (WebCore::SpellChecker::createRequest): |
+ (WebCore::SpellChecker::didCheck): |
+ * editing/SpellChecker.h: |
+ (WebCore::SpellChecker::lastRequestSequence): |
+ Interface to take SpellCheck sequence numbers. |
+ (WebCore::SpellChecker::lastProcessedSequence): ditto. |
+ * testing/Internals.cpp: |
+ (WebCore::spellchecker): |
+ (WebCore::Internals::lastSpellCheckRequestSequence): |
+ (WebCore::Internals::lastSpellCheckProcessedSequence): |
+ * testing/Internals.h: |
+ * testing/Internals.idl: |
+ |
+2011-12-07 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ TypingCommand duplicates code to obtain the last typing command |
+ https://bugs.webkit.org/show_bug.cgi?id=73984 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Extracted lastTypingCommandIfStillOpenForTyping out of isOpenForMoreTypingCommand |
+ and a bunch of TypingCommand static member functions. |
+ |
+ Also made more member functions of TypingCommand private. |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::setComposition): |
+ * editing/FrameSelection.cpp: |
+ (WebCore::FrameSelection::setSelection): |
+ * editing/TypingCommand.cpp: |
+ (WebCore::TypingCommand::deleteSelection): |
+ (WebCore::TypingCommand::deleteKeyPressed): |
+ (WebCore::TypingCommand::forwardDeleteKeyPressed): |
+ (WebCore::TypingCommand::insertText): |
+ (WebCore::TypingCommand::insertLineBreak): |
+ (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): |
+ (WebCore::TypingCommand::insertParagraphSeparator): |
+ (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping): |
+ (WebCore::TypingCommand::closeTyping): |
+ * editing/TypingCommand.h: |
+ (WebCore::TypingCommand::isOpenForMoreTyping): |
+ (WebCore::TypingCommand::closeTyping): |
+ |
+2011-12-06 Mary Wu <mary.wu@torchmobile.com.cn> |
+ |
+ upstream BlackBerry porting of KURL/Logging |
+ https://bugs.webkit.org/show_bug.cgi?id=73524 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ * platform/blackberry/KURLBlackBerry.cpp: Added. |
+ (WebCore::KURL::fileSystemPath): |
+ * platform/blackberry/LoggingBlackBerry.cpp: Added. |
+ (WebCore::initializeWithUserDefault): |
+ (WebCore::InitializeLoggingChannelsIfNecessary): |
+ |
+2011-12-06 Leo Yang <leo.yang@torchmobile.com.cn> |
+ |
+ [BlackBerry] Remove redundant files in PlatformBlackBerry.cmake |
+ https://bugs.webkit.org/show_bug.cgi?id=73976 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ The listing of the following files in PlatformBlackBerry.cmake are redundant. They should be removed. |
+ platform/network/blackberry/MultipartResponseDelegate.cpp |
+ platform/network/blackberry/NetworkManager.cpp |
+ platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp |
+ platform/network/blackberry/ResourceErrorBlackBerry.cpp |
+ platform/network/blackberry/ResourceRequestBlackBerry.cpp |
+ |
+ * PlatformBlackBerry.cmake: |
+ |
+2011-12-06 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored. |
+ https://bugs.webkit.org/show_bug.cgi?id=73628 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges. |
+ |
+ No new tests. covered by existing tests. |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): |
+ Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor. |
+ (WebCore::Editor::markAndReplaceFor): |
+ * editing/Editor.h: |
+ |
+2011-12-06 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Avoid calling calculateRects in RenderLayer::paintLayer when the rectangles are not needed |
+ https://bugs.webkit.org/show_bug.cgi?id=73754 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Performance change, no change in behavior. |
+ |
+ RenderLayer::paintLayer can easily be called a million time when scrolling on a big table with |
+ td { overflow: hidden; }. We would spend a lot of time recomputing the rectangles that we never |
+ unused for painting as our layer was not self-painting (clipping layer only) and we did not paint |
+ some overlay scrollbars. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::paintLayer): |
+ Simplified and moved the shouldPaint logic earlier in the function. Now the branches |
+ are checking the same boolean which makes the logic more obvious. A consequence of |
+ filling shouldPaint earlier is that we call |calculateRects| only if there is a chance |
+ the rectangles will used. Also cached the result of isSelfPaintingLayer() in a local |
+ variable (isSelfPaintingLayer() is fairly expensive due to several virtual calls). |
+ |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::paintIntoLayer): |
+ For coherency, applied the same optimizations here too: added an early return instead |
+ of conditionaly call |calculateRects| as we don't have to restore any clip. |
+ |
+2011-12-06 Benjamin Poulain <benjamin@webkit.org> |
+ |
+ Simplify KURL's checkEncodedString() |
+ https://bugs.webkit.org/show_bug.cgi?id=73890 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ The Macro UNUSED_PARAM is not supposed to be used for this case, |
+ use ASSERT_UNUSED instead. |
+ |
+ * platform/KURL.cpp: |
+ (WebCore::checkEncodedString): |
+ |
+2011-12-06 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ The code to create a NodeListsNodeData is duplicated everywhere |
+ https://bugs.webkit.org/show_bug.cgi?id=73961 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Extracted the logic to create NodeListsNodeData as NodeRareData::ensureNodeLists. |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::getItems): |
+ * dom/Node.cpp: |
+ (WebCore::Node::childNodes): |
+ (WebCore::Node::registerDynamicNodeList): |
+ (WebCore::Node::getElementsByTagName): |
+ (WebCore::Node::getElementsByTagNameNS): |
+ (WebCore::Node::getElementsByName): |
+ (WebCore::Node::getElementsByClassName): |
+ * dom/NodeRareData.h: |
+ (WebCore::NodeRareData::ensureNodeLists): |
+ * html/HTMLFormControlElement.cpp: |
+ (WebCore::HTMLFormControlElement::labels): |
+ |
+2011-12-06 Leo Yang <leo.yang@torchmobile.com.cn> |
+ |
+ Upstream about: feature in WebKit/blackberry/WebCoreSupport/ |
+ https://bugs.webkit.org/show_bug.cgi?id=73612 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ * PlatformBlackBerry.cmake: Move platform/network/blackberry/AboutData.{h, cpp} |
+ to WebKit/blackberry/WebCoreSupport |
+ |
+2011-12-06 Benjamin Poulain <bpoulain@apple.com> |
+ |
+ WebKit Mac does not build without CONTEXT MENU |
+ https://bugs.webkit.org/show_bug.cgi?id=73962 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ In the patch r100903, the symbols were exported under ENABLE(CONTEXT_MENUS) |
+ because the feature is triggered from the menus. |
+ |
+ The implementation has no dependency on the context menu but is necessary to build |
+ when the inspector is enabled. |
+ This patch moves the exported symbols from ENABLE(CONTEXT_MENUS) to ENABLE(INSPECTOR). |
+ |
+ * WebCore.exp.in: |
+ |
2011-12-06 Adrienne Walker <enne@google.com> |
+ [chromium] setNeedsCommit on non-composited host layers should trigger commit |
+ https://bugs.webkit.org/show_bug.cgi?id=73711 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Pipe non-composited content host syncs to setNeedsCommit. |
+ |
+ Since now the NonCompositedContentHost generates setNeedsCommit, don't |
+ call it unnecessarily, e.g. calling setBackgroundColor to the same |
+ color each frame should not retrigger more commits. |
+ |
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
+ (WebCore::GraphicsLayerChromium::setAnchorPoint): |
+ (WebCore::GraphicsLayerChromium::setTransform): |
+ (WebCore::GraphicsLayerChromium::setChildrenTransform): |
+ (WebCore::GraphicsLayerChromium::setMasksToBounds): |
+ (WebCore::GraphicsLayerChromium::setBackgroundColor): |
+ (WebCore::GraphicsLayerChromium::clearBackgroundColor): |
+ (WebCore::GraphicsLayerChromium::setContentsOpaque): |
+ (WebCore::GraphicsLayerChromium::setBackfaceVisibility): |
+ (WebCore::GraphicsLayerChromium::setOpacity): |
+ * platform/graphics/chromium/LayerChromium.cpp: |
+ (WebCore::LayerChromium::setNeedsCommit): |
+ (WebCore::LayerChromium::setAnchorPoint): |
+ (WebCore::LayerChromium::setAnchorPointZ): |
+ (WebCore::LayerChromium::setBackgroundColor): |
+ (WebCore::LayerChromium::setMasksToBounds): |
+ (WebCore::LayerChromium::setMaskLayer): |
+ (WebCore::LayerChromium::setOpacity): |
+ (WebCore::LayerChromium::setOpaque): |
+ (WebCore::LayerChromium::setPosition): |
+ (WebCore::LayerChromium::setSublayerTransform): |
+ (WebCore::LayerChromium::setTransform): |
+ (WebCore::LayerChromium::setScrollPosition): |
+ (WebCore::LayerChromium::setScrollable): |
+ (WebCore::LayerChromium::setDoubleSided): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ (WebCore::LayerChromium::setReplicaLayer): |
+ * platform/graphics/chromium/NonCompositedContentHost.cpp: |
+ (WebCore::NonCompositedContentHost::notifySyncRequired): |
+ * platform/graphics/chromium/NonCompositedContentHost.h: |
+ |
+2011-12-06 Kenichi Ishibashi <bashi@chromium.org> |
+ |
+ [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR) |
+ https://bugs.webkit.org/show_bug.cgi?id=73806 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Sets fMergeNeutralItems to 1 instead of merging script items based on their tags. |
+ |
+ Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html |
+ platform/chromium/fast/text/international/chromium-complex-text-non-printable.html |
+ |
+ * platform/graphics/chromium/UniscribeHelper.cpp: |
+ (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items. |
+ |
+2011-12-06 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty. |
+ https://bugs.webkit.org/show_bug.cgi?id=73391 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ No new tests / refacoring only. |
+ |
+ * css/CSSStyleApplyProperty.cpp: |
+ (WebCore::ApplyPropertyBorderImageModifier::getValue): |
+ (WebCore::ApplyPropertyBorderImageModifier::setValue): |
+ (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue): |
+ (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue): |
+ (WebCore::ApplyPropertyBorderImageModifier::applyValue): |
+ (WebCore::ApplyPropertyBorderImageModifier::createHandler): |
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ * css/CSSStyleSelector.h: |
+ |
+2011-12-06 Pavel Feldman <pfeldman@google.com> |
+ |
+ Web Inspector: introduce a memory agent stub. |
+ https://bugs.webkit.org/show_bug.cgi?id=73930 |
+ |
+ Reviewed by Timothy Hatcher. |
+ |
+ We'd like to experiment with the memory stats and hence need a |
+ nice home for that. Adding this undocumented agent / domain for now. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/js/ScriptProfiler.h: |
+ (WebCore::ScriptProfiler::nodeCount): |
+ * bindings/v8/ScriptProfiler.cpp: |
+ (WebCore::ScriptProfiler::nodeCount): |
+ * bindings/v8/ScriptProfiler.h: |
+ * inspector/Inspector.json: |
+ * inspector/InspectorController.cpp: |
+ (WebCore::InspectorController::InspectorController): |
+ * inspector/InspectorMemoryAgent.cpp: Added. |
+ (WebCore::InspectorMemoryAgent::~InspectorMemoryAgent): |
+ (WebCore::InspectorMemoryAgent::getNodeCounter): |
+ (WebCore::InspectorMemoryAgent::InspectorMemoryAgent): |
+ * inspector/InspectorMemoryAgent.h: Added. |
+ (WebCore::InspectorMemoryAgent::create): |
+ |
+2011-12-06 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Unreviewed build fix after 102183. |
+ |
+ * rendering/style/RenderStyle.h: |
+ (WebCore::InheritedFlags::initialGridTrackValue): |
+ Use DEFINE_STATIC_LOCAL to avoid having an exit-time destructor. |
+ |
+2011-12-06 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Inline RenderObject::view() |
+ https://bugs.webkit.org/show_bug.cgi?id=73733 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Micro-performance optimization, no change in behavior. |
+ |
+ RenderObject::view() is super hot and is taking ~4-5% of the time in some |
+ benchmarks as it is called several hundred thousands times. For some reason, |
+ the compiler did not inline it even though it is very simple in release builds. |
+ |
+ * WebCore.exp.in: Removed RenderObject::view() as it is inlined now. |
+ |
+ * rendering/RenderObject.cpp: Moved the implementation from here ... |
+ * rendering/RenderView.h: |
+ (WebCore::RenderObject::view): ... to here to avoid a cyclic |
+ dependency between RenderObject and RenderView. Also marked the |
+ function as ALWAYS_INLINE. |
+ |
+ * rendering/RenderObject.h: |
+ * rendering/svg/RenderSVGResourceContainer.cpp: |
+ Added #include "RenderView.h" as the code checks for view() during repaint. |
+ |
+2011-12-06 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows |
+ https://bugs.webkit.org/show_bug.cgi?id=73272 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Test: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html |
+ |
+ Updated our supported syntax to match the following: |
+ <track-list> := [ <track-breadth> ]+ | 'none' |
+ <track-breadth> := <length> | <percentage> | 'auto' |
+ (the naming loosely matches the specification) |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::valueForGridTrackBreadth): Added function to handle a breadth |
+ (extended with 'auto' that the spec puts in <track-minmax>). |
+ |
+ (WebCore::valueForGridTrackList): Create a space seperated list of |
+ track breadth or none. |
+ |
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated |
+ to use the new functions. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseGridTrackList): Extended the function to |
+ match the new syntax. |
+ |
+ * css/CSSStyleApplyProperty.cpp: |
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Removed our |
+ simple implementation. Replaced by the CSSStyleSelector functions. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::createGridTrackBreadth): |
+ (WebCore::createGridTrackList): |
+ Added those 2 functions to convert the CSSPrimitiveValue to a Vector |
+ as expected by RenderStyle. |
+ |
+ (WebCore::CSSStyleSelector::applyProperty): Added our 2 properties |
+ now that it is not handled by CSSStyleApplyProperty. |
+ |
+ * rendering/style/RenderStyle.h: |
+ (WebCore::InheritedFlags::gridColumns): |
+ (WebCore::InheritedFlags::gridRows): |
+ (WebCore::InheritedFlags::setGridColumns): |
+ (WebCore::InheritedFlags::setGridRows): |
+ (WebCore::InheritedFlags::initialGridColumns): |
+ (WebCore::InheritedFlags::initialGridRows): |
+ Updated the previous methods to take a Vector of Length. |
+ |
+ (WebCore::InheritedFlags::initialGridTrackValue): |
+ Needed function to return a Vector with one 'none' Length (the initial |
+ value per the specification). |
+ |
+ * rendering/style/StyleGridData.h: Updated to use a Vector. |
+ |
+2011-12-06 David Reveman <reveman@chromium.org> |
+ |
+ [Chromium] Implement tile-sized painting using SkPicture. |
+ https://bugs.webkit.org/show_bug.cgi?id=71869 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add texture uploader that paints tile-sized chunks using SkPicture |
+ recording and playback. Expose setting which allows this texture |
+ updater to be enabled. |
+ |
+ No new tests. Covered by existing tests. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Added. |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::create): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::BitmapSkPictureCanvasLayerTextureUpdater): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::~BitmapSkPictureCanvasLayerTextureUpdater): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::sampledTexelFormat): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect): |
+ * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Added. |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater): |
+ (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::orientation): |
+ * platform/graphics/chromium/ContentLayerChromium.cpp: |
+ (WebCore::ContentLayerChromium::createTextureUpdater): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (WebCore::CCSettings::CCSettings): |
+ |
+2011-12-06 Adrienne Walker <enne@google.com> |
+ |
[chromium] Don't crash if tile upload happens without painting first |
https://bugs.webkit.org/show_bug.cgi?id=73939 |