Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 94966) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,3 +1,4268 @@ |
+2011-09-12 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] REGRESSION(94353): Compositor textures and resources leaked when tab closed that is not last tab in the process |
+ https://bugs.webkit.org/show_bug.cgi?id=67816 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ We lack infrastructure to construct an automated test for this today. To test manually, open up a composited |
+ page (like the poster circle), duplicate the tab many times, close all the duplicates, and verify that the |
+ memory use returns to the single tab level. |
+ |
+ * platform/graphics/chromium/LayerChromium.h: |
+ * platform/graphics/chromium/TiledLayerChromium.cpp: |
+ (WebCore::TiledLayerChromium::setLayerTreeHost): |
+ * platform/graphics/chromium/VideoLayerChromium.cpp: |
+ (WebCore::VideoLayerChromium::setLayerTreeHost): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::clearRenderSurfacesRecursive): |
+ (WebCore::CCLayerTreeHost::setRootLayer): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ |
+2011-09-12 Kentaro Hara <haraken@google.com> |
+ |
+ Implement a HashChangeEvent constructor for JSC |
+ https://bugs.webkit.org/show_bug.cgi?id=67924 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ The spec for the HashChangeEvent constructor is here: |
+ http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent |
+ |
+ Test: fast/events/constructors/hash-change-event-constructor.html |
+ |
+ * bindings/generic/EventConstructors.h: Added a definition for the HashChangeEvent constructor. |
+ * bindings/js/JSEventConstructors.cpp: Added #includes for HashChangeEvent. |
+ * dom/HashChangeEvent.h: Added a definition for HashChangeEventInit. |
+ (WebCore::HashChangeEventInit::HashChangeEventInit): |
+ (WebCore::HashChangeEvent::create): |
+ (WebCore::HashChangeEvent::HashChangeEvent): |
+ * dom/HashChangeEvent.idl: Makes HashChangeEvent constructible. |
+ |
+2011-09-12 Mike Reed <reed@google.com> |
+ |
+ [skia] remove dead code, no functionality change |
+ https://bugs.webkit.org/show_bug.cgi?id=67844 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ No new tests. just removing dead-code, existing tests apply |
+ |
+ * platform/graphics/chromium/FontChromiumWin.cpp: |
+ (WebCore::Font::drawGlyphs): |
+ |
+2011-09-12 Pavel Feldman <pfeldman@google.com> |
+ |
+ Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false. |
+ https://bugs.webkit.org/show_bug.cgi?id=67934 |
+ |
+ Reviewed by Tony Gentilcore. |
+ |
+ * inspector/InjectedScriptSource.js: |
+ |
+2011-09-12 Pavel Feldman <pfeldman@google.com> |
+ |
+ Web Inspector: event dividers do not update timeline boundaries. |
+ https://bugs.webkit.org/show_bug.cgi?id=67932 |
+ |
+ * inspector/front-end/NetworkPanel.js: |
+ (WebInspector.NetworkLogView.prototype._onLoadEventFired): |
+ (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired): |
+ (WebInspector.NetworkLogView.prototype.refresh): |
+ (WebInspector.NetworkTimeCalculator.prototype.updateBoundariesForEventTime): |
+ |
+2011-09-12 Kentaro Hara <haraken@google.com> |
+ |
+ Implement a WebKitAnimationEvent constructor for V8 |
+ https://bugs.webkit.org/show_bug.cgi?id=67922 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Test: fast/events/constructors/webkit-animation-event-constructor.html |
+ |
+ * bindings/v8/custom/V8EventConstructors.cpp: Added the WebKitAnimationEvent constructor. |
+ * dom/WebKitAnimationEvent.idl: Added a 'V8CustomConstructor' attribute. |
+ |
+2011-09-12 Andreas Kling <kling@webkit.org> |
+ |
+ Shrink CanvasGradient for builds without ENABLE(DASHBOARD_SUPPORT). |
+ https://bugs.webkit.org/show_bug.cgi?id=67916 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ * html/canvas/CanvasGradient.cpp: |
+ (WebCore::CanvasGradient::CanvasGradient): |
+ (WebCore::CanvasGradient::addColorStop): |
+ * html/canvas/CanvasGradient.h: |
+ |
+2011-09-12 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Characters beyond U+10000 should be deleted by one pressing delete key. |
+ https://bugs.webkit.org/show_bug.cgi?id=40351 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ If a character is the trail part of unicode surrogate pair, the lead part of it |
+ should also be deleted. Also, If in MacOSX, the deletion should honor Mac's behavior. |
+ |
+ Test: editing/deleting/delete-surrogatepair.html |
+ |
+ * rendering/RenderText.cpp: |
+ (WebCore::RenderText::previousOffsetForBackwardDeletion): |
+ Added if-macro to support chromium on mac, and added trail part check for unicode character. |
+ |
+2011-09-11 Kentaro Hara <haraken@google.com> |
+ |
+ Implement a ProgressEvent constructor for V8 |
+ https://bugs.webkit.org/show_bug.cgi?id=67800 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Test: fast/events/constructors/progress-event-constructor.html |
+ |
+ * bindings/js/JSDictionary.cpp: |
+ (WebCore::JSDictionary::convertValue): Replaced UnsignedLongLongMax with std::numeric_limits<unsigned long long>::max(). |
+ * bindings/v8/OptionsObject.cpp: |
+ (WebCore::OptionsObject::getKeyValue): Returns an unsigned long long value corresponding to a given key. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long |
+ * bindings/v8/OptionsObject.h: |
+ * bindings/v8/custom/V8EventConstructors.cpp: Added the ProgressEvent constructor. |
+ * dom/ProgressEvent.idl: Added a 'V8CustomConstructor' attribute. |
+ |
+2011-09-11 Dimitri Glazkov <dglazkov@chromium.org> |
+ |
+ REGRESSION (r87351): toggling display of lots (thousands) of elements with display:none is very slow |
+ https://bugs.webkit.org/show_bug.cgi?id=67581 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Test: perf/show-hide-table-rows.html |
+ |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRendererFactory::createRendererAndStyle): Moved style-creating code into createRendererIfNeeded, renamed |
+ to createRenderer. |
+ (WebCore::NodeRendererFactory::createRendererIfNeeded): Re-arrange code to avoid unnecessary creation of renderers. |
+ |
+2011-09-11 Jeremy Moskovich <jeremy@chromium.org> |
+ |
+ [Chromium] Change OOP Font loading code to use CGFont*() APIs. |
+ https://bugs.webkit.org/show_bug.cgi?id=66935 |
+ |
+ This change is necessary due a bug in ATSFontDeactivate() on 10.7. |
+ See crbug.com/93191 for details. |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ No new tests - covered by existing tests. |
+ |
+ * platform/chromium/PlatformBridge.h: |
+ * platform/graphics/chromium/CrossProcessFontLoading.h: |
+ * platform/graphics/chromium/CrossProcessFontLoading.mm: |
+ (WebCore::MemoryActivatedFont::create): |
+ (WebCore::MemoryActivatedFont::MemoryActivatedFont): |
+ (WebCore::MemoryActivatedFont::~MemoryActivatedFont): |
+ |
+2011-09-09 Oliver Hunt <oliver@apple.com> |
+ |
+ Remove support for anonymous storage from jsobjects |
+ https://bugs.webkit.org/show_bug.cgi?id=67881 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Remove all use of anonymous slots, this required modifying |
+ bindings generation to add member variables for cached attributes, |
+ and override visitChildren with the necessary logic to mark those |
+ new members. |
+ |
+ I added bindings generation tests for these values. |
+ |
+ * bindings/js/JSAudioConstructor.h: |
+ (WebCore::JSAudioConstructor::createStructure): |
+ * bindings/js/JSDOMBinding.h: |
+ (WebCore::DOMConstructorObject::createStructure): |
+ * bindings/js/JSDOMGlobalObject.h: |
+ (WebCore::JSDOMGlobalObject::createStructure): |
+ * bindings/js/JSDOMWindowBase.h: |
+ (WebCore::JSDOMWindowBase::createStructure): |
+ * bindings/js/JSDOMWindowShell.h: |
+ (WebCore::JSDOMWindowShell::createStructure): |
+ * bindings/js/JSDOMWrapper.h: |
+ (WebCore::JSDOMWrapper::createStructure): |
+ * bindings/js/JSImageConstructor.h: |
+ (WebCore::JSImageConstructor::createStructure): |
+ * bindings/js/JSMessageEventCustom.cpp: |
+ (WebCore::JSMessageEvent::data): |
+ (WebCore::JSMessageEvent::initMessageEvent): |
+ * bindings/js/JSOptionConstructor.h: |
+ (WebCore::JSOptionConstructor::createStructure): |
+ * bindings/js/JSWorkerContextBase.h: |
+ (WebCore::JSWorkerContextBase::createStructure): |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): |
+ (GenerateImplementation): |
+ (GenerateConstructorDeclaration): |
+ * bindings/scripts/test/JS/JSTestInterface.cpp: |
+ (WebCore::JSTestInterfaceConstructor::createStructure): |
+ * bindings/scripts/test/JS/JSTestInterface.h: |
+ (WebCore::JSTestInterface::createStructure): |
+ (WebCore::JSTestInterfacePrototype::createStructure): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
+ (WebCore::JSTestMediaQueryListListenerConstructor::createStructure): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: |
+ (WebCore::JSTestMediaQueryListListener::createStructure): |
+ (WebCore::JSTestMediaQueryListListenerPrototype::createStructure): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObjConstructor::createStructure): |
+ (WebCore::jsTestObjCachedAttribute1): |
+ (WebCore::jsTestObjCachedAttribute2): |
+ (WebCore::JSTestObj::visitChildren): |
+ * bindings/scripts/test/JS/JSTestObj.h: |
+ (WebCore::JSTestObj::createStructure): |
+ (WebCore::JSTestObjPrototype::createStructure): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
+ (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: |
+ (WebCore::JSTestSerializedScriptValueInterface::createStructure): |
+ (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure): |
+ * bindings/scripts/test/TestObj.idl: |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore::TestObjInternal::cachedAttribute1AttrGetter): |
+ (WebCore::TestObjInternal::cachedAttribute2AttrGetter): |
+ * bridge/c/CRuntimeObject.h: |
+ (JSC::Bindings::CRuntimeObject::createStructure): |
+ * bridge/c/c_instance.cpp: |
+ (JSC::Bindings::CRuntimeMethod::createStructure): |
+ * bridge/jni/jsc/JavaInstanceJSC.cpp: |
+ (JavaRuntimeMethod::createStructure): |
+ * bridge/jni/jsc/JavaRuntimeObject.h: |
+ (JSC::Bindings::JavaRuntimeObject::createStructure): |
+ * bridge/objc/ObjCRuntimeObject.h: |
+ (JSC::Bindings::ObjCRuntimeObject::createStructure): |
+ * bridge/objc/objc_instance.mm: |
+ (ObjCRuntimeMethod::createStructure): |
+ * bridge/objc/objc_runtime.h: |
+ (JSC::Bindings::ObjcFallbackObjectImp::createStructure): |
+ * bridge/runtime_array.h: |
+ (JSC::RuntimeArray::createStructure): |
+ * bridge/runtime_method.h: |
+ (JSC::RuntimeMethod::createStructure): |
+ * bridge/runtime_object.h: |
+ (JSC::Bindings::RuntimeObject::createStructure): |
+ |
+2011-09-01 Filip Pizlo <fpizlo@apple.com> |
+ |
+ The executable allocator makes it difficult to free individual |
+ chunks of executable memory |
+ https://bugs.webkit.org/show_bug.cgi?id=66363 |
+ |
+ Reviewed by Oliver Hunt. |
+ |
+ Introduced a best-fit, balanced-tree based allocator. The allocator |
+ required a balanced tree that does not allocate memory and that |
+ permits the removal of individual nodes directly (as opposed to by |
+ key); neither AVLTree nor WebCore's PODRedBlackTree supported this. |
+ Changed all references to executable code to use a reference counted |
+ handle. |
+ |
+ No new layout tests because behavior is not changed. New API unit |
+ tests: |
+ Tests/WTF/RedBlackTree.cpp |
+ Tests/WTF/MetaAllocator.cpp |
+ |
+ * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Added. |
+ |
+2011-09-10 Sam Weinig <sam@webkit.org> |
+ |
+ Add isInterruptedExecutionException and isTerminatedExecutionException predicates |
+ https://bugs.webkit.org/show_bug.cgi?id=67892 |
+ |
+ Reviewed by Andy "First Time Reviewer" Estes. |
+ |
+ * bindings/js/JSDOMBinding.cpp: |
+ (WebCore::reportException): |
+ * bindings/js/JSEventListener.cpp: |
+ (WebCore::JSEventListener::handleEvent): |
+ * bindings/js/WorkerScriptController.cpp: |
+ (WebCore::WorkerScriptController::evaluate): |
+ Use the new predicates instead of probing the ClassInfo directly. |
+ |
+2011-09-10 Kevin Ollivier <kevino@theolliviers.com> |
+ |
+ [wx] Unreviewed build fix. MSW build fixes. |
+ |
+ * config.h: |
+ |
+2011-09-09 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67861 |
+ |
+ Implement border-image-outset (and the mask equivalents). |
+ |
+ Reviewed by Beth Dakin. |
+ |
+ Added new tests in fast/borders and fast/reflections. |
+ |
+ * css/CSSBorderImageValue.cpp: |
+ (WebCore::CSSBorderImageValue::CSSBorderImageValue): |
+ (WebCore::CSSBorderImageValue::cssText): |
+ * css/CSSBorderImageValue.h: |
+ (WebCore::CSSBorderImageValue::create): |
+ Add m_outset field to CSSBorderImageValue and teach it how to dump the field as |
+ part of cssText(). |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::valueForNinePieceImageQuad): |
+ (WebCore::valueForNinePieceImage): |
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
+ Add support for border-image-outset and -webkit-mask-box-image-outset. Refactor |
+ the code so that border-image-width and border-image-outset use a common |
+ function. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseValue): |
+ (WebCore::BorderImageParseContext::BorderImageParseContext): |
+ (WebCore::BorderImageParseContext::allowOutset): |
+ (WebCore::BorderImageParseContext::commitSlash): |
+ (WebCore::BorderImageParseContext::commitBorderWidth): |
+ (WebCore::BorderImageParseContext::commitBorderOutset): |
+ (WebCore::BorderImageParseContext::commitRepeat): |
+ (WebCore::BorderImageParseContext::commitBorderImage): |
+ (WebCore::CSSParser::parseBorderImage): |
+ Teach the border image parsing code about outsets. This code will soon be |
+ replaced by true shorthand parsing code, but for now keep it working and add |
+ outset support to it. |
+ |
+ (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext): |
+ (WebCore::BorderImageQuadParseContext::commitBorderImageQuad): |
+ (WebCore::CSSParser::parseBorderImageQuad): |
+ (WebCore::CSSParser::parseBorderImageWidth): |
+ (WebCore::CSSParser::parseBorderImageOutset): |
+ * css/CSSParser.h: |
+ Refactor the border-image-width code so that it can be shared by border-image-outset, since |
+ they are extremely similar. |
+ |
+ * css/CSSPropertyNames.in: |
+ Add the new properties. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ (WebCore::CSSStyleSelector::mapNinePieceImage): |
+ (WebCore::CSSStyleSelector::mapNinePieceImageQuad): |
+ (WebCore::CSSStyleSelector::loadPendingImages): |
+ * css/CSSStyleSelector.h: |
+ Refactor the code so that width/outset share common mapping functions. Add support for outset. |
+ |
+ * rendering/InlineFlowBox.cpp: |
+ (WebCore::InlineFlowBox::addToLine): |
+ (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): |
+ (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow): |
+ (WebCore::InlineFlowBox::computeOverflow): |
+ Add new functions for computing the visual overflow caused by border outsets. Fix bugs in |
+ the shadow overflow code as well. |
+ |
+ (WebCore::clipRectForNinePieceImageStrip): |
+ (WebCore::InlineFlowBox::paintBoxDecorations): |
+ (WebCore::InlineFlowBox::paintMask): |
+ * rendering/InlineFlowBox.h: |
+ Make sure the clip rect pushed when painting one piece of a split inline strip is expanded to |
+ include the border and mask outsets. Always include the block direction expansion, and conditionally |
+ include the inline direction expansion based off includeLogicalLeftEdge()/includeLogicalRightEdge(). |
+ clipRectForNinePieceImageStrip is a common function shared by masks and border images that does this |
+ work. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::computeOverflow): |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::maskClipRect): |
+ (WebCore::RenderBox::addBoxShadowAndBorderOverflow): |
+ * rendering/RenderBox.h: |
+ Rename addShadowOverflow to addBoxShadowAndBorderOverflow. Have it compute both shadow and border image |
+ outset overflow. Fix bugs with shadow overflow computation. |
+ |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::RenderBoxModelObject::paintNinePieceImage): |
+ Change painting to apply the outsets to inflate the border image drawing area. |
+ |
+ * rendering/RenderEmbeddedObject.cpp: |
+ (WebCore::RenderEmbeddedObject::layout): |
+ * rendering/RenderIFrame.cpp: |
+ (WebCore::RenderIFrame::layout): |
+ Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::calculateRects): |
+ Patched to no longer apply box-shadow to overflow clip areas when inflating the intersection area for the |
+ layer bounds. Instead we generically apply all visual overflow so that border image outsets will also be |
+ included. This fixes https://bugs.webkit.org/show_bug.cgi?id=37467. |
+ |
+ * rendering/RenderReplaced.cpp: |
+ (WebCore::RenderReplaced::layout): |
+ Patched to call the renamed addBoxShadowAndBorderOverflow function instead of addShadowOverflow. |
+ |
+ * rendering/style/NinePieceImage.cpp: |
+ (WebCore::NinePieceImage::operator==): |
+ * rendering/style/NinePieceImage.h: |
+ (WebCore::NinePieceImage::NinePieceImage): |
+ (WebCore::NinePieceImage::outset): |
+ (WebCore::NinePieceImage::setOutset): |
+ (WebCore::NinePieceImage::computeOutset): |
+ (WebCore::NinePieceImage::copyOutsetFrom): |
+ Add the outset field to NinePieceImage along with some helpers for manipulating outsets. |
+ |
+ * rendering/style/RenderStyle.cpp: |
+ (WebCore::RenderStyle::getImageOutsets): |
+ (WebCore::RenderStyle::getImageHorizontalOutsets): |
+ (WebCore::RenderStyle::getImageVerticalOutsets): |
+ * rendering/style/RenderStyle.h: |
+ (WebCore::InheritedFlags::hasBorderImageOutsets): |
+ (WebCore::InheritedFlags::getBorderImageOutsets): |
+ (WebCore::InheritedFlags::getBorderImageHorizontalOutsets): |
+ (WebCore::InheritedFlags::getBorderImageVerticalOutsets): |
+ (WebCore::InheritedFlags::getBorderImageInlineDirectionOutsets): |
+ (WebCore::InheritedFlags::getBorderImageBlockDirectionOutsets): |
+ (WebCore::InheritedFlags::getImageInlineDirectionOutsets): |
+ (WebCore::InheritedFlags::getImageBlockDirectionOutsets): |
+ Helpers for outset computation used by painting and overflow functions. |
+ |
+2011-09-10 Dan Bernstein <mitz@apple.com> |
+ |
+ Actually prevent unnecessary casts to MediaControls*. |
+ |
+ Reviewed by Oliver Hunt. |
+ |
+ * html/shadow/MediaControls.h: |
+ |
+2011-09-10 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Remove printf added by r94900. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::drawPlatformResizerImage): |
+ |
+2011-09-09 Chris Marrin <cmarrin@apple.com> |
+ |
+ requestAnimationFrame doesn't throttle on Mac |
+ https://bugs.webkit.org/show_bug.cgi?id=67171 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Changed requestAnimationFrame to use a Timer in ScriptedAnimationController |
+ on Mac, rather than runLoopObservers. The Timer is throttled to fire no |
+ faster than every 15ms. It is behind a WTF_USE_REQUEST_ANIMATION_FRAME_TIMER |
+ flag and can be used by any implementation, but currently it is only enabled |
+ by PLATFORM(MAC). |
+ |
+ * dom/ScriptedAnimationController.cpp: |
+ (WebCore::ScriptedAnimationController::ScriptedAnimationController): |
+ (WebCore::ScriptedAnimationController::resume): |
+ (WebCore::ScriptedAnimationController::registerCallback): |
+ (WebCore::ScriptedAnimationController::serviceScriptedAnimations): |
+ (WebCore::ScriptedAnimationController::scheduleAnimation): |
+ (WebCore::ScriptedAnimationController::animationTimerFired): |
+ * dom/ScriptedAnimationController.h: |
+ * loader/EmptyClients.h: |
+ * page/Chrome.cpp: |
+ (WebCore::Chrome::scheduleAnimation): |
+ * page/ChromeClient.h: |
+ |
+2011-09-10 Jarred Nicholls <jarred@sencha.com> |
+ |
+ [Qt] QWebSettings::setUserStyleSheetUrl() does not work with windows paths that contain drive letters |
+ https://bugs.webkit.org/show_bug.cgi?id=34884 |
+ |
+ KURL::path() alone does not handle removing the leading slash from a windows file path. |
+ Using QUrl::toLocalFile() will turn file:///C:/path into C:/path appropriately. |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ * platform/qt/KURLQt.cpp: |
+ (WebCore::KURL::fileSystemPath): |
+ |
+2011-09-10 Ken Buchanan <kenrb@chromium.org> |
+ |
+ Crash due to bad data in SVGDocumentExtensions m_pendingResources |
+ https://bugs.webkit.org/show_bug.cgi?id=67488 |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ Resolving a crash condition caused by the deletion of |
+ elements while pending resource entries for those elements are still |
+ recorded. |
+ |
+ * rendering/svg/RenderSVGResourceContainer.cpp: |
+ (WebCore::RenderSVGResourceContainer::registerResource) |
+ * svg/SVGDocumentExtensions.h: |
+ (WebCore::SVGDocumentExtensions::isElementInPendingResources) |
+ * svg/SVGDocumentExtensions.cpp: |
+ (WebCore::SVGDocumentExtensions::addPendingResource) |
+ (WebCore::SVGDocumentExtensions::isElementInPendingResources) |
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources) |
+ * svg/SVGStyledElement.h: |
+ (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible) |
+ * svg/SVGStyledElement.cpp: |
+ (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded) |
+ (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible) |
+ * svg/SVGUseElement.cpp: |
+ (WebCore::SVGUseElement::svgAttributeChanged) |
+ |
+2011-09-10 Adam Barth <abarth@webkit.org> |
+ |
+ Remove DocumentWriter::deprecatedFrameEncoding() |
+ https://bugs.webkit.org/show_bug.cgi?id=67882 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Three years ago, in http://trac.webkit.org/changeset/39026, Alexey |
+ Proskuryakov added ContentDispositionEncodingFallbackArray to work |
+ around a web site compatibility issue with a non-ASCII file name |
+ becoming garbled when received in the Content-Disposition header. |
+ |
+ Since that time, there has been copious discussion of this topic among |
+ browser vendors, in the IETF, and in the broader web community. For |
+ example, here is a Stack Overflow thread about this topic: |
+ |
+ http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http |
+ |
+ Eric Lawrence has written a blog post that summarizes IE's perspective |
+ on this issue: |
+ |
+ http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx |
+ |
+ The current consensus is that browsers should implement RFC 6266, |
+ which is a new RFC that updates the definition of the |
+ Content-Disposition header. Chrome and Firefox have both implemented |
+ RFC 6266 and have encountered only one issue, which was then fixed by |
+ the web site operator. IE has also implemented RFC 6266, but I don't |
+ have detailed information about their compatibility experience. |
+ |
+ This patch add explicit PLATFORM #ifdefs around the quirky |
+ implementation previously used in Apple's Mac and Windows ports. This |
+ code is already only used on Apple's ports, so this patch introduces no |
+ functional changes. It does, however, discourage other ports from |
+ adopting this quirk. IMHO, Apple should remove this quirk as soon as |
+ compatibility allows and converge behavior with the other major browser |
+ vendors. |
+ |
+ See bug for manual test (the bug manifests in Safari download UI). |
+ |
+ * loader/DocumentWriter.cpp: |
+ * loader/DocumentWriter.h: |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::addExtraFieldsToRequest): |
+ * platform/network/ResourceRequestBase.cpp: |
+ (WebCore::ResourceRequestBase::adopt): |
+ (WebCore::ResourceRequestBase::copyData): |
+ * platform/network/ResourceRequestBase.h: |
+ |
+2011-09-09 Beth Dakin <bdakin@apple.com> |
+ |
+ Attempted Leopard build fix. |
+ |
+ * rendering/RenderImage.cpp: |
+ (WebCore::RenderImage::paintReplaced): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::drawPlatformResizerImage): |
+ |
+2011-09-09 Beth Dakin <bdakin@apple.com> |
+ |
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=67819 |
+ Use high resolution platform images when the deviceScaleFactor > 1 |
+ -and corresponding- |
+ <rdar://problem/10003098> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Add all of the new high resolution images. I also removed some tiffs from the |
+ project and replaced them with png equivalents (that are already checked into |
+ WebCore anyway). Since the high resolution images are pngs, it makes sense to use |
+ pngs for all of the images that load through Image::loadPlatformResource() |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * platform/graphics/mac/ImageMac.mm: |
+ (WebCore::Image::loadPlatformResource): |
+ |
+ Load the @2x resource for deviceScaleFactors >= 2. |
+ * editing/DeleteButtonController.cpp: |
+ (WebCore::DeleteButtonController::createDeletionUI): |
+ |
+ CachedImage::brokenImage() is no longer a static helper function, but a real |
+ member function. It also now loads the @2x resource for deviceScaleFactors >= 2 |
+ and takes a parameter for the deviceScaleFactor. When CachedImage::image() returns |
+ the brokenImage(), it just returns the 1x version. brokenImage() has to be called |
+ directly to reliably return the deviceScaleFactor-appropriate resource. |
+ * loader/cache/CachedImage.cpp: |
+ (WebCore::CachedImage::brokenImage): |
+ (WebCore::CachedImage::image): |
+ * loader/cache/CachedImage.h: |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::drawPlatformResizerImage): |
+ (WebCore::RenderLayer::paintResizer): |
+ * rendering/RenderLayer.h: |
+ |
+ New static function to retrieve the deviceScaleFactor for callers that do not have |
+ direct access to a Page. |
+ * page/Page.cpp: |
+ (WebCore::Page::deviceScaleFactor): |
+ * page/Page.h: |
+ |
+ Call CachedImage::brokenImage() for the broken-image image at an accurate |
+ resolution. |
+ * rendering/RenderImage.cpp: |
+ (WebCore::RenderImage::imageSizeForError): |
+ (WebCore::RenderImage::paintReplaced): |
+ |
+2011-09-09 Erik Arvidsson <arv@chromium.org> |
+ |
+ Move Element.contains to Node |
+ https://bugs.webkit.org/show_bug.cgi?id=67651 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ This moves the contains method from Element to Node as in the DOM4 working draft: |
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains |
+ |
+ This also special cases Document contains to make it O(1) instead of O(depth). |
+ |
+ Tests: fast/dom/Node/contains-method.html |
+ perf/document-contains.html |
+ |
+ * bindings/objc/PublicDOMInterfaces.h: Move contains from DOMElement to DOMNode. |
+ * dom/Element.idl: |
+ * dom/Node.cpp: |
+ (WebCore::Node::contains): Added document special case. |
+ * dom/Node.idl: |
+ * editing/DeleteSelectionCommand.cpp: |
+ (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check. |
+ |
+2011-09-09 Tim Horton <timothy_horton@apple.com> |
+ |
+ Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow |
+ https://bugs.webkit.org/show_bug.cgi?id=67543 |
+ <rdar://problem/10070536> |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Generalize (begin|end)TransparencyLayer, which now forward |
+ through to (begin|end)PlatformTransparencyLayer, so that |
+ isInTransparencyLayer can exist on every platform. |
+ |
+ Make use of isInTransparencyLayer in FontMac to disable |
+ "simple" shadow drawing when the text is being rendered |
+ into a transparency layer. |
+ |
+ Test: svg/custom/simple-text-double-shadow.svg |
+ |
+ * platform/graphics/GraphicsContext.cpp: |
+ (WebCore::GraphicsContext::GraphicsContext): |
+ (WebCore::GraphicsContext::~GraphicsContext): |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ (WebCore::GraphicsContext::isInTransparencyLayer): |
+ * platform/graphics/GraphicsContext.h: |
+ * platform/graphics/cairo/GraphicsContextCairo.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: |
+ * platform/graphics/cg/GraphicsContextCG.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: |
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): |
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/mac/FontMac.mm: |
+ (WebCore::Font::drawGlyphs): |
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/qt/GraphicsContextQt.cpp: |
+ (WebCore::GraphicsContext::isInTransparencyLayer): |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/skia/GraphicsContextSkia.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/win/FontCGWin.cpp: |
+ (WebCore::drawGDIGlyphs): |
+ * platform/graphics/win/GraphicsContextCGWin.cpp: |
+ (WebCore::GraphicsContext::releaseWindowsContext): |
+ * platform/graphics/win/GraphicsContextCairoWin.cpp: |
+ (WebCore::GraphicsContext::releaseWindowsContext): |
+ * platform/graphics/win/GraphicsContextWin.cpp: |
+ (WebCore::GraphicsContext::getWindowsContext): |
+ * platform/graphics/wince/GraphicsContextWinCE.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/wx/GraphicsContextWx.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/win/ScrollbarThemeWin.cpp: |
+ * plugins/win/PluginViewWin.cpp: |
+ * rendering/RenderThemeWin.cpp: |
+ |
+2011-09-09 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ [V8] V8WebKitPoint::constructorCallback leaks |
+ https://bugs.webkit.org/show_bug.cgi?id=67865 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Covered by fast/js/instanceof-XMLHttpRequest.html under Valgrind. |
+ |
+ * bindings/v8/custom/V8WebKitPointConstructor.cpp: |
+ (WebCore::V8WebKitPoint::constructorCallback): Changed the code |
+ to use a RefPtr (per our usual style). Also use toV8 that will |
+ take care of properly wrapping the object. |
+ |
+2011-09-09 Chris Rogers <crogers@google.com> |
+ |
+ HRTFDatabaseLoader should not call WTF::waitForThreadCompletion() more than once |
+ https://bugs.webkit.org/show_bug.cgi?id=67866 |
+ |
+ Reviewed by David Levin. |
+ |
+ No new tests since this is difficult to test. |
+ This is designed to fix existing webaudio layout test failures. |
+ |
+ * platform/audio/HRTFDatabaseLoader.cpp: |
+ (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader): |
+ (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader): |
+ (WebCore::HRTFDatabaseLoader::loadAsynchronously): |
+ (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion): |
+ * platform/audio/HRTFDatabaseLoader.h: |
+ |
+2011-09-09 Jessie Berlin <jberlin@apple.com> |
+ |
+ Cookies are not available after turning off Private Browsing after the last window has been |
+ closed. |
+ https://bugs.webkit.org/show_bug.cgi?id=67874 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ The private browsing storage session is a global setting that is being incorrectly set on a |
+ per-page basis (see http://webkit.org/b/67870). |
+ |
+ In this case, the global value was getting out of sync with the per-page setting: |
+ 1. The global value was getting set to true when setPrivateBrowsingEnabled(true) was called. |
+ 2. All Pages were then closed, destroying their Settings objects. |
+ 3. When a new Page was created, a new Settings object was created and its |
+ m_privateBrowsingEnabled value was getting set to false. |
+ 4. The WebPage settings were then applied to the new Settings object, resulting in |
+ setPrivateBrowsingEnabled(false) to be called. |
+ 5. An if (m_privateBrowsingEnabled == privateBrowsingEnabled) early return prevented the |
+ global value for the storage session from being destroyed. |
+ |
+ * page/Settings.cpp: |
+ (WebCore::Settings::setPrivateBrowsingEnabled): |
+ Move the early return to be after setting the global private browsing values, and add a |
+ clearer comment + FIXME. |
+ |
+2011-09-09 Kentaro Hara <haraken@google.com> |
+ |
+ Generate a WebKitCSSMatrix constructor of V8 using the IDL 'Constructor' extended attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=67458 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Added a 'CallWithNullValue' extended attribute. |
+ If a parameter is optional and missing, 'CallWithDefaultValue' |
+ handles it as a string "undefined". On the other hand, |
+ 'CallWithNullValue' handles it as a null string |
+ (Note: not a string "null", but a null string). |
+ |
+ Tests: fast/dom/Window/custom-constructors.html |
+ transforms/svg-vs-css.xhtml |
+ transforms/cssmatrix-2d-interface.xhtml |
+ transforms/cssmatrix-3d-interface.xhtmlGenerate a WebKitCSSMatrix constructor |
+ |
+ * WebCore.gypi: Removed V8WebKitCSSMatrixConstructor.cpp. |
+ * WebCore.pro: Removed V8WebKitCSSMatrixConstructor.cpp. |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateParametersCheck): If the 'CallWithNullValue' extended attribute is set, we call MAYBE_MISSING_PARAMETER() with MissingIsEmpty mode to obtain a maybe missing parameter. Otherwise, we call MAYBE_MISSING_PARAMETER() with MissingIsUndefined mode. |
+ (RequiresCustomSignature): |
+ * bindings/scripts/test/V8/V8TestInterface.cpp: Updated test results. |
+ (WebCore::V8TestInterface::constructorCallback): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto. |
+ (WebCore::TestMediaQueryListListenerInternal::methodCallback): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: Ditto. |
+ (WebCore::TestObjInternal::voidMethodWithArgsCallback): |
+ (WebCore::TestObjInternal::intMethodWithArgsCallback): |
+ (WebCore::TestObjInternal::objMethodWithArgsCallback): |
+ (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback): |
+ (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback): |
+ (WebCore::TestObjInternal::optionsObjectCallback): |
+ (WebCore::TestObjInternal::customArgsAndExceptionCallback): |
+ (WebCore::TestObjInternal::withDynamicFrameAndArgCallback): |
+ (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): |
+ (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): |
+ (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): |
+ (WebCore::TestObjInternal::methodWithOptionalArgCallback): |
+ (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): |
+ (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): |
+ (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): |
+ (WebCore::TestObjInternal::overloadedMethod1Callback): |
+ (WebCore::TestObjInternal::overloadedMethod2Callback): |
+ (WebCore::TestObjInternal::overloadedMethod3Callback): |
+ (WebCore::TestObjInternal::overloadedMethod4Callback): |
+ (WebCore::TestObjInternal::classMethodWithOptionalCallback): |
+ (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): |
+ (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): |
+ * bindings/v8/V8Binding.h: |
+ (WebCore::V8ParameterBase::prepareBase): The fact that V8ParameterBase does not have any object means that we do not need to prepare anything, i.e. we should just return true in this case. |
+ (WebCore::::prepare): If V8ParameterBase does not have any object, then we set a null string. |
+ * bindings/v8/custom/V8BindingMacros.h: MAYBE_MISSING_PARAMETER() returns the parameter of a given index if the parameter exists. If the parameter does not exist and MissingIsUndefined is set, this macro returns an object that represents undefined. If the parameter does not exist and MissingIsEmpty is set, this macro returns an empty object. |
+ * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Removed. |
+ * css/WebKitCSSMatrix.idl: Added the 'Constructor' extended attribute. |
+ |
+2011-09-09 Geoffrey Garen <ggaren@apple.com> |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ Removed ENABLE(SINGLE_THREADED) support, since it is always false |
+ https://bugs.webkit.org/show_bug.cgi?id=67862 |
+ |
+ Next step toward making the baseline platform assumption that threads exist. |
+ |
+ * WebCore.pri: |
+ * features.pri: |
+ * platform/sql/SQLiteDatabase.cpp: |
+ (WebCore::SQLiteDatabase::interrupt): Removed now-dead code. |
+ |
+2011-09-09 Fady Samuel <fsamuel@chromium.org> |
+ |
+ Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp} |
+ https://bugs.webkit.org/show_bug.cgi?id=67250 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ No new tests because there's no change in functionality. |
+ |
+ * WebCore.exp.in: |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::styleForDocument): |
+ * dom/Element.cpp: |
+ (WebCore::Element::getClientRects): |
+ (WebCore::Element::getBoundingClientRect): |
+ * dom/Range.cpp: |
+ (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale): |
+ * loader/HistoryController.cpp: |
+ (WebCore::HistoryController::restoreScrollPositionAndViewState): |
+ * page/Frame.cpp: |
+ (WebCore::Frame::Frame): |
+ (WebCore::Frame::pageScaleFactor): |
+ * page/Frame.h: |
+ * page/Page.cpp: |
+ (WebCore::Page::Page): |
+ (WebCore::Page::setPageScaleFactor): |
+ * page/Page.h: |
+ (WebCore::Page::pageScaleFactor): |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): |
+ (WebCore::RenderLayerCompositor::pageScaleFactor): |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::paintBoxDecorations): |
+ |
+2011-09-09 Dominic Mazzoni <dmazzoni@google.com> |
+ |
+ AX: Images within anchors causes crash |
+ https://bugs.webkit.org/show_bug.cgi?id=44149 |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Fixes the way parent RenderObject of an AccessibilityRenderObject |
+ is computed in the presence of adjacent continuations. |
+ |
+ Test: accessibility/div-within-anchors-causes-crash.html |
+ |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::renderParentObject): |
+ |
+2011-09-09 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org> |
+ |
+ CSS rules not being applied when a hidden field is inserted between an input[type=checkbox] and a label |
+ https://bugs.webkit.org/show_bug.cgi?id=66887 |
+ |
+ Reviewed by David Hyatt. |
+ |
+ Test: fast/css/adjacent-sibling-selector.html |
+ |
+ This patch addresses the problem of elements not getting their style recomputed |
+ when they are affected by direct adjacent sibling rules and one of their sibling in |
+ their corresponding rules is modified dynamically. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::canShareStyleWithElement): |
+ (WebCore::parentStylePreventsSharing): |
+ * css/SelectorChecker.cpp: |
+ (WebCore::SelectorChecker::checkSelector): |
+ * dom/Element.cpp: |
+ (WebCore::Element::recalcStyle): |
+ (WebCore::checkForSiblingStyleChanges): |
+ * rendering/style/RenderStyle.cpp: |
+ (WebCore::RenderStyle::RenderStyle): |
+ * rendering/style/RenderStyle.h: |
+ (WebCore::InheritedFlags::affectedByDirectAdjacentRules): |
+ (WebCore::InheritedFlags::setAffectedByDirectAdjacentRules): |
+ |
+2011-09-09 Rafael Antognolli <antognolli@profusion.mobi> |
+ |
+ Make the EFL port use the correct rendering file. |
+ https://bugs.webkit.org/show_bug.cgi?id=66323 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ When compiling with Pango support, the EFL port should use |
+ FontPango.cpp instead of FontEfl.cpp (which is just full of stubs). |
+ |
+ No new functionality so no new tests. |
+ |
+ * CMakeListsEfl.txt: |
+ |
+2011-09-09 Chris Rogers <crogers@google.com> |
+ |
+ AudioBufferSourceNode must validate AudioBuffer in .buffer attribute setter |
+ https://bugs.webkit.org/show_bug.cgi?id=67749 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Test: webaudio/audiobuffersource-channels.html |
+ |
+ * WebCore.gypi: |
+ * bindings/js/JSAudioBufferSourceNodeCustom.cpp: |
+ (WebCore::JSAudioBufferSourceNode::setBuffer): |
+ * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp: Copied from Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp. |
+ (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter): |
+ * webaudio/AudioBufferSourceNode.cpp: |
+ (WebCore::AudioBufferSourceNode::setBuffer): |
+ * webaudio/AudioBufferSourceNode.h: |
+ * webaudio/AudioBufferSourceNode.idl: |
+ |
+2011-09-09 Dan Bernstein <mitz@apple.com> |
+ |
+ RenderBlock::addOverhangingFloats() takes superfluous parameters |
+ https://bugs.webkit.org/show_bug.cgi?id=67863 |
+ |
+ Reviewed by Dave Hyatt. |
+ |
+ No new tests, because behavior is unchanged. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::layoutBlock): |
+ (WebCore::RenderBlock::layoutBlockChild): |
+ (WebCore::RenderBlock::addOverhangingFloats): Removed the logical{Left, Top}Offset parameters, |
+ since they were always the inverse of the logical{Left, Top}() of the child parameter. |
+ * rendering/RenderBlock.h: |
+ |
+2011-09-09 Rafael Antognolli <antognolli@profusion.mobi> |
+ |
+ Add replacement functions for gdk ones. |
+ https://bugs.webkit.org/show_bug.cgi?id=66323 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ This will allow the EFL port to don't depend on gdk anymore. |
+ |
+ No new functionality so no new tests. |
+ |
+ * CMakeListsEfl.txt: |
+ * platform/graphics/cairo/CairoUtilities.cpp: |
+ (WebCore::appendRegionToCairoContext): |
+ * platform/graphics/cairo/CairoUtilities.h: |
+ * platform/graphics/pango/FontPango.cpp: |
+ (WebCore::drawGlyphsShadow): |
+ (WebCore::Font::drawComplexText): |
+ * platform/graphics/pango/PangoUtilities.cpp: Added. |
+ (WebCore::getLineClipRegionFromLayoutIter): |
+ (WebCore::getClipRegionFromPangoLayoutLine): |
+ * platform/graphics/pango/PangoUtilities.h: Added. |
+ |
+2011-09-09 Mark Hahnenberg <mhahnenberg@apple.com> |
+ |
+ Unzip initialization lists and constructors in JSCell hierarchy (5/7) |
+ https://bugs.webkit.org/show_bug.cgi?id=67420 |
+ |
+ Reviewed by Geoffrey Garen. |
+ |
+ No new tests. |
+ |
+ Completed the fifth level of the refactoring to add finishCreation() |
+ methods to all classes within the JSCell hierarchy with non-trivial |
+ constructor bodies. |
+ |
+ This primarily consists of pushing the calls to finishCreation() down |
+ into the constructors of the subclasses of the second level of the hierarchy |
+ as well as pulling the finishCreation() calls out into the class's corresponding |
+ create() method if it has one. Doing both simultaneously allows us to |
+ maintain the invariant that the finishCreation() method chain is called exactly |
+ once during the creation of an object, since calling it any other number of |
+ times (0, 2, or more) will cause an assertion failure. |
+ |
+ * WebCore.exp.in: |
+ * bindings/js/JSDOMBinding.h: |
+ (WebCore::DOMConstructorObject::DOMConstructorObject): |
+ * bindings/js/JSDOMGlobalObject.cpp: |
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): |
+ (WebCore::JSDOMGlobalObject::finishCreation): |
+ * bindings/js/JSDOMGlobalObject.h: |
+ * bindings/js/JSDOMWindowShell.cpp: |
+ * bindings/js/JSDOMWindowShell.h: |
+ (WebCore::JSDOMWindowShell::create): |
+ * bindings/js/JSDOMWrapper.h: |
+ (WebCore::JSDOMWrapper::JSDOMWrapper): |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateImplementation): |
+ * bindings/scripts/test/JS/JSTestInterface.cpp: |
+ (WebCore::JSTestInterface::JSTestInterface): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
+ (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObj::JSTestObj): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
+ (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface): |
+ * bridge/c/CRuntimeObject.cpp: |
+ (JSC::Bindings::CRuntimeObject::CRuntimeObject): |
+ (JSC::Bindings::CRuntimeObject::finishCreation): |
+ * bridge/c/CRuntimeObject.h: |
+ * bridge/jni/jsc/JavaRuntimeObject.cpp: |
+ (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject): |
+ (JSC::Bindings::JavaRuntimeObject::finishCreation): |
+ * bridge/jni/jsc/JavaRuntimeObject.h: |
+ * bridge/objc/ObjCRuntimeObject.h: |
+ * bridge/objc/ObjCRuntimeObject.mm: |
+ (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject): |
+ (JSC::Bindings::ObjCRuntimeObject::finishCreation): |
+ * bridge/objc/objc_runtime.h: |
+ (JSC::Bindings::ObjcFallbackObjectImp::create): |
+ * bridge/objc/objc_runtime.mm: |
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): |
+ * bridge/qt/qt_instance.cpp: |
+ (JSC::Bindings::QtRuntimeObject::QtRuntimeObject): |
+ * bridge/qt/qt_pixmapruntime.cpp: |
+ (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject): |
+ * bridge/qt/qt_runtime.cpp: |
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): |
+ (JSC::Bindings::QtRuntimeMethod::finishCreation): |
+ * bridge/qt/qt_runtime.h: |
+ * bridge/runtime_array.cpp: |
+ (JSC::RuntimeArray::RuntimeArray): |
+ * bridge/runtime_array.h: |
+ (JSC::RuntimeArray::create): |
+ * bridge/runtime_method.cpp: |
+ (JSC::RuntimeMethod::RuntimeMethod): |
+ (JSC::RuntimeMethod::finishCreation): |
+ * bridge/runtime_method.h: |
+ * bridge/runtime_object.cpp: |
+ (JSC::Bindings::RuntimeObject::RuntimeObject): |
+ * bridge/runtime_object.h: |
+ (JSC::Bindings::RuntimeObject::create): |
+ |
+2011-09-09 Rafael Antognolli <antognolli@profusion.mobi> |
+ |
+ Rename FontGtk.cpp to FontPango.cpp |
+ https://bugs.webkit.org/show_bug.cgi?id=66323 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ This file will be used by the EFL port too, and since it's not GTK |
+ specific anymore, rename it to something better. |
+ |
+ No new functionality so no new tests. |
+ |
+ * GNUmakefile.list.am: |
+ * platform/graphics/pango/FontPango.cpp: Renamed from Source/WebCore/platform/graphics/gtk/FontGtk.cpp. |
+ |
+2011-09-09 Adam Klein <adamk@chromium.org> |
+ |
+ Initialize ExceptionCode in Element::removeAttribute |
+ https://bugs.webkit.org/show_bug.cgi?id=67820 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Silences valgrind warning reported in http://crbug.com/76490. |
+ |
+ No new tests since this would only very occasionally be flaky, |
+ and in the codepath in the valgrind report, the ec is ignored anyway. |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::removeAttribute): Initialize ec to 0. |
+ |
+2011-09-09 Laszlo Gombos <laszlo.1.gombos@nokia.com> |
+ |
+ [Qt] Remove common.pri |
+ https://bugs.webkit.org/show_bug.cgi?id=67814 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ No new tests, no change in functionality. |
+ |
+ * CodeGenerators.pri: |
+ * WebCore.pri: |
+ |
+2011-09-09 Dominic Mazzoni <dmazzoni@google.com> |
+ |
+ Assert being hit in AccessibilityRenderObject::addChildren() |
+ https://bugs.webkit.org/show_bug.cgi?id=61805 |
+ |
+ Reviewed by Chris Fleizach. |
+ |
+ Fix nextSibling and previousSibling to handle adjacent continuations |
+ properly, otherwise nodes end up appearing in the accessibility |
+ tree twice (or a debug assertion could be raised). |
+ |
+ Test: accessibility/adjacent-continuations-cause-assertion-failure.html |
+ |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::previousSibling): |
+ (WebCore::AccessibilityRenderObject::nextSibling): |
+ |
+2011-09-08 Kentaro Hara <haraken@google.com> |
+ |
+ Implement a WebKitAnimationEvent constructor. |
+ https://bugs.webkit.org/show_bug.cgi?id=67825 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ There is no spec for the WebKitAnimationEvent constructor |
+ since it is WebKit-specific. However, based on the current |
+ IDL of initWebKitAnimationEvent(), the constructor IDL |
+ should be as follows. |
+ |
+ [Constructor(DOMString type, optional WebKitAnimationEventInit eventInitDict)] |
+ interface WebKitAnimationEvent : Event { |
+ ...; |
+ } |
+ |
+ dictionary WebKitAnimationEventInit : EventInit { |
+ DOMString animationName; |
+ double elapsedTime; |
+ } |
+ |
+ Test: fast/events/constructors/webkit-animation-event-constructor.html |
+ |
+ * bindings/generic/EventConstructors.h: Added a definition for the WebKitAnimationEvent constructor. |
+ * bindings/js/JSEventConstructors.cpp: Added #includes for WebKitAnimationEvent. |
+ * dom/WebKitAnimationEvent.cpp: |
+ (WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit): |
+ (WebCore::WebKitAnimationEvent::WebKitAnimationEvent): |
+ * dom/WebKitAnimationEvent.h: Added a definition for WebKitAnimationEventInit. |
+ (WebCore::WebKitAnimationEvent::create): |
+ * dom/WebKitAnimationEvent.idl: Makes WebKitAnimationEvent constructible. |
+ |
+2011-09-08 Abhishek Arya <inferno@chromium.org> |
+ |
+ :before content rendering issues with list markers and run-ins. |
+ https://bugs.webkit.org/show_bug.cgi?id=67735 |
+ |
+ 1) Remove the isAnonymous checks for run-in detection since the |
+ run-in can belong to a node. |
+ 2) When the parent has block children, then the list marker will |
+ be enclosed in an anonymous block. In that case, for going to the |
+ next list marker, we need to traverse one level up. We don't need |
+ this check when searching for generated run-in (loop 2), since we |
+ know parent will have inline children, so the list marker wont be |
+ enclosed in an anonymous block. |
+ |
+ Reviewed by Dave Hyatt. |
+ |
+ Tests: fast/lists/list-marker-before-content-table.html |
+ fast/runin/runin-generated-before-content.html |
+ |
+ * rendering/RenderObjectChildList.cpp: |
+ (WebCore::RenderObjectChildList::beforePseudoElementRenderer): |
+ |
+2011-09-09 Pavel Podivilov <podivilov@chromium.org> |
+ |
+ Web Inspector: introduce JavaScriptSourceFrame class. |
+ https://bugs.webkit.org/show_bug.cgi?id=67838 |
+ |
+ SourceFrame should not deal with JavaScript debugging since it is a base class for all source frame implementations. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/front-end/JavaScriptSourceFrame.js: Added. |
+ (WebInspector.JavaScriptSourceFrame): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel): moved from ScriptsPanel.js |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggingSupported): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSource): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.debuggerPaused): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult): |
+ (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype._createSourceFrame): |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ |
+2011-09-09 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94845. |
+ http://trac.webkit.org/changeset/94845 |
+ https://bugs.webkit.org/show_bug.cgi?id=67839 |
+ |
+ This patch kicked Qt-SL bots, but we don't need this |
+ modification. (Requested by ossy_ on #webkit). |
+ |
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
+ * platform/mac/WebVideoFullscreenController.mm: |
+ * platform/mac/WebVideoFullscreenHUDWindowController.mm: |
+ |
+2011-09-09 Csaba Osztrogonác <ossy@webkit.org> |
+ |
+ [Qt][Mac]REGRESSION(r94774): Build is broken |
+ https://bugs.webkit.org/show_bug.cgi?id=67799 |
+ |
+ It seems these files didn't rebuilt because of a |
+ dependency bug. Touch them to trigger a rebuild. |
+ |
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
+ * platform/mac/WebVideoFullscreenController.mm: |
+ * platform/mac/WebVideoFullscreenHUDWindowController.mm: |
+ |
+2011-09-09 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Unreviewed, Chromium valgrind build fix. |
+ |
+ Web Inspector: [Chromium] Valgrind signals use of uninitialized field in InspectorStyleSheetForInlineStyle |
+ https://bugs.webkit.org/show_bug.cgi?id=67837 |
+ |
+ * inspector/InspectorStyleSheet.cpp: |
+ (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): |
+ |
+2011-09-09 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94536. |
+ http://trac.webkit.org/changeset/94536 |
+ https://bugs.webkit.org/show_bug.cgi?id=67836 |
+ |
+ breaks absoluteLocation() of RelatedMouseEvent (Requested by |
+ jknotten on #webkit). |
+ |
+ * dom/MouseRelatedEvent.cpp: |
+ (WebCore::MouseRelatedEvent::MouseRelatedEvent): |
+ |
+2011-09-08 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Web Inspector: live edit both for JS and CSS is not discoverable. |
+ https://bugs.webkit.org/show_bug.cgi?id=65962 |
+ |
+ Add the "Edit" button to SourceFrame, so that resources/scripts can be edited both in the |
+ Resources and the Scripts panels. The button is grayed out if the resource/script is not editable. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/Images/statusbarButtonGlyphs.png: |
+ * inspector/front-end/ResourceView.js: |
+ (WebInspector.EditableResourceSourceFrame.prototype.canEditSource): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype.get statusBarItems): |
+ (WebInspector.ScriptsPanel.prototype.set visibleView): |
+ * inspector/front-end/SourceFrame.js: |
+ (WebInspector.SourceFrame): |
+ (WebInspector.SourceFrame.prototype.get statusBarItems): |
+ (WebInspector.SourceFrame.prototype._initializeTextViewer): |
+ (WebInspector.SourceFrame.prototype._editButtonClicked): |
+ (WebInspector.SourceFrame.prototype.canEditSource): |
+ (WebInspector.SourceFrame.prototype.startEditing): |
+ (WebInspector.SourceFrame.prototype.commitEditing): |
+ (WebInspector.SourceFrame.prototype._setReadOnly): |
+ (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick): |
+ * inspector/front-end/TextViewer.js: |
+ (WebInspector.TextEditorMainPanel.prototype.set readOnly): |
+ (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing): |
+ * inspector/front-end/inspector.css: |
+ (button.edit-source-status-bar-item .glyph): |
+ (button.edit-source-status-bar-item.toggled-on .glyph): |
+ |
+2011-09-09 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Crashes in WebCore::AppendNodeCommand::create(). |
+ https://bugs.webkit.org/show_bug.cgi?id=67767 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ In CompositeEditCommand::closeParagraphUnderNewElement(), lastNode could be a non Element node. |
+ The current code assumes lastNode is an Element node. This patch checks it. |
+ |
+ Test: editing/execCommand/ident-crashes-topnode-is-text.html |
+ |
+ * editing/CompositeEditCommand.cpp: |
+ (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added an element node check. |
+ |
+2011-09-09 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Crashes in WebCore::ApplyStyleCommand.doApply() |
+ https://bugs.webkit.org/show_bug.cgi?id=67765 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ WebCore::enclosingBlock may return null, but ApplyStyleCommand::applyBlockStyle did not check it. This patch make it to be checked. |
+ |
+ Test: editing/style/remove-format-without-enclosing-block.html |
+ |
+ * editing/ApplyStyleCommand.cpp: |
+ (WebCore::ApplyStyleCommand::applyBlockStyle): Added null check. |
+ |
+2011-09-09 James Simonsen <simonjam@chromium.org> |
+ |
+ [Chromium] Fix leak of Skia stream with custom CSS fonts |
+ https://bugs.webkit.org/show_bug.cgi?id=67815 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Test: fast/css/font-face-opentype.html under valgrind |
+ |
+ * platform/graphics/mac/FontCustomPlatformData.cpp: |
+ (WebCore::createFontCustomPlatformData): |
+ * platform/graphics/skia/FontCustomPlatformData.cpp: |
+ (WebCore::createFontCustomPlatformData): |
+ |
+2011-09-07 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Push more code from HTMLInputElement::setValue to TextFieldInputType::setValue |
+ https://bugs.webkit.org/show_bug.cgi?id=67742 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Moved more code in HTMLInputElement::setValue to TextFieldInputType::setValue, and merged |
+ InputType::valueChanged into InputType::setValue. Also introduced |
+ InputType::dispatchChangeEventInResponseToSetValue to be overridden by TextFieldInputType. |
+ |
+ * html/BaseButtonInputType.cpp: |
+ (WebCore::BaseButtonInputType::setValue): |
+ * html/BaseButtonInputType.h: |
+ * html/BaseCheckableInputType.cpp: |
+ (WebCore::BaseCheckableInputType::setValue): |
+ * html/BaseCheckableInputType.h: |
+ * html/ColorInputType.cpp: |
+ * html/ColorInputType.h: |
+ * html/FileInputType.cpp: |
+ (WebCore::FileInputType::setValue): |
+ * html/FileInputType.h: |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::setValue): |
+ * html/HTMLInputElement.h: |
+ (WebCore::HTMLInputElement::cacheSelectionInResponseToSetValue): |
+ * html/HiddenInputType.cpp: |
+ (WebCore::HiddenInputType::setValue): |
+ * html/HiddenInputType.h: |
+ * html/InputType.cpp: |
+ (WebCore::InputType::setValue): |
+ (WebCore::InputType::dispatchChangeEventInResponseToSetValue): |
+ * html/InputType.h: |
+ * html/RangeInputType.cpp: |
+ (WebCore::RangeInputType::setValue): |
+ * html/RangeInputType.h: |
+ * html/TextFieldInputType.cpp: |
+ (WebCore::TextFieldInputType::setValue): |
+ (WebCore::TextFieldInputType::dispatchChangeEventInResponseToSetValue): |
+ * html/TextFieldInputType.h: |
+ |
+2011-09-08 Annie Sullivan <sullivan@chromium.org> |
+ |
+ Crashes in WebCore::InsertNodeBeforeCommand constructor. |
+ https://bugs.webkit.org/show_bug.cgi?id=67763 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Changes editableRootForPosition() to use the position's containerNode instead of deprecatedNode so that |
+ positions which are before or after a given node cannot return that node as the editable root. |
+ |
+ Test: editing/inserting/insert-paragraph-selection-outside-contenteditable.html |
+ |
+ * editing/htmlediting.cpp: |
+ (WebCore::editableRootForPosition): use containerNode instead of deprecatedNode. |
+ |
+2011-09-08 James Weatherall <wez@chromium.org> |
+ |
+ Release the reference to the HTMLPlugInElement's script object, when the element is removed from the document. This breaks a cyclical reference that would otherwise cause the element to be retained until the document is torn down. |
+ https://bugs.webkit.org/show_bug.cgi?id=66181 |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ No new tests - no functional change. |
+ |
+ * html/HTMLPlugInElement.cpp: |
+ (WebCore::HTMLPlugInElement::removedFromDocument): |
+ * html/HTMLPlugInElement.h: |
+ |
+2011-09-08 Daniel Bates <dbates@webkit.org> |
+ |
+ XSS filter bypass via non-standard URL encoding |
+ https://bugs.webkit.org/show_bug.cgi?id=66588 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Tests: http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html |
+ http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html |
+ http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html |
+ http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html |
+ http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html |
+ http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html |
+ http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html |
+ http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html |
+ |
+ Implement support for decoding non-standard 16-bit Unicode escape sequences of |
+ the form %u26C4 as described in <http://www.w3.org/International/iri-edit/draft-duerst-iri.html#anchor29>. |
+ |
+ See also <http://en.wikipedia.org/wiki/Percent-encoding#Non-standard_implementations>. |
+ |
+ * GNUmakefile.list.am: Added DecodeEscapeSequences.h. |
+ * WebCore.gypi: Ditto. |
+ * WebCore.pro: Ditto. |
+ * WebCore.vcproj/WebCore.vcproj: Ditto. |
+ * WebCore.xcodeproj/project.pbxproj: Ditto. |
+ * html/parser/XSSAuditor.cpp: |
+ (WebCore::decode16BitUnicodeEscapeSequences): Added. |
+ (WebCore::decodeStandardURLEscapeSequences): Added. |
+ (WebCore::fullyDecodeString): Modified to call decode16BitUnicodeEscapeSequences(). |
+ (WebCore::XSSAuditor::init): Modified to return early when the URL of the document |
+ is the empty string. This can happen when opening a new browser window or calling |
+ window.open(""). |
+ * platform/KURL.cpp: |
+ (WebCore::decodeURLEscapeSequences): Abstracted code into template-function decodeEscapeSequences(). |
+ This function just calls decodeEscapeSequences<URLEscapeSequence>(). |
+ * platform/text/DecodeEscapeSequences.h: Added. |
+ (WebCore::Unicode16BitEscapeSequence::findInString): |
+ (WebCore::Unicode16BitEscapeSequence::matchStringPrefix): |
+ (WebCore::Unicode16BitEscapeSequence::decodeRun): |
+ (WebCore::URLEscapeSequence::findInString): |
+ (WebCore::URLEscapeSequence::matchStringPrefix): |
+ (WebCore::URLEscapeSequence::decodeRun): |
+ (WebCore::decodeEscapeSequences): |
+ |
+2011-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ DocumentWriter::deprecatedFrameEncoding doesn't need to refert to Settings |
+ https://bugs.webkit.org/show_bug.cgi?id=67812 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ The one caller of this function does this work already. |
+ |
+ * loader/DocumentWriter.cpp: |
+ (WebCore::DocumentWriter::deprecatedFrameEncoding): |
+ |
+2011-09-08 Adam Klein <adamk@chromium.org> |
+ |
+ Always zero-out m_sortedTextBoxesPosition to avoid uninitialized read in TextIterator |
+ https://bugs.webkit.org/show_bug.cgi?id=67810 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Reported as a valgrind failure in http://crbug.com/84777. |
+ |
+ No possible change in behavior, so no tests. The unitialized read |
+ could never have an impact: |
+ |
+ if (m_sortedTextBoxesPosition + 1 < m_sortedTextBoxes.size()) ... |
+ |
+ Since m_sortedTextBoxes.size() will be zero here if |
+ m_sortedTextBoxesPosition is uninitialized, and they're both unsigned, |
+ so no possible value of m_sortedTextBoxesPosition could be < 0. |
+ |
+ * editing/TextIterator.cpp: |
+ (WebCore::TextIterator::TextIterator): |
+ |
+2011-09-08 Tony Chang <tony@chromium.org> |
+ |
+ Cleanup of switch statements with default cases |
+ https://bugs.webkit.org/show_bug.cgi?id=67808 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ No new tests, just a small refactoring. |
+ |
+ * page/WebKitAnimation.cpp: |
+ (WebCore::WebKitAnimation::fillMode): |
+ * platform/audio/Distance.cpp: |
+ (WebCore::DistanceEffect::gain): |
+ |
+2011-09-08 Eric Seidel <eric@webkit.org> |
+ |
+ [BiDi] Add support for the BDI element |
+ https://bugs.webkit.org/show_bug.cgi?id=50913 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ This patch is ridiculously trivial now that we have unicode-bidi: isolate support in WebKit. |
+ |
+ Test: css3/bdi-element.html |
+ |
+ * css/html.css: |
+ (bdi): |
+ |
+2011-09-08 David Levin <levin@chromium.org> |
+ |
+ [chromium] KURL::copy doesn't produce something usable on another thread. |
+ https://bugs.webkit.org/show_bug.cgi?id=67809 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ No new functionality exposed so no new test. This was caught by testing code: the thread |
+ sanitizer run in Chromium (http://code.google.com/p/chromium/issues/detail?id=93708). |
+ |
+ * platform/KURLGoogle.cpp: |
+ (WebCore::KURLGooglePrivate::copyTo): Clear out the invalid String so that it will |
+ not be used on another thread. |
+ |
+2011-09-08 Alexey Proskuryakov <ap@apple.com> |
+ |
+ REGRESSION (r66874): Missing RefPtr in ScriptController |
+ https://bugs.webkit.org/show_bug.cgi?id=67748 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript): |
+ |
+2011-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Second attempt to fix Chromium build. |
+ |
+ * dom/Document.h: |
+ |
+2011-09-08 Oliver Hunt <oliver@apple.com> |
+ |
+ Use bump allocator for initial property storage |
+ https://bugs.webkit.org/show_bug.cgi?id=67494 |
+ |
+ Reviewed by Geoffrey Garen. |
+ |
+ Add a forwarding header. |
+ |
+ * ForwardingHeaders/runtime/StorageBarrier.h: Added. |
+ |
+2011-09-08 Roland Steiner <rolandsteiner@chromium.org> |
+ |
+ Unreviewed, rolling out r94809. |
+ http://trac.webkit.org/changeset/94809 |
+ https://bugs.webkit.org/show_bug.cgi?id=67718 |
+ |
+ commit _still_ premature, despite CQ eagerness |
+ |
+ * html/HTMLAttributeNames.in: |
+ * html/HTMLStyleElement.cpp: |
+ * html/HTMLStyleElement.h: |
+ * html/HTMLStyleElement.idl: |
+ |
+2011-09-08 Sam Weinig <sam@webkit.org> |
+ |
+ Remove the Completion object from JSC, I have never liked it |
+ https://bugs.webkit.org/show_bug.cgi?id=67755 |
+ |
+ Reviewed by Gavin Barraclough. |
+ |
+ * bindings/js/JSDOMBinding.cpp: |
+ (WebCore::reportException): |
+ * bindings/js/JSEventListener.cpp: |
+ (WebCore::JSEventListener::handleEvent): |
+ * bindings/js/JSInjectedScriptManager.cpp: |
+ (WebCore::InjectedScriptManager::createInjectedScript): |
+ * bindings/js/JSMainThreadExecState.h: |
+ (WebCore::JSMainThreadExecState::evaluate): |
+ * bindings/js/ScriptController.cpp: |
+ (WebCore::ScriptController::evaluateInWorld): |
+ * bindings/js/WorkerScriptController.cpp: |
+ (WebCore::WorkerScriptController::evaluate): |
+ * bindings/objc/WebScriptObject.mm: |
+ (-[WebScriptObject evaluateWebScript:]): |
+ * bridge/NP_jsobject.cpp: |
+ (_NPN_Evaluate): |
+ * bridge/jni/jni_jsobject.mm: |
+ (JavaJSObject::eval): |
+ |
+2011-09-08 Adam Barth <abarth@webkit.org> |
+ |
+ Inline DocumentWriter::encoding() into it's only caller: deprecatedFrameEncoding() |
+ https://bugs.webkit.org/show_bug.cgi?id=67807 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ This function is super nutty. We don't want any more folks to call it |
+ thinking that it does something sane. |
+ |
+ * loader/DocumentWriter.cpp: |
+ (WebCore::DocumentWriter::deprecatedFrameEncoding): |
+ * loader/DocumentWriter.h: |
+ |
+2011-09-08 Roland Steiner <rolandsteiner@chromium.org> |
+ |
+ <style scoped>: Add 'scoped' attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=67718 |
+ |
+ Add 'scoped' attribute to IDL and attribute list, |
+ implement and test setting/resetting of the attribute. |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Test: fast/css/style-scoped/basic-attribute.html |
+ |
+ * html/HTMLAttributeNames.in: |
+ * html/HTMLStyleElement.cpp: |
+ (WebCore::HTMLStyleElement::scoped): |
+ (WebCore::HTMLStyleElement::setScoped): |
+ (WebCore::HTMLStyleElement::scopingElement): |
+ * html/HTMLStyleElement.h: |
+ * html/HTMLStyleElement.idl: |
+ |
+2011-09-08 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94781. |
+ http://trac.webkit.org/changeset/94781 |
+ https://bugs.webkit.org/show_bug.cgi?id=67806 |
+ |
+ Broke Objective-C binding on Mac (Requested by rniwa on |
+ #webkit). |
+ |
+ * dom/Element.idl: |
+ * dom/Node.cpp: |
+ (WebCore::Node::contains): |
+ * dom/Node.idl: |
+ * editing/DeleteSelectionCommand.cpp: |
+ (WebCore::DeleteSelectionCommand::mergeParagraphs): |
+ |
+2011-09-08 Eric Seidel <eric@webkit.org> |
+ |
+ Remove DocumentWriter::setDecoder as a grep of WebKit shows no callers |
+ https://bugs.webkit.org/show_bug.cgi?id=67803 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Smells like dead code. |
+ |
+ * loader/DocumentWriter.cpp: |
+ * loader/DocumentWriter.h: |
+ |
+2011-09-08 Shinya Kawanaka <shinyak@google.com> |
+ |
+ Crashes in WebCore::ReplaceSelectionCommand::doApply |
+ https://bugs.webkit.org/show_bug.cgi?id=67762 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ WebCore::enclosingBlock may return null, but its return value was not checked. This patch checks it. |
+ |
+ Tests: editing/inserting/insert-without-enclosing-block.html |
+ |
+ * editing/ReplaceSelectionCommand.cpp: |
+ (WebCore::ReplaceSelectionCommand::doApply): Added null check. |
+ |
+2011-09-08 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94784. |
+ http://trac.webkit.org/changeset/94784 |
+ https://bugs.webkit.org/show_bug.cgi?id=67796 |
+ |
+ Commit was premature (Requested by rolandsteiner on #webkit). |
+ |
+ * html/HTMLAttributeNames.in: |
+ * html/HTMLStyleElement.cpp: |
+ * html/HTMLStyleElement.h: |
+ * html/HTMLStyleElement.idl: |
+ |
+2011-09-08 W. James MacLean <wjmaclean@chromium.org> |
+ |
+ [chromium] Add backend compositor support for rescaling (zooming) textures during zoom animation. |
+ https://bugs.webkit.org/show_bug.cgi?id=66472 |
+ |
+ This patch contains plumbing from Internals to WebViewImpl that can be removed |
+ at a later time when the zoom animator code is complete. |
+ |
+ Reviewed by James Robinson. |
+ |
+ Test: platform/chromium/compositing/zoom-animator-scale-test.html |
+ |
+ * page/Settings.cpp: |
+ (WebCore::Settings::Settings): |
+ * page/Settings.h: |
+ (WebCore::Settings::setZoomAnimatorScale): |
+ (WebCore::Settings::zoomAnimatorScale): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::LayerRendererChromium): |
+ (WebCore::LayerRendererChromium::drawLayersInternal): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (WebCore::LayerRendererChromium::setZoomAnimatorScale): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
+ (WebCore::CCLayerTreeHost::commitTo): |
+ (WebCore::CCLayerTreeHost::setZoomAnimatorScale): |
+ (WebCore::CCLayerTreeHost::updateLayers): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::setZoomAnimatorScale): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::setZoomAnimatorScale): |
+ * testing/Internals.h: |
+ * testing/Internals.idl: |
+ |
+2011-09-08 Eric Carlson <eric.carlson@apple.com> |
+ |
+ HTMLMediaElement is missing initialTime attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=67791 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Test: media/media-initialTime.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::initialTime): |
+ * html/HTMLMediaElement.h: |
+ * html/HTMLMediaElement.idl: |
+ * platform/graphics/MediaPlayer.cpp: |
+ (WebCore::MediaPlayer::initialTime): |
+ * platform/graphics/MediaPlayer.h: |
+ * platform/graphics/MediaPlayerPrivate.h: |
+ (WebCore::MediaPlayerPrivateInterface::initialTime): |
+ |
+2011-09-03 Robert Hogan <robert@webkit.org> |
+ |
+ Elements with position:absolute don't move to correct position after images load |
+ https://bugs.webkit.org/show_bug.cgi?id=54611 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Test: fast/block/positioning/absolute-layout-after-image-load.html |
+ |
+ In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, |
+ this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires |
+ the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. |
+ There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. |
+ |
+ Note: Although the issue is encountered only on first load without a fragment identifier, it |
+ happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so |
+ because scrolling to the fragment always happens before the image has loaded, rendering the page |
+ and clearing the initial dirty bits in the positioned element's renderer. When the image finally |
+ loads in this scenario, the positioned element is otherwise clean and relies on the above code to get |
+ re-rendered. |
+ |
+ Note: This was originally landed in r94755 but positioned-float-layout-after-image-load.html exposed |
+ an ASSERT bug, unrelated to this change, and was rolled out. That issue is tracked separately |
+ in bug 67759. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when |
+ deciding whether to mark children for layout |
+ |
+2011-09-08 Roland Steiner <rolandsteiner@chromium.org> |
+ |
+ <style scoped>: Add 'scoped' attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=67718 |
+ |
+ Add 'scoped' attribute to IDL and attribute list, |
+ implement and test setting/resetting of the attribute. |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Test: fast/css/style-scoped/basic-attribute.html |
+ |
+ * html/HTMLAttributeNames.in: |
+ * html/HTMLStyleElement.cpp: |
+ (WebCore::HTMLStyleElement::scoped): |
+ (WebCore::HTMLStyleElement::setScoped): |
+ (WebCore::HTMLStyleElement::scopingElement): |
+ * html/HTMLStyleElement.h: |
+ * html/HTMLStyleElement.idl: |
+ |
+2011-09-08 Erik Arvidsson <arv@chromium.org> |
+ |
+ Move Element.contains to Node |
+ https://bugs.webkit.org/show_bug.cgi?id=67651 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ This moves the contains method from Element to Node as in the DOM4 working draft: |
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-contains |
+ |
+ This also special cases Document contains to make it O(1) instead of O(depth). |
+ |
+ Tests: fast/dom/Node/contains-method.html |
+ perf/document-contains.html |
+ |
+ * dom/Element.idl: |
+ * dom/Node.cpp: |
+ (WebCore::Node::contains): Added document special case. |
+ * dom/Node.idl: |
+ * editing/DeleteSelectionCommand.cpp: |
+ (WebCore::DeleteSelectionCommand::mergeParagraphs): Added a null check. |
+ |
+2011-09-08 Chris Rogers <crogers@google.com> |
+ |
+ Check AudioContext createChannelMerger() for thread safety |
+ https://bugs.webkit.org/show_bug.cgi?id=67247 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Test: webaudio/audiochannelmerger-stereo.html |
+ |
+ * webaudio/AudioChannelMerger.cpp: |
+ (WebCore::AudioChannelMerger::process): |
+ (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput): |
+ * webaudio/AudioChannelMerger.h: |
+ |
+2011-09-08 Ned Holbrook <nholbrook@apple.com> |
+ |
+ Refactor hyphen measurement |
+ https://bugs.webkit.org/show_bug.cgi?id=67728 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ No new tests, purely refactoring. |
+ |
+ * rendering/RenderBlockLineLayout.cpp: |
+ (WebCore::measureHyphenWidth): Added. |
+ (WebCore::setLogicalWidthForTextRun): Use measureHyphenWidth(). |
+ (WebCore::tryHyphenating): Ditto. |
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak): Ditto. |
+ |
+2011-09-08 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Remove LayoutStateDisabler instances from RenderLayer |
+ https://bugs.webkit.org/show_bug.cgi?id=66896 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ As part of r93614, scrollTo does not call updateLayerPositions anymore. |
+ This means that we don't need to disable LayoutState from the scrolling code |
+ in RenderLayer. |
+ |
+ This change is covered by the existing tests. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::updateLayerPositions): Updated the comment |
+ that was not accurate anymore. Also explained what is wrong with |
+ LayoutState vs RenderLayer now. Note that the ASSERT is still |
+ valid and will not trigger as the remaining calls to updateLayerPositions |
+ are done *outside* layout() where LayoutState is not set (thus disabled). |
+ |
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed |
+ 2 LayoutStateDisabler surrounding scrollToOffset. |
+ |
+2011-09-08 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Factor out the code to get the first non-null RenderTableSection in RenderTable |
+ https://bugs.webkit.org/show_bug.cgi?id=66972 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Refactoring only, covered by existing tests. |
+ |
+ * accessibility/AccessibilityTable.cpp: |
+ (WebCore::AccessibilityTable::addChildren): |
+ (WebCore::AccessibilityTable::cellForColumnAndRow): |
+ * accessibility/AccessibilityTableCell.cpp: |
+ (WebCore::AccessibilityTableCell::rowIndexRange): |
+ Updated those for the signature change in sectionBelow. Also added |
+ a FIXME where topSection should be used instead of iterating |
+ over the section (and likely missing some corner cases). |
+ |
+ * rendering/FixedTableLayout.cpp: |
+ (WebCore::FixedTableLayout::calcWidthArray): |
+ * rendering/RenderTable.cpp: |
+ (WebCore::RenderTable::calcBorderStart): |
+ (WebCore::RenderTable::calcBorderEnd): |
+ (WebCore::RenderTable::outerBorderBefore): |
+ (WebCore::RenderTable::sectionAbove): |
+ (WebCore::RenderTable::sectionBelow): |
+ (WebCore::RenderTable::firstLineBoxBaseline): |
+ Updated all those functions to use the newly added functions. Also changed |
+ the variable names to match the functions. |
+ |
+ (WebCore::RenderTable::layout): |
+ (WebCore::RenderTable::topNonEmptySection): Newly added function |
+ that returns the top non null section of the table that has at least a |
+ row. |
+ |
+ (WebCore::RenderTable::cellAbove): |
+ (WebCore::RenderTable::cellBelow): |
+ Update the signature of those 2 functions to take an enum as it makes the |
+ rest of the code more readable. |
+ |
+ * rendering/RenderTable.h: |
+ (WebCore::RenderTable::topSection): Newly added function to return |
+ the top non null section in the table. |
+ |
+2011-04-19 Eric Seidel <eric@webkit.org> |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ [BiDi] [CSS3] MASTER: Add support for the unicode-bidi:isolate CSS property |
+ https://bugs.webkit.org/show_bug.cgi?id=50912 |
+ |
+ This patch adds support for CSS3 unicode-bidi: isolate property, under the -webkit- vendor prefix. |
+ Parsing support was added in a previous patch, this wires up the RenderStyle values |
+ to code changes in the BidiResolver. |
+ |
+ The effect of this patch is that it makes it possible to "isolate" runs of text |
+ so that their RTL-ness or LTR-ness does not bleed out into the rest of your text |
+ and effect layout. This is important because many unicode characters (like parenthesis, ':', '-', etc.) |
+ do not have intrinsic directionality and are affected by whatever characters come before/after. |
+ If you have usernames which include RTL text, if you inject those usernames in your page |
+ you might end up with nearby characters moving! |
+ (like 'RTL USERNAME - my awesome site' as a title, could end up as |
+ 'my awesome site - USERNAME RTL' when correct would be 'USERNAME RTL - my awesome site'.) |
+ This patch makes it possible to wrap sections of text in isolated spans, so that |
+ they correctly order all their RTL/LTR contents, but also correctly participate in the |
+ larger RTL/LTR ordering without affecting nearby characters. |
+ |
+ Because much of this code is old and rarely touched, I've included extra background |
+ information in hopes of expanding my set of potential reviewers: |
+ |
+ WebKit uses the standard "Unicode Bidi Algorithm" henceforth known as the UBA. |
+ The UBA is defined at http://unicode.org/reports/tr9/ for those not faint of heart. |
+ |
+ Text layout is done per-block (<div>, <p>, etc), and begins with a string of text |
+ (which in our case comes from the rendering tree) and a specified width. |
+ First: Text is measured and wrapped into lines. |
+ Second: The UBA is run over the lines of text. |
+ Third: WebKit builds InlineBoxes (its linebox tree) and eventually render the text. |
+ |
+ This patch modifies our UBA to ignore all text content inside "isolated" inlines (treating them as neutral characters) |
+ and then adds another step after running the UBA, where we run the UBA recursively on any |
+ previously identified "isolated" content. |
+ |
+ The result of the UBA is an ordered list of "runs" of text with the RTL runs |
+ correctly RTL and the LTR runs LTR. |
+ |
+ The UBA does three things: |
+ 1. It assigns a "class" to each character in a text stream (like neutral, strongly-RTL, strongly-LTR, etc.) |
+ 2. Divides the text stream up into "runs" of characters of the same directionality (all RTL, all LTR). |
+ 3. Re-orders those runs. |
+ |
+ The UBA in WebKit is implemented by BidiResolver<T> in BidiResolver.h |
+ |
+ The InlineBidiResolver (BidiResolver specialization which knows about the rendering tree) |
+ walks along its InlineIterators, looking at each character and running the |
+ Unicode Bidi Algorithm (UBA). It walks through the rendering tree subtree under |
+ a block, using a (poorly named) bidiNext function which returns the next inline object. |
+ Each inline object (or text character there-in) has a corresponding meaning in the UBA |
+ such as a "strong RTL" character or a "neutral" character. The UBA reads these sequence |
+ of characters, and figures out what direction (RTL or LTR) to assign to any neutral |
+ characters it encounters, based on surrounding characters. |
+ |
+ As the InlineBidiResolver is walking the rendering tree, the InlineIterator::advance() |
+ function calls bidiNext(), which in turn can call notifyObserverEnteredObject/notifyObserverWillExitObject |
+ notifying InlineBidiResolver that it is entering or exiting an "isolated" |
+ span, at which point it will either start or stop ignoring the stream of characters |
+ from the InlineIterator. When the InlineBidiResolver is ignoring the stream of |
+ characters, instead of creating separate BidiRuns at each RTL/LTR boundary |
+ as it normally would, it instead creates one "fake" run for the entire |
+ isolated span. These fake runs participate in the normal UBA run ordering process, |
+ but after the main UBA, a second pass is made where we examine |
+ the list of isolatedRuns() and run the UBA on each of them, replacing the fake |
+ run we previously inserted, with the resulting list of runs from that inner UBA run. |
+ The way it "ignores" characters is by treating them all as neutral when inside an isolate. |
+ Thus all the characters end up grouped in a single run, but their directionality (as a group) |
+ is correctly affected by any surrounding strong characters. |
+ |
+ If you understood that last paragraph, than the rest of the change is just plumbing. |
+ |
+ I added a huge number of FIXMEs to this code, because this code has a variety of |
+ design choices (or lack there of) which make some of this very difficult. |
+ |
+ For example the bidiNext iterator function has two sets of mutually exclusive |
+ parameters and can be used optionally with or without an observer. Prior to this |
+ change there was only ever one object which cared about observing a walk over inlines |
+ and that was InlineBidiResolver. This patch (regretfully) templatizes bidiNext |
+ to support a new Observer type. The correct fix would be to rip bidiNext into |
+ multiple functions and rip need for observation out of InlineBidiResolver. |
+ Unfortunately I've tried both in separate bugs and failed. This code is very very |
+ old and very poorly understood. We're slowly moving forward, this is another tiny step. |
+ |
+ This is my fourth iteration of this patch (I'm happy to do more!), but I believe |
+ it's a good compromise between fixing all of the design gotcha's of our bidi |
+ system and doing the minimum amount to add this killer CSS feature. |
+ |
+ I ran the PLT. (It averaged 0.2% faster with this change, but I attribute that to noise). |
+ |
+ Test: css3/unicode-bidi-isolate-basic.html and css3/unicode-bidi-isolate-aharon.html |
+ |
+ * platform/text/BidiResolver.h: |
+ (WebCore::BidiCharacterRun::setNext): |
+ - Needed by the new replaceRunWithRuns function. |
+ (WebCore::BidiResolver::BidiResolver): |
+ (WebCore::BidiResolver::~BidiResolver): |
+ (WebCore::BidiResolver::enterIsolate): |
+ (WebCore::BidiResolver::exitIsolate): |
+ (WebCore::BidiResolver::inIsolate): |
+ (WebCore::BidiResolver::isolatedRuns): |
+ - Used to track isolated spans of text as they're encoutered. |
+ They're stuffed away here to be processed recursively |
+ after the main UBA has done its thang. |
+ (WebCore::::appendRun): |
+ (WebCore::::embed): |
+ (WebCore::::commitExplicitEmbedding): |
+ (WebCore::::createBidiRunsForLine): |
+ * platform/text/BidiRunList.h: |
+ (WebCore::::replaceRunWithRuns): |
+ - This effectively takes all the runs from one runlist and adds them to |
+ this one, replacing the fake run we inserted during a previous pass of the UBA. |
+ - This RunList now owns the runs, so we call clear() on the other RunList |
+ so that we don't end up double-freeing the runs. |
+ (WebCore::::clear): |
+ - This allows us to "take" runs from another run list and then clear it. |
+ * rendering/BidiRun.h: |
+ (WebCore::BidiRun::object): |
+ * rendering/InlineIterator.h: |
+ (WebCore::InlineIterator::object): |
+ (WebCore::InlineIterator::offset): |
+ (WebCore::notifyObserverEnteredObject): Mostly just renaming and adding a FIXME about plaintext. |
+ (WebCore::notifyObserverWillExitObject): Mostly just renaming. |
+ (WebCore::addPlaceholderRunForIsolatedInline): |
+ (WebCore::isIsolatedInline): |
+ (WebCore::InlineBidiResolver::appendRun): |
+ * rendering/RenderBlockLineLayout.cpp: |
+ (WebCore::statusWithDirection): |
+ (WebCore::constructBidiRuns): |
+ - This is the heavy-lifting of this change. This function |
+ runs the UBA recursively on all the previously identified isolated spans. |
+ - If we encounter more isolated spans in our run, we just add them to the |
+ main list an keep going. Because the runs are linked lists and we have |
+ direct pointers to our placeholder objects, we don't care what order |
+ we process the placeholders in, so long as when we're done, they're all processed. |
+ (WebCore::RenderBlock::layoutInlineChildren): |
+ |
+2011-09-08 Kentaro Hara <haraken@google.com> |
+ |
+ Implement a ProgressEvent constructor for JSC |
+ https://bugs.webkit.org/show_bug.cgi?id=67537 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ The spec for the ProgressEvent constructor is here: |
+ http://www.w3.org/TR/progress-events/#interface-progressevent |
+ |
+ Test: fast/events/constructors/progress-event-constructor.html |
+ |
+ * bindings/generic/EventConstructors.h: Added a definition for the ProgressEvent constructor. |
+ * bindings/js/JSDictionary.cpp: |
+ (WebCore::JSDictionary::convertValue): Converts an ECMA-262 Number into an IDL unsigned long long value. Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long |
+ * bindings/js/JSEventConstructors.cpp: Added #includes for ProgressEvent. |
+ * dom/ProgressEvent.cpp: |
+ (WebCore::ProgressEventInit::ProgressEventInit): |
+ (WebCore::ProgressEvent::ProgressEvent): |
+ * dom/ProgressEvent.h: Added a definition for ProgressEventInit. |
+ (WebCore::ProgressEvent::create): |
+ * dom/ProgressEvent.idl: Makes ProgressEvent constructible. |
+ |
+2011-09-08 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Make bindings tests quiet after r94701. |
+ |
+ * bindings/scripts/test/JS/JSTestInterface.cpp: |
+ * bindings/scripts/test/JS/JSTestInterface.h: |
+ (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: |
+ (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ * bindings/scripts/test/JS/JSTestObj.h: |
+ (WebCore::JSTestObjPrototype::JSTestObjPrototype): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: |
+ (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype): |
+ |
+2011-09-07 Pavel Podivilov <podivilov@chromium.org> |
+ |
+ Web Inspector: get rid of RawSourceCode.createSourceMappingIfNeeded. |
+ https://bugs.webkit.org/show_bug.cgi?id=67717 |
+ |
+ Listen to SourceMappingUpdated event instead of using createSourceMappingIfNeeded. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/DebuggerPresentationModel.js: |
+ (WebInspector.DebuggerPresentationModel): |
+ (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor): |
+ (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation): |
+ (WebInspector.DebuggerPresentationModel.prototype._updateSourceMapping): |
+ (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): |
+ (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages): |
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSource): |
+ (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded): |
+ (WebInspector.DebuggerPresentationModel.prototype._createPresentationMessage): |
+ (WebInspector.DebuggerPresentationModel.prototype._consoleCleared): |
+ (WebInspector.DebuggerPresentationModel.prototype.continueToLine): |
+ (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode): |
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset): |
+ (WebInspector.PresentationCallFrame.prototype.sourceLine.sourceMappingUpdated): |
+ (WebInspector.PresentationCallFrame.prototype.sourceLine): |
+ * inspector/front-end/SourceFile.js: |
+ |
+2011-09-06 Pavel Podivilov <podivilov@chromium.org> |
+ |
+ Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode. |
+ https://bugs.webkit.org/show_bug.cgi?id=67647 |
+ |
+ 1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything. |
+ 2) Add RawSourceCode unit tests. |
+ 3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now). |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Test: inspector/debugger/raw-source-code.html |
+ |
+ * inspector/front-end/DebuggerPresentationModel.js: |
+ (WebInspector.DebuggerPresentationModel): |
+ (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation): |
+ (WebInspector.DebuggerPresentationModel.prototype._addScript): |
+ (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated): |
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSource): |
+ (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId): |
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSource): |
+ * inspector/front-end/SourceFile.js: |
+ (WebInspector.RawSourceCode): |
+ (WebInspector.RawSourceCode.prototype.get uiSourceCode): |
+ (WebInspector.RawSourceCode.prototype.setFormatted): |
+ (WebInspector.RawSourceCode.prototype.rawLocationToUILocation): |
+ (WebInspector.RawSourceCode.prototype._saveSourceMapping): |
+ |
+2011-09-08 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Web Inspector: [REGRESSION] Clear console shortcut Ctrl + L broken |
+ https://bugs.webkit.org/show_bug.cgi?id=67711 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/ConsoleView.js: |
+ (WebInspector.ConsoleView.prototype._consoleCleared): |
+ (WebInspector.ConsoleView.prototype._registerShortcuts): |
+ (WebInspector.ConsoleView.prototype._promptKeyDown): |
+ |
+2011-09-08 Andras Becsi <andras.becsi@nokia.com> |
+ |
+ [Qt] Build fails with strict compiler |
+ https://bugs.webkit.org/show_bug.cgi?id=67778 |
+ |
+ Reviewed by Csaba Osztrogonác. |
+ |
+ No new tests needed. |
+ |
+ * platform/graphics/TiledBackingStore.cpp: |
+ (WebCore::TiledBackingStore::resizeEdgeTiles): Remove unused contentsRect variable |
+ which's usage was removed in r94681 to fix the build with [-Werror=unused-but-set-variable]. |
+ |
+2011-09-08 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94695. |
+ http://trac.webkit.org/changeset/94695 |
+ https://bugs.webkit.org/show_bug.cgi?id=67776 |
+ |
+ Hitting an assertion on Snow Leopard, Qt, GTK (Requested by |
+ Zoltan on #webkit). |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::positionedFloatsNeedRelayout): |
+ (WebCore::RenderBlock::layoutPositionedObjects): |
+ |
+2011-09-08 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Unreviewed, strip trailing whitespace in the Web Inspector frontend (*.js and *.css). |
+ |
+ * inspector/front-end/ApplicationCacheItemsView.js: |
+ * inspector/front-end/AuditResultView.js: |
+ * inspector/front-end/BinarySearch.js: |
+ * inspector/front-end/CSSStyleModel.js: |
+ * inspector/front-end/ConsoleMessage.js: |
+ * inspector/front-end/ConsoleModel.js: |
+ * inspector/front-end/ConsoleView.js: |
+ * inspector/front-end/CookieItemsView.js: |
+ * inspector/front-end/CookieParser.js: |
+ * inspector/front-end/DOMAgent.js: |
+ * inspector/front-end/DOMStorage.js: |
+ * inspector/front-end/DOMStorageItemsView.js: |
+ * inspector/front-end/DataGrid.js: |
+ * inspector/front-end/Database.js: |
+ * inspector/front-end/DatabaseQueryView.js: |
+ * inspector/front-end/DetailedHeapshotGridNodes.js: |
+ * inspector/front-end/DetailedHeapshotView.js: |
+ * inspector/front-end/ElementsTreeOutline.js: |
+ * inspector/front-end/EmptyView.js: |
+ * inspector/front-end/EventListenersSidebarPane.js: |
+ * inspector/front-end/ExtensionCommon.js: |
+ * inspector/front-end/GoToLineDialog.js: |
+ * inspector/front-end/HeapSnapshot.js: |
+ * inspector/front-end/HeapSnapshotProxy.js: |
+ * inspector/front-end/HeapSnapshotWorkerDispatcher.js: |
+ * inspector/front-end/ImageView.js: |
+ * inspector/front-end/InjectedFakeWorker.js: |
+ * inspector/front-end/InspectorFrontendHostStub.js: |
+ * inspector/front-end/MetricsSidebarPane.js: |
+ * inspector/front-end/NetworkManager.js: |
+ * inspector/front-end/NetworkPanel.js: |
+ * inspector/front-end/ObjectPropertiesSection.js: |
+ * inspector/front-end/PartialQuickSort.js: |
+ * inspector/front-end/ProfileView.js: |
+ * inspector/front-end/ProfilesPanel.js: |
+ * inspector/front-end/RemoteObject.js: |
+ * inspector/front-end/Resource.js: |
+ * inspector/front-end/ResourceCategory.js: |
+ * inspector/front-end/ResourceHTMLView.js: |
+ * inspector/front-end/ResourceHeadersView.js: |
+ * inspector/front-end/ResourceJSONView.js: |
+ * inspector/front-end/ResourceTimingView.js: |
+ * inspector/front-end/ResourceTreeModel.js: |
+ * inspector/front-end/ResourceView.js: |
+ * inspector/front-end/ResourcesPanel.js: |
+ * inspector/front-end/SearchController.js: |
+ * inspector/front-end/SettingsScreen.js: |
+ * inspector/front-end/ShortcutsScreen.js: |
+ * inspector/front-end/SourceCSSTokenizer.js: |
+ * inspector/front-end/SourceHTMLTokenizer.js: |
+ * inspector/front-end/SourceJavaScriptTokenizer.js: |
+ * inspector/front-end/StatusBarButton.js: |
+ * inspector/front-end/TextEditorModel.js: |
+ * inspector/front-end/TimelineGrid.js: |
+ * inspector/front-end/View.js: |
+ * inspector/front-end/heapProfiler.css: |
+ * inspector/front-end/inspector.css: |
+ * inspector/front-end/inspector.js: |
+ * inspector/front-end/inspectorSyntaxHighlight.css: |
+ * inspector/front-end/networkPanel.css: |
+ * inspector/front-end/treeoutline.js: |
+ * inspector/front-end/utilities.js: |
+ |
+2011-09-07 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: trying to scroll mouse wheel when in TextViewer's gutter pane causes EventException::DISPATCH_REQUEST_ERR |
+ https://bugs.webkit.org/show_bug.cgi?id=67715 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ - avoid exception on attempt to dispatch an event that is being dispatched by cloning the event. |
+ |
+ * inspector/front-end/TextViewer.js: |
+ (WebInspector.TextViewer.forwardWheelEvent): |
+ (WebInspector.TextViewer): |
+ |
+2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94674 and r94689. |
+ http://trac.webkit.org/changeset/94674 |
+ http://trac.webkit.org/changeset/94689 |
+ https://bugs.webkit.org/show_bug.cgi?id=67754 |
+ |
+ Broke inspector/debugger/script-formatter.html (Requested by |
+ rniwa on #webkit). |
+ |
+ * inspector/front-end/DebuggerPresentationModel.js: |
+ (WebInspector.DebuggerPresentationModel): |
+ (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener): |
+ (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener): |
+ (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation): |
+ (WebInspector.DebuggerPresentationModel.prototype._addScript): |
+ (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated): |
+ (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): |
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSource): |
+ (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId): |
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSource): |
+ * inspector/front-end/SourceFile.js: |
+ (WebInspector.RawSourceCode): |
+ (WebInspector.RawSourceCode.prototype.get uiSourceCode): |
+ (WebInspector.RawSourceCode.prototype.get rawSourceCode): |
+ (WebInspector.RawSourceCode.prototype.rawLocationToUILocation): |
+ (WebInspector.RawSourceCode.prototype.requestContent): |
+ (WebInspector.RawSourceCode.prototype._saveSourceMapping): |
+ |
+2011-09-07 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ offsetFromRoot optimization is disabled after r93837 |
+ https://bugs.webkit.org/show_bug.cgi?id=67677 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Unfortunately not covered by any test as it does not change updateLayerPosition complexity (it is still O(n^2) |
+ because of clippedOverflowRectForRepaint). However it is a noticeable slowdown on some use cases but we don't |
+ have a good test harness to cover such slowdown. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::updateLayerPositions): Pass offsetFromRoot as not doing so means that we miss |
+ the optimization altogether. |
+ |
+ (WebCore::RenderLayer::computeRepaintRects): |
+ (WebCore::RenderLayer::updateLayerPositionsAfterScroll): |
+ * rendering/RenderLayer.h: |
+ Renamed |cachedOffset| to |offsetFromRoot| to be consistent with our latest renaming. |
+ |
+2011-09-07 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Windows build fix after r94737. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::adjustRectForColumns): |
+ |
+2011-09-07 Dan Bernstein <mitz@apple.com> |
+ |
+ Removed hyphenation function implementations for an usupported build configuration. |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ * platform/text/cf/HyphenationCF.cpp: |
+ |
+2011-09-07 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67739 |
+ |
+ adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this |
+ function by removing the loop and just computing the start and end column for a repaint rect |
+ and uniting everything in between. |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::adjustRectForColumns): |
+ |
+2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94714 and r94723. |
+ http://trac.webkit.org/changeset/94714 |
+ http://trac.webkit.org/changeset/94723 |
+ https://bugs.webkit.org/show_bug.cgi?id=67746 |
+ |
+ breaks gtk-linux tests with assertion failure (Requested by |
+ thorton on #webkit). |
+ |
+ * platform/graphics/GraphicsContext.cpp: |
+ (WebCore::GraphicsContext::GraphicsContext): |
+ (WebCore::GraphicsContext::~GraphicsContext): |
+ * platform/graphics/GraphicsContext.h: |
+ (WebCore::GraphicsContext::inTransparencyLayer): |
+ * platform/graphics/cairo/GraphicsContextCairo.cpp: |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: |
+ (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer): |
+ (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer): |
+ * platform/graphics/cg/GraphicsContextCG.cpp: |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: |
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): |
+ (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): |
+ (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer): |
+ (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer): |
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp: |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/graphics/mac/FontMac.mm: |
+ (WebCore::Font::drawGlyphs): |
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp: |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/graphics/qt/GraphicsContextQt.cpp: |
+ (WebCore::GraphicsContext::inTransparencyLayer): |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/graphics/skia/GraphicsContextSkia.cpp: |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/graphics/win/FontCGWin.cpp: |
+ (WebCore::drawGDIGlyphs): |
+ * platform/graphics/win/GraphicsContextCGWin.cpp: |
+ (WebCore::GraphicsContext::releaseWindowsContext): |
+ * platform/graphics/win/GraphicsContextCairoWin.cpp: |
+ (WebCore::GraphicsContext::releaseWindowsContext): |
+ * platform/graphics/win/GraphicsContextWin.cpp: |
+ (WebCore::GraphicsContext::inTransparencyLayer): |
+ (WebCore::GraphicsContext::getWindowsContext): |
+ * platform/graphics/wince/GraphicsContextWinCE.cpp: |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/graphics/wx/GraphicsContextWx.cpp: |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ * platform/win/ScrollbarThemeWin.cpp: |
+ (WebCore::ScrollbarThemeWin::paintTrackPiece): |
+ (WebCore::ScrollbarThemeWin::paintButton): |
+ (WebCore::ScrollbarThemeWin::paintThumb): |
+ * plugins/win/PluginViewWin.cpp: |
+ (WebCore::PluginView::paint): |
+ * rendering/RenderThemeWin.cpp: |
+ (WebCore::drawControl): |
+ |
+2011-09-07 Chris Fleizach <cfleizach@apple.com> |
+ |
+ Changes to aria-hidden don't change VO navigation |
+ https://bugs.webkit.org/show_bug.cgi?id=67722 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ When altering aria-hidden, WebCore needs to update the children caches of |
+ affected elements. However, for elements that were children, but ignored, their |
+ caches did not get updated, and stale information would be propagated. |
+ |
+ The fix is to always clearChildren() when a parent is asking for children. This |
+ ensures information is always up to date when the parent itself is asking for new data. |
+ |
+ Test: accessibility/aria-hidden-updates-alldescendants.html |
+ |
+ * accessibility/AccessibilityObject.h: |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::ariaIsHidden): |
+ (WebCore::AccessibilityRenderObject::childrenChanged): |
+ (WebCore::AccessibilityRenderObject::addChildren): |
+ |
+2011-09-07 Tim Horton <timothy_horton@apple.com> |
+ |
+ Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow |
+ https://bugs.webkit.org/show_bug.cgi?id=67543 |
+ <rdar://problem/10070536> |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Generalize (begin|end)TransparencyLayer, which now forward |
+ through to (begin|end)PlatformTransparencyLayer, so that |
+ isInTransparencyLayer can exist on every platform. |
+ |
+ Make use of isInTransparencyLayer in FontMac to disable |
+ "simple" shadow drawing when the text is being rendered |
+ into a transparency layer. |
+ |
+ Test: svg/custom/simple-text-double-shadow.svg |
+ |
+ * platform/graphics/GraphicsContext.cpp: |
+ (WebCore::GraphicsContext::GraphicsContext): |
+ (WebCore::GraphicsContext::~GraphicsContext): |
+ (WebCore::GraphicsContext::beginTransparencyLayer): |
+ (WebCore::GraphicsContext::endTransparencyLayer): |
+ (WebCore::GraphicsContext::isInTransparencyLayer): |
+ * platform/graphics/GraphicsContext.h: |
+ * platform/graphics/cairo/GraphicsContextCairo.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: |
+ * platform/graphics/cg/GraphicsContextCG.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: |
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): |
+ * platform/graphics/haiku/GraphicsContextHaiku.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/mac/FontMac.mm: |
+ (WebCore::Font::drawGlyphs): |
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/qt/GraphicsContextQt.cpp: |
+ (WebCore::GraphicsContext::isInTransparencyLayer): |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/skia/GraphicsContextSkia.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/win/FontCGWin.cpp: |
+ (WebCore::drawGDIGlyphs): |
+ * platform/graphics/win/GraphicsContextCGWin.cpp: |
+ (WebCore::GraphicsContext::releaseWindowsContext): |
+ * platform/graphics/win/GraphicsContextCairoWin.cpp: |
+ (WebCore::GraphicsContext::releaseWindowsContext): |
+ * platform/graphics/win/GraphicsContextWin.cpp: |
+ (WebCore::GraphicsContext::getWindowsContext): |
+ * platform/graphics/wince/GraphicsContextWinCE.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/graphics/wx/GraphicsContextWx.cpp: |
+ (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
+ (WebCore::GraphicsContext::supportsTransparencyLayers): |
+ * platform/win/ScrollbarThemeWin.cpp: |
+ * plugins/win/PluginViewWin.cpp: |
+ * rendering/RenderThemeWin.cpp: |
+ |
+2011-09-07 Dan Bernstein <mitz@apple.com> |
+ |
+ <rdar://problem/8881922> Support the hyphenate-limit-lines property |
+ https://bugs.webkit.org/show_bug.cgi?id=67730 |
+ |
+ Reviewed by Dave Hyatt. |
+ |
+ Tests: fast/css/parsing-hyphenate-limit-lines.html |
+ fast/text/hyphenate-limit-lines.html |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines. |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword |
+ "no-limit". |
+ * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines. |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines. |
+ * css/CSSValueKeywords.in: Added the "no-limit" value keyword. |
+ * rendering/RenderBlock.h: |
+ * rendering/RenderBlockLineLayout.cpp: |
+ (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines |
+ before the start line and pass it to layoutRunsAndFloatsInRange(). |
+ (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive |
+ hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak(). |
+ (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before |
+ the current line and the limit on consecutive hyphenated lines, and an early return if the limit |
+ has been reached. |
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive |
+ hyphenated lines before the current line, which is passed through to tryHyphenating, along with |
+ the value of hyphenate-limit-lines. |
+ * rendering/RootInlineBox.cpp: |
+ (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated. |
+ * rendering/RootInlineBox.h: |
+ * rendering/style/RenderStyle.h: |
+ (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter. |
+ (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter. |
+ (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1, |
+ corresponding to "no-limit". |
+ * rendering/style/StyleRareInheritedData.cpp: |
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable. |
+ (WebCore::StyleRareInheritedData::operator==): Compare new member variable. |
+ * rendering/style/StyleRareInheritedData.h: |
+ |
+2011-09-02 Ojan Vafai <ojan@chromium.org> |
+ |
+ split overrideSize into overrideHeight and overrideWidth |
+ https://bugs.webkit.org/show_bug.cgi?id=67550 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ All uses of overrideSize only set one of the width or the height. |
+ This change removes a bool from RenderObject and removes some |
+ flexbox specific logic from RenderBox. |
+ |
+ The only downside is that we have two global maps where we used |
+ to have one. |
+ |
+ No functional changes so existing tests are sufficient. |
+ |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::hasOverrideHeight): |
+ (WebCore::RenderBox::hasOverrideWidth): |
+ (WebCore::RenderBox::setOverrideHeight): |
+ (WebCore::RenderBox::setOverrideWidth): |
+ (WebCore::RenderBox::clearOverrideSize): |
+ (WebCore::RenderBox::overrideWidth): |
+ (WebCore::RenderBox::overrideHeight): |
+ (WebCore::RenderBox::computeLogicalWidth): |
+ (WebCore::RenderBox::computeLogicalHeight): |
+ (WebCore::RenderBox::computePercentageLogicalHeight): |
+ * rendering/RenderBox.h: |
+ * rendering/RenderDeprecatedFlexibleBox.cpp: |
+ (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): |
+ (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): |
+ (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp): |
+ * rendering/RenderFlexibleBox.cpp: |
+ (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal): |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::RenderObject): |
+ * rendering/RenderObject.h: |
+ * rendering/RenderTableCell.cpp: |
+ (WebCore::RenderTableCell::setOverrideHeightFromRowHeight): |
+ * rendering/RenderTableCell.h: |
+ * rendering/RenderTableSection.cpp: |
+ (WebCore::RenderTableSection::calcRowLogicalHeight): |
+ (WebCore::RenderTableSection::layoutRows): |
+ |
+2011-09-07 Alexei Svitkine <asvitkine@chromium.org> |
+ |
+ Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path. |
+ https://bugs.webkit.org/show_bug.cgi?id=67511 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Tests: platform/chromium-mac/rubberbanding/overhang-e.html |
+ platform/chromium-mac/rubberbanding/overhang-n.html |
+ platform/chromium-mac/rubberbanding/overhang-ne.html |
+ platform/chromium-mac/rubberbanding/overhang-nw.html |
+ platform/chromium-mac/rubberbanding/overhang-s.html |
+ platform/chromium-mac/rubberbanding/overhang-se.html |
+ platform/chromium-mac/rubberbanding/overhang-sw.html |
+ platform/chromium-mac/rubberbanding/overhang-w.html |
+ |
+ * WebCore.exp.in: |
+ * platform/ScrollableArea.h: |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::setScrollViewPosition): |
+ * testing/Internals.h: |
+ * testing/Internals.idl: |
+ |
+2011-09-07 David Reveman <reveman@chromium.org> |
+ |
+ [Chromium] Render surface anti-aliasing. |
+ https://bugs.webkit.org/show_bug.cgi?id=66437 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow |
+ edge computations to be shared between tiled layers and render |
+ surfaces. Move isCCW utility function to FloatQuad class and |
+ add to2dTransform method to TransformationMatrix class. Add |
+ necessary anti-aliasing shaders for render surfaces and use them |
+ to avoid aliased edges. |
+ |
+ Tests: compositing/reflections/nested-reflection-transformed.html (existing) |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/FloatQuad.cpp: |
+ (WebCore::FloatQuad::isCounterclockwise): |
+ * platform/graphics/FloatQuad.h: |
+ * platform/graphics/chromium/LayerChromium.cpp: |
+ (WebCore::LayerChromium::drawTexturedQuad): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::LayerRendererChromium): |
+ (WebCore::LayerRendererChromium::headsUpDisplayProgram): |
+ (WebCore::LayerRendererChromium::renderSurfaceProgram): |
+ (WebCore::LayerRendererChromium::renderSurfaceProgramAA): |
+ (WebCore::LayerRendererChromium::renderSurfaceMaskProgram): |
+ (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA): |
+ (WebCore::LayerRendererChromium::tilerProgramSwizzle): |
+ (WebCore::LayerRendererChromium::canvasLayerProgram): |
+ (WebCore::LayerRendererChromium::pluginLayerProgram): |
+ (WebCore::LayerRendererChromium::videoLayerRGBAProgram): |
+ (WebCore::LayerRendererChromium::videoLayerYUVProgram): |
+ (WebCore::LayerRendererChromium::cleanupSharedObjects): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (WebCore::LayerRendererChromium::sharedGeometryQuad): |
+ * platform/graphics/chromium/ShaderChromium.cpp: |
+ (WebCore::VertexShaderQuad::VertexShaderQuad): |
+ (WebCore::VertexShaderQuad::init): |
+ (WebCore::VertexShaderQuad::getShaderString): |
+ (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA): |
+ (WebCore::FragmentShaderRGBATexAlphaAA::init): |
+ (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString): |
+ (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding): |
+ (WebCore::FragmentTexClampAlphaAABinding::init): |
+ (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString): |
+ (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString): |
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA): |
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::init): |
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString): |
+ * platform/graphics/chromium/ShaderChromium.h: |
+ (WebCore::VertexShaderQuad::matrixLocation): |
+ (WebCore::VertexShaderQuad::pointLocation): |
+ (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation): |
+ (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation): |
+ (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation): |
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation): |
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation): |
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation): |
+ (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation): |
+ * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: |
+ (WebCore::CCCanvasLayerImpl::draw): |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
+ (WebCore::CCHeadsUpDisplay::draw): |
+ * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added. |
+ (WebCore::CCLayerQuad::Edge::Edge): |
+ (WebCore::CCLayerQuad::CCLayerQuad): |
+ (WebCore::CCLayerQuad::floatQuad): |
+ (WebCore::CCLayerQuad::toFloatArray): |
+ * platform/graphics/chromium/cc/CCLayerQuad.h: Added. |
+ (WebCore::CCLayerQuad::Edge::Edge): |
+ (WebCore::CCLayerQuad::Edge::x): |
+ (WebCore::CCLayerQuad::Edge::y): |
+ (WebCore::CCLayerQuad::Edge::z): |
+ (WebCore::CCLayerQuad::Edge::setX): |
+ (WebCore::CCLayerQuad::Edge::setY): |
+ (WebCore::CCLayerQuad::Edge::setZ): |
+ (WebCore::CCLayerQuad::Edge::set): |
+ (WebCore::CCLayerQuad::Edge::moveX): |
+ (WebCore::CCLayerQuad::Edge::moveY): |
+ (WebCore::CCLayerQuad::Edge::moveZ): |
+ (WebCore::CCLayerQuad::Edge::move): |
+ (WebCore::CCLayerQuad::Edge::scaleX): |
+ (WebCore::CCLayerQuad::Edge::scaleY): |
+ (WebCore::CCLayerQuad::Edge::scaleZ): |
+ (WebCore::CCLayerQuad::Edge::scale): |
+ (WebCore::CCLayerQuad::Edge::intersect): |
+ (WebCore::CCLayerQuad::CCLayerQuad): |
+ (WebCore::CCLayerQuad::left): |
+ (WebCore::CCLayerQuad::top): |
+ (WebCore::CCLayerQuad::right): |
+ (WebCore::CCLayerQuad::bottom): |
+ (WebCore::CCLayerQuad::inflateX): |
+ (WebCore::CCLayerQuad::inflateY): |
+ (WebCore::CCLayerQuad::inflate): |
+ (WebCore::CCLayerQuad::inflateAntiAliasingDistance): |
+ * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: |
+ (WebCore::CCPluginLayerImpl::draw): |
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
+ (WebCore::CCRenderSurface::draw): |
+ (WebCore::CCRenderSurface::drawLayer): |
+ (WebCore::CCRenderSurface::drawSurface): |
+ * platform/graphics/chromium/cc/CCRenderSurface.h: |
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: |
+ (WebCore::CCTiledLayerImpl::draw): |
+ (WebCore::CCTiledLayerImpl::drawTiles): |
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h: |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
+ (WebCore::CCVideoLayerImpl::drawYUV): |
+ (WebCore::CCVideoLayerImpl::drawRGBA): |
+ * platform/graphics/transforms/TransformationMatrix.cpp: |
+ (WebCore::TransformationMatrix::to2dTransform): |
+ * platform/graphics/transforms/TransformationMatrix.h: |
+ |
+2011-09-06 Oliver Hunt <oliver@apple.com> |
+ |
+ Remove JSObjectWithGlobalObject |
+ https://bugs.webkit.org/show_bug.cgi?id=67689 |
+ |
+ Reviewed by Geoff Garen. |
+ |
+ Remove use of anonymous storage and JSObjectWithGlobalObject for |
+ accessing a JSObject's global object now that they're available |
+ on the object's structure. |
+ |
+ * bindings/js/JSDOMWindowShell.cpp: |
+ (WebCore::JSDOMWindowShell::setWindow): |
+ * bindings/js/JSDOMWrapper.h: |
+ (WebCore::JSDOMWrapper::globalObject): |
+ (WebCore::JSDOMWrapper::JSDOMWrapper): |
+ * bindings/js/WorkerScriptController.cpp: |
+ (WebCore::WorkerScriptController::initScript): |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): |
+ (GenerateImplementation): |
+ * bridge/objc/objc_runtime.h: |
+ * bridge/objc/objc_runtime.mm: |
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): |
+ (JSC::Bindings::ObjcFallbackObjectImp::finishCreation): |
+ * bridge/runtime_object.cpp: |
+ (JSC::Bindings::RuntimeObject::RuntimeObject): |
+ (JSC::Bindings::RuntimeObject::finishCreation): |
+ * bridge/runtime_object.h: |
+ |
+2011-09-07 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Mac build fix after r94694. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: |
+ |
+2011-09-07 Tim Horton <timothy_horton@apple.com> |
+ |
+ FELighting is using width instead of height to determine skip for parallel(n>2) case |
+ https://bugs.webkit.org/show_bug.cgi?id=67719 |
+ <rdar://problem/10086178> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ No new tests, because the bug only exhibits under conditions which are currently |
+ impossible by default (using more than 2 cores) on some platforms. |
+ |
+ * platform/graphics/filters/FELighting.cpp: |
+ (WebCore::FELighting::platformApplyGeneric): |
+ |
+2011-09-07 W. James MacLean <wjmaclean@chromium.org> |
+ |
+ Eliminate motion jitter in animated, blurred SVG image |
+ https://bugs.webkit.org/show_bug.cgi?id=67503 |
+ |
+ Fixes filter shear-free transform applied to SVG images. |
+ |
+ In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region, |
+ which is based on the object bounding box (which doesn't move). For a rotation |
+ around the centre of the box, this should really just be the identity matrix, |
+ since the BB should neither change size nor location. So really, we're just interested |
+ in the scale change of the BB here, and not in moving it. |
+ |
+ This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions |
+ for vertical and horizontal slices, so the test verifies these. |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg |
+ |
+ * rendering/svg/RenderSVGResourceFilter.cpp: |
+ (WebCore::RenderSVGResourceFilter::applyResource): |
+ |
+2011-09-03 Robert Hogan <robert@webkit.org> |
+ |
+ Elements with position:absolute don't move to correct position after images load |
+ https://bugs.webkit.org/show_bug.cgi?id=54611 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Test: fast/block/positioning/absolute-layout-after-image-load.html |
+ fast/block/positioning/positioned-float-layout-after-image-load.html |
+ |
+ In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, |
+ this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires |
+ the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. |
+ There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same |
+ for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects() |
+ takes care of it this at least ensures no regression in future. |
+ |
+ Note: Although the issue is encountered only on first load without a fragment identifier, it |
+ happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so |
+ because scrolling to the fragment always happens before the image has loaded, rendering the page |
+ and clearing the initial dirty bits in the positioned element's renderer. When the image finally |
+ loads in this scenario, the positioned element is otherwise clean and relies on the above code to get |
+ re-rendered. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when |
+ deciding whether to mark children for layout |
+ (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto |
+ |
+2011-09-07 Anna Cavender <annacc@chromium.org> |
+ |
+ Moving platform/track to html/track to avoid layering violation. |
+ https://bugs.webkit.org/show_bug.cgi?id=67680 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ No new tests. No new functionality. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.am: |
+ * GNUmakefile.list.am: |
+ * WebCore.gyp/WebCore.gyp: |
+ * WebCore.gypi: |
+ * WebCore.pri: |
+ * WebCore.pro: |
+ * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp. |
+ * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h. |
+ * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h. |
+ * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp. |
+ * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h. |
+ * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h. |
+ * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp. |
+ * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h. |
+ |
+2011-09-07 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67286 |
+ |
+ REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084. |
+ |
+ Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with |
+ leading to just be the block height. |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ * rendering/RenderBlockLineLayout.cpp: |
+ (WebCore::RenderBlock::linkToEndLineIfNeeded): |
+ |
+2011-09-06 Abhishek Arya <inferno@chromium.org> |
+ |
+ Null owningRenderer crash in RenderScrollbar::updateScrollbarParts. |
+ https://bugs.webkit.org/show_bug.cgi?id=67669 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Owning renderer can be cleared for custom scrollbars in clearOwningRenderer() |
+ call. We need a null check in updateScrollbarParts, so that we do not crash. |
+ |
+ No tests since issue seen in crash reports only and I donot know a way to |
+ reproduce. |
+ |
+ * rendering/RenderScrollbar.cpp: |
+ (WebCore::RenderScrollbar::updateScrollbarParts): |
+ |
+2011-09-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> |
+ |
+ [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to. |
+ https://bugs.webkit.org/show_bug.cgi?id=67606 |
+ |
+ Reviewed by Noam Rosenthal. |
+ |
+ TiledBackingStore previously used different values for horizontal and vertial multiplication |
+ to calculate the cover area. |
+ This patch replaces this mechanism, used to give a bigger panning range to vertical panning, |
+ with the possibility to use the motion vector of the viewport to request tiles ahead instead. |
+ This allows economies on rendering resources as tiles won't be rendered beside the trajectory |
+ of the viewport. |
+ |
+ * platform/graphics/TiledBackingStore.cpp: |
+ (WebCore::TiledBackingStore::TiledBackingStore): |
+ (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers): |
+ (WebCore::TiledBackingStore::setCoverAreaFocusVector): |
+ (WebCore::TiledBackingStore::createTiles): |
+ (WebCore::TiledBackingStore::calculateKeepRect): |
+ (WebCore::TiledBackingStore::calculateCoverRect): |
+ * platform/graphics/TiledBackingStore.h: |
+ (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers): |
+ |
+2011-09-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> |
+ |
+ [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy. |
+ https://bugs.webkit.org/show_bug.cgi?id=67416 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ Original code by Antti Koivisto. |
+ With the current code, when the page is layouted during load, edge tiles will |
+ get removed instead of continuing to show their front buffer while the tile |
+ is being rendered for the new size. |
+ |
+ * platform/graphics/Tile.h: |
+ * platform/graphics/TiledBackingStore.cpp: |
+ (WebCore::TiledBackingStore::createTiles): |
+ (WebCore::TiledBackingStore::resizeEdgeTiles): |
+ * platform/graphics/TiledBackingStore.h: |
+ * platform/graphics/qt/TileQt.cpp: |
+ (WebCore::TileQt::resize): |
+ * platform/graphics/qt/TileQt.h: |
+ |
+2011-09-07 Tim Horton <timothy_horton@apple.com> |
+ |
+ Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation |
+ https://bugs.webkit.org/show_bug.cgi?id=67242 |
+ <rdar://problem/10069770> |
+ |
+ Reviewed by Dirk Schulze. |
+ |
+ No new tests, minor performance improvement. |
+ |
+ * platform/graphics/transforms/AffineTransform.cpp: |
+ (WebCore::AffineTransform::blend): |
+ (WebCore::AffineTransform::decompose): |
+ (WebCore::AffineTransform::recompose): |
+ * platform/graphics/transforms/AffineTransform.h: |
+ * rendering/svg/SVGImageBufferTools.cpp: |
+ (WebCore::SVGImageBufferTools::clear2DRotation): |
+ |
+2011-09-06 Pavel Podivilov <podivilov@chromium.org> |
+ |
+ Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode. |
+ https://bugs.webkit.org/show_bug.cgi?id=67647 |
+ |
+ 1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything. |
+ 2) Add RawSourceCode unit tests. |
+ 3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now). |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Test: inspector/debugger/raw-source-code.html |
+ |
+ * inspector/front-end/DebuggerPresentationModel.js: |
+ (WebInspector.DebuggerPresentationModel): |
+ (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation): |
+ (WebInspector.DebuggerPresentationModel.prototype._addScript): |
+ (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated): |
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSource): |
+ (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId): |
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSource): |
+ * inspector/front-end/SourceFile.js: |
+ (WebInspector.RawSourceCode): |
+ (WebInspector.RawSourceCode.prototype.get uiSourceCode): |
+ (WebInspector.RawSourceCode.prototype.setFormatted): |
+ (WebInspector.RawSourceCode.prototype.rawLocationToUILocation): |
+ (WebInspector.RawSourceCode.prototype._saveSourceMapping): |
+ |
+2011-09-07 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Web Inspector: Implement circular tabbing through the Styles sidebar pane contents |
+ https://bugs.webkit.org/show_bug.cgi?id=67127 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/Section.js: |
+ (WebInspector.Section.prototype.get firstSibling): |
+ (WebInspector.Section.prototype.get lastSibling): |
+ * inspector/front-end/StylesSidebarPane.js: |
+ (WebInspector.StylePropertiesSection.prototype.nextEditableSibling): |
+ (WebInspector.StylePropertiesSection.prototype.previousEditableSibling): |
+ (WebInspector.StylePropertiesSection.prototype.startEditingSelector): |
+ (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector): |
+ (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback): |
+ (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): |
+ (WebInspector.StylePropertyTreeElement.prototype): |
+ (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection): |
+ |
+2011-09-02 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: [Extensions API] expose console API |
+ https://bugs.webkit.org/show_bug.cgi?id=67506 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Test: inspector/extensions/extensions-console.html |
+ |
+ * inspector/front-end/ConsoleMessage.js: |
+ (WebInspector.ConsoleMessage.prototype.get text): |
+ (WebInspector.ConsoleMessage.prototype.get parameters): |
+ * inspector/front-end/ExtensionAPI.js: |
+ (WebInspector.injectedExtensionAPI.InspectorExtensionAPI): |
+ (WebInspector.injectedExtensionAPI): |
+ (WebInspector.injectedExtensionAPI.Console.prototype.getMessages): |
+ (WebInspector.injectedExtensionAPI.Console.prototype.addMessage): |
+ (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel): |
+ (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent): |
+ (WebInspector.injectedExtensionAPI.Network): |
+ (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent): |
+ (WebInspector.injectedExtensionAPI.AuditCategoryImpl): |
+ (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent): |
+ (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent): |
+ (WebInspector.injectedExtensionAPI.InspectedWindow): |
+ * inspector/front-end/ExtensionCommon.js: |
+ (WebInspector.commonExtensionSymbols): |
+ * inspector/front-end/ExtensionServer.js: |
+ (WebInspector.ExtensionServer): |
+ (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded): |
+ (WebInspector.ExtensionServer.prototype._onGetConsoleMessages): |
+ (WebInspector.ExtensionServer.prototype._onAddConsoleMessage): |
+ (WebInspector.ExtensionServer.prototype._makeConsoleMessage): |
+ (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter): |
+ (WebInspector.ExtensionServer.prototype._dispatchCallback): |
+ (WebInspector.ExtensionServer.prototype.initExtensions): |
+ |
+2011-09-05 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: disable popover when a mouse button is pressed |
+ https://bugs.webkit.org/show_bug.cgi?id=67610 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ - disable popover when a mouse button is pressed |
+ - disable popover in a SourceFrame when the source is being edited |
+ |
+ * inspector/front-end/Popover.js: |
+ (WebInspector.PopoverHelper): |
+ (WebInspector.PopoverHelper.prototype._mouseUp): |
+ (WebInspector.PopoverHelper.prototype._mouseDown): |
+ (WebInspector.PopoverHelper.prototype._handleMouseAction): |
+ * inspector/front-end/SourceFrame.js: |
+ (WebInspector.SourceFrame.prototype._onHidePopover): |
+ (WebInspector.SourceFrame.prototype.doubleClick): |
+ |
+2011-09-07 Antti Koivisto <antti@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67634 |
+ De-virtualize styleForRenderer() |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ This has performance and code clarity benefits. |
+ |
+ - move styleForRenderer from Node to Element |
+ - get rid of the now unnecessary NodeRenderingContext parameter |
+ - de-virtualize, add virtual customStyleForRenderer() |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::customStyleForRenderer): |
+ (WebCore::Element::styleForRenderer): |
+ (WebCore::Element::recalcStyle): |
+ * dom/Element.h: |
+ * dom/Node.cpp: |
+ * dom/Node.h: |
+ (WebCore::Node::hasCustomWillOrDidRecalcStyle): |
+ (WebCore::Node::setHasCustomWillOrDidRecalcStyle): |
+ (WebCore::Node::hasCustomStyleForRenderer): |
+ (WebCore::Node::setHasCustomStyleForRenderer): |
+ |
+ Move styleForRenderer, add customStyleForRenderer, add a bit. |
+ |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRendererFactory::createRendererAndStyle): |
+ |
+ Handle non-element case separately since styleForRenderer was moved from Node to Element. |
+ |
+ * html/HTMLNoScriptElement.cpp: |
+ (WebCore::HTMLNoScriptElement::HTMLNoScriptElement): |
+ (WebCore::HTMLNoScriptElement::customStyleForRenderer): |
+ * html/HTMLNoScriptElement.h: |
+ |
+ Move a strange XHTMLMP special case to where it belongs. |
+ |
+ * html/HTMLOptGroupElement.cpp: |
+ (WebCore::HTMLOptGroupElement::attach): |
+ * html/HTMLOptionElement.cpp: |
+ (WebCore::HTMLOptionElement::attach): |
+ * html/HTMLTitleElement.cpp: |
+ (WebCore::HTMLTitleElement::textWithDirection): |
+ * html/shadow/TextControlInnerElements.cpp: |
+ (WebCore::TextControlInnerElement::TextControlInnerElement): |
+ (WebCore::TextControlInnerElement::customStyleForRenderer): |
+ (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): |
+ (WebCore::TextControlInnerTextElement::customStyleForRenderer): |
+ * html/shadow/TextControlInnerElements.h: |
+ * rendering/svg/SVGShadowTreeElements.cpp: |
+ (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer): |
+ * rendering/svg/SVGShadowTreeElements.h: |
+ * svg/SVGElement.cpp: |
+ (WebCore::SVGElement::SVGElement): |
+ (WebCore::SVGElement::customStyleForRenderer): |
+ * svg/SVGElement.h: |
+ |
+ Adopt customStyleForRenderer(). |
+ |
+2011-09-07 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Change event is not fired for input[type=number] when the user reverts a change made by script |
+ https://bugs.webkit.org/show_bug.cgi?id=67697 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent |
+ for text fields other than type=text. |
+ |
+ Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate |
+ timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values |
+ through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in |
+ stepUpFromRenderer because they're now called in setValueAsNumber or applyStep. |
+ |
+ Test: fast/forms/number-input-changeevent.html |
+ |
+ * html/BaseDateAndTimeInputType.cpp: |
+ (WebCore::BaseDateAndTimeInputType::setValueAsNumber): |
+ * html/BaseDateAndTimeInputType.h: |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::applyStep): |
+ (WebCore::HTMLInputElement::stepUp): |
+ (WebCore::HTMLInputElement::stepDown): |
+ (WebCore::HTMLInputElement::setValue): |
+ (WebCore::HTMLInputElement::setValueAsNumber): |
+ (WebCore::HTMLInputElement::stepUpFromRenderer): |
+ * html/HTMLInputElement.h: |
+ * html/InputType.cpp: |
+ (WebCore::InputType::setValueAsNumber): |
+ * html/InputType.h: |
+ * html/NumberInputType.cpp: |
+ (WebCore::NumberInputType::setValueAsNumber): |
+ * html/NumberInputType.h: |
+ * html/RangeInputType.cpp: |
+ (WebCore::RangeInputType::setValueAsNumber): |
+ (WebCore::RangeInputType::handleKeydownEvent): |
+ * html/RangeInputType.h: |
+ |
+2011-09-07 Antti Koivisto <antti@apple.com> |
+ |
+ Try to fix Qt build by moving the Qt specific include (which is not really allowed here!). |
+ |
+ Not reviewed. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ * css/SelectorChecker.cpp: |
+ (WebCore::SelectorChecker::determineLinkStateSlowCase): |
+ |
+2011-09-07 Antti Koivisto <antti@apple.com> |
+ |
+ Move SelectorChecker out from CSSStyleSelector scope |
+ https://bugs.webkit.org/show_bug.cgi?id=67648 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ - Move SelectorChecker to SelectorChecker.h/cpp |
+ - Make private functions private |
+ - Make members private, add accessors |
+ - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::CSSStyleSelector): |
+ (WebCore::CSSStyleSelector::matchRules): |
+ (WebCore::CSSStyleSelector::matchRulesForList): |
+ (WebCore::CSSStyleSelector::sortMatchedRules): |
+ (WebCore::CSSStyleSelector::initForStyleResolve): |
+ (WebCore::CSSStyleSelector::matchUARules): |
+ (WebCore::CSSStyleSelector::styleForElement): |
+ (WebCore::CSSStyleSelector::pseudoStyleForElement): |
+ (WebCore::CSSStyleSelector::styleForPage): |
+ (WebCore::CSSStyleSelector::adjustRenderStyle): |
+ (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): |
+ (WebCore::CSSStyleSelector::checkSelector): |
+ (WebCore::RuleData::RuleData): |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ (WebCore::CSSStyleSelector::checkForGenericFamilyChange): |
+ (WebCore::CSSStyleSelector::setFontSize): |
+ (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): |
+ * css/CSSStyleSelector.h: |
+ (WebCore::CSSStyleSelector::style): |
+ (WebCore::CSSStyleSelector::parentStyle): |
+ (WebCore::CSSStyleSelector::rootElementStyle): |
+ (WebCore::CSSStyleSelector::element): |
+ (WebCore::CSSStyleSelector::fontDescription): |
+ (WebCore::CSSStyleSelector::parentFontDescription): |
+ (WebCore::CSSStyleSelector::setFontDescription): |
+ (WebCore::CSSStyleSelector::setZoom): |
+ (WebCore::CSSStyleSelector::setEffectiveZoom): |
+ (WebCore::CSSStyleSelector::setTextSizeAdjust): |
+ (WebCore::CSSStyleSelector::setStyle): |
+ (WebCore::CSSStyleSelector::fontSelector): |
+ (WebCore::CSSStyleSelector::allVisitedStateChanged): |
+ (WebCore::CSSStyleSelector::visitedStateChanged): |
+ (WebCore::CSSStyleSelector::usesSiblingRules): |
+ (WebCore::CSSStyleSelector::usesFirstLineRules): |
+ (WebCore::CSSStyleSelector::usesBeforeAfterRules): |
+ (WebCore::CSSStyleSelector::usesLinkRules): |
+ (WebCore::CSSStyleSelector::addMatchedRule): |
+ (WebCore::CSSStyleSelector::isRightPage): |
+ (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame): |
+ (WebCore::CSSStyleSelector::styleNotYetAvailable): |
+ * css/SelectorChecker.cpp: Added. |
+ (WebCore::SelectorChecker::SelectorChecker): |
+ (WebCore::linkAttribute): |
+ (WebCore::SelectorChecker::determineLinkStateSlowCase): |
+ (WebCore::SelectorChecker::checkSelector): |
+ (WebCore::SelectorChecker::fastCheckSelector): |
+ (WebCore::SelectorChecker::isFastCheckableSelector): |
+ (WebCore::addLocalNameToSet): |
+ (WebCore::createHtmlCaseInsensitiveAttributesSet): |
+ (WebCore::htmlAttributeHasCaseInsensitiveValue): |
+ (WebCore::attributeQualifiedNameMatches): |
+ (WebCore::attributeValueMatches): |
+ (WebCore::anyAttributeMatches): |
+ (WebCore::SelectorChecker::checkOneSelector): |
+ (WebCore::SelectorChecker::checkScrollbarPseudoClass): |
+ (WebCore::SelectorChecker::allVisitedStateChanged): |
+ (WebCore::SelectorChecker::visitedStateChanged): |
+ * css/SelectorChecker.h: Added. |
+ (WebCore::SelectorChecker::document): |
+ (WebCore::SelectorChecker::strictParsing): |
+ (WebCore::SelectorChecker::isCollectingRulesOnly): |
+ (WebCore::SelectorChecker::setCollectingRulesOnly): |
+ (WebCore::SelectorChecker::isMatchingVisitedPseudoClass): |
+ (WebCore::SelectorChecker::setMatchingVisitedPseudoClass): |
+ (WebCore::SelectorChecker::pseudoStyle): |
+ (WebCore::SelectorChecker::setPseudoStyle): |
+ (WebCore::SelectorChecker::hasUnknownPseudoElements): |
+ (WebCore::SelectorChecker::clearHasUnknownPseudoElements): |
+ (WebCore::SelectorChecker::determineLinkState): |
+ * dom/Element.cpp: |
+ (WebCore::Element::webkitMatchesSelector): |
+ * dom/SelectorQuery.cpp: |
+ (WebCore::SelectorQuery::SelectorQuery): |
+ * dom/SelectorQuery.h: |
+ |
+2011-09-07 Dmitry Lomov <dslomov@google.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67413 |
+ [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh. |
+ This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * workers/WorkerContext.cpp: |
+ (WebCore::WorkerContext::clearInspector): |
+ * workers/WorkerContext.h: |
+ * workers/WorkerThread.cpp: |
+ (WebCore::WorkerThreadShutdownFinishTask::performTask): |
+ |
+2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94627 and r94632. |
+ http://trac.webkit.org/changeset/94627 |
+ http://trac.webkit.org/changeset/94632 |
+ https://bugs.webkit.org/show_bug.cgi?id=67698 |
+ |
+ It broke tests on GTK and Qt (Requested by Ossy on #webkit). |
+ |
+ * WebCore.exp.in: |
+ * bindings/js/JSDOMBinding.h: |
+ (WebCore::DOMConstructorObject::DOMConstructorObject): |
+ * bindings/js/JSDOMGlobalObject.cpp: |
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): |
+ * bindings/js/JSDOMGlobalObject.h: |
+ * bindings/js/JSDOMWindowShell.cpp: |
+ (WebCore::JSDOMWindowShell::create): |
+ * bindings/js/JSDOMWindowShell.h: |
+ * bindings/js/JSDOMWrapper.h: |
+ (WebCore::JSDOMWrapper::JSDOMWrapper): |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateImplementation): |
+ * bindings/scripts/test/JS/JSTestInterface.cpp: |
+ (WebCore::JSTestInterface::JSTestInterface): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
+ (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObj::JSTestObj): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
+ (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface): |
+ * bridge/c/CRuntimeObject.cpp: |
+ (JSC::Bindings::CRuntimeObject::CRuntimeObject): |
+ * bridge/c/CRuntimeObject.h: |
+ * bridge/jni/jsc/JavaRuntimeObject.cpp: |
+ (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject): |
+ * bridge/jni/jsc/JavaRuntimeObject.h: |
+ * bridge/objc/ObjCRuntimeObject.h: |
+ * bridge/objc/ObjCRuntimeObject.mm: |
+ (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject): |
+ * bridge/objc/objc_runtime.h: |
+ (JSC::Bindings::ObjcFallbackObjectImp::create): |
+ * bridge/objc/objc_runtime.mm: |
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): |
+ * bridge/qt/qt_instance.cpp: |
+ (JSC::Bindings::QtRuntimeObject::QtRuntimeObject): |
+ * bridge/qt/qt_pixmapruntime.cpp: |
+ (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject): |
+ * bridge/qt/qt_runtime.cpp: |
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): |
+ * bridge/qt/qt_runtime.h: |
+ * bridge/runtime_array.cpp: |
+ (JSC::RuntimeArray::RuntimeArray): |
+ * bridge/runtime_array.h: |
+ (JSC::RuntimeArray::create): |
+ * bridge/runtime_method.cpp: |
+ (JSC::RuntimeMethod::RuntimeMethod): |
+ * bridge/runtime_method.h: |
+ * bridge/runtime_object.cpp: |
+ (JSC::Bindings::RuntimeObject::RuntimeObject): |
+ * bridge/runtime_object.h: |
+ (JSC::Bindings::RuntimeObject::create): |
+ |
+2011-08-31 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ fast/workers/worker-script-error.html fails on Chromium after r94061 |
+ https://bugs.webkit.org/show_bug.cgi?id=67206 |
+ |
+ Default action should be prevented if window.onerror returned true and stay |
+ not prevented otherwise. |
+ |
+ Reviewed by Dmitry Titov. |
+ |
+ Tests: fast/events/window-onerror14.html |
+ fast/events/window-onerror15.html |
+ fast/events/window-onerror16.html |
+ |
+ * bindings/v8/V8AbstractEventListener.cpp: |
+ (WebCore::V8AbstractEventListener::invokeEventHandler): |
+ (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific |
+ event listeners to decide when to prevent default action based on the handler |
+ return value. |
+ * bindings/v8/V8AbstractEventListener.h: |
+ * bindings/v8/V8WindowErrorHandler.cpp: |
+ (WebCore::V8WindowErrorHandler::callListenerFunction): |
+ (WebCore::V8WindowErrorHandler::shouldPreventDefault): |
+ * bindings/v8/V8WindowErrorHandler.h: |
+ * bindings/v8/V8WorkerContextErrorHandler.cpp: |
+ (WebCore::V8WorkerContextErrorHandler::callListenerFunction): |
+ (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault): |
+ * bindings/v8/V8WorkerContextErrorHandler.h: |
+ |
+2011-09-06 Xianzhu Wang <wangxianzhu@chromium.org> |
+ |
+ Replace usages of Vector<UChar> with existing StringBuilder |
+ https://bugs.webkit.org/show_bug.cgi?id=67079 |
+ |
+ Reviewed by Gavin Barraclough. |
+ |
+ No new tests. All existing unit tests and layout tests should run |
+ as before. |
+ |
+ * css/CSSOMUtils.cpp: |
+ (WebCore::appendCharacter): |
+ (WebCore::serializeCharacter): |
+ (WebCore::serializeCharacterAsCodePoint): |
+ (WebCore::serializeIdentifier): |
+ (WebCore::serializeString): |
+ * css/CSSOMUtils.h: |
+ * css/CSSPrimitiveValue.cpp: |
+ (WebCore::CSSPrimitiveValue::cssText): |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): |
+ * css/CSSWrapShapes.cpp: |
+ (WebCore::CSSWrapShapeRect::cssText): |
+ (WebCore::CSSWrapShapeCircle::cssText): |
+ (WebCore::CSSWrapShapeEllipse::cssText): |
+ (WebCore::CSSWrapShapePolygon::cssText): |
+ * editing/HTMLInterchange.cpp: |
+ (WebCore::convertHTMLTextToInterchangeFormat): |
+ * editing/MarkupAccumulator.cpp: |
+ (WebCore::appendCharactersReplacingEntities): |
+ (WebCore::MarkupAccumulator::serializeNodes): |
+ (WebCore::MarkupAccumulator::appendStartTag): |
+ (WebCore::MarkupAccumulator::appendEndTag): |
+ (WebCore::MarkupAccumulator::concatenateMarkup): |
+ (WebCore::MarkupAccumulator::appendAttributeValue): |
+ (WebCore::MarkupAccumulator::appendCustomAttributes): |
+ (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue): |
+ (WebCore::MarkupAccumulator::appendNodeValue): |
+ (WebCore::MarkupAccumulator::appendNamespace): |
+ (WebCore::MarkupAccumulator::appendText): |
+ (WebCore::MarkupAccumulator::appendComment): |
+ (WebCore::MarkupAccumulator::appendDocumentType): |
+ (WebCore::MarkupAccumulator::appendProcessingInstruction): |
+ (WebCore::MarkupAccumulator::appendElement): |
+ (WebCore::MarkupAccumulator::appendOpenTag): |
+ (WebCore::MarkupAccumulator::appendCloseTag): |
+ (WebCore::MarkupAccumulator::appendAttribute): |
+ (WebCore::MarkupAccumulator::appendCDATASection): |
+ (WebCore::MarkupAccumulator::appendStartMarkup): |
+ (WebCore::MarkupAccumulator::appendEndMarkup): |
+ * editing/MarkupAccumulator.h: |
+ * editing/markup.cpp: |
+ (WebCore::StyledMarkupAccumulator::appendElement): |
+ (WebCore::StyledMarkupAccumulator::wrapWithNode): |
+ (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): |
+ (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): |
+ (WebCore::StyledMarkupAccumulator::takeResults): |
+ (WebCore::StyledMarkupAccumulator::appendText): |
+ (WebCore::urlToMarkup): |
+ * html/DOMTokenList.cpp: |
+ (WebCore::DOMTokenList::removeToken): |
+ * html/HTMLFontElement.cpp: |
+ (WebCore::parseFontSize): |
+ * html/HTMLTextFormControlElement.cpp: |
+ (WebCore::HTMLTextFormControlElement::strippedPlaceholder): |
+ * html/parser/CSSPreloadScanner.cpp: |
+ (WebCore::CSSPreloadScanner::emitRule): |
+ * html/parser/CSSPreloadScanner.h: |
+ * html/parser/HTMLEntityParser.cpp: |
+ (WebCore::consumeHTMLEntity): |
+ * html/parser/HTMLEntityParser.h: |
+ * html/parser/HTMLParserIdioms.cpp: |
+ (WebCore::parseHTMLInteger): |
+ (WebCore::parseHTMLNonNegativeInteger): |
+ * html/parser/HTMLTokenizer.cpp: |
+ (WebCore::HTMLTokenizer::processEntity): |
+ (WebCore::HTMLTokenizer::nextToken): |
+ * html/parser/HTMLTreeBuilder.cpp: |
+ (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo): |
+ (WebCore::HTMLTreeBuilder::defaultForInTableText): |
+ * html/parser/HTMLTreeBuilder.h: |
+ * inspector/InspectorValues.cpp: |
+ (WebCore::InspectorValue::toJSONString): |
+ (WebCore::InspectorValue::writeJSON): |
+ (WebCore::InspectorBasicValue::writeJSON): |
+ (WebCore::InspectorString::writeJSON): |
+ (WebCore::InspectorObject::writeJSON): |
+ (WebCore::InspectorArray::writeJSON): |
+ * inspector/InspectorValues.h: |
+ * loader/CrossOriginAccessControl.cpp: |
+ (WebCore::createAccessControlPreflightRequest): |
+ * loader/appcache/ApplicationCacheStorage.cpp: |
+ (WebCore::ApplicationCacheStorage::store): |
+ * page/Chrome.cpp: |
+ (WebCore::Chrome::setToolTip): |
+ * page/PageSerializer.cpp: |
+ (WebCore::SerializerMarkupAccumulator::appendText): |
+ (WebCore::SerializerMarkupAccumulator::appendElement): |
+ (WebCore::SerializerMarkupAccumulator::appendCustomAttributes): |
+ * page/SecurityOrigin.cpp: |
+ (WebCore::SecurityOrigin::toString): |
+ * platform/KURL.cpp: |
+ (WebCore::KURL::deprecatedString): |
+ (WebCore::decodeURLEscapeSequences): |
+ * platform/LinkHash.cpp: |
+ (WebCore::squeezeOutNullCharacters): |
+ (WebCore::cleanSlashDotDotSlashes): |
+ (WebCore::mergeDoubleSlashes): |
+ (WebCore::cleanSlashDotSlashes): |
+ (WebCore::cleanPath): |
+ (WebCore::visitedURLInline): |
+ (WebCore::visitedURL): |
+ (WebCore::visitedLinkHash): |
+ * platform/LinkHash.h: |
+ * platform/gtk/DataObjectGtk.cpp: |
+ (WebCore::DataObjectGtk::setURL): |
+ * platform/network/HTTPParsers.cpp: |
+ (WebCore::extractMIMETypeFromMediaType): |
+ * platform/text/TextCodecICU.cpp: |
+ (WebCore::TextCodecICU::decode): |
+ * platform/text/TextStream.cpp: |
+ (WebCore::TextStream::operator<<): |
+ (WebCore::TextStream::release): |
+ * platform/text/TextStream.h: |
+ * plugins/PluginStream.cpp: |
+ (WebCore::PluginStream::startStream): |
+ * rendering/InlineTextBox.cpp: |
+ (WebCore::adjustCharactersAndLengthForHyphen): |
+ * rendering/InlineTextBox.h: |
+ (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen): |
+ * rendering/RenderListItem.cpp: |
+ (WebCore::RenderListItem::markerTextWithSuffix): |
+ * rendering/RenderListMarker.cpp: |
+ (WebCore::toSymbolic): |
+ (WebCore::RenderListMarker::paint): |
+ (WebCore::RenderListMarker::suffix): |
+ * rendering/RenderTreeAsText.cpp: |
+ (WebCore::quoteAndEscapeNonPrintables): |
+ * rendering/mathml/RenderMathMLFenced.cpp: |
+ (WebCore::RenderMathMLFenced::updateFromElement): |
+ * storage/IDBLevelDBCoding.cpp: |
+ (WebCore::IDBLevelDBCoding::decodeString): |
+ * xml/XMLHttpRequest.cpp: |
+ (WebCore::XMLHttpRequest::getAllResponseHeaders): |
+ * xml/XPathFunctions.cpp: |
+ (WebCore::XPath::FunId::evaluate): |
+ (WebCore::XPath::FunConcat::evaluate): |
+ * xml/XPathUtil.cpp: |
+ (WebCore::XPath::stringValue): |
+ * xml/XSLTProcessorLibxslt.cpp: |
+ (WebCore::writeToStringBuilder): |
+ (WebCore::saveResultToString): |
+ * xml/parser/CharacterReferenceParserInlineMethods.h: |
+ (WebCore::unconsumeCharacters): |
+ (WebCore::consumeCharacterReference): |
+ * xml/parser/XMLCharacterReferenceParser.cpp: |
+ (WebCore::consumeXMLCharacterReference): |
+ * xml/parser/XMLCharacterReferenceParser.h: |
+ * xml/parser/XMLTokenizer.cpp: |
+ (WebCore::XMLTokenizer::nextToken): |
+ |
+2011-09-05 Kent Tamura <tkent@chromium.org> |
+ |
+ REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset |
+ https://bugs.webkit.org/show_bug.cgi?id=67567 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue(). |
+ - Clear m_icon in FileInputType::setValue(). |
+ |
+ Tests: fast/forms/file/file-reset-in-change-expected.html |
+ fast/forms/file/file-reset-in-change.html |
+ |
+ * html/BaseButtonInputType.cpp: |
+ (WebCore::BaseButtonInputType::setValue): |
+ Implemenation for the "default" mode. |
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default |
+ * html/BaseButtonInputType.h: |
+ * html/BaseCheckableInputType.cpp: |
+ (WebCore::BaseCheckableInputType::setValue): |
+ Implemenation for the "default/on" mode. |
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on |
+ * html/BaseCheckableInputType.h: |
+ * html/FileInputType.cpp: |
+ (WebCore::FileInputType::setValue): |
+ Implemenation for the "filename" mode, and clearing m_icon. |
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename |
+ * html/FileInputType.h: |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::setValue): |
+ Move some code to InputType::setValue(). |
+ (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue(). |
+ * html/HTMLInputElement.h: |
+ * html/HiddenInputType.cpp: |
+ (WebCore::HiddenInputType::setValue): |
+ Implementation for the "default" mode. |
+ * html/HiddenInputType.h: |
+ * html/InputType.cpp: |
+ (WebCore::InputType::setValue): |
+ Implementation for the "value" mode. |
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value |
+ * html/InputType.h: |
+ * html/TextFieldInputType.cpp: |
+ (WebCore::TextFieldInputType::setValue): |
+ In addition to the "value" mode processing, updates placeholder visibililty. |
+ * html/TextFieldInputType.h: |
+ |
+2011-09-06 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set |
+ https://bugs.webkit.org/show_bug.cgi?id=67681 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called. |
+ Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance. |
+ |
+ Test: fast/forms/suggested-value-after-setvalue.html |
+ |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::setValue): |
+ |
+2011-09-06 Adam Barth <abarth@webkit.org> |
+ |
+ Attempt to fix GTK build. |
+ |
+ * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: |
+ (WebKit::createHTMLElementWrapper): |
+ |
+2011-09-06 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ fast/forms/suggested-value-crash.html crashes on Windows |
+ https://bugs.webkit.org/show_bug.cgi?id=67688 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ The crash was caused because functions in internals were accessing uninitialized QualifiedNames. |
+ Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement |
+ and string comparison. |
+ |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::wasLastChangeUserEdit): |
+ (WebCore::Internals::suggestedValue): |
+ (WebCore::Internals::setSuggestedValue): |
+ |
+2011-09-06 Mark Hahnenberg <mhahnenberg@apple.com> |
+ |
+ Unzip initialization lists and constructors in JSCell hierarchy (5/7) |
+ https://bugs.webkit.org/show_bug.cgi?id=67420 |
+ |
+ Reviewed by Geoffrey Garen. |
+ |
+ No new tests. |
+ |
+ Completed the fifth level of the refactoring to add finishCreation() |
+ methods to all classes within the JSCell hierarchy with non-trivial |
+ constructor bodies. |
+ |
+ This primarily consists of pushing the calls to finishCreation() down |
+ into the constructors of the subclasses of the second level of the hierarchy |
+ as well as pulling the finishCreation() calls out into the class's corresponding |
+ create() method if it has one. Doing both simultaneously allows us to |
+ maintain the invariant that the finishCreation() method chain is called exactly |
+ once during the creation of an object, since calling it any other number of |
+ times (0, 2, or more) will cause an assertion failure. |
+ |
+ * WebCore.exp.in: |
+ * bindings/js/JSDOMBinding.h: |
+ (WebCore::DOMConstructorObject::DOMConstructorObject): |
+ * bindings/js/JSDOMGlobalObject.cpp: |
+ (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): |
+ (WebCore::JSDOMGlobalObject::finishCreation): |
+ * bindings/js/JSDOMGlobalObject.h: |
+ * bindings/js/JSDOMWindowShell.cpp: |
+ * bindings/js/JSDOMWindowShell.h: |
+ (WebCore::JSDOMWindowShell::create): |
+ * bindings/js/JSDOMWrapper.h: |
+ (WebCore::JSDOMWrapper::JSDOMWrapper): |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateImplementation): |
+ * bindings/scripts/test/JS/JSTestInterface.cpp: |
+ (WebCore::JSTestInterface::JSTestInterface): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
+ (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObj::JSTestObj): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
+ (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface): |
+ * bridge/c/CRuntimeObject.cpp: |
+ (JSC::Bindings::CRuntimeObject::CRuntimeObject): |
+ (JSC::Bindings::CRuntimeObject::finishCreation): |
+ * bridge/c/CRuntimeObject.h: |
+ * bridge/jni/jsc/JavaRuntimeObject.cpp: |
+ (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject): |
+ (JSC::Bindings::JavaRuntimeObject::finishCreation): |
+ * bridge/jni/jsc/JavaRuntimeObject.h: |
+ * bridge/objc/ObjCRuntimeObject.h: |
+ * bridge/objc/ObjCRuntimeObject.mm: |
+ (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject): |
+ (JSC::Bindings::ObjCRuntimeObject::finishCreation): |
+ * bridge/objc/objc_runtime.h: |
+ (JSC::Bindings::ObjcFallbackObjectImp::create): |
+ * bridge/objc/objc_runtime.mm: |
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): |
+ * bridge/qt/qt_instance.cpp: |
+ (JSC::Bindings::QtRuntimeObject::QtRuntimeObject): |
+ * bridge/qt/qt_pixmapruntime.cpp: |
+ (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject): |
+ * bridge/qt/qt_runtime.cpp: |
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): |
+ (JSC::Bindings::QtRuntimeMethod::finishCreation): |
+ * bridge/qt/qt_runtime.h: |
+ * bridge/runtime_array.cpp: |
+ (JSC::RuntimeArray::RuntimeArray): |
+ * bridge/runtime_array.h: |
+ (JSC::RuntimeArray::create): |
+ * bridge/runtime_method.cpp: |
+ (JSC::RuntimeMethod::RuntimeMethod): |
+ (JSC::RuntimeMethod::finishCreation): |
+ * bridge/runtime_method.h: |
+ * bridge/runtime_object.cpp: |
+ (JSC::Bindings::RuntimeObject::RuntimeObject): |
+ * bridge/runtime_object.h: |
+ (JSC::Bindings::RuntimeObject::create): |
+ |
+2011-09-06 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Implement list style properties in CSSStyleApplyProperty. |
+ https://bugs.webkit.org/show_bug.cgi?id=67103 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ No new tests / no behavioral changes. |
+ |
+ * css/CSSStyleApplyProperty.cpp: |
+ Add class to wrap call to CSSStyleSelector::styleImage(). |
+ (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage): |
+ (WebCore::ApplyPropertyStyleImage::applyValue): |
+ (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): |
+ Initialize handlers for list style properties. |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ Remove existing property implementations. |
+ |
+2011-09-06 Alexis Menard <alexis.menard@openbossa.org> |
+ |
+ [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer. |
+ https://bugs.webkit.org/show_bug.cgi?id=67673 |
+ |
+ Reviewed by Ariya Hidayat. |
+ |
+ Move away from QPointer to QWeakPointer, it is faster. |
+ |
+ No new tests, the existing ones should cover. |
+ |
+ * bridge/qt/qt_instance.cpp: |
+ (JSC::Bindings::QtInstance::~QtInstance): |
+ (JSC::Bindings::QtInstance::getClass): |
+ (JSC::Bindings::QtField::name): |
+ (JSC::Bindings::QtField::valueFromInstance): |
+ * bridge/qt/qt_instance.h: |
+ (JSC::Bindings::QtInstance::getObject): |
+ * bridge/qt/qt_runtime.h: |
+ * platform/qt/SharedTimerQt.cpp: |
+ (WebCore::SharedTimerQt::inst): |
+ |
+2011-09-06 Oliver Hunt <oliver@apple.com> |
+ |
+ Update expected results of bindings tests. |
+ |
+ * bindings/scripts/test/JS/JSTestInterface.cpp: |
+ (WebCore::JSTestInterfaceConstructor::createStructure): |
+ (WebCore::JSTestInterface::createPrototype): |
+ * bindings/scripts/test/JS/JSTestInterface.h: |
+ (WebCore::JSTestInterface::createStructure): |
+ (WebCore::JSTestInterfacePrototype::createStructure): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
+ (WebCore::JSTestMediaQueryListListenerConstructor::createStructure): |
+ (WebCore::JSTestMediaQueryListListener::createPrototype): |
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: |
+ (WebCore::JSTestMediaQueryListListener::createStructure): |
+ (WebCore::JSTestMediaQueryListListenerPrototype::createStructure): |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObjConstructor::createStructure): |
+ (WebCore::JSTestObj::createPrototype): |
+ * bindings/scripts/test/JS/JSTestObj.h: |
+ (WebCore::JSTestObj::createStructure): |
+ (WebCore::JSTestObjPrototype::createStructure): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
+ (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure): |
+ (WebCore::JSTestSerializedScriptValueInterface::createPrototype): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: |
+ (WebCore::JSTestSerializedScriptValueInterface::createStructure): |
+ (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure): |
+ |
+2011-09-06 Eric Seidel <eric@webkit.org> |
+ |
+ Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1) |
+ https://bugs.webkit.org/show_bug.cgi?id=67678 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ This is why we can't have nice things. |
+ |
+ There was some confusion in the original DOM HTML 1 spec about |
+ the existence of HTMlBlockquoteElement which was clarified by |
+ a later errata, removing HTMLBlockquoteElement: |
+ http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html |
+ "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements" |
+ |
+ Le sigh. Personally I think having a separate HTMLBlockquoteElement |
+ is clearer, but thats not how the web works. Removed it and updated test results. |
+ |
+ * CMakeLists.txt: |
+ * CodeGenerators.pri: |
+ * DerivedSources.cpp: |
+ * DerivedSources.make: |
+ * GNUmakefile.list.am: |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/gobject/GNUmakefile.am: |
+ * editing/IndentOutdentCommand.cpp: |
+ * html/HTMLBlockquoteElement.cpp: Removed. |
+ * html/HTMLBlockquoteElement.h: Removed. |
+ * html/HTMLBlockquoteElement.idl: Removed. |
+ * html/HTMLElementsAllInOne.cpp: |
+ * html/HTMLQuoteElement.cpp: |
+ (WebCore::HTMLQuoteElement::HTMLQuoteElement): |
+ (WebCore::HTMLQuoteElement::insertedIntoDocument): |
+ * html/HTMLTagNames.in: |
+ * page/DOMWindow.idl: |
+ |
+2011-09-06 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Rename confirmCompositionWithoutDisturbingSelection to cancelComposition |
+ https://bugs.webkit.org/show_bug.cgi?id=67569 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition. |
+ Also renamed the shared function from confirmComposition to setComposition. |
+ |
+ * WebCore.exp.in: |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::confirmComposition): |
+ (WebCore::Editor::cancelComposition): |
+ (WebCore::Editor::setComposition): |
+ * editing/Editor.h: |
+ |
+2011-09-06 Sam Weinig <sam@webkit.org> |
+ |
+ WebVTTTokenizer files in the wrong place in the Xcode project. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: |
+ Move WebVTTTokenizer files so they are in the right place in the project. |
+ |
+2011-09-06 Chris Rogers <crogers@google.com> |
+ |
+ MediaElementAudioSourceNode destruction triggers ASSERTS |
+ https://bugs.webkit.org/show_bug.cgi?id=67665 |
+ |
+ Reviewed by Nate Chapin. |
+ |
+ Test: webaudio/mediaelementaudiosourcenode-gc.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::setAudioSourceNode): |
+ * webaudio/AudioContext.cpp: |
+ (WebCore::AudioContext::uninitializeDispatch): |
+ (WebCore::AudioContext::stop): |
+ * webaudio/AudioContext.h: |
+ |
+2011-09-05 Oliver Hunt <oliver@apple.com> |
+ |
+ An object's structure should reference the global object responsible for its creation |
+ https://bugs.webkit.org/show_bug.cgi?id=67624 |
+ |
+ Reviewed by Gavin Barraclough. |
+ |
+ Update calls to Structure::create() to pass the globalObject in, |
+ and update the CodeGenerator to generate appropriate createStructure |
+ methods. |
+ |
+ * bindings/js/JSAudioConstructor.h: |
+ (WebCore::JSAudioConstructor::createStructure): |
+ * bindings/js/JSDOMBinding.h: |
+ (WebCore::DOMConstructorObject::createStructure): |
+ (WebCore::getDOMStructure): |
+ * bindings/js/JSDOMGlobalObject.h: |
+ (WebCore::JSDOMGlobalObject::createStructure): |
+ (WebCore::getDOMConstructor): |
+ * bindings/js/JSDOMWindowBase.h: |
+ (WebCore::JSDOMWindowBase::createStructure): |
+ * bindings/js/JSDOMWindowShell.cpp: |
+ (WebCore::JSDOMWindowShell::setWindow): |
+ * bindings/js/JSDOMWindowShell.h: |
+ (WebCore::JSDOMWindowShell::createStructure): |
+ * bindings/js/JSDOMWrapper.h: |
+ (WebCore::JSDOMWrapper::createStructure): |
+ * bindings/js/JSImageConstructor.h: |
+ (WebCore::JSImageConstructor::createStructure): |
+ * bindings/js/JSImageDataCustom.cpp: |
+ (WebCore::toJS): |
+ * bindings/js/JSOptionConstructor.h: |
+ (WebCore::JSOptionConstructor::createStructure): |
+ * bindings/js/JSWorkerContextBase.h: |
+ (WebCore::JSWorkerContextBase::createStructure): |
+ * bindings/js/WorkerScriptController.cpp: |
+ (WebCore::WorkerScriptController::initScript): |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): |
+ (GenerateImplementation): |
+ (GenerateConstructorDeclaration): |
+ * bridge/c/CRuntimeObject.h: |
+ (JSC::Bindings::CRuntimeObject::createStructure): |
+ * bridge/c/c_instance.cpp: |
+ (JSC::Bindings::CRuntimeMethod::createStructure): |
+ * bridge/jni/jsc/JavaInstanceJSC.cpp: |
+ (JavaRuntimeMethod::createStructure): |
+ * bridge/jni/jsc/JavaRuntimeObject.h: |
+ (JSC::Bindings::JavaRuntimeObject::createStructure): |
+ * bridge/objc/ObjCRuntimeObject.h: |
+ (JSC::Bindings::ObjCRuntimeObject::createStructure): |
+ * bridge/objc/objc_instance.mm: |
+ (ObjCRuntimeMethod::createStructure): |
+ * bridge/objc/objc_runtime.h: |
+ (JSC::Bindings::ObjcFallbackObjectImp::createStructure): |
+ * bridge/runtime_array.h: |
+ (JSC::RuntimeArray::createStructure): |
+ * bridge/runtime_method.h: |
+ (JSC::RuntimeMethod::createStructure): |
+ * bridge/runtime_object.h: |
+ (JSC::Bindings::RuntimeObject::createStructure): |
+ |
+2011-09-06 Anders Carlsson <andersca@apple.com> |
+ |
+ Move NPAPI headers in bridge to plugins |
+ https://bugs.webkit.org/show_bug.cgi?id=67661 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ * WebCore.gypi: |
+ * WebCore.pro: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ Update build systems. |
+ |
+ * bridge/npapi.h: Removed. |
+ * bridge/npruntime.h: Removed. |
+ * bridge/nptypes.h: Removed. |
+ * plugins/npapi.h: Copied from Source/WebCore/bridge/npapi.h. |
+ * plugins/npruntime.h: Copied from Source/WebCore/bridge/npruntime.h. |
+ * plugins/nptypes.h: Copied from Source/WebCore/bridge/nptypes.h. |
+ |
+2011-09-06 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67672 |
+ |
+ Improve background-size parsing. Make it actually dump auto values properly, and also make it omit |
+ auto if it is the second value. Fix the parsing to not create a value list when only a singleton value |
+ is specified. |
+ |
+ Reviewed by Beth Dakin. |
+ |
+ Covered well by existing tests. |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::fillSizeToCSSValue): |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseFillSize): |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::mapFillSize): |
+ |
+2011-09-06 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67657 |
+ |
+ Implement border-image-width. This patch stops short of converting -webkit-border-image to a shorthand. |
+ I'll do that in the next patch. |
+ |
+ Note that unlike the -webkit-border-image syntax, border-image-width does not actually set the border |
+ width values. It simply makes cuts into the border image drawing area (which for now is just the border |
+ box, but that will change once border-image-outset is implemented). |
+ |
+ This means we need additional storage for the slices, since they are now separate from the border widths. |
+ |
+ For backwards compatibility, -webkit-border-image will continue to set the border widths when |
+ border-image-width is specified in the -webkit-border-image shorthand. |
+ |
+ Reviewed by Beth Dakin. |
+ |
+ Added new tests in fast/borders. |
+ |
+ * css/CSSBorderImageSliceValue.cpp: |
+ (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue): |
+ (WebCore::CSSBorderImageSliceValue::cssText): |
+ * css/CSSBorderImageSliceValue.h: |
+ (WebCore::CSSBorderImageSliceValue::create): |
+ (WebCore::CSSBorderImageSliceValue::slices): |
+ Rename slices() to imageSlices() and add borderSlices() and m_borderSlices to hold the desired cuts |
+ for the border image drawing area. Converted the slices over to the new Quad primitive value (a RectBase |
+ subclass that is identical to Rect but dumps as a quad instead of a rect primitive). |
+ |
+ * css/CSSBorderImageValue.cpp: |
+ (WebCore::CSSBorderImageValue::CSSBorderImageValue): |
+ (WebCore::CSSBorderImageValue::cssText): |
+ * css/CSSBorderImageValue.h: |
+ (WebCore::CSSBorderImageValue::create): |
+ Make CSSBorderImageValue take the border slices during construction now. |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::valueForNinePieceImageSlice): |
+ (WebCore::valueForNinePieceImageWidth): |
+ (WebCore::valueForNinePieceImageRepeat): |
+ (WebCore::valueForNinePieceImage): |
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
+ Add support for computed style via valueForNinePieceImageWidth. Patch all of the border image properties |
+ to dump the most compact form possible for the property values, e.g., "stretch stretch" becomes "stretch." |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseValue): |
+ (WebCore::CSSParser::parseReflect): |
+ (WebCore::BorderImageParseContext::BorderImageParseContext): |
+ (WebCore::BorderImageParseContext::commitImageSlice): |
+ (WebCore::BorderImageParseContext::commitBorderWidth): |
+ (WebCore::BorderImageParseContext::commitBorderImage): |
+ (WebCore::CSSParser::parseBorderImage): |
+ (WebCore::isBorderImageRepeatKeyword): |
+ (WebCore::CSSParser::parseBorderImageRepeat): |
+ (WebCore::BorderImageSliceParseContext::commitBorderImageSlice): |
+ (WebCore::CSSParser::parseBorderImageSlice): |
+ (WebCore::BorderImageWidthParseContext::BorderImageWidthParseContext): |
+ (WebCore::BorderImageWidthParseContext::allowNumber): |
+ (WebCore::BorderImageWidthParseContext::allowFinalCommit): |
+ (WebCore::BorderImageWidthParseContext::top): |
+ (WebCore::BorderImageWidthParseContext::commitNumber): |
+ (WebCore::BorderImageWidthParseContext::setAllowFinalCommit): |
+ (WebCore::BorderImageWidthParseContext::setTop): |
+ (WebCore::BorderImageWidthParseContext::commitBorderImageWidth): |
+ (WebCore::CSSParser::parseBorderImageWidth): |
+ * css/CSSParser.h: |
+ Modify the border-image code to pass off border-image-width parsing to parseBorderImageWidth. |
+ |
+ * css/CSSPrimitiveValue.cpp: |
+ (WebCore::isValidCSSUnitTypeForDoubleConversion): |
+ (WebCore::CSSPrimitiveValue::init): |
+ (WebCore::CSSPrimitiveValue::cleanup): |
+ (WebCore::CSSPrimitiveValue::getQuadValue): |
+ (WebCore::CSSPrimitiveValue::cssText): |
+ * css/CSSPrimitiveValue.h: |
+ (WebCore::CSSPrimitiveValue::getQuadValue): |
+ Add the new Quad value to CSSPrimitiveValue. |
+ |
+ * css/CSSPropertyNames.in: |
+ Add the new properties for border-image-width and -webkit-mask-box-image-width. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applyProperty): |
+ (WebCore::CSSStyleSelector::mapNinePieceImage): |
+ (WebCore::CSSStyleSelector::mapNinePieceImageSlice): |
+ (WebCore::CSSStyleSelector::mapNinePieceImageWidth): |
+ (WebCore::CSSStyleSelector::loadPendingImages): |
+ * css/CSSStyleSelector.h: |
+ Add the code to map the image width into border slices. |
+ |
+ * css/Rect.h: |
+ (WebCore::RectBase::top): |
+ (WebCore::RectBase::right): |
+ (WebCore::RectBase::bottom): |
+ (WebCore::RectBase::left): |
+ (WebCore::RectBase::setTop): |
+ (WebCore::RectBase::setRight): |
+ (WebCore::RectBase::setBottom): |
+ (WebCore::RectBase::setLeft): |
+ (WebCore::RectBase::RectBase): |
+ (WebCore::RectBase::~RectBase): |
+ (WebCore::Rect::create): |
+ (WebCore::Rect::Rect): |
+ (WebCore::Quad::create): |
+ (WebCore::Quad::Quad): |
+ Adding the new Quad value. |
+ |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::computeBorderImageSide): |
+ (WebCore::RenderBoxModelObject::paintNinePieceImage): |
+ Modify painting to treat the border slices as separate from the border widths. |
+ |
+ * rendering/style/NinePieceImage.cpp: |
+ (WebCore::NinePieceImage::operator==): |
+ * rendering/style/NinePieceImage.h: |
+ (WebCore::NinePieceImage::NinePieceImage): |
+ (WebCore::NinePieceImage::imageSlices): |
+ (WebCore::NinePieceImage::setImageSlices): |
+ (WebCore::NinePieceImage::borderSlices): |
+ (WebCore::NinePieceImage::setBorderSlices): |
+ (WebCore::NinePieceImage::copyImageSlicesFrom): |
+ (WebCore::NinePieceImage::copyBorderSlicesFrom): |
+ * rendering/style/StyleRareNonInheritedData.cpp: |
+ Add the border slices. |
+ |
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
+ * rendering/style/StyleReflection.h: |
+ (WebCore::StyleReflection::StyleReflection): |
+ Make sure masks and reflections default border-image-width to auto instead of 1, since that matches |
+ old behavior. |
+ |
+2011-09-06 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ [chromium skia] JPEGImageEncoder: hoist constants out of the encoding loop |
+ https://bugs.webkit.org/show_bug.cgi?id=67589 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ Change the row converter function signatures to be the same. Call them via a function |
+ pointer during the encoding loop. Minor webkit style cleanup, remove unused include. |
+ |
+ No new tests. Covered by existing canvas 2d and 3d tests. |
+ canvas/philip/tests/toDataURL.jpeg.alpha.html |
+ fast/canvas/webgl/premultiplyalpha-test.html |
+ |
+ * platform/image-encoders/skia/JPEGImageEncoder.cpp: Remove SkUnPreMultiply.h (not used). |
+ (WebCore::preMultipliedBGRAtoRGB): Use unsigned char* instead of void* for pixels. |
+ (WebCore::RGBAtoRGB): pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature. |
+ (WebCore::encodePixels): Move constants out of the encoding loop: use a function pointer |
+ to call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures), define |
+ and use pixelRowStride constant. |
+ (WebCore::JPEGImageEncoder::encode): |
+ |
+2011-09-06 Aaron Colwell <acolwell@chromium.org> |
+ |
+ Allow MediaSource API to be enabled at runtime. |
+ https://bugs.webkit.org/show_bug.cgi?id=67306 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ * bindings/generic/RuntimeEnabledFeatures.h: |
+ (WebCore::RuntimeEnabledFeatures::webkitMediaSourceEnabled): |
+ (WebCore::RuntimeEnabledFeatures::setWebkitMediaSourceEnabled): |
+ * html/HTMLMediaElement.idl: |
+ |
+2011-09-06 Mike Reed <reed@google.com> |
+ |
+ [skia] never draw with GDI, so that all text can be gpu-accelerated |
+ https://bugs.webkit.org/show_bug.cgi?id=65203 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ * platform/graphics/chromium/FontChromiumWin.cpp: |
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter): |
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): |
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): |
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter): |
+ (WebCore::drawGlyphsWin): |
+ (WebCore::Font::drawComplexText): |
+ * platform/graphics/chromium/UniscribeHelper.cpp: |
+ (WebCore::UniscribeHelper::draw): |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ * platform/graphics/skia/PlatformContextSkia.h: |
+ * platform/graphics/skia/SkiaFontWin.cpp: |
+ (WebCore::skiaDrawText): |
+ * platform/graphics/skia/SkiaFontWin.h: |
+ |
+2011-09-06 Nat Duca <nduca@chromium.org> |
+ |
+ [chromium] REGRESSION(94353): requestAnimationFrame not throttled in compositing path |
+ https://bugs.webkit.org/show_bug.cgi?id=67621 |
+ |
+ CCSingleThreadProxy should not perform layout when called |
+ via the compositeImmediately path. Doing so makes it look |
+ like frame rate is unbounded. |
+ |
+ Reviewed by James Robinson. |
+ |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
+ (WebCore::CCSingleThreadProxy::compositeAndReadback): |
+ (WebCore::CCSingleThreadProxy::compositeImmediately): |
+ (WebCore::CCSingleThreadProxy::commitIfNeeded): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
+ |
+2011-09-06 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium |
+ https://bugs.webkit.org/show_bug.cgi?id=67453 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Fixed the bug by updating inner text value in setSuggestedValue. |
+ |
+ Also added a suggestedValue and setSuggestedValue on window.internals for testing purposes. |
+ |
+ Test: fast/forms/suggested-value.html |
+ |
+ * WebCore.exp.in: |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::suggestedValue): |
+ (WebCore::Internals::setSuggestedValue): |
+ * testing/Internals.h: |
+ * testing/Internals.idl: |
+ |
+2011-09-06 Eric Carlson <eric.carlson@apple.com> |
+ |
+ load() does not reset the resource selection algorithm |
+ https://bugs.webkit.org/show_bug.cgi?id=64917 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Test: media/video-source-load.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::selectMediaResource): Reset m_nextChildNodeToConsider, update |
+ comments and rearrange logic to more closely match logic in spec. |
+ (WebCore::HTMLMediaElement::noneSupported): Update comments. |
+ |
+2011-09-06 Abhishek Arya <inferno@chromium.org> |
+ |
+ Style not propagated to anonymous boxes and anonymous |
+ inline-blocks. |
+ https://bugs.webkit.org/show_bug.cgi?id=67364 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::styleDidChange): |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::propagateStyleToAnonymousChildren): |
+ * rendering/RenderObject.h: |
+ |
+2011-09-06 Robin Cao <robin.cao@torchmobile.com.cn> |
+ |
+ [skia] States of GraphicsContext may never be restored after clipToImageBuffer |
+ https://bugs.webkit.org/show_bug.cgi?id=67358 |
+ |
+ beginLayerClippedToImage/applyClipFromImage are mismatched when clipping to |
+ an empty ImageBuffer, which will make states of GraphicsContext incorrect. |
+ |
+ Reviewed by James Robinson. |
+ |
+ Test: fast/repaint/background-clip-text.html |
+ |
+ * platform/graphics/skia/PlatformContextSkia.cpp: |
+ (WebCore::PlatformContextSkia::beginLayerClippedToImage): |
+ |
+2011-09-06 Raphael Kubo da Costa <kubo@profusion.mobi> |
+ |
+ [EFL] Do not allocate memory for extremely large surfaces. |
+ https://bugs.webkit.org/show_bug.cgi?id=65192 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ So far, RenderThemeEfl tried to allocate a buffer and a cairo surface |
+ the size of the whole form element passed to it. |
+ |
+ In the case of |
+ fast/overflow/overflow-height-float-not-removed-crash.html and others, |
+ this meant extremely large widgets, which crashed the code. |
+ |
+ We now only render the widgets if they are smaller than some hardcoded |
+ and sufficiently large values which should work in most cases. |
+ |
+ No new tests, as this was uncovered by existing ones. |
+ |
+ * platform/efl/RenderThemeEfl.cpp: |
+ (WebCore::RenderThemeEfl::isFormElementTooLargeToDisplay): |
+ (WebCore::RenderThemeEfl::cacheThemePartNew): |
+ (WebCore::RenderThemeEfl::paintThemePart): |
+ * platform/efl/RenderThemeEfl.h: |
+ |
+2011-08-30 Pavel Podivilov <podivilov@chromium.org> |
+ |
+ Web Inspector: implement source map v3 consumer. |
+ https://bugs.webkit.org/show_bug.cgi?id=67205 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Test: inspector/debugger/compiler-source-mapping.html |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/front-end/CompilerSourceMapping.js: Added. |
+ (WebInspector.CompilerSourceMapping): |
+ (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation): |
+ (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation): |
+ (WebInspector.CompilerSourceMapping.prototype.get sources): |
+ (WebInspector.ClosureCompilerSourceMapping): |
+ (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation): |
+ (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation): |
+ (WebInspector.ClosureCompilerSourceMapping.prototype.get sources): |
+ (WebInspector.ClosureCompilerSourceMapping.prototype._findMapping): |
+ (WebInspector.ClosureCompilerSourceMapping.prototype._parsePayload): |
+ (WebInspector.ClosureCompilerSourceMapping.prototype._isSeparator): |
+ (WebInspector.ClosureCompilerSourceMapping.prototype._decodeVLQ): |
+ (WebInspector.ClosureCompilerSourceMapping.StringCharIterator): |
+ (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.next): |
+ (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.peek): |
+ (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.hasNext): |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ |
2011-09-05 Pavel Podivilov <podivilov@chromium.org> |
Web Inspector: re-implement RawSourceCode. |
@@ -48,6 +4313,141 @@ |
(WebInspector.StaticContentProvider): |
(WebInspector.StaticContentProvider.prototype.requestContent): |
+2011-09-06 Csaba Osztrogonác <ossy@webkit.org> |
+ |
+ Unreviewed, rolling out r94564. |
+ http://trac.webkit.org/changeset/94564 |
+ https://bugs.webkit.org/show_bug.cgi?id=67555 |
+ |
+ It broke many tests |
+ |
+ * svg/SVGTRefElement.cpp: |
+ (WebCore::SVGTRefElement::svgAttributeChanged): |
+ |
+2011-09-06 Rob Buis <rbuis@rim.com> |
+ |
+ use after free in WebCore::SVGTRefElement::updateReferencedText |
+ https://bugs.webkit.org/show_bug.cgi?id=67555 |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ Do not install event listener if tref is not part of any document. |
+ |
+ Test: svg/custom/tref-clone-crash.html |
+ |
+ * svg/SVGTRefElement.cpp: |
+ (WebCore::SVGTRefElement::svgAttributeChanged): |
+ |
+2011-09-06 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r94560. |
+ http://trac.webkit.org/changeset/94560 |
+ https://bugs.webkit.org/show_bug.cgi?id=67636 |
+ |
+ It made inspector/debugger/script-formatter.html flakey |
+ (Requested by Ossy on #webkit). |
+ |
+ * inspector/front-end/BreakpointManager.js: |
+ (WebInspector.BreakpointManager.prototype.set reset): |
+ * inspector/front-end/DebuggerPresentationModel.js: |
+ (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping): |
+ (WebInspector.DebuggerPresentationModel.prototype._addScript): |
+ (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced): |
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSource): |
+ (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation): |
+ (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage): |
+ (WebInspector.PresenationCallFrame.prototype.select): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced): |
+ (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): |
+ * inspector/front-end/SourceFile.js: |
+ (WebInspector.RawSourceCode): |
+ (WebInspector.RawSourceCode.prototype.addScript): |
+ (WebInspector.RawSourceCode.prototype.contentEdited): |
+ (WebInspector.RawSourceCode.prototype.requestContent): |
+ (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent): |
+ (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded): |
+ (WebInspector.RawSourceCode.prototype._setContentProvider): |
+ (WebInspector.RawSourceCode.prototype.forceLoadContent): |
+ (WebInspector.RawSourceCode.prototype._reload): |
+ (WebInspector.RawSourceCode.prototype._requestContent): |
+ (WebInspector.RawSourceCode.prototype._loadResourceContent): |
+ (WebInspector.RawSourceCode.prototype._loadScriptContent): |
+ (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent): |
+ (WebInspector.RawSourceCode.prototype._didRequestContent): |
+ (WebInspector.RawSourceCode.prototype._hasPendingResource): |
+ (WebInspector.FormattedContentProvider): |
+ (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent): |
+ (WebInspector.FormattedContentProvider.prototype.requestContent): |
+ |
+2011-09-06 Antti Koivisto <antti@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=67480 |
+ [Chromium] [REGRESSION] Layout Test svg/batik/text/textStyles.svg is failing |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ The text node needs willRecalcStyle mechanism too. |
+ |
+ * dom/Text.cpp: |
+ (WebCore::Text::recalcTextStyle): |
+ * dom/Text.h: |
+ (WebCore::Text::willRecalcTextStyle): |
+ * svg/SVGTRefElement.cpp: |
+ (WebCore::SVGTRefElement::SVGTRefElement): |
+ (WebCore::SVGShadowText::SVGShadowText): |
+ (WebCore::SVGShadowText::willRecalcTextStyle): |
+ |
+2011-09-05 Pavel Podivilov <podivilov@chromium.org> |
+ |
+ Web Inspector: re-implement RawSourceCode. |
+ https://bugs.webkit.org/show_bug.cgi?id=67609 |
+ |
+ RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics: |
+ 1) Initially, RawSourceCode doesn't have any content or mapping because content loading and |
+ formatting operations are asynchronous, it only has scripts metadata. We don't update UI right |
+ after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping). |
+ 2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted |
+ if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that |
+ source code should be shown to user and raw locations should be converted to ui locations |
+ (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content |
+ is ready for loading and source mapping is available. |
+ 3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or |
+ blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update |
+ source code, links and decorations in UI. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/DebuggerPresentationModel.js: |
+ (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation): |
+ (WebInspector.DebuggerPresentationModel.prototype._addScript): |
+ (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated): |
+ (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): |
+ (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation): |
+ (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage): |
+ (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced): |
+ (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): |
+ * inspector/front-end/SourceFile.js: |
+ (WebInspector.RawSourceCode): |
+ (WebInspector.RawSourceCode.prototype.addScript): |
+ (WebInspector.RawSourceCode.prototype.contentEdited): |
+ (WebInspector.RawSourceCode.prototype._resourceFinished): |
+ (WebInspector.RawSourceCode.prototype.requestContent): |
+ (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated): |
+ (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded): |
+ (WebInspector.RawSourceCode.prototype.forceLoadContent): |
+ (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping): |
+ (WebInspector.RawSourceCode.prototype._updateSourceMapping): |
+ (WebInspector.RawSourceCode.prototype._createContentProvider): |
+ (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent): |
+ (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent): |
+ (WebInspector.RawSourceCode.prototype._createSourceMapping): |
+ (WebInspector.RawSourceCode.prototype._saveSourceMapping): |
+ (WebInspector.StaticContentProvider): |
+ (WebInspector.StaticContentProvider.prototype.requestContent): |
+ |
2011-09-06 Dirk Schulze <krit@webkit.org> |
Return to transform multiplication: motion transform * other transforms |