Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 122537) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,3 +1,4249 @@ |
+2012-07-12 MORITA Hajime <morrita@google.com> |
+ |
+ [Shadow DOM] <video> with <shadow> crashes |
+ https://bugs.webkit.org/show_bug.cgi?id=91055 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This is similar to Bug 90480, where an undesired renderer is created by |
+ locating an insertion point on the shadow boundary. |
+ |
+ This change adds a guard for such case by cheking whether the |
+ source node of each to-be-created renderer comes from the UA shadow |
+ tree, which is allowed to have a renderer. |
+ |
+ Test: fast/dom/shadow/insertion-point-video-crash.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::childShouldCreateRenderer): Added a check. |
+ (WebCore::HTMLMediaElement::mediaControls): Added const. |
+ (WebCore::HTMLMediaElement::hasMediaControls): Added const. |
+ * html/HTMLMediaElement.h: |
+ (HTMLMediaElement): |
+ |
+2012-07-12 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ REGRESSION(r122184): LocaleMac::currentLocale should use current locale rather than newly create locale object. |
+ https://bugs.webkit.org/show_bug.cgi?id=91057 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch changes NSLocale object of LocaleMac::m_locale variable to |
+ current NSLocale object rather than newly created NSLocale object from |
+ locale identifier. |
+ |
+ No new tests. We don't have way to change system preferences from |
+ test scripts and restoring them. To test this patch, we need to do so. |
+ |
+ * platform/text/mac/LocaleMac.h: |
+ (LocaleMac): Added a constructor which takes NSLocale object. |
+ * platform/text/mac/LocaleMac.mm: |
+ (WebCore::LocaleMac::LocaleMac): Added a constructor which takes NSLocale object. |
+ (WebCore::LocaleMac::currentLocale): Changed to construct LocaleMac object from NSLocale object rather than locale identifier. |
+ |
+2012-07-11 Carlos Garcia Campos <cgarcia@igalia.com> |
+ |
+ [GTK] Add webkit_cookie_manager_set_persistent_storage() to WebKit2 GTK+ API |
+ https://bugs.webkit.org/show_bug.cgi?id=83016 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ * platform/network/soup/CookieStorageSoup.cpp: |
+ (WebCore::soupCookiesChanged): Do not notify about changes in |
+ other cookie jars than the current one. |
+ |
+2012-07-12 Philip Rogers <pdr@google.com> |
+ |
+ Refactor RenderSVGShape bounding box code |
+ https://bugs.webkit.org/show_bug.cgi?id=90655 |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ RenderSVGShape::objectBoundingBox worked differently than RenderSVGShape::strokeBoundingBox by |
+ not caching the object bounding box and instead computing it on each call. For consistency and |
+ performance objectBoundingBox has been refactored to return a cached value. |
+ |
+ createShape has been renamed updateShapeFromElement for understandability. updateShapeFromElement |
+ now updates the internal state of the shape (bounding boxes, etc) from the associated element. |
+ RenderSVGShape::inflateWithStrokeAndMarkerBounds has been merged into |
+ RenderSVGShape::calculateStrokeBoundingBox which is called from updateShapeFromElement. |
+ |
+ After this change all bounding box computation is now handled in updateShapeFromElement. Because |
+ subclasses override updateShapeFromElement it will be easy for them to have custom bounding box |
+ code there (as will happen for RenderSVGPath in a followup patch). |
+ |
+ strokeBoundingBox and objectBoundingBox are now able to return their cached values immediately |
+ in RenderSVGRect and RenderSVGEllipse instead of checking their fallback state on each call. |
+ |
+ Additionally, to save space RenderSVGEllipse and RenderSVGRect now use the m_fillBoundingBox and |
+ m_strokeBoundingBox of RenderSVGShape instead of having their own. |
+ |
+ This patch also removes setStrokeAndMarkerBoundingBox that was previously dead code. |
+ |
+ No new tests, just a refactoring. |
+ |
+ * rendering/svg/RenderSVGEllipse.cpp: |
+ (WebCore::RenderSVGEllipse::updateShapeFromElement): |
+ (WebCore): |
+ (WebCore::RenderSVGEllipse::fillShape): |
+ (WebCore::RenderSVGEllipse::strokeShape): |
+ (WebCore::RenderSVGEllipse::shapeDependentStrokeContains): |
+ * rendering/svg/RenderSVGEllipse.h: |
+ (RenderSVGEllipse): |
+ (WebCore::RenderSVGEllipse::isEmpty): |
+ * rendering/svg/RenderSVGRect.cpp: |
+ (WebCore::RenderSVGRect::updateShapeFromElement): |
+ (WebCore): |
+ (WebCore::RenderSVGRect::fillShape): |
+ (WebCore::RenderSVGRect::strokeShape): |
+ (WebCore::RenderSVGRect::shapeDependentStrokeContains): |
+ (WebCore::RenderSVGRect::shapeDependentFillContains): |
+ * rendering/svg/RenderSVGRect.h: |
+ (RenderSVGRect): |
+ (WebCore::RenderSVGRect::isEmpty): |
+ * rendering/svg/RenderSVGShape.cpp: |
+ (WebCore::RenderSVGShape::updateShapeFromElement): |
+ (WebCore): |
+ (WebCore::RenderSVGShape::layout): |
+ (WebCore::RenderSVGShape::calculateObjectBoundingBox): |
+ (WebCore::RenderSVGShape::calculateStrokeBoundingBox): |
+ (WebCore::RenderSVGShape::updateRepaintBoundingBox): |
+ * rendering/svg/RenderSVGShape.h: |
+ (RenderSVGShape): |
+ (WebCore::RenderSVGShape::objectBoundingBox): |
+ (WebCore::RenderSVGShape::strokeBoundingBox): |
+ |
+2012-07-12 Kent Tamura <tkent@chromium.org> |
+ |
+ Do not save the form state signature if nothing is saved |
+ https://bugs.webkit.org/show_bug.cgi?id=91050 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ This change will reduce the size of HistoyItem. |
+ |
+ Test: fast/forms/state-restore-empty-state.html |
+ |
+ * html/FormController.cpp: |
+ (WebCore::FormController::formElementsState): |
+ If stateVector has only the signature string, clear it. |
+ |
+2012-07-11 Mark Rowe <mrowe@apple.com> |
+ |
+ <http://webkit.org/b/91051> Fix the Qt Mac build after r122400. |
+ |
+ Qt on Mac builds with a deployment target of OS X 10.5. However, it was not been setting |
+ BUILDING_ON_LEOPARD / TARGETING_LEOPARD and thus was falling down code paths in DisplaySleepDisabler.cpp |
+ that were specific to Snow Leopard and newer. After the removal of BUILDING_ON_LEOPARD |
+ and TARGETING_LEOPARD it ended up falling down the correct Leopard-compatible code path, |
+ which revealed that the code made assumptions about which headers had already been included. |
+ |
+ * platform/mac/DisplaySleepDisabler.cpp: Include CoreServices/CoreServices.h to pull in |
+ a declaration of UpdateSystemActivity when targeting Leopard. |
+ |
+2012-07-11 Matt Falkenhagen <falken@chromium.org> |
+ |
+ Add dialog element feature toggle to InternalSettings |
+ https://bugs.webkit.org/show_bug.cgi?id=90934 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ This enables layout tests to be written for dialog although the feature is disabled by default. |
+ |
+ Tests: fast/dom/HTMLDialogElement/dialog-disabled.html |
+ fast/dom/HTMLDialogElement/dialog-enabled.html |
+ |
+ * WebCore.exp.in: Added newly exported symbol. |
+ * testing/InternalSettings.cpp: |
+ (WebCore::InternalSettings::Backup::Backup): Backup dialog feature flag. |
+ (WebCore::InternalSettings::Backup::restoreTo): Restore dialog feature flag. |
+ (WebCore::InternalSettings::setDialogElementEnabled): Added. |
+ (WebCore): |
+ * testing/InternalSettings.h: Added support for dialog. |
+ (Backup): |
+ (InternalSettings): |
+ * testing/InternalSettings.idl: Added support for dialog. |
+ |
+2012-07-11 Kent Tamura <tkent@chromium.org> |
+ |
+ Accessing width or height of a detached image input element causes crash |
+ https://bugs.webkit.org/show_bug.cgi?id=90885 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Test: fast/forms/image/width-and-height-of-detached-input.html |
+ |
+ * html/ImageInputType.cpp: |
+ (WebCore::ImageInputType::height): Add null check for m_imageLoader. |
+ (WebCore::ImageInputType::width): ditto. |
+ |
+2012-07-11 Kent Tamura <tkent@chromium.org> |
+ |
+ Do not save state of stateless form controls |
+ https://bugs.webkit.org/show_bug.cgi?id=90964 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ By Bug 89409, we started to store unmodified form control |
+ state. However we don't need to make such state for the following |
+ types. |
+ - password |
+ - submit |
+ - reset |
+ - button |
+ - keygen |
+ |
+ Test: fast/forms/state-restore-skip-stateless.html |
+ |
+ * html/BaseButtonInputType.cpp: |
+ (WebCore::BaseButtonInputType::shouldSaveAndRestoreFormControlState): |
+ Added. Disable saving state for submit, reset, and button types. |
+ * html/BaseButtonInputType.h: |
+ (BaseButtonInputType): Add shouldSaveAndRestoreFormControlState. |
+ * html/HTMLFormControlElementWithState.h: |
+ (HTMLFormControlElementWithState): Make shouldSaveAndRestoreFormControlState virtual. |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::shouldSaveAndRestoreFormControlState): |
+ Added. Checks InputType::shouldSaveAndRestoreFormControlState first. |
+ * html/HTMLInputElement.h: |
+ (HTMLInputElement): Override shouldSaveAndRestoreFormControlState. |
+ * html/HTMLKeygenElement.cpp: |
+ (WebCore::HTMLKeygenElement::shouldSaveAndRestoreFormControlState) |
+ Added. Disable saving state for <keygen>.: |
+ * html/HTMLKeygenElement.h: Override shouldSaveAndRestoreFormControlState. |
+ * html/InputType.cpp: |
+ (WebCore::InputType::shouldSaveAndRestoreFormControlState): |
+ Added. Enable saving state for all types by default. |
+ * html/InputType.h: |
+ (InputType): Add shouldSaveAndRestoreFormControlState. |
+ * html/PasswordInputType.cpp: |
+ (WebCore::PasswordInputType::shouldSaveAndRestoreFormControlState): |
+ Added. Disabled saving state. |
+ (WebCore::PasswordInputType::saveFormControlState): |
+ Because shouldSaveAndRestoreFormControlState() returns false, |
+ saveFormControlState should be never called. |
+ * html/PasswordInputType.h: |
+ (PasswordInputType): Override shouldSaveAndRestoreFormControlState. |
+ |
+2012-07-11 No'am Rosenthal <noam.rosenthal@nokia.com> |
+ |
+ Compilation error with GLES2 when using gl2ext.h from ANGLE. |
+ https://bugs.webkit.org/show_bug.cgi?id=91030 |
+ |
+ Reviewed by Kenneth Russell. |
+ |
+ gl2ext.h defines PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG and not |
+ PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC. This is a bug in the original Khronos header, |
+ but we should work around it until fixed headers are integrated. |
+ |
+ |
+ * platform/graphics/opengl/Extensions3DOpenGLES.h: |
+ (Extensions3DOpenGLES): |
+ Removed the "PROC" suffix to work around the header bug. |
+ |
+2012-07-11 Mark Rowe <mrowe@apple.com> |
+ |
+ Attempt to fix the Chromium Mac build after r122400. |
+ |
+ * platform/text/cf/HyphenationCF.cpp: Ensure that Chromium only compiles the body of this file if |
+ building for a new enough version of OS X. |
+ |
+2012-07-11 Kent Tamura <tkent@chromium.org> |
+ |
+ [Mac] Sort project.pbxproj |
+ |
+ * WebCore.xcodeproj/project.pbxproj: Apply Tools/Scripts/sort-Xcode-project-file |
+ |
+2012-07-11 Dan Bernstein <mitz@apple.com> |
+ |
+ When a table row height grows because of pagination, not all cells’ heights are adjusted |
+ https://bugs.webkit.org/show_bug.cgi?id=91043 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ The fix for in bug <http://webkit.org/b/83595> in <http://trac.webkit.org/r113738> made table |
+ rows grow as necessary to fit cells that grow as a result of pagination. But it had two bad |
+ side effects: earlier cells on the row would not grow by the same amount, and later cells on |
+ the row would factor the existing growth into their intrinsic padding. |
+ |
+ Test: fast/multicol/table-row-height-increase.html |
+ |
+ * rendering/RenderTableSection.cpp: |
+ (WebCore::RenderTableSection::layoutRows): Now when a cell becomes taller than the row height, |
+ the additional height needed is recorded, and the cell is shrunk back to row height. Then |
+ after finishing the row, all cells occurring on the row (including cells spanning it but not |
+ starting on it) are grown by the same amount. |
+ |
+2012-07-11 Mark Rowe <mrowe@apple.com> |
+ |
+ <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions. |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ The deployment target is already set to the version that we're targeting, and it's that setting |
+ which determines which functionality from the SDK is available to us. |
+ |
+ * Configurations/Base.xcconfig: |
+ |
+2012-07-11 Mark Rowe <mrowe@apple.com> |
+ |
+ Switch a few cases that care about the SDK over to checking __MAC_OS_X_VERSION_MAX_ALLOWED so that things build. |
+ |
+ Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros |
+ |
+ Reviewed by Filip Pizlo. |
+ |
+ * platform/graphics/cg/GraphicsContextCG.cpp: The SDK we're building against determines whether the constant is available. |
+ * platform/mac/EmptyProtocolDefinitions.h: The SDK we're building against determines whether the protocols are declared. |
+ * platform/mac/NSScrollerImpDetails.h: The SDK we're building against determines whether the constants and method are |
+ available. |
+ * platform/mac/SharedTimerMac.mm: The SDK we're building against determines whether the function has already been declared. |
+ |
+2012-07-11 Mark Rowe <mrowe@apple.com> |
+ |
+ <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros |
+ |
+ This removal was handled by a script that translates the relevant macros in to the equivalent checks |
+ using the system availability macros. |
+ |
+ Reviewed by Filip Pizlo. |
+ |
+ * WebCore.exp.in: |
+ * accessibility/AccessibilityList.h: |
+ * accessibility/AccessibilityTable.h: |
+ * accessibility/mac/AXObjectCacheMac.mm: |
+ * editing/mac/EditorMac.mm: |
+ * loader/MainResourceLoader.cpp: |
+ * loader/MainResourceLoader.h: |
+ * page/AlternativeTextClient.h: |
+ * page/ContextMenuController.cpp: |
+ * page/mac/SettingsMac.mm: |
+ * platform/LocalizedStrings.cpp: |
+ * platform/MemoryPressureHandler.cpp: |
+ * platform/audio/mac/AudioBusMac.mm: |
+ * platform/graphics/Gradient.h: |
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
+ * platform/graphics/ca/GraphicsLayerCA.cpp: |
+ * platform/graphics/ca/PlatformCALayer.h: |
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
+ * platform/graphics/ca/mac/TileCache.mm: |
+ * platform/graphics/cg/GraphicsContextCG.cpp: |
+ * platform/graphics/cg/ImageBufferCG.cpp: |
+ * platform/graphics/cg/ImageBufferDataCG.cpp: |
+ * platform/graphics/cg/ImageBufferDataCG.h: |
+ * platform/graphics/cg/ImageCG.cpp: |
+ * platform/graphics/cg/ImageSourceCG.cpp: |
+ * platform/graphics/cg/PathCG.cpp: |
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm: |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
+ * platform/graphics/mac/ComplexTextController.cpp: |
+ * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
+ * platform/graphics/mac/FontCacheMac.mm: |
+ * platform/graphics/mac/FontCustomPlatformData.cpp: |
+ * platform/graphics/mac/FontMac.mm: |
+ * platform/graphics/mac/GraphicsContextMac.mm: |
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
+ * platform/graphics/mac/SimpleFontDataMac.mm: |
+ * platform/graphics/mac/WebLayer.h: |
+ * platform/graphics/mac/WebLayer.mm: |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ * platform/mac/CursorMac.mm: |
+ * platform/mac/DisplaySleepDisabler.cpp: |
+ * platform/mac/DisplaySleepDisabler.h: |
+ * platform/mac/EmptyProtocolDefinitions.h: |
+ * platform/mac/HTMLConverter.h: |
+ * platform/mac/HTMLConverter.mm: |
+ * platform/mac/MemoryPressureHandlerMac.mm: |
+ * platform/mac/NSScrollerImpDetails.h: |
+ * platform/mac/PlatformEventFactoryMac.mm: |
+ * platform/mac/PopupMenuMac.mm: |
+ * platform/mac/ScrollAnimatorMac.mm: |
+ * platform/mac/ScrollElasticityController.mm: |
+ * platform/mac/SharedTimerMac.mm: |
+ * platform/mac/SuddenTermination.mm: |
+ * platform/mac/WebCoreFullScreenWindow.mm: |
+ * platform/mac/WebCoreNSCellExtras.h: |
+ * platform/mac/WebCoreSystemInterface.h: |
+ * platform/mac/WebCoreSystemInterface.mm: |
+ * platform/mac/WebFontCache.mm: |
+ * platform/mac/WebVideoFullscreenController.mm: |
+ * platform/mac/WebVideoFullscreenHUDWindowController.mm: |
+ * platform/network/Credential.h: |
+ * platform/network/ResourceHandle.h: |
+ * platform/network/cf/DNSCFNet.cpp: |
+ * platform/network/cf/ProxyServerCFNet.cpp: |
+ * platform/network/cf/ResourceRequest.h: |
+ * platform/network/cf/ResourceRequestCFNet.cpp: |
+ * platform/network/cf/SocketStreamHandleCFNet.cpp: |
+ * platform/network/mac/AuthenticationMac.mm: |
+ * platform/network/mac/CookieStorageMac.mm: |
+ * platform/network/mac/ResourceHandleMac.mm: |
+ * platform/network/mac/ResourceRequestMac.mm: |
+ * platform/network/mac/WebCoreURLResponse.mm: |
+ * platform/text/TextChecking.h: |
+ * platform/text/cf/HyphenationCF.cpp: |
+ * platform/text/mac/HyphenationMac.mm: |
+ * rendering/RenderLayerBacking.cpp: |
+ * rendering/RenderLayerCompositor.cpp: |
+ * rendering/RenderThemeMac.mm: |
+ |
+2012-07-11 Robert Kroeger <rjkroege@chromium.org> |
+ |
+ Suppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas is true |
+ https://bugs.webkit.org/show_bug.cgi?id=89580 |
+ |
+ WebKit GTK and Chromium Linux force vertical wheel events to |
+ scroll horizontally when over horizontal scroll bars. This is |
+ undesirable for touchpad scrolling with |
+ hasPreciseScrollingDeltas() == true. Modified shouldTurnVerticalTicksIntoHorizontal |
+ to not perform this conversion for PlatformWheelEvents with preciseScrollingDeltas. |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Tests: fast/events/touch/gesture/touch-gesture-scroll-sideways.html |
+ |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal): |
+ (WebCore::EventHandler::handleWheelEvent): |
+ * page/EventHandler.h: |
+ (EventHandler): |
+ * page/chromium/EventHandlerChromium.cpp: |
+ (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal): |
+ * page/gtk/EventHandlerGtk.cpp: |
+ (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal): |
+ |
+2012-07-11 Hayato Ito <hayato@chromium.org> |
+ |
+ Unreviewed gardening. |
+ Build fix for r122373. |
+ |
+ * platform/chromium/support/WebCompositorSharedQuadState.cpp: |
+ (WebKit::WebCompositorSharedQuadState::WebCompositorSharedQuadState): |
+ |
+2012-07-11 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ SVGUseElement should not use Element::ensureShadowRoot(). |
+ https://bugs.webkit.org/show_bug.cgi?id=90938 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ We would like to remove Element::ensureShadowRoot() because we would like to stabilize the lifecycle of Shadow DOM. |
+ This patch rewrites SVGUseElement::create() not to use Element::ensureShadowRoot(). Since our convention to create |
+ a shadow subtree is to create a method createShadowSubtree(), I obeyed it. |
+ |
+ No new tests. Simple refactoring. |
+ |
+ * svg/SVGUseElement.cpp: |
+ (WebCore::SVGUseElement::create): |
+ (WebCore::SVGUseElement::createShadowSubtree): |
+ (WebCore): |
+ * svg/SVGUseElement.h: |
+ (SVGUseElement): |
+ |
+2012-07-11 Alexandre Elias <aelias@google.com> |
+ |
+ [chromium] Move compositor quads to Platform/chromium/public |
+ https://bugs.webkit.org/show_bug.cgi?id=90582 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ This moves CCSharedQuadState, CCDrawQuad, and all but two CC*DrawQuad |
+ classes to the WebKit namespace, as a first step to pushing them |
+ across the process boundary for the ubercompositor. |
+ |
+ - The intent is to serialize the class hierarchy using the same |
+ mechanism as WebInputEvent. In order to do this, there are three |
+ requirements: pure POD data, a method returning size, and a packing |
+ pragma. |
+ |
+ - Private data members are fine with this kind of serializer, and a |
+ default constructor is not needed. Because of that, we can maintain |
+ the same encapsulation and convenient APIs (behind |
+ WEBKIT_IMPLEMENTATION) as the original classes. To ease the |
+ transition, the original WebCore headers still exist and typedef to |
+ the new classes. |
+ |
+ - However, SharedQuadState will be serialized using the normal |
+ IPC_STRUCT_TRAITS macro, so I made its members public. A custom |
+ serializer (on quad lists) will maintain the pointers from quads to |
+ SharedQuadStates. |
+ |
+ - I converted the Material casting mechanism to materialCast() methods |
+ living in the derived classes. That way, the WebCompositorQuad header |
+ doesn't need to know about all its derived classes. |
+ |
+ - Quad classes not yet transitioned can still be used in |
+ non-ubercompositor mode. CCRenderPassDrawQuad and CCYUVVideoDrawQuad |
+ are currently non-POD and I left them in their original files. |
+ |
+ This approach is the best I've found so far, since it preserves all |
+ WebCore-facing APIs and avoids unnecessary code duplication (new quad |
+ types or members can be added by modifying only one place). There |
+ also should not be an unreasonable amount of custom serializer code |
+ required. |
+ |
+ No new tests. (No-op refactoring.) |
+ |
+ * WebCore.gypi: |
+ * platform/chromium/support/WebCompositorQuad.cpp: Added. |
+ (WebKit): |
+ (WebKit::WebCompositorQuad::WebCompositorQuad): |
+ (WebKit::WebCompositorQuad::opaqueRect): |
+ (WebKit::WebCompositorQuad::setQuadVisibleRect): |
+ (WebKit::WebCompositorQuad::size): |
+ * platform/chromium/support/WebCompositorSharedQuadState.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp. |
+ (WebKit): |
+ (WebKit::WebCompositorSharedQuadState::WebCompositorSharedQuadState): |
+ (WebKit::WebCompositorSharedQuadState::create): |
+ (WebKit::WebCompositorSharedQuadState::isLayerAxisAlignedIntRect): |
+ * platform/chromium/support/WebCompositorSolidColorQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp. |
+ (WebKit): |
+ (WebKit::WebCompositorSolidColorQuad::create): |
+ (WebKit::WebCompositorSolidColorQuad::WebCompositorSolidColorQuad): |
+ (WebKit::WebCompositorSolidColorQuad::materialCast): |
+ * platform/chromium/support/WebCompositorTextureQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp. |
+ (WebKit): |
+ (WebKit::WebCompositorTextureQuad::create): |
+ (WebKit::WebCompositorTextureQuad::WebCompositorTextureQuad): |
+ (WebKit::WebCompositorTextureQuad::setNeedsBlending): |
+ (WebKit::WebCompositorTextureQuad::materialCast): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawQuad): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: |
+ (WebCore::CCCheckerboardDrawQuad::create): |
+ (WebCore::CCCheckerboardDrawQuad::CCCheckerboardDrawQuad): |
+ (WebCore::CCCheckerboardDrawQuad::materialCast): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: |
+ (CCCheckerboardDrawQuad): |
+ * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: |
+ (WebCore::CCDebugBorderDrawQuad::create): |
+ (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad): |
+ (WebCore::CCDebugBorderDrawQuad::materialCast): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: |
+ (CCDebugBorderDrawQuad): |
+ * platform/graphics/chromium/cc/CCDrawQuad.cpp: Removed. |
+ * platform/graphics/chromium/cc/CCDrawQuad.h: |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: |
+ (WebCore::CCIOSurfaceDrawQuad::create): |
+ (WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad): |
+ (WebCore::CCIOSurfaceDrawQuad::materialCast): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: |
+ (CCIOSurfaceDrawQuad): |
+ * platform/graphics/chromium/cc/CCLayerImpl.h: |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCRenderPass.h: |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: |
+ (WebCore::CCRenderPassDrawQuad::create): |
+ (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad): |
+ (WebCore::CCRenderPassDrawQuad::materialCast): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: |
+ (CCRenderPassDrawQuad): |
+ * platform/graphics/chromium/cc/CCRenderSurface.h: |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCSharedQuadState.h: |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.cpp: |
+ (WebCore::CCStreamVideoDrawQuad::create): |
+ (WebCore::CCStreamVideoDrawQuad::CCStreamVideoDrawQuad): |
+ (WebCore::CCStreamVideoDrawQuad::materialCast): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCStreamVideoDrawQuad.h: |
+ (CCStreamVideoDrawQuad): |
+ * platform/graphics/chromium/cc/CCTextureDrawQuad.h: |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: |
+ (WebCore::CCTileDrawQuad::create): |
+ (WebCore::CCTileDrawQuad::CCTileDrawQuad): |
+ (WebCore::CCTileDrawQuad::materialCast): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCTileDrawQuad.h: |
+ (CCTileDrawQuad): |
+ * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.cpp: |
+ (WebCore::CCYUVVideoDrawQuad::create): |
+ (WebCore::CCYUVVideoDrawQuad::CCYUVVideoDrawQuad): |
+ (WebCore::CCYUVVideoDrawQuad::materialCast): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCYUVVideoDrawQuad.h: |
+ (CCYUVVideoDrawQuad): |
+ |
+2012-07-11 Robert Kroeger <rjkroege@chromium.org> |
+ |
+ [chromium] [regression] Don't use ScrollByPrecisePixels on Chromium Mac. |
+ https://bugs.webkit.org/show_bug.cgi?id=91020 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ A change in https://bugs.webkit.org/show_bug.cgi?id=87535 to |
+ improve the operation of smooth scrolling incorrectly caused |
+ Chromium Mac to use the wrong scroll granularity on |
+ hasPreciseScrollingDeltas() == true wheelevent scrolls. |
+ Exclude the change on the Chromium Mac platform. |
+ |
+ * platform/ScrollAnimator.cpp: |
+ (WebCore::ScrollAnimator::handleWheelEvent): Adjusted #ifdef to exclude Chromium |
+ Mac from ScrollByPrecisePixels change. |
+ |
+2012-07-11 Jia Pu <jpu@apple.com> |
+ |
+ On Mac, autocorrection sometimes fails to take place in Safari. |
+ https://bugs.webkit.org/show_bug.cgi?id=89982 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ We should check the value of shouldCheckForCorrection, not shouldShowCorrectionPanel, to determine if we should |
+ early return in markAndReplaceFor(). Also, since we don't want autocorrection to happen when we only change selection, |
+ not the content, so we shouldn't set TextCheckingTypeCorrection flag in markMisspellingsAndBadGrammar() as this function |
+ is triggered only by selection change. |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::markAndReplaceFor): |
+ (WebCore::Editor::markMisspellingsAndBadGrammar): |
+ |
+2012-07-11 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r122361. |
+ http://trac.webkit.org/changeset/122361 |
+ https://bugs.webkit.org/show_bug.cgi?id=91027 |
+ |
+ Broke Windows build and fast/forms/state-restore-broken- |
+ state.html (Requested by rniwa on #webkit). |
+ |
+ * testing/Internals.idl: |
+ |
+2012-07-10 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Assertion ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) when compositing in paginated mode |
+ https://bugs.webkit.org/show_bug.cgi?id=90919 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ r121124 added a fast path for geometry mapping that goes via layers |
+ when possible. However, this broke paginated pages, which put |
+ the root (RenderView) layer into column mode, because it failed |
+ to check for columns on the ancestor layer. |
+ |
+ Rather than make a risky change to convertToLayerCoords(), add a local |
+ function canMapViaLayer(), which is like RenderLayer::canUseConvertToLayerCoords(), |
+ but doesn't check for compositing (compositing itself is not a reason |
+ to avoid convertToLayerCoords). Call canMapViaLayer() with the ancestorLayer |
+ to check whether the ancestor has columns, which fixes the bug. |
+ |
+ Test: compositing/columns/geometry-map-paginated-assert.html |
+ |
+ * rendering/RenderGeometryMap.cpp: |
+ (WebCore::canMapViaLayer): |
+ (WebCore::RenderGeometryMap::pushMappingsToAncestor): |
+ |
+2012-07-11 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Rename layerRect to contentRect for rects that live in content space |
+ https://bugs.webkit.org/show_bug.cgi?id=90843 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Dropped the layerTransform() from CCSharedQuadState, as nothing should be |
+ using it to draw with. RenderPasses need a weird drawTransform right now |
+ which was stored in layerTransform, so moved this to the RenderPass quad. |
+ |
+ No new tests. No change in behaviour. |
+ |
+ * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: |
+ (WebCore::CanvasLayerTextureUpdater::paintContents): |
+ * platform/graphics/chromium/ContentLayerChromium.cpp: |
+ (WebCore::ContentLayerChromium::update): |
+ (WebCore::ContentLayerChromium::needMoreUpdates): |
+ * platform/graphics/chromium/ImageLayerChromium.cpp: |
+ (WebCore::ImageLayerChromium::update): |
+ * platform/graphics/chromium/LayerChromium.cpp: |
+ (WebCore::LayerChromium::visibleContentOpaqueRegion): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ (WebCore::LayerChromium::visibleContentRect): |
+ (WebCore::LayerChromium::setVisibleContentRect): |
+ (LayerChromium): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawRenderPassQuad): |
+ (WebCore::LayerRendererChromium::drawTileQuad): |
+ (WebCore::LayerRendererChromium::drawYUVVideoQuad): |
+ (WebCore::LayerRendererChromium::drawStreamVideoQuad): |
+ (WebCore::LayerRendererChromium::drawIOSurfaceQuad): |
+ * platform/graphics/chromium/TiledLayerChromium.cpp: |
+ (WebCore::TiledLayerChromium::updateBounds): |
+ (WebCore::TiledLayerChromium::setNeedsDisplayRect): |
+ (WebCore::TiledLayerChromium::invalidateContentRect): |
+ (WebCore::TiledLayerChromium::updateTiles): |
+ (WebCore::TiledLayerChromium::setTexturePriorities): |
+ (WebCore::TiledLayerChromium::setTexturePrioritiesInRect): |
+ (WebCore::TiledLayerChromium::visibleContentOpaqueRegion): |
+ (WebCore::TiledLayerChromium::updateContentRect): |
+ (WebCore::TiledLayerChromium::needsIdlePaint): |
+ (WebCore::TiledLayerChromium::idlePaintRect): |
+ * platform/graphics/chromium/TiledLayerChromium.h: |
+ (TiledLayerChromium): |
+ * platform/graphics/chromium/cc/CCDrawQuad.h: |
+ (WebCore::CCDrawQuad::visibleContentRect): |
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
+ (WebCore::CCLayerImpl::createSharedQuadState): |
+ (WebCore::CCLayerImpl::appendDebugBorderQuad): |
+ (WebCore::CCLayerImpl::visibleContentOpaqueRegion): |
+ * platform/graphics/chromium/cc/CCLayerImpl.h: |
+ (WebCore::CCLayerImpl::visibleContentRect): |
+ (WebCore::CCLayerImpl::setVisibleContentRect): |
+ (CCLayerImpl): |
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp: |
+ (WebCore::CCLayerTilingData::contentRectToTileIndices): |
+ (WebCore::CCLayerTilingData::opaqueRegionInContentRect): |
+ (WebCore::CCLayerTilingData::setBounds): |
+ * platform/graphics/chromium/cc/CCLayerTilingData.h: |
+ (CCLayerTilingData): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
+ (WebCore::calculateVisibleContentRect): |
+ (WebCore::layerShouldBeSkipped): |
+ (WebCore): |
+ (WebCore::calculateVisibleAndScissorRectsInternal): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: |
+ (WebCore::addOcclusionBehindLayer): |
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: |
+ (WebCore::CCRenderPassDrawQuad::create): |
+ (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad): |
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: |
+ (CCRenderPassDrawQuad): |
+ (WebCore::CCRenderPassDrawQuad::drawTransform): |
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
+ (WebCore::CCRenderSurface::createSharedQuadState): |
+ (WebCore::CCRenderSurface::createReplicaSharedQuadState): |
+ (WebCore::CCRenderSurface::appendQuads): |
+ * platform/graphics/chromium/cc/CCSharedQuadState.cpp: |
+ (WebCore::CCSharedQuadState::create): |
+ (WebCore::CCSharedQuadState::CCSharedQuadState): |
+ (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect): |
+ * platform/graphics/chromium/cc/CCSharedQuadState.h: |
+ (CCSharedQuadState): |
+ (WebCore::CCSharedQuadState::visibleContentRect): |
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: |
+ (WebCore::CCTiledLayerImpl::appendQuads): |
+ (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion): |
+ |
+2012-07-11 Chris Fleizach <cfleizach@apple.com> |
+ |
+ ARIA spinbutton role incorrectly mapped to ProgressIndicatorRole |
+ https://bugs.webkit.org/show_bug.cgi?id=77298 |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ * accessibility/AccessibilityObject.cpp: |
+ (WebCore::createARIARoleMap): |
+ |
+2012-07-11 Huang Dongsung <luxtella@company100.net> |
+ |
+ BitmapImage::frameIsCompleteAtIndex() must return false if ImageDecoder is not initialized. |
+ https://bugs.webkit.org/show_bug.cgi?id=90757 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ The current code fortunately has worked so far because only |
+ BitmapImage::startAnimation calls frameIsCompleteAtIndex, and startAnimation |
+ cannot call frameIsCompleteAtIndex if ImageDecoder is not yet initialized. |
+ startAnimation returns at the first line becase shouldAnimate() always return |
+ false in this case. |
+ |
+ if (m_frameTimer || !shouldAnimate() || frameCount() <= 1) |
+ return; |
+ |
+ This change is needed because parallel image decoders call |
+ BitmapImage::frameIsCompleteAtIndex in other places too. |
+ |
+ No new tests, manually tested whether the caller exists or not that |
+ calls BitmapImage::frameIsCompleteAtIndex() before ImageDecoder is |
+ initialized. |
+ |
+ * platform/graphics/BitmapImage.cpp: |
+ (WebCore::BitmapImage::frameIsCompleteAtIndex): |
+ |
+2012-07-11 Kevin Ollivier <kevino@theolliviers.com> |
+ |
+ [wx] Unreviewed build fix. Update code to use the new constant name. |
+ |
+ * platform/wx/PasteboardWx.cpp: |
+ (WebCore::Pasteboard::documentFragment): |
+ |
+2012-07-11 Kevin Ollivier <kevino@theolliviers.com> |
+ |
+ [wx] Unreviewed build fix. Ignore array and sequence types for attributes as well |
+ as functions since the CPP bindings do not yet support them. |
+ |
+ * bindings/scripts/CodeGeneratorCPP.pm: |
+ (SkipAttribute): |
+ |
+2012-07-11 Kevin Ollivier <kevino@theolliviers.com> |
+ |
+ [wx] Unreviewed build fix. Use DOMStringList instead of DOMString[] for in / out type. |
+ |
+ * testing/Internals.idl: |
+ |
+2012-07-11 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Minimum size used for occlusion tracking should be a setting on CCLayerTreeHost |
+ https://bugs.webkit.org/show_bug.cgi?id=90993 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Move the default minimum size used for occlusion tracking from the |
+ CCOcclusionTracker class into CCLayerTreeSettings. This value is then |
+ used on both threads as the lower limit for any occlusion to be |
+ remembered. |
+ |
+ This allows us to use (0, 0) as the minimum size for tests, allowing all |
+ occlusion to be tracked. |
+ |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::paintLayerContents): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (WebCore::CCLayerTreeSettings::CCLayerTreeSettings): |
+ (CCLayerTreeSettings): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
+ * platform/graphics/chromium/cc/CCOcclusionTracker.h: |
+ |
+2012-07-11 Anders Carlsson <andersca@apple.com> |
+ |
+ Add -Wtautological-compare and -Wsign-compare warning flags |
+ https://bugs.webkit.org/show_bug.cgi?id=90994 |
+ |
+ Reviewed by Mark Rowe. |
+ |
+ * Configurations/Base.xcconfig: |
+ |
+2012-07-11 Dean Jackson <dino@apple.com> |
+ |
+ TileCache layers have wrong border debug color |
+ https://bugs.webkit.org/show_bug.cgi?id=90922 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Commit r122152 updated the layer hierarchy when a tile |
+ cache is being used by the view. As part of that, GraphicsLayerClient::shouldUseTileCache() |
+ was changed to return false in some situations (the idea was that it |
+ should only be called from the createGraphicsLayer method). However |
+ there were two other call points: one that sets the debug colors on |
+ borders, the other was a call that keeps the document background in sync. |
+ |
+ Add a new method usingTileCache() that returns the current state. Also fix |
+ a FIXME where the debug code always called into the client rather than |
+ caching the value on the GraphicsLayer. |
+ |
+ Test: compositing/document-background-color.html |
+ |
+ * platform/graphics/GraphicsLayer.cpp: |
+ (WebCore::GraphicsLayer::GraphicsLayer): |
+ (WebCore::GraphicsLayer::updateDebugIndicators): check the local variable when |
+ setting the debug colors. |
+ * platform/graphics/GraphicsLayer.h: |
+ (GraphicsLayer): new bool member variable m_usingTileCache. |
+ * platform/graphics/GraphicsLayerClient.h: |
+ (WebCore::GraphicsLayerClient::usingTileCache): new virtual method to query if |
+ this client is actually using the tile cache. |
+ * platform/graphics/ca/GraphicsLayerCA.cpp: |
+ (WebCore::GraphicsLayerCA::GraphicsLayerCA): set the member variable m_usingTileCache |
+ if the GraphicsLayerClient says we are. |
+ * rendering/RenderLayerBacking.h: |
+ (WebCore::RenderLayerBacking::usingTileCache): |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange): call usingTileCache() |
+ rather than shouldUseTileCache(), because the latter's value might not always reflect |
+ the existence of a cache. |
+ |
+2012-07-11 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Clang build fix after r122345. |
+ Also let XCode do its own thing. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * html/HTMLCollection.cpp: |
+ (WebCore::HTMLCollectionWithArrayStorage::item): |
+ * html/HTMLCollection.h: |
+ (HTMLCollectionWithArrayStorage): |
+ * html/HTMLFormCollection.cpp: |
+ (WebCore::HTMLFormCollection::itemInArrayAfter): |
+ * html/HTMLFormCollection.h: |
+ (HTMLFormCollection): |
+ * html/HTMLPropertiesCollection.cpp: |
+ (WebCore::HTMLPropertiesCollection::itemInArrayAfter): |
+ * html/HTMLPropertiesCollection.h: |
+ (HTMLPropertiesCollection): |
+ |
+2012-07-11 Arnaud Renevier <a.renevier@sisa.samsung.com> |
+ |
+ [Gtk] allow building with css-filters |
+ https://bugs.webkit.org/show_bug.cgi?id=90908 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Add support for css-filters in Source/WebCore/GNUmakefile.am |
+ configure.ac |
+ |
+ No functional change, so no new tests. |
+ |
+ * GNUmakefile.am: |
+ |
+2012-07-10 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ HTMLFormCollection::item and HTMLPropertiesCollection::item should share code |
+ https://bugs.webkit.org/show_bug.cgi?id=90932 |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ Merged HTMLFormCollection::item and HTMLPropertiesCollection::item as HTMLCollectionWithArrayStorage::item, |
+ which can be merged into HTMLCollection::item in a follow up patch. |
+ |
+ Also moved the call to invalidateCacheIfNeeded into HTMLCollection::updateNameCache() as done in |
+ HTMLPropertiesCollection. |
+ |
+ In addition, moved the early bail out for when the base element doesn't have itemscope attribute from individual |
+ functions to updateRefElements so that HTMLCollectionWithArrayStorage::item doesn't need to have this check. |
+ |
+ * html/HTMLCollection.cpp: |
+ (WebCore::HTMLCollectionWithArrayStorage::item): Added. It's based on HTMLPropertiesCollection::item but it only |
+ has the single loop (as supposed to nested loops) as HTMLFormCollection doesn't have multiple items per element |
+ in the array unlike HTMLPropertiesCollection. In addition, offsetInArray (was i in HTMLPropertiesCollection::item) is |
+ incremented in each itemAfter due to this semantic difference in each itemAfter. |
+ (WebCore::HTMLCollection::updateNameCache): |
+ (WebCore::HTMLCollection::hasNamedItem): |
+ (WebCore::HTMLCollection::namedItems): |
+ * html/HTMLCollection.h: |
+ (HTMLCollectionWithArrayStorage): |
+ (WebCore::HTMLCollectionWithArrayStorage::HTMLCollectionWithArrayStorage): |
+ * html/HTMLFormCollection.cpp: |
+ (WebCore::HTMLFormCollection::HTMLFormCollection): |
+ (WebCore::HTMLFormCollection::calcLength): Merged numberOfFormControlElements since it was only called here. |
+ (WebCore::HTMLFormCollection::itemAfter): Added. HTMLFormCollection has exactly one item per element in the array |
+ so we increment the offset in each iteration. Note that when we're continuing a search, we need to increment |
+ the offset in order to avoid returning the same item. |
+ (WebCore::HTMLFormCollection::updateNameCache): |
+ * html/HTMLFormCollection.h: |
+ (HTMLFormCollection): |
+ * html/HTMLPropertiesCollection.cpp: |
+ (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection): |
+ (WebCore::HTMLPropertiesCollection::updateRefElements): Set m_hasItemRefElements true upfront since we never fail to |
+ update ref elements. Bail out as soon as we cleared the m_itemRefElements when the base element doesn't have itemscope |
+ content attribute. |
+ (WebCore::HTMLPropertiesCollection::itemAfter): Added. We reset previousItem to null because the existing itemAfter |
+ requires previousItem be null when we're moving to a new entry in m_itemRefElements. |
+ (WebCore::HTMLPropertiesCollection::calcLength): |
+ (WebCore::HTMLPropertiesCollection::cacheFirstItem): |
+ (WebCore::HTMLPropertiesCollection::updateNameCache): Merged findProperties since this was the only caller. |
+ (WebCore::HTMLPropertiesCollection::names): |
+ (WebCore::HTMLPropertiesCollection::namedItem): |
+ (WebCore::HTMLPropertiesCollection::hasNamedItem): |
+ * html/HTMLPropertiesCollection.h: |
+ (HTMLPropertiesCollection): Made updateRefElements public as it's called in HTMLCollectionWithArrayStorage::item. |
+ |
+2012-07-11 Sami Kyostila <skyostil@chromium.org> |
+ |
+ RenderView layer is marked as fixed position container in the scrolling tree if page scale != 1 |
+ https://bugs.webkit.org/show_bug.cgi?id=89216 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Render layers with CSS transforms should become containers for any fixed |
+ positioned descendants. However, because this check is done with |
+ RenderLayer::hasTransform(), we also end up marking the RenderLayer for the |
+ RenderView as fixed position container if a non-identity page scale factor is |
+ used. This is because page scale is applied as a transform for that layer. |
+ |
+ This breaks fixed position layers, because they become fixed relative to the |
+ RenderView layer instead of outer scroll clip layer. |
+ |
+ The fix is to avoid marking any root layers as fixed position containers. |
+ |
+ No new test because the scrolling tree isn't currently testable. |
+ |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
+ |
+2012-07-11 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ REGRESSION (r116203): overflow sections don't have scrollbars |
+ https://bugs.webkit.org/show_bug.cgi?id=90052 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ This issue stems from RenderLayers with overlay scrollbars not being considered |
+ self-painting. |
+ |
+ After r120395 (follow-up of r116203), we ignore subtrees that have no self-painting layer for |
+ painting. Normal scrollbars are painted by their renderer so they were properly painted. However |
+ overlay scrollbars need to be painted by their RenderLayer as a separate phase (see bug 57057) so |
+ they were not painted anymore. The fix is simple: make RenderLayer with overlay scrollbars |
+ self-painting as they should have been in the first place. |
+ |
+ Unfortunately no tests as I don't think we have a good way of testing overlay |
+ scrollbars. Tested manually though on the super simple test case from the bug. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::shouldBeSelfPaintingLayer): |
+ Overlay scrollbars make the layer self-painting. |
+ |
+ (WebCore::RenderLayer::updateScrollbarsAfterLayout): |
+ Added a call to updateSelfPaintingLayer. |
+ |
+ (WebCore::RenderLayer::styleChanged): |
+ Moved the call to updateSelfPaintingLayer after recomputing the scrollbars to ensure proper behavior. |
+ Added a comment underlining the reason. |
+ |
+ (WebCore::RenderLayer::updateSelfPaintingLayer): |
+ Renamed as it is now called during layout too. |
+ |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): Updated after updateSelfPaintingLayer rename. |
+ |
+2012-07-11 Allan Sandfeld Jensen <allan.jensen@nokia.com> |
+ |
+ NodesFromRect doesn't work on SVG root elements. |
+ https://bugs.webkit.org/show_bug.cgi?id=89990 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ Adds support for rect-based hit-testing on the SVG root element. |
+ This means that while rect-based hit-testing is still not supported |
+ within SVG elements, that at least it works on SVG root elements as |
+ it would on any other replaced element. |
+ |
+ Test: fast/dom/nodesFromRect-svg.html |
+ |
+ * rendering/svg/RenderSVGRoot.cpp: |
+ (WebCore::RenderSVGRoot::nodeAtPoint): |
+ |
+2012-07-11 Joshua Netterfield <jnetterfield@rim.com> |
+ |
+ [Qt] REGRESSION(r122250): It broke USE(3D_GRAPHICS)=1 and ENABLE(WEBGL)=0 builds |
+ https://bugs.webkit.org/show_bug.cgi?id=90943 |
+ |
+ Reviewed by Csaba Osztrogonác. |
+ |
+ Uses proper guarding in Extensions3DOpenGLCommon and Extensions3DOpenGLES as per https://bugs.webkit.org/show_bug.cgi?id=90506. |
+ |
+ No new tests, becasue there is no new functionality. |
+ |
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Use proper guarding. |
+ * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Use proper guarding. |
+ |
+2012-07-10 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: migrate from background images to CSS for statusbar rendering. |
+ https://bugs.webkit.org/show_bug.cgi?id=90902 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ This change removes statusbar* images and uses gradients and borders to re-create original inspector look. |
+ |
+ * WebCore.gypi: |
+ * inspector/front-end/Images/statusbarBackground.png: Removed. |
+ * inspector/front-end/Images/statusbarBottomBackground.png: Removed. |
+ * inspector/front-end/Images/statusbarButtons.png: Removed. |
+ * inspector/front-end/Images/statusbarMenuButton.png: Removed. |
+ * inspector/front-end/Images/statusbarMenuButtonSelected.png: Removed. |
+ * inspector/front-end/StatusBarButton.js: |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.css: |
+ (body.drawer-visible #main-status-bar): |
+ (body.drawer-visible #main-status-bar::after): |
+ (.status-bar-background): |
+ (.status-bar > div): |
+ (.glyph): |
+ (button.status-bar-item): |
+ (.status-bar button.status-bar-item:active): |
+ (select.status-bar-item): |
+ (select.status-bar-item, select.status-bar-item:hover): |
+ (body.detached .alternate-status-bar-buttons-bar): |
+ (.alternate-status-bar-buttons-bar): |
+ (.alternate-status-bar-buttons-bar .status-bar-item): |
+ (.alternate-status-bar-buttons-bar .status-bar-item.emulate-active): |
+ (#drawer): |
+ (body.drawer-visible #drawer-contents): |
+ (#drawer-status-bar): |
+ * inspector/front-end/inspector.html: |
+ * inspector/front-end/scriptsPanel.css: |
+ (button.status-bar-item.scripts-navigator-show-hide-button): |
+ (button.status-bar-item.scripts-navigator-show-hide-button:active): |
+ (button.status-bar-item.scripts-debugger-show-hide-button): |
+ (button.status-bar-item.scripts-debugger-show-hide-button:active): |
+ |
+2012-07-11 Jason Liu <jason.liu@torchmobile.com.cn> |
+ |
+ [BlackBerry] crash in CookieDatabaseBackingStore. |
+ https://bugs.webkit.org/show_bug.cgi?id=90270 |
+ |
+ Reviewed by George Staikos. |
+ |
+ There is one case for this crash. |
+ 1. A browser crashes and locks cookies' database for a while. |
+ 2. Open a new browser when the old one doesn't finish crashing. |
+ 3. The new one writes the cookies' database and receives a SQLITE_BUSY error |
+ in CookieDatabaseBackingStore's invokeOpen. So this database isn't opened. |
+ 4. invokeGetCookiesWithLimit returns 0. |
+ 5. Crash happens when using a null pointer. |
+ |
+ Add function setBusyTimeout(1000) and a guard for cookies' pointer. |
+ setBusyTimeout will call sqlite3_busy_timeout. |
+ |
+ When the SQLite database is accessed for reading it is locked for writing |
+ until the reading access is finished. Another process cannot access the database |
+ while it is locked. The timeout time sets a limit while this process tries to access |
+ the locked database. If the database is unlocked within the timeout time it can be |
+ accessed, otherwise an access fails. |
+ |
+ No new tests. This crash is hard to reproduce, and it happens only on our platform. |
+ |
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: |
+ (WebCore::CookieDatabaseBackingStore::getCookiesFromDatabase): |
+ |
+2012-07-11 Vsevolod Vlasov <vsevik@chromium.org> |
+ |
+ Web Inspector: Move revisions support to UISourceCode. |
+ https://bugs.webkit.org/show_bug.cgi?id=90888 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Moved revisions support to UISourceCode. |
+ Revision management code is moved unchanged where possible and should be refactored later. |
+ |
+ * inspector/front-end/CSSStyleModel.js: |
+ (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged): revision is now added to uiSourceCode, not resource. |
+ * inspector/front-end/ExtensionServer.js: |
+ (WebInspector.ExtensionServer.prototype._notifyUISourceCodeContentCommitted): |
+ Extension server is now listening for Workspace.UISourceCodeContentCommitted event instead of ResourceTreeModel.ResourceContentCommitted. |
+ * inspector/front-end/Resource.js: |
+ * inspector/front-end/ResourceTreeModel.js: ResourceTreeModel.ResourceContentCommitted renamed to Workspace.UISourceCodeContentCommitted. |
+ * inspector/front-end/ResourceView.js: |
+ (WebInspector.ResourceSourceFrame): ResourceSourceFrame is not update when revisions are added anymore as resource conenten is considered immutable now |
+ * inspector/front-end/RevisionHistoryView.js: |
+ (WebInspector.RevisionHistoryView.populateRevisions): |
+ (WebInspector.RevisionHistoryView): |
+ (WebInspector.RevisionHistoryView.showHistory): |
+ (WebInspector.RevisionHistoryView.prototype._createUISourceCodeItem): |
+ (WebInspector.RevisionHistoryView.prototype._revisionAdded.get if): |
+ (WebInspector.RevisionHistoryView.prototype._revisionAdded): |
+ (WebInspector.RevisionHistoryView.prototype._revealUISourceCode.get if): |
+ (WebInspector.RevisionHistoryView.prototype._revealUISourceCode): |
+ (WebInspector.RevisionHistoryView.prototype._reset): |
+ * inspector/front-end/ScriptSnippetModel.js: Snippets are not loaded before ResourceTreeModel.mainFrame is available anymore. |
+ (WebInspector.ScriptSnippetModel): |
+ (WebInspector.ScriptSnippetModel.prototype._setScriptSnippetContent): |
+ * inspector/front-end/UISourceCode.js: |
+ (WebInspector.UISourceCode): |
+ (WebInspector.UISourceCode.prototype.requestOriginalContent): |
+ (WebInspector.UISourceCode.prototype._setContent): |
+ (WebInspector.UISourceCode.prototype.addRevision): |
+ (WebInspector.UISourceCode.prototype._restoreRevisionHistory): |
+ (WebInspector.UISourceCode.prototype._clearRevisionHistory): |
+ (WebInspector.UISourceCode.prototype.revertToOriginal): |
+ (WebInspector.UISourceCode.prototype.revertAndClearHistory): |
+ (WebInspector.UISourceCode.prototype.revertAndClearHistory.clearHistory): |
+ (WebInspector.UISourceCode.prototype.commitWorkingCopy): |
+ (WebInspector.UISourceCode.prototype.canonicalMimeType): |
+ (WebInspector.Revision): |
+ (WebInspector.Revision._revisionHistoryRegistry): |
+ (WebInspector.Revision._ensureStaleRevisionsFileteredOut.persist): |
+ (WebInspector.Revision._ensureStaleRevisionsFileteredOut): |
+ (WebInspector.Revision.prototype.get uiSourceCode): |
+ (WebInspector.Revision.prototype.get timestamp): |
+ (WebInspector.Revision.prototype.get content): |
+ (WebInspector.Revision.prototype.revertToThis): |
+ (WebInspector.Revision.prototype.contentURL): |
+ (WebInspector.Revision.prototype.contentType): |
+ (WebInspector.Revision.prototype.requestContent): |
+ (WebInspector.Revision.prototype.searchInContent): |
+ (WebInspector.Revision.prototype._persist): |
+ * inspector/front-end/UserAgentSupport.js: Drive-by closure compilation fix. |
+ * inspector/front-end/Workspace.js: |
+ * inspector/front-end/inspector.js: ScriptSnippetModel is now created after ResourceTreeModel. |
+ |
+2012-07-11 MORITA Hajime <morrita@google.com> |
+ |
+ WebCoreSupport needs objects each of which follows major WebCore objects |
+ https://bugs.webkit.org/show_bug.cgi?id=88499 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ This change |
+ |
+ - Makes Internals rough lifetime to follow Document. |
+ Note that Internals can survive longer than Document in same case. |
+ Internals::m_document is cleared when the document destruction is notified. |
+ - Makes InternalSettings rough lifetime to follow the Page. |
+ This is done by making InternalSettings a supplement of the page. |
+ Now InternalSettings object is created per Page instead of per Frame. |
+ |
+ Per-test setting clearance is done by newly introduced InternalSettings::Backup, |
+ which recovers the modified settings and refreshes it for each time a test starts. |
+ |
+ * WebCore.exp.in: |
+ * testing/InternalSettings.cpp: |
+ (WebCore::InternalSettings::Backup::Backup): |
+ (WebCore): |
+ (WebCore::InternalSettings::Backup::restoreTo): |
+ (WebCore::InternalSettings::from): |
+ (WebCore::InternalSettings::~InternalSettings): |
+ (WebCore::InternalSettings::InternalSettings): |
+ (WebCore::InternalSettings::reset): |
+ (WebCore::InternalSettings::settings): |
+ (WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame): |
+ (WebCore::InternalSettings::setFixedPositionCreatesStackingContext): |
+ (WebCore::InternalSettings::allowRoundingHacks): |
+ (WebCore::InternalSettings::userPreferredLanguages): |
+ (WebCore::InternalSettings::setUserPreferredLanguages): |
+ (WebCore::InternalSettings::setShouldDisplayTrackKind): |
+ (WebCore::InternalSettings::shouldDisplayTrackKind): |
+ (WebCore::InternalSettings::setPagination): |
+ * testing/InternalSettings.h: |
+ (Backup): |
+ (InternalSettings): |
+ (WebCore::InternalSettings::page): |
+ * testing/InternalSettings.idl: |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::Internals): |
+ (WebCore): |
+ (WebCore::Internals::contextDocument): |
+ (WebCore::Internals::frame): |
+ (WebCore::Internals::settings): |
+ (WebCore::Internals::setPagination): Replaced as an alias. |
+ (WebCore::Internals::userPreferredLanguages): Replaced as an alias. |
+ (WebCore::Internals::setUserPreferredLanguages): Replaced as an alias. |
+ (WebCore::Internals::setShouldDisplayTrackKind): Replaced as an alias. |
+ (WebCore::Internals::shouldDisplayTrackKind): Replaced as an alias. |
+ (WebCore::Internals::emitInspectorDidBeginFrame): |
+ (WebCore::Internals::emitInspectorDidCancelFrame): |
+ (WebCore::Internals::allowRoundingHacks): Replaced as an alias. |
+ * testing/Internals.h: |
+ (WebCore): |
+ (Internals): |
+ * testing/js/WebCoreTestSupport.cpp: |
+ (WebCoreTestSupport::injectInternalsObject): |
+ (WebCoreTestSupport::resetInternalsObject): |
+ * testing/v8/WebCoreTestSupport.cpp: |
+ (WebCoreTestSupport::injectInternalsObject): |
+ (WebCoreTestSupport::resetInternalsObject): |
+ |
+2012-07-11 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ [Mac] Expose time format related functions |
+ https://bugs.webkit.org/show_bug.cgi?id=90956 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch introduces localizedTimeFormatText, localizedShortTimeFormatText |
+ and timeAMPMLabels for Mac within feature flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. |
+ |
+ See also: |
+ ICU version: https://bugs.webkit.org/show_bug.cgi?id=89965 |
+ Win version: https://bugs.webkit.org/show_bug.cgi?id=90236 |
+ |
+ No new tests. This patch doesn't change behavior. |
+ |
+ * platform/text/mac/LocalizedDateMac.cpp: |
+ (WebCore::localizedTimeFormatText): Added. |
+ (WebCore::localizedShortTimeFormatText): Added. |
+ (WebCore::timeAMPMLabels): Added. |
+ |
+2012-07-11 Kenichi Ishibashi <bashi@chromium.org> |
+ |
+ [Chromium] Adding HarfBuzz-ng for Linux |
+ https://bugs.webkit.org/show_bug.cgi?id=90362 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ This patch adds harfbuzz-ng support for Chromium Linux port as a part of |
+ transition from old harfbuzz. HarfBuzzFaceSkia.cpp implements harfbuzz-ng |
+ callbacks by using Skia APIs. For now, the feature is enabled only when |
+ WTF_USE_HARFBUZZ_NG is defined. |
+ |
+ No new tests. No change in behavior now. |
+ |
+ * WebCore.gyp/WebCore.gyp: Added use_harfbuzz_ng variable and related files. |
+ * WebCore.gypi: Added HarfBuzzFaceSkia.cpp |
+ * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Added USE(HARFBUZZ_NG). |
+ (WebCore::Font::drawComplexText): |
+ (WebCore::Font::floatWidthForComplexText): |
+ (WebCore::Font::offsetForPositionForComplexText): |
+ (WebCore::Font::selectionRectForComplexText): |
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Ditto. |
+ (WebCore): |
+ (WebCore::FontPlatformData::harfbuzzFace): |
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Ditto. |
+ (FontPlatformData): |
+ * platform/graphics/harfbuzz/ng/HarfBuzzFaceSkia.cpp: Added. |
+ (WebCore): |
+ (WebCore::SkiaScalarToHarfbuzzPosition): |
+ (WebCore::SkiaGetGlyphWidthAndExtents): |
+ (WebCore::harfbuzzGetGlyph): |
+ (WebCore::harfbuzzGetGlyphHorizontalAdvance): |
+ (WebCore::harfbuzzGetGlyphHorizontalOrigin): |
+ (WebCore::harfbuzzGetGlyphExtents): |
+ (WebCore::harfbuzzSkiaGetFontFuncs): |
+ (WebCore::harfbuzzSkiaGetTable): |
+ (WebCore::destroyPaint): |
+ (WebCore::HarfBuzzFace::createFace): |
+ (WebCore::HarfBuzzFace::createFont): |
+ (WebCore::HarfBuzzShaper::createGlyphBufferAdvance): |
+ * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added USE(HARFBUZZ_NG). |
+ (WebCore::substituteWithVerticalGlyphs): |
+ |
+2012-07-11 Taiju Tsuiki <tzik@chromium.org> |
+ |
+ Web Inspector: Clean up FileSystem related code |
+ https://bugs.webkit.org/show_bug.cgi?id=90592 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Clean up FileSystem related code in Inspector as follows: |
+ - Clean up layout tests and add test case for error case, |
+ - Fix error handling on request, |
+ - s/GetFileSystemRootTask/FileSystemRootRequest/g |
+ - s/ReadDirectoryTask/DirectoryContentRequest/g |
+ - s/ReadFileTask/FileContentRequest/g |
+ |
+ Tests: http/tests/inspector/filesystem/request-directory-content.html |
+ http/tests/inspector/filesystem/request-file-content.html |
+ http/tests/inspector/filesystem/request-filesystem-root.html |
+ http/tests/inspector/filesystem/request-metadata.html |
+ |
+ * inspector/InspectorFileSystemAgent.cpp: |
+ (WebCore): |
+ (WebCore::InspectorFileSystemAgent::requestFileSystemRoot): Add early error handling. |
+ (WebCore::InspectorFileSystemAgent::requestDirectoryContent): Add early error handling. |
+ (WebCore::InspectorFileSystemAgent::requestMetadata): Add early error handling. |
+ (WebCore::InspectorFileSystemAgent::requestFileContent): Add early error handling. |
+ * inspector/InspectorFileSystemAgent.h: Remove unused forward declaration and unused header. |
+ (WebCore): |
+ (InspectorFileSystemAgent): |
+ * inspector/front-end/FileSystemModel.js: |
+ (WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot.requestAccepted): |
+ (WebInspector.FileSystemRequestManager.prototype.requestFileSystemRoot): Add early error handling. |
+ (WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent.requestAccepted): |
+ (WebInspector.FileSystemRequestManager.prototype.requestDirectoryContent): Add early error handling. |
+ (WebInspector.FileSystemRequestManager.prototype.requestMetadata.requestAccepted): |
+ (WebInspector.FileSystemRequestManager.prototype.requestMetadata): Add early error handling. |
+ (WebInspector.FileSystemRequestManager.prototype.requestFileContent.requestAccepted): |
+ (WebInspector.FileSystemRequestManager.prototype.requestFileContent): Add early error handling. |
+ |
+2012-07-09 Eugene Klyuchnikov <eustas.bug@gmail.com> |
+ |
+ Web Inspector: Forward message loop instrumentation data to frontend. |
+ https://bugs.webkit.org/show_bug.cgi?id=89584 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Transmit collected message loop tasks to inspector frontend. |
+ Now "Program" should be a top-level event on browsers that |
+ support message loop instrumentation. |
+ Frontend was changed so that user will not see any changes. |
+ |
+ * inspector/InspectorTimelineAgent.cpp: |
+ (TimelineRecordType): |
+ Added new event type - "Program" |
+ (WebCore::InspectorTimelineAgent::willProcessTask): |
+ Begin "Program" event. |
+ (WebCore::InspectorTimelineAgent::didProcessTask): |
+ Finish "Program" event. |
+ (WebCore::InspectorTimelineAgent::setHeapSizeStatistic): |
+ Do not add counters to "Program" events. |
+ (WebCore): |
+ (WebCore::InspectorTimelineAgent::innerSetHeapSizeStatistic): |
+ Renamed from "setHeapSizeStatistic" |
+ * inspector/InspectorTimelineAgent.h: |
+ (InspectorTimelineAgent): |
+ * inspector/front-end/MemoryStatistics.js: |
+ (WebInspector.MemoryStatistics.prototype._onRecordAdded): |
+ Unwraps "Program" events. |
+ (WebInspector.MemoryStatistics.prototype._innerRecordAdded): |
+ Renamed from "_onRecordAdded" |
+ * inspector/front-end/TimelineFrameController.js: |
+ (WebInspector.TimelineFrameController.prototype._addRecord): |
+ Unwraps "Program" events. |
+ (WebInspector.TimelineFrameController.prototype._innerAddRecord): |
+ Renamed from "_addRecord" |
+ * inspector/front-end/TimelineModel.js: |
+ * inspector/front-end/TimelineOverviewPane.js: |
+ (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord): |
+ Filter out "Program" category. |
+ (WebInspector.TimelineCategoryStrips.prototype.update): |
+ * inspector/front-end/TimelinePanel.js: |
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons): |
+ Filter out "Program" category. |
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): |
+ Unwraps "Program" events. |
+ * inspector/front-end/TimelinePresentationModel.js: |
+ (WebInspector.TimelinePresentationModel.categories): |
+ Added "Program" category. |
+ (WebInspector.TimelinePresentationModel.recordStyle): |
+ Ditto. |
+ (WebInspector.TimelinePresentationModel.prototype.addRecord): |
+ Unwraps "Program" events. |
+ (WebInspector.TimelinePresentationModel.prototype._addRecord): |
+ Renamed from "addRecord" |
+ |
+2012-07-11 Kenichi Ishibashi <bashi@chromium.org> |
+ |
+ [Chromium] Adding HarfBuzz-ng for Linux |
+ https://bugs.webkit.org/show_bug.cgi?id=90362 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ This patch adds harfbuzz-ng support for Chromium Linux port as a part of |
+ transition from old harfbuzz. HarfBuzzFaceSkia.cpp implements harfbuzz-ng |
+ callbacks by using Skia APIs. For now, the feature is enabled only when |
+ WTF_USE_HARFBUZZ_NG is defined. |
+ |
+ No new tests. No change in behavior now. |
+ |
+ * WebCore.gyp/WebCore.gyp: Added use_harfbuzz_ng variable and related files. |
+ * WebCore.gypi: Added HarfBuzzFaceSkia.cpp |
+ * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Added USE(HARFBUZZ_NG). |
+ (WebCore::Font::drawComplexText): |
+ (WebCore::Font::floatWidthForComplexText): |
+ (WebCore::Font::offsetForPositionForComplexText): |
+ (WebCore::Font::selectionRectForComplexText): |
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Ditto. |
+ (WebCore): |
+ (WebCore::FontPlatformData::harfbuzzFace): |
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Ditto. |
+ (FontPlatformData): |
+ * platform/graphics/harfbuzz/ng/HarfBuzzFaceSkia.cpp: Added. |
+ (WebCore): |
+ (WebCore::SkiaScalarToHarfbuzzPosition): |
+ (WebCore::SkiaGetGlyphWidthAndExtents): |
+ (WebCore::harfbuzzGetGlyph): |
+ (WebCore::harfbuzzGetGlyphHorizontalAdvance): |
+ (WebCore::harfbuzzGetGlyphHorizontalOrigin): |
+ (WebCore::harfbuzzGetGlyphExtents): |
+ (WebCore::harfbuzzSkiaGetFontFuncs): |
+ (WebCore::harfbuzzSkiaGetTable): |
+ (WebCore::destroyPaint): |
+ (WebCore::HarfBuzzFace::createFace): |
+ (WebCore::HarfBuzzFace::createFont): |
+ (WebCore::HarfBuzzShaper::createGlyphBufferAdvance): |
+ * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Added USE(HARFBUZZ_NG). |
+ (WebCore::substituteWithVerticalGlyphs): |
+ |
+2012-07-11 Kenneth Russell <kbr@google.com> |
+ |
+ compositing/webgl/webgl-nonpremultiplied-blend.html is flaky on Lion |
+ https://bugs.webkit.org/show_bug.cgi?id=82412 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ When compositing premultipliedAlpha=false WebGL canvases, use a separate |
+ blend function for the alpha channel to avoid writing alpha < 1. This |
+ makes the behavior more consistent with all other compositing results |
+ and avoids situations where the alpha channel is preserved on some |
+ platforms and discarded on others. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawTextureQuad): |
+ Use separate alpha blend function when compositing premultipliedAlpha=false WebGL canvases. |
+ |
+2012-07-10 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ [Chromium-Windows] Implement functions for localized time format information |
+ https://bugs.webkit.org/show_bug.cgi?id=90236 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch introduces following localized time format related |
+ functions: |
+ - localizedTimeFormatText |
+ - localizeShortTimeFormatText() |
+ - timeAMPMLabels |
+ for Windows in feature flag: ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. |
+ |
+ See also: |
+ ICU version: https://bugs.webkit.org/show_bug.cgi?id=89965 |
+ Mac version: https://bugs.webkit.org/show_bug.cgi?id=90237 |
+ |
+ Tests: WebKit/chromium/tests/LocalWinTest.cpp |
+ |
+ * platform/text/LocaleWin.cpp: |
+ (WebCore::mapCharacterToDateTimeFieldType): Added. |
+ (WebCore::convertWindowsTimeFormatToLDML): Added. |
+ (WebCore::LocaleWin::timeFormatText): Added. |
+ (WebCore::LocaleWin::shortTimeFormatText): Added. |
+ (WebCore::LocaleWin::timeAMPMLabels): Added. |
+ * platform/text/LocaleWin.h: |
+ (LocaleWin): Added time format related functions and variables. |
+ * platform/text/LocalizedDateWin.cpp: |
+ (WebCore::localizedTimeFormatText): Added. |
+ (WebCore::localizedShortTimeFormatText): Added. |
+ (WebCore::timeAMPMLabels): Added. |
+ |
+2012-07-10 Douglas Stockwell <dstockwell@chromium.org> |
+ |
+ Style not updated for element with display:none becoming first/last-child |
+ https://bugs.webkit.org/show_bug.cgi?id=90356 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Always trigger style recalc when an element without a renderer becomes the first/last-child. |
+ |
+ Tests: fast/css/first-child-display-change.html |
+ fast/css/last-child-display-change.html |
+ |
+ * dom/Element.cpp: |
+ (WebCore::checkForSiblingStyleChanges): |
+ |
+2012-07-10 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ ShadowRoot should know its type in debug build. |
+ https://bugs.webkit.org/show_bug.cgi?id=90933 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ For assertion, ShadowRoot should know its type is UserAgentShadowRoot or AuthorShadowRoot. |
+ |
+ This patch also renames ShadowRootCreationPurpose to ShadowRootType, since it is suitable |
+ name for ShadowRoot to have. |
+ |
+ No new tests, since it is used only for assertion. |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::ensureShadowRoot): |
+ * dom/ShadowRoot.cpp: |
+ (WebCore::ShadowRoot::create): |
+ * dom/ShadowRoot.h: |
+ (ShadowRoot): |
+ (WebCore::ShadowRoot::type): |
+ * html/HTMLDetailsElement.cpp: |
+ (WebCore::HTMLDetailsElement::createShadowSubtree): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::createShadowSubtree): |
+ * html/HTMLKeygenElement.cpp: |
+ (WebCore::HTMLKeygenElement::HTMLKeygenElement): |
+ * html/HTMLMeterElement.cpp: |
+ (WebCore::HTMLMeterElement::createShadowSubtree): |
+ * html/HTMLProgressElement.cpp: |
+ (WebCore::HTMLProgressElement::createShadowSubtree): |
+ * html/HTMLSummaryElement.cpp: |
+ (WebCore::HTMLSummaryElement::createShadowSubtree): |
+ * html/HTMLTextAreaElement.cpp: |
+ (WebCore::HTMLTextAreaElement::createShadowSubtree): |
+ * html/InputType.cpp: |
+ (WebCore::InputType::destroyShadowSubtree): Asserts that ShadowRoot type is UserAgentShadowRoot. |
+ * html/shadow/TextFieldDecorationElement.cpp: |
+ (WebCore::getDecorationRootAndDecoratedRoot): |
+ * svg/SVGTRefElement.cpp: |
+ (WebCore::SVGTRefElement::createShadowSubtree): |
+ |
+2012-07-10 George Staikos <staikos@webkit.org> |
+ |
+ Add missing binding type String for IndexedDB. |
+ https://bugs.webkit.org/show_bug.cgi?id=90351 |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ No new tests because it's already covered by IDB tests. |
+ |
+ * bindings/js/JSIDBAnyCustom.cpp: |
+ (WebCore::toJS): |
+ |
+2012-07-10 Brian Anderson <brianderson@chromium.org> |
+ |
+ [chromium] Make full texture updates explicit |
+ https://bugs.webkit.org/show_bug.cgi?id=90507 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp: |
+ (WebCore::ScrollbarLayerChromium::updatePart): |
+ * platform/graphics/chromium/TiledLayerChromium.cpp: |
+ (WebCore::TiledLayerChromium::updateTiles): |
+ * platform/graphics/chromium/cc/CCTextureUpdater.cpp: |
+ (WebCore::CCTextureUpdater::appendFullUpdate): |
+ (WebCore::CCTextureUpdater::hasMoreUpdates): |
+ (WebCore::CCTextureUpdater::update): |
+ (WebCore::CCTextureUpdater::clear): |
+ * platform/graphics/chromium/cc/CCTextureUpdater.h: |
+ (CCTextureUpdater): |
+ |
+2012-07-10 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ Crash in nextLinePosition() due to accessing a removed root line box. |
+ https://bugs.webkit.org/show_bug.cgi?id=90484 |
+ |
+ Reviewed by Abhishek Arya. |
+ |
+ When <object> element is reattached, the 'content' style is compared to the old style. |
+ If it is not the same, a flag to recalc style is enabled. Because of this, the recalc style flag |
+ is not cleared in updateLayoutIgnorePendingStyleSheets() in nextLinePosition(), and it causes |
+ the second layout in isEditablePosition(p). Then 'RootInlineBox root' is invalidated, but |
+ it's used after that. |
+ |
+ When the content of the same <object> elements are compared, they should be the same. |
+ However, operator== for ContentData is not implemented correctly (it compares a pointer instead of |
+ content). So operator== does not hold for the content of the same <object> elements. |
+ |
+ Test: editing/execCommand/crash-extend-selection-forward.html |
+ |
+ * rendering/style/ContentData.cpp: |
+ (WebCore::operator==): Compares the instance of data instead of pointer. |
+ |
+2012-07-10 Joshua Bell <jsbell@chromium.org> |
+ |
+ IndexedDB: Ensure transaction abort events are deterministic in multiprocess ports |
+ https://bugs.webkit.org/show_bug.cgi?id=90412 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ In multi-process ports (e.g. Chromium), transaction aborts triggered on the front-end could |
+ be initiated while a "success" event was in-flight from the back end. This would lead to |
+ apparently flaky behavior when requests would sometimes report success and sometimes report |
+ an error. Address this by having front-end triggered aborts do the abort steps immediately, |
+ then send the async abort request to the back end. |
+ |
+ No new tests - behavior in single process ports (and DRT) covered by existing |
+ tests. Will enable currently disabled Chromium tests to be enabled (crbug.com/83226). |
+ |
+ * Modules/indexeddb/IDBRequest.cpp: |
+ (WebCore::IDBRequest::IDBRequest): Initialize a new m_requestAborted flag, used to prevent |
+ dispatching if an in-flight request comes in after the abort. |
+ (WebCore::IDBRequest::abort): Set flag to prevent double dispatching. |
+ (WebCore::IDBRequest::onError): Handle aborted-then-received-event case. |
+ (WebCore::IDBRequest::onSuccess): Ditto. |
+ (WebCore::IDBRequest::onSuccessWithContinuation): Ditto. |
+ (WebCore::IDBRequest::dispatchEvent): On uncaught error, trigger abort on transaction front-end. |
+ * Modules/indexeddb/IDBRequest.h: |
+ (IDBRequest): |
+ * Modules/indexeddb/IDBTransaction.cpp: |
+ (WebCore::IDBTransaction::abort): Do abort steps locally first, then notify back-end. |
+ (WebCore::IDBTransaction::onAbort): If abort wasn't triggered locally, clean up is still necessary. |
+ |
+2012-07-10 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ REGRESSION(r112113): absolutely positioned INPUT boxes with a table cell containing block have a 0px height |
+ https://bugs.webkit.org/show_bug.cgi?id=89209 |
+ |
+ Reviewed by Ojan Vafai. |
+ |
+ Test: fast/forms/input-in-table-cell-no-value.html |
+ |
+ The issue comes from the layout code not properly resetting the overriden heigth between layouts. |
+ |
+ The test case relies on a table cell as it requires a 2 pass layout. Between the 2 passes, different |
+ code paths would be taken, leading to previous values being used to over-constrain the inner content. |
+ |
+ * rendering/RenderTextControlSingleLine.cpp: |
+ (WebCore::RenderTextControlSingleLine::layout): |
+ Ensure consistent layout by resetting any overriden conditional height. |
+ |
+2012-07-10 Kevin Ellis <kevers@chromium.org> |
+ |
+ Input elements with type=range do not have default touch handlers. |
+ https://bugs.webkit.org/show_bug.cgi?id=88807 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ This patch adds support for touch event handling on input elements |
+ and dragging a slider with touch start and move events. Previously, |
+ manipulating a slider on a touch screen required generation of |
+ synthetic mouse events. |
+ |
+ Tests: fast/events/touch/touch-slider-no-js-touch-listener.html |
+ fast/events/touch/touch-slider.html |
+ |
+ * dom/Event.cpp: |
+ (WebCore::Event::isTouchEvent): |
+ (WebCore): |
+ * dom/Event.h: |
+ (Event): |
+ * dom/Touch.cpp: |
+ (WebCore::Touch::Touch): |
+ * dom/Touch.h: |
+ (WebCore::Touch::absoluteLocation): |
+ (Touch): |
+ * dom/TouchEvent.cpp: |
+ (WebCore::TouchEvent::isTouchEvent): |
+ (WebCore): |
+ * dom/TouchEvent.h: |
+ (TouchEvent): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::HTMLInputElement): |
+ (WebCore::HTMLInputElement::~HTMLInputElement): |
+ (WebCore::HTMLInputElement::updateType): |
+ (WebCore::HTMLInputElement::defaultEventHandler): |
+ * html/HTMLInputElement.h: |
+ (HTMLInputElement): |
+ * html/InputType.cpp: |
+ (WebCore): |
+ (WebCore::InputType::handleTouchEvent): |
+ (WebCore::InputType::hasTouchEventHandler): |
+ * html/InputType.h: |
+ (WebCore): |
+ (ClickHandlingState): |
+ (InputType): |
+ * html/RangeInputType.cpp: |
+ (WebCore): |
+ (WebCore::RangeInputType::handleTouchEvent): |
+ (WebCore::RangeInputType::hasTouchEventHandler): |
+ * html/RangeInputType.h: |
+ (RangeInputType): |
+ * html/shadow/SliderThumbElement.h: |
+ (SliderThumbElement): |
+ |
+2012-07-10 Pravin D <pravind.2k4@gmail.com> |
+ |
+ Re-factoring recalcColumn in AutoTableLayout.cpp for readability |
+ https://bugs.webkit.org/show_bug.cgi?id=89636 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ No test case required. Code re-factoring. |
+ |
+ * rendering/AutoTableLayout.cpp: |
+ Added a const integer place holder for 32760. |
+ |
+ (WebCore::AutoTableLayout::recalcColumn): |
+ Changes : |
+ 1) Moved the continue statement above the bool cellHasContent for an early return. |
+ 2) Replaced the constant 32760 by a placeholder. |
+ 3) Initialization of columnLayout max and min logical widths is made common for both cells having col span == 1 and span > 1. |
+ 4) Removed redundant check for cell logical width type. |
+ |
+2012-07-10 Adam Barth <abarth@webkit.org> |
+ |
+ WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed |
+ https://bugs.webkit.org/show_bug.cgi?id=90910 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ We've already removed the code that implements Hixie76 WebSockets. This |
+ patch just removes the WebCore::Setting that used to control which |
+ WebSocket protocol version we'd use. |
+ |
+ I've left the WebKit-layer APIs in place, but they now don't do |
+ anything. I'll remove all the Chromium callers shortly. |
+ |
+ * page/Settings.cpp: |
+ (WebCore::Settings::Settings): |
+ * page/Settings.h: |
+ (Settings): |
+ |
+2012-07-10 Philip Rogers <pdr@google.com> |
+ |
+ Crash due to SVG animation element not removed from target (before reset) |
+ https://bugs.webkit.org/show_bug.cgi?id=90750 |
+ |
+ Reviewed by Abhishek Arya. |
+ |
+ Previously we were not removing an animation element from |
+ SVGDocumentExtensions::m_animatedElements which led to a crash. |
+ This change properly removes animation elements in resetTargetElement |
+ which both fixes this bug and will prevent others from hitting it in |
+ the future. |
+ |
+ Test: svg/animations/dynamic-modify-attributename-crash2.svg |
+ |
+ * svg/SVGDocumentExtensions.cpp: |
+ (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): |
+ |
+ removeAllAnimationElementsFromTarget now adds all the animation elements |
+ to a vector and iterates over it because the changes to resetTargetElement |
+ would have caused us to modify the underlying hashset as we iterated. Note that |
+ before we deleted animationElementsForTarget in removeAllAnimationElementsFromTarget |
+ but that logic is now handled in removeAnimationElementFromTarget which is called |
+ during resetTargetElement. |
+ |
+ * svg/animation/SVGSMILElement.cpp: |
+ (WebCore::SVGSMILElement::removedFrom): |
+ |
+ Because of the changes in resetTargetElement, removedFrom was able to be |
+ refactored. This patch changes removedFrom to call resetTargetElement rather |
+ than have duplicated logic. There is a very small change in logic here: |
+ animationAttributeChanged() is now called in removedFrom(). |
+ |
+ (WebCore::SVGSMILElement::resetTargetElement): |
+ |
+ resetTargetElement now fully resets the target, including removing it from |
+ m_animatedElements. This will prevent future instances of this bug. |
+ |
+2012-07-10 Helder Correia <helder.correia@nokia.com> |
+ |
+ [Qt] Repaint counter for accelerated compositing |
+ https://bugs.webkit.org/show_bug.cgi?id=90116 |
+ |
+ Reviewed by Noam Rosenthal. |
+ |
+ No new tests, just introducing a debug feature. |
+ |
+ For this feature to be enabled, the environment variable |
+ QT_WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled, |
+ both repaint counters and tile borders will be painted. |
+ |
+ Important notes: |
+ - Only WebKit2 is targetted for now. |
+ - There is no integration with Preferences. That aproach was |
+ taken initially but revealed complex and overkill for such a |
+ debugging-only functionality. Thus, to disable it simply restart with |
+ the environment variable unset or set to some other value. |
+ |
+ A Qt-specific drawRepaintCounter() function was added to |
+ TextureMapperGL. A QImage is used as scratch buffer to paint borders and |
+ counters. It is then uploaded to a BitmapTexture acquired from the pool |
+ and finally draw by TextureMapper. The actual compositing happens inside |
+ LayerBackingStore::paintToTextureMapper(). Each LayerBackingStoreTile |
+ now has a repaint counter which gets incremented in |
+ LayerBackingStore::updateTile(). |
+ |
+ * platform/graphics/texmap/TextureMapper.h: |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore): |
+ (WebCore::TextureMapperGL::drawRepaintCounter): |
+ * platform/graphics/texmap/TextureMapperGL.h: |
+ * platform/graphics/texmap/TextureMapperImageBuffer.h: |
+ |
+2012-07-09 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Replace use of ManagedTexture with CCScopedTexture for impl thread and remove implTextureManager from LayerRendererChromium |
+ https://bugs.webkit.org/show_bug.cgi?id=90841 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Remove the TextureManager from LayerRendererChromium, which was the last |
+ instance of the class in the compositor. Instead of using ManagedTexture |
+ objects for RenderPass textures, use instances of CCScopedTexture, which |
+ manage the lifetime of the allocated texture ids. TextureManager will be |
+ removed entirely once all callers of memoryUseBytes() have been removed. |
+ |
+ No new tests. No change in behaviour. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::LayerRendererChromium): |
+ (WebCore::LayerRendererChromium::releaseRenderPassTextures): |
+ (WebCore): |
+ (WebCore::LayerRendererChromium::renderPassTextureSize): |
+ (WebCore::LayerRendererChromium::renderPassTextureFormat): |
+ (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame): |
+ (WebCore::LayerRendererChromium::haveCachedResourcesForRenderPassId): |
+ (WebCore::LayerRendererChromium::drawQuad): |
+ (WebCore::applyFilters): |
+ (WebCore::LayerRendererChromium::drawBackgroundFilters): |
+ (WebCore::LayerRendererChromium::drawRenderPassQuad): |
+ (WebCore::LayerRendererChromium::drawHeadsUpDisplay): |
+ (WebCore::LayerRendererChromium::getFramebufferTexture): |
+ (WebCore::LayerRendererChromium::isCurrentRenderPass): |
+ (WebCore::LayerRendererChromium::useRenderPass): |
+ (WebCore::LayerRendererChromium::useScopedTexture): |
+ (WebCore::LayerRendererChromium::bindFramebufferToTexture): |
+ (WebCore::LayerRendererChromium::initializeSharedObjects): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (WebCore): |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/TrackingTextureAllocator.cpp: |
+ (WebCore::TrackingTextureAllocator::TrackingTextureAllocator): |
+ (WebCore::TrackingTextureAllocator::createTexture): |
+ * platform/graphics/chromium/TrackingTextureAllocator.h: |
+ (WebCore::TrackingTextureAllocator::create): |
+ (TrackingTextureAllocator): |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
+ (WebCore::CCHeadsUpDisplay::draw): |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: |
+ (WebCore): |
+ (CCHeadsUpDisplay): |
+ * platform/graphics/chromium/cc/CCRenderer.h: |
+ (WebCore): |
+ (CCRenderer): |
+ |
+2012-07-10 Dean Jackson <dino@apple.com> |
+ |
+ REGRESSION (r109610): Order of values in shorthand animation makes a difference |
+ https://bugs.webkit.org/show_bug.cgi?id=84533 |
+ <rdar://problem/11831924> |
+ <rdar://problem/11815787> |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ A previous revision (r109610) updated the parsing of the animation shorthand |
+ to make sure that animation-name wouldn't clobber other styles. The side effect |
+ of this was that we'd no longer find animation-name if it wasn't first in the |
+ list. This commit reverts the change and fixes it in a different way, by always |
+ parsing animation-name as the last property in the shorthand. This means that |
+ keywords for timing functions, fill modes and iteration will match before |
+ animation name. In other words, if you want an animation called "forwards" |
+ you should use the longhand property, because the shorthand will first match |
+ that against animation-fill-mode. |
+ |
+ Test: animations/animation-shorthand-name-order.html |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseAnimationShorthand): make a new array of longhand |
+ properties to check for, with name as the last entry rather than the first. |
+ Use this array to test the properties in the shorthand. |
+ |
+2012-07-10 Huang Dongsung <luxtella@company100.net> |
+ |
+ Fix a potential bug of BitmapImage::frameCount(). |
+ https://bugs.webkit.org/show_bug.cgi?id=90756 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ If an ImageDecoder is not yet initialized, m_source.frameCount() returns 0. This |
+ does not mean that the frame count is actually 0. So we must set |
+ m_haveFrameCount to true only when m_frameCount is not 0. |
+ |
+ The current code is okay because BitmapImage::frameCount() is never called |
+ before the decoder is initialized. However, this no longer holds true once we |
+ introduce parallel image decoders. |
+ |
+ No new tests, no behavior change. |
+ |
+ * platform/graphics/BitmapImage.cpp: |
+ (WebCore::BitmapImage::frameCount): |
+ |
+2012-07-10 Ojan Vafai <ojan@chromium.org> |
+ |
+ Build fix. Removing unused variable from http://trac.webkit.org/changeset/122264. |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::computeContentLogicalHeightUsing): |
+ |
+2012-07-10 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ HTMLPropertiesCollection should share more code with HTMLCollection |
+ https://bugs.webkit.org/show_bug.cgi?id=90842 |
+ |
+ Reviewed by Anders Carlsson. |
+ |
+ Got rid of HTMLPropertiesCollection::m_cache, and added m_itemRefElements, m_propertyNames, m_propertyCache, |
+ m_hasPropertyNameCache, and m_hasItemRefElements to HTMLPropertiesCollection itself. These are caches specific |
+ to HTMLPropertiesCollection. Note that hasNameCache has been renamed to m_hasPropertyNameCache and itemRefElementPosition |
+ has been replaced by cachedElementsArrayOffset() in HTMLCollectionCacheBase (also used in HTMLFormCollection). |
+ |
+ Also deleted all methods on m_cache except updatePropertyCache since caches can be accessed directly from |
+ HTMLPropertiesCollection. |
+ |
+ * html/HTMLCollection.cpp: |
+ (WebCore::HTMLCollection::invalidateCacheIfNeeded): |
+ (WebCore::HTMLCollection::invalidateCache): |
+ * html/HTMLCollection.h: |
+ (HTMLCollection): |
+ * html/HTMLPropertiesCollection.cpp: |
+ (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection): |
+ (WebCore): |
+ (WebCore::HTMLPropertiesCollection::updateRefElements): |
+ (WebCore::HTMLPropertiesCollection::itemAfter): |
+ (WebCore::HTMLPropertiesCollection::calcLength): |
+ (WebCore::HTMLPropertiesCollection::cacheFirstItem): |
+ (WebCore::HTMLPropertiesCollection::item): |
+ (WebCore::HTMLPropertiesCollection::findProperties): |
+ (WebCore::HTMLPropertiesCollection::updateNameCache): |
+ (WebCore::HTMLPropertiesCollection::names): |
+ (WebCore::HTMLPropertiesCollection::namedItem): |
+ (WebCore::HTMLPropertiesCollection::hasNamedItem): |
+ * html/HTMLPropertiesCollection.h: |
+ (HTMLPropertiesCollection): |
+ (WebCore::HTMLPropertiesCollection::clearCache): |
+ (WebCore::HTMLPropertiesCollection::updatePropertyCache): |
+ |
+2012-07-10 Ojan Vafai <ojan@chromium.org> |
+ |
+ Add support for min-height:auto and min-width:auto |
+ https://bugs.webkit.org/show_bug.cgi?id=88437 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Right now auto does the same thing as min-height/min-width:0. |
+ For flex-items it should be the same as min-content (followup patch). |
+ http://dev.w3.org/csswg/css3-flexbox/#min-size-auto |
+ |
+ Tests: fast/css/auto-min-size.html |
+ fast/css/deprecated-flexbox-auto-min-size.html |
+ |
+ * WebCore.order: |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
+ Return 0px for the computed value of auto. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::validWidth): |
+ (WebCore): |
+ (WebCore::CSSParser::validHeight): |
+ (WebCore::CSSParser::parseValue): |
+ * css/CSSParser.h: |
+ (CSSParser): |
+ Restructure width/height parsing to reduce code duplication and make it easier |
+ to add auto as a valid min value. |
+ |
+ * platform/efl/RenderThemeEfl.cpp: |
+ (WebCore::RenderThemeEfl::adjustSizeConstraints): |
+ This code was unnecessarily checking intrinsicOrAuto since auto was previously |
+ not an allowed value for minWidth/minHeight. |
+ |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::computeLogicalWidthInRegion): |
+ (WebCore::RenderBox::computeLogicalWidthInRegionUsing): |
+ (WebCore::RenderBox::sizesLogicalWidthToFitContent): |
+ (WebCore::RenderBox::computeLogicalHeight): |
+ (WebCore::RenderBox::computeLogicalHeightUsing): |
+ (WebCore::RenderBox::computeContentLogicalHeightUsing): |
+ (WebCore::RenderBox::computeReplacedLogicalWidth): |
+ (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth): |
+ (WebCore::RenderBox::computeReplacedLogicalWidthUsing): |
+ (WebCore::RenderBox::computeReplacedLogicalHeight): |
+ (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight): |
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing): |
+ (WebCore::RenderBox::computePositionedLogicalWidth): |
+ (WebCore::RenderBox::computePositionedLogicalWidthUsing): |
+ (WebCore::RenderBox::computePositionedLogicalHeight): |
+ (WebCore::RenderBox::computePositionedLogicalHeightUsing): |
+ Need to pass a SizeType to all these methods so that we know if the Length |
+ we're working with is a min length since auto has a different meaning now |
+ for min lengths. |
+ |
+ * rendering/RenderBox.h: |
+ (RenderBox): |
+ * rendering/RenderDeprecatedFlexibleBox.cpp: |
+ (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex): |
+ * rendering/RenderFlexibleBox.cpp: |
+ (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): |
+ (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): |
+ (WebCore::RenderFlexibleBox::lineBreakLength): |
+ (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax): |
+ * rendering/RenderReplaced.cpp: |
+ (WebCore::RenderReplaced::computeReplacedLogicalWidth): |
+ (WebCore::RenderReplaced::computeReplacedLogicalHeight): |
+ * rendering/RenderScrollbarPart.cpp: |
+ (WebCore::calcScrollbarThicknessUsing): |
+ (WebCore::RenderScrollbarPart::computeScrollbarWidth): |
+ (WebCore::RenderScrollbarPart::computeScrollbarHeight): |
+ * rendering/style/RenderStyle.h: |
+ Default minHeight/minWidth to auto instead of 0px. |
+ |
+2012-07-10 Xianzhu Wang <wangxianzhu@chromium.org> |
+ |
+ [Chromium-Android] Use default font rendering styles in FontPlatformData::querySystemForRenderStyle() |
+ https://bugs.webkit.org/show_bug.cgi?id=90826 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ No new tests. The change to this file is refactoring only. |
+ |
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
+ (WebCore::FontPlatformData::querySystemForRenderStyle): Moved the "NoPreference" initialization into PlatformSupport::PlatformSupport::getRenderStyleForStrike(). |
+ |
+2012-07-10 Raymond Toy <rtoy@google.com> |
+ |
+ AudioFIFO not correctly wrapping the write index on push |
+ https://bugs.webkit.org/show_bug.cgi?id=90901 |
+ |
+ Reviewed by Chris Rogers. |
+ |
+ No new tests |
+ |
+ * platform/audio/AudioFIFO.cpp: |
+ (WebCore::AudioFIFO::push): Wrap the write index, not read index! |
+ |
+2012-07-10 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Avoid allocating render pass textures that have no content |
+ https://bugs.webkit.org/show_bug.cgi?id=90702 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ When OOM conditions are hit, textures are not allocated for some layers |
+ which can prevent any quads from being present for a render surface. |
+ This is used as a signal to prevent the RenderPass from allocating a |
+ texture. |
+ |
+ Replace the CCLayerTreeHostImpl::removePassesWithCachedTextures() method |
+ with a general removeRenderPasses() which takes a culling control object |
+ and will remove passes based on the inputs from the control object. |
+ |
+ This new method is used for the old purpose of removing passes with cached |
+ textures, as well as to remove passes that do not have any quad inputs. |
+ |
+ Test: CCLayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawRenderPassQuad): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
+ (WebCore): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::shouldRemoveRenderPass): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass): |
+ (WebCore::CCLayerTreeHostImpl::removeRenderPasses): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
+ (WebCore): |
+ (CullRenderPassesWithCachedTextures): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListBegin): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListEnd): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::renderPassListNext): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithCachedTextures::CullRenderPassesWithCachedTextures): |
+ (CCLayerTreeHostImpl): |
+ (CullRenderPassesWithNoQuads): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListBegin): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListEnd): |
+ (WebCore::CCLayerTreeHostImpl::CullRenderPassesWithNoQuads::renderPassListNext): |
+ |
+2012-07-10 Joshua Netterfield <jnetterfield@rim.com> |
+ Make GC3D and E3D more maintainable for GLES platforms |
+ https://bugs.webkit.org/show_bug.cgi?id=90567 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ This patch cleans up code for WebGL on OpenGLES platforms which use |
+ GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although |
+ GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL, |
+ GraphicsContext3DOpenGLCommon, and GraphicsContext3DOpenGLES, this patch |
+ is an attempt to refactor this code in a way that will help BlackBerry and |
+ other teams support WebGL on mobile platforms with as little use of |
+ "#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the |
+ separation of Extensions3DOpenGL into Extensions3DOpenGLCommon, |
+ Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction |
+ of OpenGLESShims. |
+ |
+ This patch is created in large part by Jonathan Feldstein. |
+ |
+ No new tests: no new behaviour. |
+ |
+ * PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build |
+ * Target.pri: Add new Extensions3DOpenGL* to WebGL builds |
+ * platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function. |
+ (WebCore): |
+ * platform/graphics/OpenGLESShims.h: Added. |
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible |
+ (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon |
+ (WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports |
+ (WebCore): |
+ (WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions |
+ * platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon |
+ (WebCore): |
+ (Extensions3DOpenGL): |
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added. |
+ (WebCore): |
+ (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon): |
+ (WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon): |
+ (WebCore::Extensions3DOpenGLCommon::supports): |
+ (WebCore::Extensions3DOpenGLCommon::ensureEnabled): |
+ (WebCore::Extensions3DOpenGLCommon::isEnabled): |
+ (WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB): |
+ (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does. |
+ (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports |
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h. |
+ (WebCore): |
+ (Extensions3DOpenGLCommon): |
+ * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added. |
+ (WebCore): |
+ (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES): |
+ (WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES): |
+ (WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG): |
+ (WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG): |
+ (WebCore::Extensions3DOpenGLES::createVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::deleteVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::isVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::bindVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports |
+ (WebCore::Extensions3DOpenGLES::getExtensions): |
+ * platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h. |
+ (WebCore): |
+ (Extensions3DOpenGLES): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ (WebCore::GraphicsContext3D::validateAttributes): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::renderbufferStorage): |
+ (WebCore::GraphicsContext3D::texImage2D): |
+ (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function. |
+ (WebCore::GraphicsContext3D::getExtensions): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
+ (WebCore::GraphicsContext3D::validateDepthStencil): |
+ (WebCore::GraphicsContext3D::clear): |
+ (WebCore::GraphicsContext3D::isTexture): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::lineWidth): |
+ (WebCore::GraphicsContext3D::linkProgram): |
+ (WebCore::GraphicsContext3D::pixelStorei): |
+ (WebCore::GraphicsContext3D::polygonOffset): |
+ (WebCore::GraphicsContext3D::readPixels): |
+ (WebCore::GraphicsContext3D::deleteBuffer): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
+ (WebCore::GraphicsContext3D::releaseShaderCompiler): |
+ (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary): |
+ (WebCore::GraphicsContext3D::validateAttributes): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::getExtensions): |
+ (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function. |
+ * platform/graphics/qt/GraphicsContext3DQt.cpp: |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::releaseShaderCompiler): |
+ |
+2012-07-06 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=90646 |
+ <rdar://problem/11648478> 3-pass pagination slows down pagination |
+ |
+ Improve the logical top estimate function for margin collapsing to be more accurate. In particular |
+ make the basic case of <body><p> or <body><h1> no longer be wrong. This estimate being incorrect |
+ is not a big deal most of the time, but when paginating it is a very big deal, since you have to |
+ relayout everything whenever your vertical placement is wrong. |
+ |
+ Improving the estimation exposed a bug in an existing layout test. I had to clean up the buggy |
+ code written for negative margin-related float detection and fix an invalid layout test to |
+ actually be correct. |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::collapseMargins): |
+ (WebCore::RenderBlock::marginBeforeEstimateForChild): |
+ (WebCore): |
+ (WebCore::RenderBlock::estimateLogicalTopPosition): |
+ (WebCore::RenderBlock::marginValuesForChild): |
+ * rendering/RenderBlock.h: |
+ (RenderBlock): |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): |
+ (WebCore::RenderBox::computeLogicalWidthInRegionUsing): |
+ |
+2012-07-10 Alexei Filippov <alexeif@chromium.org> |
+ |
+ Web Inspector: Count inspector memory used to traverse DOM in native memory snapshots. |
+ https://bugs.webkit.org/show_bug.cgi?id=90456 |
+ |
+ Inspector may take significant amount of memory when traversing DOM structure. |
+ Take it into account and report under inspector memory. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * dom/MemoryInstrumentation.h: |
+ (MemoryInstrumentation): |
+ (WebCore::MemoryInstrumentation::calculateContainerSize): |
+ (WebCore::MemoryInstrumentation::reportHashMap): |
+ (WebCore::MemoryInstrumentation::reportHashSet): |
+ (WebCore::MemoryInstrumentation::reportVector): |
+ * inspector/InspectorMemoryAgent.cpp: |
+ (MemoryBlockName): |
+ (WebCore): |
+ (WebCore::domTreeInfo): |
+ (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
+ |
+2012-07-10 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> |
+ |
+ [GTK] Fix memory leaks by adopting allocation of GdkPixbuf |
+ https://bugs.webkit.org/show_bug.cgi?id=90790 |
+ |
+ Reviewed by Carlos Garcia Campos. |
+ |
+ Fixed a memory leak in paintGdkPixbuf by adopting an allocation |
+ of GdkPixbuf. |
+ |
+ No new tests. No change in behavior. |
+ |
+ * platform/gtk/RenderThemeGtk.cpp: |
+ (WebCore::paintGdkPixbuf): |
+ |
+2012-07-10 Konrad Piascik <kpiascik@rim.com> |
+ |
+ Web Inspector: Geolocation override |
+ https://bugs.webkit.org/show_bug.cgi?id=89365 |
+ |
+ Reviewed by Yong Li. |
+ |
+ Added a way to override the geoloation of a client using Web |
+ Inspector. |
+ |
+ New tests added. |
+ * LayoutTests/inspector/geolocation-success.html: |
+ * LayoutTests/inspector/getlocation-error.html: |
+ |
+ * Modules/geolocation/GeolocationController.cpp: |
+ (WebCore::GeolocationController::GeolocationController): Now store and |
+ save the Page in m_page. |
+ (WebCore::GeolocationController::positionChanged): Check if position |
+ is overriden in Web Inspector. |
+ * Modules/geolocation/GeolocationController.h: |
+ (GeolocationController): Add member variable m_page for Page*. |
+ * inspector/Inspector.json: Add new methods for setting and clearing |
+ the GeoloationPosition and GeolocationError objects in InspectorPageAgent. |
+ * inspector/InspectorInstrumentation.cpp: |
+ (WebCore): |
+ (WebCore::InspectorInstrumentation::checkGeolocationPositionOrErrorImpl): |
+ Add methods to check whether GeolocationPosition or GeolocationError |
+ are set in InspectorPageAgent. |
+ * inspector/InspectorInstrumentation.h: |
+ (WebCore): |
+ (InspectorInstrumentation): |
+ (WebCore::InspectorInstrumentation::checkGeolocationPositionOrError): |
+ * inspector/InspectorPageAgent.cpp: |
+ (WebCore::InspectorPageAgent::InspectorPageAgent): Initialize new |
+ member variables of GeolocationPosition and GeolocationError. |
+ (WebCore::InspectorPageAgent::setGeolocationData): Set Position and |
+ Error data and call appropriate GeolocaitonController methods. |
+ (WebCore): |
+ (WebCore::InspectorPageAgent::clearGeolocationData): |
+ (WebCore::InspectorPageAgent::sendGeolocationError): |
+ * inspector/InspectorPageAgent.h: |
+ (WebCore::InspectorPageAgent::geolocationPosition): Getter for |
+ GeolocationPosition. |
+ (InspectorPageAgent): |
+ * inspector/front-end/Settings.js: Added new settings for |
+ GeolocationPosition and GeolocationError |
+ * inspector/front-end/SettingsScreen.js: Added new control for |
+ Geolocaiton. |
+ (WebInspector.UserAgentSettingsTab): |
+ (WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement): |
+ (WebInspector.UserAgentSettingsTab.prototype._onGeolocationOverrideCheckboxClicked): |
+ (WebInspector.UserAgentSettingsTab.prototype._applyGeolocationUserInput): |
+ (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition.set if): |
+ (WebInspector.UserAgentSettingsTab.prototype._setGeolocationPosition): |
+ (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement.createInput): |
+ (WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement): |
+ * inspector/front-end/UserAgentSupport.js: New GeolocationPosition |
+ Object added along with setting helper methods. Added new setting |
+ changed handlers for Position and Error. |
+ (WebInspector.UserAgentSupport.GeolocationPosition): |
+ (WebInspector.UserAgentSupport.GeolocationPosition.prototype.toSetting): |
+ (WebInspector.UserAgentSupport.GeolocationPosition.parseSetting): |
+ (WebInspector.UserAgentSupport.GeolocationPosition.parseUserInput): |
+ (WebInspector.UserAgentSupport.prototype.get _onGeolocationErrorChanged): |
+ |
+2012-07-10 Vsevolod Vlasov <vsevik@chromium.org> |
+ |
+ Web Inspector: Refactor resource revisions before moving to UISourceCode. |
+ https://bugs.webkit.org/show_bug.cgi?id=90855 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Revisions are now persisted based on mainFrame.loaderId, not resource.loaderId which makes filtering out stale persisted revisions easier. |
+ Restoring revisions from local storage is separated from filtering out stale persisted revisions. |
+ Resource._clearRevisionHistory and Resource._restoreRevisions are not static anymore. |
+ Renamed localStorage field for persisting revisions: "resource-history" -> "revision-history" |
+ |
+ * inspector/front-end/Resource.js: |
+ (WebInspector.Resource): |
+ (WebInspector.Resource.prototype.addRevision): |
+ (WebInspector.Resource.prototype._restoreRevisionHistory): |
+ (WebInspector.Resource.prototype._clearRevisionHistory): |
+ (WebInspector.Resource.prototype.revertAndClearHistory.clearHistory): |
+ (WebInspector.Resource.prototype.revertAndClearHistory): |
+ (WebInspector.Revision): |
+ (WebInspector.Revision._revisionHistoryRegistry): |
+ (WebInspector.Revision._ensureStaleRevisionsFileteredOut.persist): |
+ (WebInspector.Revision._ensureStaleRevisionsFileteredOut): |
+ (WebInspector.Revision.prototype._persist): |
+ * inspector/front-end/ResourceTreeModel.js: |
+ (WebInspector.ResourceTreeModel.prototype._processCachedResources): |
+ (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): |
+ * inspector/front-end/RevisionHistoryView.js: |
+ * inspector/front-end/UISourceCode.js: |
+ (WebInspector.UISourceCode.prototype._revisionAdded): |
+ |
+2012-07-10 Alice Cheng <alice_cheng@apple.com> |
+ |
+ Editing: Reproducible crasher when pasting a 0x0 image into Mail |
+ https://bugs.webkit.org/show_bug.cgi?id=90640 |
+ <rdar://problem/11141920> |
+ |
+ Reviewed by Brady Eidson. |
+ |
+ 0x0 images don't get a resource representation in the WebArchive, so we need a null check |
+ |
+ Test: TestWebKitAPI/Tests/mac/0.png |
+ TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm |
+ |
+ * platform/mac/PasteboardMac.mm: |
+ (WebCore::documentFragmentWithImageResource): |
+ |
+2012-07-10 Nikita Vasilyev <me@elv1s.ru> |
+ |
+ Web Inspector: Make the Tab character 4 spaces width |
+ https://bugs.webkit.org/show_bug.cgi?id=90172 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Do it to match most code editors' behavior. |
+ |
+ * inspector/front-end/inspectorCommon.css: |
+ (body): |
+ |
+2012-07-10 Eric Seidel <eric@webkit.org> |
+ |
+ REGRESSION (r122168): Layout Test http/tests/misc/script-defer.html is failing |
+ https://bugs.webkit.org/show_bug.cgi?id=90845 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ I was a bit overzealous in removing bool returns. This one still makes sense. |
+ This just reverts the wrong part of my previous change. |
+ |
+ * html/parser/HTMLDocumentParser.cpp: |
+ (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd): |
+ * html/parser/HTMLScriptRunner.cpp: |
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing): |
+ * html/parser/HTMLScriptRunner.h: |
+ (HTMLScriptRunner): |
+ |
+2012-07-10 Kevin Ellis <kevers@chromium.org> |
+ |
+ Input type=range issue with events not being raised when value set in js |
+ https://bugs.webkit.org/show_bug.cgi?id=84674 |
+ |
+ Fix dispatching of change and click events for the input slider. |
+ Prior to the fix, change events were not fired if the new value |
+ matched the value at last change notification based on expected |
+ behavior for text fields. Clicks were not fired if the thumb |
+ element was repositioned under the cursor on mouse down. |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Tests: fast/events/click-range-slider.html |
+ fast/events/onchange-range-slider.html |
+ |
+ * html/shadow/SliderThumbElement.cpp: |
+ (WebCore::SliderThumbElement::setPositionFromPoint): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::handleMouseReleaseEvent): |
+ |
+2012-07-10 Huang Dongsung <luxtella@company100.net> |
+ |
+ Don't destroy the decoded data of an image if WebKit is about to render the image. |
+ https://bugs.webkit.org/show_bug.cgi?id=90721 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ When the cache capacity of the MemoryCache is exceeded, the decoded data of all |
+ the CachedImages are destroyed. Even the images inside the viewport are |
+ destroyed. However, if the images need to be rendered again due to scoll events |
+ or animation, they must be decoded again. As an extreme case, if there is an |
+ animation with an image when MemoryCache is almost full, the image must be |
+ decoded every frame. This slows down animation and needlessly consumes CPU |
+ cycles. |
+ |
+ Therefore, it is better to not destory the decoded data of an image if the image |
+ is inside the viewport because there is high chance that the image needs to be |
+ rendered again soon. This patch reduces the unnecessary repetition of image decoding |
+ on low memory, and also relieves the memory fragmentation because it avoids reallocation |
+ of image frames. |
+ |
+ In addition, there is another positive side effect. Currently, |
+ CachedImageClient::willRenderImage() is used only to determine if GIF animation needs |
+ to be paused or not in CachedImage::shouldPauseAnimation(). This patch makes |
+ GIF animation outside the viewort be paused. |
+ |
+ This is also a prerequisite for parallel image decoders. Because parallel image |
+ decoders decode an image asynchronously, clients cannot render the image at the time |
+ when the request is made. Clients can draw the image later after receiving image |
+ decoding complete notification. However, there is a problem because MemoryCache can |
+ destroy the decoded data before clients actually render the image. So parallel image decoders |
+ must prevent the decoded data from being destroyed if the image will be rendered |
+ soon. |
+ |
+ This patch may consume a little more memory, but furtunately the peak memory usage |
+ is almost the same. |
+ |
+ No new tests - no new testable functionality. |
+ |
+ * loader/cache/CachedImage.cpp: |
+ (WebCore::CachedImage::likelyToBeUsedSoon): |
+ (WebCore): |
+ (WebCore::CachedImage::shouldPauseAnimation): |
+ * loader/cache/CachedImage.h: |
+ (CachedImage): |
+ * loader/cache/CachedResource.h: |
+ (CachedResource): |
+ (WebCore::CachedResource::likelyToBeUsedSoon): |
+ * loader/cache/MemoryCache.cpp: |
+ (WebCore::MemoryCache::pruneLiveResourcesToSize): |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::willRenderImage): |
+ |
+2012-07-10 Kent Tamura <tkent@chromium.org> |
+ |
+ RTL calendar picker for <input type=date> is too narrow and clipped |
+ https://bugs.webkit.org/show_bug.cgi?id=90864 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Tests: ManualTests/forms/calendar-picker.html |
+ |
+ * Resources/calendarPicker.js: |
+ (fixWindowSize): |
+ Checks the left edge of elemenets in RTL. |
+ (layout): Add dir=ltr for the manual test, which re-uses the document. |
+ |
+2012-07-10 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r122178. |
+ http://trac.webkit.org/changeset/122178 |
+ https://bugs.webkit.org/show_bug.cgi?id=90857 |
+ |
+ browser tests, PrerenderBrowserTest.PrerenderFavicon and other |
+ tests, started to fail (Requested by hayato on #webkit). |
+ |
+ * WebCore.exp.in: |
+ * dom/Document.cpp: |
+ (WebCore::Document::iconURLs): |
+ (WebCore::Document::addIconURL): |
+ (WebCore::Document::setUseSecureKeyboardEntryWhenActive): |
+ * dom/Document.h: |
+ (Document): |
+ * html/HTMLLinkElement.cpp: |
+ * html/HTMLLinkElement.h: |
+ (HTMLLinkElement): |
+ * testing/Internals.cpp: |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-07-10 Adam Barth <abarth@webkit.org> |
+ |
+ LayoutTestController.dumpConfigurationForViewport should move to Internals |
+ https://bugs.webkit.org/show_bug.cgi?id=45652 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ This patch replaces LayoutTestController.dumpConfigurationForViewport |
+ with Internals.configurationForViewport. The old |
+ dumpConfigurationForViewport function just ended up calling WebCore |
+ functions anyway, so there's no benefit in implementing the API in the |
+ LayoutTestController. |
+ |
+ As a result, these tests can now run on every port. |
+ |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::configurationForViewport): |
+ (WebCore): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-07-10 Carlos Garcia Campos <cgarcia@igalia.com> |
+ |
+ Unreviewed. Fix GTK+ build after r122175. |
+ |
+ * platform/graphics/texmap/TextureMapperLayer.cpp: Include |
+ CString.h when using cairo. |
+ |
+2012-07-10 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ [Chromium-Mac] Form related layout tests cause timeout |
+ https://bugs.webkit.org/show_bug.cgi?id=90851 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch changed to pass a valid argument to LocaleMac |
+ constructor. |
+ |
+ No new tests. No more timeout in tests listed in the bug. |
+ |
+ * platform/text/mac/LocaleMac.mm: |
+ (WebCore::LocaleMac::currentLocale): Changed to pass local identifier string |
+ instead of NSLocale object. |
+ |
+2012-07-10 Yuta Kitamura <yutak@chromium.org> |
+ |
+ WebSocket: Remove hixie76 protocol implementation |
+ https://bugs.webkit.org/show_bug.cgi?id=88620 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ This change removes code that implements the old hixie-76 WebSocket protocol which |
+ isn't used anymore. |
+ |
+ No new tests are added, because the code using the current protocol should not be |
+ affected. Tests for hixie-76 protocol are skipped (these tests will be removed |
+ eventually). |
+ |
+ * Modules/websockets/ThreadableWebSocketChannel.h: |
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: |
+ (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper): |
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didCreateWebSocketChannel): |
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: |
+ (ThreadableWebSocketChannelClientWrapper): |
+ * Modules/websockets/WebSocket.cpp: |
+ (WebCore::WebSocket::WebSocket): |
+ (WebCore::WebSocket::connect): |
+ (WebCore::WebSocket::send): |
+ (WebCore::WebSocket::protocol): |
+ (WebCore::WebSocket::extensions): |
+ (WebCore::WebSocket::binaryType): |
+ (WebCore::WebSocket::setBinaryType): |
+ (WebCore::WebSocket::didReceiveMessageError): |
+ (WebCore::WebSocket::didClose): |
+ (WebCore::WebSocket::getFramingOverhead): |
+ * Modules/websockets/WebSocket.h: |
+ * Modules/websockets/WebSocketChannel.cpp: |
+ (WebCore::WebSocketChannel::WebSocketChannel): |
+ (WebCore::WebSocketChannel::connect): |
+ (WebCore::WebSocketChannel::send): |
+ (WebCore::WebSocketChannel::fail): |
+ (WebCore::WebSocketChannel::didCloseSocketStream): |
+ (WebCore::WebSocketChannel::processBuffer): |
+ (WebCore::WebSocketChannel::startClosingHandshake): |
+ (WebCore::WebSocketChannel::enqueueTextFrame): |
+ (WebCore::WebSocketChannel::enqueueRawFrame): |
+ (WebCore::WebSocketChannel::enqueueBlobFrame): |
+ (WebCore::WebSocketChannel::processOutgoingFrameQueue): |
+ (WebCore::WebSocketChannel::abortOutgoingFrameQueue): |
+ * Modules/websockets/WebSocketChannel.h: |
+ (WebSocketChannel): |
+ * Modules/websockets/WebSocketHandshake.cpp: |
+ (WebCore::WebSocketHandshake::WebSocketHandshake): |
+ (WebCore::WebSocketHandshake::clientHandshakeMessage): |
+ (WebCore::WebSocketHandshake::clientHandshakeRequest): |
+ (WebCore::WebSocketHandshake::readServerHandshake): |
+ (WebCore::WebSocketHandshake::checkResponseHeaders): |
+ * Modules/websockets/WebSocketHandshake.h: |
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: |
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create): |
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask): |
+ (WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask): |
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize): |
+ * Modules/websockets/WorkerThreadableWebSocketChannel.h: |
+ (WorkerThreadableWebSocketChannel): |
+ (Peer): |
+ (Bridge): |
+ |
+2012-07-09 Gavin Barraclough <barraclough@apple.com> |
+ |
+ Threadsafety issues in WebScriptObject |
+ https://bugs.webkit.org/show_bug.cgi?id=90849 |
+ |
+ Reviewed by Filip Pizlo. |
+ |
+ WebScriptObject maintains a NSMap of wrapper objects. A race condition exists |
+ between a wrapper being retrieved from the map, and being released - if the |
+ final release on an object is called between a call to getJSWrapper and the |
+ subsequent retain, we may end up with a stale object reference. |
+ |
+ We can make this safe by hoisting the removal from the map from delloc up into |
+ release (if the retainCount is 1), and locking release against retrieval from |
+ the map. Since release may be called from another thread, and NSMap is not |
+ threadsafe, we'd better lock around all access to the map (this fix already |
+ necessitates get & remove to be locked, so this just adds 'add', too). |
+ |
+ * bindings/objc/WebScriptObject.mm: |
+ (WebCore::createJSWrapper): |
+ - lock around getJSWrapper, retain. |
+ (-[WebScriptObject _setImp:originRootObject:rootObject:]): |
+ - lock around addJSWrapper. |
+ (-[WebScriptObject release]): |
+ - Added; removeJSWrapper for last release, lock & synchronized vs. getJSWrapper. |
+ (-[WebScriptObject dealloc]): |
+ - removeJSWrapper call hoisted into release. |
+ |
+2012-07-09 Christophe Dumez <christophe.dumez@intel.com> |
+ |
+ [EFL] Battery status code needs refactoring to be reused in WebKit2 |
+ https://bugs.webkit.org/show_bug.cgi?id=90760 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Rename BatteryClientEfl to BatteryProviderEfl and remove dependency |
+ on BatteryController by introducing the BatteryProviderEflClient |
+ interface. This will allow reusing the BatteryProviderEfl class |
+ in WebKit2. |
+ |
+ No new tests. Already tested by batterystatus/*. |
+ |
+ * PlatformEfl.cmake: |
+ * platform/efl/BatteryProviderEfl.cpp: Renamed from Source/WebCore/platform/efl/BatteryClientEfl.cpp. |
+ (WebCore): |
+ (WebCore::BatteryProviderEfl::BatteryProviderEfl): |
+ (WebCore::BatteryProviderEfl::batteryStatus): |
+ (WebCore::BatteryProviderEfl::startUpdating): |
+ (WebCore::BatteryProviderEfl::stopUpdating): |
+ (WebCore::BatteryProviderEfl::setBatteryStatus): |
+ (WebCore::BatteryProviderEfl::timerFired): |
+ (WebCore::BatteryProviderEfl::getBatteryStatus): |
+ (WebCore::BatteryProviderEfl::setBatteryClient): |
+ * platform/efl/BatteryProviderEfl.h: Copied from Source/WebCore/platform/efl/BatteryClientEfl.h. |
+ (WebCore): |
+ (BatteryProviderEfl): |
+ (WebCore::BatteryProviderEfl::~BatteryProviderEfl): |
+ * platform/efl/BatteryProviderEflClient.h: Added. |
+ (WebCore): |
+ (BatteryProviderEflClient): |
+ |
+2012-07-09 Hayato Ito <hayato@chromium.org> |
+ |
+ Unreviewed gardening. |
+ Fix a wrong fix of r122194. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame): |
+ |
+2012-07-09 Matt Falkenhagen <falken@chromium.org> |
+ |
+ Add ENABLE_DIALOG_ELEMENT and skeleton files |
+ https://bugs.webkit.org/show_bug.cgi?id=90521 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This adds the ENABLE_DIALOG_ELEMENT feature flag and dummy implementation files for <dialog>. In addition, a runtime feature flag is added. |
+ The feature is diabled by default. |
+ |
+ No new tests, as there is no behavior change. |
+ |
+ * CMakeLists.txt: |
+ * Configurations/FeatureDefines.xcconfig: |
+ * DerivedSources.cpp: |
+ * DerivedSources.make: |
+ * DerivedSources.pri: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore): |
+ * bindings/generic/RuntimeEnabledFeatures.h: Added a runtime feature flag for dialog. |
+ (RuntimeEnabledFeatures): |
+ (WebCore::RuntimeEnabledFeatures::dialogElementEnabled): |
+ (WebCore::RuntimeEnabledFeatures::setDialogElementEnabled): |
+ * dom/ContextFeatures.cpp: |
+ (WebCore::ContextFeatures::dialogElementEnabled): |
+ (WebCore): |
+ * dom/ContextFeatures.h: Added a per-context flag for dialog so that dialog can be disabled in HTMLTagNames.in and DOMWindow.idl when the dialog runtime feature flag is off. |
+ * html/HTMLDialogElement.cpp: Added. |
+ (WebCore): |
+ (WebCore::HTMLDialogElement::HTMLDialogElement): |
+ (WebCore::HTMLDialogElement::create): |
+ (WebCore::HTMLDialogElement::close): |
+ (WebCore::HTMLDialogElement::show): |
+ * html/HTMLDialogElement.h: Added. |
+ (WebCore): |
+ (HTMLDialogElement): |
+ * html/HTMLDialogElement.idl: Added. |
+ * html/HTMLElementsAllInOne.cpp: |
+ * html/HTMLTagNames.in: |
+ * page/DOMWindow.idl: |
+ |
+2012-07-09 Hayato Ito <hayato@chromium.org> |
+ |
+ Unreviewed gardening. |
+ Remove an assertion starting to fail on interactive_ui_tests on Chromium OS. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame): |
+ |
+2012-07-09 Hayato Ito <hayato@chromium.org> |
+ |
+ Unreviewed gardening. |
+ Build fix after r122175 |
+ |
+ * WebCore.gypi: Remove Source/WebCore/platform/graphics/qt/Extensions3DQt.{cpp,h} |
+ |
+2012-07-09 Kiran Muppala <cmuppala@apple.com> |
+ |
+ Improve performance of RenderInline::absoluteQuads for deeply nested inlines. |
+ https://bugs.webkit.org/show_bug.cgi?id=90715 |
+ |
+ Reviewed by Maciej Stachowiak. |
+ |
+ No new tests: functionality unchanged. |
+ |
+ * rendering/RenderInline.cpp: Cache transformation from local to absolute coordinates using a |
+ RenderGeometryMap and use it for subsequent mappings. |
+ (WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::AbsoluteQuadsGeneratorContext): |
+ (WebCore::(anonymous namespace)::AbsoluteQuadsGeneratorContext::operator()): |
+ |
+2012-07-09 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ [Chromium-Mac] Implement functions for localized time format information |
+ https://bugs.webkit.org/show_bug.cgi?id=90237 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch introduces following localized time format related |
+ functions: |
+ - localizeTimeFormatText() |
+ - localizeShortTimeFormatText() |
+ - timeAMPMLabels |
+ for Mac OSX in feature flag: ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS. |
+ |
+ These function will be used by input type "time" with multiple input |
+ fields UI. |
+ |
+ Note: ICU version of localized time format functions are implemented |
+ in https://bugs.webkit.org/show_bug.cgi?id=89965 |
+ |
+ Tests: WebKit/chromium/tests/LocaleMacTest.cpp |
+ |
+ * platform/text/mac/LocaleMac.h: |
+ (LocaleMac): Added time format related functions and variables. |
+ * platform/text/mac/LocaleMac.mm: |
+ (WebCore::createDateTimeFormatter): Added. A helper function for creating date time formatter. |
+ (WebCore::LocaleMac::createShortDateFormatter): Changed to use createDateTimeFormatter. |
+ (WebCore::LocaleMac::createTimeFormatter): Added. |
+ (WebCore::LocaleMac::createShortTimeFormatter): Added. |
+ (WebCore::LocaleMac::timeFormatText): Added. |
+ (WebCore::LocaleMac::shortTimeFormatText): Added. |
+ (WebCore::LocaleMac::timeAMPMLabels): Added. |
+ |
+2012-07-09 Alexandru Chiculita <achicu@adobe.com> |
+ |
+ [CSS Shaders] The FECustomFilter is not making the GL context active |
+ https://bugs.webkit.org/show_bug.cgi?id=90840 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ I've added a couple of makeContextCurrent() in the FECustomFilter related classes. |
+ Also, removed the assumption that GraphicsContext3D::create() never returns 0. |
+ |
+ No new tests, this was crashing on existing tests. |
+ |
+ * platform/graphics/filters/CustomFilterCompiledProgram.cpp: |
+ (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram): |
+ (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram): |
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp: |
+ (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): |
+ * platform/graphics/filters/CustomFilterMesh.cpp: |
+ (WebCore::CustomFilterMesh::CustomFilterMesh): |
+ (WebCore::CustomFilterMesh::~CustomFilterMesh): |
+ * platform/graphics/filters/FECustomFilter.cpp: |
+ (WebCore::FECustomFilter::deleteRenderBuffers): |
+ (WebCore::FECustomFilter::platformApplySoftware): |
+ (WebCore::FECustomFilter::initializeContext): |
+ * platform/graphics/filters/FECustomFilter.h: |
+ (FECustomFilter): |
+ |
+2012-07-09 Kent Tamura <tkent@chromium.org> |
+ |
+ REGRESSION(r114862-r114886): Fix a crash by switching the input type to hidden. |
+ https://bugs.webkit.org/show_bug.cgi?id=90774 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Test: fast/forms/hidden/change-type-to-hidden-after-updating-value.html |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::setAttributeInternal): |
+ Pass a copy of the existing Attribute object. |
+ |
+2012-07-07 Philippe Normand <pnormand@igalia.com> |
+ |
+ [GStreamer] cache video dimensions |
+ https://bugs.webkit.org/show_bug.cgi?id=90733 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Invalidate the cached video dimensions whenever the video-sink sink pad caps |
+ change and let ::naturalSize() lazily recalculate them. |
+ |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
+ (WebCore::MediaPlayerPrivateGStreamer::naturalSize): |
+ (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: |
+ (MediaPlayerPrivateGStreamer): |
+ |
+2012-07-09 Eric Penner <epenner@google.com> |
+ |
+ [chromium] Merge updates and idle updates into one pass |
+ https://bugs.webkit.org/show_bug.cgi?id=90324 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ We no longer need to do painting is passes in order |
+ to allocate memory in the right order. So this merges |
+ updates and idle updates into one pass. |
+ |
+ Covered by existing unit tests (some of which are |
+ updated with this patch). |
+ |
+ * platform/graphics/chromium/ContentLayerChromium.cpp: |
+ (WebCore::ContentLayerChromium::needMoreUpdates): |
+ * platform/graphics/chromium/ContentLayerChromium.h: |
+ (ContentLayerChromium): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ (WebCore::LayerChromium::needMoreUpdates): |
+ * platform/graphics/chromium/TiledLayerChromium.cpp: |
+ (WebCore::TiledLayerChromium::updateTiles): |
+ (WebCore::TiledLayerChromium::updateLayerRect): |
+ * platform/graphics/chromium/TiledLayerChromium.h: |
+ (TiledLayerChromium): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::CCLayerTreeHost): |
+ (WebCore::CCLayerTreeHost::compositeAndReadback): |
+ (WebCore::CCLayerTreeHost::updateLayers): |
+ (WebCore::CCLayerTreeHost::paintMasksForRenderSurface): |
+ (WebCore::CCLayerTreeHost::paintLayerContents): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (CCLayerTreeHost): |
+ |
+2012-07-09 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ [Platform] Introduce LocaleMac class |
+ https://bugs.webkit.org/show_bug.cgi?id=90248 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch moves implementation of localized date format related |
+ functions into LocaleMac class as of LocaleWin class for ease of |
+ maintain and using specific locale in testing rather than system |
+ default locale. |
+ |
+ Tests: WebKit/chromium/tests/LocaleMacTest.cpp |
+ |
+ * WebCore.gyp/WebCore.gyp: Include LocaleMac.mm |
+ * WebCore.gypi: |
+ * platform/text/mac/LocaleMac.h: Replace LocaleWin to LocaleMac. |
+ * platform/text/mac/LocaleMac.mm: |
+ (WebCore::LocaleMac::LocaleMac): |
+ (WebCore::LocaleMac::~LocaleMac): |
+ (WebCore::LocaleMac::create): |
+ (WebCore::LocaleMac::currentLocale): |
+ (WebCore::LocaleMac::createShortDateFormatter): |
+ (WebCore::LocaleMac::parseDate): |
+ (WebCore::LocaleMac::formatDate): |
+ (WebCore::LocaleMac::dateFormatText): |
+ (WebCore::LocaleMac::monthLabels): |
+ (WebCore::LocaleMac::weekDayShortLabels): |
+ (WebCore::LocaleMac::firstDayOfWeek): |
+ * platform/text/mac/LocalizedDateMac.cpp: |
+ (WebCore::parseLocalizedDate): |
+ (WebCore::formatLocalizedDate): |
+ (WebCore::localizedDateFormatText): |
+ (WebCore::monthLabels): |
+ (WebCore::weekDayShortLabels): |
+ (WebCore::firstDayOfWeek): |
+ * platform/text/mac/LocalizedDateMac.mm: Removed. |
+ |
+2012-07-09 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Create CCScopedTexture class for creating/freeing textures |
+ https://bugs.webkit.org/show_bug.cgi?id=89485 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ This class provides a standard way to create texture ids in a way that |
+ ensures they will be freed later. |
+ |
+ Also includes a CCTexture base class that holds textureId, size, and |
+ format together in a struct that can be used in place of storing an |
+ unsigned textureId in other classes. |
+ |
+ Unit tests: CCScopedTexureTest.NewScopedTexture |
+ CCScopedTexureTest.CreateScopedTexture |
+ CCScopedTexureTest.ScopedTextureIsDeleted |
+ CCScopedTexureTest.LoseScopedTexture |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/cc/CCScopedTexture.cpp: Added. |
+ (WebCore): |
+ (WebCore::CCScopedTexture::CCScopedTexture): |
+ (WebCore::CCScopedTexture::~CCScopedTexture): |
+ (WebCore::CCScopedTexture::allocate): |
+ (WebCore::CCScopedTexture::free): |
+ (WebCore::CCScopedTexture::leak): |
+ * platform/graphics/chromium/cc/CCScopedTexture.h: Added. |
+ (WebCore): |
+ (CCScopedTexture): |
+ (WebCore::CCScopedTexture::create): |
+ * platform/graphics/chromium/cc/CCTexture.cpp: Added. |
+ (WebCore): |
+ (WebCore::CCTexture::setDimensions): |
+ (WebCore::CCTexture::bytes): |
+ (WebCore::CCTexture::memorySizeBytes): |
+ * platform/graphics/chromium/cc/CCTexture.h: Added. |
+ (WebCore): |
+ (CCTexture): |
+ (WebCore::CCTexture::CCTexture): |
+ (WebCore::CCTexture::id): |
+ (WebCore::CCTexture::size): |
+ (WebCore::CCTexture::format): |
+ (WebCore::CCTexture::setId): |
+ |
+2012-07-09 Joshua Bell <jsbell@chromium.org> |
+ |
+ IndexedDB: deleteDatabase fails if transaction running in other database |
+ https://bugs.webkit.org/show_bug.cgi?id=90822 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ The IDBLevelDBBackingStore was preventing a deleteDatabase() from running |
+ if any other database was running a transaction. Fix by just creating a scratch |
+ LevelDBTransaction for the delete steps. |
+ |
+ Test: storage/indexeddb/deletedatabase-transaction.html |
+ |
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp: |
+ (WebCore::IDBLevelDBBackingStore::deleteDatabase): Use a LevelDBTransaction |
+ directly. |
+ |
+2012-07-09 Pete Williamson <petewil@google.com> |
+ |
+ Changed the behavior of iconURLs to always recalculate the list. |
+ https://bugs.webkit.org/show_bug.cgi?id=88665 |
+ |
+ Reviewed by Kent Tamura.. |
+ |
+ As it turns out, it can contain stale URLs in the case that some script |
+ manipulates the DOM, which breaks scripts trying to reset the favicon |
+ URL. Also added a method in Internals to allow tests to get the list of |
+ icon |
+ |
+ Tests: fast/dom/icon-url-change.html |
+ fast/dom/icon-url-list.html |
+ |
+ * WebCore.exp.in: export Document::iconURLs on the mac for the Internals class |
+ * dom/Document.cpp: |
+ (WebCore::Document::iconURLs): Changed the method to recalculate the iconURL list every time |
+ (WebCore::Document::addIconURL): we no longer need to add to the internal list since we recalculate it |
+ (WebCore::Document::setUseSecureKeyboardEntryWhenActive): removed extra whitespace |
+ * dom/Document.h: |
+ (Document): removed the addIconURL method which is no longer used |
+ * html/HTMLLinkElement.cpp: |
+ (WebCore::HTMLLinkElement::iconType): exposed the icon type with an accessor |
+ (WebCore): |
+ (WebCore::HTMLLinkElement::iconSizes): exposed the icon sizes with an accessor |
+ * html/HTMLLinkElement.h: |
+ (HTMLLinkElement): declared the icon type and size accessors |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::iconURLs): made a method to be used by unit tests for inspecting the icon URL list |
+ (WebCore): |
+ * testing/Internals.h: |
+ (Internals): declared the method for unit testing the icon URL list |
+ * testing/Internals.idl: exported the Document::iconURLs function |
+ |
+2012-07-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Gcc build fix after r122174. |
+ |
+ * storage/StorageAreaImpl.cpp: |
+ (WebCore::StorageAreaImpl::decrementAccessCount): |
+ |
+2012-07-09 Alice Cheng <alice_cheng@apple.com> |
+ |
+ Editing: Autocorrection in blockquotes causes text to break out of quote |
+ https://bugs.webkit.org/show_bug.cgi?id=90487 |
+ <rdar://problem/11769020> |
+ |
+ Reviewed by Enrica Casucci. |
+ |
+ Test: platform/mac/editing/spelling/autocorrection-blockquote-crash.html |
+ |
+ SpellingCorrectionCommand uses ReplaceSelectionCommand to replace the misspelled word with the auto-corrected word. Specifically, ReplaceSelectionCommand does a smart copy, where it breaks out of blockquotes. Thus, the fix is to substitute ReplaceSelectionCommand with InserTextCommand. |
+ |
+ * editing/SpellingCorrectionCommand.cpp: |
+ (WebCore::SpellingCorrectionCommand::doApply): |
+ |
+2012-07-09 No'am Rosenthal <noam.rosenthal@nokia.com> |
+ |
+ Shared code that is guarded with ENABLE(WEBGL) should be guarded with USE() |
+ https://bugs.webkit.org/show_bug.cgi?id=90506 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ GraphicsContext3D, ANGLEWebKitBridge and Extensions3D are now guarded with USE(3D_GRAPHICS) |
+ instead of ENABLE(WEBGL). |
+ |
+ No new tests, build changes only. |
+ |
+ * Target.pri: |
+ Removed references to unused files. |
+ |
+ * WebCore.pri: |
+ Updated the Qt build so that the basic 3D-graphics sources can be compiled even when |
+ WebGL is disabled. |
+ |
+ * platform/graphics/ANGLEWebKitBridge.cpp: |
+ * platform/graphics/GraphicsContext3D.cpp: |
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
+ * platform/graphics/qt/GraphicsContext3DQt.cpp: |
+ * platform/qt/QWebPageClient.h: |
+ * platform/graphics/OpenGLShims.cpp: |
+ * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: |
+ * platform/graphics/cairo/DrawingBufferCairo.cpp: |
+ * platform/graphics/cairo/GLContext.h: |
+ (GLContext): |
+ * platform/graphics/cairo/GraphicsContext3DCairo.cpp: |
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: |
+ * platform/graphics/cg/GraphicsContext3DCG.cpp: |
+ * platform/graphics/clutter/DrawingBufferClutter.cpp: |
+ * platform/graphics/clutter/GraphicsContext3DClutter.cpp: |
+ * platform/graphics/clutter/GraphicsContext3DPrivate.cpp: |
+ * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp: |
+ * platform/graphics/filters/CustomFilterCompiledProgram.cpp: |
+ * platform/graphics/filters/CustomFilterCompiledProgram.h: |
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp: |
+ * platform/graphics/filters/CustomFilterGlobalContext.h: |
+ * platform/graphics/filters/CustomFilterMesh.cpp: |
+ * platform/graphics/filters/CustomFilterMesh.h: |
+ * platform/graphics/filters/CustomFilterProgram.cpp: |
+ (WebCore): |
+ * platform/graphics/filters/CustomFilterProgram.h: |
+ * platform/graphics/filters/FECustomFilter.cpp: |
+ * platform/graphics/filters/FECustomFilter.h: |
+ * platform/graphics/glx/GLContextGLX.cpp: |
+ (WebCore): |
+ * platform/graphics/glx/GLContextGLX.h: |
+ (GLContextGLX): |
+ * platform/graphics/gpu/DrawingBuffer.cpp: |
+ * platform/graphics/gpu/mac/DrawingBufferMac.mm: |
+ * platform/graphics/gpu/qt/DrawingBufferQt.cpp: |
+ * platform/graphics/mac/GraphicsContext3DMac.mm: |
+ * platform/graphics/qt/Extensions3DQt.cpp: Removed. |
+ * platform/graphics/qt/Extensions3DQt.h: Removed. |
+ * platform/graphics/skia/GraphicsContext3DSkia.cpp: |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
+ Chaned ENABLE(WEBGL) to USE(3D_GRAPHICS) |
+ |
+2012-07-09 Yongjun Zhang <yongjun_zhang@apple.com> |
+ |
+ Consider closing unused localStorage database after a timeout. |
+ https://bugs.webkit.org/show_bug.cgi?id=90713 |
+ |
+ For a localStorage, if there is no active document referencing to it for certain amount of time (300 seconds), |
+ we can close the underlying sqlite database. |
+ |
+ Reviewed by Brady Eidson. |
+ |
+ Test: storage/domstorage/storage-close-database-on-idle.html |
+ |
+ * storage/Storage.cpp: |
+ (WebCore::Storage::Storage): increment storageArea access count when a DOMWindow is referencing it. |
+ (WebCore::Storage::~Storage): decrement storageArea access count when DOMWindow is done with it. |
+ * storage/StorageArea.h: |
+ (StorageArea): |
+ * storage/StorageAreaImpl.cpp: |
+ (WebCore::StorageAreaImpl::StorageAreaImpl): |
+ (WebCore::StorageAreaImpl::incrementAccessCount): |
+ (WebCore): |
+ (WebCore::StorageAreaImpl::decrementAccessCount): schedule closeDatabaseTimer if there is no active document |
+ referencing to this storageArea. |
+ (WebCore::StorageAreaImpl::closeDatabaseTimerFired): close the underlying sqlite database. |
+ * storage/StorageAreaImpl.h: |
+ (StorageAreaImpl): |
+ * storage/StorageAreaSync.cpp: |
+ (WebCore::StorageAreaSync::sync): if m_syncCloseDatabase flag is set and the database is not opened, bail out. |
+ * storage/StorageTracker.cpp: |
+ (WebCore): |
+ (WebCore::StorageTracker::StorageTracker): |
+ * storage/StorageTracker.h: |
+ (WebCore::StorageTracker::storageDatabaseIdleInterval): |
+ (WebCore::StorageTracker::setStorageDatabaseIdleInterval): set the timeout value that we will wait before closing the |
+ database. This is currently used by DumpRenderTree only. |
+ (StorageTracker): |
+ |
+2012-07-09 Joshua Bell <jsbell@chromium.org> |
+ |
+ IndexedDB: A null or undefined storeNames argument to IDBDatabase::transaction() should be coerced to string |
+ https://bugs.webkit.org/show_bug.cgi?id=90474 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Test: storage/indexeddb/transaction-basics.html |
+ |
+ * Modules/indexeddb/IDBDatabase.cpp: |
+ (WebCore::IDBDatabase::transaction): |
+ * Modules/indexeddb/IDBDatabase.idl: |
+ |
+2012-07-09 Joshua Bell <jsbell@chromium.org> |
+ |
+ IndexedDB: Remove obsolete accessor plumbing |
+ https://bugs.webkit.org/show_bug.cgi?id=90812 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ No new tests - just deleting code. |
+ |
+ * Modules/indexeddb/IDBTransaction.cpp: |
+ (WebCore::IDBTransaction::IDBTransaction): Since backend mode() is disconnected, can no |
+ longer assert that front-end/back-end modes match; not worth it to keeping the plumbing. |
+ |
+2012-07-09 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Remove HashMap workaround for layers with id=0 in CCDamageTracker |
+ https://bugs.webkit.org/show_bug.cgi?id=90825 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Layer ids are no longer allowed to be 0, and the behaviour is guarded |
+ with asserts, so this workaround is not needed any longer. |
+ |
+ * platform/graphics/chromium/cc/CCDamageTracker.h: |
+ (CCDamageTracker): |
+ |
+2012-07-09 Vincent Scheib <scheib@chromium.org> |
+ |
+ Pointer Lock requestPointerLock rejects locking an element not in a document. |
+ https://bugs.webkit.org/show_bug.cgi?id=90821 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Test: pointer-lock/lock-element-not-in-dom.html |
+ |
+ * page/PointerLockController.cpp: |
+ (WebCore::PointerLockController::requestPointerLock): |
+ |
+2012-07-09 Eric Seidel <eric@webkit.org> |
+ |
+ document.write of scripts that also document.write sometimes writes async |
+ https://bugs.webkit.org/show_bug.cgi?id=89102 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ When a script tag is first encountered, the TreeBuilder holds the element and returns |
+ out to the outer HTMLDocumentParser parse loop. The HTMLDocumentParser then takes |
+ the script element and passes it to the HTMLScriptRunner for execution. However, if the |
+ script is an "external script" the HTMLScriptRunner may have to wait for that parser |
+ blocking script to load, and may store the script in its own m_parserBlockingScript member. |
+ |
+ While the HTMLScriptRunner has this not-yet-loaded-script the parser is also blocked. |
+ Because the "paused" state of the parser was held as a separate bool on the TreeBuilder |
+ we'd have to be careful to update it to reflect the current state of this pending script |
+ on the HTMLScriptRunner. |
+ |
+ This patch removes this separate "paused" bool and makes the HTMLDocumentParser responsible |
+ for the "paused" state of the parser through the isWaitingForScripts() function which |
+ knows how to check both the TreeBuilder and the ScriptRunner for possible parser-blocking scripts. |
+ |
+ I suspect this change may actually fix a bunch of edge cases where we were not |
+ checking for the HTMLScriptRunner's parser blocking script and thus incorrectly ending |
+ the parser, or not starting the pre-load scanner, etc. |
+ |
+ As part of this change I also renamed m_haveParsingBlockingScript in HTMLScriptRunner to match |
+ the naming style used elsewhere in the parser, as well as removed all the "bool" return values |
+ for these parse/execute functions as they are no longer useful (or correct). The correct way |
+ is always to check HTMLDocumentParser::isWaitingForScripts(). |
+ |
+ Test: fast/parser/cached-script-document-write.html |
+ |
+ * html/parser/HTMLDocumentParser.cpp: |
+ (WebCore::HTMLDocumentParser::pumpTokenizerIfPossible): |
+ (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): |
+ (WebCore::HTMLDocumentParser::canTakeNextToken): |
+ (WebCore::HTMLDocumentParser::isWaitingForScripts): |
+ (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): |
+ (WebCore::HTMLDocumentParser::notifyFinished): |
+ (WebCore::HTMLDocumentParser::executeScriptsWaitingForStylesheets): |
+ * html/parser/HTMLScriptRunner.cpp: |
+ (WebCore::HTMLScriptRunner::~HTMLScriptRunner): |
+ (WebCore::HTMLScriptRunner::executeParsingBlockingScript): |
+ (WebCore::HTMLScriptRunner::execute): |
+ (WebCore::HTMLScriptRunner::hasParserBlockingScript): |
+ (WebCore::HTMLScriptRunner::executeParsingBlockingScripts): |
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad): |
+ (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing): |
+ (WebCore::HTMLScriptRunner::requestParsingBlockingScript): |
+ (WebCore::HTMLScriptRunner::runScript): |
+ * html/parser/HTMLScriptRunner.h: |
+ (HTMLScriptRunner): |
+ * html/parser/HTMLTreeBuilder.cpp: |
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): |
+ (WebCore::HTMLTreeBuilder::takeScriptToProcess): |
+ (WebCore::HTMLTreeBuilder::processEndTag): |
+ (WebCore::HTMLTreeBuilder::processTokenInForeignContent): |
+ * html/parser/HTMLTreeBuilder.h: |
+ (HTMLTreeBuilder): |
+ (WebCore::HTMLTreeBuilder::hasParserBlockingScript): |
+ |
+2012-07-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Microdata tests are flaky |
+ https://bugs.webkit.org/show_bug.cgi?id=90830 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ The bug was caused by SpaceSplitString's not copying on write properly. |
+ Even if there was exactly one owner of the SpaceSplitString, we should still not modify |
+ m_data since m_data is associated with a particular m_keyString in sharedDataMap(). |
+ |
+ The only situation in which we can safely modify m_data is when m_data's m_keyString is null |
+ meaning that it had been unique'ed. Furthermore, this optimization had not been used for |
+ class lists because class list's refCount is always zero as its ref and deref are forwarded |
+ to the associated Element's ref and deref. This fix re-enables the optimization for class lists. |
+ |
+ This behavior change is tested by existing microdata API tests. Without this patch, |
+ some tests such as properties-collection-add-remove-property.html fail on the first run |
+ when several tests were ran in the same WebKit instance. |
+ |
+ * dom/SpaceSplitString.h: |
+ (WebCore::SpaceSplitStringData::isUnique): |
+ (WebCore::SpaceSplitString::ensureUnique): |
+ |
+2012-07-09 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Decouple RenderPass drawing from CCRenderSurface |
+ https://bugs.webkit.org/show_bug.cgi?id=90573 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Removes the managed textures from CCRenderSurface and stores them in a |
+ HashMap in LayerRendererChromium. |
+ |
+ At the start of a frame, all textures for the frame are reserved, and |
+ unneeded textures are deleted. After each quad is drawn, evicted textures |
+ (ie temporary textures used for background filters) are deleted to keep |
+ within memory limits. At the end of the frame, all surface contents |
+ textures are kept reserved and thus not deleted. |
+ |
+ We add a numeric identifier to CCRenderPass which can be used to |
+ identify the pass across serialization in the future, and is used |
+ in the interface to LayerRendererChromium. Also we add to the |
+ CCRenderPass a contentsChangedSinceLastFrame() flag so that the |
+ value does not need to be retrieved from the CCRenderSurface. |
+ |
+ The pointer from CCRenderPass to CCRenderSurface remains for some |
+ code in the CCLayerTreeHostImpl, and will be addressed in the future, but |
+ the pointer is no longer used at all while drawing a frame inside |
+ LayerRendererChromium. |
+ |
+ Covered by existing tests, no intended change in behaviour. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::releaseRenderPassTextures): |
+ (WebCore::LayerRendererChromium::decideRenderPassAllocationsForFrame): |
+ (WebCore): |
+ (WebCore::LayerRendererChromium::haveCachedResourcesForRenderPassId): |
+ (WebCore::LayerRendererChromium::drawQuad): |
+ (WebCore::LayerRendererChromium::drawBackgroundFilters): |
+ (WebCore::LayerRendererChromium::drawRenderPassQuad): |
+ (WebCore::LayerRendererChromium::finishDrawingFrame): |
+ (WebCore::LayerRendererChromium::useRenderPass): |
+ (WebCore::LayerRendererChromium::initializeSharedObjects): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
+ (WebCore::CCLayerTreeHostImpl::removePassesWithCachedTextures): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
+ (CCLayerTreeHostImpl): |
+ * platform/graphics/chromium/cc/CCRenderPass.cpp: |
+ (WebCore::CCRenderPass::create): |
+ (WebCore::CCRenderPass::CCRenderPass): |
+ * platform/graphics/chromium/cc/CCRenderPass.h: |
+ (CCRenderPass): |
+ (WebCore::CCRenderPass::id): |
+ (WebCore::CCRenderPass::setFramebufferOutputRect): |
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp: |
+ (WebCore::CCRenderPassDrawQuad::create): |
+ (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad): |
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h: |
+ (CCRenderPassDrawQuad): |
+ (WebCore::CCRenderPassDrawQuad::renderPassId): |
+ (WebCore::CCRenderPassDrawQuad::contentsChangedSinceLastFrame): |
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
+ (WebCore::CCRenderSurface::appendQuads): |
+ * platform/graphics/chromium/cc/CCRenderSurface.h: |
+ (WebCore): |
+ (CCRenderSurface): |
+ * platform/graphics/chromium/cc/CCRenderer.h: |
+ (CCRenderer): |
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: |
+ (WebCore::CCTiledLayerImpl::pushTileProperties): |
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h: |
+ (CCTiledLayerImpl): |
+ |
+2012-07-09 Adam Klein <adamk@chromium.org> |
+ |
+ Rename WebCore::WebKitMutationObserver to WebCore::MutationObserver |
+ https://bugs.webkit.org/show_bug.cgi?id=90810 |
+ |
+ Reviewed by Ojan Vafai. |
+ |
+ This is in preparation for removing the vendor prefix from the |
+ MutationObserver constructor on Window (currently it's called |
+ WebKitMutationObserver). Doing the WebCore-internal rename first |
+ makes that change a much smaller one, which is especially useful |
+ because there's ongoing discussion of when the prefix should be |
+ removed from the web-facing API. |
+ |
+ * CMakeLists.txt: |
+ * DerivedSources.cpp: |
+ * DerivedSources.make: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * UseJSC.cmake: |
+ * UseV8.cmake: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/js/JSBindingsAllInOne.cpp: |
+ * bindings/js/JSMainThreadExecState.cpp: |
+ (WebCore::JSMainThreadExecState::didLeaveScriptContext): |
+ * bindings/js/JSMutationCallbackCustom.cpp: |
+ (WebCore::JSMutationCallback::handleEvent): |
+ * bindings/js/JSMutationObserverCustom.cpp: Renamed from Source/WebCore/bindings/js/JSWebKitMutationObserverCustom.cpp. |
+ (WebCore): |
+ (WebCore::JSMutationObserverConstructor::constructJSMutationObserver): |
+ * bindings/v8/V8RecursionScope.cpp: |
+ (WebCore::V8RecursionScope::didLeaveScriptContext): |
+ * bindings/v8/custom/V8MutationCallbackCustom.cpp: |
+ (WebCore::V8MutationCallback::handleEvent): |
+ * bindings/v8/custom/V8MutationObserverCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitMutationObserverCustom.cpp. |
+ (WebCore): |
+ (WebCore::V8MutationObserver::constructorCallback): |
+ * dom/CharacterData.cpp: |
+ * dom/ChildListMutationScope.h: |
+ (WebCore::ChildListMutationScope::ChildListMutationScope): |
+ * dom/DOMAllInOne.cpp: |
+ * dom/Document.h: |
+ (WebCore::Document::hasMutationObserversOfType): |
+ * dom/Element.cpp: |
+ * dom/MutationCallback.h: |
+ (WebCore): |
+ (MutationCallback): |
+ * dom/MutationCallback.idl: |
+ * dom/MutationObserver.cpp: Renamed from Source/WebCore/dom/WebKitMutationObserver.cpp. |
+ (WebCore): |
+ (WebCore::MutationObserver::ObserverLessThan::operator()): |
+ (WebCore::MutationObserver::create): |
+ (WebCore::MutationObserver::MutationObserver): |
+ (WebCore::MutationObserver::~MutationObserver): |
+ (WebCore::MutationObserver::validateOptions): |
+ (WebCore::MutationObserver::observe): |
+ (WebCore::MutationObserver::takeRecords): |
+ (WebCore::MutationObserver::disconnect): |
+ (WebCore::MutationObserver::observationStarted): |
+ (WebCore::MutationObserver::observationEnded): |
+ (WebCore::activeMutationObservers): |
+ (WebCore::MutationObserver::enqueueMutationRecord): |
+ (WebCore::MutationObserver::setHasTransientRegistration): |
+ (WebCore::MutationObserver::deliver): |
+ (WebCore::MutationObserver::deliverAllMutations): |
+ * dom/MutationObserver.h: Renamed from Source/WebCore/dom/WebKitMutationObserver.h. |
+ (WebCore): |
+ (MutationObserver): |
+ * dom/MutationObserver.idl: Renamed from Source/WebCore/dom/WebKitMutationObserver.idl. |
+ * dom/MutationObserverInterestGroup.cpp: |
+ (WebCore::MutationObserverInterestGroup::createIfNeeded): |
+ (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup): |
+ (WebCore::MutationObserverInterestGroup::isOldValueRequested): |
+ (WebCore::MutationObserverInterestGroup::enqueueMutationRecord): |
+ * dom/MutationObserverInterestGroup.h: |
+ (WebCore::MutationObserverInterestGroup::createForChildListMutation): |
+ (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation): |
+ (WebCore::MutationObserverInterestGroup::createForAttributesMutation): |
+ (MutationObserverInterestGroup): |
+ * dom/MutationObserverRegistration.cpp: |
+ (WebCore::MutationObserverRegistration::create): |
+ (WebCore::MutationObserverRegistration::MutationObserverRegistration): |
+ (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom): |
+ * dom/MutationObserverRegistration.h: |
+ (MutationObserverRegistration): |
+ (WebCore::MutationObserverRegistration::isSubtree): |
+ (WebCore::MutationObserverRegistration::observer): |
+ (WebCore::MutationObserverRegistration::deliveryOptions): |
+ (WebCore::MutationObserverRegistration::mutationTypes): |
+ * dom/Node.cpp: |
+ (WebCore::Node::collectMatchingObserversForMutation): |
+ (WebCore::Node::getRegisteredMutationObserversOfType): |
+ (WebCore::Node::registerMutationObserver): |
+ * dom/Node.h: |
+ (Node): |
+ * dom/NodeRareData.h: |
+ * page/DOMWindow.idl: |
+ |
+2012-07-09 Filip Pizlo <fpizlo@apple.com> |
+ |
+ Unreviewed, rolling out http://trac.webkit.org/changeset/122116 and http://trac.webkit.org/changeset/122119 |
+ |
+ * GNUmakefile.list.am: |
+ * PlatformBlackBerry.cmake: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * platform/graphics/GraphicsContext3D.h: |
+ (WebCore): |
+ * platform/graphics/OpenGLESShims.h: |
+ * platform/graphics/cairo/GraphicsContext3DCairo.cpp: |
+ (WebCore): |
+ * platform/graphics/clutter/GraphicsContext3DClutter.cpp: |
+ (WebCore): |
+ * platform/graphics/mac/GraphicsContext3DMac.mm: |
+ (WebCore): |
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
+ (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): |
+ (WebCore::Extensions3DOpenGL::supports): |
+ (WebCore): |
+ (WebCore::Extensions3DOpenGL::ensureEnabled): |
+ (WebCore::Extensions3DOpenGL::isEnabled): |
+ (WebCore::Extensions3DOpenGL::getGraphicsResetStatusARB): |
+ (WebCore::Extensions3DOpenGL::getTranslatedShaderSourceANGLE): |
+ (WebCore::Extensions3DOpenGL::copyTextureCHROMIUM): |
+ * platform/graphics/opengl/Extensions3DOpenGL.h: |
+ (Extensions3DOpenGL): |
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: |
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.h: |
+ * platform/graphics/opengl/Extensions3DOpenGLES.cpp: |
+ * platform/graphics/opengl/Extensions3DOpenGLES.h: |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ (WebCore): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
+ (WebCore::systemAllowsMultisamplingOnATICards): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::validateAttributes): |
+ (WebCore::GraphicsContext3D::compileShader): |
+ (WebCore::GraphicsContext3D::readPixels): |
+ (WebCore::GraphicsContext3D::releaseShaderCompiler): |
+ (WebCore::GraphicsContext3D::getExtensions): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
+ (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary): |
+ (WebCore::GraphicsContext3D::reshapeFBOs): |
+ (WebCore): |
+ * platform/graphics/qt/GraphicsContext3DQt.cpp: |
+ (WebCore): |
+ |
+2012-07-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Build fix after r122115 and some cleanups. |
+ |
+ * html/HTMLCollection.h: |
+ (HTMLCollection): |
+ * html/HTMLElement.cpp: |
+ (WebCore::HTMLElement::properties): |
+ * html/HTMLElement.h: |
+ (HTMLElement): |
+ * html/HTMLPropertiesCollection.cpp: |
+ (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection): |
+ * html/HTMLPropertiesCollection.h: |
+ (HTMLPropertiesCollection): |
+ |
+2012-07-09 Dean Jackson <dino@apple.com> |
+ |
+ Tiled drawing means some elements can disappear behind the page |
+ https://bugs.webkit.org/show_bug.cgi?id=88906 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ The compositing layers in the tile cache could become siblings |
+ of the compositing layers for page elements. This meant that in |
+ some 3d transforms, the elements could disappear behind the |
+ page background (which is rendered into the tile cache) or intersect |
+ with the tile cache tiles. |
+ |
+ Fix this by inserting a flattening layer between the tile cache |
+ and the page, ensuring that the cache will always be rendered |
+ first. I was able to reuse the clipping layer for this, because |
+ the tile cache is attached to the RenderView, so there should never |
+ be a case where we have both a clipping layer and tiles. |
+ |
+ The unfortunate part of this code is the temporary state variable |
+ that wraps the call to GraphicsLayer::create. Because that method |
+ calls back into the object, we need to make sure we don't create |
+ another tile cache. |
+ |
+ Also added some obvious names to the tile cache layers to |
+ help with debugging. |
+ |
+ Test: compositing/tile-cache-must-flatten.html |
+ |
+ * platform/graphics/ca/mac/TileCache.mm: |
+ (WebCore::TileCache::TileCache): give the tile host layer a name. |
+ (WebCore::TileCache::createTileLayer): |
+ * platform/graphics/ca/mac/WebTileCacheLayer.mm: |
+ (WebCore): give each tile layer a name. |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore): |
+ (WebCore::RenderLayerBacking::shouldUseTileCache): check if we're in the middle |
+ of creating the primary graphics layer before answering. |
+ (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): wrap our call to |
+ createGraphicsLayer with a message to indicate we are making the layer that should |
+ get a tile cache. |
+ (WebCore::RenderLayerBacking::destroyGraphicsLayers): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): needs to make |
+ sure the flattening layer is in the tree. |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
+ (WebCore::RenderLayerBacking::updateInternalHierarchy): |
+ (WebCore::RenderLayerBacking::updateClippingLayers): |
+ (WebCore::RenderLayerBacking::backingStoreMemoryEstimate): |
+ * rendering/RenderLayerBacking.h: rename m_clippingLayer to m_containmentLayer |
+ because it can now either be the clip or the tile cache flattener. Also |
+ a new state property used when creating the main graphics layer. |
+ (WebCore::RenderLayerBacking::hasClippingLayer): |
+ (WebCore::RenderLayerBacking::clippingLayer): |
+ (WebCore::RenderLayerBacking::parentForSublayers): |
+ (WebCore::RenderLayerBacking::hasTileCacheFlatteningLayer): |
+ (WebCore::RenderLayerBacking::tileCacheFlatteningLayer): |
+ (RenderLayerBacking): |
+ |
+2012-07-09 Christophe Dumez <christophe.dumez@intel.com> |
+ |
+ [EFL] Log significant Gamepad API-related events |
+ https://bugs.webkit.org/show_bug.cgi?id=90595 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ Log significant Gamepad API-related events in |
+ GamepadsEfl. |
+ |
+ No new tests, no behavior change. |
+ |
+ * platform/efl/GamepadsEfl.cpp: |
+ (WebCore::GamepadDeviceEfl::deviceFile): |
+ (GamepadDeviceEfl): |
+ (WebCore::GamepadDeviceEfl::GamepadDeviceEfl): |
+ (WebCore::GamepadDeviceEfl::readCallback): |
+ (WebCore::GamepadsEfl::registerDevice): |
+ (WebCore::GamepadsEfl::unregisterDevice): |
+ |
+2012-07-09 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Reduce the amount of flashing when falling into tiled layers |
+ https://bugs.webkit.org/show_bug.cgi?id=90808 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ Implement +prefetchedTiles so that CATiledLayer renders more |
+ tiles at a time, reducing the appearance of flashing. |
+ |
+ * platform/graphics/mac/WebTiledLayer.mm: |
+ (+[WebTiledLayer prefetchedTiles]): |
+ |
+2012-07-09 Leandro Gracia Gil <leandrogracia@chromium.org> |
+ |
+ SurroundingText should not advance character iterators if they are at end. |
+ https://bugs.webkit.org/show_bug.cgi?id=90560 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ CharacterIterator and BackwardsCharacterIterator try to advance their |
+ internal TextIterator without checking if they already are at end. |
+ This can cause crashes in TextIterator::advance. |
+ |
+ Test: platform/chromium/editing/surrounding-text/surrounding-text.html |
+ |
+ * editing/SurroundingText.cpp: |
+ (WebCore::SurroundingText::SurroundingText): |
+ (WebCore::SurroundingText::rangeFromContentOffsets): |
+ |
+2012-07-09 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> |
+ |
+ [EFL] [WK2] Ecore errors from ecore_evas_screen_geometry_get() |
+ https://bugs.webkit.org/show_bug.cgi?id=90609 |
+ |
+ Reviewed by Daniel Bates. |
+ |
+ Do not call ecore_evas_screen_geometry_get() if ecoreEvas is null. |
+ |
+ No new tests. This patch doesn't change behavior. |
+ |
+ * platform/efl/PlatformScreenEfl.cpp: |
+ (WebCore::screenRect): Early return if Evas is null. |
+ |
+2012-07-09 Alexandru Chiculita <achicu@adobe.com> |
+ |
+ [CSS Filters] Blur filter is not repainted correctly when applied on a parent of a fixed element |
+ https://bugs.webkit.org/show_bug.cgi?id=90087 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Added a new method, RenderLayer::hasAncestorWithFilterOutsets, to check that there's no filter with outsets (ie. blur) |
+ applied on top level fixed positioned elements, nor any of its parent layers. In the event of a blur filter we need to |
+ disable the fast scrolling optimization, otherwise the outsets of the filter will be carried around the page and |
+ repainting will not work correctly. |
+ |
+ Tests: css3/filters/blur-filter-page-scroll-parents.html |
+ css3/filters/blur-filter-page-scroll-self.html |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::scrollContentsFastPath): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore): |
+ (WebCore::RenderLayer::hasAncestorWithFilterOutsets): |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): |
+ |
+2012-07-09 Joshua Bell <jsbell@chromium.org> |
+ |
+ IndexedDB: Empty arrays shouldn't be valid key paths |
+ https://bugs.webkit.org/show_bug.cgi?id=90798 |
+ |
+ Reviewed by Tony Chang. |
+ |
+ Other IDB implementations already enforce this although it is not yet in |
+ the spec (see https://www.w3.org/Bugs/Public/show_bug.cgi?id=17657). If an |
+ empty array is passed as the key path arg to IDBDatabase.createObjectStore() |
+ or IDBObjectStore.createIndex(), a SYNTAX_ERR DOMException is now thrown. |
+ |
+ Test: storage/indexeddb/keypath-arrays.html |
+ storage/indexeddb/keypath-basics.html |
+ |
+ * Modules/indexeddb/IDBKeyPath.cpp: |
+ (WebCore::IDBKeyPath::isValid): Test for empty array. |
+ |
+2012-07-09 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Create render surfaces on main thread only for the current frame |
+ https://bugs.webkit.org/show_bug.cgi?id=89793 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Previously we would create render surfaces for animating layers |
+ in the main thread since these layers might have a surface on impl, |
+ in order to assist culling. This makes it very difficult to estimate |
+ how much texture memory is needed for RenderSurfaces on the main |
+ thread, in order to keep contents+surface memory below our limit. |
+ |
+ Here we stop doing this, and create RenderSurfaces on both threads |
+ under the same conditions, so main thread has surfaces only if the |
+ layers in its current frame demand them. While this may reduce |
+ paint culling within an animating subtree, this seems like an edge |
+ case and knowing the amount of surface memory needed for the frame |
+ is important. |
+ |
+ Animation tests in CCLayerTreeHostCommonTest used to verify that these |
+ layers got surfaces, so now no longer do. Creation of surfaces under |
+ other conditions is covered by other CCLayerTreeHostCommonTests. |
+ |
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
+ (WebCore::subtreeShouldRenderToSeparateSurface): |
+ |
+2012-07-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Mac build fix after r122116. |
+ |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ |
+2012-07-09 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ EFL build fix after r122115. |
+ |
+ * html/HTMLPropertiesCollection.cpp: |
+ (WebCore::HTMLPropertiesCollection::create): |
+ |
+2012-07-09 Joshua Netterfield <jnetterfield@rim.com> |
+ Make GC3D and E3D more maintainable for GLES platforms |
+ https://bugs.webkit.org/show_bug.cgi?id=90567 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ This patch cleans up code for WebGL on OpenGLES platforms which use |
+ GraphicsContext3DOpenGL* and Extensions3DOpenGL*. Although |
+ GraphicsContext3DOpenGL was already split into GraphicsContext3DOpenGL, |
+ GraphicsContext3DOpenGLCommon, and GraphicsContext3DOpenGLES, this patch |
+ is an attempt to refactor this code in a way that will help BlackBerry and |
+ other teams support WebGL on mobile platforms with as little use of |
+ "#IF USE(OPENGL_ES_2)" in common code as possible. Also included is the |
+ separation of Extensions3DOpenGL into Extensions3DOpenGLCommon, |
+ Extensions3DOpenGL, and Extensions3DOpenGLES as well as the introduction |
+ of OpenGLESShims. |
+ |
+ This patch is created in large part by Jonathan Feldstein. |
+ |
+ No new tests: no new behaviour. |
+ |
+ * PlatformBlackBerry.cmake: Recognize BlackBerry as OPENGL ES, add new files to build |
+ * Target.pri: Add new Extensions3DOpenGL* to WebGL builds |
+ * platform/graphics/GraphicsContext3D.h: Add validateDepthStencil, make systemAllowsMultisamplingOnATICards a a member function. |
+ (WebCore): |
+ * platform/graphics/OpenGLESShims.h: Added. |
+ * platform/graphics/opengl/Extensions3DOpenGL.cpp: Move code to Extensions3DOpenGLCommon where possible |
+ (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Reflect that it is now inherits Extensions3DCommon |
+ (WebCore::Extensions3DOpenGL::supportsExtension): Contains OpenGL specific code from supports |
+ (WebCore): |
+ (WebCore::Extensions3DOpenGL::getExtensions): Returns a list of extensions |
+ * platform/graphics/opengl/Extensions3DOpenGL.h: Remove functions now in Extensions3DOpenGLCommon |
+ (WebCore): |
+ (Extensions3DOpenGL): |
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: Added. |
+ (WebCore): |
+ (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon): |
+ (WebCore::Extensions3DOpenGLCommon::~Extensions3DOpenGLCommon): |
+ (WebCore::Extensions3DOpenGLCommon::supports): |
+ (WebCore::Extensions3DOpenGLCommon::ensureEnabled): |
+ (WebCore::Extensions3DOpenGLCommon::isEnabled): |
+ (WebCore::Extensions3DOpenGLCommon::getGraphicsResetStatusARB): |
+ (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Existed before, but did nothing. Now does what is says it does. |
+ (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions): Moved from Extensions3DOpenGL::supports |
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h. |
+ (WebCore): |
+ (Extensions3DOpenGLCommon): |
+ * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Added. |
+ (WebCore): |
+ (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES): |
+ (WebCore::Extensions3DOpenGLES::~Extensions3DOpenGLES): |
+ (WebCore::Extensions3DOpenGLES::framebufferTexture2DMultisampleIMG): |
+ (WebCore::Extensions3DOpenGLES::renderbufferStorageMultisampleIMG): |
+ (WebCore::Extensions3DOpenGLES::createVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::deleteVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::isVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::bindVertexArrayOES): |
+ (WebCore::Extensions3DOpenGLES::supportsExtension): Contains OpenGLES specific code from supports |
+ (WebCore::Extensions3DOpenGLES::getExtensions): |
+ * platform/graphics/opengl/Extensions3DOpenGLES.h: Copied from Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.h. |
+ (WebCore): |
+ (Extensions3DOpenGLES): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ (WebCore::GraphicsContext3D::validateAttributes): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::renderbufferStorage): |
+ (WebCore::GraphicsContext3D::texImage2D): |
+ (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function. |
+ (WebCore::GraphicsContext3D::getExtensions): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
+ (WebCore::GraphicsContext3D::validateDepthStencil): |
+ (WebCore::GraphicsContext3D::clear): |
+ (WebCore::GraphicsContext3D::isTexture): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::lineWidth): |
+ (WebCore::GraphicsContext3D::linkProgram): |
+ (WebCore::GraphicsContext3D::pixelStorei): |
+ (WebCore::GraphicsContext3D::polygonOffset): |
+ (WebCore::GraphicsContext3D::readPixels): |
+ (WebCore::GraphicsContext3D::deleteBuffer): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
+ (WebCore::GraphicsContext3D::releaseShaderCompiler): |
+ (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary): |
+ (WebCore::GraphicsContext3D::validateAttributes): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::getExtensions): |
+ (WebCore::GraphicsContext3D::systemAllowsMultisamplingOnATICards): Now a member function. |
+ * platform/graphics/qt/GraphicsContext3DQt.cpp: |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::releaseShaderCompiler): |
+ |
+2012-07-02 Ryosuke Niwa <rniwa@webkit.org> |
+ |
+ Make HTMLCollection RefCounted |
+ https://bugs.webkit.org/show_bug.cgi?id=90414 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ Make HTMLCollection ref counted and stop forwarding ref and deref to its owner (m_base) |
+ so as to align its life time management to that of DynamicNodeList. |
+ |
+ After this patch, each HTMLCollection is owned by JSC/V8 and m_cachedCollections in ElementRareData |
+ and m_collection in Document merely hold raw pointers for the caching purpose. These raw pointers |
+ are cleared when each HTMLCollection is destructed via corresponding removeCachedHTMLCollection's. |
+ |
+ In the destructor of HTMLCollection, we use the CollectionType to decide whether base() is an element |
+ or an document, and call the appropriate removeCachedHTMLCollection except for WindowNamedItems and |
+ DocumentNamedItems. For those two types, we need to know the atomic string name associated with |
+ the collection just like many DynamicNodeList to remove the cache, so we let HTMLNameCollection |
+ directly call removeWindowNamedItemCache and removeDocumentNamedItemCache. We'll cleanup this mess in |
+ a follow up patch using a nice class hierarchy and virtual destructors. |
+ |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::getDocumentLinks): |
+ * bindings/js/JSDOMWindowCustom.cpp: |
+ (WebCore::namedItemGetter): |
+ * bindings/js/JSHTMLDocumentCustom.cpp: |
+ (WebCore::JSHTMLDocument::nameGetter): |
+ * bindings/v8/custom/V8DOMWindowCustom.cpp: |
+ (WebCore::V8DOMWindow::namedPropertyGetter): |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ (WebCore::Document::openSearchDescriptionURL): |
+ (WebCore): |
+ (WebCore::Document::cachedCollection): |
+ (WebCore::Document::removeCachedHTMLCollection): |
+ (WebCore::Document::images): |
+ (WebCore::Document::applets): |
+ (WebCore::Document::embeds): |
+ (WebCore::Document::plugins): |
+ (WebCore::Document::objects): |
+ (WebCore::Document::scripts): |
+ (WebCore::Document::links): |
+ (WebCore::Document::forms): |
+ (WebCore::Document::anchors): |
+ (WebCore::Document::all): |
+ (WebCore::Document::windowNamedItems): |
+ (WebCore::Document::documentNamedItems): |
+ (WebCore::Document::removeWindowNamedItemCache): |
+ (WebCore::Document::removeDocumentNamedItemCache): |
+ * dom/Document.h: |
+ (Document): |
+ * dom/Element.cpp: |
+ (WebCore::Element::ensureCachedHTMLCollection): |
+ (WebCore::ElementRareData::ensureCachedHTMLCollection): |
+ (WebCore::Element::removeCachedHTMLCollection): |
+ (WebCore): |
+ * dom/Element.h: |
+ (Element): |
+ * dom/ElementRareData.h: |
+ (ElementRareData): |
+ (WebCore::ElementRareData::cachedHTMLCollection): |
+ (WebCore::ElementRareData::removeCachedHTMLCollection): |
+ * html/CollectionType.h: |
+ (WebCore): Since WindowNamedItems is not a part of UnnamedDocumentCachedType, we shouldn't addd 1. |
+ (WebCore::isUnnamedDocumentCachedType): |
+ (WebCore::isNodeCollectionType): |
+ * html/HTMLAllCollection.cpp: |
+ (WebCore::HTMLAllCollection::create): |
+ * html/HTMLAllCollection.h: |
+ (HTMLAllCollection): |
+ * html/HTMLCollection.cpp: |
+ (WebCore::HTMLCollection::create): |
+ (WebCore::HTMLCollection::~HTMLCollection): |
+ (WebCore::HTMLCollection::itemAfter): |
+ * html/HTMLCollection.h: |
+ (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase): |
+ (HTMLCollection): |
+ (WebCore::HTMLCollection::base): |
+ * html/HTMLDataListElement.cpp: |
+ (WebCore::HTMLDataListElement::options): |
+ * html/HTMLDataListElement.h: |
+ (HTMLDataListElement): |
+ * html/HTMLElement.cpp: |
+ (WebCore::HTMLElement::children): |
+ (WebCore::HTMLElement::properties): |
+ * html/HTMLElement.h: |
+ (HTMLElement): |
+ * html/HTMLFieldSetElement.cpp: |
+ (WebCore::HTMLFieldSetElement::elements): |
+ * html/HTMLFieldSetElement.h: |
+ (HTMLFieldSetElement): |
+ * html/HTMLFormCollection.cpp: |
+ (WebCore::HTMLFormCollection::create): |
+ * html/HTMLFormCollection.h: |
+ (HTMLFormCollection): |
+ * html/HTMLFormElement.cpp: |
+ (WebCore::HTMLFormElement::elements): |
+ * html/HTMLFormElement.h: |
+ (HTMLFormElement): |
+ * html/HTMLMapElement.cpp: |
+ (WebCore::HTMLMapElement::imageElement): |
+ (WebCore::HTMLMapElement::areas): |
+ * html/HTMLMapElement.h: |
+ (HTMLMapElement): |
+ * html/HTMLNameCollection.cpp: |
+ (WebCore::HTMLNameCollection::HTMLNameCollection): |
+ (WebCore::HTMLNameCollection::~HTMLNameCollection): |
+ (WebCore): |
+ * html/HTMLNameCollection.h: |
+ (WebCore::HTMLNameCollection::create): |
+ (HTMLNameCollection): |
+ * html/HTMLOptionsCollection.cpp: |
+ (WebCore::HTMLOptionsCollection::create): |
+ * html/HTMLOptionsCollection.h: |
+ (HTMLOptionsCollection): |
+ * html/HTMLPropertiesCollection.h: |
+ (HTMLPropertiesCollection): |
+ * html/HTMLSelectElement.cpp: |
+ (WebCore::HTMLSelectElement::selectedOptions): |
+ (WebCore::HTMLSelectElement::options): |
+ * html/HTMLSelectElement.h: |
+ (HTMLSelectElement): |
+ * html/HTMLTableElement.cpp: |
+ (WebCore::HTMLTableElement::rows): |
+ (WebCore::HTMLTableElement::tBodies): |
+ * html/HTMLTableElement.h: |
+ (HTMLTableElement): |
+ * html/HTMLTableRowElement.cpp: |
+ (WebCore::HTMLTableRowElement::insertCell): |
+ (WebCore::HTMLTableRowElement::deleteCell): |
+ (WebCore::HTMLTableRowElement::cells): |
+ * html/HTMLTableRowElement.h: |
+ (HTMLTableRowElement): |
+ * html/HTMLTableRowsCollection.cpp: |
+ (WebCore::HTMLTableRowsCollection::create): |
+ * html/HTMLTableRowsCollection.h: |
+ (HTMLTableRowsCollection): |
+ * html/HTMLTableSectionElement.cpp: |
+ (WebCore::HTMLTableSectionElement::insertRow): |
+ (WebCore::HTMLTableSectionElement::deleteRow): |
+ (WebCore::HTMLTableSectionElement::rows): |
+ * html/HTMLTableSectionElement.h: |
+ (HTMLTableSectionElement): |
+ |
+2012-07-09 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: unindent line ending block upon { hit. |
+ https://bugs.webkit.org/show_bug.cgi?id=90795 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Added block-start / block-end markup into the highlighter. |
+ |
+ * inspector/front-end/SourceCSSTokenizer.js: |
+ (WebInspector.SourceCSSTokenizer.prototype.nextToken): |
+ * inspector/front-end/SourceCSSTokenizer.re2js: |
+ * inspector/front-end/SourceJavaScriptTokenizer.js: |
+ (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken): |
+ * inspector/front-end/SourceJavaScriptTokenizer.re2js: |
+ * inspector/front-end/TextEditor.js: |
+ (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): |
+ (WebInspector.TextEditorMainPanel.prototype._unindentAfterBlock): |
+ |
+2012-07-09 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r122107. |
+ http://trac.webkit.org/changeset/122107 |
+ https://bugs.webkit.org/show_bug.cgi?id=90794 |
+ |
+ Build failure on Mac debug bots (Requested by falken_ on |
+ #webkit). |
+ |
+ * CMakeLists.txt: |
+ * Configurations/FeatureDefines.xcconfig: |
+ * DerivedSources.cpp: |
+ * DerivedSources.make: |
+ * DerivedSources.pri: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore): |
+ * bindings/generic/RuntimeEnabledFeatures.h: |
+ (RuntimeEnabledFeatures): |
+ * dom/ContextFeatures.cpp: |
+ * dom/ContextFeatures.h: |
+ * html/HTMLDialogElement.cpp: Removed. |
+ * html/HTMLDialogElement.h: Removed. |
+ * html/HTMLDialogElement.idl: Removed. |
+ * html/HTMLElementsAllInOne.cpp: |
+ * html/HTMLTagNames.in: |
+ * page/DOMWindow.idl: |
+ |
+2012-07-09 Andrei Onea <onea@adobe.com> |
+ |
+ [CSSRegions] Rename NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent |
+ https://bugs.webkit.org/show_bug.cgi?id=90759 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Renamed NamedFlow::getRegionsByContentNode to NamedFlow::getRegionsByContent as per CSS Regions spec: |
+ http://www.w3.org/TR/css3-regions/#dom-named-flow |
+ |
+ Tests: fast/regions/get-regions-by-content-horiz-bt.html |
+ fast/regions/get-regions-by-content-horiz-tb.html |
+ fast/regions/get-regions-by-content-vert-lr.html |
+ fast/regions/get-regions-by-content-vert-rl.html |
+ fast/regions/get-regions-by-content.html |
+ fast/regions/get-regions-by-content2.html |
+ |
+ * dom/WebKitNamedFlow.cpp: |
+ (WebCore::WebKitNamedFlow::getRegionsByContent): |
+ * dom/WebKitNamedFlow.h: |
+ (WebKitNamedFlow): |
+ * dom/WebKitNamedFlow.idl: |
+ |
+2012-07-09 Matt Falkenhagen <falken@chromium.org> |
+ |
+ Add ENABLE_DIALOG_ELEMENT and skeleton files |
+ https://bugs.webkit.org/show_bug.cgi?id=90521 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This adds the ENABLE_DIALOG_ELEMENT feature flag and dummy implementation files for <dialog>. In addition, a runtime feature flag is added. |
+ The feature is diabled by default. |
+ |
+ No new tests, as there is no behavior change. |
+ |
+ * CMakeLists.txt: |
+ * Configurations/FeatureDefines.xcconfig: |
+ * DerivedSources.cpp: |
+ * DerivedSources.make: |
+ * DerivedSources.pri: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore): |
+ * bindings/generic/RuntimeEnabledFeatures.h: Added a runtime feature flag for dialog. |
+ (RuntimeEnabledFeatures): |
+ (WebCore::RuntimeEnabledFeatures::dialogElementEnabled): |
+ (WebCore::RuntimeEnabledFeatures::setDialogElementEnabled): |
+ * dom/ContextFeatures.cpp: |
+ (WebCore::ContextFeatures::dialogElementEnabled): |
+ (WebCore): |
+ * dom/ContextFeatures.h: Added a per-context flag for dialog so that dialog can be disabled in HTMLTagNames.in and DOMWindow.idl when the dialog runtime feature flag is off. |
+ * html/HTMLDialogElement.cpp: Added. |
+ (WebCore): |
+ (WebCore::HTMLDialogElement::HTMLDialogElement): |
+ (WebCore::HTMLDialogElement::create): |
+ (WebCore::HTMLDialogElement::close): |
+ (WebCore::HTMLDialogElement::show): |
+ * html/HTMLDialogElement.h: Added. |
+ (WebCore): |
+ (HTMLDialogElement): |
+ * html/HTMLDialogElement.idl: Added. |
+ * html/HTMLElementsAllInOne.cpp: |
+ * html/HTMLTagNames.in: |
+ * page/DOMWindow.idl: |
+ |
+2012-07-09 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: inspector does not reflect newly created text nodes from contenteditable |
+ https://bugs.webkit.org/show_bug.cgi?id=90779 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ We need to report first text node as inserted, otherwise we fail to report character data modified on it. |
+ |
+ * inspector/InspectorDOMAgent.cpp: |
+ (WebCore::InspectorDOMAgent::characterDataModified): |
+ |
+2012-07-09 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ REGRESSION(r121980) Layout Test inspector/timeline/timeline-frames.html started to crash. |
+ https://bugs.webkit.org/show_bug.cgi?id=90747 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ - consider didCancelFrame() call normal if there is no pending frame, remove assertion; |
+ - always set empty data object for frame records; |
+ |
+ * inspector/InspectorTimelineAgent.cpp: |
+ (WebCore::InspectorTimelineAgent::didCancelFrame): |
+ (WebCore::InspectorTimelineAgent::commitFrameRecord): |
+ |
+2012-07-09 Taiju Tsuiki <tzik@chromium.org> |
+ |
+ Web Inspector: Add FileContentView for FileSystemView |
+ https://bugs.webkit.org/show_bug.cgi?id=90529 |
+ |
+ Adding FileContentView to Inspector. |
+ This class provides preview of text files in FileSystem. |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/FileContentView.js: Added. |
+ * inspector/front-end/FileSystemView.js: |
+ (WebInspector.FileSystemView.prototype.get visibleView): |
+ (WebInspector.FileSystemView.EntryTreeElement.prototype.onselect): |
+ (WebInspector.FileSystemView.EntryTreeElement.prototype._directoryContentReceived): |
+ (WebInspector.FileSystemView.EntryTreeElement.prototype.refresh): |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ |
+2012-07-09 Carlos Garcia Campos <cgarcia@igalia.com> |
+ |
+ [SOUP] Use soup_cookie_jar_is_persistent() to set whether cookie is a session one or not |
+ https://bugs.webkit.org/show_bug.cgi?id=90769 |
+ |
+ Reviewed by Gustavo Noronha Silva. |
+ |
+ It's currently set to false, because there were no API to know |
+ whether cookies were persistent or not. Now that we bumped libsoup |
+ requirements, we can use soup_cookie_jar_is_persistent(). |
+ |
+ * platform/network/soup/CookieJarSoup.cpp: |
+ (WebCore::getRawCookies): |
+ |
+2012-07-09 Taiju Tsuiki <tzik@chromium.org> |
+ |
+ Web Inspector: Add text file support for FileSystemAgent::requestFileContent |
+ https://bugs.webkit.org/show_bug.cgi?id=90439 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ * inspector/Inspector.json: |
+ * inspector/InspectorFileSystemAgent.cpp: |
+ (WebCore): |
+ (WebCore::InspectorFileSystemAgent::requestFileContent): |
+ * inspector/InspectorFileSystemAgent.h: |
+ (InspectorFileSystemAgent): |
+ * inspector/front-end/FileSystemModel.js: |
+ (WebInspector.FileSystemModel.prototype.requestFileContent): |
+ (WebInspector.FileSystemModel.File.prototype.requestFileContent): |
+ (WebInspector.FileSystemRequestManager.prototype._fileContentReceived): |
+ (WebInspector.FileSystemDispatcher.prototype.fileContentReceived): |
+ |
+2012-07-09 MORITA Hajime <morrita@google.com> |
+ |
+ [Chromium] ContextFeaturesClient::isEnabled is slow |
+ https://bugs.webkit.org/show_bug.cgi?id=90367 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ * dom/ContextFeatures.h: |
+ (WebCore::ContextFeaturesClient::urlDidChange): Added. |
+ (WebCore::ContextFeatures::urlDidChange): Added. |
+ (WebCore): |
+ * dom/Document.cpp: |
+ (WebCore::Document::setURL): Added an urlDidChange() call. |
+ |
+2012-07-09 Andrei Onea <onea@adobe.com> |
+ |
+ [CSSRegions] Implement NamedFlow::firstEmptyRegionIndex attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=90608 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Implemented NamedFlow::firstEmptyRegionIndex as per spec: http://www.w3.org/TR/css3-regions/#dom-named-flow |
+ |
+ Test: fast/regions/webkit-named-flow-first-empty-region-index.html |
+ |
+ * dom/WebKitNamedFlow.cpp: |
+ (WebCore::WebKitNamedFlow::firstEmptyRegionIndex): |
+ (WebCore): |
+ * dom/WebKitNamedFlow.h: |
+ (WebKitNamedFlow): |
+ * dom/WebKitNamedFlow.idl: |
+ |
+2012-07-08 Yoshifumi Inoue <yosin@chromium.org> |
+ |
+ [Platform-Mac] Derive LocaleMac.{cpp,h} and LocalizedDateMac.cpp from LocaleWin |
+ https://bugs.webkit.org/show_bug.cgi?id=90752 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ This patch is preparation of introducing LocaleMac class for localize date form. |
+ This patch copies LocaleWin and LocalizedDateWin.cpp as below: |
+ - LocaleMac.h from LocaleWin.h |
+ - LocaleMac.mm from LocaliedDateMac.mm |
+ - LocaliedDateMac.cpp from LocalizedDateWin.cpp |
+ |
+ Due by git, diffs are appeared as new thing. I'll do svn copy at landing time. |
+ |
+ No new tests. This patch doesn't change behavior. |
+ |
+ * platform/text/mac/LocaleMac.h: Copied from platform/text/LocaleWin.h |
+ * platform/text/mac/LocaleMac.mm: Copied from platform/text/mac/LocalizedDateMac.mm |
+ * platform/text/mac/LocalizedDateMac.cpp: Copied from platform/text/LocalizedDateWin.cpp |
+ |
+2012-07-08 Laszlo Gombos <laszlo.1.gombos@nokia.com> |
+ |
+ Introduce a build flag for low quality JPEG images |
+ https://bugs.webkit.org/show_bug.cgi?id=90748 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Introduce build options for no JPEG dithering (USE(LOW_QUALITY_IMAGE_NO_JPEG_DITHERING)) |
+ and no JPEG fancy upsampling (USE(LOW_QUALITY_IMAGE_NO_JPEG_FANCY_UPSAMPLING)). |
+ |
+ No new tests as there is no change in functionality. |
+ |
+ * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
+ (ditherMode): |
+ (doFancyUpsampling): |
+ |
+2012-07-08 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r121968. |
+ http://trac.webkit.org/changeset/121968 |
+ https://bugs.webkit.org/show_bug.cgi?id=90749 |
+ |
+ Caused a link error on chromium Win dbg. (Requested by hayato |
+ on #webkit). |
+ |
+ * inspector/InspectorMemoryAgent.cpp: |
+ (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
+ * inspector/front-end/NativeMemorySnapshotView.js: |
+ (WebInspector.MemoryBlockViewProperties._initialize): |
+ * platform/MemoryUsageSupport.cpp: |
+ * platform/MemoryUsageSupport.h: |
+ (MemoryUsageSupport): |
+ * platform/chromium/MemoryUsageSupportChromium.cpp: |
+ |
+2012-07-08 Mary Wu <mary.wu@torchmobile.com.cn> |
+ |
+ [BlackBerry] Make setForceDownload a setter method. |
+ https://bugs.webkit.org/show_bug.cgi?id=90591 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ * platform/network/blackberry/ResourceRequest.h: |
+ (WebCore::ResourceRequest::setForceDownload): |
+ |
2012-07-05 MORITA Hajime <morrita@google.com> |
Heap-use-after-free in WebCore::RenderObject::destroyAndCleanupAnonymousWrappers |