Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 114962) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,5 +1,3184 @@ |
+2012-04-17 John Bauman <jbauman@chromium.org> |
+ |
+ [chromium] Ensure RateLimiter waits for Swapbuffers completion |
+ https://bugs.webkit.org/show_bug.cgi?id=83649 |
+ |
+ Reviewed by James Robinson. |
+ |
+ We were waiting only on the canvas context, which with the new GPU |
+ scheduling was causing the RateLimiter not to ratelimit enough. We |
+ need to insert no-op commands in the compositor context, so that we'll |
+ wait for the canvas context and SwapBuffers as well. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::doNoOp): |
+ (WebCore): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/RateLimiter.cpp: |
+ (WebCore::RateLimiter::create): |
+ (WebCore::RateLimiter::RateLimiter): |
+ (WebCore::RateLimiter::rateLimitContext): |
+ * platform/graphics/chromium/RateLimiter.h: |
+ (RateLimiterClient): |
+ (WebCore): |
+ (RateLimiter): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::startRateLimiter): |
+ (WebCore::CCLayerTreeHost::rateLimit): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (CCLayerTreeHost): |
+ * platform/graphics/chromium/cc/CCProxy.h: |
+ (CCProxy): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
+ (WebCore::CCSingleThreadProxy::forceNoOpCommand): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
+ (CCSingleThreadProxy): |
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
+ (WebCore::CCThreadProxy::forceNoOpCommand): |
+ (WebCore): |
+ (WebCore::CCThreadProxy::forceNoOpCommandOnImplThread): |
+ * platform/graphics/chromium/cc/CCThreadProxy.h: |
+ (CCThreadProxy): |
+ |
+2012-04-17 Andreas Kling <kling@webkit.org> |
+ |
+ CSSValuePool: Made identifier value cache a fixed-size array. |
+ <http://webkit.org/b/84219> |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Change the identifier CSSPrimitiveValue cache in CSSValuePool from a HashMap to a |
+ fixed-size array of RefPtr<CSSPrimitiveValue>s. |
+ |
+ We have ~700 values total, so this is quite space efficient now that the CSSValuePool |
+ is globally shared. More importantly it avoids a hash lookup every time we need an |
+ identifier value. |
+ |
+ * css/CSSValuePool.h: |
+ * css/CSSValuePool.cpp: |
+ (WebCore::CSSValuePool::createIdentifierValue): |
+ |
+2012-04-17 Antoine Labour <piman@chromium.org> |
+ |
+ [Chromium] Clean up texture ids on the impl side when losing the context |
+ https://bugs.webkit.org/show_bug.cgi?id=84122 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Tested by CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext. |
+ |
+ * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: |
+ (WebCore::CCTextureLayerImpl::didLoseContext): |
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: |
+ (WebCore::CCTiledLayerImpl::didLoseContext): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h: |
+ (CCTiledLayerImpl): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
+ (WebCore::CCVideoLayerImpl::didLoseContext): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
+ (CCVideoLayerImpl): |
+ |
+2012-04-17 Emil A Eklund <eae@chromium.org> |
+ |
+ Change RenderThemeChromiumSkia paint methods to use pixel snapping |
+ https://bugs.webkit.org/show_bug.cgi?id=84175 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ No new tests, no change in functionality. |
+ |
+ Change RenderThemeChromiumSkia to use subpixel types and pixel snap |
+ values just before painting. |
+ |
+ * rendering/RenderThemeChromiumSkia.cpp: |
+ (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): |
+ (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): |
+ (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): |
+ (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): |
+ * rendering/RenderThemeChromiumSkia.h: |
+ |
+ 2012-04-17 Levi Weintraub <leviw@chromium.org> |
+ |
+ Clean up outstanding LayoutUnit misuse in WebCore |
+ https://bugs.webkit.org/show_bug.cgi?id=84209 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Small changes to a handful of files to prepare trunk for FractionalLayoutUnits. |
+ For more details, see https://trac.webkit.org/wiki/LayoutUnit |
+ |
+ No new tests. No change in behavior. |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): minimumValueForLength preserves |
+ sub-pixel precision, so we should avoid unnecessarily using integers. |
+ * platform/graphics/FractionalLayoutPoint.h: |
+ (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): Adding an explicit constructor from |
+ FractionalLayoutSizes. This mirrors a method in IntPoint. |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::RenderBoxModelObject::paintBorder): The rects that change come from roundedRects, |
+ which are already pixel-snapped. |
+ * rendering/RenderBoxModelObject.h: Removing a comment that is no longer applicable. |
+ * rendering/RenderTable.cpp: |
+ (WebCore::RenderTable::computeLogicalWidth): Since we layout tables using integers, we |
+ need to explicitly calculate the width to be integral as well to avoid pushing the next element |
+ over by a pixel that we won't later paint with our own box decorations. |
+ * rendering/RenderText.h: |
+ (RenderText): Correcting an unfortunate mismatch between in the return value of linesBoundingBox |
+ between the header and implementation. |
+ * rendering/style/RenderStyle.cpp: |
+ (WebCore::RenderStyle::getRoundedBorderFor): We were incorrectly not using the snapped border |
+ rect to pass to calcRadiiFor (which takes an IntRect). Correcting this. |
+ |
+2012-04-17 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Ensure CSSParser member variables are initialized. |
+ https://bugs.webkit.org/show_bug.cgi?id=84205 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ No new tests / code cleanup only. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::CSSParser): |
+ |
+2012-04-16 Alexandru Chiculita <achicu@adobe.com> |
+ |
+ Regression(114172): Use after free in CustomFilterProgram::notifyClients |
+ https://bugs.webkit.org/show_bug.cgi?id=84000 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ The function returned early and the shaders didn't have a chance to be saved. Moving |
+ those two lines before the return false just to make sure that FilterEffectRenderer never adds |
+ itself as a client for a shader without keeping track of that. |
+ |
+ No new tests. The problem reproduces with existing tests. |
+ css3/filters/custom/custom-filter-property-computed-style.html |
+ css3/filters/custom/effect-custom-combined-missing.html |
+ |
+ * rendering/FilterEffectRenderer.cpp: |
+ (WebCore::FilterEffectRenderer::build): |
+ |
+2012-04-17 Alec Flett <alecflett@chromium.org> |
+ |
+ IndexedDB chooses wrong record on PREV_NO_DUPLICATE index cursor |
+ https://bugs.webkit.org/show_bug.cgi?id=60746 |
+ |
+ Reviewed by Ojan Vafai. |
+ |
+ When iterating backwards with PREV_NO_DUPLICATE, keep walking past |
+ the 'prev' key until it changes, then walk forward one time. This |
+ covers the object store and index cases. |
+ |
+ Test: storage/indexeddb/mozilla/index-prev-no-duplicate.html |
+ |
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp: |
+ (WebCore): |
+ |
+2012-04-17 Yi Shen <yi.4.shen@nokia.com> |
+ |
+ Caret is not rendered properly inside an input element with text-indent |
+ https://bugs.webkit.org/show_bug.cgi?id=82688 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ For an empty input element, there is no RenderText. Instead, RenderBlock::localCaretRect provides |
+ the caret position for rendering the caret in the empty input element. To get correct caret rect, |
+ textIndentOffset() should be used to adjust the caret's position. |
+ |
+ Test: editing/style/text-indent.html |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::localCaretRect): |
+ |
+2012-04-17 Filip Pizlo <fpizlo@apple.com> |
+ |
+ It should be possible to create an inheritorID for the global this object without crashing |
+ https://bugs.webkit.org/show_bug.cgi?id=84200 |
+ <rdar://problem/11251082> |
+ |
+ Reviewed by Oliver Hunt. |
+ |
+ No new tests, because the circumstances necessary to make this happen are rather hairy. |
+ |
+ * bindings/js/JSDOMWindowShell.h: |
+ (WebCore::JSDOMWindowShell::window): |
+ (WebCore::JSDOMWindowShell::setWindow): |
+ |
+2012-04-17 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Make CSSParser::parseValue()'s handling of CSSPropertyCursor more obviously correct. |
+ https://bugs.webkit.org/show_bug.cgi?id=83544 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ No new tests / code cleanup only. |
+ |
+ The code as it stands appears to be correct, but static analysis was concerned that value could become null. |
+ This patch adds a null check and ASSERT_NOT_REACHED() to make the code more obviously correct. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseValue): |
+ |
+2012-04-17 David Reveman <reveman@chromium.org> |
+ |
+ [Chromium] Add TextureUploader which allows us to use persistent GC3D state for texture uploads. |
+ https://bugs.webkit.org/show_bug.cgi?id=83972 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add TextureUploader class that allows us to add persistent GC3D state to the upload machinery. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::initializeSharedObjects): |
+ (WebCore::LayerRendererChromium::cleanupSharedObjects): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (WebCore::LayerRendererChromium::textureUploader): |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/TextureUploader.cpp: Added. |
+ (WebCore): |
+ (WebCore::AcceleratedTextureUploader::AcceleratedTextureUploader): |
+ (WebCore::AcceleratedTextureUploader::~AcceleratedTextureUploader): |
+ (WebCore::AcceleratedTextureUploader::uploadTexture): |
+ * platform/graphics/chromium/TextureUploader.h: Added. |
+ (WebCore): |
+ (TextureUploader): |
+ (WebCore::TextureUploader::~TextureUploader): |
+ (AcceleratedTextureUploader): |
+ (WebCore::AcceleratedTextureUploader::create): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
+ (WebCore::CCSingleThreadProxy::doCommit): |
+ * platform/graphics/chromium/cc/CCTextureUpdater.cpp: |
+ (WebCore::CCTextureUpdater::update): |
+ * platform/graphics/chromium/cc/CCTextureUpdater.h: |
+ (WebCore): |
+ (CCTextureUpdater): |
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
+ (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources): |
+ |
+2012-04-17 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Clean up CSSParser::parseFillRepeat(). |
+ https://bugs.webkit.org/show_bug.cgi?id=83547 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Removed multiple unnecessary calls to m_valueList->current(). |
+ Restructured logic for parsing second value to make it clearer. |
+ |
+ No new tests / code cleanup only. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseFillRepeat): |
+ |
+2012-04-17 Kentaro Hara <haraken@chromium.org> |
+ |
+ [V8] Pass Isolate to toV8Slow() |
+ https://bugs.webkit.org/show_bug.cgi?id=84173 |
+ |
+ Reviewed by Nate Chapin. |
+ |
+ The final objective is to pass Isolate around in V8 bindings. |
+ This patch passes the Isolate to toV8Slow(). |
+ |
+ No tests. No change in behavior. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateHeader): |
+ * bindings/v8/custom/V8NodeCustom.cpp: |
+ (WebCore::toV8Slow): |
+ |
+2012-04-17 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Fix the ACCELERATED_COMPOSITING code to not expose RenderLayer outside rendering |
+ https://bugs.webkit.org/show_bug.cgi?id=83816 |
+ |
+ Reviewed by James Robinson. |
+ |
+ No change in behavior expected. |
+ |
+ This code adds several functions on RenderBoxModelObject to forward |
+ to the associated layer. This removes the RenderLayer dependencies |
+ at the call sites. |
+ |
+ Currently only RenderBoxModelObject can be hardware accelerated as |
+ we need a RenderLayer, this looks like the best place to put those |
+ new functions. |
+ |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::RenderBoxModelObject::contentChanged): |
+ (WebCore::RenderBoxModelObject::hasAcceleratedCompositing): |
+ (WebCore::RenderBoxModelObject::startTransition): |
+ (WebCore::RenderBoxModelObject::transitionPaused): |
+ (WebCore::RenderBoxModelObject::transitionFinished): |
+ (WebCore::RenderBoxModelObject::startAnimation): |
+ (WebCore::RenderBoxModelObject::animationPaused): |
+ (WebCore::RenderBoxModelObject::animationFinished): |
+ (WebCore::RenderBoxModelObject::suspendAnimations): |
+ * rendering/RenderBoxModelObject.h: |
+ Added the previous functions to hide the layer need. |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::hasAcceleratedCompositing): |
+ * rendering/RenderLayer.h: |
+ Removed the previous method as it was superseeded by the |
+ one on RenderBoxModelObject. Also moved the ContentChangeType |
+ enumaration. |
+ |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::contentChanged): |
+ * rendering/RenderLayerBacking.h: |
+ (RenderLayerBacking): |
+ Updated after the ContentChangeType enumaration move. |
+ |
+ * html/HTMLCanvasElement.cpp: |
+ (WebCore::HTMLCanvasElement::reset): |
+ (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer): |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ (WebCore::CanvasRenderingContext2D::didDraw): |
+ * html/canvas/WebGLRenderingContext.cpp: |
+ (WebCore::WebGLRenderingContext::markContextChanged): |
+ (WebCore::WebGLRenderingContext::reshape): |
+ * page/animation/AnimationBase.cpp: |
+ (WebCore::AnimationBase::freezeAtTime): |
+ * page/animation/ImplicitAnimation.cpp: |
+ (WebCore::ImplicitAnimation::startAnimation): |
+ (WebCore::ImplicitAnimation::pauseAnimation): |
+ (WebCore::ImplicitAnimation::endAnimation): |
+ * page/animation/KeyframeAnimation.cpp: |
+ (WebCore::KeyframeAnimation::startAnimation): |
+ (WebCore::KeyframeAnimation::pauseAnimation): |
+ (WebCore::KeyframeAnimation::endAnimation): |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::imageChanged): |
+ * rendering/RenderImage.cpp: |
+ (WebCore::RenderImage::imageDimensionsChanged): |
+ (WebCore::RenderImage::notifyFinished): |
+ * rendering/RenderVideo.cpp: |
+ (WebCore::RenderVideo::updatePlayer): |
+ Updated all those call sites to use the new functions. Also |
+ removed unneeded RenderLayer.h include as we went. |
+ |
+2012-04-16 Andy Estes <aestes@apple.com> |
+ |
+ -webkit-mask-box-image does not draw when layer tree flattening is enabled |
+ https://bugs.webkit.org/show_bug.cgi?id=84111 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ No new tests since taking pixel test results with |
+ PaintBehaviorFlattenCompositingLayers set is not currently supported. |
+ <https://bugs.webkit.org/show_bug.cgi?id=84110> tracks fixing this. |
+ |
+ When painting mask images, we should take the non-composited path if |
+ layers are being flattened. |
+ |
+ * rendering/InlineFlowBox.cpp: |
+ (WebCore::InlineFlowBox::paintMask): |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::paintMaskImages): |
+ |
+2012-04-17 Emil A Eklund <eae@chromium.org> |
+ |
+ Rollout r114404 as it broke a couple of chromium builds. |
+ |
+ * platform/FractionalLayoutUnit.h: |
+ (WebCore::FractionalLayoutUnit::FractionalLayoutUnit): |
+ (WebCore::FractionalLayoutUnit::isInBounds): |
+ (WebCore): |
+ |
+2012-04-17 Ben Murdoch <benm@google.com> |
+ |
+ `localStorage.setItem` can overwrite `localStorage` methods |
+ https://bugs.webkit.org/show_bug.cgi?id=30996 |
+ |
+ Update the JSC and V8 bindings such that if the name of the DOM |
+ Storage property being retrieved is a match for a property in the |
+ prototype, always return the prototype version. If there is a DOM |
+ Storage key of the same name, it can still be retrieved via the |
+ getItem method. This prevents storage methods from being |
+ accidentally hidden. This brings WebKit behavior in line with the |
+ de facto standard implemented by FireFox and IE. |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Test: storage/domstorage/storage-functions-not-overwritten.html |
+ |
+ * bindings/js/JSStorageCustom.cpp: |
+ (WebCore::JSStorage::nameGetter): |
+ * bindings/v8/custom/V8StorageCustom.cpp: |
+ (WebCore::V8Storage::namedPropertyGetter): |
+ |
+2012-04-17 Emil A Eklund <eae@chromium.org> |
+ |
+ Fix Chromium/Windows build broken by r114404. |
+ |
+ * platform/FractionalLayoutUnit.h: |
+ |
+2012-04-17 Kentaro Hara <haraken@chromium.org> |
+ |
+ [Performance][V8] Skip Isolate look-up to find StringCache |
+ https://bugs.webkit.org/show_bug.cgi?id=84103 |
+ |
+ Reviewed by Nate Chapin. |
+ |
+ This patch improves the performance of a lot of DOM attribute |
+ getters that return a string. |
+ |
+ - Improves the performance of Dromaeo/dom-attr.html(element.property) |
+ by 27.7%. |
+ - Improves the performance of Dromaeo/dom-attr.html(getAttribute) |
+ by 10.6%. |
+ - Improves the performance of div.id, div.className, |
+ div.nodeName, text.nodeValue, text.textContent by 12% -- 21%. |
+ |
+ The followings are the test results in my Linux desktop. |
+ |
+ Performance test: Dromaeo/dom-attr.html |
+ Total: 674.64runs/s -> 707.03runs/s (+ 4.8%) |
+ getAttribute: 1537.60runs/s -> 1700.20runs/s (+10.6%) |
+ element.property: 1389.00runs/s -> 1774.20runs/s (+27.7%) |
+ setAttribute: 538.88runs/s -> 548.87runs/s (+ 1.9%) |
+ element.property = value: 644.07runs/s -> 656.67runs/s (+ 2.0%) |
+ element.expando = value: 219.76runs/s -> 207.14runs/s (- 6.8%) |
+ element.expando: 578.77runs/s -> 554.67runs/s (- 4.2%) |
+ |
+ Performance test: https://bugs.webkit.org/attachment.cgi?id=137440 |
+ div.id: 30.70ns -> 26.70ns (+15%) |
+ div.className: 31.10ns -> 26.40ns (+18%) |
+ div.nodeName: 37.70ns -> 33.00ns (+14%) |
+ text.nodeValue: 31.40ns -> 25.90ns (+21%) |
+ text.textContent: 51.50ns -> 45.90ns (+12%) |
+ |
+ Previously V8 bindings need to look up an Isolate to find |
+ an Isolate-local StringCache. This patch skips the look-up |
+ by getting the Isolate from AccessorInfo.GetIsolate() |
+ or Arguments.GetIsolate(). |
+ |
+ No tests. No change in behavior. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateNormalAttrGetter): |
+ (GenerateFunctionCallString): |
+ (NativeToJSValue): |
+ * bindings/v8/V8Binding.cpp: |
+ (WebCore::getElementStringAttr): |
+ * bindings/v8/V8Binding.h: |
+ (WebCore::v8ExternalString): Make 'isolate' an optional argument. |
+ Ideally we want to make 'isolate' a non-optional argument, |
+ but it is difficult to rewrite all v8ExternalString() callers |
+ at a breath. We can rewrite them incrementally. |
+ (WebCore::v8String): Ditto. |
+ (WebCore::v8StringOrNull): Ditto. |
+ (WebCore::v8StringOrUndefined): Ditto. |
+ (WebCore::v8StringOrFalse): Ditto. |
+ |
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results. |
+ (WebCore::TestEventConstructorV8Internal::attr1AttrGetter): |
+ (WebCore::TestEventConstructorV8Internal::attr2AttrGetter): |
+ * bindings/scripts/test/V8/V8TestInterface.cpp: |
+ (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter): |
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter): |
+ (WebCore::TestObjV8Internal::stringAttrAttrGetter): |
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter): |
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter): |
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter): |
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter): |
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter): |
+ (WebCore::TestObjV8Internal::hashAttrGetter): |
+ (WebCore::TestObjV8Internal::conditionalMethod1Callback): |
+ |
+2012-04-17 Chris Fleizach <cfleizach@apple.com> |
+ |
+ Crash in invalid index for _textMarkerForIndex |
+ https://bugs.webkit.org/show_bug.cgi?id=84104 |
+ |
+ Reviewed by Beth Dakin. |
+ |
+ Test: platform/mac/accessibility/textmarker-for-index-out-of-bounds-crash.html |
+ |
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm: |
+ (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]): |
+ |
+2012-04-17 Jer Noble <jer.noble@apple.com> |
+ |
+ HTML5 Video Full Screen button broken (looks like white square) |
+ https://bugs.webkit.org/show_bug.cgi?id=84101 |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ No new tests; updated platform results which were previously rebaselined. |
+ |
+ Use the correct CSS keyword for the -webkit-appearance of the full screen button. |
+ |
+ * css/mediaControls.css: |
+ (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): |
+ |
+2012-04-17 Tom Sepez <tsepez@chromium.org> |
+ |
+ Framesniffing defense is too aggressive. |
+ https://bugs.webkit.org/show_bug.cgi?id=83721 |
+ |
+ Reviewed by James Robinson. |
+ |
+ The RenderLayer code currently propagates scroll position to parent frames |
+ without any cross-origin checks. This gives it a quick origin boundary check |
+ that is set by FrameLoader only when performing a fragment navigation. This |
+ allows us to safely relax the restriction on not scrolling at load time in |
+ FrameLoader since the safe thing will happen later on at scroll time. |
+ |
+ Test: http/tests/navigation/anchor-frames-same-origin.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::findUnsafeParentScrollPropagationBoundary): |
+ * dom/Document.h: |
+ (Document): |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::finishedParsing): |
+ (WebCore::FrameLoader::loadInSameDocument): |
+ (WebCore::FrameLoader::scrollToFragmentWithParentBoundary): |
+ * loader/FrameLoader.h: |
+ (FrameLoader): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::FrameView): |
+ (WebCore::FrameView::reset): |
+ * page/FrameView.h: |
+ (WebCore::FrameView::safeToPropagateScrollToParent): |
+ (WebCore::FrameView::setSafeToPropagateScrollToParent): |
+ (FrameView): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::scrollRectToVisible): |
+ |
+2012-04-17 Emil A Eklund <eae@chromium.org> |
+ |
+ Add size_t versions of multiplication and division operators to FractionalLayoutUnit |
+ https://bugs.webkit.org/show_bug.cgi?id=83848 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ Add size_t versions of operator* and operator/ for platforms where there |
+ is no ambiguity between unsigned int and size_t. |
+ |
+ No new tests, no new functionality. |
+ |
+ * platform/FractionalLayoutUnit.h: |
+ (FractionalLayoutUnit): |
+ (WebCore::FractionalLayoutUnit::FractionalLayoutUnit): |
+ (WebCore::FractionalLayoutUnit::isInBounds): |
+ (WebCore): |
+ (WebCore::operator*): |
+ (WebCore::operator/): |
+ |
+2012-04-17 Kentaro Hara <haraken@chromium.org> |
+ |
+ [V8] Add an optional Isolate argument to toV8(). |
+ https://bugs.webkit.org/show_bug.cgi?id=84161 |
+ |
+ Reviewed by Nate Chapin. |
+ |
+ The final objective is to pass Isolate around in V8 bindings. |
+ This patch adds an optional Isolate argument to toV8(). |
+ After rewriting all toV8() callers so that they pass Isolate, |
+ I will make the Isolate argument non-optional. |
+ |
+ No tests. No change in behavior. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ Modified as described above. |
+ (GenerateHeader): |
+ (NativeToJSValue): |
+ * bindings/v8/custom/V8BlobCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8CSSRuleCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8CSSValueCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8DOMStringMapCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8DOMTokenListCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8DOMWindowCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8DataViewCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8DocumentCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8EntryCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8EntrySyncCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8EventCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Float32ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Float64ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8HTMLElementCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8IDBAnyCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8IDBKeyCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8ImageDataCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Int16ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Int32ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Int8ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8LocationCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8NodeCustom.cpp: |
+ (WebCore::toV8Slow): |
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8SVGElementCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8SVGPathSegCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8ScriptProfileCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8StyleSheetCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Uint16ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Uint32ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Uint8ArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8WorkerContextCustom.cpp: |
+ (WebCore::toV8): |
+ |
+ * bindings/scripts/test/V8/V8Float64Array.h: |
+ Updated run-bindings-tests results. |
+ (WebCore): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestEventTarget.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestInterface.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestNode.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestObj.h: |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
+ (WebCore::toV8): |
+ |
+2012-04-17 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: move heap snapshot data grids into their own file |
+ https://bugs.webkit.org/show_bug.cgi?id=84160 |
+ |
+ Moved heap snapshot data grids into a separate file. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/DataGrid.js: |
+ * inspector/front-end/HeapSnapshotDataGrids.js: Added. |
+ (WebInspector.HeapSnapshotSortableDataGrid): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave): |
+ (WebInspector.HeapSnapshotContainmentDataGrid): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged): |
+ (WebInspector.HeapSnapshotRetainmentDataGrid): |
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields): |
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged): |
+ (WebInspector.HeapSnapshotDiffDataGrid): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged): |
+ * inspector/front-end/HeapSnapshotView.js: |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ |
+2012-04-17 Vivek Galatage <vivekgalatage@gmail.com> |
+ |
+ Script make_names.pl should generate consistent .h & .cpp files |
+ https://bugs.webkit.org/show_bug.cgi?id=84140 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Added a newline character and removed ';' after the DEFINE_GLOBAL |
+ |
+ No test cases required for this change. |
+ |
+ * dom/make_names.pl: |
+ (printNamesCppFile): |
+ |
+2012-04-17 Aaron Colwell <acolwell@chromium.org> |
+ |
+ Add webkitSourceAddId() & webkitSourceRemoveId() to HTMLMediaElement |
+ and propagate calls to the MediaPlayerPrivate interface. |
+ These are needed to bring the Media Source implementation |
+ up to date with the new 0.4 version of the Media Source spec. |
+ http://html5-mediasource-api.googlecode.com/svn/tags/0.4/draft-spec/mediasource-draft-spec.html |
+ https://bugs.webkit.org/show_bug.cgi?id=83616 |
+ |
+ Reviewed by Eric Carlson, Darin Fisher. |
+ |
+ Test: http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore): |
+ (WebCore::HTMLMediaElement::isValidSourceId): |
+ (WebCore::HTMLMediaElement::webkitSourceAddId): |
+ (WebCore::HTMLMediaElement::webkitSourceRemoveId): |
+ (WebCore::HTMLMediaElement::setSourceState): |
+ * html/HTMLMediaElement.h: |
+ (HTMLMediaElement): |
+ * html/HTMLMediaElement.idl: |
+ * platform/graphics/MediaPlayer.cpp: |
+ (WebCore::NullMediaPlayerPrivate::sourceAddId): |
+ (WebCore::NullMediaPlayerPrivate::sourceRemoveId): |
+ (WebCore): |
+ (WebCore::MediaPlayer::sourceAddId): |
+ (WebCore::MediaPlayer::sourceRemoveId): |
+ * platform/graphics/MediaPlayer.h: |
+ * platform/graphics/MediaPlayerPrivate.h: |
+ (WebCore::MediaPlayerPrivateInterface::sourceAddId): |
+ (WebCore::MediaPlayerPrivateInterface::sourceRemoveId): |
+ |
+2012-04-17 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector |
+ https://bugs.webkit.org/show_bug.cgi?id=84154 |
+ |
+ Check that a node inserted actually has a parent. |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Test: inspector/elements/elements-panel-reload-assert.html |
+ |
+ * inspector/InspectorDOMAgent.cpp: |
+ (WebCore::InspectorDOMAgent::didInsertDOMNode): |
+ |
+2012-04-17 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result |
+ https://bugs.webkit.org/show_bug.cgi?id=83543 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ It should not be possible to make a rect in layer space that is clipped |
+ by the camera but for which the screen space transform gives a |
+ rectilinear output. But use consistent methods for checking that the |
+ result remains enclosed within the actual pixels. |
+ |
+ One day when clipped is true, we can find an interior axis-aligned rect |
+ within the clipped result, and checking clipped explicitly makes this |
+ more clear. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: |
+ (WebCore::computeOcclusionBehindLayer): |
+ (WebCore::::markOccludedBehindLayer): |
+ |
+2012-04-17 Vsevolod Vlasov <vsevik@chromium.org> |
+ |
+ Web Inspector: Suggest box appears after the command was executed in console sometimes. |
+ https://bugs.webkit.org/show_bug.cgi?id=84148 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ TextPrompt.complete() requests completions asynchronously, this change adds a flag |
+ that informs TextPrompt._completionsReady() whether completions should still be shown. |
+ |
+ * inspector/front-end/TextPrompt.js: |
+ (WebInspector.TextPrompt.prototype.clearAutoComplete): |
+ (WebInspector.TextPrompt.prototype.complete): |
+ (WebInspector.TextPrompt.prototype._completionsReady): |
+ |
+2012-04-17 Yong Li <yoli@rim.com> |
+ |
+ REGRESSION (r105453): Crash when handling touch events |
+ https://bugs.webkit.org/show_bug.cgi?id=81958 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ Always perform sanity checks when handling every touch point |
+ because the node and document may have been destroyed or detached. |
+ |
+ ManualTests/touch-stale-iframe-crash.html added. |
+ (DumpRenderTree doesn't support transiting touch states in one shot yet) |
+ |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::handleTouchEvent): |
+ |
+2012-04-17 Allan Sandfeld Jensen <allan.jensen@nokia.com> |
+ |
+ Asserts in XMLHttpRequestProgressEventThrottle |
+ https://bugs.webkit.org/show_bug.cgi?id=81506 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ The asserts were incorrectly triggered because suspending active DOM objects |
+ (which suspends the XMLHttpRequestProgressEventThrottle) doesn't stop JavaScript |
+ from running or suspend any running loader we may have. The previous code would |
+ assume those 2 cases were impossible. |
+ |
+ When XmlHttpRequest::open is called or data is received while the XmlHttpRequest object |
+ is suspended the object may attempt to dispatch events. This patch defers these events |
+ until the object is resumed. |
+ |
+ Progress events are coalesced similar to normal throttling, and readystate-change events |
+ are coalesced to avoid identical events emitted right after eachother. |
+ |
+ On resume the events are dispatched after a timer to avoid interfering with |
+ ScriptExecutionContext which is iterating over suspended objects. |
+ |
+ Test: fast/events/pagehide-xhr-open.html |
+ |
+ * xml/XMLHttpRequestProgressEventThrottle.cpp: |
+ (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle): |
+ (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): |
+ (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): |
+ (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): |
+ (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents): |
+ (WebCore::XMLHttpRequestProgressEventThrottle::fired): |
+ (WebCore::XMLHttpRequestProgressEventThrottle::suspend): |
+ (WebCore::XMLHttpRequestProgressEventThrottle::resume): |
+ * xml/XMLHttpRequestProgressEventThrottle.h: |
+ (XMLHttpRequestProgressEventThrottle): |
+ |
+2012-04-16 Vsevolod Vlasov <vsevik@chromium.org> |
+ |
+ Web Inspector: [Chromium] Crash when inspecting empty IndexedDB object store. |
+ https://bugs.webkit.org/show_bug.cgi?id=84035 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Added a check that m_idbCursor is not null before calling postSuccessHandlerCallback() on it. |
+ |
+ * inspector/InspectorIndexedDBAgent.cpp: |
+ (WebCore): |
+ |
+2012-04-17 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: [regression r112413]content scripts tree outline is not added to the tab. |
+ https://bugs.webkit.org/show_bug.cgi?id=84146 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Adding the tree to the container. |
+ |
+ * inspector/front-end/ScriptsNavigator.js: |
+ (WebInspector.ScriptsNavigator): |
+ |
+2012-04-17 Mariusz Grzegorczyk <mariusz.g@samsung.com> |
+ |
+ [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled. |
+ https://bugs.webkit.org/show_bug.cgi?id=83285 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ * platform/ContextMenuItem.h: Remove macro around enums - needed by InjectedBundle. |
+ (WebCore): |
+ * platform/Widget.h: Remove namespace WebCore for PlatformPageClient typedef. |
+ |
+2012-04-17 Kent Tamura <tkent@chromium.org> |
+ |
+ Introduce an internal feature for a fixed placeholder |
+ https://bugs.webkit.org/show_bug.cgi?id=84009 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ This change adds a framework to support fixed placeholder string for |
+ textfield-like <input> without the palceholder attribute support. This |
+ doesn't change any behavior of input types which support the |
+ 'placeholder' attribute. |
+ |
+ According to the standard, <input type=date> doesn't support the |
+ 'placeholder' attribute. However it is a kind of text field in WebKit |
+ platforms with ENABLE_CALENDAR_PICKER, and we may show something useful |
+ information as the default placeholder. |
+ |
+ No new tests because of no behavior changes. |
+ |
+ * html/HTMLTextFormControlElement.h: |
+ (HTMLTextFormControlElement): Make isPlaceholderEmpty() virtual. |
+ * html/HTMLInputElement.h: |
+ (HTMLInputElement): Overrides isPlaceholderEmpty(). |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::isPlaceholderEmpty): |
+ Check InputType::defaultPlaceholder() if InputType::usesFixedPlaceholder(). |
+ * html/InputType.cpp: |
+ (WebCore::InputType::usesFixedPlaceholder): Added. Returns false. |
+ (WebCore::InputType::fixedPlaceholder): Added. Returns a null string. |
+ * html/InputType.h: |
+ (InputType): Add usesFixedPlaceholder() and fixedPlaceholder(). |
+ * html/TextFieldInputType.cpp: |
+ (WebCore::TextFieldInputType::updatePlaceholderText): |
+ Uses fixedPlaceholder() instead of strippedPlaceholder() if usesFixedPlaceholder(). |
+ |
+2012-04-17 Kent Tamura <tkent@chromium.org> |
+ |
+ Move some code of LocalizedNumberICU.cpp to ICULocale.cpp |
+ https://bugs.webkit.org/show_bug.cgi?id=84128 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ No new tests. No behavior change. |
+ |
+ * WebCore.gypi: Add ICULocale.cpp |
+ * platform/text/ICULocale.cpp: |
+ Added. Move some code from LocalizedNumberICU.cpp |
+ * platform/text/ICULocale.h: |
+ (ICULocale): Add currentLocale(). |
+ * platform/text/LocalizedNumberICU.cpp: |
+ (WebCore::convertToLocalizedNumber): Use ICULocale::currentLocale(). |
+ (WebCore::convertFromLocalizedNumber): ditto. |
+ |
+2012-04-17 Bang Kwang min <justine.bang@samsung.com> |
+ |
+ [Plugins] delete ws_info regardless of window mode. |
+ https://bugs.webkit.org/show_bug.cgi?id=83004 |
+ |
+ Reviewed by Simon Hausmann. |
+ |
+ m_npWindow.ws_info should be deleted even if plugin run as windowless mode to remove memory leak. |
+ Every plugin works well after this patch without any crash. |
+ Additionally, change casting syntax to C++ style. |
+ |
+ * plugins/PluginView.cpp: |
+ (WebCore::PluginView::stop): |
+ |
+2012-04-17 Kent Tamura <tkent@chromium.org> |
+ |
+ Calendar Picker: Support RTL layout |
+ https://bugs.webkit.org/show_bug.cgi?id=83668 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Manual test: ManualTests/forms/calendar-picker.html |
+ |
+ * Resources/calendarPicker.js: |
+ (layout): If params.isRTL, add dir=rtl to the body. |
+ (DaysTable.prototype._handleKey): Reverse Left and Right cursor keys if RTL. |
+ * html/shadow/CalendarPickerElement.cpp: |
+ (WebCore::addProperty): Add addProperty() with a bool value. |
+ (WebCore::CalendarPickerElement::writeDocument): |
+ Check the direction of the first character of localized January label, |
+ and pass it as isRTL property. |
+ |
+2012-04-16 Carlos Garcia Campos <cgarcia@igalia.com> |
+ |
+ Unreviewed. Fix make distcheck issues. |
+ |
+ * GNUmakefile.list.am: Add missing files. |
+ |
+2012-04-16 Hajime Morrita <morrita@chromium.org> |
+ |
+ insertedIntoDocument and insertedIntoTree should be unitifed. |
+ https://bugs.webkit.org/show_bug.cgi?id=82701 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Both Node::insertedIntoTree() and Node::insertedIntoDocument() are |
+ served as lifecycle callbacks which are invoked when a node is |
+ inserted into its new parent. There are also removedFromTree() |
+ and removedFromDocument() respectively. Considering that this pair |
+ of virtual functions are laid onto the hot path, it's worth |
+ merging them into one, to gain some speedup. Such |
+ unification could clarify the semantics as well. |
+ |
+ This change makes following change to merge these functions. |
+ |
+ - pulling the tree traversal out from ContainerNode to ChildNodeInsertionNotifier. |
+ - letting new Node::insertInto() do the job for its own, but not |
+ for its children and |
+ - Pass the parent of each insertion root as a parameter of insertedInto(). |
+ This root node can tell inserted node where it is inserted, |
+ specifically whetehr the insertion is to the document or not. |
+ |
+ Same pattern is also applied to Node::removedFromDocument() and |
+ Node::removedFromTree(), which are factored to Node::removedFrom() |
+ and ChildNodeRemovalNotifier respectively. |
+ |
+ Speed up on Dromaeo/dom-modify.html is about 2%. |
+ Further speed-up by de-virtulization would be possible. |
+ |
+ Caveat: |
+ |
+ There is possible situation where a node need to invoke |
+ insertedInto() after its children is nofitied, instead of before |
+ that. It was represented naturally with previous |
+ traversal-by-ContainerNode pattern, but is no longer simple with |
+ this new external traversal. To support this scenario, we |
+ introduced the InsertionNotificationRequest as a return value of insertedInto() |
+ and a supplemental hook Node::didNotifyDescendantInseretions(). See for |
+ example HTMLFormElement.cpp to learn how it works. |
+ |
+ No new tests. Covered by existing tests. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * dom/ContainerNode.cpp: |
+ (WebCore::ContainerNode::parserInsertBefore): |
+ (WebCore::ContainerNode::removeChild): |
+ (WebCore::ContainerNode::parserRemoveChild): |
+ (WebCore::ContainerNode::removeChildren): |
+ (WebCore::ContainerNode::parserAddChild): |
+ (WebCore::updateTreeAfterInsertion): |
+ * dom/ContainerNode.h: |
+ (ContainerNode): |
+ (WebCore::Node::highestAncestor): |
+ (WebCore): |
+ * dom/ContainerNodeAlgorithms.cpp: Added. |
+ (WebCore): |
+ (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument): |
+ (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree): |
+ (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument): |
+ (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree): |
+ * dom/ContainerNodeAlgorithms.h: |
+ (ChildNodeInsertionNotifier): |
+ (WebCore::ChildNodeInsertionNotifier::ChildNodeInsertionNotifier): |
+ (WebCore): |
+ (ChildNodeRemovalNotifier): |
+ (WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier): |
+ (WebCore::removeAllChildrenInContainer): |
+ (WebCore::appendChildToContainer): |
+ (Private): |
+ (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument): |
+ (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree): |
+ (WebCore::ChildNodeInsertionNotifier::notifyInsertedIntoDocument): |
+ (WebCore::ChildNodeInsertionNotifier::notify): |
+ (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument): |
+ (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree): |
+ (WebCore::ChildNodeRemovalNotifier::notify): |
+ * dom/DOMAllInOne.cpp: |
+ * dom/DocumentType.cpp: |
+ (WebCore::DocumentType::insertedInto): |
+ (WebCore::DocumentType::removedFrom): |
+ * dom/DocumentType.h: |
+ (DocumentType): |
+ * dom/Element.cpp: |
+ (WebCore::Element::insertedInto): |
+ (WebCore::Element::removedFrom): |
+ * dom/Element.h: |
+ (Element): |
+ * dom/Node.cpp: |
+ (WebCore::Node::insertedInto): |
+ (WebCore::Node::removedFrom): |
+ * dom/Node.h: |
+ (Node): |
+ (WebCore::Node::didNotifyDescendantInseretions): |
+ * dom/ProcessingInstruction.cpp: |
+ (WebCore::ProcessingInstruction::insertedInto): |
+ (WebCore::ProcessingInstruction::removedFrom): |
+ * dom/ProcessingInstruction.h: |
+ (ProcessingInstruction): |
+ * dom/ScriptElement.cpp: |
+ (WebCore::ScriptElement::insertedInto): |
+ * dom/ScriptElement.h: |
+ (WebCore): |
+ (ScriptElement): |
+ * dom/ShadowTree.cpp: |
+ (WebCore::ShadowTree::addShadowRoot): |
+ (WebCore::ShadowTree::removeAllShadowRoots): |
+ * dom/ShadowTree.h: |
+ (ShadowTree): |
+ (ShadowRootVector): |
+ (WebCore::ShadowRootVector::ShadowRootVector): |
+ (WebCore): |
+ * html/FormAssociatedElement.cpp: |
+ (WebCore::FormAssociatedElement::insertedInto): |
+ (WebCore::FormAssociatedElement::removedFrom): |
+ (WebCore::FormAssociatedElement::formRemovedFromTree): |
+ * html/FormAssociatedElement.h: |
+ (FormAssociatedElement): |
+ * html/HTMLBaseElement.cpp: |
+ (WebCore::HTMLBaseElement::insertedInto): |
+ (WebCore::HTMLBaseElement::removedFrom): |
+ * html/HTMLBaseElement.h: |
+ (HTMLBaseElement): |
+ * html/HTMLBodyElement.cpp: |
+ (WebCore::HTMLBodyElement::insertedInto): |
+ (WebCore::HTMLBodyElement::didNotifyDescendantInseretions): |
+ * html/HTMLBodyElement.h: |
+ (HTMLBodyElement): |
+ * html/HTMLFormControlElement.cpp: |
+ (WebCore::HTMLFormControlElement::insertedInto): |
+ (WebCore::HTMLFormControlElement::removedFrom): |
+ * html/HTMLFormControlElement.h: |
+ (HTMLFormControlElement): |
+ * html/HTMLFormElement.cpp: |
+ (WebCore::HTMLFormElement::insertedInto): |
+ (WebCore::HTMLFormElement::didNotifyDescendantInseretions): |
+ (WebCore::HTMLFormElement::removedFrom): |
+ * html/HTMLFormElement.h: |
+ (HTMLFormElement): |
+ * html/HTMLFrameElementBase.cpp: |
+ (WebCore::HTMLFrameElementBase::insertedInto): |
+ (WebCore): |
+ (WebCore::HTMLFrameElementBase::didNotifyDescendantInseretions): |
+ * html/HTMLFrameElementBase.h: |
+ (HTMLFrameElementBase): |
+ * html/HTMLFrameSetElement.cpp: |
+ (WebCore::HTMLFrameSetElement::insertedInto): |
+ (WebCore::HTMLFrameSetElement::removedFrom): |
+ * html/HTMLFrameSetElement.h: |
+ (HTMLFrameSetElement): |
+ * html/HTMLIFrameElement.cpp: |
+ (WebCore::HTMLIFrameElement::insertedInto): |
+ (WebCore::HTMLIFrameElement::removedFrom): |
+ * html/HTMLIFrameElement.h: |
+ (HTMLIFrameElement): |
+ * html/HTMLImageElement.cpp: |
+ (WebCore::HTMLImageElement::insertedInto): |
+ (WebCore::HTMLImageElement::removedFrom): |
+ * html/HTMLImageElement.h: |
+ (HTMLImageElement): |
+ * html/HTMLInputElement.cpp: |
+ (WebCore::HTMLInputElement::insertedInto): |
+ (WebCore::HTMLInputElement::removedFrom): |
+ * html/HTMLInputElement.h: |
+ * html/HTMLLinkElement.cpp: |
+ (WebCore::HTMLLinkElement::insertedInto): |
+ (WebCore::HTMLLinkElement::removedFrom): |
+ * html/HTMLLinkElement.h: |
+ (HTMLLinkElement): |
+ * html/HTMLMapElement.cpp: |
+ (WebCore::HTMLMapElement::insertedInto): |
+ (WebCore::HTMLMapElement::removedFrom): |
+ * html/HTMLMapElement.h: |
+ (HTMLMapElement): |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::insertedInto): |
+ (WebCore::HTMLMediaElement::removedFrom): |
+ * html/HTMLMediaElement.h: |
+ (HTMLMediaElement): |
+ * html/HTMLMetaElement.cpp: |
+ (WebCore::HTMLMetaElement::insertedInto): |
+ * html/HTMLMetaElement.h: |
+ (HTMLMetaElement): |
+ * html/HTMLObjectElement.cpp: |
+ (WebCore::HTMLObjectElement::insertedInto): |
+ (WebCore::HTMLObjectElement::removedFrom): |
+ * html/HTMLObjectElement.h: |
+ (HTMLObjectElement): |
+ * html/HTMLOptionElement.cpp: |
+ (WebCore::HTMLOptionElement::insertedInto): |
+ * html/HTMLOptionElement.h: |
+ (HTMLOptionElement): |
+ * html/HTMLQuoteElement.cpp: |
+ (WebCore::HTMLQuoteElement::insertedInto): |
+ * html/HTMLQuoteElement.h: |
+ (HTMLQuoteElement): |
+ * html/HTMLScriptElement.cpp: |
+ (WebCore::HTMLScriptElement::insertedInto): |
+ * html/HTMLScriptElement.h: |
+ (HTMLScriptElement): |
+ * html/HTMLSelectElement.cpp: |
+ (WebCore::HTMLSelectElement::insertedInto): |
+ * html/HTMLSelectElement.h: |
+ * html/HTMLSourceElement.cpp: |
+ (WebCore::HTMLSourceElement::insertedInto): |
+ * html/HTMLSourceElement.h: |
+ (HTMLSourceElement): |
+ * html/HTMLStyleElement.cpp: |
+ (WebCore::HTMLStyleElement::insertedInto): |
+ (WebCore::HTMLStyleElement::removedFrom): |
+ * html/HTMLStyleElement.h: |
+ (HTMLStyleElement): |
+ * html/HTMLTextFormControlElement.cpp: |
+ (WebCore::HTMLTextFormControlElement::insertedInto): |
+ * html/HTMLTextFormControlElement.h: |
+ * html/HTMLTitleElement.cpp: |
+ (WebCore::HTMLTitleElement::insertedInto): |
+ (WebCore::HTMLTitleElement::removedFrom): |
+ * html/HTMLTitleElement.h: |
+ (HTMLTitleElement): |
+ * html/HTMLTrackElement.cpp: |
+ (WebCore::HTMLTrackElement::insertedInto): |
+ * html/HTMLTrackElement.h: |
+ (HTMLTrackElement): |
+ * mathml/MathMLMathElement.cpp: |
+ (WebCore::MathMLMathElement::insertedInto): |
+ * mathml/MathMLMathElement.h: |
+ (MathMLMathElement): |
+ * svg/SVGElement.cpp: |
+ (WebCore::SVGElement::removedFrom): |
+ * svg/SVGElement.h: |
+ (SVGElement): |
+ * svg/SVGFEImageElement.cpp: |
+ (WebCore::SVGFEImageElement::insertedInto): |
+ (WebCore::SVGFEImageElement::removedFrom): |
+ * svg/SVGFEImageElement.h: |
+ (SVGFEImageElement): |
+ * svg/SVGFontFaceElement.cpp: |
+ (WebCore::SVGFontFaceElement::insertedInto): |
+ (WebCore::SVGFontFaceElement::removedFrom): |
+ * svg/SVGFontFaceElement.h: |
+ (SVGFontFaceElement): |
+ * svg/SVGFontFaceUriElement.cpp: |
+ (WebCore::SVGFontFaceUriElement::insertedInto): |
+ * svg/SVGFontFaceUriElement.h: |
+ (SVGFontFaceUriElement): |
+ * svg/SVGGlyphElement.cpp: |
+ (WebCore::SVGGlyphElement::insertedInto): |
+ (WebCore::SVGGlyphElement::removedFrom): |
+ * svg/SVGGlyphElement.h: |
+ (SVGGlyphElement): |
+ * svg/SVGHKernElement.cpp: |
+ (WebCore::SVGHKernElement::insertedInto): |
+ (WebCore::SVGHKernElement::removedFrom): |
+ * svg/SVGHKernElement.h: |
+ (SVGHKernElement): |
+ * svg/SVGImageElement.cpp: |
+ (WebCore::SVGImageElement::insertedInto): |
+ * svg/SVGImageElement.h: |
+ (SVGImageElement): |
+ * svg/SVGSVGElement.cpp: |
+ (WebCore::SVGSVGElement::insertedInto): |
+ (WebCore::SVGSVGElement::removedFrom): |
+ * svg/SVGSVGElement.h: |
+ (SVGSVGElement): |
+ * svg/SVGScriptElement.cpp: |
+ (WebCore::SVGScriptElement::insertedInto): |
+ * svg/SVGScriptElement.h: |
+ (SVGScriptElement): |
+ * svg/SVGStyleElement.cpp: |
+ (WebCore::SVGStyleElement::insertedInto): |
+ (WebCore::SVGStyleElement::removedFrom): |
+ * svg/SVGStyleElement.h: |
+ (SVGStyleElement): |
+ * svg/SVGStyledElement.cpp: |
+ (WebCore::SVGStyledElement::insertedInto): |
+ (WebCore::SVGStyledElement::removedFrom): |
+ (WebCore::SVGStyledElement::updateRelativeLengthsInformation): |
+ * svg/SVGStyledElement.h: |
+ (SVGStyledElement): |
+ * svg/SVGTRefElement.cpp: |
+ (WebCore::SVGTRefElement::buildPendingResource): |
+ (WebCore::SVGTRefElement::insertedInto): |
+ (WebCore::SVGTRefElement::removedFrom): |
+ * svg/SVGTRefElement.h: |
+ (SVGTRefElement): |
+ * svg/SVGTextPathElement.cpp: |
+ (WebCore::SVGTextPathElement::insertedInto): |
+ * svg/SVGTextPathElement.h: |
+ * svg/SVGTitleElement.cpp: |
+ (WebCore::SVGTitleElement::insertedInto): |
+ (WebCore::SVGTitleElement::removedFrom): |
+ * svg/SVGTitleElement.h: |
+ (SVGTitleElement): |
+ * svg/SVGUseElement.cpp: |
+ (WebCore::SVGUseElement::insertedInto): |
+ (WebCore::SVGUseElement::removedFrom): |
+ * svg/SVGUseElement.h: |
+ (SVGUseElement): |
+ * svg/SVGVKernElement.cpp: |
+ (WebCore::SVGVKernElement::insertedInto): |
+ (WebCore::SVGVKernElement::removedFrom): |
+ * svg/SVGVKernElement.h: |
+ (SVGVKernElement): |
+ * svg/animation/SVGSMILElement.cpp: |
+ (WebCore::SVGSMILElement::insertedInto): |
+ (WebCore::SVGSMILElement::removedFrom): |
+ * svg/animation/SVGSMILElement.h: |
+ (SVGSMILElement): |
+ |
+2012-04-16 David Barr <davidbarr@chromium.org> |
+ |
+ Stack overflow in CSS parser caused by recursive stylesheet import |
+ https://bugs.webkit.org/show_bug.cgi?id=83545 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Test: http/tests/css/css-imports-redirect-cycle.html |
+ |
+ * css/CSSImportRule.cpp: |
+ (WebCore::StyleRuleImport::requestStyleSheet): |
+ |
+2012-04-16 Kent Tamura <tkent@chromium.org> |
+ |
+ Rename LocalizedNumberICU.h to ICULocale.h |
+ https://bugs.webkit.org/show_bug.cgi?id=84119 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ LocalizedNumberICU.h contains only ICULocale class. It should be |
+ named as ICULocale.h. We're going to move some functions in |
+ LocalizedDateICU.cpp and LocalizedCalendarICU.cpp to ICULocale, |
+ and add unit tests for them. |
+ |
+ * WebCore.gypi: Rename LocalizedNumberICU.h to ICULocale.h |
+ * platform/text/ICULocale.h: |
+ Renamed from Source/WebCore/platform/text/LocalizedNumberICU.h. |
+ * platform/text/LocalizedNumberICU.cpp: |
+ Rename LocalizedNumberICU.h to ICULocale.h |
+ |
+2012-04-16 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Move paintRenderedResultsToCanvas code into DrawingBuffer |
+ https://bugs.webkit.org/show_bug.cgi?id=84066 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ WebGLLayerChromium used to be responsible for the readback path for software painting WebGL canvases (for |
+ printing, etc), but this path no longer has any compositor interaction. This moves the code into |
+ DrawingBufferChromium which is responsible for managing the front / back buffers for WebGL. |
+ |
+ * platform/graphics/chromium/DrawingBufferChromium.cpp: |
+ (WebCore::DrawingBuffer::paintCompositedResultsToCanvas): |
+ * platform/graphics/chromium/WebGLLayerChromium.cpp: |
+ * platform/graphics/chromium/WebGLLayerChromium.h: |
+ (WebGLLayerChromium): |
+ |
+2012-04-16 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Expose compositor filters to Aura through WebLayer |
+ https://bugs.webkit.org/show_bug.cgi?id=80054 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Adds WebFilterOperation that wraps WebCore::FilterOperation and |
+ WebFilterOperations that wraps WebCore::FilterOperations. |
+ |
+ We add support for most of the FilterOperation subclasses, and |
+ allow the user to set the WebFilterOperations for both layer |
+ content filters and background filters. |
+ |
+ * WebCore.gypi: |
+ * platform/chromium/support/WebFilterOperation.cpp: Added. |
+ (WebKit): |
+ (WebKit::WebBasicColorMatrixFilterOperation::toFilterOperation): |
+ (WebKit::WebBasicComponentTransferFilterOperation::toFilterOperation): |
+ (WebKit::WebBlurFilterOperation::toFilterOperation): |
+ (WebKit::WebDropShadowFilterOperation::toFilterOperation): |
+ * platform/chromium/support/WebFilterOperations.cpp: Added. |
+ (WebKit): |
+ (WebKit::WebFilterOperations::WebFilterOperations): |
+ (WebKit::WebFilterOperations::append): |
+ (WebKit::WebFilterOperations::clear): |
+ (WebKit::WebFilterOperations::toFilterOperations): |
+ |
+2012-04-16 Andrei Burago <aburago@chromium.org> |
+ |
+ Auto-sized frames may be taller than expected |
+ https://bugs.webkit.org/show_bug.cgi?id=84106 |
+ |
+ Reviewed by David Levin. |
+ |
+ No new tests. The repro steps require using Chrome notifications on Win. |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::autoSizeIfEnabled): |
+ |
+2012-04-13 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it |
+ https://bugs.webkit.org/show_bug.cgi?id=83963 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a |
+ WebCore VideoFrameProvider. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/VideoLayerChromium.cpp: |
+ (WebCore::VideoLayerChromium::create): |
+ (WebCore::VideoLayerChromium::VideoLayerChromium): |
+ * platform/graphics/chromium/VideoLayerChromium.h: |
+ (WebKit): |
+ (WebCore): |
+ (VideoLayerChromium): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
+ (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
+ (WebCore::CCVideoLayerImpl::create): |
+ (CCVideoLayerImpl): |
+ |
+2012-04-16 Takashi Sakamoto <tasak@google.com> |
+ |
+ [Shadow DOM] InsertionPoint should have isActive() member function. |
+ https://bugs.webkit.org/show_bug.cgi?id=82010 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ This patch adds isActive public member function to InsertionPoint and |
+ makes InsertionPoint elements consider whether active or not. |
+ If an InsertionPoint is inactive, the element is not shadow boundary |
+ and is needed to be rendered. |
+ c.f. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point |
+ |
+ Test: update existing tests, i.e. |
+ LayoutTests/fast/dom/shadow/shadow-contents-fallback-dynamic.html and |
+ LayoutTests/fast/dom/shadow/shadow-contents-fallback.html |
+ |
+ * html/shadow/InsertionPoint.cpp: |
+ (WebCore::InsertionPoint::isActive): |
+ A new public method for checking whether an insertion point is active or inactive. |
+ If active, returns true. Otherwise, false. |
+ (WebCore::InsertionPoint::isShadowBoundary): |
+ Make the method consider whether an insertin point is active or inactive. |
+ (WebCore::InsertionPoint::rendererIsNeeded): |
+ Changed to return true If an insertion point is inactive. |
+ (WebCore::InsertionPoint::attach): |
+ Changed to call only HTMLElement::attach If an insertion point is inactive. |
+ (WebCore::InsertionPoint::detach): |
+ Changed to call only HTMLElement::detach If an insertion point is inactive. |
+ * html/shadow/InsertionPoint.h: |
+ (InsertionPoint): |
+ Added isActive public method. |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRenderingContext::NodeRenderingContext): |
+ Changed to take into account an insertion point's activeness when parent is an insertion point. |
+ (WebCore::NodeRenderingContext::firstRendererOf): |
+ (WebCore::NodeRenderingContext::lastRendererOf): |
+ Changed to take into account an insertion point's activeness. |
+ |
+2012-04-16 MORITA Hajime <morrita@google.com> |
+ |
+ Type tags in NodeFlags could be compressed |
+ https://bugs.webkit.org/show_bug.cgi?id=79299 |
+ |
+ Because existing node flags which indicate the class of each node |
+ are mutually exclusive, these flags can be represented as a enum. |
+ This patch introduces Node::NodeTypeTag to turn these flags into a |
+ enum, and embeds it into Node::m_nodeFlags. |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ No new tests. No bahavior change. |
+ |
+ * dom/Node.cpp: |
+ (WebCore): |
+ * dom/Node.h: |
+ (WebCore): |
+ (Node): |
+ (WebCore::Node::typeTag): |
+ (WebCore::Node::parentNode): |
+ (WebCore::Node::parentNodeGuaranteedHostFree): |
+ (WebCore::Node::isContainerNode): |
+ (WebCore::Node::isElementNode): |
+ (WebCore::Node::isStyledElement): |
+ (WebCore::Node::isTextNode): |
+ (WebCore::Node::isHTMLElement): |
+ (WebCore::Node::isSVGElement): |
+ (WebCore::Node::isShadowRoot): |
+ |
+2012-04-16 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r114285. |
+ http://trac.webkit.org/changeset/114285 |
+ https://bugs.webkit.org/show_bug.cgi?id=84107 |
+ |
+ broke fast/media/media-query-list-08.html in Mac (Requested by |
+ andersca on #webkit). |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::styleSelectorChanged): |
+ * dom/Document.h: |
+ (Document): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::layout): |
+ |
+2012-04-16 Nate Chapin <japhet@chromium.org> |
+ |
+ Remove unused variable CachedResourceLoader::m_loadFinishing |
+ https://bugs.webkit.org/show_bug.cgi?id=84100 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ No new tests, removing dead code. |
+ |
+ * loader/cache/CachedResourceLoader.cpp: |
+ (WebCore::CachedResourceLoader::CachedResourceLoader): |
+ (WebCore::CachedResourceLoader::loadDone): |
+ (WebCore::CachedResourceLoader::decrementRequestCount): |
+ * loader/cache/CachedResourceLoader.h: |
+ (CachedResourceLoader): |
+ (WebCore::CachedResourceLoader::requestCount): |
+ |
+2012-04-16 Andreas Kling <kling@webkit.org> |
+ |
+ Remove contextStyleSheet argument from CSSValuePool::createFontFaceValue(). |
+ <http://webkit.org/b/83988> |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Remove the 'context style sheet' argument to <font face> value parsing. |
+ It was only ever used to grab at the CSSValuePool back when they were per-Document. |
+ |
+ * css/CSSParser.h: |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseFontFaceValue): |
+ * css/CSSValuePool.h: |
+ * css/CSSValuePool.cpp: |
+ (WebCore::CSSValuePool::createFontFaceValue): |
+ * html/HTMLFontElement.cpp: |
+ (WebCore::HTMLFontElement::collectStyleForAttribute): |
+ |
+2012-04-16 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result |
+ https://bugs.webkit.org/show_bug.cgi?id=83543 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ It should not be possible to make a rect in layer space that is clipped |
+ by the camera but for which the screen space transform gives a |
+ rectilinear output. But use consistent methods for checking that the |
+ result remains enclosed within the actual pixels. |
+ |
+ One day when clipped is true, we can find an interior axis-aligned rect |
+ within the clipped result, and checking clipped explicitly makes this |
+ more clear. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: |
+ (WebCore::computeOcclusionBehindLayer): |
+ (WebCore::::markOccludedBehindLayer): |
+ |
+2012-04-16 Erik Arvidsson <arv@chromium.org> |
+ |
+ [V8] Don't delete the per context data until the V8IsolatedContext is deleted |
+ https://bugs.webkit.org/show_bug.cgi?id=83831 |
+ |
+ Reviewed by Nate Chapin. |
+ |
+ Test: http/tests/security/isolatedWorld/context-destroy.html |
+ |
+ * bindings/v8/V8IsolatedContext.cpp: |
+ (WebCore::V8IsolatedContext::destroy): |
+ |
+2012-04-16 Greg Billock <gbillock@google.com> |
+ |
+ Add V8 code generation support for MessagePortArray attributes. |
+ https://bugs.webkit.org/show_bug.cgi?id=83943 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateNormalAttrGetter): |
+ * bindings/scripts/IDLAttributes.txt: |
+ * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: |
+ (WebDOMTestSerializedScriptValueInterface::ports): |
+ * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: |
+ (WebDOMTestSerializedScriptValueInterface): |
+ * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: |
+ (webkit_dom_test_serialized_script_value_interface_get_property): |
+ (webkit_dom_test_serialized_script_value_interface_class_init): |
+ (webkit_dom_test_serialized_script_value_interface_get_ports): |
+ * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
+ (WebCore): |
+ (WebCore::jsTestSerializedScriptValueInterfacePorts): |
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: |
+ (WebCore): |
+ * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: |
+ * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: |
+ (-[DOMTestSerializedScriptValueInterface ports]): |
+ * bindings/scripts/test/TestSerializedScriptValueInterface.idl: |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
+ (WebCore::TestSerializedScriptValueInterfaceInternal::portsAttrGetter): |
+ (TestSerializedScriptValueInterfaceInternal): |
+ (WebCore): |
+ |
+2012-04-16 Xiaomei Ji <xji@chromium.org> |
+ |
+ platform/graphics/skia/GlyphPageTreeNodeSkia.cpp mis-use 'continue' for 'break' |
+ https://bugs.webkit.org/show_bug.cgi?id=83521 |
+ |
+ Reviewed by David Levin. |
+ |
+ No functionality change, so no new tests. |
+ |
+ * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: |
+ (WebCore::GlyphPage::fill): |
+ |
+2012-04-16 Levi Weintraub <leviw@chromium.org> |
+ |
+ Make borderBoxRect sub-pixel precise and add a pixel snapped version |
+ https://bugs.webkit.org/show_bug.cgi?id=84063 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ In an effort to prevent misuse, we previously decided to have borderBoxRect return a |
+ pixel-snapped IntRect. This is because borderBoxRect returns a rect that's positioned |
+ at (0,0), and therefore won't snap to the same size as the element it's covering. |
+ |
+ There are a couple uses of borderBoxRect that don't pixel snap the values and require |
+ sub-pixel precision. This patch adds a pixelSnappedBorderBoxRect that makes the snapping |
+ explicit, and moves uses that would otherwise pixel snap the rect to this version to |
+ avoid producing a rect of the incorrect size. For details about pixel snapping with |
+ LayoutUnits, please see https://trac.webkit.org/wiki/LayoutUnit |
+ |
+ No new tests. No change in behavior. |
+ |
+ * html/shadow/TextControlInnerElements.cpp: |
+ (WebCore::SpinButtonElement::defaultEventHandler): |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::addVisualOverflowFromTheme): |
+ * rendering/RenderBox.h: |
+ (WebCore::RenderBox::borderBoxRect): |
+ (WebCore::RenderBox::pixelSnappedBorderBoxRect): |
+ (WebCore::RenderBox::borderBoundingBox): |
+ (WebCore::RenderBox::hasVisualOverflow): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::scrollCornerRect): |
+ (WebCore::RenderLayer::scrollCornerAndResizerRect): |
+ (WebCore::RenderLayer::horizontalScrollbarStart): |
+ (WebCore::RenderLayer::positionOverflowControls): |
+ (WebCore::RenderLayer::paintResizer): |
+ (WebCore::RenderLayer::hitTestOverflowControls): |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
+ (WebCore::RenderLayerBacking::startAnimation): |
+ (WebCore::RenderLayerBacking::startTransition): |
+ * rendering/RenderTable.cpp: |
+ (WebCore::RenderTable::addOverflowFromChildren): |
+ * rendering/RenderThemeMac.mm: |
+ (WebCore::RenderThemeMac::paintSearchFieldCancelButton): |
+ (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): |
+ (WebCore::RenderThemeMac::paintSearchFieldResultsButton): |
+ * rendering/svg/RenderSVGRoot.cpp: |
+ (WebCore::RenderSVGRoot::paintReplaced): |
+ (WebCore::RenderSVGRoot::computeFloatRectForRepaint): |
+ |
+2012-04-16 Anders Carlsson <andersca@apple.com> |
+ |
+ Crash when running some editing related tests |
+ https://bugs.webkit.org/show_bug.cgi?id=84091 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Null check triggeringEvent. |
+ |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::insertTextWithoutSendingTextEvent): |
+ |
+2012-04-16 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Rename to updateZOrderListsSlowCase to rebuildZOrderLists |
+ https://bugs.webkit.org/show_bug.cgi?id=84071 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Use a better name for updateZOrderListsSlowCase(). |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::rebuildZOrderLists): |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): |
+ (WebCore::RenderLayer::updateZOrderLists): |
+ |
+2012-04-16 Terry Anderson <tdanderson@chromium.org> |
+ |
+ [chromium] Allow WebGestureEvent to store four floating point values |
+ https://bugs.webkit.org/show_bug.cgi?id=84053 |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ See bug description for an explanation of the changes made. |
+ |
+ * platform/PlatformGestureEvent.h: |
+ (WebCore::PlatformGestureEvent::PlatformGestureEvent): |
+ (PlatformGestureEvent): |
+ (WebCore::PlatformGestureEvent::gammaX): |
+ (WebCore::PlatformGestureEvent::gammaY): |
+ |
+2012-04-16 Kentaro Hara <haraken@chromium.org> |
+ |
+ [Refactoring][V8] Remove $indent from NativeToJSValue() |
+ https://bugs.webkit.org/show_bug.cgi?id=84077 |
+ |
+ Reviewed by Nate Chapin. |
+ |
+ $indent in NativeToJSValue() in CodeGeneratorV8.pm is not used. |
+ This patch removes it. |
+ |
+ No new tests. No change in behavior. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateNormalAttrGetter): |
+ (GenerateFunctionCallString): |
+ (NativeToJSValue): |
+ |
+2012-04-16 Luiz Agostini <luiz.agostini@palm.com> |
+ |
+ matchMedia() MediaQueryList not updating |
+ https://bugs.webkit.org/show_bug.cgi?id=75903 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Test: fast/media/media-query-list-08.html |
+ |
+ Viewport related MediaQueryList listeners were not triggered and the value |
+ of matches were not updated if the document's style selector were not |
+ affected by viewport changes. |
+ |
+ The new method evaluateMediaQueries() is now called by FrameView instead of |
+ styleSelectorChanged() if the style selector is not affected by viewport changes. |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::evaluateMediaQueries): |
+ (WebCore): |
+ (WebCore::Document::styleSelectorChanged): |
+ * dom/Document.h: |
+ (Document): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::layout): |
+ |
+2012-04-16 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Delete uncalled unreserveContentsTextures function |
+ https://bugs.webkit.org/show_bug.cgi?id=84005 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ This is vestigal dead code. |
+ |
+ * platform/graphics/chromium/Canvas2DLayerChromium.cpp: |
+ * platform/graphics/chromium/Canvas2DLayerChromium.h: |
+ (Canvas2DLayerChromium): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ * platform/graphics/chromium/cc/CCLayerImpl.h: |
+ (CCLayerImpl): |
+ |
+2012-04-13 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Avoid using backing store for compositing layers that just need to clip |
+ https://bugs.webkit.org/show_bug.cgi?id=40547 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ If a layer becomes composited because it needs to clip composited |
+ descendants, or if it has perspective, then it doesn't actually |
+ needs its own backing store; its contents can be painted by an |
+ ancestor, and we can just have an empty layer that does the clipping |
+ or applies the perspective transform. |
+ |
+ This saves backing store memory on some pages. |
+ |
+ Tests: compositing/backing/no-backing-for-clip-overlap.html |
+ compositing/backing/no-backing-for-clip.html |
+ compositing/backing/no-backing-for-perspective.html |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore): |
+ (WebCore::RenderLayer::enclosingCompositingLayerForRepaint): |
+ (WebCore::RenderLayer::paintLayer): |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::RenderLayerBacking): |
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): |
+ (WebCore::RenderLayerBacking::containsPaintedContent): |
+ (WebCore::RenderLayerBacking::setContentsNeedDisplay): |
+ (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): |
+ (WebCore::RenderLayerBacking::paintIntoLayer): |
+ * rendering/RenderLayerBacking.h: |
+ (RenderLayerBacking): |
+ (WebCore::RenderLayerBacking::paintsIntoCompositedAncestor): |
+ (WebCore::RenderLayerBacking::setRequiresOwnBackingStore): |
+ * rendering/RenderLayerCompositor.cpp: |
+ (WebCore::RenderLayerCompositor::layerWillBeRemoved): |
+ (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): |
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer): |
+ (WebCore::RenderLayerCompositor::requiresOwnBackingStore): |
+ (WebCore): |
+ * rendering/RenderLayerCompositor.h: |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::containerForRepaint): |
+ * rendering/RenderTreeAsText.cpp: |
+ (WebCore::write): |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::paintBoxDecorations): |
+ |
+2012-04-16 Brady Eidson <beidson@apple.com> |
+ |
+ <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050 |
+ WebKit2 back/forward items in the page cache are never removed when the page is closed |
+ |
+ Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee. |
+ |
+ * WebCore.exp.in: Export PageCache::remove() |
+ |
+2012-04-16 Philippe Normand <pnormand@igalia.com> |
+ |
+ Unreviewed, GTK build fix after r114269. |
+ |
+ * GNUmakefile.list.am: |
+ |
+2012-04-16 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: timeline. Range selection works incorrect with right click |
+ https://bugs.webkit.org/show_bug.cgi?id=83870 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ - only start window dragging upon mousedown with left button (right will cause a context menu and we won't see mouseup) |
+ |
+ * inspector/front-end/TimelineOverviewPane.js: |
+ (WebInspector.TimelineOverviewWindow.prototype._dragWindow): |
+ |
+2012-04-16 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling |
+ https://bugs.webkit.org/show_bug.cgi?id=83946 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables |
+ support for moving overview window with horizontal swype over lower timeline pane, thus removing |
+ an irritating situation when we try to both change overview window and scroll lower timeline pane |
+ upon a single touchpad gesture. Those willing to move timeline window now would need to position |
+ mouse over overview. |
+ |
+ * inspector/front-end/TimelineOverviewPane.js: |
+ (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel): |
+ (WebInspector.TimelineOverviewWindow.prototype._zoom): |
+ * inspector/front-end/TimelinePanel.js: |
+ (WebInspector.TimelinePanel): |
+ |
+2012-04-16 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot* |
+ https://bugs.webkit.org/show_bug.cgi?id=84038 |
+ |
+ A bunch of renames "detailed heapshot" -> "heap snapshot". |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-comparison-show-all.html |
+ inspector/profiler/heap-snapshot-comparison-show-next.html |
+ inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-comparison-sorting.html |
+ inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-containment-show-all.html |
+ inspector/profiler/heap-snapshot-containment-show-next.html |
+ inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-containment-sorting.html |
+ inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-dominators-show-all.html |
+ inspector/profiler/heap-snapshot-dominators-show-next.html |
+ inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-dominators-sorting.html |
+ inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-summary-show-all.html |
+ inspector/profiler/heap-snapshot-summary-show-next.html |
+ inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html |
+ inspector/profiler/heap-snapshot-summary-sorting.html |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js. |
+ (WebInspector.HeapSnapshotGridNode): |
+ (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated): |
+ (WebInspector.HeapSnapshotGridNode.prototype.createCell): |
+ (WebInspector.HeapSnapshotGridNode.prototype.dispose): |
+ (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent): |
+ (WebInspector.HeapSnapshotGridNode.prototype._toPercentString): |
+ (WebInspector.HeapSnapshotGridNode.prototype._createValueCell): |
+ (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted): |
+ (WebInspector.HeapSnapshotGridNode.prototype._populate): |
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize): |
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify): |
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved): |
+ (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotGridNode.prototype._saveChildren): |
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate): |
+ (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort): |
+ (WebInspector.HeapSnapshotGridNode.prototype.sort): |
+ (WebInspector.HeapSnapshotLazyGridNode): |
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated): |
+ (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells): |
+ (WebInspector.HeapSnapshotGenericObjectNode): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow): |
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL): |
+ (WebInspector.HeapSnapshotObjectNode): |
+ (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren): |
+ (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode): |
+ (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): |
+ (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): |
+ (WebInspector.HeapSnapshotObjectNode.prototype.comparator): |
+ (WebInspector.HeapSnapshotObjectNode.prototype._emptyData): |
+ (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData): |
+ (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell): |
+ (WebInspector.HeapSnapshotInstanceNode): |
+ (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode): |
+ (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity): |
+ (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode): |
+ (WebInspector.HeapSnapshotInstanceNode.prototype.comparator): |
+ (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData): |
+ (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData): |
+ (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode): |
+ (WebInspector.HeapSnapshotConstructorNode): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype.createCell): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype.comparator): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get data): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent): |
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent): |
+ (WebInspector.HeapSnapshotIteratorsTuple): |
+ (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose): |
+ (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind): |
+ (WebInspector.HeapSnapshotDiffNode): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived): |
+ (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode): |
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): |
+ (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): |
+ (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity): |
+ (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.comparator): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.get data): |
+ (WebInspector.HeapSnapshotDominatorObjectNode): |
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode): |
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): |
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity): |
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode): |
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator): |
+ (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData): |
+ (MixInSnapshotNodeFunctions): |
+ * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js. |
+ (WebInspector.HeapSnapshotSortableDataGrid): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave): |
+ (WebInspector.HeapSnapshotContainmentDataGrid): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged): |
+ (WebInspector.HeapSnapshotRetainmentDataGrid): |
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields): |
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged): |
+ (WebInspector.HeapSnapshotDiffDataGrid): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged): |
+ (WebInspector.HeapSnapshotView.profileCallback): |
+ (WebInspector.HeapSnapshotView): |
+ (WebInspector.HeapSnapshotView.prototype.dispose): |
+ (WebInspector.HeapSnapshotView.prototype.get statusBarItems): |
+ (WebInspector.HeapSnapshotView.prototype.get profile): |
+ (WebInspector.HeapSnapshotView.prototype.get profileWrapper): |
+ (WebInspector.HeapSnapshotView.prototype.get baseProfile): |
+ (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper): |
+ (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1): |
+ (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2): |
+ (WebInspector.HeapSnapshotView.prototype.wasShown): |
+ (WebInspector.HeapSnapshotView.prototype.willHide): |
+ (WebInspector.HeapSnapshotView.prototype.onResize): |
+ (WebInspector.HeapSnapshotView.prototype.searchCanceled): |
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName): |
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById): |
+ (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery): |
+ (WebInspector.HeapSnapshotView.prototype.performSearch): |
+ (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult): |
+ (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult): |
+ (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult): |
+ (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult): |
+ (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult): |
+ (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult): |
+ (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult): |
+ (WebInspector.HeapSnapshotView.prototype.refreshVisibleData): |
+ (WebInspector.HeapSnapshotView.prototype._changeBase): |
+ (WebInspector.HeapSnapshotView.prototype._changeFilter): |
+ (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter): |
+ (WebInspector.HeapSnapshotView.prototype._changeNameFilter): |
+ (WebInspector.HeapSnapshotView.prototype._profiles): |
+ (WebInspector.HeapSnapshotView.prototype._loadProfile): |
+ (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex): |
+ (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot): |
+ (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot): |
+ (WebInspector.HeapSnapshotView.prototype._selectionChanged): |
+ (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged): |
+ (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource): |
+ (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid): |
+ (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete): |
+ (WebInspector.HeapSnapshotView.prototype.changeView): |
+ (WebInspector.HeapSnapshotView.prototype._changeView): |
+ (WebInspector.HeapSnapshotView.prototype._getHoverAnchor): |
+ (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover): |
+ (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp): |
+ (WebInspector.HeapSnapshotView.prototype._helpClicked): |
+ (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging): |
+ (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging): |
+ (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging): |
+ (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight): |
+ (WebInspector.HeapSnapshotView.prototype._updateBaseOptions): |
+ (WebInspector.HeapSnapshotView.prototype._updateFilterOptions): |
+ (WebInspector.HeapSnapshotProfileType): |
+ (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip): |
+ (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked): |
+ (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle): |
+ (WebInspector.HeapSnapshotProfileType.prototype.get description): |
+ (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile): |
+ (WebInspector.HeapSnapshotProfileType.prototype.createView): |
+ * inspector/front-end/ProfilesPanel.js: |
+ (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk): |
+ (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot): |
+ (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress): |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/heapProfiler.css: |
+ (.heap-snapshot-view): |
+ (.heap-snapshot-view.visible): |
+ (.heap-snapshot-view .view): |
+ (.heap-snapshot-view .view.visible): |
+ (.heap-snapshot-view .data-grid tr:empty): |
+ (.heap-snapshot-view .data-grid): |
+ (.heap-snapshot-view .data-grid td.count-column): |
+ (.heap-snapshot-view .data-grid td.addedCount-column): |
+ (.heap-snapshot-view .data-grid td.removedCount-column): |
+ (.heap-snapshot-view .data-grid td.countDelta-column): |
+ (.heap-snapshot-view .data-grid td.addedSize-column): |
+ (.heap-snapshot-view .data-grid td.removedSize-column): |
+ (.heap-snapshot-view .data-grid td.sizeDelta-column): |
+ (.heap-snapshot-view .data-grid td.shallowSize-column): |
+ (.heap-snapshot-view .data-grid td.retainedSize-column): |
+ (.heap-snapshot-view .data-grid td.distanceToWindow-column): |
+ (.heap-snapshot-view .data-grid span.percent-column): |
+ (.heap-snapshot-view .console-formatted-object, .console-formatted-node): |
+ (.heap-snapshot-view .console-formatted-string): |
+ (.heap-snapshot-view .console-formatted-id): |
+ (.heap-snapshot-view .data-grid tr.selected *): |
+ (.heap-snapshot-view .data-grid:focus tr.selected *): |
+ (.heap-snapshot-view .delimiter): |
+ (.heap-snapshot-view .views-container): |
+ (.heap-snapshot-view .views-container .view): |
+ (.heap-snapshot-view .retaining-paths-view): |
+ (.heap-snapshot-view .class-view-grid): |
+ (.heap-snapshot-view .class-view-toolbar): |
+ (.heap-snapshot-view .class-view-toolbar input.class-name-filter): |
+ (.heap-snapshot-view .retainers-view-header): |
+ (.heap-snapshot-view .retainers-view-header .title > span): |
+ (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight): |
+ (.heap-snapshot-view td.object-column span.grayed): |
+ (.heap-snapshot-help-status-bar-item .glyph): |
+ (table.heap-snapshot-help): |
+ * inspector/front-end/inspector.html: |
+ |
+2012-04-16 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling |
+ https://bugs.webkit.org/show_bug.cgi?id=83946 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables |
+ support for moving overview window with horizontal swype over lower timeline pane, thus removing |
+ an irritating situation when we try to both change overview window and scroll lower timeline pane |
+ upon a single touchpad gesture. Those willing to move timeline window now would need to position |
+ mouse over overview. |
+ |
+ * inspector/front-end/TimelineOverviewPane.js: |
+ (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel): |
+ (WebInspector.TimelineOverviewWindow.prototype._zoom): |
+ * inspector/front-end/TimelinePanel.js: |
+ (WebInspector.TimelinePanel): |
+ |
+2012-04-11 Philippe Normand <pnormand@igalia.com> |
+ |
+ [GStreamer] HRTFDatabaseLoader conflicts with AudioFileReader |
+ https://bugs.webkit.org/show_bug.cgi?id=78095 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Moved the GStreamer initialization logic to a new |
+ GStreamerUtilities module, used by the MediaPlayer and the |
+ AudioContext. I also removed the static variables as |
+ gst_init_check already handles cases where it's called multiple |
+ times. |
+ |
+ * GNUmakefile.list.am: |
+ * Modules/webaudio/AudioContext.cpp: |
+ (WebCore::AudioContext::constructCommon): |
+ * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: |
+ (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): |
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: |
+ (WebCore::AudioFileReader::createBus): |
+ * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: |
+ (WTF::adoptGRef): |
+ (WTF): |
+ (WTF::GstElementFactory): |
+ * platform/graphics/gstreamer/GRefPtrGStreamer.h: |
+ (WTF): |
+ * platform/graphics/gstreamer/GStreamerUtilities.cpp: Added. |
+ (WebCore): |
+ (WebCore::initializeGStreamer): |
+ * platform/graphics/gstreamer/GStreamerUtilities.h: Added. |
+ (WebCore): |
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
+ (WebCore::doGstInit): |
+ |
+2012-04-16 ChangSeok Oh <shivamidow@gmail.com> |
+ |
+ Update GraphicsContext3DOpenGLES.cpp and fix some issues to build with GLES. |
+ https://bugs.webkit.org/show_bug.cgi?id=83982 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ GL_BGRA is not defined in GLESv2, so it causes build-break at readRenderingResults. |
+ To resolve this, a helper function readPixelsAndConvertToBGRAIfNecessary is added |
+ in GC3DOpenGL.cpp & GC3DOpenGLES.cpp and it's used in GC3DOpenGLCommon.cpp. |
+ And some other issues to build with GLES are gone with this patch. |
+ |
+ No new tests, since no new feature. |
+ |
+ * platform/graphics/GraphicsContext3D.h: |
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
+ (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary): |
+ (WebCore): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
+ (WebCore::GraphicsContext3D::readRenderingResults): |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
+ (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary): |
+ (WebCore): |
+ (WebCore::GraphicsContext3D::reshapeFBOs): |
+ (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): |
+ |
+2012-04-16 Xiaomei Ji <xji@chromium.org> |
+ |
+ [chromium] wrong justification for arabic/persian page in cr-win. |
+ https://bugs.webkit.org/show_bug.cgi?id=83227 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Disable kashida justification if using Skia to draw. |
+ |
+ Test: fast/text/international/arabic-justify.html |
+ |
+ * platform/graphics/chromium/UniscribeHelper.cpp: |
+ (WebCore::UniscribeHelper::justify): |
+ |
+2012-04-16 Jia Pu <jpu@apple.com> |
+ |
+ Build fix. |
+ |
+ Change set 114220 broke OS X internal build. Change set 114231 attempted to fix it, but isn't entirely |
+ correct. This patch amends change set 114231. |
+ |
+ * WebCore.exp.in: |
+ * editing/DictationAlternative.cpp: |
+ (WebCore::DictationAlternative::DictationAlternative): |
+ * editing/DictationAlternative.h: |
+ (DictationAlternative): |
+ |
+2012-04-16 Antti Koivisto <antti@apple.com> |
+ |
+ REGRESSION (r104445): Style is not recomputed on serenaandlily.com |
+ https://bugs.webkit.org/show_bug.cgi?id=83663 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ CSS class and id selectors are case insensitive in non-strict modes. The code |
+ that invalidated the scope elements used getElementByID() which is case |
+ sensitive in all modes. As a result we would fail to invalidate elements |
+ that would match a style rule but used different case in id. |
+ |
+ The new code invalidates by crawling the DOM tree. This often (when there are classes) |
+ actually faster than the existing code as we can now handle everything in a single pass. |
+ Each class scope required a crawl with the old code. |
+ |
+ The code uses the same functions as the selector matching code to get the same behavior. |
+ |
+ The maximum class limit is lifted as number of classes does not affect complexity anymore. |
+ |
+ Test: fast/css/id-or-class-before-stylesheet-strict.html |
+ |
+ * css/SelectorChecker.h: |
+ (WebCore::SelectorChecker::elementMatchesSelectorScopes): |
+ (WebCore): |
+ * dom/Document.cpp: |
+ (WebCore::Document::testAddedStylesheetRequiresStyleRecalc): |
+ (WebCore): |
+ |
+2012-04-16 Uday Kiran <udaykiran@motorola.com> |
+ |
+ CSS3 Selectors failures on css3test.com |
+ https://bugs.webkit.org/show_bug.cgi?id=83885 |
+ |
+ Reviewed by Zoltan Herczeg. |
+ |
+ Parsing fix for CSS3 selectors :nth-child(), :nth-last-child() :nth-of-type() :nth-last-of-type() |
+ with values -n-b and n-b as they are of valid form an+b where a and b are integers. |
+ http://www.w3.org/TR/selectors/#structural-pseudos |
+ |
+ Descriptors of form n-b or -n-b, where b is number, are valid CSS identifiers. |
+ However, in NthChildMode we need to check whether this identifier is a valid nth child descriptor. |
+ The original code only checked this if the string was n- or -n- but this is not enough. |
+ We need to check everything which starts with an n- or -n- prefix. |
+ |
+ Test: css3/parsing-css3-nthchild.html |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::lex): |
+ |
+2012-04-16 Eric Carlson <eric.carlson@apple.com> |
+ |
+ ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree |
+ https://bugs.webkit.org/show_bug.cgi?id=83949 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ No new tests. I was not able to create a reproducible test case, but I have been unable |
+ to reproduce the ASSERT that occassionally fired in existing tests since I have been |
+ living on these changes. |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::insertedIntoDocument): Call configureMediaControls. |
+ (WebCore::HTMLMediaElement::removedFromDocument): Ditto. |
+ (WebCore::HTMLMediaElement::configureMediaControls): Don't show controls when the |
+ media element is not in a Document. |
+ |
+2012-04-16 Eric Carlson <eric.carlson@apple.com> |
+ |
+ Layout Test media/track/track-delete-during-setup.html is hitting an ASSERT_NOT_REACHED |
+ https://bugs.webkit.org/show_bug.cgi?id=82269 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ No new tests, already tested by media/track/track-delete-during-setup.html. |
+ |
+ * html/HTMLTrackElement.cpp: |
+ (WebCore::HTMLTrackElement::insertedIntoDocument): Don't notify the media element until/unless |
+ the track element is inserted into the document. |
+ * html/HTMLTrackElement.h: |
+ |
+2012-04-16 Yael Aharon <yael.aharon@nokia.com> |
+ |
+ [Qt][WK2] Fixed elements position is wrong after zooming. |
+ https://bugs.webkit.org/show_bug.cgi?id=83981 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ When setFixedVisibleContentRect is called we mark all fixed elements in the frame for layout. |
+ In order to find these elements, RenderView maintains a list of fixed elements. |
+ They are added and removed at the same time that they are added and removed from their parent RenderBlock. |
+ The idea is taken from the iOS5.1 branch, at opensource.apple.com. |
+ Added a manual test that allows removing and adding fixed elements at will. |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::setFixedVisibleContentRect): |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::insertPositionedObject): |
+ (WebCore::RenderBlock::removePositionedObject): |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::setFixedPositionedObjectsNeedLayout): |
+ (WebCore): |
+ (WebCore::RenderView::insertFixedPositionedObject): |
+ (WebCore::RenderView::removeFixedPositionedObject): |
+ * rendering/RenderView.h: |
+ (RenderView): |
+ |
+2012-04-13 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: extract ContentProvider into its own file, make NetworkRequest, Resoruce and others implement it. |
+ https://bugs.webkit.org/show_bug.cgi?id=83922 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ We have two different types of requestContent methods: one on the source mapping level and one on the resource level. |
+ There are also adapters between the two. I'm aligning it all to a single requestContent method declared in ContentProvider. |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/BreakpointsSidebarPane.js: |
+ (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent): |
+ (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint): |
+ * inspector/front-end/ContentProvider.js: Added. |
+ (WebInspector.ContentProvider): |
+ (WebInspector.ContentProvider.prototype.contentURL): |
+ (WebInspector.ContentProvider.prototype.requestContent): |
+ (WebInspector.ContentProvider.prototype.searchInContent): |
+ (WebInspector.ContentProvider.SearchMatch): |
+ * inspector/front-end/ContentProviders.js: |
+ (WebInspector.ScriptContentProvider.prototype.contentURL): |
+ (WebInspector.ScriptContentProvider.prototype.requestContent): |
+ (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL): |
+ (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent): |
+ (WebInspector.CompilerSourceMappingContentProvider.prototype.contentURL): |
+ (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent): |
+ (WebInspector.StaticContentProvider.prototype.contentURL): |
+ (WebInspector.StaticContentProvider.prototype.requestContent): |
+ * inspector/front-end/DebuggerPresentationModel.js: |
+ * inspector/front-end/ExtensionServer.js: |
+ (WebInspector.ExtensionServer.prototype._getResourceContent): |
+ * inspector/front-end/JavaScriptSourceFrame.js: |
+ (WebInspector.JavaScriptSourceFrame.prototype.requestContent): |
+ * inspector/front-end/NetworkItemView.js: |
+ (WebInspector.RequestContentView.prototype._ensureInnerViewShown.callback): |
+ (WebInspector.RequestContentView.prototype._ensureInnerViewShown): |
+ * inspector/front-end/NetworkRequest.js: |
+ (WebInspector.NetworkRequest.prototype.contentURL): |
+ (WebInspector.NetworkRequest.prototype.requestContent): |
+ (WebInspector.NetworkRequest.prototype.searchInContent): |
+ (WebInspector.NetworkRequest.prototype.populateImageSource): |
+ (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent): |
+ (WebInspector.NetworkRequest.prototype._innerRequestContent): |
+ * inspector/front-end/RawSourceCode.js: |
+ (WebInspector.RawSourceCode.prototype._createContentProvider): |
+ (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent): |
+ (WebInspector.RawSourceCode.prototype._createSourceMapping): |
+ * inspector/front-end/Resource.js: |
+ (WebInspector.Resource.prototype.contentURL): |
+ (WebInspector.Resource.prototype.requestContent): |
+ (WebInspector.Resource.prototype._innerRequestContent.callback): |
+ (WebInspector.Resource.prototype._innerRequestContent): |
+ (WebInspector.ResourceRevision.prototype.contentURL): |
+ (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper): |
+ (WebInspector.ResourceRevision.prototype.requestContent): |
+ (WebInspector.ResourceRevision.prototype.searchInContent): |
+ * inspector/front-end/ResourceView.js: |
+ (WebInspector.ResourceSourceFrame.prototype.requestContent): |
+ (WebInspector.ResourceSourceFrame.prototype._contentChanged): |
+ (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent): |
+ * inspector/front-end/ScriptFormatter.js: |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline): |
+ * inspector/front-end/SourceFrame.js: |
+ (WebInspector.SourceFrame.prototype.setContent): |
+ * inspector/front-end/UISourceCode.js: |
+ (WebInspector.UISourceCode): |
+ (WebInspector.UISourceCode.prototype.requestContent): |
+ (WebInspector.UISourceCode.prototype._didRequestContent): |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ |
+2012-04-16 Jason Liu <jason.liu@torchmobile.com.cn> |
+ |
+ [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true). |
+ https://bugs.webkit.org/show_bug.cgi?id=83866 |
+ |
+ Reviewed by George Staikos. |
+ |
+ We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true). |
+ There are no data received because its method is HEAD. |
+ This case shouldn't be treated as a failure. |
+ |
+ Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html |
+ |
+ * platform/network/blackberry/NetworkJob.cpp: |
+ (WebCore::NetworkJob::handleNotifyClose): |
+ |
+2012-04-16 Jon Lee <jonlee@apple.com> |
+ |
+ Build fix. |
+ |
+ * WebCore.exp.in: |
+ * editing/DictationAlternative.cpp: |
+ (WebCore::DictationAlternative::DictationAlternative): |
+ * editing/DictationAlternative.h: |
+ (DictationAlternative): |
+ |
+2012-04-16 George Staikos <staikos@webkit.org> |
+ |
+ Fix signed/unsigned mismatch warning for BlackBerry debug builds. |
+ https://bugs.webkit.org/show_bug.cgi?id=80790 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ * platform/blackberry/CookieMap.cpp: |
+ (WebCore::CookieMap::removeCookieAtIndex): |
+ |
+2012-04-15 Kent Tamura <tkent@chromium.org> |
+ |
+ WebCore::weekDayShortLabels() for ICU always returns the fallback labels |
+ https://bugs.webkit.org/show_bug.cgi?id=83991 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ We need to specfiy 1-based index to udat_getSymbols() with |
+ UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS |
+ returns 8. |
+ |
+ No new tests because this behavior depends on locale setting. |
+ |
+ * platform/text/LocalizedCalendarICU.cpp: |
+ (WebCore::createLabelVector): Add startIndex argument. |
+ (WebCore::createMonthLabels): |
+ Pass UDAT_JANUARRY(0) as startIndex to createLabelVector(). |
+ (WebCore::createWeekDayShortLabels): |
+ Pass UDAT_SUNDAY(1) as startIndex to createLabelVector(). |
+ |
+2012-04-15 MORITA Hajime <morrita@google.com> |
+ |
+ Unreviewed attempt to chromium-win build fix. |
+ |
+ * editing/DictationAlternative.h: |
+ |
+2012-04-15 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ Align JSC/V8 bindings canvas.toDataURL() code flows |
+ https://bugs.webkit.org/show_bug.cgi?id=84003 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Align JSC/V8 bindings canvas.toDataURL() code flow so that the binding |
+ code implementations read alike. |
+ |
+ No new tests. Covered by existing cnavas toDataURL tests. |
+ |
+ * bindings/js/JSHTMLCanvasElementCustom.cpp: |
+ (WebCore::JSHTMLCanvasElement::toDataURL): |
+ |
+2012-04-15 Jia Pu <jpu@apple.com> |
+ |
+ Introducing DictationCommand. |
+ https://bugs.webkit.org/show_bug.cgi?id=83549 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ No new tests. This patch doesn't introduce any change of new functionality. It prepares for |
+ additional changes which will inlude tests. |
+ |
+ On OS X, alternative dictation results need to be stored as document markers. This patch introduces |
+ following changes to achieve this: |
+ 1. Added DictationMarkDetails to store non-string type maker detail. |
+ 2. Introduce DictationCommand, which is similor to TypingCommand, but allows inserting text with |
+ attached markers. |
+ 3. Added Editor::insertDictatedText as interaface to WebKit and WebKit2. |
+ 4. Added struct DictationAlternative to pass dictation related info from WebKit to WebCore. |
+ |
+ Several fragments of code in TypingCommand can be also used by DictationCommand. So this patch |
+ introduced a new class, TextInsertionBaseCommand. It's a subclass of CompositeEditCommmand, and |
+ base class of both TypingCommand and DictationCommand. |
+ |
+ This patch also extends InsertTextCommand class. Its constructor will take an TextInsertionMarkerSupplier |
+ object. After text is inserted to a node, InsertTextCommand would give marker supplier a chance to |
+ add document markers to the inserted text. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.exp.in: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * dom/Document.cpp: |
+ (WebCore::eventTargetNodeForDocument): Moved this function from EventHandler so that it can be used |
+ by AlternativeTextController. |
+ (WebCore): |
+ * dom/Document.h: |
+ (WebCore): |
+ * dom/DocumentMarker.cpp: |
+ (WebCore::DocumentMarker::DocumentMarker): New constructor that takes a pointer to DocumentMarkerDetails object. |
+ (WebCore): |
+ * dom/DocumentMarker.h: |
+ (WebCore::DocumentMarker::AllMarkers::AllMarkers): |
+ (DocumentMarker): |
+ * dom/DocumentMarkerController.cpp: |
+ (WebCore::DocumentMarkerController::addMarker): |
+ (WebCore): |
+ * dom/DocumentMarkerController.h: |
+ (DocumentMarkerController): |
+ * dom/TextEvent.cpp: |
+ (WebCore::TextEvent::createForDictation): |
+ (WebCore): |
+ (WebCore::TextEvent::TextEvent): |
+ * dom/TextEvent.h: Added member variable for dictation alternatives. |
+ (TextEvent): |
+ (WebCore::TextEvent::isDictation): |
+ (WebCore::TextEvent::dictationAlternatives): |
+ * dom/TextEventInputType.h: |
+ * editing/AlternativeTextController.cpp: |
+ (WebCore::AlternativeTextController::AlternativeTextController): |
+ (WebCore::AlternativeTextController::insertDictatedText): Used by Editor::insertDictatedText(). |
+ (WebCore): |
+ * editing/AlternativeTextController.h: |
+ (WebCore): |
+ (DictationMarkerDetails): |
+ (WebCore::DictationMarkerDetails::create): |
+ (WebCore::DictationMarkerDetails::originalText): |
+ (WebCore::DictationMarkerDetails::dictationContext): |
+ (WebCore::DictationMarkerDetails::DictationMarkerDetails): |
+ (AlternativeTextController): |
+ * editing/CompositeEditCommand.h: |
+ (WebCore::CompositeEditCommand::isDictationCommand): |
+ * editing/DictationAlternative.cpp: Added. |
+ (WebCore): |
+ (WebCore::DictationAlternative::DictationAlternative): |
+ * editing/DictationAlternative.h: Added. Data structure for passing dictation related data from WebKit to WebCore. |
+ (DictationAlternative): |
+ (WebCore): |
+ * editing/DictationCommand.cpp: Added. |
+ (WebCore): |
+ (DictationCommandLineOperation): |
+ (WebCore::DictationCommandLineOperation::DictationCommandLineOperation): |
+ (WebCore::DictationCommandLineOperation::operator()): |
+ (DictationMarkerSupplier): |
+ (WebCore::DictationMarkerSupplier::create): |
+ (WebCore::DictationMarkerSupplier::addMarkersToTextNode): |
+ (WebCore::DictationMarkerSupplier::DictationMarkerSupplier): |
+ (WebCore::DictationCommand::DictationCommand): |
+ (WebCore::DictationCommand::insertText): |
+ (WebCore::DictationCommand::doApply): |
+ (WebCore::DictationCommand::insertTextRunWithoutNewlines): |
+ (WebCore::DictationCommand::insertParagraphSeparator): |
+ (WebCore::DictationCommand::collectDictationAlternativesInRange): |
+ * editing/DictationCommand.h: Added. |
+ (WebCore): |
+ (DictationCommand): |
+ (WebCore::DictationCommand::isDictationCommand): |
+ (WebCore::DictationCommand::create): |
+ * editing/EditingAllInOne.cpp: |
+ * editing/Editor.cpp: |
+ (WebCore::Editor::insertDictatedText): Main interface that allows WebKit passes in text with attached dictation information. |
+ (WebCore): |
+ (WebCore::Editor::insertTextWithoutSendingTextEvent): |
+ (WebCore::Editor::updateMarkersForWordsAffectedByEditing): |
+ * editing/Editor.h: |
+ (Editor): |
+ * editing/InsertTextCommand.cpp: |
+ (WebCore::InsertTextCommand::InsertTextCommand): |
+ (WebCore): |
+ (WebCore::InsertTextCommand::doApply): |
+ * editing/InsertTextCommand.h: |
+ (WebCore): |
+ (TextInsertionMarkerSupplier): Interface to allow caller of InsertTextCommand to add document markers to inserted text. |
+ (WebCore::TextInsertionMarkerSupplier::~TextInsertionMarkerSupplier): |
+ (WebCore::TextInsertionMarkerSupplier::TextInsertionMarkerSupplier): |
+ (WebCore::InsertTextCommand::createWithMarkerSupplier): |
+ (InsertTextCommand): |
+ * editing/TextInsertionBaseCommand.cpp: Added. This class contains functions shared by TypingCommand and DictationCommand. |
+ (WebCore): |
+ (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand): |
+ (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand): |
+ (WebCore::dispatchBeforeTextInsertedEvent): |
+ (WebCore::canAppendNewLineFeedToSelection): |
+ * editing/TextInsertionBaseCommand.h: Added. |
+ (WebCore): |
+ (TextInsertionBaseCommand): |
+ (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand): |
+ (WebCore::forEachLineInString): |
+ * editing/TypingCommand.cpp: |
+ (TypingCommandLineOperation): |
+ (WebCore::TypingCommandLineOperation::TypingCommandLineOperation): |
+ (WebCore::TypingCommandLineOperation::operator()): |
+ (WebCore::TypingCommand::TypingCommand): |
+ (WebCore::TypingCommand::insertText): |
+ (WebCore::TypingCommand::insertLineBreak): |
+ (WebCore::TypingCommand::insertParagraphSeparator): |
+ * editing/TypingCommand.h: |
+ * page/EventHandler.cpp: |
+ * rendering/InlineTextBox.cpp: |
+ (WebCore::lineStyleForMarkerType): |
+ (WebCore::InlineTextBox::paintDocumentMarker): Renamed existing function to reflect new funcationality. |
+ (WebCore::InlineTextBox::paintDocumentMarkers): |
+ * rendering/InlineTextBox.h: |
+ (InlineTextBox): |
+ * testing/Internals.cpp: |
+ (WebCore::markerTypesFrom): |
+ |
+2012-04-15 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] LayerRendererChromium shouldn't know anything about CCLayerImpl |
+ https://bugs.webkit.org/show_bug.cgi?id=83415 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ This removes all knowledge of CCLayerImpl from LayerRendererChromium. The most significant move code-wise is |
+ moving the HUD up to live on CCLayerTreeHostImpl, since it's aware of the layer tree. This involves two changes. |
+ First, CCHeadsUpDisplay is in charge of populating a ManagedTexture but the actual drawing code now lives in |
+ LayerRendererChromium. Second, since we don't recreate CCLayerTreeHostImpl on a lost context, the font atlas |
+ ownership is much simpler. Now a CCFontAtlas is created on the main thread if needed and passed asynchronously |
+ to the CCHeadsUpDisplay which takes ownership of the atlas. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::create): |
+ (WebCore::LayerRendererChromium::initialize): |
+ (WebCore::LayerRendererChromium::~LayerRendererChromium): |
+ (WebCore::LayerRendererChromium::beginDrawingFrame): |
+ (WebCore::LayerRendererChromium::drawHeadsUpDisplay): |
+ (WebCore): |
+ (WebCore::LayerRendererChromium::finishDrawingFrame): |
+ (WebCore::LayerRendererChromium::swapBuffers): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (LayerRendererChromiumClient): |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay): |
+ (WebCore::CCHeadsUpDisplay::setFontAtlas): |
+ (WebCore): |
+ (WebCore::CCHeadsUpDisplay::enabled): |
+ (WebCore::CCHeadsUpDisplay::showPlatformLayerTree): |
+ (WebCore::CCHeadsUpDisplay::draw): |
+ (WebCore::CCHeadsUpDisplay::drawHudContents): |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: |
+ (WebCore): |
+ (WebCore::CCHeadsUpDisplay::create): |
+ (CCHeadsUpDisplay): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::initialize): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (CCLayerTreeHost): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): |
+ (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl): |
+ (WebCore::CCLayerTreeHostImpl::canDraw): |
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses): |
+ (WebCore::CCLayerTreeHostImpl::prepareToDraw): |
+ (WebCore::CCLayerTreeHostImpl::drawLayers): |
+ (WebCore::CCLayerTreeHostImpl::swapBuffers): |
+ (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer): |
+ (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage): |
+ (WebCore::CCLayerTreeHostImpl::layerTreeAsText): |
+ (WebCore): |
+ (WebCore::CCLayerTreeHostImpl::setFontAtlas): |
+ (WebCore::CCLayerTreeHostImpl::dumpRenderSurfaces): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
+ (CCLayerTreeHostImpl): |
+ (WebCore::CCLayerTreeHostImpl::rootLayer): |
+ * platform/graphics/chromium/cc/CCProxy.h: |
+ (WebCore): |
+ (CCProxy): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
+ (WebCore::CCSingleThreadProxy::initializeLayerRenderer): |
+ (WebCore::CCSingleThreadProxy::recreateContext): |
+ (WebCore::CCSingleThreadProxy::setFontAtlas): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
+ (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread): |
+ (WebCore::CCThreadProxy::setFontAtlas): |
+ (WebCore): |
+ (WebCore::CCThreadProxy::setFontAtlasOnImplThread): |
+ (WebCore::CCThreadProxy::recreateContextOnImplThread): |
+ * platform/graphics/chromium/cc/CCThreadProxy.h: |
+ (CCThreadProxy): |
+ |
+2012-04-15 Antti Koivisto <antti@apple.com> |
+ |
+ Capture CSS parser context |
+ https://bugs.webkit.org/show_bug.cgi?id=83998 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Currently the CSS parser calls to the Document and StyleSheetInternal objects to get settings, base URL etc. |
+ The required information should be passed in on parser construction instead. The parser should not need to |
+ know about the document at all. |
+ |
+ The patch adds CSSParserContext struct that captures the parsing context. StyleSheetInternal saves the |
+ parsing context and reuses it for any further parsing. |
+ |
+ If the same stylesheet source is parsed with an identical context then the resulting stylesheet structure will |
+ be identical. This will allow sharing parsed stylesheets in the future. |
+ |
+ * css/CSSGrammar.y: |
+ * css/CSSImportRule.cpp: |
+ (WebCore::StyleRuleImport::setCSSStyleSheet): |
+ * css/CSSMediaRule.cpp: |
+ (WebCore::CSSMediaRule::insertRule): |
+ * css/CSSPageRule.cpp: |
+ (WebCore::CSSPageRule::setSelectorText): |
+ * css/CSSParser.cpp: |
+ (WebCore): |
+ (WebCore::strictCSSParserContext): |
+ (WebCore::CSSParserContext::CSSParserContext): |
+ (WebCore::CSSParser::CSSParser): |
+ (WebCore::CSSParser::parseKeyframeRule): |
+ (WebCore::CSSParser::parseValue): |
+ (WebCore::CSSParser::parseSelector): |
+ (WebCore::CSSParser::completeURL): |
+ (WebCore::CSSParser::parseContent): |
+ (WebCore::CSSParser::parseAttr): |
+ (WebCore::CSSParser::parseFillImage): |
+ (WebCore::CSSParser::parseFontFaceSrcURI): |
+ (WebCore::CSSParser::parseFontFaceSrc): |
+ (WebCore::CSSParser::parseBorderImage): |
+ (WebCore::CSSParser::parseImageSet): |
+ (WebCore::CSSParser::parseCustomFilter): |
+ (WebCore::CSSParser::parseFilter): |
+ (WebCore::CSSParser::cssRegionsEnabled): |
+ (WebCore::CSSParser::parseFlowThread): |
+ (WebCore::CSSParser::createMediaRule): |
+ (WebCore::CSSParser::createStyleRule): |
+ (WebCore::CSSParser::createFontFaceRule): |
+ (WebCore::CSSParser::createPageRule): |
+ (WebCore::CSSParser::createKeyframe): |
+ * css/CSSParser.h: |
+ (CSSParser): |
+ (WebCore::CSSParser::inStrictMode): |
+ (WebCore::CSSParser::inQuirksMode): |
+ (WebCore::CSSParser::validUnit): |
+ * css/CSSParserMode.h: |
+ (WebCore): |
+ (CSSParserContext): |
+ * css/CSSRule.h: |
+ (WebCore::CSSRule::parserContext): |
+ (CSSRule): |
+ * css/CSSStyleRule.cpp: |
+ (WebCore::CSSStyleRule::setSelectorText): |
+ * css/CSSStyleSheet.cpp: |
+ (WebCore::StyleSheetInternal::StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::parseString): |
+ (WebCore::StyleSheetInternal::parseStringAtLine): |
+ (WebCore): |
+ (WebCore::StyleSheetInternal::updateBaseURL): |
+ (WebCore::StyleSheetInternal::completeURL): |
+ (WebCore::CSSStyleSheet::insertRule): |
+ * css/CSSStyleSheet.h: |
+ (StyleSheetInternal): |
+ (WebCore::StyleSheetInternal::parserContext): |
+ (WebCore::StyleSheetInternal::charset): |
+ (WebCore::StyleSheetInternal::setFinalURL): |
+ (WebCore::StyleSheetInternal::baseURL): |
+ * css/CSSValuePool.cpp: |
+ * css/StylePropertySet.cpp: |
+ (WebCore::StylePropertySet::parseDeclaration): |
+ * css/WebKitCSSKeyframesRule.cpp: |
+ (WebCore::WebKitCSSKeyframesRule::insertRule): |
+ * dom/Document.cpp: |
+ (WebCore::Document::webkitGetFlowByName): |
+ (WebCore::Document::pageUserSheet): |
+ (WebCore::Document::pageGroupUserSheets): |
+ * dom/Element.cpp: |
+ (WebCore::Element::webkitMatchesSelector): |
+ * dom/Node.cpp: |
+ (WebCore::Node::querySelector): |
+ (WebCore::Node::querySelectorAll): |
+ * dom/ProcessingInstruction.cpp: |
+ (WebCore::ProcessingInstruction::parseStyleSheet): |
+ * dom/StyleElement.cpp: |
+ (WebCore::StyleElement::createSheet): |
+ * html/HTMLLinkElement.cpp: |
+ (WebCore::HTMLLinkElement::setCSSStyleSheet): |
+ * html/shadow/ContentSelectorQuery.cpp: |
+ (WebCore::ContentSelectorQuery::ContentSelectorQuery): |
+ * inspector/InspectorStyleSheet.cpp: |
+ (WebCore::InspectorStyle::setPropertyText): |
+ (WebCore::InspectorStyleSheet::reparseStyleSheet): |
+ (WebCore::InspectorStyleSheet::ensureSourceData): |
+ (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): |
+ |
+2012-04-15 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ [Cairo] Separate image encoding from dataURL construction |
+ https://bugs.webkit.org/show_bug.cgi?id=83975 |
+ |
+ Reviewed by Martin Robinson. |
+ |
+ Remove the implicit assumption that a dataURL is the only desired output format |
+ of the image encoding phase. |
+ |
+ No new tests. Covered by existing canvas toDataURL tests. |
+ |
+ * platform/graphics/cairo/ImageBufferCairo.cpp: |
+ (WebCore::writeFunction): Rename closure to output. |
+ (WebCore::encodeImage): Output the encoded image to the provided Vector<char>. |
+ PNG format is only supported per the Cairo encoding MIMETypeRegistry. |
+ (WebCore): |
+ (WebCore::ImageBuffer::toDataURL): Refactor to use encodeImage(). |
+ |
+2012-04-15 Yuta Kitamura <yutak@chromium.org> |
+ |
+ Leak in WebSocketChannel with workers/worker-reload.html (part 2) |
+ https://bugs.webkit.org/show_bug.cgi?id=83749 |
+ |
+ Reviewed by David Levin. |
+ |
+ Second attempt to remove leaks around WorkerThreadableWebSocketChannel. |
+ |
+ No new tests, as this patch does not impose any functional change. |
+ |
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: |
+ (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper): |
+ (WebCore::ThreadableWebSocketChannelClientWrapper::failedWebSocketChannelCreation): |
+ (WebCore::ThreadableWebSocketChannelClientWrapper::setFailedWebSocketChannelCreation): |
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: |
+ Add a boolean flag indicating whether Bridge::initialize() has exited without receiving |
+ a pointer to the peer object. |
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp: |
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create): |
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask): |
+ (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::performTask): |
+ Kick mainThreadDestroy() to delete the peer if the bridge has failed to receive |
+ a pointer to the peer (waitForMethodCompletion() exited due to message queue's |
+ termination). |
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize): |
+ (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize): |
+ * Modules/websockets/WorkerThreadableWebSocketChannel.h: |
+ (WorkerThreadableWebSocketChannel): |
+ Make WorkerContextDidInitializeTask an inner class of WorkerThreadableWebSocketChannel |
+ so it can refer WorkerThreadableWebSocketChannel's static member function (mainThreadDestroy()). |
+ |
+2012-04-14 Emil A Eklund <eae@chromium.org> |
+ |
+ Fix pixelSnapping for CalendarPicker, MediaControl and ScrollbarPart |
+ https://bugs.webkit.org/show_bug.cgi?id=83929 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Update CalendarPickerElement and MediaControlElements to use |
+ pixelSnappedSize in preparation for turning on subpixel support. |
+ Update RenderScrollbarPart to pixel snap rect before painting to ensure |
+ that it is painted on device pixel boundaries. |
+ |
+ No new tests, no change in functionality. |
+ |
+ * html/shadow/CalendarPickerElement.cpp: |
+ (WebCore::CalendarPickerElement::openPopup): |
+ * html/shadow/MediaControlElements.cpp: |
+ (WebCore::RenderMediaVolumeSliderContainer::layout): |
+ * rendering/RenderScrollbarPart.cpp: |
+ (WebCore::RenderScrollbarPart::paintIntoRect): |
+ |
+2012-04-14 Kent Tamura <tkent@chromium.org> |
+ |
+ Day of week labels are wrong if WebCore::firstDayOfWeek() is not 0 |
+ https://bugs.webkit.org/show_bug.cgi?id=83990 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ We passed the "weekStartDay" property value as a |
+ string. CalendarPickerElement::writeDocument() created: |
+ weekStartDay: "1", |
+ and the JavaScript code used it in the following code: |
+ dayLabels[(weekStartDay + i) % 7] |
+ If weekStartDay was "1", the expression (weekStartDay + i) |
+ produced "10", "11", "12", ... We expected "1", "2", "3", ... |
+ |
+ We need to pass the "weekStartDay" property as a number. |
+ |
+ No new tests because we have no ways to test this for now. We'll |
+ introduce tests for the calendar picker later. |
+ |
+ * html/shadow/CalendarPickerElement.cpp: |
+ (WebCore::addProperty): Add addProperty() function for a number. |
+ (WebCore::CalendarPickerElement::writeDocument): |
+ Pass a number, not a serialized number. |
+ |
+2012-04-14 Joe Thomas <joethomas@motorola.com> |
+ |
+ Viewport-percentage Length units does not work for Replaced elements size |
+ https://bugs.webkit.org/show_bug.cgi?id=83425 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Added the support for viewport-percentage length units while calculating the width/height of replaced elements. |
+ |
+ Tests: css3/viewport-percentage-lengths/viewport-percentage-image-size.html |
+ |
+ * platform/Length.h: |
+ (WebCore::Length::isSpecified): |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::computeReplacedLogicalWidthUsing): |
+ |
+2012-04-14 Joe Thomas <joethomas@motorola.com> |
+ |
+ CSSStyleDeclaration.getPropertyValue() for 'border-radius' returns null when value is set |
+ https://bugs.webkit.org/show_bug.cgi?id=80736 |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Added support for fetching the value of 'border-radius' CSS property which was missing. |
+ |
+ Test: fast/css/border-radius-property-value.html |
+ |
+ * css/StylePropertySet.cpp: |
+ (WebCore::StylePropertySet::getPropertyValue): |
+ |
+2012-04-14 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=83826 |
+ |
+ Wrong Font code path was chosen after r114032. The TextRun constructor has an additional argument that |
+ needs to be included if rounding hacks are mentioned. |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ (WebCore::CanvasRenderingContext2D::drawTextInternal): |
+ * rendering/RenderListBox.cpp: |
+ (WebCore::RenderListBox::paintItemForeground): |
+ * rendering/break_lines.cpp: |
+ (WebCore::nextBreakablePosition): |
+ |
+2012-04-14 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ [Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs |
+ https://bugs.webkit.org/show_bug.cgi?id=83569 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ No new tests. Covered by exiting fast/canvas/*toDataURL* tests. |
+ |
+ * platform/graphics/cairo/ImageBufferCairo.cpp: |
+ (WebCore::writeFunction): Return write success or failure with the appropriate |
+ cairo status code per http://cairographics.org/manual/cairo-PNG-Support.html |
+ (WebCore::ImageBuffer::toDataURL): Add mimeType ASSERT()s. <canvas> ensures that |
+ a valid mimeType (supported by the port) is sent to toDataURL() calls. Check for |
+ encoding failure and return "data:," if so. |
+ |
+2012-04-13 David Reveman <reveman@chromium.org> |
+ |
+ [Chromium] Avoid unnecessary full tile updates for checkerboard tiles. |
+ https://bugs.webkit.org/show_bug.cgi?id=83804 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Cleanup code that determines if we need to use a buffered update and |
+ avoid buffering of tiles that are not in use by the impl thread. |
+ |
+ Tests: CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread |
+ TiledLayerChromiumTest.partialUpdates |
+ |
+ * platform/graphics/chromium/TiledLayerChromium.cpp: |
+ (UpdatableTile): |
+ (WebCore::UpdatableTile::UpdatableTile): |
+ (WebCore::TiledLayerChromium::pushPropertiesTo): |
+ (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate): |
+ (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate): |
+ (WebCore::TiledLayerChromium::updateTiles): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::bufferedUpdates): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (CCLayerTreeHost): |
+ |
2012-04-13 Dana Jansens <danakj@chromium.org> |
+ [chromium] Cleanup texture memory eviction when LayerTreeHost becomes invisible |
+ https://bugs.webkit.org/show_bug.cgi?id=83899 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ When a LTH becomes invisible, the texture eviction is spread out across |
+ two different functions and is not entirely clear. We move all the logic |
+ together into a single place in didBecomeInvisibleOnImplThread() and |
+ make the consequences of the current code more clear. |
+ |
+ Covered by existing tests. |
+ |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread): |
+ (WebCore::CCLayerTreeHost::setVisible): |
+ (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): |
+ |
+2012-04-13 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r114036. |
+ http://trac.webkit.org/changeset/114036 |
+ https://bugs.webkit.org/show_bug.cgi?id=83969 |
+ |
+ Breaks gmail.com causing it to never finish loading (Requested |
+ by danakj on #webkit). |
+ |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): |
+ (GenerateImplementation): |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateNamedConstructorCallback): |
+ (GenerateImplementation): |
+ * bindings/scripts/IDLAttributes.txt: |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObj::createPrototype): |
+ * bindings/scripts/test/JS/JSTestObj.h: |
+ * bindings/scripts/test/TestObj.idl: |
+ * bindings/scripts/test/V8/V8Float64Array.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestInterface.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestNode.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
+ (WebCore): |
+ * bindings/v8/NPV8Object.cpp: |
+ (WebCore::npObjectTypeInfo): |
+ * bindings/v8/V8BindingPerContextData.cpp: |
+ (WebCore::V8BindingPerContextData::init): |
+ (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase): |
+ (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): |
+ * bindings/v8/V8BindingPerContextData.h: |
+ (V8BindingPerContextData): |
+ * bindings/v8/V8HiddenPropertyName.h: |
+ (WebCore): |
+ * bindings/v8/WrapperTypeInfo.h: |
+ (WrapperTypeInfo): |
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: |
+ (WebCore): |
+ * dom/NodeList.idl: |
+ |
+2012-04-13 Alexandre Elias <aelias@google.com> |
+ |
+ [chromium] Add null pointer check to animatePageScale |
+ https://bugs.webkit.org/show_bug.cgi?id=83940 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Add null pointer check to startPageScaleAnimation. |
+ |
+ If the root scroll layer goes away in the middle of a page scale |
+ animation, there can be a null pointer access here. |
+ |
+ No new tests. |
+ |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::animatePageScale): |
+ |
+2012-04-13 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Replicas should be included in the computed occlusion |
+ https://bugs.webkit.org/show_bug.cgi?id=82262 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ When merging a surface's occlusion up to its target, make a copy of it |
+ where the replica will be as well, and make sure that occlusion from a |
+ RenderSurface does not leave its clipRect. |
+ |
+ Unit test: CCOcclusionTrackerTestReplicaDoesOcclude |
+ CCOcclusionTrackerTestReplicaWithClipping |
+ CCOcclusionTrackerTestSurfaceChildOfSurface |
+ |
+ * platform/graphics/chromium/RenderSurfaceChromium.cpp: |
+ (WebCore::RenderSurfaceChromium::hasReplica): |
+ (WebCore): |
+ * platform/graphics/chromium/RenderSurfaceChromium.h: |
+ (RenderSurfaceChromium): |
+ * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: |
+ (WebCore::transformSurfaceOpaqueRegion): |
+ (WebCore::::leaveToTargetRenderSurface): |
+ |
+2012-04-13 Raymond Liu <raymond.liu@intel.com> |
+ |
+ AudioContext createChannelMerger() method should have optional argument for number of inputs. |
+ https://bugs.webkit.org/show_bug.cgi?id=83759 |
+ |
+ Reviewed by Chris Rogers. |
+ |
+ Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument. |
+ |
+ Test: webaudio/audiochannelmerger-basic.html |
+ |
+ * Modules/webaudio/AudioChannelMerger.cpp: |
+ (WebCore): |
+ (WebCore::AudioChannelMerger::create): |
+ (WebCore::AudioChannelMerger::AudioChannelMerger): |
+ * Modules/webaudio/AudioChannelMerger.h: |
+ (AudioChannelMerger): |
+ * Modules/webaudio/AudioContext.cpp: |
+ (WebCore::AudioContext::createChannelMerger): |
+ (WebCore): |
+ * Modules/webaudio/AudioContext.h: |
+ (AudioContext): |
+ * Modules/webaudio/AudioContext.idl: |
+ |
+2012-04-13 Dana Jansens <danakj@chromium.org> |
+ |
[chromium] Remove viewport memory restrictions |
https://bugs.webkit.org/show_bug.cgi?id=83316 |
@@ -26,6 +3205,6818 @@ |
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): |
(WebCore::CCLayerTreeHost::updateLayers): |
+2012-04-13 Ken Buchanan <kenrb@chromium.org> |
+ |
+ Optimize tracking of intruding floats being removed from RenderBlock during layout |
+ https://bugs.webkit.org/show_bug.cgi?id=82928 |
+ |
+ Reviewed by David Hyatt. |
+ |
+ Performance tweaks in RenderBlock layout as a follow up to r112935. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::clearFloats): |
+ |
+2012-04-13 Mihnea Ovidenie <mihnea@adobe.com> |
+ |
+ [CSSRegions]Implement NamedFlow::contentNodes attribute |
+ https://bugs.webkit.org/show_bug.cgi?id=80134 |
+ |
+ Reviewed by David Hyatt. |
+ |
+ The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'. |
+ In the list, the nodes are placed in document order. Nodes with display:none are also part of the list. |
+ The list of nodes is returned as a static node list. |
+ |
+ The content nodes are stored in RenderNamedFlowThread. The content nodes are added to the list in NodeRenderingContext::moveToFlowThreadIfNeeded |
+ and removed from the list in Element::detach. When an element -webkit-flow-into property is changed, the element is detached and attached. |
+ I have also added a bit in NodeFlags to mark that an element is part of a named flow (and the corresponding inNamedFlow/setInNamedFlow/clearInNamedFlow functions). |
+ |
+ Test: fast/regions/webkit-named-flow-content-nodes.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::webkitGetFlowByName): |
+ * dom/Document.h: |
+ * dom/Element.cpp: |
+ (WebCore::Element::detach): |
+ * dom/Node.h: |
+ (WebCore::Node::inNamedFlow): |
+ (WebCore::Node::setInNamedFlow): |
+ (WebCore::Node::clearInNamedFlow): |
+ (Node): |
+ * dom/NodeRenderingContext.cpp: |
+ (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded): |
+ * dom/WebKitNamedFlow.cpp: |
+ (WebCore::WebKitNamedFlow::contentNodes): |
+ (WebCore): |
+ * dom/WebKitNamedFlow.h: |
+ (WebKitNamedFlow): |
+ * dom/WebKitNamedFlow.idl: |
+ * rendering/FlowThreadController.cpp: |
+ (WebCore::FlowThreadController::registerNamedFlowContentNode): |
+ (WebCore): |
+ (WebCore::FlowThreadController::unregisterNamedFlowContentNode): |
+ * rendering/FlowThreadController.h: |
+ (FlowThreadController): |
+ * rendering/RenderNamedFlowThread.cpp: |
+ (WebCore): |
+ (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode): |
+ (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode): |
+ * rendering/RenderNamedFlowThread.h: |
+ (WebCore): |
+ (RenderNamedFlowThread): |
+ (WebCore::RenderNamedFlowThread::contentNodes): |
+ (WebCore::RenderNamedFlowThread::hasContentNode): |
+ |
+2012-04-13 Jessie Berlin <jberlin@apple.com> |
+ |
+ Remove the calls to CRASH() from ResourceLoader.cpp. |
+ https://bugs.webkit.org/show_bug.cgi?id=83962 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ They were added in r91316 to aid debugging for the issue fixed in r105556 and r106130. |
+ |
+ * loader/ResourceLoader.cpp: |
+ (WebCore::ResourceLoader::willSendRequest): |
+ (WebCore::ResourceLoader::didSendData): |
+ (WebCore::ResourceLoader::didReceiveResponse): |
+ (WebCore::ResourceLoader::didReceiveData): |
+ (WebCore::ResourceLoader::didFinishLoading): |
+ (WebCore::ResourceLoader::didFail): |
+ (WebCore::ResourceLoader::wasBlocked): |
+ (WebCore::ResourceLoader::cannotShowURL): |
+ (WebCore::ResourceLoader::shouldUseCredentialStorage): |
+ (WebCore::ResourceLoader::willCacheResponse): |
+ |
+2012-04-13 Xiaomei Ji <xji@chromium.org> |
+ |
+ REGRESSION(r102190) [chromium] text rendering (font and font size) in some Arabic/Persian page is wrong |
+ when using certain fonts |
+ https://bugs.webkit.org/show_bug.cgi?id=83523 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ Revert r102190. |
+ Convert characters being treatAsSpace to white space. |
+ |
+ * platform/graphics/chromium/UniscribeHelper.cpp: |
+ (WebCore::UniscribeHelper::fillRuns): |
+ (WebCore::UniscribeHelper::adjustSpaceAdvances): |
+ |
+2012-04-13 Timothy Hatcher <timothy@apple.com> |
+ |
+ Change how the Web Insector is installed on Mac builds. |
+ |
+ <rdar://problem/10857918> |
+ |
+ Reviewed by Mark Rowe. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: Updated Copy Inspector Resources |
+ and Streamline Inspector Source build phases. |
+ |
+2012-04-13 Jer Noble <jer.noble@apple.com> |
+ |
+ Video at apple.com gets standard controls in addition to custom controls after returning from full screen |
+ https://bugs.webkit.org/show_bug.cgi?id=83939 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ No new tests; DRT and WKTR don't have the infrastructure to test full-screen animation related bugs. |
+ |
+ Instead of asking the media element whether it is in full screen or not, rely on when the media root element |
+ was told that it enteredFullscreen() or exitedFullscreen(), which may occur at a different time than the |
+ media element due to animations. |
+ |
+ * html/shadow/MediaControlRootElement.cpp: |
+ (WebCore::MediaControlRootElement::reset): |
+ (WebCore::MediaControlRootElement::playbackStarted): |
+ (WebCore::MediaControlRootElement::enteredFullscreen): |
+ (WebCore::MediaControlRootElement::exitedFullscreen): |
+ (WebCore::MediaControlRootElement::defaultEventHandler): |
+ (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer): |
+ (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): |
+ * html/shadow/MediaControlRootElement.h: |
+ (MediaControlRootElement): Added m_isFullscreen; |
+ |
+2012-04-13 Jer Noble <jer.noble@apple.com> |
+ |
+ fullscreen/video-controls-drag.html failing on Mac |
+ https://bugs.webkit.org/show_bug.cgi?id=81176 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ No new tests. Fixes fullscreen/video-controls-drag.html. |
+ |
+ Regressed in r110409. When the -webkit-media-controls-panel were changed |
+ from position:absolute to position:relative, this broke dragging of the |
+ controls in fullscreen, which relies on the panel being absolutely positioned |
+ to do its drag positioning. Change the way drag positioning is calculated to |
+ accommodate position:relative. |
+ |
+ * css/fullscreenQuickTime.css: |
+ (video:-webkit-full-screen::-webkit-media-controls-panel): Instead of bottom:50px, |
+ use margin-bottom:50px to push panel up from the bottom of the screen. |
+ * html/shadow/MediaControlElements.cpp: |
+ (WebCore::MediaControlPanelElement::startDrag): Do not ask for the current renderer location. |
+ (WebCore::MediaControlPanelElement::continueDrag): Use the delta between the event locations |
+ only to calculate the new panel position. |
+ * html/shadow/MediaControlElements.h: |
+ |
+2012-04-13 Simon Fraser <simon.fraser@apple.com> |
+ |
+ Compositing layers not updated after scroll in WebKit1 |
+ https://bugs.webkit.org/show_bug.cgi?id=83945 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Fix the WebKit1 code path to correctly update compositing layers |
+ after a scroll, by calling updateFixedElementsAfterScrolling() from |
+ scrollPositionChangedViaPlatformWidget(). |
+ |
+ Covered by existing tests. |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): |
+ |
+2012-04-13 Dean Jackson <dino@apple.com> |
+ |
+ Don't process filters if the input region is exceptionally large. |
+ https://bugs.webkit.org/show_bug.cgi?id=83317 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ An extremely large element causes problems with filters, either by |
+ taking too long to compute the output or using too much memory. The |
+ filter engine already has some constants for maximum expected size. |
+ Make sure the render tree checks them before deciding to apply |
+ effects. |
+ |
+ Tests: css3/filters/huge-region-composited.html |
+ css3/filters/huge-region.html |
+ |
+ * platform/graphics/filters/FilterEffect.cpp: |
+ (WebCore::FilterEffect::apply): |
+ * rendering/FilterEffectRenderer.cpp: |
+ (WebCore): |
+ (WebCore::isFilterSizeValid): |
+ (WebCore::FilterEffectRenderer::build): |
+ (WebCore::FilterEffectRenderer::updateBackingStore): |
+ (WebCore::FilterEffectRendererHelper::beginFilterEffect): |
+ * rendering/FilterEffectRenderer.h: |
+ (FilterEffectRenderer): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::updateOrRemoveFilterEffect): |
+ |
+2012-04-13 Anna Cavender <annacc@chromium.org> |
+ |
+ Queue the cuechange event on HTMLTrackElement for proper sorting. |
+ https://bugs.webkit.org/show_bug.cgi?id=83858 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ No new tests. Updates to media/track/track-cues-cuechange.html and |
+ media/track/track-mode.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::updateActiveTextTrackCues): |
+ Add HTMLTrackElement's cuechange event to the event queue rather than |
+ firing it synchronously. |
+ * html/track/LoadableTextTrack.cpp: |
+ Remove fireCueChangeEvent() as it is no longer used. |
+ * html/track/LoadableTextTrack.h: |
+ Ditto. |
+ * html/track/TextTrack.h: |
+ (TextTrack): |
+ Ditto. |
+ |
+2012-04-11 Antonio Gomes <agomes@rim.com> |
+ |
+ Be more restrictive when adding ScrollableArea's to FrameView's ScrollableArea's map |
+ https://bugs.webkit.org/show_bug.cgi?id=79611 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Source/WebCore: |
+ |
+ As of today, any FrameView attached to the Widget-tree or any |
+ RenderLayer whose corresponding RenderBox's style has a 'overflow' |
+ property set to 'auto' is cached in its containing scrollable areas set. |
+ We could be more restrictive about what we in fact want to |
+ cache as scrollable areas, by checking if the element as an overflow |
+ (i.e. more content than its viewport). |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::setFrameRect): |
+ |
+ Whenever the viewport changes, check if we have an scrollable/overflowed |
+ content, and update the cache accordingly. |
+ |
+ (WebCore::FrameView::setContentsSize): |
+ |
+ Whenever the contents size changes, check if we have a scrollable/overflowed |
+ content, and update the cache accordingly. |
+ |
+ (WebCore::FrameView::calculateScrollbarModesForLayout): |
+ |
+ Introduces a way to query for the scrollbars by only |
+ taking into account the "rules" set by the web author. |
+ For that, a new enum was added called SrollbarModesCalculationStrategy, |
+ which allows callers to discard for example client-side scrollbar policies |
+ in order to verify if a given frameview is scrollable or not. |
+ |
+ (WebCore::FrameView::updateScrollableAreaSet): |
+ |
+ Take into account various factors before considering a FrameView as |
+ scrollable. If in the end it is, it gets added to its parent FrameView |
+ scrollable areas map, otherwise removed. |
+ |
+ (WebCore): |
+ (WebCore::FrameView::addScrollableArea): |
+ |
+ Became unneeded, thus removed. |
+ |
+ (WebCore::FrameView::removeScrollableArea): |
+ |
+ Whenever a FrameView is removed from the Widget-tree, |
+ remove it from the cache. |
+ |
+ * page/FrameView.h: |
+ (FrameView): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::updateScrollbarsAfterLayout): |
+ |
+ Update scrollable area set after layout. |
+ |
+ (WebCore::RenderLayer::updateScrollbarsAfterStyleChange): |
+ |
+ Update scrollable area set after style changes. |
+ |
+ (WebCore::RenderLayer::styleChanged): |
+ |
+ Removed the scrollable areas logic detection from it. |
+ |
+ (WebCore::RenderLayer::updateScrollableAreaSet): |
+ |
+ Updates the containing FrameView scrollable areas cache |
+ only when needed (i.e. an overflow exists). |
+ |
+ (WebCore): |
+ * rendering/RenderLayer.h: |
+ (RenderLayer): |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::numberOfScrollableAreas): |
+ (WebCore): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+ Tests: fast/scrolling/scrollable-area-frame-inherited-visibility-hidden.html |
+ fast/scrolling/scrollable-area-frame-overflow-hidden.html |
+ fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html |
+ fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html |
+ fast/scrolling/scrollable-area-frame-scrolling-no-visibility-hidden-child.html |
+ fast/scrolling/scrollable-area-frame-scrolling-no.html |
+ fast/scrolling/scrollable-area-frame-scrolling-yes-display-none.html |
+ fast/scrolling/scrollable-area-frame-scrolling-yes.html |
+ fast/scrolling/scrollable-area-frame-visibility-hidden-child.html |
+ fast/scrolling/scrollable-area-frame-zero-size-and-border.html |
+ fast/scrolling/scrollable-area-frame.html |
+ fast/scrolling/scrollable-area-overflow-auto-display-none-in-parent.html |
+ fast/scrolling/scrollable-area-overflow-auto-display-none.html |
+ fast/scrolling/scrollable-area-overflow-auto-visibility-hidden-in-parent.html |
+ fast/scrolling/scrollable-area-overflow-auto-visibility-hidden.html |
+ fast/scrolling/scrollable-area-overflow-auto-visibility-override.html |
+ fast/scrolling/scrollable-area-overflow-auto-visibility-visible.html |
+ fast/scrolling/scrollable-area-overflow-auto.html |
+ fast/scrolling/scrollable-area-overflow-not-set.html |
+ fast/scrolling/scrollable-area-overflow-visible.html |
+ |
+2012-04-13 Antti Koivisto <antti@apple.com> |
+ |
+ Track rem unit usage in StyleSheetInternal |
+ https://bugs.webkit.org/show_bug.cgi?id=83923 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ Currently CSSParser sets usesRemUnits flag directly to Document. It should be set to |
+ the stylesheet instead so parser does not need to know about the document. This also |
+ avoids setting the flag unnecessarily when the stylesheet is not used. |
+ |
+ * css/CSSGrammar.y: |
+ * css/CSSStyleSheet.cpp: |
+ (WebCore::StyleSheetInternal::StyleSheetInternal): |
+ * css/CSSStyleSheet.h: |
+ (WebCore::StyleSheetInternal::parserSetUsesRemUnits): |
+ (WebCore::StyleSheetInternal::usesRemUnits): |
+ (StyleSheetInternal): |
+ * dom/Document.cpp: |
+ (WebCore): |
+ (WebCore::checkUsesRemUnits): |
+ (WebCore::Document::updateActiveStylesheets): |
+ * dom/Document.h: |
+ (WebCore::Document::usesRemUnits): |
+ |
+2012-04-11 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Remove unused compositeToTexture / compositeOffscreen setting |
+ https://bugs.webkit.org/show_bug.cgi?id=83733 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Remove compositeOffscreen setting and implementation. This was an experiment that is no longer needed. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::finishDrawingFrame): |
+ (WebCore::LayerRendererChromium::useRenderSurface): |
+ (WebCore::LayerRendererChromium::setScissorToRect): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (WebCore::CCSettings::CCSettings): |
+ (CCSettings): |
+ |
+2012-04-13 Alexey Proskuryakov <ap@apple.com> |
+ |
+ REGRESSION (XHR Caching): Uncacheable responses sent by Rails through Apache are cached |
+ https://bugs.webkit.org/show_bug.cgi?id=83925 |
+ <rdar://problem/11231790> |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Added subtests to http/tests/cache/subresource-expiration-2.html. |
+ |
+ * platform/network/ResourceResponseBase.cpp: |
+ (WebCore::ResourceResponseBase::parseCacheControlDirectives): Honor first max-age |
+ instead of the last. New behavior matches both Firefox and IE. |
+ |
+2012-04-13 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API |
+ https://bugs.webkit.org/show_bug.cgi?id=83851 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly. |
+ Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing |
+ width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl). |
+ |
+ Covered by existing media/ and compositing/ layout tests. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawYUV): |
+ (WebCore::LayerRendererChromium::drawRGBA): |
+ (WebCore::LayerRendererChromium::copyFrameToTextures): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ * platform/graphics/chromium/VideoFrameProvider.h: |
+ (VideoFrameProvider): |
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: |
+ (WebCore::CCVideoDrawQuad::create): |
+ (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): |
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.h: |
+ (WebKit): |
+ (CCVideoDrawQuad): |
+ (WebCore::CCVideoDrawQuad::frame): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
+ (WebCore): |
+ (WebCore::convertVFCFormatToGC3DFormat): |
+ (WebCore::CCVideoLayerImpl::willDraw): |
+ (WebCore::videoFrameDimension): |
+ (WebCore::hasPaddingBytes): |
+ (WebCore::CCVideoLayerImpl::computeVisibleSize): |
+ (WebCore::CCVideoLayerImpl::reserveTextures): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
+ (WebKit): |
+ |
+2012-04-13 Rob Flack <flackr@chromium.org> |
+ |
+ Chromium: Should enable -webkit-image-set |
+ https://bugs.webkit.org/show_bug.cgi?id=81859 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Test: fast/css/image-set-parsing.html |
+ |
+ * WebCore.gypi: |
+ |
+2012-04-12 Michael Nordman <michaeln@google.com> |
+ |
+ [chromium] Now that the chromium port is using a different dom_storage backend |
+ library in its main browser process, there are a handful of files that should no |
+ longer be included in the build, and a few files than should be deleted |
+ outright, and the webkit api should be modified to reflect the new (and smaller) |
+ contract between the embedder and webkit/webcore. |
+ https://bugs.webkit.org/show_bug.cgi?id=83807 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ No new tests, existing tests apply. |
+ |
+ * WebCore.gyp/WebCore.gyp: Exclude several files from the WebCore/storage directory. |
+ * storage/StorageEventDispatcher.h: Delete a stale comment. |
+ |
+2012-04-13 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r114140. |
+ http://trac.webkit.org/changeset/114140 |
+ https://bugs.webkit.org/show_bug.cgi?id=83921 |
+ |
+ Fails fast/css/image-set-parsing.html test it attempts to |
+ introduce. (Requested by scheib on #webkit). |
+ |
+ * WebCore.gypi: |
+ |
+2012-04-13 Dan Bernstein <mitz@apple.com> |
+ |
+ <rdar://problem/10912680> Pixel access canvas APIs do not operate at backing store resolution |
+ https://bugs.webkit.org/show_bug.cgi?id=83836 |
+ |
+ Reviewed by Darin Adler. |
+ |
+ Test: fast/canvas/2d.imageDataHD.html |
+ |
+ Added getImageDataHD and putImageDataHD functions to CanvasRenderingContext2D, as proposed in |
+ <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The functions |
+ are prefixed with “webkit” for now. |
+ |
+ * html/canvas/CanvasRenderingContext2D.cpp: |
+ (WebCore::CanvasRenderingContext2D::getImageData): Added this cover function that calls |
+ through to getImageData with LogicalCoordinateSystem. |
+ (WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Added. Calls through to |
+ getImageData with BackingStoreCoordinateSystem. |
+ (WebCore::CanvasRenderingContext2D::getImageData): Added a CoordinateSystem parameter to this |
+ now-private function. It is passed through to ImageBuffer::getUnmultipliedImageData(). |
+ (WebCore::CanvasRenderingContext2D::putImageData): Added this cover function that calls |
+ through to putImageData with LogicalCoordinateSystem. |
+ (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Added. Calls through to |
+ putImageData with BackingStoreCoordinateSystem. |
+ (WebCore::CanvasRenderingContext2D::putImageData): Added a CoordinateSystem parameter to this |
+ function. It is passed through to ImageBuffer::putByteArray, and used to compute the rect to |
+ invalidate after the drawing operation. |
+ * html/canvas/CanvasRenderingContext2D.h: |
+ * html/canvas/CanvasRenderingContext2D.idl: Added webkitPutImageDataHD() and |
+ webkitGetImageDataHD(). |
+ * platform/graphics/ImageBuffer.h: Added a CoordinateSystem enum with the values |
+ LogicalCoordinateSystem and BackingStoreCoordinateSystem. Added a CoordinateSystem parameter, |
+ which defaults to LogicalCoordinateSystem, to getUnmultipliedImageData, |
+ getPremultipliedImageData, and putByteArray. |
+ * platform/graphics/cairo/ImageBufferCairo.cpp: |
+ (WebCore::ImageBuffer::getUnmultipliedImageData): |
+ (WebCore::ImageBuffer::getPremultipliedImageData): |
+ (WebCore::ImageBuffer::putByteArray): |
+ (WebCore::ImageBuffer::toDataURL): |
+ * platform/graphics/cg/ImageBufferCG.cpp: |
+ (WebCore::ImageBuffer::getUnmultipliedImageData): Now uses the CoordinateSystem parameter to |
+ decide whether to ask ImageBufferDaya::getData() to apply the resolution scale or not. |
+ (WebCore::ImageBuffer::getPremultipliedImageData): Ditto. |
+ (WebCore::ImageBuffer::putByteArray): Now uses the CoordinateSystem parameter to decide |
+ whether to maintain the resolution scale while drawing or not. |
+ (WebCore::ImageBuffer::toDataURL): |
+ * platform/graphics/gtk/ImageBufferGtk.cpp: |
+ (WebCore::ImageBuffer::toDataURL): |
+ * platform/graphics/qt/ImageBufferQt.cpp: |
+ (WebCore::ImageBuffer::getUnmultipliedImageData): |
+ (WebCore::ImageBuffer::getPremultipliedImageData): |
+ (WebCore::ImageBuffer::putByteArray): |
+ (WebCore::ImageBuffer::toDataURL): |
+ * platform/graphics/skia/ImageBufferSkia.cpp: |
+ (WebCore::ImageBuffer::getUnmultipliedImageData): |
+ (WebCore::ImageBuffer::getPremultipliedImageData): |
+ (WebCore::ImageBuffer::putByteArray): |
+ (WebCore::ImageBuffer::toDataURL): |
+ * platform/graphics/wince/ImageBufferWinCE.cpp: |
+ (WebCore::ImageBuffer::getUnmultipliedImageData): |
+ (WebCore::ImageBuffer::getPremultipliedImageData): |
+ (WebCore::ImageBuffer::putByteArray): |
+ (WebCore::ImageBuffer::toDataURL): |
+ * platform/graphics/wx/ImageBufferWx.cpp: |
+ (WebCore::ImageBuffer::getUnmultipliedImageData): |
+ (WebCore::ImageBuffer::getPremultipliedImageData): |
+ (WebCore::ImageBuffer::putByteArray): |
+ (WebCore::ImageBuffer::toDataURL): |
+ |
+2012-04-12 Shawn Singh <shawnsingh@chromium.org> |
+ |
+ [chromium] Support CCHeadsUpDisplay in threaded compositing mode |
+ https://bugs.webkit.org/show_bug.cgi?id=67499 |
+ |
+ Reviewed by James Robinson. |
+ |
+ No new tests because this code is debugging code itself. |
+ |
+ The last item that was needed to make the CCHeadsUpDisplay work in |
+ threaded compositing mode was to remove the font rendering code |
+ used on the impl-side thread. To solve this, this patch adds a |
+ CCFontAtlas that is initialized on the main thread (where the font |
+ rendering takes place). Then, when the HUD draws text on the impl |
+ thread, it uses the font atlas directly. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::create): |
+ (WebCore::LayerRendererChromium::initialize): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (WebCore): |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/cc/CCFontAtlas.cpp: Added. |
+ (WebCore): |
+ (WebCore::CCFontAtlas::CCFontAtlas): |
+ (WebCore::wrapPositionIfNeeded): |
+ (WebCore::CCFontAtlas::generateAtlasForFont): |
+ (WebCore::CCFontAtlas::initialize): |
+ (WebCore::CCFontAtlas::drawText): |
+ (WebCore::CCFontAtlas::drawOneLineOfTextInternal): |
+ (WebCore::CCFontAtlas::drawDebugAtlas): |
+ * platform/graphics/chromium/cc/CCFontAtlas.h: Added. |
+ (WebCore): |
+ (CCFontAtlas): |
+ (WebCore::CCFontAtlas::create): |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
+ (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay): |
+ (WebCore): |
+ (WebCore::CCHeadsUpDisplay::showPlatformLayerTree): |
+ (WebCore::CCHeadsUpDisplay::drawHudContents): |
+ (WebCore::CCHeadsUpDisplay::drawFPSCounter): |
+ (WebCore::CCHeadsUpDisplay::drawFPSCounterText): |
+ (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree): |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: |
+ (WebCore::CCHeadsUpDisplay::create): |
+ (CCHeadsUpDisplay): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: |
+ (WebCore::CCLayerTreeHost::initialize): |
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h: |
+ (WebCore): |
+ (WebCore::CCLayerTreeHost::headsUpDisplayFontAtlas): |
+ (CCLayerTreeHost): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: |
+ (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: |
+ (WebCore): |
+ (CCLayerTreeHostImpl): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
+ (WebCore::CCSingleThreadProxy::initializeLayerRenderer): |
+ (WebCore::CCSingleThreadProxy::recreateContext): |
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
+ (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread): |
+ (WebCore::CCThreadProxy::recreateContextOnImplThread): |
+ |
+2012-04-13 Rob Flack <flackr@chromium.org> |
+ |
+ Chromium: Should enable -webkit-image-set |
+ https://bugs.webkit.org/show_bug.cgi?id=81859 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Test: fast/css/image-set-parsing.html |
+ |
+ * WebCore.gypi: |
+ |
+2012-04-13 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: do not attempt to load content from resource until request finished loading. |
+ https://bugs.webkit.org/show_bug.cgi?id=83896 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ When we stop in the inline script on reload, we should only show concatenated script content. |
+ When we resume, we should replace UI source code with the actual HTML content. We should not attempt to |
+ fetch resource content until request finished loading. I regressed it in the Request extraction |
+ and now am bringing it back. |
+ |
+ * inspector/front-end/RawSourceCode.js: |
+ (WebInspector.RawSourceCode): |
+ (WebInspector.RawSourceCode.prototype._finishedLoading): |
+ * inspector/front-end/ResourceScriptMapping.js: |
+ (WebInspector.ResourceScriptMapping.prototype.addScript): |
+ |
+2012-04-13 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: follow up to r114116 - fixing QT test |
+ https://bugs.webkit.org/show_bug.cgi?id=83892 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Requesting content for the scripts exclusively via the page agent now. |
+ |
+ * inspector/front-end/Resource.js: |
+ (WebInspector.Resource.prototype.get content): |
+ (WebInspector.Resource.prototype.get contentEncoded): |
+ (WebInspector.Resource.prototype.requestContent): |
+ (WebInspector.ResourceRevision.prototype.requestContent): |
+ |
+2012-04-13 Yi Shen <yi.4.shen@nokia.com> |
+ |
+ InsertHTML fails to insert h6 if the insertion point is before some text. |
+ https://bugs.webkit.org/show_bug.cgi?id=82689 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Added the missing h6 tag for the isHeaderElement. |
+ |
+ No new tests: updated existing test (editing/execCommand/4128080-1.html) |
+ |
+ * editing/ReplaceSelectionCommand.cpp: |
+ (WebCore::isHeaderElement): |
+ |
+2012-04-13 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: exception in heap profiler when expanding a class in summary view |
+ https://bugs.webkit.org/show_bug.cgi?id=83883 |
+ |
+ Moved all DOM-specific inspector utilities into DOMExtension.js |
+ |
+ Merged BinarySearch.js and PartialQuickSort.js into utilities.js, HeapSnapshotWorker.js now |
+ imports utilities.js which contains all required routines. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/BinarySearch.js: Removed. |
+ * inspector/front-end/DOMExtension.js: Copied from Source/WebCore/inspector/front-end/utilities.js. |
+ (Node.prototype.rangeOfWord): |
+ (Node.prototype.traverseNextTextNode): |
+ (Node.prototype.rangeBoundaryForOffset): |
+ (Element.prototype.removeStyleClass): |
+ (Element.prototype.removeMatchingStyleClasses): |
+ (Element.prototype.addStyleClass): |
+ (Element.prototype.hasStyleClass): |
+ (Element.prototype.positionAt): |
+ (Element.prototype.pruneEmptyTextNodes): |
+ (Element.prototype.isScrolledToBottom): |
+ (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): |
+ (Node.prototype.enclosingNodeOrSelfWithNodeName): |
+ (Node.prototype.enclosingNodeOrSelfWithClass): |
+ (Node.prototype.enclosingNodeWithClass): |
+ (Element.prototype.query): |
+ (Element.prototype.removeChildren): |
+ (Element.prototype.isInsertionCaretInside): |
+ (Element.prototype.createChild): |
+ (Element.prototype.totalOffsetLeft): |
+ (Element.prototype.totalOffsetTop): |
+ (Element.prototype.totalOffset): |
+ (Element.prototype.scrollOffset): |
+ (AnchorBox): |
+ (Element.prototype.offsetRelativeToWindow): |
+ (Element.prototype.boxInWindow): |
+ (Element.prototype.setTextAndTitle): |
+ (Event.prototype.consume): |
+ (Text.prototype.select): |
+ (Element.prototype.selectionLeftOffset): |
+ (Node.prototype.isAncestor): |
+ (Node.prototype.isDescendant): |
+ (Node.prototype.isSelfOrAncestor): |
+ (Node.prototype.isSelfOrDescendant): |
+ (Node.prototype.traverseNextNode): |
+ (Node.prototype.traversePreviousNode): |
+ (HTMLTextAreaElement.prototype.moveCursorToEnd): |
+ (isEnterKey): |
+ (consumeEvent): |
+ (highlightSearchResult): |
+ (highlightSearchResults): |
+ (highlightRangesWithStyleClass): |
+ (applyDomChanges): |
+ (revertDomChanges): |
+ * inspector/front-end/HeapSnapshot.js: Fixed a couple of js compiler warnings |
+ by describing structure of heap snapshot header in the protocol. |
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk): |
+ * inspector/front-end/HeapSnapshotWorker.js: |
+ * inspector/front-end/PartialQuickSort.js: Removed. |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ * inspector/front-end/utilities.js: |
+ (.): |
+ |
+2012-04-13 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r114103. |
+ http://trac.webkit.org/changeset/114103 |
+ https://bugs.webkit.org/show_bug.cgi?id=83884 |
+ |
+ New breakpoint UI looks bad / needs polish. (Requested by |
+ pfeldman_ on #webkit). |
+ |
+ * inspector/front-end/Images/breakpointConditionalCounterBorder.png: |
+ * inspector/front-end/Images/breakpointCounterBorder.png: |
+ * inspector/front-end/Images/programCounterBorder.png: |
+ * inspector/front-end/textViewer.css: |
+ (.webkit-execution-line .webkit-line-number-outer): |
+ (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer): |
+ (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer): |
+ |
+2012-04-13 Jason Liu <jason.liu@torchmobile.com.cn> |
+ |
+ [BlackBerry] Sign in cookie for ESPN.com does not retain login account (for fantasy sports). |
+ https://bugs.webkit.org/show_bug.cgi?id=83760 |
+ |
+ Reviewed by George Staikos. |
+ |
+ When we update cookies' database, protocol shouldn't be checked since it is not a cookie's key. |
+ ESPN.com's https cookies should replace old http cookies if they have the same keys(name, path, domain). |
+ |
+ We must restart the browser to test, so have to write a manual test case. |
+ |
+ Test: ManualTests/blackberry/http-cookie-database-set.php |
+ |
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: |
+ (WebCore::CookieDatabaseBackingStore::invokeOpen): |
+ |
+2012-04-12 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> |
+ |
+ [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering. |
+ https://bugs.webkit.org/show_bug.cgi?id=83770 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ Revert the previous way of dealing with things. The problem is that different layers |
+ would end up rounding in different directions, and would cause jittering between |
+ layers or with the QQuickWebPage's background. |
+ |
+ * platform/graphics/texmap/TextureMapperGL.cpp: |
+ (WebCore::TextureMapperGL::drawTexture): |
+ |
+2012-04-13 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: introduce ParsedURL type, clean up url and displayName mess in Resource and NetworkRequest. |
+ https://bugs.webkit.org/show_bug.cgi?id=83871 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ There is a number of random properties created on Resource and NetworkRequest that represent various url |
+ fragments. Display name is being based on them and sometimes requires fake Resource instance to be created. |
+ This change (officially) introduces WebInspector.ParsedURL as a type that encapsulates this complexity. |
+ |
+ This change also moves documentURL property into the Resource and NetworkRequest constructors and brushes up |
+ factory methods used to create the objects. |
+ |
+ * inspector/front-end/AuditRules.js: |
+ (WebInspector.AuditRules.GzipRule.prototype._shouldCompress): |
+ (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): |
+ * inspector/front-end/Database.js: |
+ (WebInspector.Database.prototype.get displayDomain): |
+ * inspector/front-end/JavaScriptContextManager.js: |
+ (WebInspector.FrameEvaluationContext.prototype.get displayName): |
+ * inspector/front-end/NetworkManager.js: |
+ (WebInspector.NetworkDispatcher.prototype.webSocketCreated): |
+ (WebInspector.NetworkDispatcher.prototype._createNetworkRequest): |
+ (get WebInspector): |
+ * inspector/front-end/NetworkPanel.js: |
+ (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest): |
+ (WebInspector.NetworkDataGridNode.prototype._refreshNameCell): |
+ * inspector/front-end/NetworkRequest.js: |
+ (WebInspector.NetworkRequest): |
+ (WebInspector.NetworkRequest.prototype.set url): |
+ (WebInspector.NetworkRequest.prototype.get documentURL): |
+ (WebInspector.NetworkRequest.prototype.get parsedURL): |
+ (WebInspector.NetworkRequest.prototype.get displayName): |
+ (WebInspector.NetworkRequest.prototype.get folder): |
+ * inspector/front-end/RequestHeadersView.js: |
+ (WebInspector.RequestHeadersView.prototype._refreshUrlFragment): |
+ * inspector/front-end/Resource.js: |
+ (WebInspector.Resource): |
+ (WebInspector.Resource.prototype.set url): |
+ (WebInspector.Resource.prototype.get parsedURL): |
+ (WebInspector.Resource.prototype.get frameId): |
+ (WebInspector.Resource.prototype.get loaderId): |
+ (WebInspector.Resource.prototype.get displayName): |
+ * inspector/front-end/ResourceTreeModel.js: |
+ (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped): |
+ (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): |
+ (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload): |
+ (WebInspector.ResourceTreeFrame.prototype._addRequest): |
+ * inspector/front-end/ResourceUtils.js: |
+ (WebInspector.ParsedURL): |
+ (WebInspector.ParsedURL.prototype.get displayName): |
+ (String.prototype.asParsedURL): |
+ (WebInspector.displayDomain): |
+ (WebInspector.resourceURLForRelatedNode.callback): |
+ (WebInspector.resourceURLForRelatedNode): |
+ * inspector/front-end/ResourcesPanel.js: |
+ (WebInspector.FrameTreeElement.prototype.frameNavigated): |
+ (WebInspector.ApplicationCacheManifestTreeElement): |
+ (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles): |
+ * inspector/front-end/utilities.js: |
+ |
+2012-04-13 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: extracting NetworkRequest from Resource (step 3) |
+ https://bugs.webkit.org/show_bug.cgi?id=83802 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ This change extracts NetworkRequest from the Resource. It is now clear that these two |
+ should have super class that would be responsible for parsing URL and would define the |
+ requestContent signature. Corresponding patch will follow. |
+ |
+ * inspector/front-end/NetworkManager.js: |
+ * inspector/front-end/NetworkRequest.js: |
+ (WebInspector.NetworkRequest): |
+ (WebInspector.NetworkRequest.prototype.get requestId): |
+ (WebInspector.NetworkRequest.prototype.set requestId): |
+ (WebInspector.NetworkRequest.prototype.get url): |
+ (WebInspector.NetworkRequest.prototype.get frameId): |
+ (WebInspector.NetworkRequest.prototype.get loaderId): |
+ (WebInspector.NetworkRequest.prototype.get startTime): |
+ (WebInspector.NetworkRequest.prototype.set startTime): |
+ (WebInspector.NetworkRequest.prototype.get responseReceivedTime): |
+ (WebInspector.NetworkRequest.prototype.set responseReceivedTime): |
+ (WebInspector.NetworkRequest.prototype.get endTime): |
+ (WebInspector.NetworkRequest.prototype.set endTime): |
+ (WebInspector.NetworkRequest.prototype.get duration): |
+ (WebInspector.NetworkRequest.prototype.get latency): |
+ (WebInspector.NetworkRequest.prototype.get receiveDuration): |
+ (WebInspector.NetworkRequest.prototype.get resourceSize): |
+ (WebInspector.NetworkRequest.prototype.set resourceSize): |
+ (WebInspector.NetworkRequest.prototype.get transferSize): |
+ (WebInspector.NetworkRequest.prototype.increaseTransferSize): |
+ (WebInspector.NetworkRequest.prototype.get finished): |
+ (WebInspector.NetworkRequest.prototype.set finished): |
+ (WebInspector.NetworkRequest.prototype.get failed): |
+ (WebInspector.NetworkRequest.prototype.set failed): |
+ (WebInspector.NetworkRequest.prototype.get canceled): |
+ (WebInspector.NetworkRequest.prototype.set canceled): |
+ (WebInspector.NetworkRequest.prototype.get cached): |
+ (WebInspector.NetworkRequest.prototype.set cached): |
+ (WebInspector.NetworkRequest.prototype.get timing): |
+ (WebInspector.NetworkRequest.prototype.set timing): |
+ (WebInspector.NetworkRequest.prototype.get mimeType): |
+ (WebInspector.NetworkRequest.prototype.set mimeType): |
+ (WebInspector.NetworkRequest.prototype.get displayName): |
+ (WebInspector.NetworkRequest.prototype.get folder): |
+ (WebInspector.NetworkRequest.prototype.get displayDomain): |
+ (WebInspector.NetworkRequest.prototype.get type): |
+ (WebInspector.NetworkRequest.prototype.set type): |
+ (WebInspector.NetworkRequest.prototype.get redirectSource): |
+ (WebInspector.NetworkRequest.prototype.set redirectSource): |
+ (WebInspector.NetworkRequest.prototype.get requestHeaders): |
+ (WebInspector.NetworkRequest.prototype.set requestHeaders): |
+ (WebInspector.NetworkRequest.prototype.get requestHeadersText): |
+ (WebInspector.NetworkRequest.prototype.set requestHeadersText): |
+ (WebInspector.NetworkRequest.prototype.get requestHeadersSize): |
+ (WebInspector.NetworkRequest.prototype.requestHeaderValue): |
+ (WebInspector.NetworkRequest.prototype.get requestCookies): |
+ (WebInspector.NetworkRequest.prototype.get requestFormData): |
+ (WebInspector.NetworkRequest.prototype.set requestFormData): |
+ (WebInspector.NetworkRequest.prototype.get requestHttpVersion): |
+ (WebInspector.NetworkRequest.prototype.get responseHeaders): |
+ (WebInspector.NetworkRequest.prototype.set responseHeaders): |
+ (WebInspector.NetworkRequest.prototype.get responseHeadersText): |
+ (WebInspector.NetworkRequest.prototype.set responseHeadersText): |
+ (WebInspector.NetworkRequest.prototype.get responseHeadersSize): |
+ (WebInspector.NetworkRequest.prototype.responseHeaderValue): |
+ (WebInspector.NetworkRequest.prototype.get responseCookies): |
+ (WebInspector.NetworkRequest.prototype.get queryParameters): |
+ (WebInspector.NetworkRequest.prototype.get formParameters): |
+ (WebInspector.NetworkRequest.prototype.get responseHttpVersion): |
+ (WebInspector.NetworkRequest.prototype._parseParameters): |
+ (WebInspector.NetworkRequest.prototype._headerValue): |
+ (WebInspector.NetworkRequest.prototype.get content): |
+ (WebInspector.NetworkRequest.prototype.get contentEncoded): |
+ (WebInspector.NetworkRequest.prototype.requestContent): |
+ (WebInspector.NetworkRequest.prototype.isHttpFamily): |
+ (WebInspector.NetworkRequest.prototype.requestContentType): |
+ (WebInspector.NetworkRequest.prototype.isPingRequest): |
+ (WebInspector.NetworkRequest.prototype.hasErrorStatusCode): |
+ (WebInspector.NetworkRequest.prototype.populateImageSource): |
+ (WebInspector.NetworkRequest.prototype._contentURL): |
+ (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent): |
+ (WebInspector.NetworkRequest.prototype._innerRequestContent): |
+ (WebInspector.NetworkRequest.prototype.setResource): |
+ (WebInspector.NetworkRequest.prototype.resource): |
+ * inspector/front-end/RawSourceCode.js: |
+ (WebInspector.RawSourceCode): |
+ (WebInspector.RawSourceCode.prototype._resourceAdded): |
+ (WebInspector.RawSourceCode.prototype.forceUpdateSourceMapping): |
+ (WebInspector.RawSourceCode.prototype._createContentProvider): |
+ * inspector/front-end/Resource.js: |
+ (WebInspector.Resource): |
+ (WebInspector.Resource.displayName): |
+ (WebInspector.Resource.prototype.get request): |
+ (WebInspector.Resource.prototype.set url): |
+ (WebInspector.Resource.prototype.get type): |
+ (WebInspector.Resource.prototype.get mimeType): |
+ (WebInspector.Resource.prototype.set mimeType): |
+ (WebInspector.Resource.prototype.get content): |
+ (WebInspector.Resource.prototype.get contentEncoded): |
+ (WebInspector.Resource.prototype.requestContent): |
+ (WebInspector.Resource.prototype._innerRequestContent.callback): |
+ (WebInspector.Resource.prototype._innerRequestContent): |
+ (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper): |
+ (WebInspector.ResourceRevision.prototype.requestContent): |
+ * inspector/front-end/ResourceScriptMapping.js: |
+ (WebInspector.ResourceScriptMapping.prototype.addScript): |
+ |
+2012-04-13 Mike Reed <reed@google.com> |
+ |
+ use getClipDeviceBounds, rather than (deprecated) getTotalClip |
+ https://bugs.webkit.org/show_bug.cgi?id=83808 |
+ |
+ Reviewed by Stephen White. |
+ |
+ Equivalent functionality, existing tests apply. |
+ |
+ * platform/graphics/skia/OpaqueRegionSkia.cpp: |
+ (WebCore::OpaqueRegionSkia::didDraw): |
+ |
+2012-04-13 Thiago Marcos P. Santos <thiago.santos@intel.com> |
+ |
+ [EFL] Add API for color chooser |
+ https://bugs.webkit.org/show_bug.cgi?id=83692 |
+ |
+ Added new API to enable browsers to display a custom color picker |
+ when an input field of type "color" is activated. |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ * PlatformEfl.cmake: |
+ * platform/efl/ColorChooserEfl.cpp: Added. |
+ (WebCore): |
+ (WebCore::ColorChooserEfl::ColorChooserEfl): |
+ (WebCore::ColorChooserEfl::~ColorChooserEfl): |
+ (WebCore::ColorChooserEfl::setSelectedColor): |
+ (WebCore::ColorChooserEfl::endChooser): |
+ * platform/efl/ColorChooserEfl.h: Added. |
+ (WebCore): |
+ (ColorChooserEfl): |
+ |
+2012-04-13 Zalan Bujtas <zbujtas@gmail.com> |
+ |
+ Enabling/disabling delegates scrolling when page has no composited content asserts on WK1. |
+ https://bugs.webkit.org/show_bug.cgi?id=83860 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ WK2 has compositing mode on all the time, while Wk1 turns it on only when |
+ the page has composited content. This patch ensures that, when delegates scrolling behavior |
+ is changed, backing stores are cleared only when there's an actual composition, |
+ similarly to what CachedFrame does. |
+ |
+ Test: fast/viewport/scroll-delegates-switch-on-page-with-no-composition-mode-asserts.html |
+ |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::delegatesScrollingDidChange): |
+ |
+2012-04-13 Vivek Galatage <vivekgalatage@gmail.com> |
+ |
+ Web Inspector: Line number is not displayed while debugging javascript |
+ https://bugs.webkit.org/show_bug.cgi?id=83786 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ Changed the textViewer.css to start displaying the line number with |
+ appropriate color property. Added outline property for enhanced view |
+ |
+ No additional test cases required for the above fix. |
+ |
+ * inspector/front-end/Images/breakpointConditionalCounterBorder.png: |
+ * inspector/front-end/Images/breakpointCounterBorder.png: |
+ * inspector/front-end/Images/programCounterBorder.png: |
+ * inspector/front-end/textViewer.css: |
+ (.webkit-execution-line .webkit-line-number-outer): |
+ (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer): |
+ (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer): |
+ |
+2012-04-13 Kent Tamura <tkent@chromium.org> |
+ |
+ Add a runtime flag for <input type=date> |
+ https://bugs.webkit.org/show_bug.cgi?id=83853 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ * bindings/generic/RuntimeEnabledFeatures.h: |
+ (WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled): Added. |
+ (WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled): Added. |
+ * html/InputType.cpp: |
+ (WebCore::createInputTypeFactoryMap): |
+ Don't register type=date if !RuntimeEnabledFeatures::inputTypeDateEnabled() |
+ |
+2012-04-13 Adam Barth <abarth@webkit.org> |
+ |
+ JSDocument::setLocation does too much bare-handed lifting |
+ https://bugs.webkit.org/show_bug.cgi?id=83850 |
+ |
+ Reviewed by Sam Weinig. |
+ |
+ As part of auditing all the ways of kicking off a navigation, I |
+ happened to read JSDocument::setLocation, which uses very old patterns. |
+ This patch updates it to do things the "modern" way. There shouldn't |
+ be any behavior change. |
+ |
+ * bindings/js/JSDocumentCustom.cpp: |
+ (WebCore::JSDocument::setLocation): |
+ |
+2012-04-13 Shinya Kawanaka <shinyak@chromium.org> |
+ |
+ Background width (or height) is wrong if width (or height) * zoom < 1. |
+ https://bugs.webkit.org/show_bug.cgi?id=83350 |
+ |
+ Reviewed by Nikolas Zimmermann. |
+ |
+ calculateImageIntrinsicDimension will return wrong size if the calculated size is 0. |
+ 0 is used for expressing unspecfied, so the method returns the box width(height) instead. |
+ |
+ Since CachedImage has already similar code, we moved it to IntSize and shared it. |
+ |
+ Tests: fast/css/zoom-background-repeat-x-expected.html |
+ fast/css/zoom-background-repeat-x.html |
+ fast/css/zoom-background-repeat-y-expected.html |
+ fast/css/zoom-background-repeat-y.html |
+ |
+ * loader/cache/CachedImage.cpp: |
+ (WebCore::CachedImage::imageSizeForRenderer): |
+ * platform/graphics/IntSize.h: |
+ (IntSize): |
+ (WebCore::IntSize::scale): |
+ (WebCore::IntSize::clampToMinimumSize): |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): |
+ |
+2012-04-13 Adam Barth <abarth@webkit.org> |
+ |
+ Prepare submitForm for seamless navigation |
+ https://bugs.webkit.org/show_bug.cgi?id=83838 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Previously, FrameLoader::submitForm called FrameTree::find and |
+ Document::canNavigate separately. This patch refactors this function |
+ to call findFrameForNavigation, which does both checks. |
+ |
+ This doesn't change any behavior today, but it prepares us to implement |
+ seamless navigation. Once the seamless branch lands, this change will |
+ be tested by seamless-form-* in https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless |
+ |
+ For context, see: |
+ https://github.com/eseidel/webkit/commit/3f27340577ac91b2cc0a834dd2c6fdfcac296c32 |
+ |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::submitForm): |
+ |
+2012-04-13 Kent Tamura <tkent@chromium.org> |
+ |
+ Should clear an invalid string in a date field on blur |
+ https://bugs.webkit.org/show_bug.cgi?id=83863 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Test: fast/forms/date/input-date-commit-valid-only.html |
+ |
+ * html/DateInputType.cpp: |
+ (WebCore::DateInputType::handleBlurEvent): |
+ Reset the visible value. The code is same as NumberInputType::handleBlurEvent(). |
+ |
+2012-04-12 Kent Tamura <tkent@chromium.org> |
+ |
+ Calendar Picker: remove unnecessary code from calendarPicker.{css,js} |
+ https://bugs.webkit.org/show_bug.cgi?id=83685 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Remove the followings from input files: |
+ - multi line comments /*...*/ (.js and .css) |
+ - single line comment //... (.js) |
+ - repeating whitespace (.js and .css) |
+ - leading and trailing whitespace (.js and .css) |
+ - empty lines (.js and .css) |
+ |
+ This doesn't work for arbitrary JavaScript or CSS inputs, but |
+ works well for expected input files like |
+ css/make-css-file-arrays.pl |
+ |
+ * make-file-arrays.py: |
+ (strip_whitespace_and_comments): |
+ (main): |
+ |
+2012-04-12 Sailesh Agrawal <sail@chromium.org> |
+ |
+ Chromium: Fix scrollbar tickmark drawing on Mountain Lion |
+ https://bugs.webkit.org/show_bug.cgi?id=83844 |
+ |
+ Reviewed by James Robinson. |
+ |
+ On Mountain Lion overlay scrollbars have a new expanded mode. In expanded mode the scrolllbar is slightly wider which causes the tickmarks to look incorrect. Fix was to explicitly enter expanded mode to get the correct look. |
+ Screenshots: |
+ broken: http://i.imgur.com/PDKYH.png |
+ fixed: http://i.imgur.com/utp0Y.png |
+ |
+ * platform/chromium/ScrollbarThemeChromiumMac.mm: |
+ (WebCore::ScrollbarThemeChromiumMac::paint): Called setExpanded if API is available. |
+ * platform/mac/NSScrollerImpDetails.h: Exposed the isExpanded: API. |
+ |
+2012-04-12 Kent Tamura <tkent@chromium.org> |
+ |
+ LocalizedDateICU should ignore timezones |
+ https://bugs.webkit.org/show_bug.cgi?id=83859 |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ udat_parse() and udat_format() shift the input date by the offset of the |
+ default timezone. We don't need this behavior for type=date. So we |
+ specify "GMT" to udat_open(). |
+ |
+ No new tests. This behavior depends on the timezone setting of the local machine. |
+ |
+ * platform/text/LocalizedDateICU.cpp: |
+ (WebCore::createShortDateFormatter): |
+ Added. Common factory functio for UDateFormat. Use "GMT" instead of the |
+ default timezone. |
+ (WebCore::parseLocalizedDate): Use createShortDateFormatter(). |
+ (WebCore::formatLocalizedDate): ditto. |
+ |
+2012-04-12 Adam Barth <abarth@webkit.org> |
+ |
+ Prepare window.location for seamless navigation |
+ https://bugs.webkit.org/show_bug.cgi?id=83843 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ This patch refactors window.location to flow through |
+ FrameLoader::findFrameForNavigation, which is where we're going to |
+ implement the seamless navigation redirect. This patch shouldn't cause |
+ any observable changes in behavior today, but it will make all the |
+ seamless-window-location* tests in |
+ https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless |
+ pass once we merge the seamlesss branch. See |
+ https://github.com/eseidel/webkit/commit/a6e708fa6c643b156397e9a287b40a0868c7959c |
+ for context. |
+ |
+ * bindings/js/JSDOMWindowCustom.cpp: |
+ (WebCore::JSDOMWindow::setLocation): |
+ * bindings/v8/custom/V8DOMWindowCustom.cpp: |
+ (WebCore::V8DOMWindow::locationAccessorSetter): |
+ * page/Location.cpp: |
+ (WebCore::Location::setHref): |
+ (WebCore::Location::setProtocol): |
+ (WebCore::Location::setHost): |
+ (WebCore::Location::setHostname): |
+ (WebCore::Location::setPort): |
+ (WebCore::Location::setPathname): |
+ (WebCore::Location::setSearch): |
+ (WebCore::Location::setHash): |
+ (WebCore::Location::assign): |
+ (WebCore::Location::replace): |
+ (WebCore::Location::setLocation): |
+ (WebCore): |
+ * page/Location.h: |
+ (Location): |
+ |
+2012-04-12 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Background filters for composited layers |
+ https://bugs.webkit.org/show_bug.cgi?id=80046 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Adds background filters to LayerChromium/CCLayerImpl. These filters are |
+ applied to any pixels in the contents behind the layer and seen through |
+ it. |
+ |
+ This is done by adding a backgroundTexture() to the render surface, which |
+ holds the read-back contents of the target framebuffer, background filter |
+ applied, in the surface's own coordinate space. Then this is drawn back |
+ into the frame buffer before the contents of the surface itself is drawn. |
+ |
+ Tests: platform/chromium/compositing/filters/background-filter-blur-off-axis.html |
+ platform/chromium/compositing/filters/background-filter-blur-outsets.html |
+ platform/chromium/compositing/filters/background-filter-blur.html |
+ |
+ * platform/graphics/chromium/LayerChromium.cpp: |
+ (WebCore::LayerChromium::setBackgroundFilters): |
+ (WebCore): |
+ (WebCore::LayerChromium::pushPropertiesTo): |
+ * platform/graphics/chromium/LayerChromium.h: |
+ (LayerChromium): |
+ (WebCore::LayerChromium::backgroundFilters): |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawBackgroundFilters): |
+ (WebCore): |
+ (WebCore::LayerRendererChromium::drawRenderSurfaceQuad): |
+ (WebCore::LayerRendererChromium::getFramebufferTexture): |
+ (WebCore::LayerRendererChromium::isCurrentRenderSurface): |
+ (WebCore::LayerRendererChromium::useRenderSurface): |
+ (WebCore::LayerRendererChromium::useManagedTexture): |
+ (WebCore::LayerRendererChromium::bindFramebufferToTexture): |
+ (WebCore::LayerRendererChromium::setScissorToRect): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ (LayerRendererChromium): |
+ * platform/graphics/chromium/RenderSurfaceChromium.h: |
+ (WebCore::RenderSurfaceChromium::setBackgroundFilters): |
+ (WebCore::RenderSurfaceChromium::backgroundFilters): |
+ (RenderSurfaceChromium): |
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp: |
+ (WebCore::CCLayerImpl::setBackgroundFilters): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCLayerImpl.h: |
+ (CCLayerImpl): |
+ (WebCore::CCLayerImpl::backgroundFilters): |
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: |
+ (WebCore::subtreeShouldRenderToSeparateSurface): |
+ (WebCore::calculateDrawTransformsAndVisibilityInternal): |
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp: |
+ (WebCore::CCRenderSurface::drawableContentRect): |
+ (WebCore::CCRenderSurface::prepareBackgroundTexture): |
+ (WebCore): |
+ (WebCore::CCRenderSurface::releaseBackgroundTexture): |
+ (WebCore::CCRenderSurface::computeDeviceTransform): |
+ (WebCore::CCRenderSurface::computeDeviceBoundingBox): |
+ (WebCore::CCRenderSurface::computeReadbackDeviceBoundingBox): |
+ (WebCore::CCRenderSurface::readbackDeviceContentRect): |
+ (WebCore::copyTextureToFramebuffer): |
+ (WebCore::CCRenderSurface::copyDeviceToBackgroundTexture): |
+ (WebCore::getSkBitmapTextureId): |
+ (WebCore::CCRenderSurface::drawContents): |
+ (WebCore::CCRenderSurface::drawReplica): |
+ (WebCore::CCRenderSurface::drawLayer): |
+ (WebCore::CCRenderSurface::drawSurface): |
+ (WebCore::CCRenderSurface::applyFilters): |
+ * platform/graphics/chromium/cc/CCRenderSurface.h: |
+ (CCRenderSurface): |
+ (WebCore::CCRenderSurface::setBackgroundFilters): |
+ (WebCore::CCRenderSurface::backgroundFilters): |
+ (WebCore::CCRenderSurface::backgroundTexture): |
+ * testing/Internals.cpp: |
+ (WebCore): |
+ (WebCore::Internals::setBackgroundBlurOnNode): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-04-12 Adam Barth <abarth@webkit.org> |
+ |
+ Remove V8DOMWindowShell::setLocation |
+ https://bugs.webkit.org/show_bug.cgi?id=83833 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ V8DOMWindowShell::setLocation is only used by document.location. It's |
+ more direct for document.location to call Location::setHref directly. |
+ This integrates correctly with the navigation rules for |
+ <iframe seamless>. |
+ |
+ (See https://github.com/eseidel/webkit/compare/master...seamless for |
+ more context about the connection with seamless.) |
+ |
+ Reviewed on GitHub: |
+ https://github.com/abarth/webkit/commit/48601729d53a6ac39df5a43b22218c91330c3f61 |
+ |
+ * bindings/v8/V8DOMWindowShell.cpp: |
+ (WebCore): |
+ * bindings/v8/V8DOMWindowShell.h: |
+ (V8DOMWindowShell): |
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp: |
+ (WebCore::V8Document::locationAccessorSetter): |
+ |
+2012-04-12 Levi Weintraub <leviw@chromium.org> |
+ |
+ Prepare functions in LengthFunctions.h for LayoutUnits |
+ https://bugs.webkit.org/show_bug.cgi?id=83726 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Preparing the functions that live in LengthFunctions for sub-pixel layout, which entails |
+ using and returning LayoutUnits instead of integers. There are a number of rendering |
+ classes that are laid out using integers -- see https://trac.webkit.org/wiki/LayoutUnit |
+ for details -- so this also adds integer-specific versions of the length functions for |
+ explicit use in those classes. |
+ |
+ No new tests. No change in behavior. |
+ |
+ * css/LengthFunctions.h: |
+ (WebCore): Using LayoutUnits for sub-pixel precision and adding integer-specific versions |
+ of minimumValueForLength and valueForLength that truncate. |
+ * css/LengthFunctions.cpp: |
+ (WebCore): |
+ * dom/Document.cpp: |
+ (WebCore::Document::pageSizeAndMarginsInPixels): Document sizes are integral. |
+ * rendering/RenderFrameSet.cpp: |
+ (WebCore::RenderFrameSet::layOutAxis): The frame tree continues to be integral. |
+ * rendering/RenderMarquee.cpp: |
+ (WebCore::RenderMarquee::timerFired): RenderMarquee scrolling uses integral values. |
+ * rendering/RenderTableSection.cpp: |
+ (WebCore::RenderTableSection::calcRowLogicalHeight): Table layout is integral. |
+ |
+2012-04-12 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r114075. |
+ http://trac.webkit.org/changeset/114075 |
+ https://bugs.webkit.org/show_bug.cgi?id=83857 |
+ |
+ Breaks compile (Requested by jamesr on #webkit). |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawYUV): |
+ (WebCore::LayerRendererChromium::drawRGBA): |
+ (WebCore::LayerRendererChromium::copyFrameToTextures): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ * platform/graphics/chromium/VideoFrameChromium.cpp: Renamed from Source/Platform/chromium/src/WebVideoFrame.cpp. |
+ (WebCore): |
+ (WebCore::VideoFrameChromium::~VideoFrameChromium): |
+ * platform/graphics/chromium/VideoFrameChromium.h: Copied from Source/Platform/chromium/public/WebVideoFrame.h. |
+ (WebCore): |
+ (VideoFrameChromium): |
+ * platform/graphics/chromium/VideoFrameProvider.h: |
+ (VideoFrameProvider): |
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: |
+ (WebCore::CCVideoDrawQuad::create): |
+ (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): |
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.h: |
+ (CCVideoDrawQuad): |
+ (WebCore::CCVideoDrawQuad::frame): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
+ (WebCore): |
+ (WebCore::convertVFCFormatToGC3DFormat): |
+ (WebCore::CCVideoLayerImpl::willDraw): |
+ (WebCore::CCVideoLayerImpl::computeVisibleSize): |
+ (WebCore::CCVideoLayerImpl::reserveTextures): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
+ |
+2012-04-12 Adam Barth <abarth@webkit.org> |
+ |
+ Use _self to represnet self-navigation, like in the HTML5 spec |
+ https://bugs.webkit.org/show_bug.cgi?id=83834 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ This patch aligns the internal state representation of the FrameLoader |
+ more closely with the HTML5 spec. Both the null string and "_self" |
+ represent self-navigation, but the HTML5 spec distinguishes them when |
+ navigating seamless iframes. In that case, "_self" is explicit |
+ self-navigation, whereas a null string will get redirected to the |
+ "master" frame (the closest enclosing non-seamless frame). |
+ |
+ This patch shouldn't have any observable behavior changes, but it will |
+ be useful when we merge in the seamless branch from GitHub. |
+ (See https://github.com/eseidel/webkit/commit/df0e71fcacdb0e7e45fe669afe1314cec5b76523 |
+ which contains this change.) |
+ |
+ Once the seamless branch lands, this change will be tested by a number |
+ of tests in |
+ https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless |
+ including seamless-hyperlink.html. |
+ |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::loadURLIntoChildFrame): |
+ (WebCore::FrameLoader::loadURL): |
+ |
+2012-04-12 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API |
+ https://bugs.webkit.org/show_bug.cgi?id=83851 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly. |
+ Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing |
+ width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl). |
+ |
+ Covered by existing media/ and compositing/ layout tests. |
+ |
+ * WebCore.gypi: |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawYUV): |
+ (WebCore::LayerRendererChromium::drawRGBA): |
+ (WebCore::LayerRendererChromium::copyFrameToTextures): |
+ * platform/graphics/chromium/LayerRendererChromium.h: |
+ * platform/graphics/chromium/VideoFrameProvider.h: |
+ (VideoFrameProvider): |
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: |
+ (WebCore::CCVideoDrawQuad::create): |
+ (WebCore::CCVideoDrawQuad::CCVideoDrawQuad): |
+ * platform/graphics/chromium/cc/CCVideoDrawQuad.h: |
+ (WebKit): |
+ (CCVideoDrawQuad): |
+ (WebCore::CCVideoDrawQuad::frame): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: |
+ (WebCore): |
+ (WebCore::convertVFCFormatToGC3DFormat): |
+ (WebCore::CCVideoLayerImpl::willDraw): |
+ (WebCore::videoFrameDimension): |
+ (WebCore::hasPaddingBytes): |
+ (WebCore::CCVideoLayerImpl::computeVisibleSize): |
+ (WebCore::CCVideoLayerImpl::reserveTextures): |
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h: |
+ (WebKit): |
+ |
+2012-04-12 Alexey Proskuryakov <ap@apple.com> |
+ |
+ REGRESSION (r113900): Text tests started failing |
+ https://bugs.webkit.org/show_bug.cgi?id=83724 |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ * Resources/DefaultFonts.plist.in: Use serif fonts for standard family again, |
+ and updated the list with better fonts for Japanese. |
+ |
+2012-04-12 Alexey Proskuryakov <ap@apple.com> |
+ |
+ Preprocessing text files with modern clang treats double slashes in comments |
+ https://bugs.webkit.org/show_bug.cgi?id=83827 |
+ |
+ Reviewed by Mark Rowe. |
+ |
+ * DerivedSources.make: Pass appropriate flags to both llvm and gcc. |
+ |
+2012-04-12 David Dorwin <ddorwin@chromium.org> |
+ |
+ Add Encrypted Media Extensions events and errors to HTMLMediaElement |
+ https://bugs.webkit.org/show_bug.cgi?id=82974 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ The new events and errors are behind the ENABLE(ENCRYPTED_MEDIA) feature define. |
+ Implementation is based on v0.1 of the draft proposal at |
+ http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#events. |
+ |
+ Tests: fast/events/constructors/media-key-event-constructor.html |
+ media/encrypted-media/encrypted-media-constants.html |
+ media/encrypted-media/encrypted-media-events.html |
+ |
+ * WebCore.gypi: |
+ * bindings/v8/Dictionary.cpp: |
+ (WebCore::Dictionary::get): |
+ (WebCore): |
+ * bindings/v8/Dictionary.h: |
+ (WebCore): |
+ (Dictionary): |
+ * dom/EventNames.h: |
+ (WebCore): |
+ * dom/EventNames.in: |
+ * html/HTMLAttributeNames.in: |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore): |
+ (WebCore::HTMLMediaElement::mediaPlayerKeyAdded): |
+ (WebCore::HTMLMediaElement::mediaPlayerKeyError): |
+ (WebCore::HTMLMediaElement::mediaPlayerKeyMessage): |
+ (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): |
+ * html/HTMLMediaElement.h: |
+ (HTMLMediaElement): |
+ * html/HTMLMediaElement.idl: |
+ * html/MediaError.h: |
+ * html/MediaError.idl: |
+ * html/MediaKeyError.h: Added. |
+ (WebCore): |
+ (MediaKeyError): |
+ (WebCore::MediaKeyError::create): |
+ (WebCore::MediaKeyError::code): |
+ (WebCore::MediaKeyError::MediaKeyError): |
+ * html/MediaKeyError.idl: Added. |
+ * html/MediaKeyEvent.cpp: Added. |
+ (WebCore): |
+ (WebCore::MediaKeyEventInit::MediaKeyEventInit): |
+ (WebCore::MediaKeyEvent::MediaKeyEvent): |
+ (WebCore::MediaKeyEvent::~MediaKeyEvent): |
+ (WebCore::MediaKeyEvent::interfaceName): |
+ * html/MediaKeyEvent.h: Added. |
+ (WebCore): |
+ (MediaKeyEventInit): |
+ (MediaKeyEvent): |
+ (WebCore::MediaKeyEvent::create): |
+ (WebCore::MediaKeyEvent::keySystem): |
+ (WebCore::MediaKeyEvent::sessionId): |
+ (WebCore::MediaKeyEvent::initData): |
+ (WebCore::MediaKeyEvent::message): |
+ (WebCore::MediaKeyEvent::defaultURL): |
+ (WebCore::MediaKeyEvent::errorCode): |
+ (WebCore::MediaKeyEvent::systemCode): |
+ * html/MediaKeyEvent.idl: Added. |
+ * page/DOMWindow.idl: |
+ * platform/graphics/MediaPlayer.cpp: |
+ (WebCore): |
+ (WebCore::MediaPlayer::keyAdded): |
+ (WebCore::MediaPlayer::keyError): |
+ (WebCore::MediaPlayer::keyMessage): |
+ (WebCore::MediaPlayer::keyNeeded): |
+ * platform/graphics/MediaPlayer.h: |
+ (MediaPlayerClient): |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyAdded): |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyError): |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyMessage): |
+ (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded): |
+ (MediaPlayer): |
+ |
+2012-04-12 Anders Carlsson <andersca@apple.com> |
+ |
+ Reset the user preferred language overrides in Internals::reset |
+ https://bugs.webkit.org/show_bug.cgi?id=83845 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ We don't want setting the language override in one test to affect subsequent tests, |
+ so make sure to reset it in Internals::reset. |
+ |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::reset): |
+ |
+2012-04-12 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ [chromium][refactoring] merge CCSingleThreadProxy::{commitIfNeeded,doComposite} into commitAndComposite() |
+ https://bugs.webkit.org/show_bug.cgi?id=83837 |
+ |
+ Reviewed by James Robinson. |
+ |
+ - merge CCSingleThreadProxy::commitIfNeeded() and CCSingleThreadProxy::doComposite() into commitAndComposite() |
+ |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: |
+ (WebCore::CCSingleThreadProxy::compositeAndReadback): call site updated. |
+ (WebCore::CCSingleThreadProxy::compositeImmediately): ditto. |
+ (WebCore::CCSingleThreadProxy::commitAndComposite): |
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h: |
+ |
+2012-04-12 Nate Chapin <japhet@chromium.org> |
+ |
+ Remove FrameLoader:m_isLoadingMainResource, since it is always |
+ false at the only point it is checked. |
+ https://bugs.webkit.org/show_bug.cgi?id=83819 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ No new tests, no functionality change intended. |
+ |
+ * loader/DocumentWriter.cpp: |
+ (WebCore::DocumentWriter::end): Merge with endIfNotLoadingMainResource(), always end, assert that we're still attached. |
+ * loader/DocumentWriter.h: |
+ * loader/FrameLoader.cpp: |
+ * loader/FrameLoader.h: Remove isLoadingMainResource(), didEndDocument(), and m_isLoadingMainResource. |
+ |
+2012-04-12 Rob Buis <rbuis@rim.com> |
+ |
+ XMLSerializer().serializeToString() doesn't generate the XML declaration markup like Opera and Firefox |
+ https://bugs.webkit.org/show_bug.cgi?id=83432 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Serialize the xml declaration exactly as parsed, if present in the document. |
+ |
+ Test: fast/dom/dom-parse-serialize-xmldecl.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::Document): |
+ (WebCore::Document::setXMLStandalone): update xmlStandalone to either yes or no. |
+ * dom/Document.h: |
+ (WebCore::Document::xmlStandalone): |
+ (WebCore::Document::xmlStandaloneStatus): xmlStandalone can be unspecified, yes or no. |
+ (WebCore::Document::hasXMLDeclaration): test if xml declaration is present. |
+ (WebCore::Document::setHasXMLDeclaration): |
+ (Document): |
+ * editing/MarkupAccumulator.cpp: |
+ (WebCore::MarkupAccumulator::appendXMLDeclaration): write xml declaration if present. |
+ (WebCore): |
+ (WebCore::MarkupAccumulator::appendStartMarkup): |
+ * editing/MarkupAccumulator.h: |
+ (MarkupAccumulator): |
+ * xml/parser/XMLDocumentParserLibxml2.cpp: |
+ (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed. |
+ * xml/parser/XMLDocumentParserQt.cpp: |
+ (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed. |
+ |
+2012-04-12 Adam Barth <abarth@webkit.org> |
+ |
+ window.open should prepare for seamless navigation by using findFrameForNavigation |
+ https://bugs.webkit.org/show_bug.cgi?id=83835 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Before this patch, window.open called FrameTree::find and |
+ Document::canNavigate separately. This patch refactors the code to |
+ call FrameLoader::findFrameForNavigation, which does both. This |
+ refactoring prepares window.open to understand seamless navigation, |
+ which will happen in findFrameForNavigation. |
+ |
+ This patch should have no behavior change today, but once we merge the |
+ seamless branch, this change will be tested by |
+ https://github.com/eseidel/webkit/blob/seamless/LayoutTests/fast/frames/seamless/seamless-window-open.html |
+ |
+ See https://github.com/eseidel/webkit/commit/a0d8b7defbb63047912aefbc8e22bca4f0638c37 for context. |
+ |
+ * WebCore.exp.in: |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::findFrameForNavigation): |
+ (WebCore::createWindow): |
+ * loader/FrameLoader.h: |
+ (FrameLoader): |
+ |
+2012-04-12 Andy Estes <aestes@apple.com> |
+ |
+ REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important' |
+ https://bugs.webkit.org/show_bug.cgi?id=83832 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ Shipping versions of iAd Producer rely on the pre-r102262 behavior of |
+ respecting '!important' when specified in a CSSStyleDeclaration |
+ property setter. Restore this quirky behavior for versions of the app |
+ that expect it. |
+ |
+ * WebCore.exp.in: Export |
+ Settings::setShouldRespectPriorityInCSSAttributeSetters(). |
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp: |
+ (WebCore::JSCSSStyleDeclaration::putDelegate): If |
+ setShouldRespectPriorityInCSSAttributeSetters() is true, restore the |
+ pre-r102262 behavior wherein we attempt to parse '!important' out of |
+ the property value. |
+ * page/Settings.cpp: |
+ (WebCore::Settings::setShouldRespectPriorityInCSSAttributeSetters): |
+ (WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters): |
+ * page/Settings.h: |
+ |
+2012-04-12 Alexandru Chiculita <achicu@adobe.com> |
+ |
+ REGRESSION(112745) [CSS Filters] Memory use explosion for offscreen filtered elements |
+ https://bugs.webkit.org/show_bug.cgi?id=83815 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ The filtered area used to be the dirty rect intersected by the bounding box of the |
+ layer. During a previous change that behavior was lost, so adding it back now. |
+ |
+ Also, removing the memory buffers used to compute filters after the filter is computed. |
+ They are deleted next time the filter is applied anyway, so there's no need to keep the |
+ memory for them. |
+ |
+ Test: css3/filters/offscreen-filters-memory-usage.html |
+ |
+ * rendering/FilterEffectRenderer.cpp: |
+ (WebCore::FilterEffectRenderer::prepare): |
+ (WebCore): |
+ (WebCore::FilterEffectRenderer::clearIntermediateResults): |
+ (WebCore::FilterEffectRendererHelper::prepareFilterEffect): |
+ (WebCore::FilterEffectRendererHelper::applyFilterEffect): |
+ * rendering/FilterEffectRenderer.h: |
+ (FilterEffectRenderer): |
+ |
+2012-04-12 Brent Fulgham <bfulgham@webkit.org> |
+ |
+ [WinCairo] Build fix after addition of openTypeTable. |
+ |
+ * platform/graphics/FontPlatformData.h: |
+ (FontPlatformData): The openTypeTable declaration is needed |
+ for WinCairo as well. |
+ * platform/graphics/win/FontPlatformDataWin.cpp: |
+ (WebCore): |
+ (WebCore::FontPlatformData::openTypeTable): The implementation |
+ of openTypeTable is needed for non-CG builds. |
+ |
+2012-04-12 Balazs Kelemen <kbalazs@webkit.org> |
+ |
+ [Qt] Fix WebKit1 build with V8 |
+ https://bugs.webkit.org/show_bug.cgi?id=83322 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Make it possible to build WebKit1 with v8. |
+ WebKit2 is not covered yet so it need to be disabled. |
+ To build webkit with --v8 one need a qtjsbackend with |
+ an up-to-date copy of v8. Thanks to Peter Varga such |
+ a public repository is available on gitorious: |
+ https://qt.gitorious.org/~stampho/qt/stamphos-qtjsbackend. |
+ |
+ This patch contains some build fix with !ENABLE(INSPECTOR) |
+ from it's previous version. These are not necessary now |
+ but I kept them because they makes sense. |
+ |
+ No change in behaviour so no new tests. |
+ |
+ * DerivedSources.pri: |
+ * Target.pri: |
+ * WebCore.pri: |
+ * bindings/v8/ScriptController.cpp: |
+ * bindings/v8/ScriptControllerQt.cpp: |
+ * bindings/v8/ScriptProfiler.cpp: |
+ (WebCore::retainedDOMInfo): |
+ (WebCore::ScriptProfiler::initialize): |
+ * bindings/v8/ScriptState.cpp: |
+ (WebCore::evalEnabled): |
+ (WebCore::setEvalEnabled): |
+ * bindings/v8/V8Binding.cpp: |
+ (WebCore): |
+ * bindings/v8/V8Binding.h: |
+ (V8BindingPerIsolateData): |
+ * bindings/v8/V8DOMWindowShell.cpp: |
+ (WebCore::V8DOMWindowShell::initContextIfNeeded): |
+ * bindings/v8/V8GCForContextDispose.cpp: |
+ (WebCore::V8GCForContextDispose::pseudoIdleTimerFired): |
+ * bindings/v8/custom/V8InjectedScriptManager.cpp: |
+ * config.h: |
+ * editing/TextIterator.cpp: |
+ * html/MediaFragmentURIParser.cpp: |
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
+ * platform/qt/PlatformSupportQt.cpp: |
+ (WebCore::PlatformSupport::popupsAllowed): |
+ |
+2012-04-12 Alec Flett <alecflett@chromium.org> |
+ |
+ IndexedDB: Refactor cursor iteration to remove duplicate code |
+ https://bugs.webkit.org/show_bug.cgi?id=83302 |
+ |
+ Reviewed by Ojan Vafai. |
+ |
+ No new tests, no behavior changes. |
+ |
+ * Modules/indexeddb/IDBBackingStore.h: |
+ (Cursor): |
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp: |
+ (WebCore): |
+ |
+2012-04-12 Erik Arvidsson <arv@chromium.org> |
+ |
+ Add support for [ArrayClass] and use that on NodeList |
+ https://bugs.webkit.org/show_bug.cgi?id= |
+ |
+ Reviewed by Adam Barth. |
+ |
+ Attempt to reland r113931. Now with more updated test expectations. |
+ |
+ With this patch NodeLists now have Array.prototype on their prototype chain which allows |
+ methods such as forEach and map to work on NodeLists. |
+ |
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist |
+ |
+ For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which |
+ does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore |
+ set when the constructor is created. |
+ |
+ For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has |
+ a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This |
+ causes test failures in the tests until that has been fixed. |
+ |
+ Test: fast/dom/NodeList/node-list-array-class.html |
+ |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): Include ArrayPrototype.h if an ArrayClass. |
+ (GenerateImplementation): If ArrayClass use arrayPrototype as prototype. |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateNamedConstructorCallback): |
+ (GenerateImplementation): Adds a flag to the WrapperTypeInfo. |
+ * bindings/scripts/IDLAttributes.txt:: Adds new attribute: ArrayClass. |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObj::createPrototype): |
+ * bindings/scripts/test/JS/JSTestObj.h: |
+ * bindings/scripts/test/TestObj.idl: |
+ * bindings/scripts/test/V8/V8Float64Array.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestInterface.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestNode.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
+ (WebCore): |
+ * bindings/v8/NPV8Object.cpp: |
+ (WebCore::npObjectTypeInfo): |
+ * bindings/v8/V8BindingPerContextData.cpp: |
+ (WebCore::V8BindingPerContextData::init): Get the array prototype too. |
+ (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase): |
+ (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to |
+ set the `[[Prototype]]`. |
+ * bindings/v8/V8BindingPerContextData.h: |
+ (V8BindingPerContextData): |
+ * bindings/v8/V8HiddenPropertyName.h: |
+ (WebCore): |
+ * bindings/v8/WrapperTypeInfo.h: |
+ (WrapperTypeInfo): |
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: |
+ (WebCore): |
+ * dom/NodeList.idl: |
+ |
+2012-04-12 Konrad Piascik <kpiascik@rim.com> |
+ |
+ [BlackBerry] Web Inspector cookie expiry is showing the wrong date. |
+ https://bugs.webkit.org/show_bug.cgi?id=83814 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ The internal representation for expiry is seconds, we need to convert it |
+ to milliseconds by multiplying by 1000. |
+ |
+ The value from this method doesn't get used anywhere except Web Inspector. |
+ Manually tested with Web Inspector by examining the CookieItemView in the Resources Panel. |
+ |
+ * platform/blackberry/ParsedCookie.cpp: |
+ (WebCore::ParsedCookie::appendWebCoreCookie): |
+ |
+2012-04-12 Adam Klein <adamk@chromium.org> |
+ |
+ Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set() |
+ https://bugs.webkit.org/show_bug.cgi?id=82256 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ This is an attempt to reland r112318, which was rolled out due to suspicion of OOM issues. |
+ |
+ I've landed the refactoring bits of r112318 as separate changes, |
+ so that this patch contains only the change in which map setter is called. |
+ |
+ Binding tests have been updated with new output. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateToV8Converters): Call appropriate V8DOMWrapper::setJSWrapperFor* |
+ to set up wrapper mapping and remove call to leakRef() which is handled |
+ in V8DOMWrapper. |
+ * bindings/scripts/test/V8/V8Float64Array.cpp: |
+ (WebCore::V8Float64Array::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
+ (WebCore::V8TestActiveDOMObject::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
+ (WebCore::V8TestCustomNamedGetter::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
+ (WebCore::V8TestEventConstructor::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
+ (WebCore::V8TestEventTarget::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestInterface.cpp: |
+ (WebCore::V8TestInterface::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
+ (WebCore::V8TestMediaQueryListListener::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
+ (WebCore::V8TestNamedConstructor::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestNode.cpp: |
+ (WebCore::V8TestNode::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore::V8TestObj::wrapSlow): |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
+ (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): |
+ |
+2012-04-12 David Hyatt <hyatt@apple.com> |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=83817 |
+ |
+ This patch modifies RenderText so that it scans all of its characters up front to |
+ determine whether or not the simple code path can be used for measurement/rendering |
+ of the text for the whole run. |
+ |
+ TextRun now has an additional field that indicates that the character scan is not |
+ required, since the entire RenderText is known to be simple. This boolean is set |
+ when constructing the TextRun from the places that make TextRuns from RenderTexts. |
+ |
+ The character scan has been refactored into a static Font method so that it can be |
+ called by RenderText. The scan of individual TextRuns is also done using the same method |
+ so that the code is shared. |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ * platform/graphics/Font.cpp: |
+ (WebCore::Font::codePath): |
+ (WebCore::Font::characterRangeCodePath): |
+ * platform/graphics/Font.h: |
+ * platform/graphics/TextRun.h: |
+ (WebCore::TextRun::TextRun): |
+ (WebCore::TextRun::characterScanForCodePath): |
+ (WebCore::TextRun::setCharacterScanForCodePath): |
+ (TextRun): |
+ * rendering/InlineTextBox.cpp: |
+ (WebCore::InlineTextBox::constructTextRun): |
+ * rendering/RenderBlockLineLayout.cpp: |
+ (WebCore::textWidth): |
+ * rendering/RenderText.cpp: |
+ (WebCore::RenderText::RenderText): |
+ (WebCore::RenderText::widthFromCache): |
+ (WebCore::RenderText::setTextInternal): |
+ (WebCore::RenderText::width): |
+ (WebCore::RenderText::computeCanUseSimpleFontCodePath): |
+ (WebCore): |
+ * rendering/RenderText.h: |
+ (RenderText): |
+ (WebCore::RenderText::canUseSimpleFontCodePath): |
+ |
+2012-04-12 Levi Weintraub <leviw@chromium.org> |
+ |
+ Make AccessibilityObject::size non-virtual and fix platform accessibility code's LayoutUnit usage |
+ https://bugs.webkit.org/show_bug.cgi?id=83803 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ AccessibilityObject::size was virtual with a number of overloads, but all the implementations were |
+ redundant. Avoiding the virtual thunk and code duplication by declaring it non-virtual and only |
+ implementing it in AccessibilityObject. |
+ |
+ Also adding a pixelSnappedSize method that returns an IntSize, and using it in platform |
+ accessibility code. |
+ |
+ No new tests. No change in behavior. |
+ |
+ * accessibility/AccessibilityMenuListOption.h: |
+ (WebCore::AccessibilityMenuListOption::canHaveChildren): |
+ * accessibility/AccessibilityMenuListPopup.h: |
+ (WebCore::AccessibilityMenuListPopup::elementRect): |
+ * accessibility/AccessibilityObject.h: |
+ (WebCore::AccessibilityObject::size): |
+ (WebCore::AccessibilityObject::pixelSnappedSize): |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore): |
+ * accessibility/AccessibilityRenderObject.h: |
+ (AccessibilityRenderObject): |
+ * accessibility/AccessibilitySlider.cpp: |
+ (WebCore): |
+ * accessibility/AccessibilitySlider.h: |
+ (AccessibilitySliderThumb): |
+ * accessibility/AccessibilityTableColumn.cpp: |
+ (WebCore): |
+ * accessibility/AccessibilityTableColumn.h: |
+ (AccessibilityTableColumn): |
+ * accessibility/AccessibilityTableHeaderContainer.cpp: |
+ (WebCore): |
+ * accessibility/AccessibilityTableHeaderContainer.h: |
+ (AccessibilityTableHeaderContainer): |
+ * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: |
+ (webkitAccessibleComponentGetExtents): |
+ * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: |
+ (webkitAccessibleImageGetImagePosition): |
+ (webkitAccessibleImageGetImageSize): |
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm: |
+ (-[WebAccessibilityObjectWrapper position]): |
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): |
+ |
+2012-04-12 Anna Cavender <annacc@chromium.org> |
+ |
+ Update HTMLMediaElement's index of cues when TextTrack.mode changes to |
+ and from TextTrack::DISABLED. |
+ https://bugs.webkit.org/show_bug.cgi?id=83377 |
+ |
+ Reviewed by Eric Carlson. |
+ |
+ No new tests. Instead updated media/track/track-mode.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::textTrackModeChanged): |
+ Add the track's cues to the index when the mode changes to HIDDEN or SHOWING. |
+ |
+ * html/HTMLTrackElement.cpp: |
+ (WebCore::HTMLTrackElement::textTrackRemoveCues): |
+ Fix a copy pasta error. |
+ |
+ * html/track/TextTrack.cpp: |
+ (WebCore::TextTrack::setMode): |
+ Remove the track's cues from the index when the mode changes to DISABLED. |
+ |
+2012-04-12 Cem Kocagil <cem.kocagil@gmail.com> |
+ |
+ Allow certain Char events in fullscreen |
+ https://bugs.webkit.org/show_bug.cgi?id=83330 |
+ |
+ Reviewed by Alexey Proskuryakov. |
+ |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::isKeyEventAllowedInFullScreen): |
+ |
+2012-04-12 Alec Flett <alecflett@chromium.org> |
+ |
+ IndexedDB: Attributes for a cursor "run past the end" should be undefined. |
+ https://bugs.webkit.org/show_bug.cgi?id=83492 |
+ |
+ Reviewed by Ojan Vafai. |
+ |
+ This brings us up to spec with respect to when it's ok to call |
+ cursor.continue() and the various behaviors around it: |
+ |
+ If you call it more than once, continue() throws an exception. |
+ |
+ The values of key/primaryKey/value are consistent, whether or not |
+ continue has been called, meaning that if continue() results in |
+ data being loaded from the backing store, that data does not |
+ affect the cursor until the success callback has completed. |
+ |
+ Calls to update() and delete() can happen before continue(), but |
+ not afterwards. |
+ |
+ Test: storage/indexeddb/cursor-continue-validity.html |
+ |
+ * Modules/indexeddb/IDBCursor.cpp: |
+ (WebCore::IDBCursor::IDBCursor): |
+ (WebCore::IDBCursor::key): |
+ (WebCore::IDBCursor::primaryKey): |
+ (WebCore::IDBCursor::value): |
+ (WebCore::IDBCursor::update): |
+ (WebCore::IDBCursor::continueFunction): |
+ (WebCore::IDBCursor::deleteFunction): |
+ (WebCore::IDBCursor::setGotValue): |
+ (WebCore): |
+ * Modules/indexeddb/IDBCursor.h: |
+ (IDBCursor): |
+ * Modules/indexeddb/IDBRequest.cpp: |
+ (WebCore::IDBRequest::onSuccess): |
+ (WebCore::IDBRequest::dispatchEvent): |
+ |
+2012-04-12 Eric Carlson <eric.carlson@apple.com> |
+ |
+ Media engine should not be told to prepare for playback if media loading is not allowed |
+ https://bugs.webkit.org/show_bug.cgi?id=83620 |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ Test: media/video-load-require-user-gesture.html |
+ |
+ * html/HTMLMediaElement.cpp: |
+ (WebCore::HTMLMediaElement::load): Early return if user gesture requirement is not met. |
+ |
+ * testing/InternalSettings.cpp: |
+ (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture): Moved the method here from |
+ Internals to be with the rest of the Internals methods that expose preferences. |
+ * testing/InternalSettings.h: |
+ * testing/InternalSettings.idl: |
+ |
+ * testing/Internals.cpp: Moved setMediaPlaybackRequiresUserGesture to InternalSettings. |
+ * testing/Internals.h: |
+ * testing/Internals.idl: |
+ |
+2012-04-12 Bear Travis <betravis@adobe.com> |
+ |
+ [CSS Exclusions] Add flag to enable / disable exclusions at runtime |
+ https://bugs.webkit.org/show_bug.cgi?id=83313 |
+ |
+ Reviewed by Ryosuke Niwa. |
+ |
+ Adding setCSSExclusionsEnabled/cssExclusionsEnabled that is true by default. |
+ The CSS parser will not accept values for the exclusions properties when |
+ cssExclusionsEnabled is false. However, you will still get the default value |
+ in the computed style. |
+ |
+ Test: fast/exclusions/css-exclusions-disabled.html |
+ |
+ * WebCore.exp.in: |
+ * bindings/generic/RuntimeEnabledFeatures.cpp: |
+ (WebCore): |
+ * bindings/generic/RuntimeEnabledFeatures.h: |
+ (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled): |
+ (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled): |
+ (RuntimeEnabledFeatures): |
+ * css/CSSParser.cpp: |
+ (WebCore::isSimpleLengthValue): |
+ (WebCore::isValidKeywordPropertyAndValue): |
+ (WebCore::CSSParser::parseValue): |
+ * testing/InternalSettings.cpp: |
+ (WebCore::InternalSettings::InternalSettings): |
+ (WebCore::InternalSettings::restoreTo): |
+ (WebCore::InternalSettings::setCSSExclusionsEnabled): |
+ (WebCore): |
+ * testing/InternalSettings.h: |
+ (InternalSettings): |
+ * testing/InternalSettings.idl: |
+ |
+2012-04-12 Nate Chapin <japhet@chromium.org> |
+ |
+ Move Archive processing to DocumentLoader, instead of FrameLoader. |
+ https://bugs.webkit.org/show_bug.cgi?id=83055 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ No new tests, no functionality change intended. |
+ |
+ * loader/DocumentLoader.cpp: |
+ (WebCore::DocumentLoader::finishedLoading): |
+ (WebCore::DocumentLoader::setupForReplaceByMIMEType): |
+ (WebCore::DocumentLoader::maybeCreateArchive): Renamed from |
+ FrameLoader::finishedLoadingDocument(). Returns true if an archive |
+ was created. |
+ (WebCore::DocumentLoader::setArchive): |
+ (WebCore::DocumentLoader::scheduleArchiveLoad): |
+ (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url |
+ should be returned, so that we don't need special handling in Document and |
+ FrameLoader for overriding the document url later. |
+ * loader/DocumentLoader.h: |
+ * loader/FrameLoader.cpp: |
+ (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since |
+ DocumentLoader::documentURL() will return the right thing for legacy archives |
+ and maybeCreateArchive() will override the base url for mhtml. |
+ (WebCore::FrameLoader::loadArchive): |
+ * loader/FrameLoader.h: |
+ |
+2012-04-12 Dmitry Lomov <dslomov@google.com> |
+ |
+ REGRESSION (r113233): fast/canvas/webgl/array-message-passing.html crashing on Lion and Snow Leopard bots. |
+ https://bugs.webkit.org/show_bug.cgi?id=83427. |
+ Due to incorrect merge by me when landing r113233, call to find got replaces with call to add in |
+ checking for duplicates in ObjectPool when serializing. |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ Covered by existing tests. |
+ |
+ * bindings/js/SerializedScriptValue.cpp: |
+ (WebCore::CloneSerializer::checkForDuplicate): |
+ |
+2012-04-12 David Barton <dbarton@mathscribe.com> |
+ |
+ Don't modify shared style objects in RenderMathMLRoot.cpp |
+ https://bugs.webkit.org/show_bug.cgi?id=83736 |
+ |
+ Reviewed by Julien Chaffraix. |
+ |
+ To leave room for the radical sign and absolutely positioned "index", we switch to using |
+ intrinsic padding. RenderMathMLRoot.cpp is also cleaned up and prepared for merging with |
+ RenderMathMLSquareRoot.cpp. The base and index are no longer wrapped in extra renderers, |
+ and the child renderers are now in the same order as in the DOM. Some padding/placement |
+ terms are unified and debugged. |
+ |
+ Tested by existing tests in roots.xhtml. |
+ |
+ * css/mathml.css: |
+ (mroot): |
+ (mroot > * + *): |
+ (mroot > * + mrow, mroot > * + mfenced): |
+ * rendering/mathml/RenderMathMLRoot.cpp: |
+ (WebCore): |
+ (WebCore::RenderMathMLRoot::index): |
+ (WebCore::RenderMathMLRoot::paint): |
+ (WebCore::RenderMathMLRoot::layout): |
+ * rendering/mathml/RenderMathMLRoot.h: |
+ (RenderMathMLRoot): |
+ * rendering/mathml/RenderMathMLSquareRoot.cpp: |
+ (WebCore): |
+ (WebCore::RenderMathMLSquareRoot::paint): |
+ |
+2012-04-12 Anders Carlsson <andersca@apple.com> |
+ |
+ Build fix. |
+ |
+ * page/mac/SettingsMac.mm: |
+ (WebCore::defaultFontFamilyDictionary): |
+ |
+2012-04-12 Antti Koivisto <antti@apple.com> |
+ |
+ Remove style sheet argument from StyleRuleImport constructor |
+ https://bugs.webkit.org/show_bug.cgi?id=83740 |
+ |
+ Reviewed by Andreas Kling. |
+ |
+ The style sheet is set when the rule is added to one. The parser does not need to know about it. |
+ |
+ * css/CSSImportRule.cpp: |
+ (WebCore::StyleRuleImport::StyleRuleImport): |
+ * css/CSSImportRule.h: |
+ (StyleRuleImport): |
+ (WebCore::StyleRuleImport::setParentStyleSheet): |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::createImportRule): |
+ * css/CSSStyleSheet.cpp: |
+ (WebCore::StyleSheetInternal::parserAppendRule): |
+ (WebCore::StyleSheetInternal::wrapperInsertRule): |
+ |
+2012-04-12 Alexey Proskuryakov <ap@apple.com> |
+ |
+ REGRESSION (r113900): In nightly builds, Safari Webpage Preview Fetcher crashes in Settings::initializeDefaultFontFamilies() due to uncaught exception (sandbox preventing access to fonts plist) |
+ https://bugs.webkit.org/show_bug.cgi?id=83792 |
+ <rdar://problem/11234002> |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ * page/mac/SettingsMac.mm: (WebCore::defaultFontFamilyDictionary): Bail out without setting |
+ font preferences if the process doesn't have read access to WebCore.framework. |
+ |
+2012-04-12 Eli Fidler <efidler@rim.com> |
+ |
+ [BlackBerry] Set up default fonts for BlackBerry |
+ https://bugs.webkit.org/show_bug.cgi?id=83775 |
+ |
+ Reviewed by Antonio Gomes. |
+ |
+ * PlatformBlackBerry.cmake: |
+ * page/Settings.cpp: |
+ (WebCore): |
+ * page/blackberry/SettingsBlackBerry.cpp: Added. |
+ (WebCore): |
+ (WebCore::Settings::initializeDefaultFontFamilies): |
+ |
+2012-04-12 Jon Lee <jonlee@apple.com> |
+ |
+ Implement Dictionary.h on mac (83472) |
+ https://bugs.webkit.org/show_bug.cgi?id=83472 |
+ <rdar://problem/11209766> |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ A difference between Dictionary and JSDictionary makes it difficult to merge the two together and avoid |
+ creating a confusing API. The boolean returned by Dictionary::get() represents whether the |
+ property was found. The boolean returned by JSDictionary::tryGetProperty() represents whether an |
+ exception was thrown. |
+ |
+ * WebCore.xcodeproj/project.pbxproj: Add Dictionary.h and Dictionary.cpp. |
+ |
+ * bindings/js/Dictionary.cpp: Added. |
+ (WebCore::Dictionary::Dictionary): |
+ (WebCore::Dictionary::get): |
+ * bindings/js/Dictionary.h: Leverage JSDictionary's functionality to obtain the data. |
+ (WebCore::Dictionary::isObject): Mark an unimplemented. |
+ (WebCore::Dictionary::isUndefinedOrNull): Mark an unimplemented. |
+ (WebCore::Dictionary::getWithUndefinedOrNullCheck): Mark an unimplemented. |
+ |
+ * bindings/js/JSDictionary.cpp: |
+ (WebCore::JSDictionary::tryGetProperty): Convert to a const function. |
+ * bindings/js/JSDictionary.h: |
+ (WebCore::JSDictionary::isValid): |
+ (WebCore::JSDictionary::tryGetProperty): Convert to a const function. |
+ (WebCore::JSDictionary::get): Similar to tryGetProperty(), but returns true if the |
+ property was found, converting the value succeeded and the out parameter "result" was set. |
+ (WebCore::JSDictionary::tryGetPropertyAndResult): Refactor tryGetProperty() to return the enum directly. |
+ |
+ Change bindings scripts to use Dictionary constructor. |
+ * bindings/js/IDBBindingUtilities.cpp: Remove createDictionaryFromValue(). |
+ * bindings/js/IDBBindingUtilities.h: Remove createDictionaryFromValue(). |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (JSValueToNative): Update to remove IDBBindingUtilities.h dependency, and use Dictionary constructor. |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::jsTestObjPrototypeFunctionOptionsObject): Update expected generated output. |
+ |
+2012-04-12 Sami Kyostila <skyostil@chromium.org> |
+ |
+ [chromium] Fix threaded compositor HUD crash |
+ https://bugs.webkit.org/show_bug.cgi?id=83778 |
+ |
+ Reviewed by James Robinson. |
+ |
+ Don't try to read font metrics in threaded compositing mode, since we |
+ currently can't render HUD text with the threaded compositor. |
+ |
+ HUD is not testable in WebKit. |
+ |
+ * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: |
+ (WebCore::CCHeadsUpDisplay::drawHudContents): |
+ |
+2012-04-11 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: zoom timeline frame on dblclick on the frame bar |
+ https://bugs.webkit.org/show_bug.cgi?id=83741 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ - put timeline frame bars into a container, so we can have one listener; |
+ - upon dblclick, find the frame, get its window coordinates and set overview selection window accordingly. |
+ |
+ * inspector/front-end/TimelineOverviewPane.js: |
+ (WebInspector.TimelineOverviewPane.prototype.zoomToFrame): Get frame coordinates, set overview window. |
+ (WebInspector.TimelineVerticalOverview.prototype.update): Maintain framesPerBar as a member for reuse in getFramePosition() |
+ (WebInspector.TimelineVerticalOverview.prototype.framePosition): Map frame to screen positions. |
+ (WebInspector.TimelineVerticalOverview.prototype._renderBars): Factored out barNumberToScreenPosition() |
+ (WebInspector.TimelineVerticalOverview.prototype._barNumberToScreenPosition): |
+ (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): Drive-by style fix. |
+ * inspector/front-end/TimelinePanel.js: |
+ (WebInspector.TimelinePanel.prototype._updateFrames): Put frames into a containing div. |
+ (WebInspector.TimelinePanel.prototype._onFrameDoubleClicked): Zoom to frame upon double click. |
+ * inspector/front-end/timelinePanel.css: |
+ (.timeline-frame-container): |
+ |
+2012-04-11 Andrey Kosyakov <caseq@chromium.org> |
+ |
+ Web Inspector: show wall time frame duration on the vertical overview |
+ https://bugs.webkit.org/show_bug.cgi?id=83718 |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ - show frame duration as a contour of the frame bar in vertical overview; |
+ - when scaling, normalize bar to a max of 3 * median frame duration, so too long frames do not dwarf the majority; |
+ - add Array.prototype.qselect() for the above; |
+ - factor our partition algorithm onto Array.prototype for better reuse; |
+ |
+ * inspector/front-end/PartialQuickSort.js: factor out partition() |
+ (Object.defineProperty.): |
+ (Object.defineProperty): |
+ * inspector/front-end/TimelineFrameController.js: |
+ (WebInspector.TimelineFrameController.prototype._flushFrame): add frame.duration. |
+ (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto. |
+ * inspector/front-end/TimelineOverviewPane.js: |
+ (WebInspector.TimelineVerticalOverview): |
+ (WebInspector.TimelineVerticalOverview.prototype.reset): this._longestFrameTime is gone. |
+ (WebInspector.TimelineVerticalOverview.prototype.update): ditto. |
+ (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames): return frames to display, not just their timeByCatogory. |
+ (WebInspector.TimelineVerticalOverview.prototype._renderBars): use entire frames, not timeByCategory. |
+ (WebInspector.TimelineVerticalOverview.prototype._renderBar): ditto. |
+ * inspector/front-end/externs.js: Added annotations for partition() and qselect() |
+ (Array.prototype.partition): |
+ (Array.prototype.qselect): |
+ * inspector/front-end/utilities.js: |
+ (.): |
+ |
+2012-04-12 David Barr <davidbarr@chromium.org> |
+ |
+ Optimize non-rounded double border rendering to avoid transparency layers |
+ https://bugs.webkit.org/show_bug.cgi?id=83745 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ No functional change, painting optimization only. |
+ |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::RenderBoxModelObject::paintBorder): |
+ |
+2012-04-12 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ Reduce the use of RenderLayer outside of the rendering code |
+ https://bugs.webkit.org/show_bug.cgi?id=83728 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ Test: fast/layers/scrollByLines-overflow-no-layer.html |
+ |
+ This is mostly a layering violation change. This changes reduces the number of |
+ RenderLayer use outside rendering/ by a third but there are still numerous uses. |
+ |
+ While auditing the different uses of RenderLayer, I found a potential crasher |
+ and fixed it which is why we have a test case. |
+ |
+ * accessibility/AccessibilityRenderObject.cpp: |
+ (WebCore::AccessibilityRenderObject::visiblePositionForPoint): |
+ * dom/Document.cpp: |
+ (WebCore::Document::nodesFromRect): |
+ (WebCore::Document::handleZeroPadding): |
+ (WebCore::nodeFromPoint): |
+ (WebCore::Document::prepareMouseEvent): |
+ * editing/FrameSelection.cpp: |
+ (WebCore::FrameSelection::contains): |
+ * page/DragController.cpp: |
+ (WebCore::elementUnderMouse): |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::handleMouseDraggedEvent): |
+ (WebCore::EventHandler::eventMayStartDrag): |
+ (WebCore::EventHandler::updateSelectionForMouseDrag): |
+ (WebCore::EventHandler::hitTestResultAtPoint): |
+ (WebCore::EventHandler::handleWheelEvent): |
+ (WebCore::EventHandler::hoverTimerFired): |
+ (WebCore::EventHandler::handleDrag): |
+ Updated these call sites to use RenderView::hitTest. |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::contentsInCompositedLayer): |
+ (WebCore::FrameView::scrollContentsFastPath): |
+ Updated these call sites to use RenderObject::isComposited(). |
+ |
+ * dom/Element.cpp: |
+ (WebCore::Element::scrollByUnits): |
+ Call directly RenderBox::scroll instead of calling the layer. |
+ This actually fixes a crasher that slipped through the cracks. |
+ |
+ * editing/visible_units.cpp: |
+ * html/shadow/TextControlInnerElements.cpp: |
+ * page/ContextMenuController.cpp: |
+ * page/FocusController.cpp: |
+ * page/Frame.cpp: |
+ * page/GestureTapHighlighter.cpp: |
+ * page/PrintContext.cpp: |
+ * plugins/mac/PluginViewMac.mm: |
+ Removed unneeded #include. |
+ |
+ * plugins/gtk/PluginViewGtk.cpp: |
+ * plugins/qt/PluginViewQt.cpp: |
+ Replaced RenderLayer.h #include with RenderObject.h as |
+ we use RenderObject::absoluteToLocal. |
+ |
+ * rendering/RenderObject.cpp: |
+ (WebCore::RenderObject::isComposited): |
+ * rendering/RenderObject.h: |
+ * rendering/RenderView.cpp: |
+ (WebCore::RenderView::hitTest): |
+ * rendering/RenderView.h: |
+ Added 2 new functions that pipe through the RenderLayer. |
+ |
+2012-04-12 Pravinin D <pravind.2k4@gmail.com> |
+ |
+ font-size:0 text runs has non zero width in case of Windows Safari. |
+ https://bugs.webkit.org/show_bug.cgi?id=83559 |
+ |
+ Reviewed by Dan Bernstein. |
+ |
+ Test case already exits. |
+ LayoutTest/fast/text/font-size-zero.html |
+ |
+ * platform/graphics/win/SimpleFontDataCGWin.cpp: |
+ (WebCore): |
+ (WebCore::SimpleFontData::platformBoundsForGlyph): |
+ (WebCore::SimpleFontData::platformWidthForGlyph): |
+ |
+2012-04-12 Alexei Filippov <alexeif@chromium.org> |
+ |
+ Web Inspector: Move meta node out of nodes in snapshot serialization. |
+ https://bugs.webkit.org/show_bug.cgi?id=83701 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ * inspector/front-end/HeapSnapshot.js: |
+ (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk): |
+ (WebInspector.HeapSnapshot): |
+ |
+2012-04-12 Yael Aharon <yael.aharon@nokia.com> |
+ |
+ [Qt][WK2] Nested fixed elements scroll too fast |
+ https://bugs.webkit.org/show_bug.cgi?id=83720 |
+ |
+ Reviewed by Noam Rosenthal. |
+ |
+ Before setting the scrollPositionDelta to a fixed layer, check if it has an ancestor which also has fixed position. |
+ If it does, do not set scrollPositionDelta. |
+ Added a flag to TextureMapperLayer and GraphicsLayerTextureMapper indicating if it is a fixed position layer. |
+ |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
+ (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): |
+ * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
+ (WebCore::GraphicsLayerTextureMapper::setFixedToViewport): |
+ (WebCore::GraphicsLayerTextureMapper::fixedToViewport): |
+ (GraphicsLayerTextureMapper): |
+ * platform/graphics/texmap/TextureMapperLayer.cpp: |
+ (WebCore::TextureMapperLayer::syncCompositingStateSelf): |
+ (WebCore::TextureMapperLayer::isAncestorFixedToViewport): |
+ (WebCore): |
+ (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded): |
+ * platform/graphics/texmap/TextureMapperLayer.h: |
+ (TextureMapperLayer): |
+ (WebCore::TextureMapperLayer::setFixedToViewport): |
+ |
+2012-04-12 Charles Wei <charles.wei@torchmobile.com.cn> |
+ |
+ [BlackBerry] Revert the patch for 82764 |
+ https://bugs.webkit.org/show_bug.cgi?id=83767 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ Revert the patch for 82764, which is causing misfunction. |
+ The internal commit is: 800213f5 |
+ |
+ * plugins/blackberry/PluginViewBlackBerry.cpp: |
+ (WebCore::PluginView::setNPWindowIfNeeded): |
+ (WebCore::PluginView::platformGetValue): |
+ (WebCore::PluginView::platformDestroy): |
+ * plugins/blackberry/PluginViewPrivateBlackBerry.h: |
+ (PluginViewPrivate): |
+ |
+2012-04-12 Kent Tamura <tkent@chromium.org> |
+ |
+ [Chromium] Enable INPUT_TYPE_DATE |
+ https://bugs.webkit.org/show_bug.cgi?id=83761 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ * html/DateInputType.cpp: |
+ Touch it to avoid build issues. No code changes. |
+ * html/DateInputType.h: ditto. |
+ * html/InputType.cpp: ditto. |
+ |
+2012-04-12 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: annotate the rest of profiler front-end for closure compiler |
+ https://bugs.webkit.org/show_bug.cgi?id=83781 |
+ |
+ All remaining Profiler front-end files are annotated for closure compiler. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/CSSSelectorProfileView.js: |
+ * inspector/front-end/HeapSnapshotProxy.js: |
+ (WebInspector.HeapSnapshotWorkerWrapper): |
+ (WebInspector.HeapSnapshotWorkerWrapper.prototype.postMessag): |
+ (WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate): |
+ (WebInspector.HeapSnapshotWorker): |
+ (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod): |
+ (WebInspector.HeapSnapshotProxyObject.prototype.callMethod): |
+ * inspector/front-end/HeapSnapshotWorkerDispatcher.js: |
+ * inspector/front-end/TopDownProfileDataGridTree.js: |
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude): |
+ * inspector/front-end/externs.js: |
+ (addEventListener): |
+ |
+2012-04-12 Sam D <dsam2912@gmail.com> |
+ |
+ Web Inspector: Node Value should not get corrupt while jump over different matches in search. |
+ https://bugs.webkit.org/show_bug.cgi?id=83758 |
+ |
+ The order in which updateEntryHide is called for cached |
+ highlightResults is changed in "last changed first corrected" order to preserve the semantic of node. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ No new tests required. |
+ |
+ * inspector/front-end/ElementsTreeOutline.js: |
+ (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight): |
+ |
+2012-03-05 Pierre Rossi <pierre.rossi@gmail.com> |
+ |
+ [Qt] Use QRawFont when building with Qt 5 |
+ https://bugs.webkit.org/show_bug.cgi?id=78001 |
+ |
+ Up until now, fonts in the Qt port have been handled via |
+ the QFont API. QRawFont offers a lower-level API enabling |
+ us to be more in line with what other WebKit ports do. |
+ This patch proceeds to switching over to QRawFont, and |
+ effectively use an earlier change by Andreas Kling |
+ that remained guarded up until now. |
+ |
+ Reviewed by Simon Hausmann. |
+ |
+ No new tests since this is refactoring of existing |
+ functionality. |
+ |
+ * Target.pri: |
+ * platform/graphics/Font.cpp: |
+ (WebCore::Font::drawText): |
+ * platform/graphics/Font.h: |
+ (Font): |
+ (WebCore): |
+ (WebCore::Font::syntheticFont): Added. |
+ * platform/graphics/SimpleFontData.h: |
+ (SimpleFontData): |
+ (WebCore::SimpleFontData::getQtRawFont): |
+ (WebCore): |
+ * platform/graphics/qt/FontCacheQt.cpp: |
+ (WebCore::rawFontForCharacters): |
+ (WebCore): |
+ (WebCore::FontCache::getFontDataForCharacters): |
+ (WebCore::FontCache::createFontPlatformData): |
+ * platform/graphics/qt/FontCustomPlatformData.h: |
+ (FontCustomPlatformData): |
+ * platform/graphics/qt/FontCustomPlatformDataQt.cpp: |
+ (WebCore::FontCustomPlatformData::~FontCustomPlatformData): |
+ (WebCore::FontCustomPlatformData::fontPlatformData): |
+ (WebCore::createFontCustomPlatformData): |
+ * platform/graphics/qt/FontPlatformData.h: |
+ (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate): |
+ (FontPlatformDataPrivate): |
+ (FontPlatformData): |
+ * platform/graphics/qt/FontPlatformDataQt.cpp: |
+ (WebCore::FontPlatformData::FontPlatformData): |
+ (WebCore): |
+ (WebCore::FontPlatformData::operator==): |
+ * platform/graphics/qt/FontQt.cpp: |
+ (WebCore::fillPenForContext): |
+ (WebCore::pathForGlyphs): |
+ (WebCore::drawQtGlyphRun): |
+ (WebCore::Font::drawComplexText): |
+ (WebCore::Font::floatWidthForComplexText): |
+ (WebCore::Font::offsetForPositionForComplexText): |
+ (WebCore::Font::selectionRectForComplexText): |
+ (WebCore::Font::initFormatForTextLayout): |
+ (WebCore): |
+ (WebCore::Font::drawGlyphs): |
+ (WebCore::Font::syntheticFont): |
+ (WebCore::Font::rawFont): |
+ * platform/graphics/qt/FontQt4.cpp: Copied from Source/WebCore/platform/graphics/qt/FontQt.cpp. |
+ (WebCore): |
+ (WebCore::fromRawDataWithoutRef): |
+ (WebCore::setupLayout): |
+ (WebCore::fillPenForContext): |
+ (WebCore::strokePenForContext): |
+ (WebCore::drawTextCommon): |
+ (WebCore::Font::drawComplexText): |
+ (WebCore::Font::floatWidthForComplexText): |
+ (WebCore::Font::offsetForPositionForComplexText): |
+ (WebCore::Font::selectionRectForComplexText): |
+ (WebCore::Font::canReturnFallbackFontsForComplexText): |
+ (WebCore::Font::drawEmphasisMarksForComplexText): |
+ (WebCore::Font::drawSimpleText): |
+ (WebCore::Font::offsetForPositionForSimpleText): |
+ (WebCore::Font::floatWidthForSimpleText): |
+ (WebCore::Font::selectionRectForSimpleText): |
+ (WebCore::Font::canExpandAroundIdeographsInComplexText): |
+ (WebCore::Font::primaryFontHasGlyphForCharacter): |
+ (WebCore::Font::emphasisMarkAscent): |
+ (WebCore::Font::emphasisMarkDescent): |
+ (WebCore::Font::emphasisMarkHeight): |
+ (WebCore::Font::drawEmphasisMarksForSimpleText): |
+ (WebCore::Font::font): |
+ * platform/graphics/qt/SimpleFontDataQt.cpp: |
+ (WebCore::SimpleFontData::platformInit): |
+ * platform/qt/RenderThemeQt.cpp: |
+ (WebCore::RenderThemeQt::fileListNameForWidth): |
+ * platform/qt/RenderThemeQtMobile.cpp: |
+ (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle): |
+ |
+2012-04-12 JungJik Lee <jungjik.lee@samsung.com> |
+ |
+ Calculate the cover rect of tiled backing store with the trajectory vector. |
+ https://bugs.webkit.org/show_bug.cgi?id=83462 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ When trajectory vector is not zero, it is able to calculate the proper cover area. |
+ No new tests - no new functionality. |
+ |
+ * platform/graphics/TiledBackingStore.cpp: |
+ (WebCore::TiledBackingStore::computeCoverAndKeepRect): |
+ |
+2012-04-12 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: extracting NetworkRequest from Resource (step 2) |
+ https://bugs.webkit.org/show_bug.cgi?id=83773 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ This step moves request-related views from being resource-based to request-based. |
+ See https://bugs.webkit.org/show_bug.cgi?id=61363 for the meta bug. |
+ |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/ContentProviders.js: |
+ (WebInspector.ResourceContentProvider): |
+ (WebInspector.ResourceContentProvider.prototype.requestContent): |
+ (WebInspector.ResourceContentProvider.prototype.searchInContent): |
+ * inspector/front-end/NetworkItemView.js: |
+ (WebInspector.NetworkItemView): |
+ (WebInspector.RequestContentView): |
+ (WebInspector.RequestContentView.prototype._ensureInnerViewShown): |
+ * inspector/front-end/NetworkPanel.js: |
+ (WebInspector.NetworkLogView.prototype._showPopover): |
+ * inspector/front-end/NetworkRequest.js: |
+ (WebInspector.NetworkRequest.prototype.resource): |
+ * inspector/front-end/RawSourceCode.js: |
+ (WebInspector.RawSourceCode.prototype._createContentProvider): |
+ * inspector/front-end/RequestCookiesView.js: Renamed from Source/WebCore/inspector/front-end/ResourceCookiesView.js. |
+ (WebInspector.RequestCookiesView): |
+ * inspector/front-end/RequestHTMLView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHTMLView.js. |
+ (WebInspector.RequestHTMLView): |
+ (WebInspector.RequestHTMLView.prototype._createIFrame): |
+ * inspector/front-end/RequestHeadersView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHeadersView.js. |
+ (WebInspector.RequestHeadersView): |
+ * inspector/front-end/RequestJSONView.js: Renamed from Source/WebCore/inspector/front-end/ResourceJSONView.js. |
+ (WebInspector.RequestJSONView): |
+ (WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.parseJSONP): |
+ * inspector/front-end/RequestPreviewView.js: Renamed from Source/WebCore/inspector/front-end/ResourcePreviewView.js. |
+ (WebInspector.RequestPreviewView): |
+ (WebInspector.RequestPreviewView.prototype.contentLoaded): |
+ (WebInspector.RequestPreviewView.prototype._createPreviewView): |
+ * inspector/front-end/RequestResponseView.js: Renamed from Source/WebCore/inspector/front-end/ResourceResponseView.js. |
+ (WebInspector.RequestResponseView): |
+ (WebInspector.RequestResponseView.prototype.get sourceView): |
+ (WebInspector.RequestResponseView.prototype.contentLoaded): |
+ * inspector/front-end/RequestTimingView.js: Renamed from Source/WebCore/inspector/front-end/ResourceTimingView.js. |
+ (WebInspector.RequestTimingView): |
+ (WebInspector.RequestTimingView.prototype._refresh): |
+ * inspector/front-end/RequestView.js: Copied from Source/WebCore/inspector/front-end/NetworkRequest.js. |
+ (WebInspector.RequestView): |
+ (WebInspector.RequestView.prototype.hasContent): |
+ (WebInspector.RequestView.hasTextContent): |
+ (WebInspector.RequestView.nonSourceViewForRequest): |
+ * inspector/front-end/ResourceView.js: |
+ (WebInspector.ResourceSourceFrame._canonicalMIMEType): |
+ (WebInspector.ResourceSourceFrame._mimeTypeForResource): |
+ (WebInspector.ResourceSourceFrame.prototype.requestContent): |
+ (WebInspector.ResourceSourceFrame.prototype._contentChanged): |
+ (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent): |
+ * inspector/front-end/WebKit.qrc: |
+ * inspector/front-end/inspector.html: |
+ |
+2012-04-12 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Unreviewed. Fix a couple of compiler annotations after r113963. |
+ |
+ * inspector/front-end/TopDownProfileDataGridTree.js: |
+ (WebInspector.TopDownProfileDataGridTree): |
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude): |
+ |
+2012-04-11 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: add closure compiler annotations for profiler code |
+ https://bugs.webkit.org/show_bug.cgi?id=83700 |
+ |
+ Basic type annotations are added to most of the profiler front-end. Some |
+ dead code removed. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * inspector/compile-front-end.py: |
+ * inspector/front-end/BinarySearch.js: |
+ (Object.defineProperty): |
+ * inspector/front-end/BottomUpProfileDataGridTree.js: |
+ (WebInspector.BottomUpProfileDataGridNode.prototype._restore): |
+ (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate): |
+ (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren): |
+ (WebInspector.BottomUpProfileDataGridTree): |
+ * inspector/front-end/DataGrid.js: |
+ * inspector/front-end/DetailedHeapshotGridNodes.js: |
+ (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated): |
+ (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren): |
+ * inspector/front-end/DetailedHeapshotView.js: |
+ (WebInspector.DetailedHeapshotView.prototype._changeBase): |
+ (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource): |
+ (WebInspector.DetailedHeapshotView.prototype._helpClicked.appendHelp): |
+ (WebInspector.DetailedHeapshotView.prototype._helpClicked): |
+ * inspector/front-end/HeapSnapshot.js: |
+ (WebInspector.HeapSnapshot): |
+ (HeapSnapshotMetainfo): |
+ (WebInspector.HeapSnapshot.prototype._buildRetainers): |
+ (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): |
+ (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): |
+ * inspector/front-end/ProfileDataGridTree.js: |
+ (WebInspector.ProfileDataGridNode.prototype.insertChild): |
+ (WebInspector.ProfileDataGridNode.prototype.removeChild): |
+ (WebInspector.ProfileDataGridNode.prototype.removeChildren): |
+ (WebInspector.ProfileDataGridNode.prototype._populate): |
+ (WebInspector.ProfileDataGridTree.propertyComparator): |
+ * inspector/front-end/ProfileView.js: |
+ * inspector/front-end/ProfilesPanel.js: |
+ (WebInspector.ProfileHeader): |
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed): |
+ (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): |
+ (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback): |
+ (WebInspector.ProfilesPanel.prototype.setRecordingProfile): |
+ (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot): |
+ (WebInspector.ProfilerDispatcher.prototype.addProfileHeader): |
+ * inspector/front-end/TopDownProfileDataGridTree.js: |
+ (WebInspector.TopDownProfileDataGridTree): |
+ (WebInspector.TopDownProfileDataGridTree.prototype.exclude): |
+ * inspector/front-end/externs.js: |
+ (Array.prototype.binaryIndexOf): |
+ (Array.prototype.sortRange): |
+ (WebInspector.CSSSelectorProfileType): |
+ (WebInspector.HeapSnapshotWorker): |
+ (WebInspector.HeapSnapshotWorker.prototype.createObject): |
+ (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls): |
+ * inspector/front-end/heapProfiler.css: |
+ |
+2012-04-12 Zalan Bujtas <zbujtas@gmail.com> |
+ |
+ [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset. |
+ https://bugs.webkit.org/show_bug.cgi?id=83428 |
+ |
+ Reviewed by Kenneth Rohde Christiansen. |
+ |
+ When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting |
+ coordinates. It is already done at ScrollView base class and this patch copies the logic to the |
+ FrameView subclass. |
+ Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller. |
+ |
+ Test: touchadjustment/iframe-with-mainframe-scroll-offset.html |
+ |
+ * page/EventHandler.cpp: |
+ (WebCore::EventHandler::bestClickableNodeForTouchPoint): |
+ (WebCore::EventHandler::bestZoomableAreaForTouchPoint): |
+ * page/EventHandler.h: |
+ (EventHandler): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::convertFromRenderer): |
+ (WebCore::FrameView::convertToRenderer): |
+ * page/GestureTapHighlighter.cpp: |
+ * testing/Internals.cpp: |
+ (WebCore::Internals::setDelegatesScrolling): |
+ (WebCore::Internals::touchPositionAdjustedToBestClickableNode): |
+ (WebCore::Internals::bestZoomableAreaForTouchPoint): |
+ * testing/Internals.h: |
+ (Internals): |
+ * testing/Internals.idl: |
+ |
+2012-04-12 Zoltan Horvath <zoltan@webkit.org> |
+ |
+ [Qt] Two canvas tests fail with QT_IMAGE_DECODER=0 setup |
+ https://bugs.webkit.org/show_bug.cgi?id=83764 |
+ |
+ The following tests were failed after r108792: |
+ - canvas-toDataURL-case-insensitive-mimetype.html |
+ - toDataURL-supportedTypes.html |
+ because supportedImageMIMETypesForEncoding wasn't filled |
+ with MIME types in case of QT_IMAGE_DECODER=0 build setup. |
+ |
+ Reviewed by Csaba Osztrogonác. |
+ |
+ Fixes existing tests. |
+ |
+ * platform/MIMETypeRegistry.cpp: |
+ (WebCore::initializeSupportedImageMIMETypesForEncoding): |
+ |
+2012-04-12 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r113931. |
+ http://trac.webkit.org/changeset/113931 |
+ https://bugs.webkit.org/show_bug.cgi?id=83766 |
+ |
+ broke 4 tests on JSC platforms (Requested by philn-tp on |
+ #webkit). |
+ |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): |
+ (GenerateImplementation): |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateNamedConstructorCallback): |
+ (GenerateImplementation): |
+ * bindings/scripts/IDLAttributes.txt: |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObj::createPrototype): |
+ * bindings/scripts/test/JS/JSTestObj.h: |
+ * bindings/scripts/test/TestObj.idl: |
+ * bindings/scripts/test/V8/V8Float64Array.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestInterface.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestObj.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
+ (WebCore): |
+ * bindings/v8/NPV8Object.cpp: |
+ (WebCore::npObjectTypeInfo): |
+ * bindings/v8/V8BindingPerContextData.cpp: |
+ (WebCore::V8BindingPerContextData::init): |
+ (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase): |
+ (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): |
+ * bindings/v8/V8BindingPerContextData.h: |
+ (V8BindingPerContextData): |
+ * bindings/v8/V8HiddenPropertyName.h: |
+ (WebCore): |
+ * bindings/v8/WrapperTypeInfo.h: |
+ (WrapperTypeInfo): |
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: |
+ (WebCore): |
+ * dom/NodeList.idl: |
+ |
+2012-04-12 Charles Wei <charles.wei@torchmobile.com.cn> |
+ |
+ [BlackBerry] Upstreaming BlackBerry-specific changes to PluginView -- remove unused functions |
+ https://bugs.webkit.org/show_bug.cgi?id=83756 |
+ |
+ Reviewed by George Staikos. |
+ |
+ PluginView::halt(), PluginView::restart() have been removed from |
+ upstreaming code, should remove them from BlackBerry porting also. |
+ |
+ * plugins/blackberry/PluginViewBlackBerry.cpp: |
+ |
+2012-04-12 Kenichi Ishibashi <bashi@chromium.org> |
+ |
+ [Chromium] The size of glyphStorage should be passed to substituteWithVerticalGlyphs() |
+ https://bugs.webkit.org/show_bug.cgi?id=83751 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ The last argument of substituteWithVerticalGlyphs() should be |
+ the size of |glyphStorage|. |
+ |
+ No new tests because we can't test the fix by layout tests. |
+ I confirmed the fix with ASAN. |
+ |
+ * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: |
+ (WebCore::GlyphPage::fill): |
+ |
+2012-04-12 Jason Liu <jason.liu@torchmobile.com.cn> |
+ |
+ [BlackBerry] We shouldn't set empty Content-Length & Content-Type to a request's headers. |
+ https://bugs.webkit.org/show_bug.cgi?id=83349 |
+ |
+ When there is a redirection for a POST request, we change POST to GET and set |
+ Content-Length/Content-Type to empty strings. |
+ We should remove these headers instead of adding empty strings. |
+ |
+ Reviewed by George Staikos. |
+ |
+ No new tests. Refactor. |
+ |
+ * platform/network/blackberry/NetworkJob.cpp: |
+ (WebCore::NetworkJob::handleRedirect): |
+ * platform/network/blackberry/ResourceRequest.h: |
+ (ResourceRequest): |
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp: |
+ (WebCore::ResourceRequest::clearHTTPContentLength): |
+ (WebCore): |
+ (WebCore::ResourceRequest::clearHTTPContentType): |
+ |
+2012-04-12 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ [Qt] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/') |
+ https://bugs.webkit.org/show_bug.cgi?id=83746 |
+ |
+ Reviewed by Simon Hausmann. |
+ |
+ Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT |
+ guard in toDataURL(): that checks the WebCore mimeType registry for image-for- |
+ encoding mimeType. There is no need to also test mimeType.startsWith("image/") |
+ since that is a given. |
+ |
+ No new tests. Covered by existing fast/canvas/*toDataURL* tests. |
+ |
+ * platform/graphics/qt/ImageBufferQt.cpp: |
+ (WebCore::ImageBuffer::toDataURL): |
+ |
+2012-04-11 Adam Barth <abarth@webkit.org> |
+ |
+ Implement Location.ancestorOrigins |
+ https://bugs.webkit.org/show_bug.cgi?id=83493 |
+ |
+ Reviewed by David Levin. |
+ |
+ Test: fast/dom/Window/Location/ancestor-origins.html |
+ |
+ This patch implements Location.ancestorOrigins(), which returns a list |
+ of the origins of the enclosing frames. This API has been discussed |
+ both on webkit-dev (see discussion following |
+ https://lists.webkit.org/pipermail/webkit-dev/2012-March/020090.html) |
+ and on the whatwg list (see discussion following |
+ http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035188.html). |
+ |
+ * page/Location.cpp: |
+ (WebCore::Location::ancestorOrigins): |
+ (WebCore): |
+ * page/Location.h: |
+ (Location): |
+ * page/Location.idl: |
+ |
+2012-04-11 Raymond Liu <raymond.liu@intel.com> |
+ |
+ AudioContext createChannelSplitter() method should have optional argument for number of outputs |
+ https://bugs.webkit.org/show_bug.cgi?id=83648 |
+ |
+ Reviewed by Chris Rogers. |
+ |
+ Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument. |
+ |
+ Test: webaudio/audiochannelsplitter.html |
+ |
+ * Modules/webaudio/AudioChannelSplitter.cpp: |
+ (WebCore::AudioChannelSplitter::create): |
+ (WebCore::AudioChannelSplitter::AudioChannelSplitter): |
+ (WebCore::AudioChannelSplitter::process): |
+ * Modules/webaudio/AudioChannelSplitter.h: |
+ (AudioChannelSplitter): |
+ * Modules/webaudio/AudioContext.cpp: |
+ (WebCore::AudioContext::createChannelSplitter): |
+ (WebCore): |
+ * Modules/webaudio/AudioContext.h: |
+ (AudioContext): |
+ * Modules/webaudio/AudioContext.idl: |
+ |
+2012-04-11 Charles Wei <charles.wei@torchmobile.com.cn> |
+ |
+ [BlackBerry] Revert the changes that depend on Event changes, which is reverted already internally. |
+ https://bugs.webkit.org/show_bug.cgi?id=83456 |
+ |
+ Reviewed by George Staikos. |
+ |
+ No new tests, just to make BlackBerry-porting to build. |
+ |
+ * plugins/blackberry/PluginViewBlackBerry.cpp: |
+ (WebCore::PluginView::handleWheelEvent): |
+ (WebCore::PluginView::handleTouchEvent): |
+ (WebCore::PluginView::handleMouseEvent): |
+ |
+2012-04-11 Jason Liu <jason.liu@torchmobile.com.cn> |
+ |
+ [BlackBerry] There shouldn't be two or more Accept-Language in platformRequest's headerList. |
+ https://bugs.webkit.org/show_bug.cgi?id=83670 |
+ |
+ FrameLoaderClientBlackBerry::dispatchWillSendRequest and NetworkManager::startJob will call |
+ ResourceRequest::initializePlatformRequest. Accept-Language is added two times. |
+ We should avoid the second adding to improve performance. |
+ |
+ Reviewed by Rob Buis. |
+ |
+ No new tests. Refactor. |
+ |
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp: |
+ (WebCore::ResourceRequest::initializePlatformRequest): |
+ |
+2012-04-11 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
+ |
+ [BlackBerry] MMRPlayer will hang webkit thread when retrieving media metadata |
+ https://bugs.webkit.org/show_bug.cgi?id=80978 |
+ |
+ Reviewed by Rob Buis. |
+ |
+ RIM PR: 143471 |
+ Implemented the interface function onWaitMetadataNotified() |
+ which starts a timer to wait for the metadata retrieving to |
+ finish, and pops up a dialog to notify the user what to do |
+ if there still is no metadata when the timer fires. |
+ |
+ This patch also contributed by Max Feil <mfeil@rim.com>. |
+ Internally reviewed by Max Feil. |
+ |
+ Test: http/tests/media/video-throttled-load-metadata.html |
+ |
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): |
+ (WebCore): |
+ (WebCore::MediaPlayerPrivate::onWaitMetadataNotified): |
+ (WebCore::MediaPlayerPrivate::waitMetadataTimerFired): |
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
+ (MediaPlayerPrivate): |
+ |
+2012-04-11 Jer Noble <jer.noble@apple.com> |
+ |
+ Layout Test webaudio/* is flaky |
+ https://bugs.webkit.org/show_bug.cgi?id=83624 |
+ |
+ Reviewed by Chris Rogers. |
+ |
+ No new tests; fixes webaudio/ layout tests. |
+ |
+ A merge error led to an Mutex overunlock situation, which caused all future mutex trylock |
+ attempts to fail, but only on Windows. Remove the extraneous mutex unlock(). |
+ |
+ * Modules/webaudio/AudioBufferSourceNode.cpp: |
+ (WebCore::AudioBufferSourceNode::process): |
+ |
+2012-04-11 Levi Weintraub <leviw@chromium.org> |
+ |
+ Correct pixel snapping error in RenderBox::pixelSnappedClientWidth/Height |
+ https://bugs.webkit.org/show_bug.cgi?id=83621 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Though the problem wouldn't yet manifest itself since we haven't flipped the switch on sub-pixel |
+ layout, clientWidth and clientHeight, when pixel snapped, need to take the RenderBox's location |
+ into account. Previously, ClientLeft/Top were used, but these are simply the width of the borders, |
+ and don't include the box's sub-pixel location, which is needed to properly snap the width/height. |
+ |
+ No new tests. Untestable until we switch to FractionalLayoutUnits. A test case that covers this |
+ is in the subpixellayout branch and will land with the switch. |
+ |
+ * rendering/RenderBox.cpp: |
+ (WebCore::RenderBox::pixelSnappedClientWidth): |
+ (WebCore::RenderBox::pixelSnappedClientHeight): |
+ (WebCore::RenderBox::scrollWidth): Replacing a raw zero with ZERO_LAYOUT_UNIT. |
+ |
+2012-04-11 Erik Arvidsson <arv@chromium.org> |
+ |
+ Add support for [ArrayClass] and use that on NodeList |
+ https://bugs.webkit.org/show_bug.cgi?id=81573 |
+ |
+ Reviewed by Adam Barth. |
+ |
+ With this patch NodeLists now have Array.prototype on their prototype chain which allows |
+ methods such as forEach and map to work on NodeLists. |
+ |
+ http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist |
+ |
+ For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which |
+ does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore |
+ set when the constructor is created. |
+ |
+ For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has |
+ a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This |
+ causes test failures in the tests until that has been fixed. |
+ |
+ Test: fast/dom/NodeList/node-list-array-class.html |
+ |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateHeader): Include ArrayPrototype.h if an ArrayClass. |
+ (GenerateImplementation): If ArrayClass use arrayPrototype as prototype. |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateNamedConstructorCallback): |
+ (GenerateImplementation): Adds a flag to the WrapperTypeInfo. |
+ * bindings/scripts/IDLAttributes.txt: Adds new attribute: ArrayClass. |
+ * bindings/scripts/test/JS/JSTestObj.cpp: |
+ (WebCore::JSTestObj::createPrototype): |
+ * bindings/scripts/test/JS/JSTestObj.h: |
+ * bindings/scripts/test/TestObj.idl: |
+ * bindings/scripts/test/V8/V8Float64Array.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
+ (WebCore): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |