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

Unified Diff: Source/WebCore/ChangeLog

Issue 10201008: Merge 114475 - [chromium] Ensure RateLimiter waits for Swapbuffers completion (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1084/
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « no previous file | Source/WebCore/platform/graphics/chromium/LayerRendererChromium.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 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: