Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 114975) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,3 +1,950 @@ |
+2012-04-18 James Robinson <jamesr@chromium.org> |
+ |
+ [chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available |
+ https://bugs.webkit.org/show_bug.cgi?id=84301 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ If our composited surface isn't ready yet, then the compositor may initialize in a state where the first |
+ makeContextCurrent() fails. This adds a new state to the scheduler that we can use to suppress initialization |
+ until we get notified that the surface is ready. I'll add the plumbing for actually notifying in a follow-up. |
+ |
+ Updated CCSchedulerTest / CCSchedulerStateMachineTest unit tests. |
+ |
+ * platform/graphics/chromium/cc/CCScheduler.cpp: |
+ (WebCore::CCScheduler::setCanBeginFrame): |
+ (WebCore): |
+ * platform/graphics/chromium/cc/CCScheduler.h: |
+ (CCScheduler): |
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: |
+ (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine): |
+ (WebCore::CCSchedulerStateMachine::nextAction): |
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: |
+ (WebCore::CCSchedulerStateMachine::setCanBeginFrame): |
+ (CCSchedulerStateMachine): |
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp: |
+ (WebCore::CCThreadProxy::initializeImplOnImplThread): |
+ |
+2012-04-18 David Reveman <reveman@chromium.org> |
+ |
+ [Chromium] Solid color layers should respect opacity value. |
+ https://bugs.webkit.org/show_bug.cgi?id=84197 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ Fold opacity into shader color for solid color layers. |
+ |
+ Test: CCSolidColorLayerImplTest.verifyCorrectOpacityInQuad |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawSolidColorQuad): |
+ |
+2012-04-18 Mark Pilgrim <pilgrim@chromium.org> |
+ |
+ [Chromium] Call prefetchDNS directly |
+ https://bugs.webkit.org/show_bug.cgi?id=84262 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Part of a series, see tracking bug 82948. |
+ |
+ * platform/chromium/PlatformSupport.h: |
+ (PlatformSupport): |
+ * platform/network/chromium/DNSChromium.cpp: |
+ (WebCore::prefetchDNS): |
+ |
+2012-04-18 Julien Chaffraix <jchaffraix@webkit.org> |
+ |
+ REGRESSION(102040): Auto-table layout with percent width doesn't shrink-to-fit content a cell with colspan |
+ https://bugs.webkit.org/show_bug.cgi?id=84260 |
+ |
+ Reviewed by Ojan Vafai. |
+ |
+ Tests: fast/table/td-width-fifty-percent-regression-expected.html |
+ fast/table/td-width-fifty-percent-regression.html |
+ |
+ * rendering/AutoTableLayout.cpp: |
+ (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): |
+ As we are spreading the cell's min / max logical width, we should be updating them. |
+ This prevents the following logic getting confused and allocating more than needed. |
+ |
+2012-04-18 Justin Schuh <jschuh@chromium.org> |
+ |
+ Win8 builds usually fail due to cygwin rebasing |
+ https://bugs.webkit.org/show_bug.cgi?id=84274 |
+ |
+ Reviewed by Dirk Pranke. |
+ |
+ Cygwin can fail to spawn children if the DLL is rebased. This happens |
+ frequently enough on Windows 8 that we should retry on failure. |
+ |
+ No new tests. No behavior changed. |
+ |
+ * bindings/scripts/preprocessor.pm: |
+ (applyPreprocessor): |
+ |
+2012-04-18 Levi Weintraub <leviw@chromium.org> |
+ |
+ Add explicit template instantiation to chromium/PopupListBox.cpp to prepare for sub-pixel layout |
+ https://bugs.webkit.org/show_bug.cgi?id=84264 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Explicitly instantiating integer max and min templates to fix compilation in Chromium. We |
+ intentionally truncated these values in platform code, which matches earlier behavior. |
+ See https://trac.webkit.org/wiki/LayoutUnit for details. |
+ |
+ No new tests. No change in behavior. |
+ |
+ * platform/chromium/PopupListBox.cpp: |
+ (WebCore::PopupListBox::paintRow): |
+ (WebCore::PopupListBox::layout): |
+ |
+2012-04-18 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Prevent potential null pointer dereference in CSSStyleSelector::applyProperty(). |
+ https://bugs.webkit.org/show_bug.cgi?id=84267 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ No new tests / code cleanup found via static analysis. |
+ |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList): |
+ |
+2012-04-18 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Prevent switch case fallthrough in StylePropertySet::getPropertyValue(). |
+ https://bugs.webkit.org/show_bug.cgi?id=84266 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ No new tests / code cleanup found by static analysis. |
+ |
+ * css/StylePropertySet.cpp: |
+ (WebCore::StylePropertySet::getPropertyValue): |
+ |
+2012-04-18 Andreas Kling <kling@webkit.org> |
+ |
+ CSSValuePool: Make numeric value caches fixed-size arrays. |
+ <http://webkit.org/b/84268> |
+ |
+ Reviewed by Antti Koivisto. |
+ |
+ Change the numeric CSSPrimitiveValue caches in CSSValuePool from HashMaps to |
+ fixed-size arrays of RefPtr<CSSPrimitiveValue>s. |
+ |
+ This is more space efficient and doesn't incur the cost of a hash lookup every |
+ time a numeric CSSPrimitiveValue is needed. We retain the limit of caching |
+ only values between 0-255 for now. |
+ |
+ * css/CSSValuePool.cpp: |
+ (WebCore::CSSValuePool::CSSValuePool): |
+ (WebCore::CSSValuePool::createValue): |
+ * css/CSSValuePool.h: |
+ (CSSValuePool): |
+ |
+2012-04-18 Dana Jansens <danakj@chromium.org> |
+ |
+ [chromium] Rename overdraw histograms so we can use field trials in histograms.xml |
+ https://bugs.webkit.org/show_bug.cgi?id=83500 |
+ |
+ Reviewed by James Robinson. |
+ |
+ * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: |
+ (WebCore::CCOverdrawMetrics::recordMetricsInternal): |
+ |
+2012-04-18 David Reveman <reveman@chromium.org> |
+ |
+ [Chromium] Solid color shader should use premultiplied alpha. |
+ https://bugs.webkit.org/show_bug.cgi?id=84215 |
+ |
+ Reviewed by Adrienne Walker. |
+ |
+ For efficiency and consistency, expect premultiplied alpha in |
+ solid color shader. |
+ |
+ * platform/graphics/chromium/LayerRendererChromium.cpp: |
+ (WebCore::LayerRendererChromium::drawDebugBorderQuad): |
+ (WebCore::LayerRendererChromium::drawSolidColorQuad): |
+ * platform/graphics/chromium/ShaderChromium.cpp: |
+ (WebCore::FragmentShaderColor::getShaderString): |
+ |
+2012-04-18 Alexey Proskuryakov <ap@apple.com> |
+ |
+ [WK2] Sandbox violations prevent attaching files to gmail messages |
+ https://bugs.webkit.org/show_bug.cgi?id=84263 |
+ <rdar://problem/11248260> |
+ |
+ Reviewed by Oliver Hunt. |
+ |
+ * page/DragActions.h: Removed the newly added upload action. We cannot know if or when an |
+ upload is going to happen - a drop even listener can always get a reference to a File object, |
+ and upload it with XMLHttpRequest. |
+ |
+ * page/DragController.cpp: (WebCore::DragController::concludeEditDrag): Removed a separate |
+ willPerformDragDestinationAction call for upload action - ther is nothing we'd want to only |
+ do when dropping on a file upload button. |
+ |
+2012-04-18 Levi Weintraub <leviw@chromium.org> |
+ |
+ GraphicsContextCG's roundToDevicePixels should round even when there's no transform |
+ https://bugs.webkit.org/show_bug.cgi?id=84191 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ When painting with the identify transform, the roundToDevicePixels function in GraphicsContextCG |
+ does an early return that simply returns the FloatRect that was passed in. This proved to be a |
+ problem in sub-pixel layout, as we wouldn't adjust the paint rect for text underline, and it could |
+ end up being more than one pixel wide. Adding a roundedIntRect method on FloatRect for the simple |
+ short-circuit case. |
+ |
+ No new tests. No change in behavior before switching to sub-pixel layout. |
+ |
+ * platform/graphics/FloatRect.cpp: |
+ (WebCore::roundedIntRect): |
+ * platform/graphics/FloatRect.h: |
+ * platform/graphics/cg/GraphicsContextCG.cpp: |
+ (WebCore::GraphicsContext::roundToDevicePixels): |
+ |
+2012-04-18 Keishi Hattori <keishi@webkit.org> |
+ |
+ [chromium] Turn on ENABLE_DATALIST for chromium |
+ https://bugs.webkit.org/show_bug.cgi?id=84118 |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ * html/HTMLDataListElement.cpp: Touched to avoid build issues. No code change. |
+ * html/HTMLDataListElement.h: Ditto. |
+ * html/HTMLInputElement.cpp: Ditto. |
+ * html/HTMLInputElement.h: Ditto. |
+ |
+2012-04-18 Allan Sandfeld Jensen <allan.jensen@nokia.com> |
+ |
+ [Qt] WheelEventQt.cpp should be deleted. |
+ https://bugs.webkit.org/show_bug.cgi?id=84237 |
+ |
+ Reviewed by Simon Hausmann. |
+ |
+ * platform/qt/WheelEventQt.cpp: Removed. |
+ |
+2012-04-18 Emil A Eklund <eae@chromium.org> |
+ |
+ Unreviewed. Adding FIXME comment to FractionalLayoutUnit explaining the lack of size_t operators. |
+ |
+ * platform/FractionalLayoutUnit.h: |
+ (FractionalLayoutUnit): |
+ |
+2012-04-18 Benjamin Poulain <bpoulain@apple.com> |
+ |
+ Remove m_subclassData from JSArray, move the attribute to subclass as needed |
+ https://bugs.webkit.org/show_bug.cgi?id=84249 |
+ |
+ Reviewed by Geoffrey Garen. |
+ |
+ * bridge/runtime_array.cpp: |
+ (JSC::RuntimeArray::RuntimeArray): |
+ (JSC::RuntimeArray::finishCreation): |
+ * bridge/runtime_array.h: |
+ (JSC::RuntimeArray::getLength): |
+ (JSC::RuntimeArray::getConcreteArray): |
+ (RuntimeArray): |
+ |
+2012-04-18 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-18 Emil A Eklund <eae@chromium.org> |
+ |
+ Use explicit casts for size_t to unsigned conversion |
+ https://bugs.webkit.org/show_bug.cgi?id=83602 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ No new tests, no change in functinality. |
+ |
+ Not all platforms have implicit casts from size_t to unsigned and we |
+ can't add size_t versions of the operators to FractionalLayoutUnit for |
+ all platforms as it would conflict with the unsigned versions of same. |
+ |
+ Change support methods to take unsigned instead of size_t and use |
+ explicit casts when multiplying or dividing a FractionalLayoutUnit with |
+ a size_t and the other way around. |
+ |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::adjustForColumns): |
+ * rendering/RenderFlexibleBox.cpp: |
+ (WebCore::initialPackingOffset): |
+ (WebCore::packingSpaceBetweenChildren): |
+ (WebCore::initialLinePackingOffset): |
+ (WebCore::linePackingSpaceBetweenChildren): |
+ (WebCore::RenderFlexibleBox::packFlexLines): |
+ * rendering/RenderFrameSet.cpp: |
+ (WebCore::RenderFrameSet::layout): |
+ |
+2012-04-18 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context. |
+ https://bugs.webkit.org/show_bug.cgi?id=84166 |
+ |
+ Re-applying r114497. |
+ |
+ * bindings/v8/V8IsolatedContext.cpp: |
+ (WebCore::setInjectedScriptContextDebugId): |
+ (WebCore): |
+ (WebCore::V8IsolatedContext::V8IsolatedContext): |
+ * bindings/v8/V8Proxy.cpp: |
+ (WebCore::V8Proxy::evaluateInIsolatedWorld): |
+ * bindings/v8/V8Proxy.h: |
+ (V8Proxy): |
+ |
+2012-04-18 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: extract script navigator overlay logic into the scripts navigator controller. |
+ https://bugs.webkit.org/show_bug.cgi?id=84244 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Overlay logic is well separable from the scripts panel and does not belong there. |
+ Extracting it into a separate class. |
+ |
+ * inspector/front-end/ScriptsNavigator.js: |
+ (WebInspector.ScriptsNavigatorController.prototype.wasShown): |
+ (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton): |
+ (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen): |
+ (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator): |
+ (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator): |
+ (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator): |
+ (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay): |
+ (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay): |
+ (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype.wasShown): |
+ (WebInspector.ScriptsPanel.prototype._editorClosed): |
+ (WebInspector.ScriptsPanel.prototype._editorSelected): |
+ (WebInspector.ScriptsPanel.prototype._scriptSelected): |
+ |
+2012-04-18 Alexandru Chiculita <achicu@adobe.com> |
+ |
+ Unreviewed, trying to fix QT build. |
+ |
+ It was using a FilterEffectRenderer::prepare that changed to allocateBackingStoreIfNeeded in 114529. |
+ |
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp: |
+ (WebCore::BitmapTextureImageBuffer::applyFilters): |
+ |
+2012-04-18 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: extract script navigator overlay logic into the scripts navigator controller. |
+ https://bugs.webkit.org/show_bug.cgi?id=84244 |
+ |
+ Reviewed by Vsevolod Vlasov. |
+ |
+ Overlay logic is well separable from the scripts panel and does not belong there. |
+ Extracting it into a separate class. |
+ |
+ * inspector/front-end/ScriptsNavigator.js: |
+ (WebInspector.ScriptsNavigatorController.prototype.wasShown): |
+ (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton): |
+ (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen): |
+ (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator): |
+ (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator): |
+ (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator): |
+ (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay): |
+ (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay): |
+ (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown): |
+ * inspector/front-end/ScriptsPanel.js: |
+ (WebInspector.ScriptsPanel.prototype.wasShown): |
+ (WebInspector.ScriptsPanel.prototype._editorClosed): |
+ (WebInspector.ScriptsPanel.prototype._editorSelected): |
+ (WebInspector.ScriptsPanel.prototype._scriptSelected): |
+ |
+2012-04-18 Sheriff Bot <webkit.review.bot@gmail.com> |
+ |
+ Unreviewed, rolling out r114497. |
+ http://trac.webkit.org/changeset/114497 |
+ https://bugs.webkit.org/show_bug.cgi?id=84253 |
+ |
+ Broke compile on Win, including stdio did not help (Requested |
+ by dimich on #webkit). |
+ |
+ * bindings/v8/V8IsolatedContext.cpp: |
+ (WebCore::V8IsolatedContext::V8IsolatedContext): |
+ * bindings/v8/V8Proxy.cpp: |
+ (WebCore::V8Proxy::evaluateInIsolatedWorld): |
+ (WebCore::V8Proxy::setInjectedScriptContextDebugId): |
+ (WebCore): |
+ * bindings/v8/V8Proxy.h: |
+ (V8Proxy): |
+ |
+2012-04-18 Alexandru Chiculita <achicu@adobe.com> |
+ |
+ [CSS Filters] Drop-shadow and blur can avoid using full source image |
+ https://bugs.webkit.org/show_bug.cgi?id=81263 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ Instead of using the full bounding box of the RenderLayer we now compute the exact rectangle that is needed to |
+ compute filter inside the dirty rectangle on screen. That's easy to calculate by reversing the filter outsets. |
+ Even if the element is completely offscreen, but its shadow is in the viewport, we can still compute the source |
+ rectangle that needs to be drawn in order to update the shadow correctly. |
+ |
+ No new tests, this change doesn't have visible results and the functionality should |
+ already be covered by previous filter tests. |
+ |
+ * rendering/FilterEffectRenderer.cpp: |
+ (WebCore::FilterEffectRenderer::FilterEffectRenderer): |
+ (WebCore::FilterEffectRenderer::build): Save the outsets of the filters, so that we can use them in computeSourceImageRectForDirtyRect. |
+ (WebCore::FilterEffectRenderer::updateBackingStoreRect): Only allocate a new source image if the size of the source rectangle changed. |
+ (WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): There's no need to call clearIntermediateResults() in this function. We do that after |
+ the filter is computed. |
+ (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect): |
+ (WebCore): |
+ (WebCore::FilterEffectRendererHelper::prepareFilterEffect): |
+ (WebCore::FilterEffectRendererHelper::beginFilterEffect): |
+ * rendering/FilterEffectRenderer.h: |
+ (FilterEffectRendererHelper): |
+ (WebCore::FilterEffectRendererHelper::repaintRect): |
+ (FilterEffectRenderer): |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::paintLayerContents): |
+ |
+2012-04-18 Dominik Röttsches <dominik.rottsches@linux.intel.com> |
+ |
+ [EFL][DRT] @font-face support fails on EFL |
+ https://bugs.webkit.org/show_bug.cgi?id=83264 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ STORE_FONT_CUSTOM_PLATFORM_DATA was not defined for EFL. |
+ Fixing that by removing a long standing FIXME with the intention |
+ to turn the whitelist for this switch into a blacklist. |
+ |
+ * loader/cache/CachedFont.cpp: |
+ |
+2012-04-18 Levi Weintraub <leviw@chromium.org> |
+ |
+ Convert ShadowData and DropShadowFilterOperation to use IntPoint |
+ https://bugs.webkit.org/show_bug.cgi?id=84098 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ Shadows do not flow with the page, so sub-pixel layout doesn't actually offer any benefit that |
+ couldn't have been attained before that conversion. With that in mind, this patch reverts |
+ drop shadow offsets to integers, but also cleans up the code by switching the x/y location pair |
+ to be an IntPoint. |
+ |
+ No new tests. No change in behavior. |
+ |
+ * css/CSSComputedStyleDeclaration.cpp: |
+ (WebCore::CSSComputedStyleDeclaration::valueForFilter): |
+ * css/CSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::collectMatchingRulesForList): |
+ * css/SVGCSSStyleSelector.cpp: |
+ (WebCore::CSSStyleSelector::applySVGProperty): |
+ * page/animation/AnimationBase.cpp: |
+ (WebCore::blendFunc): |
+ (WebCore::shadowForBlending): |
+ * platform/animation/AnimationUtilities.h: |
+ (WebCore::blend): New blend function that operates on IntPoints. |
+ (WebCore): |
+ * platform/chromium/support/WebFilterOperations.cpp: |
+ (WebKit::WebDropShadowFilterOperation): |
+ * platform/graphics/filters/FilterOperation.cpp: |
+ (WebCore::DropShadowFilterOperation::blend): |
+ * platform/graphics/filters/FilterOperation.h: |
+ (WebCore::DropShadowFilterOperation::clone): |
+ (WebCore::DropShadowFilterOperation::x): |
+ (WebCore::DropShadowFilterOperation::y): |
+ (WebCore::DropShadowFilterOperation::location): Preserved the comment about lengths. |
+ (WebCore::DropShadowFilterOperation::operator==): |
+ (WebCore::DropShadowFilterOperation::DropShadowFilterOperation): |
+ (DropShadowFilterOperation): |
+ * rendering/RenderBoxModelObject.cpp: |
+ (WebCore::areaCastingShadowInHole): Reverted to integers since this operates on the IntRect from |
+ a RoundedRect. |
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Reduced the complexity and unnecessary conversion |
+ between LayoutUnits and integers by using all integers after we calculate the pixel-snapped |
+ RoundedRect that we use for painting. |
+ * rendering/style/RenderStyle.cpp: |
+ (WebCore::RenderStyle::getShadowExtent): |
+ (WebCore::RenderStyle::getShadowHorizontalExtent): |
+ (WebCore::RenderStyle::getShadowVerticalExtent): |
+ * rendering/style/ShadowData.cpp: |
+ (WebCore::ShadowData::ShadowData): |
+ (WebCore::ShadowData::operator==): |
+ (WebCore::calculateShadowExtent): |
+ (WebCore::ShadowData::adjustRectForShadow): |
+ * rendering/style/ShadowData.h: |
+ (WebCore::ShadowData::ShadowData): |
+ (WebCore::ShadowData::x): |
+ (WebCore::ShadowData::y): |
+ (WebCore::ShadowData::location): |
+ (ShadowData): |
+ |
+2012-04-17 Kentaro Hara <haraken@chromium.org> |
+ |
+ [V8] Add an optional Isolate argument to wrap() |
+ https://bugs.webkit.org/show_bug.cgi?id=84202 |
+ |
+ Reviewed by Nate Chapin. |
+ |
+ The final objective is to pass Isolate around in V8 bindings. |
+ This patch adds an optional Isolate argument to wrap(). |
+ After rewriting all wrap() callers so that they pass Isolate |
+ to wrap(), I'll make the Isolate argument non-optional. |
+ |
+ No tests. No change in behavior. |
+ |
+ * bindings/scripts/CodeGeneratorV8.pm: Modified as described above. |
+ (GenerateHeader): |
+ * bindings/v8/custom/V8DocumentCustom.cpp: Ditto. |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto. |
+ (WebCore::toV8): |
+ * bindings/v8/custom/V8NodeCustom.cpp: Ditto. |
+ (WebCore::toV8Slow): |
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto. |
+ (WebCore::toV8): |
+ * dom/make_names.pl: Ditto. |
+ (printWrapperFactoryCppFile): |
+ |
+ * bindings/scripts/test/V8/V8Float64Array.h: |
+ Updated run-bindings-tests results. |
+ (V8Float64Array): |
+ (WebCore::V8Float64Array::wrap): |
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
+ (V8TestActiveDOMObject): |
+ (WebCore::V8TestActiveDOMObject::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
+ (V8TestCustomNamedGetter): |
+ (WebCore::V8TestCustomNamedGetter::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestEventConstructor.h: |
+ (V8TestEventConstructor): |
+ (WebCore::V8TestEventConstructor::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestEventTarget.h: |
+ (V8TestEventTarget): |
+ (WebCore::V8TestEventTarget::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestInterface.h: |
+ (V8TestInterface): |
+ (WebCore::V8TestInterface::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
+ (V8TestMediaQueryListListener): |
+ (WebCore::V8TestMediaQueryListListener::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
+ (V8TestNamedConstructor): |
+ (WebCore::V8TestNamedConstructor::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestNode.h: |
+ (V8TestNode): |
+ (WebCore::V8TestNode::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestObj.h: |
+ (V8TestObj): |
+ (WebCore::V8TestObj::wrap): |
+ (WebCore::toV8): |
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
+ (V8TestSerializedScriptValueInterface): |
+ (WebCore::V8TestSerializedScriptValueInterface::wrap): |
+ (WebCore::toV8): |
+ |
+2012-04-18 Alexandru Chiculita <achicu@adobe.com> |
+ |
+ [CSS Filters] Do not use clipping rect when calculating the bounds of a layer |
+ https://bugs.webkit.org/show_bug.cgi?id=83960 |
+ |
+ Reviewed by Simon Fraser. |
+ |
+ The local clip rect should not be used when calculating the bounds of a filter area. Otherwise |
+ drop-shadow might not know about the pixels outside the clipping rectangle, even though the actual shadow might |
+ be inside it. |
+ |
+ No new tests added in this patch, but this patch fixes two existing tests that fail. |
+ LayoutTests/css3/filters/filter-repaint-shadow-clipped.html |
+ LayoutTests/css3/filters/filter-repaint-shadow-rotated.html |
+ |
+ * rendering/RenderLayer.cpp: |
+ (WebCore::RenderLayer::paintLayerContents): |
+ (WebCore::RenderLayer::calculateLayerBounds): |
+ * rendering/RenderLayer.h: |
+ |
+2012-04-18 Mark Pilgrim <pilgrim@chromium.org> |
+ |
+ Followup to "Call incrementStatsCounter directly" |
+ https://bugs.webkit.org/show_bug.cgi?id=83109 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Now that incrementStatsCounter has been moved from |
+ PlatformSupport.h to Platform.h, we need to be able to call it directly |
+ from WebCore/bindings/v8/v8Proxy.h (for the INC_STATS macro). That |
+ means we need a new StatsCounter class in WebCore/platform/ and an |
+ implementation in |
+ WebCore/platform/chromium/StatsCounterChromium.cpp. Other ports |
+ are welcome to implement their own stats counters if they |
+ wish. This pattern was based on the |
+ HistogramSupport/HistogramSupportChromium classes. |
+ |
+ * CMakeLists.txt: |
+ * GNUmakefile.list.am: |
+ * Target.pri: |
+ * WebCore.gypi: |
+ * WebCore.vcproj/WebCore.vcproj: |
+ * WebCore.xcodeproj/project.pbxproj: |
+ * bindings/v8/V8Proxy.h: |
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: |
+ (WebCore::V8DedicatedWorkerContext::postMessageCallback): |
+ (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback): |
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp: |
+ (WebCore::V8NotificationCenter::createHTMLNotificationCallback): |
+ (WebCore::V8NotificationCenter::createNotificationCallback): |
+ (WebCore::V8NotificationCenter::requestPermissionCallback): |
+ * bindings/v8/custom/V8WorkerContextCustom.cpp: |
+ (WebCore::V8WorkerContext::importScriptsCallback): |
+ (WebCore::V8WorkerContext::setTimeoutCallback): |
+ (WebCore::V8WorkerContext::setIntervalCallback): |
+ * platform/StatsCounter.cpp: Added. |
+ (WebCore): |
+ (WebCore::StatsCounter::incrementStatsCounter): |
+ * platform/StatsCounter.h: Added. |
+ (WebCore): |
+ (StatsCounter): |
+ * platform/chromium/StatsCounterChromium.cpp: Added. |
+ (WebCore): |
+ (WebCore::StatsCounter::incrementStatsCounter): |
+ |
+2012-04-18 Alexander Pavlov <apavlov@chromium.org> |
+ |
+ [Chromium] REGRESSION: Popup shrinks because of autocomplete |
+ https://bugs.webkit.org/show_bug.cgi?id=84139 |
+ http://code.google.com/p/chromium/issues/detail?id=123432 |
+ |
+ Do not update the window rect on the wrong client but instead return the popup widget's |
+ new screen coordinates from the refresh() method. |
+ |
+ Reviewed by Kent Tamura. |
+ |
+ * platform/chromium/PopupContainer.cpp: |
+ (WebCore::PopupContainer::refresh): |
+ * platform/chromium/PopupContainer.h: |
+ (PopupContainer): |
+ |
+2012-04-18 Simon Fraser <simon.fraser@apple.com> |
+ |
+ ASSERT when a layer with a foreground layer is in 'paint into ancestor' mode |
+ https://bugs.webkit.org/show_bug.cgi?id=84221 |
+ |
+ Reviewed by Dean Jackson. |
+ |
+ When a RenderLayerBacking doesn't require its own backing store, and is |
+ in "paintIntoCompositingAncestor" mode, we would assert when trying to |
+ paint its m_foregroundLayer if it had one (because of a negative z-index child). |
+ |
+ The fix is to set the 'drawsContent' state on the m_foregroundLayer |
+ as well as m_graphicsLayer. |
+ |
+ Test: compositing/backing/no-backing-foreground-layer.html |
+ |
+ * rendering/RenderLayerBacking.cpp: |
+ (WebCore::RenderLayerBacking::updateDrawsContent): |
+ |
+2012-04-18 Yury Semikhatsky <yurys@chromium.org> |
+ |
+ Web Inspector: DataGrid should use explicit root node |
+ https://bugs.webkit.org/show_bug.cgi?id=84240 |
+ |
+ DataGrid now has an explicit root node. All children are added/removed |
+ to that node. |
+ |
+ Reviewed by Pavel Feldman. |
+ |
+ * inspector/front-end/ApplicationCacheItemsView.js: |
+ (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid): |
+ (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid): |
+ * inspector/front-end/CSSSelectorProfileView.js: |
+ (WebInspector.CSSSelectorProfileView): |
+ (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems): |
+ (WebInspector.CSSSelectorProfileView.prototype.refreshData): |
+ * inspector/front-end/CookieItemsView.js: |
+ (WebInspector.SimpleCookiesTable): |
+ (WebInspector.SimpleCookiesTable.prototype.setCookies): |
+ * inspector/front-end/CookiesTable.js: |
+ (WebInspector.CookiesTable): |
+ (WebInspector.CookiesTable.prototype._rebuildTable): |
+ * inspector/front-end/DOMStorageItemsView.js: |
+ (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries): |
+ * inspector/front-end/DataGrid.js: |
+ (WebInspector.DataGrid): |
+ (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid): |
+ (WebInspector.DataGrid.createSortableDataGrid): |
+ (WebInspector.DataGrid.prototype.setRootNode): |
+ (WebInspector.DataGrid.prototype.rootNode): |
+ (WebInspector.DataGrid.prototype.autoSizeColumns): |
+ (WebInspector.DataGrid.prototype._enumerateChildren): |
+ (WebInspector.DataGrid.prototype._keyDown): |
+ (WebInspector.DataGrid.prototype._contextMenuInDataTable): |
+ (WebInspector.DataGridNode.prototype.get revealed): |
+ (WebInspector.DataGridNode.prototype.get depth): |
+ (WebInspector.DataGridNode.prototype.appendChild): |
+ (WebInspector.DataGridNode.prototype.insertChild): |
+ (WebInspector.DataGridNode.prototype.removeChild): |
+ (WebInspector.DataGridNode.prototype.removeChildren): |
+ (WebInspector.DataGridNode.prototype.collapse): |
+ (WebInspector.DataGridNode.prototype.expand): |
+ (WebInspector.DataGridNode.prototype.reveal): |
+ (WebInspector.DataGridNode.prototype.revealAndSelect): |
+ (WebInspector.DataGridNode.prototype.traverseNextNode): |
+ (WebInspector.DataGridNode.prototype.traversePreviousNode): |
+ * inspector/front-end/HeapSnapshotDataGrids.js: |
+ (WebInspector.HeapSnapshotSortableDataGrid): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes): |
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource): |
+ (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged): |
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset): |
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): |
+ (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource): |
+ (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged): |
+ * inspector/front-end/HeapSnapshotGridNodes.js: |
+ (WebInspector.HeapSnapshotGenericObjectNode): |
+ * inspector/front-end/HeapSnapshotView.js: |
+ (WebInspector.HeapSnapshotView.prototype.performSearch): |
+ (WebInspector.HeapSnapshotView.prototype.refreshVisibleData): |
+ * inspector/front-end/IndexedDBViews.js: |
+ (WebInspector.IDBDataView.prototype._createDataGrid): |
+ (WebInspector.IDBDataView.prototype._updateData.callback): |
+ (WebInspector.IDBDataView.prototype._updateData): |
+ (WebInspector.IDBDataView.prototype.clear): |
+ * inspector/front-end/NetworkPanel.js: |
+ (WebInspector.NetworkLogView.prototype._createTable): |
+ (WebInspector.NetworkLogView.prototype.refresh): |
+ (WebInspector.NetworkLogView.prototype._reset): |
+ * inspector/front-end/ProfileDataGridTree.js: |
+ (WebInspector.ProfileDataGridNode.prototype.insertChild): |
+ (WebInspector.ProfileDataGridNode.prototype.removeChild): |
+ (WebInspector.ProfileDataGridNode.prototype.removeChildren): |
+ * inspector/front-end/ProfileView.js: |
+ (WebInspector.CPUProfileView.prototype.refresh): |
+ * inspector/front-end/treeoutline.js: |
+ |
+2012-04-18 Vineet Chaudhary <rgf748@motorola.com> |
+ |
+ Add PassThis=* to support the callbacks which requires to pass "this" value. |
+ https://bugs.webkit.org/show_bug.cgi?id=84232 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Adding PassThisToCallback=XXX to attributes will be useful for the callbacks which requires to pass "this". |
+ This will help to identify the type(XXX) of "this" value in codegenerator. |
+ |
+ Tests: bindings/scripts/test/TestCallback.idl |
+ |
+ * bindings/scripts/CodeGeneratorJS.pm: |
+ (GenerateCallbackImplementation): Modified codegenerator to support [PassThisToCallback] |
+ * bindings/scripts/CodeGeneratorV8.pm: |
+ (GenerateCallbackImplementation): Ditto. |
+ * bindings/scripts/IDLAttributes.txt: Added PassThisToCallback=* |
+ * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Modofied results from run-bindings-tests. |
+ (WebDOMTestCallback::callbackWithBoolean): |
+ (WebDOMTestCallback::callbackRequiresThisToPass): |
+ * bindings/scripts/test/CPP/WebDOMTestCallback.h: Ditto. |
+ (WebDOMTestCallback): |
+ * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Ditto. |
+ (webkit_dom_test_callback_callback_with_boolean): |
+ (webkit_dom_test_callback_callback_requires_this_to_pass): |
+ * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Ditto. |
+ * bindings/scripts/test/JS/JSTestCallback.cpp: Ditto. |
+ (WebCore::JSTestCallback::callbackWithBoolean): |
+ (WebCore): |
+ (WebCore::JSTestCallback::callbackRequiresThisToPass): |
+ * bindings/scripts/test/JS/JSTestCallback.h: Ditto. |
+ (JSTestCallback): |
+ * bindings/scripts/test/ObjC/DOMTestCallback.h: Ditto. |
+ * bindings/scripts/test/ObjC/DOMTestCallback.mm: Ditto. |
+ (-[DOMTestCallback callbackWithBoolean:]): |
+ (-[DOMTestCallback callbackRequiresThisToPass:thisClassParam:]): |
+ * bindings/scripts/test/TestCallback.idl: Added test to verify generated code. |
+ * bindings/scripts/test/V8/V8TestCallback.cpp: Ditto. |
+ (WebCore::V8TestCallback::callbackWithBoolean): |
+ (WebCore): |
+ (WebCore::V8TestCallback::callbackRequiresThisToPass): |
+ * bindings/scripts/test/V8/V8TestCallback.h: Ditto. |
+ (V8TestCallback): |
+ |
+2012-04-18 'Pavel Feldman' <pfeldman@chromium.org> |
+ |
+ Not reviewed: fixing Chromium win compilation. |
+ |
+ * bindings/v8/V8IsolatedContext.cpp: |
+ |
+2012-04-18 Luke Macpherson <macpherson@chromium.org> |
+ |
+ Remove unnecessary variable reassignment in CSSParser::parseImageSet(). |
+ https://bugs.webkit.org/show_bug.cgi?id=84204 |
+ |
+ Reviewed by Kentaro Hara. |
+ |
+ Code calls next and then current instead of reusing the result of next. |
+ |
+ No new tests / no functionality changed. |
+ |
+ * css/CSSParser.cpp: |
+ (WebCore::CSSParser::parseImageSet): |
+ |
+2012-04-18 Jason Liu <jason.liu@torchmobile.com.cn> |
+ |
+ [BlackBerry] HTTP GET header has a "Cookie" when refreshing a page after cookies have been cleared. |
+ https://bugs.webkit.org/show_bug.cgi?id=84223 |
+ |
+ Reviewed by George Staikos. |
+ |
+ Webkit uses the old ResourceRequest when refreshing. Its cookies' header isn't removed after clicking |
+ "clear cookies" button. We need to set cookies for this request again. |
+ |
+ We must click "clear button" to test, so have to write a manual test case. |
+ |
+ Test: ManualTests/blackberry/clear-cookie-refresh.php |
+ |
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp: |
+ (WebCore::ResourceRequest::initializePlatformRequest): |
+ |
+2012-04-17 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context. |
+ https://bugs.webkit.org/show_bug.cgi?id=84166 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ V8IsolatedContext was getting debug id assigned post-construction. At the same time, it was compiling all |
+ its module scripts within the constructor. As a result, scripts ended up in the main world's list. |
+ |
+ * bindings/v8/V8IsolatedContext.cpp: |
+ (WebCore::setInjectedScriptContextDebugId): |
+ (WebCore): |
+ (WebCore::V8IsolatedContext::V8IsolatedContext): |
+ * bindings/v8/V8Proxy.cpp: |
+ (WebCore::V8Proxy::evaluateInIsolatedWorld): |
+ * bindings/v8/V8Proxy.h: |
+ (V8Proxy): |
+ |
+2012-04-17 Pavel Feldman <pfeldman@chromium.org> |
+ |
+ Web Inspector: document.open removes the documentElement, but does not clear the elements panel. |
+ https://bugs.webkit.org/show_bug.cgi?id=84179 |
+ |
+ Reviewed by Yury Semikhatsky. |
+ |
+ Perform total update upon modifications of the document node. |
+ |
+ Test: inspector/elements/delete-from-document.html |
+ |
+ * inspector/InspectorDOMAgent.cpp: |
+ (WebCore::InspectorDOMAgent::didRemoveDOMNode): |
+ * inspector/front-end/ElementsTreeOutline.js: |
+ |
+2012-04-18 Max Feil <mfeil@rim.com> |
+ |
+ [BlackBerry] Tab awareness for HTML5 concurrent audio |
+ https://bugs.webkit.org/show_bug.cgi?id=82930 |
+ Support for concurrent HTML5 audio improvements being made in |
+ the platform library, which need to be aware of tabs and tab |
+ visibility. PR96004. |
+ |
+ Reviewed by George Staikos. |
+ |
+ Test: media/audio-concurrent-supported.html |
+ |
+ * platform/blackberry/PageClientBlackBerry.h: |
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): |
+ (WebCore::MediaPlayerPrivate::showErrorDialog): |
+ (WebCore::MediaPlayerPrivate::isTabVisible): |
+ (WebCore): |
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
+ (MediaPlayerPrivate): |
+ |
+2012-04-18 Noel Gordon <noel.gordon@gmail.com> |
+ |
+ [CG] ImageBuffer: check getPremultipliedImageData() error return |
+ https://bugs.webkit.org/show_bug.cgi?id=84022 |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ ImageBuffer::getPremultipliedImageData() can fail. toDataURL() should check for a |
+ failure return, and return "data:," if so. |
+ |
+ No new tests. Covered by existing toDataURL tests, in particular: |
+ canvas/philip/tests/toDataURL.jpeg.alpha.html |
+ |
+ * platform/graphics/cg/ImageBufferCG.cpp: |
+ (WebCore::ImageBuffer::toDataURL): Rename |arr| variable to premultipliedData and |
+ return "data:," if premultipliedData is empty. Clean up whitespace and a comment. |
+ |
+2012-04-17 Rachel Blum <groby@chromium.org> |
+ |
+ Skia OOM error when upscaling small subsets of images by large quantities |
+ https://bugs.webkit.org/show_bug.cgi?id=84225 |
+ |
+ Reviewed by David Levin. |
+ |
+ Tested with manual tests. |
+ |
+ * platform/graphics/skia/NativeImageSkia.cpp: |
+ (WebCore::NativeImageSkia::shouldCacheResampling): |
+ |
+2012-04-17 MORITA Hajime <morrita@google.com> |
+ |
+ ShadowRoot shouldn't be adopted by any Document. |
+ https://bugs.webkit.org/show_bug.cgi?id=84127 |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ ShadowRoot cannot cannot be removed from its host, which means |
+ ShadowRoot cannot be adopted by any Document directly because the |
+ adoptNode() tries to remove it from its parent but it doesn't make |
+ sense for ShadowRoot. |
+ |
+ This change adds a guard to check such a case. |
+ |
+ Test: fast/dom/shadow/adopt-node-with-shadow-root.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::adoptNode): |
+ |
2012-04-17 John Bauman <jbauman@chromium.org> |
[chromium] Ensure RateLimiter waits for Swapbuffers completion |