| 2012-10-22 Chris Rogers <crogers@google.com> |
| |
| Update some AudioContext create() method names to latest Web Audio spec |
| https://bugs.webkit.org/show_bug.cgi?id=99888 |
| |
| Reviewed by Adam Barth. |
| |
| The following AudioContext method names are being changed, with legacy support for the old names: |
| createGainNode -> createGain |
| createDelayNode -> createDelay |
| createJavaScriptNode -> createScriptProcessor |
| |
| For details: |
| https://www.w3.org/Bugs/Public/show_bug.cgi?id=18332 |
| |
| Tests changed: webaudio/delaynode.html, webaudio/gain.html, webaudio/javascriptaudionode.html |
| to test coverage of the new names. |
| |
| * Modules/webaudio/AudioBufferSourceNode.idl: |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::createScriptProcessor): |
| (WebCore::AudioContext::createGain): |
| (WebCore::AudioContext::createDelay): |
| * Modules/webaudio/AudioContext.h: |
| (AudioContext): |
| * Modules/webaudio/AudioContext.idl: |
| * page/FeatureObserver.h: |
| |
| 2012-10-22 Varun Jain <varunjain@chromium.org> |
| |
| Context menu generated from touch gestures on textareas has |
| context of the cursor position instead of the position where the event occurs. |
| https://bugs.webkit.org/show_bug.cgi?id=99520 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Send a synthetic mouse down event for context menu-summoning-gesture events so |
| that textareas can correctly set cursors before receiving the context menu event. |
| |
| Test: fast/events/touch/gesture/right-click-gestures-set-cursor-at-correct-position.html |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::handleGestureEvent): |
| (WebCore::EventHandler::handleGestureTwoFingerTap): |
| (WebCore): |
| (WebCore::EventHandler::sendContextMenuEventForGesture): |
| * page/EventHandler.h: |
| (EventHandler): |
| |
| 2012-10-22 Zeno Albisser <zeno@webkit.org> |
| |
| TextureMapperSurfaceBackingStore should check if GraphicsSurface is valid. |
| https://bugs.webkit.org/show_bug.cgi?id=100002 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
| (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface): |
| Check if a surface has been created before accessing the pointer. |
| (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper): |
| Check if m_graphicsSurface is a valid pointer before dereferencing it. |
| |
| 2012-10-22 Michael Saboff <msaboff@apple.com> |
| |
| r131955 is has improper function call in LinkHashChromium.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=100008 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Followup fix to r131955 for chromium platform. Added call to |
| (const UChar*, unsigned) version of visitedLinkHash from String& version. |
| |
| * platform/chromium/LinkHashChromium.cpp: |
| (WebCore::visitedLinkHash): |
| |
| 2012-10-22 Aaron Colwell <acolwell@chromium.org> |
| |
| webkitsourceopen event doesn't always fire |
| https://bugs.webkit.org/show_bug.cgi?id=99868 |
| |
| Reviewed by Adam Barth. |
| |
| Changed MediaSource to derive from ActiveDOMObject so that event listeners |
| will still fire even if all references to the object go out of scope. |
| |
| Test: http/tests/media/media-source/video-media-source-garbage-collection-before-sourceopen.html |
| |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::create): |
| (WebCore::MediaSource::MediaSource): |
| (WebCore::MediaSource::scriptExecutionContext): |
| (WebCore): |
| (WebCore::MediaSource::hasPendingActivity): |
| (WebCore::MediaSource::stop): Clears m_player & m_asyncEventQueue so they don't indicate pending activity anymore. |
| * Modules/mediasource/MediaSource.h: |
| (MediaSource): |
| * Modules/mediasource/MediaSource.idl: |
| * Modules/mediasource/MediaSourceRegistry.cpp: |
| (WebCore::MediaSourceRegistry::registerMediaSourceURL): Added setPendingActivity() call so the MediaSource object stays active while in the registry. |
| (WebCore::MediaSourceRegistry::unregisterMediaSourceURL): Added unsetPendingActivity() call so the MediaSource object can become inactive after being removed from the registry. |
| |
| 2012-10-22 Adam Barth <abarth@webkit.org> |
| |
| [V8] Vastly simplify V8GCController's NodeVisitor |
| https://bugs.webkit.org/show_bug.cgi?id=99884 |
| |
| Reviewed by Kentaro Hara. |
| |
| NodeVisitor was vastly more complicated than necessary. |
| |
| This patch improve performance on these new gc benchmarks: |
| |
| gc-forest: 1.14% better |
| gc-mini-tree: 5.09% better |
| gc-tree: 4.60% better |
| |
| * bindings/v8/V8GCController.cpp: |
| (WebCore::ObjectVisitor::visitDOMWrapper): |
| (WebCore::addImplicitReferencesForNodeWithEventListeners): |
| (WebCore::rootForGC): |
| (WebCore::NodeVisitor::visitDOMWrapper): |
| (WebCore::NodeVisitor::applyGrouping): |
| (NodeVisitor): |
| |
| 2012-10-22 Emil A Eklund <eae@chromium.org> |
| |
| Change baselinePosition and maxAscent/maxDescent to int |
| https://bugs.webkit.org/show_bug.cgi?id=99767 |
| |
| Reviewed by Levi Weintraub. |
| |
| Currently baselinePostion, maxAscent and maxDescent are |
| LayoutUnits while ascent, descent and m_lineHeight are ints. |
| This can lead to subtle alignment and rounding problems. |
| |
| Change baselinePosition and maxAscent/maxDescent to int to avoid |
| these issues. |
| |
| Test: fast/sub-pixel/replaced-element-baseline.html |
| |
| * editing/FrameSelection.cpp: |
| (WebCore::repaintRectForCaret): |
| Inflate Y dimension just like we do for X to ensure that the |
| repaint rect fully contains the caret. |
| |
| * rendering/InlineBox.cpp: |
| (WebCore::InlineBox::baselinePosition): |
| * rendering/InlineBox.h: |
| (InlineBox): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): |
| (WebCore::InlineFlowBox::computeLogicalBoxHeights): |
| (WebCore::InlineFlowBox::placeBoxesInBlockDirection): |
| Change maxAscent/maxDescent to int to match ascent/descent. |
| |
| * rendering/InlineFlowBox.h: |
| (InlineFlowBox): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::baselinePosition): |
| * rendering/InlineTextBox.h: |
| (InlineTextBox): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::baselinePosition): |
| (WebCore::RenderBlock::firstLineBoxBaseline): |
| (WebCore::RenderBlock::lastLineBoxBaseline): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::baselinePosition): |
| * rendering/RenderBox.h: |
| (WebCore::RenderBox::firstLineBoxBaseline): |
| (WebCore::RenderBox::lastLineBoxBaseline): |
| (RenderBox): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::baselinePosition): |
| (WebCore::RenderFlexibleBox::firstLineBoxBaseline): |
| * rendering/RenderFlexibleBox.h: |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::baselinePosition): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| * rendering/RenderListBox.cpp: |
| (WebCore::RenderListBox::baselinePosition): |
| * rendering/RenderListBox.h: |
| (RenderListBox): |
| * rendering/RenderListMarker.cpp: |
| (WebCore::RenderListMarker::baselinePosition): |
| * rendering/RenderListMarker.h: |
| (RenderListMarker): |
| * rendering/RenderSlider.cpp: |
| (WebCore::RenderSlider::baselinePosition): |
| * rendering/RenderSlider.h: |
| (RenderSlider): |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::baselinePosition): |
| (WebCore::RenderTable::lastLineBoxBaseline): |
| (WebCore::RenderTable::firstLineBoxBaseline): |
| * rendering/RenderTable.h: |
| (RenderTable): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::firstLineBoxBaseline): |
| * rendering/RenderTableSection.h: |
| (RenderTableSection): |
| * rendering/RenderTextControlMultiLine.cpp: |
| (WebCore::RenderTextControlMultiLine::baselinePosition): |
| * rendering/RenderTextControlMultiLine.h: |
| (RenderTextControlMultiLine): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::baselinePosition): |
| * rendering/RenderTheme.h: |
| (RenderTheme): |
| * rendering/RenderThemeSafari.cpp: |
| (WebCore::RenderThemeSafari::baselinePosition): |
| * rendering/RenderThemeSafari.h: |
| (RenderThemeSafari): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::baselinePosition): |
| (WebCore::RootInlineBox::alignBoxesInBlockDirection): |
| * rendering/RootInlineBox.h: |
| (RootInlineBox): |
| * rendering/mathml/RenderMathMLBlock.cpp: |
| (WebCore::RenderMathMLBlock::baselinePosition): |
| (WebCore::RenderMathMLTable::firstLineBoxBaseline): |
| * rendering/mathml/RenderMathMLBlock.h: |
| (RenderMathMLBlock): |
| (RenderMathMLTable): |
| * rendering/mathml/RenderMathMLFraction.cpp: |
| (WebCore::RenderMathMLFraction::firstLineBoxBaseline): |
| * rendering/mathml/RenderMathMLFraction.h: |
| (RenderMathMLFraction): |
| * rendering/mathml/RenderMathMLOperator.cpp: |
| (WebCore::RenderMathMLOperator::firstLineBoxBaseline): |
| * rendering/mathml/RenderMathMLOperator.h: |
| * rendering/mathml/RenderMathMLUnderOver.cpp: |
| (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline): |
| * rendering/mathml/RenderMathMLUnderOver.h: |
| (RenderMathMLUnderOver): |
| |
| 2012-10-22 Emil A Eklund <eae@chromium.org> |
| |
| Modify LayoutState ASSERTS to support SATURATED_LAYOUT_ARITHMETIC |
| https://bugs.webkit.org/show_bug.cgi?id=98692 |
| |
| Reviewed by Dan Bernstein. |
| |
| We currently overflow/wrap when computing the delta in |
| RenderBlock::setLogicalTopForChild in cases where we have an |
| element with a width or height exceeding maxLayoutUnit. When |
| the delta is later added back in RenderBlock::layoutBlockChild |
| the number wraps again getting us back to the correct value. |
| |
| With SATURATED_LAYOUT_ARITHMETIC enabled the values no longer |
| wraps, which seems like the correct thing to do however this |
| causes the compare to fail for obvious reasons. By accounting |
| for this we can keep the asserts (which have proven very |
| helpful) even when SATURATED_LAYOUT_ARITHMETIC is turned on. |
| |
| No new tests, covered by existing tests. |
| |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/LayoutState.h: |
| (WebCore::LayoutState::LayoutState): |
| (LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::layoutBlockChild): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::layout): |
| * rendering/RenderView.h: |
| (WebCore::RenderView::addLayoutDelta): |
| (RenderView): |
| (WebCore::RenderView::layoutDeltaMatches): |
| |
| 2012-10-22 Tony Chang <tony@chromium.org> |
| |
| Fix some baseline flexbox alignment |
| https://bugs.webkit.org/show_bug.cgi?id=99879 |
| |
| Reviewed by Ojan Vafai. |
| |
| Fix a bug where we weren't handling margin properly on inline-flexbox. |
| Fix a bug where we weren't getting the edge of the content box properly when synthesizing |
| a baseline. |
| |
| Test: css3/flexbox/flexbox-baseline-margins.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::baselinePosition): |
| (WebCore::RenderBlock::inlineBlockBaseline): Add a new method that is used when calculating an inline-block's |
| baseline. Previously we would use lastLineBoxBaseline. |
| (WebCore::RenderBlock::lastLineBoxBaseline): Pass in direction and when searching children, use inlineBlockBaseline. |
| * rendering/RenderBlock.h: |
| (RenderBlock): Make lastLineBoxBaseline non-virtual. |
| * rendering/RenderBox.h: |
| (WebCore::RenderBox::inlineBlockBaseline): Replace lastLineBoxBaseline with inlineBlockBaseline. |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::synthesizedBaselineFromContentBox): Helper method for getting the baseline from the content box. |
| (WebCore::RenderFlexibleBox::baselinePosition): Always include the margin. This fixes the inline-flexbox case. |
| (WebCore::RenderFlexibleBox::firstLineBoxBaseline): Fix a case where we didn't synthesize a baseline. Returning -1 means there is no baseline, but we can |
| synthesize a baseline if we have a flexitem without text. |
| (WebCore::RenderFlexibleBox::inlineBlockBaseline): |
| * rendering/RenderFlexibleBox.h: |
| * rendering/RenderTable.cpp: Replace lastLineBoxBaseline with inlineBlockBaseline. |
| (WebCore::RenderTable::inlineBlockBaseline): Try to make comment more direct. |
| * rendering/RenderTable.h: |
| (RenderTable): Replace lastLineBoxBaseline with inlineBlockBaseline. |
| |
| 2012-10-22 Levi Weintraub <leviw@chromium.org> |
| |
| Unreviewed Chromium build fix following r132074. |
| |
| * WebCore.gypi: |
| |
| 2012-10-22 Mario Sanchez Prada <msanchez@igalia.com> |
| |
| [GTK] Don't use deprecated AccessibilityObject methods after r99502 |
| https://bugs.webkit.org/show_bug.cgi?id=99985 |
| |
| Reviewed by Chris Fleizach. |
| |
| Update callers for AccessibilityObject's title() and |
| accessibilityDescription() so they now use AccessibilityText. |
| |
| * accessibility/gtk/WebKitAccessibleUtil.cpp: |
| (titleTagShouldBeUsedInDescriptionField): Internal helper function. |
| (accessibilityTitle): New helper function, returns an String with |
| the title for a AccessibilityObject, using AccessibleText. |
| (accessibilityDescription): New helper function, returns an String with |
| the description for a AccessibilityObject, using AccessibleText. |
| * accessibility/gtk/WebKitAccessibleUtil.h: Added public |
| declarations for accessibilityTitle and accessibilityDescription. |
| |
| * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: |
| (webkitAccessibleGetName): Use new helpers for retrieving the title. |
| (webkitAccessibleGetDescription): Use new helpers for retrieving |
| the title and description. |
| |
| * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: |
| (webkitAccessibleImageGetImageDescription): Use new helpers for |
| retrieving the title. |
| |
| 2012-10-16 Andrey Kosyakov <caseq@chromium.org> |
| |
| Web Inspector: add timeline instrumentation for scrolling of a layer |
| https://bugs.webkit.org/show_bug.cgi?id=99461 |
| |
| Reviewed by Pavel Feldman. |
| |
| - added timeline instrumentation for scrolling of a layer; |
| - added TRACE_EVENT for ScrollableArea::scrollPositionChanged() |
| |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore): |
| (WebCore::InspectorInstrumentation::willScrollLayerImpl): |
| (WebCore::InspectorInstrumentation::didScrollLayerImpl): |
| * inspector/InspectorInstrumentation.h: |
| (InspectorInstrumentation): |
| (WebCore::InspectorInstrumentation::willScrollLayer): |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didScrollLayer): |
| * inspector/InspectorTimelineAgent.cpp: |
| (TimelineRecordType): |
| (WebCore::InspectorTimelineAgent::willScroll): |
| (WebCore): |
| (WebCore::InspectorTimelineAgent::didScroll): |
| * inspector/InspectorTimelineAgent.h: |
| (InspectorTimelineAgent): |
| * inspector/front-end/TimelineModel.js: |
| * inspector/front-end/TimelinePresentationModel.js: |
| (WebInspector.TimelinePresentationModel._initRecordStyles): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::scrollTo): |
| * platform/ScrollableArea.cpp: |
| (WebCore::ScrollableArea::scrollPositionChanged): |
| |
| 2012-10-22 Jan Keromnes <janx@linux.com> |
| |
| Moved cmdevtools.js to folder cm/ |
| |
| Web Inspector: Move file `cmdevtools.css` to `cm/` |
| https://bugs.webkit.org/show_bug.cgi?id=99956 |
| |
| Reviewed by Pavel Feldman. |
| |
| The file cmdevtools.js belongs to the CodeMirror editor experiment in cm/. |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/cm/cmdevtools.css: Renamed from Source/WebCore/inspector/front-end/cmdevtools.css. |
| (.CodeMirror): |
| (.CodeMirror-scroll): |
| (.cm-highlight): |
| (@-webkit-keyframes fadeout): |
| (to): |
| (.cm-breakpoint): |
| (.cm-breakpoint-disabled): |
| (.cm-breakpoint-conditional): |
| (.cm-execution-line): |
| (.cm-s-web-inspector-js span.cm-keyword): |
| (.cm-s-web-inspector-js span.cm-number): |
| (.cm-s-web-inspector-js span.cm-comment): |
| (.cm-s-web-inspector-js span.cm-string): |
| (.cm-s-web-inspector-js span.cm-string-2): |
| (.cm-s-web-inspector-css span.cm-keyword): |
| (.cm-s-web-inspector-css span.cm-number): |
| (.cm-s-web-inspector-css span.cm-comment): |
| (.cm-s-web-inspector-css span.cm-string): |
| (.cm-s-web-inspector-css span.cm-string-2): |
| (.cm-s-web-inspector-css span.cm-link): |
| (.cm-s-web-inspector-css span.cm-variable): |
| (.cm-s-web-inspector-html span.cm-meta): |
| (.cm-s-web-inspector-html span.cm-comment): |
| (.cm-s-web-inspector-html span.cm-string): |
| (.cm-s-web-inspector-html span.cm-tag): |
| (.cm-s-web-inspector-html span.cm-attribute): |
| (.cm-s-web-inspector-html span.cm-link): |
| (.webkit-html-message-bubble): |
| (.webkit-html-warning-message): |
| (.webkit-html-error-message): |
| (.webkit-html-message-line): |
| (.webkit-html-message-line-hover): |
| |
| 2012-10-22 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Prepare mappings to moving uiSourceCodes creation out of them to workspace. |
| https://bugs.webkit.org/show_bug.cgi?id=99997 |
| |
| Reviewed by Pavel Feldman. |
| |
| Source mappings could now store a link to temporary uiSourceCodes only. |
| Otherwise it should retrieve uiSourceCodes from workspace by URL. |
| Original uiSourceCodes are now temporary in CompilerScriptMapping. |
| |
| * inspector/front-end/CompilerScriptMapping.js: |
| (WebInspector.CompilerScriptMapping): |
| (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation): |
| (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript): |
| (WebInspector.CompilerScriptMapping.prototype._reset): |
| * inspector/front-end/NetworkUISourceCodeProvider.js: |
| (WebInspector.NetworkUISourceCodeProvider): |
| (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource): |
| (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded): |
| (WebInspector.NetworkUISourceCodeProvider.prototype._addUISourceCode): |
| (WebInspector.NetworkUISourceCodeProvider.prototype._projectWillReset): |
| * inspector/front-end/SASSSourceMapping.js: |
| (WebInspector.SASSSourceMapping): |
| (_bindUISourceCode): |
| (_reset): |
| |
| 2012-10-22 Nicolas Dufresne <nicolas.dufresne@collabora.com> |
| |
| Gstreamer 1.0 not working |
| https://bugs.webkit.org/show_bug.cgi?id=99852 |
| |
| Reviewed by Philippe Normand. |
| |
| There was a series of trivial issue, g_object_is_floating() was called |
| on type GstCaps (which is not a GObject), webkitGstGetPadCaps() was |
| returning non-fixed caps and GST_MESSAGE_DURATION has been renamed |
| to GST_MESSAGE_DURATION_CHANGED. |
| |
| Most failing test passes now. |
| |
| * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: |
| (WTF::adoptGRef): |
| * platform/graphics/gstreamer/GStreamerVersioning.cpp: |
| (webkitGstGetPadCaps): |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::handleMessage): |
| |
| 2012-10-22 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Treat dynamic anonymous scripts as other anonymous and fix anonymous script editing and breakpoints. |
| https://bugs.webkit.org/show_bug.cgi?id=99989 |
| |
| Reviewed by Pavel Feldman. |
| |
| Dynamic anonymous scripts are now mapped to anonymous temporary uiSourceCodes. |
| ResourceScriptMapping now supports two types of temporary uiSourceCodes: |
| - original uiSourceCodes represent scripts while main uiSourceCodes are diverged; |
| - temporary uiSourceCodes represent scripts for which resources are not yet loaded. |
| |
| * inspector/front-end/BreakpointManager.js: |
| (WebInspector.BreakpointManager.breakpointStorageId): |
| (WebInspector.BreakpointManager.Storage.prototype._updateBreakpoint): |
| * inspector/front-end/NetworkUISourceCodeProvider.js: |
| (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource): |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptMapping): |
| (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): |
| (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM): |
| (WebInspector.ResourceScriptMapping.prototype.addScript): |
| (WebInspector.ResourceScriptMapping.prototype._deleteOriginalUISourceCodeForScripts): |
| (WebInspector.ResourceScriptMapping.prototype._deleteTemporaryUISourceCodeForScripts): |
| (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts): |
| (WebInspector.ResourceScriptMapping.prototype._createUISourceCode): |
| (WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode): |
| (WebInspector.ResourceScriptMapping.prototype._getOrCreateOriginalUISourceCode): |
| (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace): |
| (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode.get if): |
| (WebInspector.ResourceScriptMapping.prototype._reset): |
| |
| 2012-10-22 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> |
| |
| [css3-text] Add rendering support for -webkit-text-decoration-style |
| https://bugs.webkit.org/show_bug.cgi?id=94094 |
| |
| Reviewed by Julien Chaffraix. |
| |
| This patch implements the "text-decoration-style" property rendering as |
| specified in CSS3 working draft, with "-webkit-" prefix. The specification can |
| be found here: http://dev.w3.org/csswg/css3-text/#text-decoration-style |
| |
| Additionally, Mozilla implementation details can be found here: |
| https://developer.mozilla.org/en/CSS/text-decoration-style |
| |
| Tests: fast/css3-text/css3-text-decoration/repaint/repaint-text-decoration-style.html |
| fast/css3-text/css3-text-decoration/text-decoration-style.html |
| |
| * platform/graphics/GraphicsContext.h: |
| * platform/graphics/cairo/GraphicsContextCairo.cpp: |
| (WebCore::GraphicsContext::setPlatformStrokeStyle): |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::GraphicsContext::drawLine): |
| * platform/graphics/qt/GraphicsContextQt.cpp: |
| (WebCore::toQPenStyle): |
| (WebCore::GraphicsContext::drawLine): |
| * platform/graphics/skia/PlatformContextSkia.cpp: |
| (WebCore::PlatformContextSkia::setupPaintForStroking): |
| * platform/graphics/wince/GraphicsContextWinCE.cpp: |
| (WebCore::createPen): |
| * platform/graphics/wx/GraphicsContextWx.cpp: |
| (WebCore::strokeStyleToWxPenStyle): |
| Added 'DoubleStroke' and 'WavyStroke' to StrokeStyle enum and updated |
| platform-specific stroke handling. Some styles requires |
| platform-specific implementation (handled in bug 92868). |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paint): |
| (WebCore::textDecorationStyleToStrokeStyle): Added static function that |
| translates text decoration to stroke styles. |
| (WebCore::InlineTextBox::paintDecoration): Text decoration style does |
| not specify a property for line thickness (like border-width does for |
| border style), so we statically set it to 1 for now. The 'double' style |
| implementation simply adds a parallel line (depending if it is |
| underline, overline or line-through) and the space between lines follows |
| the approach used by border's 'double' style. |
| * rendering/InlineTextBox.h: |
| (InlineTextBox): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| Added text decoration style rendering support to |
| InlineTextBox::paintDecoration(). |
| |
| 2012-10-22 Allan Sandfeld Jensen <allan.jensen@digia.com> |
| |
| [Qt] Use the DNS resolve queue |
| https://bugs.webkit.org/show_bug.cgi?id=99994 |
| |
| Reviewed by Simon Hausmann. |
| |
| Use the DNS resolve queue, to ensure we can prefetch more than just the first 10 hostname encountered |
| during parsing. It also ensure each hostname is only appears once in the queue. |
| |
| * Target.pri: |
| * platform/network/qt/DNSQt.cpp: Added. |
| (DnsPrefetchHelper): |
| (WebCore::DnsPrefetchHelper::DnsPrefetchHelper): |
| (WebCore::DnsPrefetchHelper::lookup): |
| (WebCore::DnsPrefetchHelper::lookedUp): |
| (WebCore::prefetchDNS): |
| (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): |
| (WebCore::DNSResolveQueue::platformResolve): |
| * platform/network/qt/DnsPrefetchHelper.cpp: Removed. |
| * platform/network/qt/DnsPrefetchHelper.h: Removed. |
| (DnsPrefetchHelper): |
| |
| 2012-10-22 Erik Arvidsson <arv@chromium.org> |
| |
| HTMLBaseElement href attribute binding returns wrong URL |
| https://bugs.webkit.org/show_bug.cgi?id=98184 |
| |
| Reviewed by Ojan Vafai. |
| |
| Resolve the href attribute binding relative to the document URL instead of resolving it to the |
| base element itself. If there is no href attribute this should return the fallback base URL. |
| |
| http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-base-element |
| |
| Tests: fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html |
| fast/dom/HTMLBaseElement/href-attribute-resolves-with-respect-to-document.html |
| |
| * html/HTMLBaseElement.cpp: |
| (WebCore::HTMLBaseElement::href): Don't use completeURL. Resolve href based on document's URL instead |
| of the generic [Reflect, URL] binding. |
| (WebCore::HTMLBaseElement::setHref): Just sets the attribute. |
| * html/HTMLBaseElement.h: |
| * html/HTMLBaseElement.idl: We can no longer use [Reflect, URL] |
| |
| 2012-10-22 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Revisions should not be restored and persisted for anonymous uiSourceCodes. |
| https://bugs.webkit.org/show_bug.cgi?id=99991 |
| |
| Reviewed by Alexander Pavlov. |
| |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode): |
| |
| 2012-10-22 Florin Malita <fmalita@chromium.org> |
| |
| Incorrect embedded SVG image sizing on first load |
| https://bugs.webkit.org/show_bug.cgi?id=99489 |
| |
| Reviewed by Nikolas Zimmermann. |
| |
| RenderSVGImage::updateImageViewport() must be called after the image loader is finished, |
| to ensure that a SVGImageCache::SizeAndScalesMap entry is created even if layout has |
| already been performed. |
| |
| Test: svg/custom/svg-image-initial-size.html |
| |
| * rendering/svg/RenderSVGImage.cpp: |
| (WebCore::RenderSVGImage::imageChanged): |
| |
| 2012-10-22 Keishi Hattori <keishi@webkit.org> |
| |
| Remove monthFormatInLDML |
| https://bugs.webkit.org/show_bug.cgi?id=99971 |
| |
| Reviewed by Kent Tamura. |
| |
| Removing monthFormatInLDML from localized strings because Localizer class now provides the same functionality. |
| |
| No new tests. Just removing unused code. |
| |
| * platform/LocalizedStrings.h: |
| (WebCore): |
| |
| 2012-10-22 Zan Dobersek <zandobersek@gmail.com> |
| |
| [GTK] Enable Microdata DOM API |
| https://bugs.webkit.org/show_bug.cgi?id=99033 |
| |
| Reviewed by Martin Robinson. |
| |
| Enable the Microdata DOM API, but still disable it when the unstable |
| features should be disabled (for instance in release builds). |
| |
| No new tests - related tests are being unskipped and are expected to pass. |
| |
| * GNUmakefile.am: |
| * GNUmakefile.features.am: |
| * bindings/gobject/GNUmakefile.am: Add the required files so the Microdata |
| API GObject bindings are generated and built. |
| |
| 2012-10-22 Zan Dobersek <zandobersek@gmail.com> |
| |
| [GTK] Enable CSP 1.1 |
| https://bugs.webkit.org/show_bug.cgi?id=99064 |
| |
| Reviewed by Martin Robinson. |
| |
| Enable CSP 1.1 in development builds but keep it disabled when the |
| unstable features should not be enabled (like in stable releases). |
| |
| No new tests - they already exist and will be unskipped. |
| |
| * GNUmakefile.am: |
| * GNUmakefile.features.am: |
| |
| 2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com> |
| |
| [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page |
| https://bugs.webkit.org/show_bug.cgi?id=98514 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| The problem is that we call setFixedVisibleContentRect, which triggers |
| a layout, after the document has been put in the page cache and before |
| the load has been actually committed. |
| |
| This applies the same trick as with setFixedLayoutSize by passing the rect |
| in Frame::createView and calling setFixedVisibleContentRect before the |
| new FrameView gets attached to the Frame/Document to prevent the layout. |
| |
| * WebCore.exp.in: |
| * page/Frame.cpp: |
| (WebCore::Frame::createView): Give a default value to the fixedLayoutSize and |
| useFixedLayout arguments as well since they are used exceptionally. |
| * page/Frame.h: |
| (Frame): |
| |
| 2012-10-22 Allan Sandfeld Jensen <allan.jensen@digia.com> |
| |
| [Qt] Handle GET of blob URLs. |
| https://bugs.webkit.org/show_bug.cgi?id=99053 |
| |
| Reviewed by Simon Hausmann. |
| |
| Let BlobResourceHandle handle Blob request internally. |
| |
| * platform/network/qt/ResourceHandleQt.cpp: |
| (WebCore::ResourceHandle::loadResourceSynchronously): |
| |
| 2012-10-22 Kenichi Ishibashi <bashi@chromium.org> |
| |
| HarfBuzzShaper::shape() should return false when it adds no glyph to GlyphBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=99966 |
| |
| Reviewed by Kent Tamura. |
| |
| If no glyph is added to GlyphBuffer, HarfBuzzShaper::shape() returns false. |
| |
| No new tests. Confirmed the fix by using Address Sanitizer. |
| |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: |
| (WebCore::HarfBuzzShaper::shape): |
| (WebCore::HarfBuzzShaper::fillGlyphBuffer): Returns false when glyphBuffer.size() == 0 |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: |
| (HarfBuzzShaper): |
| |
| 2012-10-22 Shinya Kawanaka <shinyak@chromium.org> |
| |
| [Shadow] ASSERT triggered when we try reprojecting fallback elements. |
| https://bugs.webkit.org/show_bug.cgi?id=99815 |
| |
| Reviewed by Hajime Morita. |
| |
| When fallback elements of InsertionPoint is reprojected, they were attached twice. |
| We have to skip attaching them if they are attached. We also add a few ASSERT not to |
| allow attaching twice if not necessary. |
| |
| We have confirmed that this patch does not regress the performance. The summary of the |
| performance test is the following: |
| |
| Dromaeo/dom-modify.html [runs/s]: |
| median stdev min max |
| without this patch: 3928 184 3655 4361 |
| with this patch : 3925 178 3652 4350 |
| |
| Parser/html5-full-render.html [s]: |
| median stdev min max |
| without this patch: 3821 17 3811 3850 |
| with this patch : 3838 4.4 3833 3844 |
| |
| Test: fast/dom/shadow/content-reprojection-fallback-crash.html |
| |
| * dom/ContainerNode.cpp: |
| (WebCore): |
| (WebCore::childAttachedAllowedWhenAttachingChildren): If true, children of this node might |
| be attached in advance because of ShadowDOM attaching process. |
| * dom/ContainerNode.h: |
| (ContainerNode): |
| (WebCore): |
| (WebCore::ContainerNode::attachChildren): |
| * dom/Element.cpp: |
| (WebCore::Element::attach): |
| * dom/ShadowRoot.cpp: |
| (WebCore::ShadowRoot::attach): |
| |
| 2012-10-22 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: merge "docked" state into the "dock side" enum. |
| https://bugs.webkit.org/show_bug.cgi?id=99717 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Otherwise, it is hard to manage these inter-dependent flags. |
| |
| * WebCore.exp.in: |
| * inspector/InspectorFrontendClient.h: |
| (InspectorFrontendClient): |
| * inspector/InspectorFrontendClientLocal.cpp: |
| (WebCore::InspectorFrontendClientLocal::requestSetDockSide): |
| (WebCore::InspectorFrontendClientLocal::setAttachedWindow): |
| * inspector/InspectorFrontendClientLocal.h: |
| (InspectorFrontendClientLocal): |
| * inspector/InspectorFrontendHost.cpp: |
| (WebCore::InspectorFrontendHost::requestSetDockSide): |
| * inspector/InspectorFrontendHost.h: |
| (InspectorFrontendHost): |
| * inspector/InspectorFrontendHost.idl: |
| * inspector/front-end/DockController.js: |
| (WebInspector.DockController): |
| (WebInspector.DockController.prototype._updateUI.get sides): |
| (WebInspector.DockController.prototype._updateUI): |
| (WebInspector.DockController.prototype._toggleDockState): |
| * inspector/front-end/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setAttachedWindow): |
| (InspectorFrontendAPI.setDockSide): |
| * inspector/front-end/InspectorFrontendHostStub.js: |
| (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide): |
| * inspector/front-end/externs.js: |
| |
| 2012-10-22 MORITA Hajime <morrita@google.com> |
| |
| Unreviewed follow up to update test result after r132033. |
| |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::V8TestObj::installPerContextProperties): |
| |
| 2012-10-21 MORITA Hajime <morrita@google.com> |
| |
| [V8] V8EnablePerContext shouldn't require document() accessor to the native object. |
| https://bugs.webkit.org/show_bug.cgi?id=99954 |
| |
| Reviewed by Kentaro Hara. |
| |
| It now refers ScriptExecutionContext of the creation context instead of document() of |
| wrapped object. |
| |
| No new tests. No behavior change at this time. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateImplementation): |
| |
| 2012-10-21 Kent Tamura <tkent@chromium.org> |
| |
| Page popup: Fix crash by events after closing |
| https://bugs.webkit.org/show_bug.cgi?id=99951 |
| |
| Reviewed by Hajime Morita. |
| |
| WebCore should provide a way to uninstall a DOMWindowPagePopup supplement. |
| |
| No new tests. The bug is timing-dependent. |
| |
| * page/DOMWindowPagePopup.cpp: |
| (WebCore::DOMWindowPagePopup::uninstall): |
| Added. Calls Supplementable::removeSupplement. |
| * page/DOMWindowPagePopup.h: |
| (DOMWindowPagePopup): Declare uninstall. |
| * platform/Supplementable.h: |
| (WebCore::Supplementable::removeSupplement): Added. |
| |
| 2012-10-21 Keishi Hattori <keishi@webkit.org> |
| |
| Refactor picker tests to fix flakiness and share code |
| https://bugs.webkit.org/show_bug.cgi?id=99671 |
| |
| Reviewed by Kent Tamura. |
| |
| Disable transitions until the picker is fully ready. This should fix flakiness. |
| |
| No new tests. |
| |
| * Resources/pagepopups/calendarPicker.css: |
| (.preparing .unavailable): Disable transitions. |
| (.preparing .available): Disable transitions. |
| * Resources/pagepopups/calendarPicker.js: |
| (CalendarPicker): Set "preparing" class. |
| (CalendarPicker.prototype._handleWindowResize): Remove the "preparing" class when the window finishes resizing. |
| |
| 2012-10-21 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Web Inspector: Shadow DOM: Node removal doesn't reflect. |
| https://bugs.webkit.org/show_bug.cgi?id=99567 |
| |
| Reviewed by Pavel Feldman. |
| |
| We have to call InspectorInstrumentation::willRemoveDOMNode() even if a node is in a shadow tree. |
| Otherwise, node won't be removed from the inspector. |
| |
| Test: inspector/elements/update-shadowdom.html |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::dispatchChildRemovalEvents): |
| |
| 2012-10-21 Andreas Kling <kling@webkit.org> |
| |
| Remove Page::javaScriptURLsAreAllowed setting. |
| <http://webkit.org/b/99944> |
| |
| Reviewed by Anders Carlsson. |
| |
| This setting was exposed through internal WebView API in Apple's WebKit1. |
| There are no longer any clients of that API. |
| |
| This is a step towards preventing elements from modifying their own attributes |
| below attributeChanged(). |
| |
| * WebCore.exp.in: |
| * WebCore.order: |
| * bindings/ScriptControllerBase.cpp: |
| (WebCore::ScriptController::executeIfJavaScriptURL): |
| * html/HTMLAnchorElement.cpp: |
| (WebCore::HTMLAnchorElement::parseAttribute): |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| * page/Page.h: |
| (Page): |
| |
| 2012-10-21 Hyungchan Kim <hyungchan2.kim@lge.com> |
| |
| Add a separate flag for rgb swizzling whether it can be modified or not |
| https://bugs.webkit.org/show_bug.cgi?id=98728 |
| |
| BitmapTexture swizzles the source image if the OpenGL driver |
| doesn't support the BGRA extension. |
| In case of directly composited images, the source image should not |
| be modified. |
| |
| http://www.satine.org/research/webkit/snowleopard/snowstack.html |
| |
| Reviewed by Noam Rosenthal. |
| |
| No new tests as this is only testable on specific hardware and |
| currently not avaiable in the bots. |
| |
| * platform/graphics/texmap/TextureMapper.h: |
| (BitmapTexture): |
| * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
| (WebCore::TextureMapperTile::updateContents): |
| (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded): |
| (WebCore::TextureMapperTiledBackingStore::updateContents): |
| * platform/graphics/texmap/TextureMapperBackingStore.h: |
| (TextureMapperTile): |
| (TextureMapperTiledBackingStore): |
| (WebCore::TextureMapperTiledBackingStore::updateContents): |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::TextureMapperGL::drawRepaintCounter): |
| (WebCore::BitmapTextureGL::updateContents): |
| * platform/graphics/texmap/TextureMapperGL.h: |
| (BitmapTextureGL): |
| * platform/graphics/texmap/TextureMapperImageBuffer.cpp: |
| (WebCore::BitmapTextureImageBuffer::updateContents): |
| * platform/graphics/texmap/TextureMapperImageBuffer.h: |
| (BitmapTextureImageBuffer): |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::updateBackingStore): |
| |
| 2012-10-21 Antti Koivisto <antti@apple.com> |
| |
| Factor stylesheet invalidation analysis code into a class |
| https://bugs.webkit.org/show_bug.cgi?id=99933 |
| |
| Reviewed by Sam Weinig. |
| |
| Currently the stylesheet analysis code is all over the place. It should be factored into a class to make |
| further progress easier. |
| |
| The patch adds StyleInvalidationAnalysis class and moves a bunch of code from SelectorChecker, StyleResolver |
| and DocumentStyleSheetCollection there. No functional changes. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/SelectorChecker.cpp: |
| (WebCore): |
| * css/SelectorChecker.h: |
| (WebCore): |
| * css/StyleInvalidationAnalysis.cpp: Added. |
| (WebCore): |
| (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis): |
| (WebCore::StyleInvalidationAnalysis::create): |
| (WebCore::determineSelectorScopes): |
| (WebCore::StyleInvalidationAnalysis::analyzeStyleSheet): |
| (WebCore::elementMatchesSelectorScopes): |
| (WebCore::StyleInvalidationAnalysis::invalidateStyle): |
| * css/StyleInvalidationAnalysis.h: Added. |
| (WebCore): |
| (StyleInvalidationAnalysis): |
| (WebCore::StyleInvalidationAnalysis::dirtiesAllStyle): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::checkRegionSelector): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| * dom/DocumentStyleSheetCollection.cpp: |
| (WebCore): |
| (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange): |
| * dom/DocumentStyleSheetCollection.h: |
| (DocumentStyleSheetCollection): |
| |
| 2012-10-08 Robert Hogan <robert@webkit.org> |
| |
| In some float situations, the original layout is wrong and only corrects itself on repaint |
| https://bugs.webkit.org/show_bug.cgi?id=18939 |
| |
| Reviewed by Levi Weintraub. |
| |
| A <br> that follows collapsing spaces and has clearance set always needs to get a run and a linebox of its own. |
| This allows the line below it to check for clearance from the <br> if it gets dirtied but the line with the <br> |
| does not. |
| |
| Test: fast/block/br-with-clearance-after-collapsing-space.html |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::RenderBlock::LineBreaker::nextLineBreak): |
| |
| 2012-10-08 Robert Hogan <robert@webkit.org> |
| |
| floated element with negative margin causes text wrap bug |
| https://bugs.webkit.org/show_bug.cgi?id=94825 |
| |
| Reviewed by Levi Weintraub. |
| |
| Avoid over-estimating the available width on the line by ensuring that the offset taken to avoid |
| floats on the line is at least as much as the offset given by border, margin and padding. This only |
| happens when a negative margin on the float brings its edge back before the offset |
| given by the border, margin and padding of its parents. |
| |
| Test: fast/block/float/float-on-line-obeys-container-padding.html |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): |
| |
| 2012-10-20 Martin Robinson <mrobinson@igalia.com> |
| |
| Fix 'make dist' for the GTK+ port |
| |
| * GNUmakefile.am: Add missing files to the source list. |
| * GNUmakefile.list.am: Ditto. |
| |
| 2012-10-20 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/12512710> [mac] Text with zero font size renders as 12px sometimes |
| https://bugs.webkit.org/show_bug.cgi?id=99918 |
| |
| Reviewed by Geoff Garen. |
| |
| -[NSFont fontWithName:size:] returns an NSFont of size 12 (the default User Font size) when |
| asked for size 0, and this is what Font::drawGlyphs uses to draw the text. |
| |
| Test: fast/text/zero-font-size-2.html |
| |
| * platform/graphics/mac/FontMac.mm: |
| (WebCore::Font::drawGlyphs): Added an early return if the size is zero. |
| |
| 2012-10-20 Andreas Kling <kling@webkit.org> |
| |
| Clean up QualifiedName-as-hash-key scenario. |
| <http://webkit.org/b/99394> |
| |
| Reviewed by Anders Carlsson. |
| |
| Cache the hash on QualifiedNameImpl after the first time it's computed. |
| This grows QualifiedNameImpl by 4 bytes on 32-bit (no change on 64-bit due to base class padding) |
| which I believe is fine, since QualifiedName is a shared object. |
| |
| Add a global nullQName() function that returns a QualifiedName(nullAtom, nullAtom, nullAtom) |
| and use this to implement HashTraits<QualifiedName>::emptyValue(). The old implementation would |
| create a new QualifiedName(nullAtom, nullAtom, nullAtom) each time, which had to be hashed, |
| added to the global QualifiedName cache, etc. |
| |
| Finally, don't have SVGAttributeHashTranslator create a temporary QualifiedName just to compute |
| the hash of a (namespace, prefix, localName) tuple, use QualifiedNameComponents and hashComponents() |
| directly instead. |
| |
| Altogether this shaves ~100ms off of the RoboHornet svgresize.html benchmark on my MBP. |
| |
| * dom/QualifiedName.cpp: |
| (WebCore::nullQName): |
| (WebCore::QualifiedName::QualifiedNameImpl::computeHash): |
| * dom/QualifiedName.h: |
| (QualifiedNameImpl): |
| (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl): |
| (WebCore::QualifiedNameHash::hash): |
| * svg/SVGElement.h: |
| (WebCore::SVGAttributeHashTranslator::hash): |
| |
| 2012-10-20 Yael Aharon <yael.aharon@intel.com> |
| |
| [EFL][AC] Build fix after r131933 |
| https://bugs.webkit.org/show_bug.cgi?id=99901 |
| |
| Reviewed by Kentaro Hara. |
| |
| Add ArrayBoundsClamper.cpp to WebCore/CMakeLists.txt. |
| |
| No new tests. |
| |
| * CMakeLists.txt: |
| |
| 2012-10-19 Adam Barth <abarth@webkit.org> |
| |
| [V8] V8DOMWrapper should avoid using its document parameter (so we can remove it soon) |
| https://bugs.webkit.org/show_bug.cgi?id=99876 |
| |
| Reviewed by Kentaro Hara. |
| |
| We want to remove the document parameter to instantiateV8Object. There |
| isn't always a Document available, so it doesn't make sense to pass it |
| as a parameter. We're just waiting for a V8 API change so we can still |
| construct Node wrappers quickly. |
| |
| This patch removes a use of the document that snuck in. Rather than |
| passing the ScriptExecutionContext around, we get it from the |
| CreationContext of the prototype object (and only when we actually need |
| it). |
| |
| * Modules/notifications/NotificationCenter.cpp: |
| * Modules/notifications/NotificationCenter.h: |
| (NotificationCenter): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| (GenerateConstructorGetter): |
| (GenerateImplementation): |
| (GenerateToV8Converters): |
| * bindings/v8/V8DOMWindowShell.cpp: |
| (WebCore::V8DOMWindowShell::installDOMWindow): |
| * bindings/v8/V8DOMWrapper.cpp: |
| (WebCore::V8DOMWrapper::instantiateV8Object): |
| * bindings/v8/V8PerContextData.cpp: |
| (WebCore::V8PerContextData::createWrapperFromCacheSlowCase): |
| (WebCore::V8PerContextData::constructorForTypeSlowCase): |
| * bindings/v8/V8PerContextData.h: |
| (WebCore::V8PerContextData::createWrapperFromCache): |
| (WebCore::V8PerContextData::constructorForType): |
| (V8PerContextData): |
| * bindings/v8/WorkerContextExecutionProxy.cpp: |
| (WebCore::WorkerContextExecutionProxy::initializeIfNeeded): |
| * bindings/v8/WrapperTypeInfo.h: |
| (WebCore): |
| (WebCore::WrapperTypeInfo::installPerContextPrototypeProperties): |
| |
| 2012-10-19 Florin Malita <fmalita@chromium.org> |
| |
| Incorrect pattern scaling |
| https://bugs.webkit.org/show_bug.cgi?id=99870 |
| |
| Reviewed by Dirk Schulze. |
| |
| The pattern space transform scale should reflect the tile_size(user space) |
| to tile_image_size ratio, instead of tile_size to absolute_tile_size. |
| |
| Test: svg/custom/pattern-scaling.svg |
| |
| * rendering/svg/RenderSVGResourcePattern.cpp: |
| (WebCore::RenderSVGResourcePattern::applyResource): |
| |
| 2012-10-19 Tony Chang <tony@chromium.org> |
| |
| RenderFlexibleBox::preferredMainAxisContentExtentForChild can return a negative value |
| https://bugs.webkit.org/show_bug.cgi?id=97827 |
| |
| Reviewed by Ojan Vafai. |
| |
| I'm pretty sure this isn't possible (logicalHeight and maxPreferredLogicalWidth should always include |
| border and padding), so just add an assert. |
| |
| No new tests, the assert is for code clarity. |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): |
| |
| 2012-10-19 Tony Chang <tony@chromium.org> |
| |
| Replace calls to updateLogicalHeight with calls to computeLogicalHeight |
| https://bugs.webkit.org/show_bug.cgi?id=99883 |
| |
| Reviewed by Ojan Vafai. |
| |
| In RenderBox and RenderBlock, switch to using computeLogicalHeight instead of |
| saving the old height, calling update logical height, then restoring the old height. |
| |
| No new tests, this is just a refactoring. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): Simple replace. |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computePercentageLogicalHeight): Adjust for content height. |
| (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Adjust for content height. |
| (WebCore::RenderBox::availableLogicalHeightUsing): Adjust for content height. |
| |
| 2012-10-19 Pablo Flouret <pablof@motorola.com> |
| |
| Implement setRangeText() on text controls |
| https://bugs.webkit.org/show_bug.cgi?id=91907 |
| |
| Reviewed by Kent Tamura. |
| |
| setRangeText() replaces a range of text with some other text, and |
| adjusts the existing selection according to its parameters. |
| |
| Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-textarea/input-setrangetext |
| |
| Tests: fast/forms/color/color-setrangetext.html |
| fast/forms/date/date-setrangetext.html |
| fast/forms/datetime/datetime-setrangetext.html |
| fast/forms/datetimelocal/datetimelocal-setrangetext.html |
| fast/forms/file/file-setrangetext.html |
| fast/forms/hidden/hidden-setrangetext.html |
| fast/forms/image/image-setrangetext.html |
| fast/forms/month/month-setrangetext.html |
| fast/forms/number/number-setrangetext.html |
| fast/forms/range/range-setrangetext.html |
| fast/forms/search/search-setrangetext.html |
| fast/forms/setrangetext.html |
| fast/forms/textarea/textarea-setrangetext.html |
| fast/forms/time/time-setrangetext.html |
| fast/forms/week/week-setrangetext.html |
| |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (SkipFunction): |
| The GObject generator doesn't support function overloads, so skip the |
| version of setRangeText() that has only one argument, its behavior |
| can be emulated with the four-argument version. |
| |
| * html/InputType.cpp: |
| (WebCore::InputType::supportsSelectionAPI): |
| (WebCore): |
| * html/InputType.h: |
| (InputType): |
| Add supportsSelectionAPI() which indicates whether the various |
| selection api functions like setRangeText, setSelectionRange, etc. |
| are supported by this input element. |
| |
| * html/BaseTextInputType.cpp: |
| (WebCore::BaseTextInputType::supportsSelectionAPI): |
| (WebCore): |
| * html/BaseTextInputType.h: |
| (BaseTextInputType): |
| Text-based input types support the selection APIs. |
| |
| * html/EmailInputType.cpp: |
| (WebCore::EmailInputType::supportsSelectionAPI): |
| (WebCore): |
| * html/EmailInputType.h: |
| (EmailInputType): |
| Email inputs don't support the selection APIs. |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setRangeText): |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| Add a setRangeText override which checks if it should apply to the |
| input type, and calls the actual implementation on the parent class. |
| * html/HTMLInputElement.idl: |
| * html/HTMLTextAreaElement.idl: |
| |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::HTMLTextFormControlElement::setRangeText): |
| * html/HTMLTextFormControlElement.h: |
| (HTMLTextFormControlElement): |
| setRangeText implementation. |
| |
| |
| 2012-10-19 Luke Macpherson <macpherson@chromium.org> |
| |
| Remove HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro in StyleResolver. |
| https://bugs.webkit.org/show_bug.cgi?id=99782 |
| |
| Reviewed by Sam Weinig. |
| |
| Removes last usage of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro, so that in future there will be no temptation |
| to use it instead of adding a line to StyleBuilder. |
| Also removes redundant checks for inital and inherit (HANDLE_INHERIT_AND_INTIAL already returns in those cases). |
| I don't want to move this code into StyleBuilder until the FIXME that is already there is fixed. |
| |
| Covered by many existing writing mode tests (eg. fast/html/details-writing-mode.html) |
| |
| * css/StyleResolver.cpp: |
| (WebCore): |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2012-10-19 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Hidden indexing events are visible to script via bubbling/capture |
| https://bugs.webkit.org/show_bug.cgi?id=96566 |
| |
| Reviewed by Tony Chang. |
| |
| Stop propagation of error events fired at internal indexing requests as a result of |
| aborting, as they should not be visible to scripts. |
| |
| Test: storage/indexeddb/index-population.html |
| |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::createIndex): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::IDBRequest): |
| (WebCore::IDBRequest::dispatchEvent): |
| * Modules/indexeddb/IDBRequest.h: |
| (WebCore::IDBRequest::preventPropagation): |
| (IDBRequest): |
| |
| 2012-10-19 Simon Fraser <simon.fraser@apple.com> |
| |
| Remove .get() calls in assertions as suggested by Darin Adler. |
| |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayer::appendSublayer): |
| (PlatformCALayer::insertSublayer): |
| (PlatformCALayer::replaceSublayer): |
| |
| 2012-10-19 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix a hang when combining tile cache layers with preserve-3d or reflections |
| https://bugs.webkit.org/show_bug.cgi?id=99890 |
| <rdar://problem/12539560> |
| |
| Reviewed by Dean Jackson. |
| |
| The new tile cache code added an updateSublayers() call when switching to/from |
| tiled layers. This confused later sublayer rebuilding, causing us to attempt to |
| add a layer as a child of itself, causing a hang in CA. |
| |
| Fix by removing all the explicit calls to updateFoo when updating the structural |
| layer and switching to/from tiled layers. Instead, we set dirty flags, and rely |
| on the fact that these flag-dirtying functions get called before the later functions |
| that process those dirty flags. This is assured by some reordering of the update |
| function calls. |
| |
| A final wrinkle is that ensureStructuralLayer() can change the layer that our |
| parent GraphicsLayer put in its sublayer list. Rather than diddle with that sublayer |
| list directly like we used to, just call noteSublayersChanged() on the parent, and have |
| commitLayerChangesAfterSublayers() check the ChildrenChanged and do a second update |
| of sublayers if necessary (we clear the flag in commitLayerChangesBeforeSublayers(), so |
| only do this work if a sublayer requested it). |
| |
| Tests: compositing/tiling/preserve3d-tiled.html |
| compositing/tiling/reflected-tiled.html |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): |
| (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): |
| (WebCore::GraphicsLayerCA::ensureStructuralLayer): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayer::appendSublayer): Add assertion about adding a layer to itself. |
| (PlatformCALayer::insertSublayer): Ditto. |
| (PlatformCALayer::replaceSublayer): Ditto. |
| |
| 2012-10-19 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: aria-hidden=false does not work as expected |
| https://bugs.webkit.org/show_bug.cgi?id=98787 |
| |
| Reviewed by Beth Dakin. |
| |
| ARIA requires that aria-hidden=false override an element's native visibility and include that |
| node in the AX hierarchy. |
| |
| To accomplish this we have to allow invisible items to be included, as well as items that |
| have no renderers associated with them. |
| |
| Test: accessibility/aria-hidden-negates-no-visibility.html |
| |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::getOrCreate): |
| * accessibility/AccessibilityARIAGrid.cpp: |
| (WebCore::AccessibilityARIAGrid::addTableCellChild): |
| (WebCore::AccessibilityARIAGrid::addChildren): |
| * accessibility/AccessibilityARIAGrid.h: |
| (AccessibilityARIAGrid): |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore): |
| (WebCore::AccessibilityNodeObject::boundingBoxRect): |
| (WebCore::AccessibilityNodeObject::insertChild): |
| (WebCore::AccessibilityNodeObject::addChild): |
| (WebCore::AccessibilityNodeObject::addChildren): |
| (WebCore::AccessibilityNodeObject::textUnderElement): |
| * accessibility/AccessibilityNodeObject.h: |
| (AccessibilityNodeObject): |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange): |
| (WebCore): |
| * accessibility/AccessibilityObject.h: |
| (AccessibilityObject): |
| (WebCore::AccessibilityObject::addChild): |
| (WebCore::AccessibilityObject::insertChild): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore): |
| (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase): |
| (WebCore::AccessibilityRenderObject::addHiddenChildren): |
| (WebCore::AccessibilityRenderObject::addChildren): |
| * accessibility/AccessibilityRenderObject.h: |
| (AccessibilityRenderObject): |
| |
| 2012-10-19 Michael Saboff <msaboff@apple.com> |
| |
| Add String version of visitedLinkHash() to properly handle 8-bit URL Strings. |
| https://bugs.webkit.org/show_bug.cgi?id=99735 |
| |
| Reviewed by Filip Pizlo. |
| |
| Added String version of visitedLinkHash(). Made speculative addition of visitedLinkHash() |
| to chromium platform version of LinkHashChromium.cpp. |
| Changed calls in the form of visitedLinkHash(string.characters(), string.length()) to use the |
| new form. |
| |
| No changes to functionality, so no new tests. |
| |
| * WebCore.exp.in: |
| * loader/HistoryController.cpp: |
| (WebCore::addVisitedLink): |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::addVisitedLink): |
| * platform/LinkHash.cpp: |
| (WebCore::visitedLinkHashInline): |
| (WebCore::visitedLinkHash): |
| * platform/LinkHash.h: |
| * platform/chromium/LinkHashChromium.cpp: |
| (WebCore::visitedLinkHash): |
| |
| 2012-10-19 Michael Saboff <msaboff@apple.com> |
| |
| String(CFStringRef) should try to converting to an 8 bit string before converting to 16 bit string |
| https://bugs.webkit.org/show_bug.cgi?id=99794 |
| |
| Reviewed by Filip Pizlo. |
| |
| Try getting a Latin1 byte string before getting a UTF16 (UChar*) string. |
| |
| No new test, added 8 bit path. |
| |
| * platform/text/cf/StringCF.cpp: |
| (WTF::String::String): |
| |
| 2012-10-19 Dima Gorbik <dgorbik@apple.com> |
| |
| Page should be removed from the cache right after restore was called. |
| https://bugs.webkit.org/show_bug.cgi?id=99737 |
| |
| Reviewed by Brady Eidson. |
| |
| The pageCache was inconsistent after the restoration for a period of time because the cachedFrame is being nulled, |
| but the page is still in the Cache. Now the page is being removed from the cache right after the restoration. |
| This issue was spotted in a custom built application using WebKit and unfortunately there is no way to test this |
| behavior in LayoutTests. All the current tests that exercise the page cache do pass. |
| |
| No new tests. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::commitProvisionalLoad): |
| |
| 2012-10-19 Max Vujovic <mvujovic@adobe.com> |
| |
| [WebGL] getUniformLocation fails for uniform array name without array brackets |
| https://bugs.webkit.org/show_bug.cgi?id=99854 |
| |
| Reviewed by Dean Jackson. |
| |
| Before this patch, gl.getUniformLocation(program, "array[0]") would return the array |
| location, but gl.getUniformLocation(program, "array") would not. Now, the latter also |
| returns the array location. |
| |
| In the process of adding a check to the following Khronos WebGL conformance test: |
| conformance/glsl/misc/glsl-long-variable-names.html |
| |
| * platform/graphics/ANGLEWebKitBridge.cpp: |
| (WebCore::getSymbolInfo): |
| Before, we used to check that the symbol size was greater than one to determine that the |
| symbol was an array. However, this doesn't identify arrays of length one. Now, we check |
| if the symbol name ends in "[0]", since ANGLE appends this suffix to array symbol |
| names. |
| If the symbol is an array, we strip off the "[0]" and add a symbol with just the base |
| name. We set the isArray flag on the symbol, so we don't lose the information that it is |
| an array. |
| Then, we create symbols for each array element like before. However, instead of |
| replacing the "0" in array[0]" with each index, we take the base name "array" and |
| append array brackets containing each index (e.g. "array" + "[7]"). |
| * platform/graphics/ANGLEWebKitBridge.h: |
| (ANGLEShaderSymbol): |
| Add isArray boolean to ANGLEShaderSymbol. Since array symbols don't end in "[0]" |
| anymore, this is the only way to identify arrays. |
| |
| 2012-10-19 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Unreviewed, rolling out r131915. |
| http://trac.webkit.org/changeset/131915 |
| https://bugs.webkit.org/show_bug.cgi?id=98787 |
| |
| It broke the build on platforms with \!HAVE(ACCESSIBILITY) |
| |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::getOrCreate): |
| (WebCore::AXObjectCache::nodeIsTextControl): |
| * accessibility/AXObjectCache.h: |
| (WebCore): |
| * accessibility/AccessibilityARIAGrid.cpp: |
| (WebCore::AccessibilityARIAGrid::addChild): |
| (WebCore::AccessibilityARIAGrid::addChildren): |
| * accessibility/AccessibilityARIAGrid.h: |
| (AccessibilityARIAGrid): |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::elementRect): |
| (WebCore::AccessibilityNodeObject::addChildren): |
| (WebCore::AccessibilityNodeObject::textUnderElement): |
| * accessibility/AccessibilityNodeObject.h: |
| (AccessibilityNodeObject): |
| * accessibility/AccessibilityObject.cpp: |
| * accessibility/AccessibilityObject.h: |
| (AccessibilityObject): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::textIteratorBehaviorForTextRange): |
| (WebCore): |
| (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase): |
| (WebCore::AccessibilityRenderObject::addChildren): |
| * accessibility/AccessibilityRenderObject.h: |
| (AccessibilityRenderObject): |
| |
| 2012-10-19 Tony Chang <tony@chromium.org> |
| |
| Unreviewed, rolling out r131936. |
| http://trac.webkit.org/changeset/131936 |
| https://bugs.webkit.org/show_bug.cgi?id=99717 |
| |
| Broke the clang build |
| |
| * WebCore.exp.in: |
| * inspector/InspectorFrontendClient.h: |
| (InspectorFrontendClient): |
| * inspector/InspectorFrontendClientLocal.cpp: |
| (WebCore::InspectorFrontendClientLocal::requestAttachWindow): |
| (WebCore): |
| (WebCore::InspectorFrontendClientLocal::requestDetachWindow): |
| (WebCore::InspectorFrontendClientLocal::setAttachedWindow): |
| * inspector/InspectorFrontendClientLocal.h: |
| (InspectorFrontendClientLocal): |
| (WebCore::InspectorFrontendClientLocal::requestSetDockSide): |
| * inspector/InspectorFrontendHost.cpp: |
| (WebCore::InspectorFrontendHost::requestAttachWindow): |
| (WebCore): |
| (WebCore::InspectorFrontendHost::requestDetachWindow): |
| (WebCore::InspectorFrontendHost::requestSetDockSide): |
| * inspector/InspectorFrontendHost.h: |
| (InspectorFrontendHost): |
| * inspector/InspectorFrontendHost.idl: |
| * inspector/front-end/DockController.js: |
| (WebInspector.DockController): |
| (WebInspector.DockController.prototype.setDocked): |
| (WebInspector.DockController.prototype._innerSetDocked.set if): |
| (WebInspector.DockController.prototype._innerSetDocked): |
| (WebInspector.DockController.prototype._updateUI.get states): |
| (WebInspector.DockController.prototype._updateUI): |
| (WebInspector.DockController.prototype._toggleDockState): |
| * inspector/front-end/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setAttachedWindow): |
| (InspectorFrontendAPI.setDockSide): |
| * inspector/front-end/InspectorFrontendHostStub.js: |
| (.WebInspector.InspectorFrontendHostStub.prototype.requestAttachWindow): |
| (.WebInspector.InspectorFrontendHostStub.prototype.requestDetachWindow): |
| (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide): |
| * inspector/front-end/externs.js: |
| (InspectorFrontendHostAPI.prototype.requestAttachWindow): |
| (InspectorFrontendHostAPI.prototype.requestDetachWindow): |
| |
| 2012-10-09 Martin Robinson <mrobinson@igalia.com> |
| |
| REGRESSION (r130699): 5 various fast/ tests started failing |
| https://bugs.webkit.org/show_bug.cgi?id=98729 |
| |
| Reviewed by Xan Lopez. |
| |
| Do not try to remove the URL fragment for data URLs. This will likely |
| just corrupt the URL. |
| |
| No new tests. This unskips some previously failing tests. |
| |
| * platform/network/soup/ResourceRequestSoup.cpp: |
| (WebCore::ResourceRequest::urlStringForSoup): Do nothing for data URLs. |
| |
| 2012-10-19 Simon Fraser <simon.fraser@apple.com> |
| |
| Use tile caches in place of CATiledLayer |
| https://bugs.webkit.org/show_bug.cgi?id=99806 |
| <rdar://problem/6474145> |
| |
| Reviewed by Tim Horton. |
| |
| Have GraphicsLayerCA use TileCaches instead of CATiledLayer now for |
| layers that exceed the 2000px size threshold. |
| |
| * platform/graphics/TiledBacking.h: |
| (TiledBacking): Have normal getter and setter for the visible rect. |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): We need |
| to pass in an old visibleRect to commitLayerChangesBeforeSublayers(). Just use |
| our current visible rect, which result in no tile area work. |
| (WebCore::GraphicsLayerCA::computeVisibleRect): Make this const and have it |
| return the rect, for clarity. |
| (WebCore::GraphicsLayerCA::recursiveCommitChanges): Keep track of the old |
| visible rect, and use the change flags mechanism to ensure that we recompute |
| tile areas later. |
| When calling commitLayerChangesBeforeSublayers() on the mask layer, just pass |
| its own visible rect as the old visible rect. |
| (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Pass in the |
| oldVisibleRect so that updateVisibleRect() can use this to see how the |
| visibleRect is changing. |
| (WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect): This member function |
| compares the old and new visible rects, and extends the tile coverage area |
| in directions where more content is being exposed. It takes care to avoid |
| "jitter" in the visible rect deltas causing edge tiles to get created then |
| destroyed by keeping any extra padding that already exists in a direction |
| where more content is being exposed. |
| (WebCore::GraphicsLayerCA::updateVisibleRect): Call adjustTiledLayerVisibleRect() |
| and use the result to update the TiledBacking's visibleRect. |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Create layers of type |
| LayerTypeTileCacheLayer instead of LayerTypeWebTiledLayer. Because tile |
| cache layers involve adding an extra layer to the hierarchy (the tile container), |
| we call updateSublayerList() when changing layer type. |
| * platform/graphics/ca/GraphicsLayerCA.h: New m_sizeAtLastVisibleRectUpdate member |
| that is used to prevent the adjustTiledLayerVisibleRect() logic being confused by |
| size changes. |
| (WebCore::GraphicsLayerCA::visibleRect): |
| * platform/graphics/ca/mac/TileCache.h: Have normal getter and setter for the visible rect. |
| * platform/graphics/ca/mac/TileCache.mm: |
| (WebCore::TileCache::setVisibleRect): Renamed to setVisibleRect(). |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Avoid doing work |
| for pages in the page cache, for which the root layer is unattached. |
| (WebCore::RenderLayerCompositor::frameViewDidScroll): visibleRectChanged() was renamed |
| to setVisibleRect(). |
| |
| 2012-10-19 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=99768 |
| We should limit the tile cache coverage when a page can't take |
| advantage of fast tile scrolling anyway |
| |
| Reviewed by Simon Fraser. |
| |
| When sites can't use fast-scrolling, there is no need to inflate the |
| tile cache. In fact, we get a performance boost by keeping it small |
| on painting-intensive sites. |
| |
| Instead of just looking a whether or not the FrameView |
| canHaveScrollbar(), consult |
| shouldUpdateScrollLayerPositionOnMainThread(). |
| * page/FrameView.cpp: |
| (WebCore::FrameView::performPostLayoutTasks): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::RenderLayerBacking): |
| |
| Expose shouldUpdateScrollLayerPositionOnMainThread(). |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects): |
| (WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionOnMainThread): |
| (WebCore): |
| (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread): |
| * page/scrolling/ScrollingCoordinator.h: |
| (ScrollingCoordinator): |
| |
| Bug fix. Should be bitwise and. |
| * platform/graphics/ca/mac/TileCache.mm: |
| (WebCore::TileCache::tileCoverageRect): |
| |
| 2012-10-19 Mark Lam <mark.lam@apple.com> |
| |
| Added WTF::StackStats mechanism. |
| https://bugs.webkit.org/show_bug.cgi?id=99805. |
| |
| Reviewed by Geoffrey Garen. |
| |
| Added StackStats probes in layout methods. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::updateLayout): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::layout): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::layout): |
| * rendering/RenderDialog.cpp: |
| (WebCore::RenderDialog::layout): |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::layout): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::layout): |
| * rendering/RenderFrameSet.cpp: |
| (WebCore::RenderFrameSet::layout): |
| * rendering/RenderIFrame.cpp: |
| (WebCore::RenderIFrame::layout): |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::layout): |
| * rendering/RenderListBox.cpp: |
| (WebCore::RenderListBox::layout): |
| * rendering/RenderListItem.cpp: |
| (WebCore::RenderListItem::layout): |
| * rendering/RenderListMarker.cpp: |
| (WebCore::RenderListMarker::layout): |
| * rendering/RenderMedia.cpp: |
| (WebCore::RenderMedia::layout): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::layout): |
| * rendering/RenderObject.h: |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::layout): |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::layout): |
| * rendering/RenderReplica.cpp: |
| (WebCore::RenderReplica::layout): |
| * rendering/RenderRubyRun.cpp: |
| (WebCore::RenderRubyRun::layoutSpecialExcludedChild): |
| * rendering/RenderScrollbarPart.cpp: |
| (WebCore::RenderScrollbarPart::layout): |
| * rendering/RenderSlider.cpp: |
| (WebCore::RenderSlider::layout): |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::layout): |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::layout): |
| * rendering/RenderTableRow.cpp: |
| (WebCore::RenderTableRow::layout): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::layout): |
| * rendering/RenderTextControlSingleLine.cpp: |
| (WebCore::RenderTextControlSingleLine::layout): |
| * rendering/RenderTextTrackCue.cpp: |
| (WebCore::RenderTextTrackCue::layout): |
| * rendering/RenderVideo.cpp: |
| (WebCore::RenderVideo::layout): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::layout): |
| * rendering/RenderWidget.cpp: |
| (WebCore::RenderWidget::layout): |
| * rendering/svg/RenderSVGContainer.cpp: |
| (WebCore::RenderSVGContainer::layout): |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::layout): |
| * rendering/svg/RenderSVGGradientStop.cpp: |
| (WebCore::RenderSVGGradientStop::layout): |
| * rendering/svg/RenderSVGHiddenContainer.cpp: |
| (WebCore::RenderSVGHiddenContainer::layout): |
| * rendering/svg/RenderSVGImage.cpp: |
| (WebCore::RenderSVGImage::layout): |
| * rendering/svg/RenderSVGResourceContainer.cpp: |
| (WebCore::RenderSVGResourceContainer::layout): |
| * rendering/svg/RenderSVGResourceMarker.cpp: |
| (WebCore::RenderSVGResourceMarker::layout): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::layout): |
| * rendering/svg/RenderSVGShape.cpp: |
| (WebCore::RenderSVGShape::layout): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::layout): |
| |
| 2012-10-19 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: merge "docked" state into the "dock side" enum. |
| https://bugs.webkit.org/show_bug.cgi?id=99717 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Otherwise, it is hard to manage these inter-dependent flags. |
| |
| * inspector/InspectorFrontendClient.h: |
| (InspectorFrontendClient): |
| * inspector/InspectorFrontendClientLocal.cpp: |
| (WebCore::InspectorFrontendClientLocal::requestSetDockSide): |
| (WebCore::InspectorFrontendClientLocal::setAttachedWindow): |
| * inspector/InspectorFrontendClientLocal.h: |
| (InspectorFrontendClientLocal): |
| * inspector/InspectorFrontendHost.cpp: |
| (WebCore::InspectorFrontendHost::requestSetDockSide): |
| * inspector/InspectorFrontendHost.h: |
| (InspectorFrontendHost): |
| * inspector/InspectorFrontendHost.idl: |
| * inspector/front-end/DockController.js: |
| (WebInspector.DockController): |
| (WebInspector.DockController.prototype._updateUI.get sides): |
| (WebInspector.DockController.prototype._updateUI): |
| (WebInspector.DockController.prototype._toggleDockState): |
| * inspector/front-end/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setAttachedWindow): |
| * inspector/front-end/InspectorFrontendHostStub.js: |
| (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide): |
| |
| 2012-10-19 Joshua Bell <jsbell@chromium.org> |
| |
| [V8] IndexedDB: Crash when lazy-indexing Date keys |
| https://bugs.webkit.org/show_bug.cgi?id=99860 |
| |
| Reviewed by Adam Barth. |
| |
| Missing a scope/context needed when digging values out of Date objects |
| in an indexing callback. |
| |
| Test: storage/indexeddb/lazy-index-types.html |
| |
| * bindings/v8/IDBBindingUtilities.cpp: |
| (WebCore::createIDBKeyFromScriptValueAndKeyPath): |
| |
| 2012-10-18 Dean Jackson <dino@apple.com> |
| |
| Shader translator needs option to clamp uniform array accesses in vertex shaders |
| https://bugs.webkit.org/show_bug.cgi?id=98977 |
| https://code.google.com/p/angleproject/issues/detail?id=49 |
| |
| Reviewed by Alok Priyadarshi and Ken Russell. |
| |
| WebGL forbids out-of-bounds array access in shaders. Rewrite any shaders to |
| ensure that non-direct array indexing is clamped to the bounds of the array. |
| |
| Test: fast/canvas/webgl/array-bounds-clamping.html |
| |
| * platform/graphics/ANGLEWebKitBridge.cpp: |
| (WebCore::ANGLEWebKitBridge::compileShaderSource): Pass new compiler option SH_CLAMP_INDIRECT_ARRAY_BOUNDS |
| |
| 2012-10-19 Justin Novosad <junov@chromium.org> |
| |
| [Chromium] Reduce memory footprint of canvas pattern object with deferred rendering |
| https://bugs.webkit.org/show_bug.cgi?id=99856 |
| |
| Reviewed by Stephen White. |
| |
| Marking internal bitmap copy as immutable to prevent it from being |
| unnecessarily duplicated in skia by SkBitmapHeap. |
| |
| No new tests: code path already well covered by existing layout tests |
| fast/canvas/canvas-pattern-* |
| |
| * platform/graphics/skia/PatternSkia.cpp: |
| (WebCore::Pattern::platformPattern): |
| |
| 2012-10-19 Antti Koivisto <antti@apple.com> |
| |
| Maintain a list of active CSS stylesheets |
| https://bugs.webkit.org/show_bug.cgi?id=99843 |
| |
| Reviewed by Andreas Kling. |
| |
| Currently we maintain a per-document list of stylesheets that matches what is returned by the StyleSheetList DOM API. |
| This list contains both CSS and XSLT stylesheets which internally have basically nothing in common. Maintaining |
| a list of active CSS stylesheets separately simplifies code in number of places. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::StyleResolver): |
| (WebCore::StyleResolver::addStylesheetsFromSeamlessParents): |
| (WebCore::StyleResolver::appendAuthorStyleSheets): |
| (WebCore::collectCSSOMWrappers): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| * css/StyleSheetList.cpp: |
| (WebCore::StyleSheetList::styleSheets): |
| (WebCore::StyleSheetList::detachFromDocument): |
| * dom/Document.cpp: |
| (WebCore::Document::setCompatibilityMode): |
| * dom/DocumentStyleSheetCollection.cpp: |
| (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange): |
| (WebCore::styleSheetsUseRemUnits): |
| (WebCore::filterEnabledCSSStyleSheets): |
| (WebCore): |
| (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): |
| (WebCore::DocumentStyleSheetCollection::reportMemoryUsage): |
| * dom/DocumentStyleSheetCollection.h: |
| (WebCore::DocumentStyleSheetCollection::styleSheetsForStyleSheetList): |
| (DocumentStyleSheetCollection): |
| (WebCore::DocumentStyleSheetCollection::activeAuthorStyleSheets): |
| |
| 2012-09-08 Alpha Lam <hclam@chromium.org> |
| |
| [chromium] Implement deferred image decoding |
| https://bugs.webkit.org/show_bug.cgi?id=94240 |
| |
| Reviewed by Stephen White. |
| |
| Objectives: |
| |
| To record image decoding operations during painting and to defer |
| decoding operations until rasterization. |
| |
| Rationale: |
| |
| This is a key feature that enables impl-side painting which requires |
| fast recording of drawing operations. The existing decode-on-draw |
| restricts that recording has to block on expensive decoding operations. |
| This change allows recording of image decoding operations during paint |
| time. |
| |
| Design: |
| |
| Image decoding happens when a BitmapImage is drawn into a |
| GraphicsContext. When per-tile painting is enabled GraphicsContext |
| is backed by SkCanvas in recording mode. This SkCanvas records drawing |
| and image decoding operations to minimize recording time. |
| |
| An image decoding operation is recorded as a SkPixelRef object |
| implemented by LazyDecodingPixelRef. This object references raw encoded |
| data, regions to be decoded and scaling information. |
| |
| When used in conjunction with per-tile painting this feature defers |
| image decoding until the SkCanvas referencing the image is rasterized. |
| |
| Both recording and rasterization happen on the main thread. |
| |
| Performance Impact: |
| |
| This feature is enabled by WebKit::setDeferredImageDecodingEnabled() |
| and does not have an impact when disabled. |
| |
| This feature is disabled by default. |
| |
| Upcoming Changes: |
| |
| 1. Implement a full-featured image cache in ImageDecodingStore. |
| 2. Allow rasterization and decoding on impl thread. |
| |
| Classes Involved: |
| |
| BitmapImage |
| |
| BitmapImage is the entry point for deferred image decoding. When |
| drawing a BitmapImage into a GraphicsContext it makes a request to |
| create a NativeImageSkia. We substitute the content in NativeImageSkia |
| such that it is lazily decoded. |
| |
| DeferredImageDecoder |
| |
| This is the platform implementation of a image decoder for Chromium. |
| This is a bridge layer that either delegates calls to the actual |
| ImageDecoder or create a lazily-decoded SkBitmap and delegates calls |
| to ImageDecodingStore. |
| |
| ImageDecodingStore |
| |
| This object manages all encoded images. It keeps track of encoded |
| data and the corresponding ImageDecoder for doing actual decoding. It |
| is also responsible for generating lazily decoded SkBitmaps. This |
| SkBitmap contains a LazyDecodingPixelRef object which references to an |
| image entry in ImageDecodingStore. |
| |
| ScaledImageFragment |
| |
| A container for a scaled image fragment. In addition to bitmap pixels |
| it contains information about the ID of the image, scale and clipping. |
| |
| ImageFrameGenerator |
| |
| This object is responsible for generating decoded pixels. It is also |
| a container for encoded image data and corresponding image decoder. |
| |
| LazyDecodingPixelRef |
| |
| This object is embedded in a SkBitmap to enable lazy decoding. When |
| SkBitmap needs to access pixels LazyDecodingPixelRef is locked. It |
| contains information to locate an image and scaling info, these |
| information is submitted to ImageDecodingStore to access actual pixels. |
| |
| Layout tests. There are about 80 tests in this virtual test suite |
| running this feature in this directory: |
| |
| platform/chromium/virtual/deferred/fast/images |
| |
| Unit tests. Added DeferredImageDecoderTest to verify deferred |
| image decoding behavior. |
| |
| * WebCore.gypi: |
| * platform/graphics/ImageSource.cpp: |
| (WebCore::ImageSource::setData): |
| * platform/graphics/ImageSource.h: |
| (WebCore): |
| (ImageSource): |
| * platform/graphics/chromium/DeferredImageDecoder.cpp: Added. |
| (WebCore): |
| (WebCore::DeferredImageDecoder::DeferredImageDecoder): |
| (WebCore::DeferredImageDecoder::~DeferredImageDecoder): |
| (WebCore::DeferredImageDecoder::create): |
| (WebCore::DeferredImageDecoder::createForTesting): |
| (WebCore::DeferredImageDecoder::filenameExtension): |
| (WebCore::DeferredImageDecoder::frameBufferAtIndex): |
| (WebCore::DeferredImageDecoder::setData): |
| (WebCore::DeferredImageDecoder::isSizeAvailable): |
| (WebCore::DeferredImageDecoder::size): |
| (WebCore::DeferredImageDecoder::frameSizeAtIndex): |
| (WebCore::DeferredImageDecoder::frameCount): |
| (WebCore::DeferredImageDecoder::repetitionCount): |
| (WebCore::DeferredImageDecoder::clearFrameBufferCache): |
| (WebCore::DeferredImageDecoder::frameHasAlphaAtIndex): |
| (WebCore::DeferredImageDecoder::frameBytesAtIndex): |
| * platform/graphics/chromium/DeferredImageDecoder.h: Added. |
| (WebCore): |
| (DeferredImageDecoder): |
| * platform/graphics/chromium/ImageDecodingStore.cpp: Added. |
| (WebCore::ImageDecodingStore::ImageDecodingStore): |
| (WebCore): |
| (WebCore::ImageDecodingStore::~ImageDecodingStore): |
| (WebCore::ImageDecodingStore::instanceOnMainThread): |
| (WebCore::ImageDecodingStore::initializeOnMainThread): |
| (WebCore::ImageDecodingStore::shutdown): |
| (WebCore::ImageDecodingStore::isLazyDecoded): |
| (WebCore::ImageDecodingStore::createLazyDecodedSkBitmap): |
| (WebCore::ImageDecodingStore::resizeLazyDecodedSkBitmap): |
| (WebCore::ImageDecodingStore::setData): |
| (WebCore::ImageDecodingStore::lockPixels): |
| (WebCore::ImageDecodingStore::unlockPixels): |
| (WebCore::ImageDecodingStore::frameGeneratorBeingDestroyed): |
| (WebCore::ImageDecodingStore::calledOnValidThread): |
| (WebCore::ImageDecodingStore::lookupFrameCache): |
| (WebCore::ImageDecodingStore::deleteFrameCache): |
| * platform/graphics/chromium/ImageDecodingStore.h: Added. |
| (WebCore): |
| (ImageDecodingStore): |
| (WebCore::ImageDecodingStore::create): |
| * platform/graphics/chromium/ScaledImageFragment.cpp: Added. |
| (WebCore): |
| (WebCore::ScaledImageFragment::~ScaledImageFragment): |
| (WebCore::ScaledImageFragment::ScaledImageFragment): |
| (WebCore::ScaledImageFragment::isEqual): |
| * platform/graphics/chromium/ScaledImageFragment.h: Added. |
| (WebCore): |
| (ScaledImageFragment): |
| (WebCore::ScaledImageFragment::create): |
| (WebCore::ScaledImageFragment::bitmap): |
| (WebCore::ScaledImageFragment::isComplete): |
| * platform/graphics/chromium/ImageFrameGenerator.cpp: Added. |
| (WebCore): |
| (WebCore::ImageFrameGenerator::ImageFrameGenerator): |
| (WebCore::ImageFrameGenerator::~ImageFrameGenerator): |
| (WebCore::ImageFrameGenerator::decoder): |
| (WebCore::ImageFrameGenerator::setData): |
| * platform/graphics/chromium/ImageFrameGenerator.h: Added. |
| (WebCore): |
| (ImageFrameGenerator): |
| (WebCore::ImageFrameGenerator::create): |
| (WebCore::ImageFrameGenerator::size): |
| (WebCore::ImageFrameGenerator::imageId): |
| * platform/graphics/chromium/LazyDecodingPixelRef.cpp: Added. |
| (WebCore): |
| (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef): |
| (WebCore::LazyDecodingPixelRef::~LazyDecodingPixelRef): |
| (WebCore::LazyDecodingPixelRef::isScaled): |
| (WebCore::LazyDecodingPixelRef::isClipped): |
| (WebCore::LazyDecodingPixelRef::onLockPixels): |
| (WebCore::LazyDecodingPixelRef::onUnlockPixels): |
| (WebCore::LazyDecodingPixelRef::onLockPixelsAreWritable): |
| * platform/graphics/chromium/LazyDecodingPixelRef.h: Added. |
| (WebCore): |
| (LazyDecodingPixelRef): |
| (WebCore::LazyDecodingPixelRef::frameGenerator): |
| * platform/graphics/skia/NativeImageSkia.cpp: |
| (WebCore::NativeImageSkia::resizedBitmap): |
| * platform/image-decoders/ImageDecoder.h: |
| (ImageFrame): |
| (WebCore::ImageFrame::setSkBitmap): |
| (WebCore::ImageFrame::getSkBitmap): |
| |
| 2012-10-18 Yael Aharon <yael.aharon@intel.com> |
| |
| [EFL] GraphicsContext3D::m_renderStyle is not initialized |
| https://bugs.webkit.org/show_bug.cgi?id=99721 |
| |
| Reviewed by Antonio Gomes. |
| |
| Initialize GraphicsContext3D::m_renderStyle. |
| |
| No new tests, no new functionality. |
| |
| * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| |
| 2012-10-19 Dongwoo Joshua Im <dw.im@samsung.com> |
| |
| Rename ENABLE_CSS3_TEXT_DECORATION to ENABLE_CSS3_TEXT |
| https://bugs.webkit.org/show_bug.cgi?id=99804 |
| |
| Reviewed by Julien Chaffraix. |
| |
| CSS3 text related properties will be implemented under this flag, |
| including text decoration, text-align-last, and text-justify. |
| |
| No new functionality, no new test. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * GNUmakefile.am: |
| * GNUmakefile.features.am: |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::addTextDecorationProperty): |
| (WebCore::CSSParser::parseTextDecoration): |
| * css/CSSPrimitiveValueMappings.h: |
| (WebCore): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/CSSValueKeywords.in: |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::diff): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| (WebCore): |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| (StyleRareNonInheritedData): |
| |
| 2012-10-19 Nate Chapin <japhet@chromium.org> |
| |
| Reorder some functions in SubresourceLoader to permit main resources |
| https://bugs.webkit.org/show_bug.cgi?id=99769 |
| |
| Reviewed by Adam Barth. |
| |
| Most resource types that go through the memory cache (and therefore |
| through SubresourceLoader) are not sensitive to the exact ordering of |
| the callbacks they receive, particularly as it relates to ResourceLoadNotifier |
| calls. Main resources are not so lenient. For main resources to be cacheable |
| and maintain the current behavior as precisely as possible, we will need to |
| rearrange SubresourceLoader's willSendRequest() and didReceiveData(). |
| |
| No new tests, refactor only. |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::willSendRequest): There are a series of checks that can result |
| in the request being canceled, plus calls to CachedResource::willSendRequest() and |
| ResourceLoader::willSendRequest(). MainResourceLoader (which will be a |
| CachedResourceClient) has work it expects to do before ResourceLoader::willSendRequest() |
| is called, but the calls are out of order for that, so swap those. |
| (WebCore::SubresourceLoader::didReceiveData): We need to populate ResourceLoader::m_resourceData |
| before notifying CachedResource of new data, but we also want to do CachedResourceClients calls |
| before calling ResourceLoadNotifier. This means we can't delegate to ResourceLoader. |
| |
| 2012-10-19 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: aria-hidden=false does not work as expected |
| https://bugs.webkit.org/show_bug.cgi?id=98787 |
| |
| Reviewed by Beth Dakin. |
| |
| ARIA requires that aria-hidden=false override an element's native visibility and include that |
| node in the AX hierarchy. |
| |
| To accomplish this we have to allow invisible items to be included, as well as items that |
| have no renderers associated with them. |
| |
| Test: accessibility/aria-hidden-negates-no-visibility.html |
| |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::getOrCreate): |
| * accessibility/AccessibilityARIAGrid.cpp: |
| (WebCore::AccessibilityARIAGrid::addTableCellChild): |
| (WebCore::AccessibilityARIAGrid::addChildren): |
| * accessibility/AccessibilityARIAGrid.h: |
| (AccessibilityARIAGrid): |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore): |
| (WebCore::AccessibilityNodeObject::boundingBoxRect): |
| (WebCore::AccessibilityNodeObject::insertChild): |
| (WebCore::AccessibilityNodeObject::addChild): |
| (WebCore::AccessibilityNodeObject::addChildren): |
| (WebCore::AccessibilityNodeObject::textUnderElement): |
| * accessibility/AccessibilityNodeObject.h: |
| (AccessibilityNodeObject): |
| * accessibility/AccessibilityObject.cpp: |
| (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange): |
| (WebCore): |
| * accessibility/AccessibilityObject.h: |
| (AccessibilityObject): |
| (WebCore::AccessibilityObject::addChild): |
| (WebCore::AccessibilityObject::insertChild): |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore): |
| (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase): |
| (WebCore::AccessibilityRenderObject::addHiddenChildren): |
| (WebCore::AccessibilityRenderObject::addChildren): |
| * accessibility/AccessibilityRenderObject.h: |
| (AccessibilityRenderObject): |
| |
| 2012-10-19 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: Rename owner to client in MediaStreamDescriptor |
| https://bugs.webkit.org/show_bug.cgi?id=99593 |
| |
| Reviewed by Adam Barth. |
| |
| This patch renames owner to client in MediaStreamDescriptor as discussed in #99080. |
| |
| No new tests needed, covered by existing tests. |
| |
| * Modules/mediastream/MediaStream.cpp: |
| (WebCore::MediaStream::MediaStream): |
| (WebCore::MediaStream::~MediaStream): |
| * Modules/mediastream/MediaStream.h: |
| (MediaStream): |
| * Modules/mediastream/PeerConnection00.cpp: |
| (WebCore::PeerConnection00::didRemoveRemoteStream): |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::didRemoveRemoteStream): |
| * platform/mediastream/MediaStreamCenter.cpp: |
| (WebCore::MediaStreamCenter::endLocalMediaStream): |
| (WebCore::MediaStreamCenter::addMediaStreamTrack): |
| (WebCore::MediaStreamCenter::removeMediaStreamTrack): |
| * platform/mediastream/MediaStreamDescriptor.h: |
| (WebCore::MediaStreamDescriptorClient::~MediaStreamDescriptorClient): |
| (WebCore::MediaStreamDescriptor::client): |
| (WebCore::MediaStreamDescriptor::setClient): |
| (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): |
| (MediaStreamDescriptor): |
| |
| 2012-10-19 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Elements assigned to <shadow> should not be reprojected. |
| https://bugs.webkit.org/show_bug.cgi?id=99680 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| In the current spec, we don't have shadow reprojection, i.e. elements assigned to <shadow> should not be |
| reprojected to content. However, we can select them by <shadow>. |
| |
| Tests: fast/dom/shadow/content-reprojection-complex.html |
| fast/dom/shadow/content-reprojection-shadow.html |
| fast/dom/shadow/shadow-reprojection-prohibited.html |
| |
| * html/shadow/ContentDistributor.cpp: |
| (WebCore::ContentDistributor::distribute): When a node is <shadow>, we should not add elements assigned to <shadow> |
| to POOL. Instead, <shadow> itself should be added to POOL. |
| * html/shadow/HTMLContentElement.h: |
| (WebCore::isHTMLContentElement): |
| (WebCore): |
| |
| 2012-10-19 Chris Fleizach <cfleizach@apple.com> |
| |
| VO issues with hidden <legend> and last explicitly labelled element within a group <fieldset> |
| https://bugs.webkit.org/show_bug.cgi?id=96325 |
| |
| Reviewed by Beth Dakin. |
| |
| When finding a <legend> for accessibility, we need to consider those that are offscreen. This patch |
| modifies the original findLegend method to take a parameter to determine what should be done. |
| |
| Test: accessibility/hidden-legend.html |
| |
| * accessibility/AccessibilityRenderObject.cpp: |
| (WebCore::AccessibilityRenderObject::titleUIElement): |
| * rendering/RenderFieldset.cpp: |
| (WebCore::RenderFieldset::findLegend): |
| * rendering/RenderFieldset.h: |
| |
| 2012-10-17 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Refactor accessibility name computation so it's more platform independent |
| https://bugs.webkit.org/show_bug.cgi?id=99502 |
| |
| Reviewed by Beth Dakin. |
| |
| The current model of determining the accessible text for an object has a lot of Mac biases built in |
| due to legacy implementation. |
| |
| This change categorizes and orders accessibility text based on WAI-ARIA text computation rules and then |
| allows the platform (only Mac right now) to decide how best to apply that text to its own AX API. |
| http://www.w3.org/TR/wai-aria/roles#textalternativecomputation |
| |
| This change tried very hard not to change any test behavior, even though it exposed a number of weird |
| edge cases where we were treating attributes differently based on element type. |
| |
| Future patches will resolve those discrepancies. |
| |
| * accessibility/AccessibilityImageMapLink.cpp: |
| (WebCore::AccessibilityImageMapLink::accessibilityText): |
| * accessibility/AccessibilityImageMapLink.h: |
| (AccessibilityImageMapLink): |
| * accessibility/AccessibilityMediaControls.cpp: |
| (WebCore::AccessibilityMediaControl::accessibilityText): |
| * accessibility/AccessibilityMediaControls.h: |
| (AccessibilityMediaControl): |
| (WebCore::AccessibilityMediaTimeDisplay::isMediaControlLabel): |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::titleElementText): |
| (WebCore::AccessibilityNodeObject::accessibilityText): |
| (WebCore::AccessibilityNodeObject::ariaLabeledByText): |
| (WebCore::AccessibilityNodeObject::alternativeText): |
| (WebCore::AccessibilityNodeObject::alternativeTextForWebArea): |
| (WebCore::AccessibilityNodeObject::visibleText): |
| (WebCore::AccessibilityNodeObject::helpText): |
| (WebCore::AccessibilityNodeObject::ariaDescribedByAttribute): |
| * accessibility/AccessibilityNodeObject.h: |
| (AccessibilityNodeObject): |
| * accessibility/AccessibilityObject.h: |
| (AccessibilityText): |
| (WebCore::AccessibilityText::AccessibilityText): |
| (WebCore::AccessibilityObject::isMediaControlLabel): |
| (AccessibilityObject): |
| (WebCore::AccessibilityObject::accessibilityText): |
| (WebCore::AccessibilityObject::setAccessibleName): |
| (WebCore::AccessibilityObject::accessibilityDescription): |
| (WebCore::AccessibilityObject::title): |
| (WebCore::AccessibilityObject::helpText): |
| (WebCore::AccessibilityObject::stringValue): |
| (WebCore::AccessibilityObject::textUnderElement): |
| (WebCore::AccessibilityObject::text): |
| (WebCore::AccessibilityObject::textLength): |
| (WebCore::AccessibilityObject::setRoleValue): |
| (WebCore::AccessibilityObject::roleValue): |
| (WebCore::AccessibilityObject::selection): |
| (WebCore::AccessibilityObject::hierarchicalLevel): |
| * accessibility/AccessibilityRenderObject.cpp: |
| * accessibility/AccessibilityRenderObject.h: |
| (AccessibilityRenderObject): |
| * accessibility/mac/WebAccessibilityObjectWrapper.mm: |
| (-[WebAccessibilityObjectWrapper titleTagShouldBeUsedInDescriptionField]): |
| (-[WebAccessibilityObjectWrapper accessibilityTitle]): |
| (-[WebAccessibilityObjectWrapper accessibilityDescription]): |
| (-[WebAccessibilityObjectWrapper accessibilityHelpText]): |
| (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): |
| * platform/LocalizedStrings.cpp: |
| (WebCore::localizedMediaControlElementHelpText): |
| |
| 2012-10-19 Kent Tamura <tkent@chromium.org> |
| |
| Use Localizer::monthFormat to construct input[type=month] UI |
| https://bugs.webkit.org/show_bug.cgi?id=99818 |
| |
| Reviewed by Kentaro Hara. |
| |
| Use an LDML format returned by Localizer::monthFormat for |
| input[type=month] UI. |
| |
| Because the format may contain symbolic month names and symbolic |
| stand-alone month names, we need to add: |
| - Symbolic/numeric detection in DateTimeEditBuilder |
| - Normal/stand-alone detection in DateTimeEditBuilder |
| - Symbolic edit field for months |
| |
| Test: fast/forms/month-multiple-fields/month-multiple-fields-appearance-l10n.html, |
| fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html |
| |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::setupLayoutParameters): |
| Use Localizer::monthFormat. |
| |
| * html/shadow/DateTimeEditElement.cpp: |
| (WebCore::DateTimeEditBuilder::visitField): |
| - If the number of continuous field character is greater than 2, use |
| DateTimeSymbolicMonthFieldElement. |
| - Supports stand-alone month field. |
| |
| * html/shadow/DateTimeFieldElements.h: |
| (DateTimeSymbolicMonthFieldElement): Added. A subclass of DateTimeSymbolicFieldElement. |
| * html/shadow/DateTimeFieldElements.cpp: |
| (WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement): |
| Added. |
| (WebCore::DateTimeSymbolicMonthFieldElement::create): Added. |
| (WebCore::DateTimeSymbolicMonthFieldElement::populateDateTimeFieldsState): |
| We need to add 1 because the internal integer representation is 0-based |
| and DateTimeFieldsState uses 1-based month. |
| (WebCore::DateTimeSymbolicMonthFieldElement::setValueAsDate): |
| DateComponents::month is 0-based. |
| (WebCore::DateTimeSymbolicMonthFieldElement::setValueAsDateTimeFieldsState): |
| We need to subtract 1 because the internal integer representation is 0-based |
| and DateTimeFieldsState uses 1-based month. |
| |
| * html/shadow/DateTimeSymbolicFieldElement.h: |
| (WebCore::DateTimeSymbolicFieldElement::symbolsSize): |
| Added for DateTimeSymbolicMonthFieldElement::setValueAsDateTimeFieldsState. |
| |
| 2012-10-19 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: inspector/styles/styles-history.html is failing Text on Windows and Linux |
| https://bugs.webkit.org/show_bug.cgi?id=99519 |
| |
| Reviewed by Alexander Pavlov. |
| |
| Extracted _styleContentSet callback in a class method to make it sniffable by tests. |
| |
| * inspector/front-end/StylesSourceMapping.js: |
| (WebInspector.StyleFile.prototype._commitIncrementalEdit): |
| (WebInspector.StyleFile.prototype._styleContentSet): |
| |
| 2012-10-19 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: add object-src 'none' to the inspector.html |
| https://bugs.webkit.org/show_bug.cgi?id=99728 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/front-end/inspector.html: |
| |
| 2012-10-19 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Get rid of isSnippetEvaluation flag on UISourceCode |
| https://bugs.webkit.org/show_bug.cgi?id=99823 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Replaced isSnippetEvaluation flag with a pair of isSnippet and isTemporary set. |
| |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode): |
| * inspector/front-end/ScriptSnippetModel.js: |
| (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes): |
| (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): |
| * inspector/front-end/ScriptsNavigator.js: |
| (WebInspector.ScriptsNavigator.prototype._snippetsNavigatorViewForUISourceCode): |
| (WebInspector.ScriptsNavigator.prototype.revealUISourceCode): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._createSourceFrame): |
| * inspector/front-end/Workspace.js: |
| (WebInspector.Project.prototype.addTemporaryUISourceCode): |
| |
| 2012-10-19 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Invalid Regex in SASSSourceMapping/didRequestContent, breaks Support for Sass experiment |
| https://bugs.webkit.org/show_bug.cgi?id=99729 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Decode only the first line number digit written in a six-character escaped Unicode format. |
| |
| * inspector/front-end/SASSSourceMapping.js: |
| (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent): |
| (WebInspector.SASSSourceMapping.prototype._resourceAdded): |
| |
| 2012-10-19 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: Update the RuntimeEnabledFeatures flags |
| https://bugs.webkit.org/show_bug.cgi?id=99714 |
| |
| Reviewed by Adam Barth. |
| |
| Updating the RuntimeEnabledFeatures flags to match reality: |
| isMediaStreamEnabled and isPeerConnectionEnabled should be true by default and |
| isDeprecatedPeerConnectionEnabled false. |
| |
| Patch covered by existing tests. |
| |
| * bindings/generic/RuntimeEnabledFeatures.cpp: |
| (WebCore): |
| |
| 2012-10-19 Adam Barth <abarth@webkit.org> |
| |
| [V8] Simplify GCPrologueVisitor |
| https://bugs.webkit.org/show_bug.cgi?id=99819 |
| |
| Reviewed by Kentaro Hara. |
| |
| Previously, GCPrologueVisitor used a complicated traits-based template |
| design. That's not necessary. We can just implement it directly without |
| template magic. |
| |
| The one subtly here is that MessagePort is not actually a subclass of |
| ActiveDOMObject. The next stage of this cleanup is to make MessagePort |
| inherit from ActiveDOMObject and remove this special case entirely. |
| |
| * bindings/v8/V8GCController.cpp: |
| (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper): |
| (WebCore): |
| (WebCore::ActiveDOMObjectPrologueVisitor::visitDOMWrapper): |
| (WebCore::NodeVisitor::visitDOMWrapper): |
| (WebCore::V8GCController::gcPrologue): |
| |
| 2012-10-19 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Saving HAR, snapshots and timeline data do not work in remote debugging mode |
| https://bugs.webkit.org/show_bug.cgi?id=99179 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Added method "close" to InspectorFrontendHost. |
| Symantically, this method forces to flush all unsaved buffers for |
| specified file. In native implementation this turns to be no-op. |
| |
| In stub implementation "close" causes compilation of blob object an |
| navigating to blob-schema url. |
| |
| Removed "canAppend", as appending in now suppurted |
| by all implementations. |
| |
| Repaced schema "data" with "blob" in InspectorFrontendHostStub "save" |
| to avoid out-of-memory errors. |
| |
| * inspector/InspectorFrontendHost.cpp: |
| (WebCore::InspectorFrontendHost::close): Compiles blob object and |
| navigates to blob-object url. |
| (WebCore): |
| * inspector/InspectorFrontendHost.h: Added "close" method. |
| * inspector/InspectorFrontendHost.idl: Ditto. |
| * inspector/front-end/FileManager.js: |
| (WebInspector.FileManager.prototype.close): Proxy to InspectorFrontend. |
| * inspector/front-end/FileUtils.js: |
| (WebInspector.FileOutputStream.prototype.close): |
| Invoke "close" on FileManager. |
| (WebInspector.FileOutputStream.prototype._onAppendDone): Ditto. |
| * inspector/front-end/HandlerRegistry.js: Added mandatory "close" call. |
| * inspector/front-end/HeapSnapshotView.js: |
| (WebInspector.HeapProfileHeader.prototype.canSaveToFile): Fixed check. |
| * inspector/front-end/InspectorFrontendHostStub.js: |
| (.WebInspector.InspectorFrontendHostStub): |
| Added "appendable" behaviour emulation. |
| * inspector/front-end/SourceFrame.js: Added mandatory "close" call. |
| * inspector/front-end/externs.js: Replaced "canAppend" with "close" |
| |
| 2012-10-18 Dominic Mazzoni <dmazzoni@google.com> |
| |
| AX: labelForElement is slow when there are a lot of DOM elements |
| https://bugs.webkit.org/show_bug.cgi?id=97825 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a DocumentOrderedMap to TreeScope that allows accessibility to |
| quickly map from an id to the label for that id. This speeds up |
| AccessibilityNode::labelForElement, which was a bottleneck in Chromium |
| when accessibility was on. |
| |
| Tests: accessibility/title-ui-element-correctness.html |
| perf/accessibility-title-ui-element.html |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::labelForElement): |
| * dom/DocumentOrderedMap.cpp: |
| (WebCore::keyMatchesLabelForAttribute): |
| (WebCore): |
| (WebCore::DocumentOrderedMap::get): |
| (WebCore::DocumentOrderedMap::getElementByLabelForAttribute): |
| * dom/DocumentOrderedMap.h: |
| (DocumentOrderedMap): |
| * dom/Element.cpp: |
| (WebCore::Element::insertedInto): |
| (WebCore::Element::removedFrom): |
| (WebCore::Element::updateLabel): |
| (WebCore): |
| (WebCore::Element::willModifyAttribute): |
| * dom/Element.h: |
| (Element): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::TreeScope): |
| (WebCore::TreeScope::destroyTreeScopeData): |
| (WebCore::TreeScope::addLabel): |
| (WebCore): |
| (WebCore::TreeScope::removeLabel): |
| (WebCore::TreeScope::labelElementForId): |
| * dom/TreeScope.h: |
| (WebCore): |
| (TreeScope): |
| (WebCore::TreeScope::shouldCacheLabelsByForAttribute): |
| |
| 2012-10-19 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Update localizedStrings.js |
| https://bugs.webkit.org/show_bug.cgi?id=99701 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Fixed most of missing strings and orphans. |
| |
| * English.lproj/localizedStrings.js: |
| * inspector/front-end/SettingsScreen.js: |
| |
| 2012-10-17 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: NMI provide data for mixing with tcmalloc heap dumps. |
| https://bugs.webkit.org/show_bug.cgi?id=99457 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| countObjectSize now accepts ptr as the first argument and saves it into HashMap if the binary was ran with HEAPPROFILE env variable. |
| getProcessMemoryDistribution does snapshot and calls the downstream code with the map of counted objects. |
| |
| * inspector/InspectorClient.h: |
| (WebCore::InspectorClient::dumpUncountedAllocatedObjects): |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore::reportJSHeapInfo): |
| (WebCore::reportRenderTreeInfo): |
| (WebCore): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| * inspector/MemoryInstrumentationImpl.cpp: |
| (WebCore::MemoryInstrumentationClientImpl::countObjectSize): |
| (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage): |
| * inspector/MemoryInstrumentationImpl.h: |
| (MemoryInstrumentationClientImpl): |
| (WebCore::MemoryInstrumentationClientImpl::countedObjects): |
| |
| 2012-10-19 Adam Barth <abarth@webkit.org> |
| |
| [V8] DOMObjectVisitor does nothing |
| https://bugs.webkit.org/show_bug.cgi?id=99812 |
| |
| Reviewed by Kentaro Hara. |
| |
| This code doesn't do anything, even in Debug! We should just remove it. |
| |
| * bindings/v8/V8GCController.cpp: |
| (WebCore): |
| (WebCore::V8GCController::gcPrologue): |
| (WebCore::V8GCController::gcEpilogue): |
| |
| 2012-10-19 Adam Barth <abarth@webkit.org> |
| |
| [V8] Remove unused typedef from V8GCController.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=99808 |
| |
| Reviewed by Kentaro Hara. |
| |
| This typedef is not used. |
| |
| * bindings/v8/V8GCController.cpp: |
| |
| 2012-10-18 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [Styles] Property considered overridden if it is non-inherited important property in inherited style |
| https://bugs.webkit.org/show_bug.cgi?id=99720 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Non-inherited properties are now disregarded in inherited styles. |
| |
| * inspector/front-end/StylesSidebarPane.js: |
| (WebInspector.StylesSidebarPane.prototype._refreshStyleRules): |
| (WebInspector.StylesSidebarPane.prototype._markUsedProperties): |
| |
| 2012-10-18 Adam Barth <abarth@webkit.org> |
| |
| [V8] GrouperVisitor is secretly two entirely separate objects |
| https://bugs.webkit.org/show_bug.cgi?id=99810 |
| |
| Reviewed by Kentaro Hara. |
| |
| We can separate out the two things that GrouperVisitor is trying to do |
| because they have nothing to do with each other. |
| |
| * bindings/v8/V8GCController.cpp: |
| (ObjectVisitor): |
| (WebCore::ObjectVisitor::visitDOMWrapper): |
| (WebCore): |
| (WebCore::V8GCController::gcPrologue): |
| |
| 2012-10-18 Kiran Muppala <cmuppala@apple.com> |
| |
| Automatically start plugins created within a user gesture, skipping snapshotting |
| https://bugs.webkit.org/show_bug.cgi?id=99778 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| If a user gesture is being processed, do not set the display state of |
| HTMLPluginImageElement to WaitingForSnapshot. |
| |
| No new tests, since it only affects when plugins switch from snapshot to running |
| state. Does not affect rendering of other elements. |
| |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): |
| |
| 2012-10-18 Kent Tamura <tkent@chromium.org> |
| |
| Add shortMonthLabels and shortStandAloneMonthLabels to Localizer |
| https://bugs.webkit.org/show_bug.cgi?id=99787 |
| |
| Reviewed by Kentaro Hara. |
| |
| This is going to be used for input[type=month] UI. This doesn't affect |
| any bahevior yet. |
| |
| Tests: Add some tests to Source/WebKit/chromium/tests/, and will add |
| layout tests later. |
| |
| * platform/text/Localizer.h: |
| (Localizer): Add shortMonthLabels and shortStandAloneMonthLabels as pure |
| virtual member functions. |
| |
| * platform/text/LocaleICU.h: |
| (LocaleICU): Declare shortMonthLabels and shortStandAloneMonthLabels. |
| * platform/text/LocaleICU.cpp: |
| (WebCore::LocaleICU::shortMonthLabels): Added. |
| (WebCore::LocaleICU::shortStandAloneMonthLabels): Added. |
| |
| * platform/text/LocaleNone.cpp: |
| (LocaleNone): Declare shortMonthLabels and shortStandAloneMonthLabels. |
| (WebCore::LocaleNone::shortMonthLabels): |
| Added. Always returns English labels. |
| (WebCore::LocaleNone::shortStandAloneMonthLabels): |
| Addes. Just calls shortMonthLabels. |
| |
| * platform/text/LocaleWin.h: |
| (LocaleWin): Declare shortMonthLabels and shortStandAloneMonthLabels. |
| * platform/text/LocaleWin.cpp: |
| (WebCore::LocaleWin::shortMonthLabels): Added. |
| (WebCore::LocaleWin::shortStandAloneMonthLabels): |
| Added. Always returns shortMonthLabels. |
| |
| * platform/text/mac/LocaleMac.h: |
| (LocaleMac): Declare shortMonthLabels and shortStandAloneMonthLabels. |
| * platform/text/mac/LocaleMac.mm: |
| (WebCore::LocaleMac::shortMonthLabels): Added. |
| (WebCore::LocaleMac::shortStandAloneMonthLabels): Added. |
| |
| 2012-10-18 Kunihiko Sakamoto <ksakamoto@chromium.org> |
| |
| Implement value sanitization algorithm for type=datetime |
| https://bugs.webkit.org/show_bug.cgi?id=76893 |
| |
| Reviewed by Kent Tamura. |
| |
| Implement the value sanitization algorithm for type=datetime that adjusts |
| the value to a valid normalized forced-UTC global date and time string. |
| See http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#valid-normalized-forced-utc-global-date-and-time-string |
| |
| Test: fast/forms/datetime/datetime-value-sanitization.html |
| |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::sanitizeValue): Implemented. |
| (WebCore): |
| * html/DateTimeInputType.h: |
| (DateTimeInputType): Add sanitizeValue. |
| * platform/DateComponents.cpp: |
| (WebCore::DateComponents::addMinute): Fixed a bug that caused wrong adjustment |
| of timezone offset (e.g. 2012-10-17T01:00+01:00 -> 2012-10-17T01:-60Z). |
| |
| 2012-10-18 Byungwoo Lee <bw80.lee@samsung.com> |
| |
| Fix build warning. |
| https://bugs.webkit.org/show_bug.cgi?id=99788 |
| |
| Reviewed by Kentaro Hara. |
| |
| Use UNUSED_PARAM macro for removing -Wunused-parameter. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::currentTransform): |
| |
| 2012-10-18 Benjamin Poulain <bpoulain@apple.com> |
| |
| [WK2] WebKit2 does not build without PLUGIN_PROCESS on Mac |
| https://bugs.webkit.org/show_bug.cgi?id=99771 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: The symbol is used by WebCore Test Support, move it |
| to the general section. |
| |
| 2012-10-18 Adam Barth <abarth@webkit.org> |
| |
| [V8] fast/dom/gc-9.html fails for document.styleSheets |
| https://bugs.webkit.org/show_bug.cgi?id=99786 |
| |
| Reviewed by Kentaro Hara. |
| |
| V8 needs to know about this IDL attribute as well. |
| |
| * css/StyleSheetList.idl: |
| |
| 2012-10-18 Adam Barth <abarth@webkit.org> |
| |
| [V8] fast/dom/gc-9.html fails for document.implementation |
| https://bugs.webkit.org/show_bug.cgi?id=99783 |
| |
| Reviewed by Kentaro Hara. |
| |
| In order to correctly manage the lifetime of document.implementation, |
| we need to implement GenerateIsReachable=ImplDocument. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateVisitDOMWrapper): |
| * bindings/scripts/IDLAttributes.txt: |
| * dom/DOMImplementation.idl: |
| |
| 2012-10-18 Chris Fleizach <cfleizach@apple.com> |
| |
| AX: Crashes in WebProcess at com.apple.WebCore: -[AccessibilityObjectWrapper remoteAccessibilityParentObject] + 78 |
| https://bugs.webkit.org/show_bug.cgi?id=96443 |
| |
| Reviewed by Beth Dakin. |
| |
| Separate out the chain of calls so that the number of times document() is called is reduced and it will be easier |
| to determine which line this crash is happening on. |
| |
| * accessibility/mac/WebAccessibilityObjectWrapper.mm: |
| (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]): |
| |
| 2012-10-18 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Refactor IDBDatabaseBackendImpl to use IDBDatabaseMetadata |
| https://bugs.webkit.org/show_bug.cgi?id=99773 |
| |
| Reviewed by Tony Chang. |
| |
| Refactor to begin separating out metadata from stateful backend objects, |
| in preparation for https://bugs.webkit.org/show_bug.cgi?id=99774. |
| |
| Also includes some #include dependency cleanup so that the backing store |
| depends less on the stateful backend objects. |
| |
| No new tests as this is purely a refactor. |
| |
| * Modules/indexeddb/IDBBackingStore.h: |
| (WebCore): |
| (IDBBackingStore): |
| * Modules/indexeddb/IDBCursor.h: |
| * Modules/indexeddb/IDBCursorBackendImpl.h: |
| (WebCore): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl): |
| (WebCore::IDBDatabaseBackendImpl::openInternal): |
| (WebCore::IDBDatabaseBackendImpl::metadata): |
| (WebCore::IDBDatabaseBackendImpl::createObjectStore): |
| (WebCore::IDBDatabaseBackendImpl::setVersion): |
| (WebCore::IDBDatabaseBackendImpl::setVersionInternal): |
| (WebCore::IDBDatabaseBackendImpl::setIntVersionInternal): |
| (WebCore::IDBDatabaseBackendImpl::processPendingCalls): |
| (WebCore::IDBDatabaseBackendImpl::openConnection): |
| (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction): |
| (WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion): |
| (WebCore::IDBDatabaseBackendImpl::deleteDatabase): |
| (WebCore::IDBDatabaseBackendImpl::loadObjectStores): |
| (WebCore::IDBDatabaseBackendImpl::resetVersion): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.h: |
| (WebCore::IDBDatabaseBackendImpl::id): |
| (IDBDatabaseBackendImpl): |
| * Modules/indexeddb/IDBLevelDBBackingStore.cpp: |
| (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData): |
| (WebCore::IDBLevelDBBackingStore::deleteDatabase): |
| * Modules/indexeddb/IDBLevelDBBackingStore.h: |
| (IDBLevelDBBackingStore): |
| * Modules/indexeddb/IDBObjectStoreBackendInterface.h: |
| * Modules/indexeddb/IDBTransaction.h: |
| (WebCore): |
| |
| 2012-10-18 Peter Kasting <pkasting@google.com> |
| |
| [Skia] Set m_hasAlpha correctly in ImageFrame::copyBitmapData. |
| https://bugs.webkit.org/show_bug.cgi?id=99781 |
| |
| Reviewed by Adam Barth. |
| |
| No tests, since the actual effects of this bug are fickle and it's not |
| clear how to extract and check particular subframes of an animated GIF. |
| |
| * platform/image-decoders/skia/ImageDecoderSkia.cpp: |
| (WebCore::ImageFrame::copyBitmapData): |
| |
| 2012-10-18 Pan Deng <pan.deng@intel.com> |
| |
| [Resource Timing]Implementation of resource timing buffer size restriction functionality |
| https://bugs.webkit.org/show_bug.cgi?id=84885. |
| |
| Reviewed by Tony Gentilcore. |
| |
| http://www.w3.org/TR/2012/CR-resource-timing-20120522/ |
| This patch enable functionality of set buffer size(default is 150 as spec). When buffer is full, resourceTimingBufferFull event will be fired. Incoming entries will be dropped if no more space for them. |
| |
| Tests: http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html |
| http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html |
| http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html |
| http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_clear_resource_timing_functionality.html |
| http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_on_shrink_buffer_size.html |
| http/tests/w3c/webperf/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html |
| |
| * page/Performance.cpp: |
| (WebCore): |
| (WebCore::Performance::Performance): |
| (WebCore::Performance::webkitSetResourceTimingBufferSize): |
| (WebCore::Performance::addResourceTiming): |
| (WebCore::Performance::isResourceTimingBufferFull): |
| * page/Performance.h: |
| (Performance): |
| |
| 2012-10-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r130411): Copying & pasting the first line of text can move caret to the end of text area |
| https://bugs.webkit.org/show_bug.cgi?id=99663 |
| |
| Reviewed by Enrica Casucci and Levi Weintraub. |
| |
| The bug was caused by positionOnlyToBeUpdated's offset not being shifted correctly in |
| ReplaceSelectionCommand::mergeTextNodesAroundPosition. Suppose we have text nodes t1 and t2 and |
| positionOnlyToBeUpdated had offset k in t2. When t2 is merged into t1, positionOnlyToBeUpdated should be |
| moved to (t1, n + k) where n is the ORIGINAL length of t1 before t2 is merged. But we were using |
| the length after t2 is merged. |
| |
| Fixed the bug by saving the original length of t1 and using that in the offset adjustment. |
| Also use the right offset. |
| |
| Test: editing/pasteboard/copy-paste-first-line-in-textarea.html |
| |
| * editing/ReplaceSelectionCommand.cpp: |
| (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition): |
| |
| 2012-10-18 Claudio Saavedra <csaavedra@igalia.com> |
| |
| [GTK] Invalid read from WebKit::DOMObjectCache::clearByFrame |
| https://bugs.webkit.org/show_bug.cgi?id=82882 |
| |
| Reviewed by Xan Lopez. |
| |
| Based on a patch by Milan Crha <mcrha@redhat.com> |
| |
| Prevent an invalid access to a pointer while clearing the DOM |
| object cache. |
| * bindings/gobject/DOMObjectCache.cpp: |
| (WebKit::DOMObjectCache::clearByFrame): Prevent an invalid access. |
| |
| 2012-10-18 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r131810. |
| http://trac.webkit.org/changeset/131810 |
| https://bugs.webkit.org/show_bug.cgi?id=99762 |
| |
| Broke linux debug webkit_unit_tests (Requested by |
| danakj|gardening on #webkit). |
| |
| * WebCore.gypi: |
| * platform/graphics/ImageSource.cpp: |
| (WebCore::ImageSource::setData): |
| * platform/graphics/ImageSource.h: |
| (WebCore): |
| (ImageSource): |
| * platform/graphics/chromium/DeferredImageDecoder.cpp: Removed. |
| * platform/graphics/chromium/DeferredImageDecoder.h: Removed. |
| * platform/graphics/chromium/ImageDecodingStore.cpp: Removed. |
| * platform/graphics/chromium/ImageDecodingStore.h: Removed. |
| * platform/graphics/chromium/ImageFrameGenerator.cpp: Removed. |
| * platform/graphics/chromium/ImageFrameGenerator.h: Removed. |
| * platform/graphics/chromium/LazyDecodingPixelRef.cpp: Removed. |
| * platform/graphics/chromium/LazyDecodingPixelRef.h: Removed. |
| * platform/graphics/chromium/ScaledImageFragment.cpp: Removed. |
| * platform/graphics/chromium/ScaledImageFragment.h: Removed. |
| * platform/graphics/skia/NativeImageSkia.cpp: |
| (WebCore::NativeImageSkia::resizedBitmap): |
| * platform/image-decoders/ImageDecoder.h: |
| (ImageFrame): |
| |
| 2012-10-18 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: Do some cleanup in the chromium WebKit API |
| https://bugs.webkit.org/show_bug.cgi?id=99713 |
| |
| Reviewed by Adam Barth. |
| |
| Removing the deprecated version of WebMediaStreamDescriptor::initialize. |
| |
| No testing needed since only an unused function is removed. |
| |
| * platform/chromium/support/WebMediaStreamDescriptor.cpp: |
| |
| 2012-10-18 Alpha Lam <hclam@chromium.org> |
| |
| [chromium] Implement deferred image decoding |
| https://bugs.webkit.org/show_bug.cgi?id=94240 |
| |
| Reviewed by Stephen White. |
| |
| Objectives: |
| |
| To record image decoding operations during painting and to defer |
| decoding operations until rasterization. |
| |
| Rationale: |
| |
| This is a key feature that enables impl-side painting which requires |
| fast recording of drawing operations. The existing decode-on-draw |
| restricts that recording has to block on expensive decoding operations. |
| This change allows recording of image decoding operations during paint |
| time. |
| |
| Design: |
| |
| Image decoding happens when a BitmapImage is drawn into a |
| GraphicsContext. When per-tile painting is enabled GraphicsContext |
| is backed by SkCanvas in recording mode. This SkCanvas records drawing |
| and image decoding operations to minimize recording time. |
| |
| An image decoding operation is recorded as a SkPixelRef object |
| implemented by LazyDecodingPixelRef. This object references raw encoded |
| data, regions to be decoded and scaling information. |
| |
| When used in conjunction with per-tile painting this feature defers |
| image decoding until the SkCanvas referencing the image is rasterized. |
| |
| Both recording and rasterization happen on the main thread. |
| |
| Performance Impact: |
| |
| This feature is enabled by WebKit::setDeferredImageDecodingEnabled() |
| and does not have an impact when disabled. |
| |
| This feature is disabled by default. |
| |
| Upcoming Changes: |
| |
| 1. Implement a full-featured image cache in ImageDecodingStore. |
| 2. Allow rasterization and decoding on impl thread. |
| |
| Classes Involved: |
| |
| BitmapImage |
| |
| BitmapImage is the entry point for deferred image decoding. When |
| drawing a BitmapImage into a GraphicsContext it makes a request to |
| create a NativeImageSkia. We substitute the content in NativeImageSkia |
| such that it is lazily decoded. |
| |
| DeferredImageDecoder |
| |
| This is the platform implementation of a image decoder for Chromium. |
| This is a bridge layer that either delegates calls to the actual |
| ImageDecoder or create a lazily-decoded SkBitmap and delegates calls |
| to ImageDecodingStore. |
| |
| ImageDecodingStore |
| |
| This object manages all encoded images. It keeps track of encoded |
| data and the corresponding ImageDecoder for doing actual decoding. It |
| is also responsible for generating lazily decoded SkBitmaps. This |
| SkBitmap contains a LazyDecodingPixelRef object which references to an |
| image entry in ImageDecodingStore. |
| |
| ScaledImageFragment |
| |
| A container for a scaled image fragment. In addition to bitmap pixels |
| it contains information about the ID of the image, scale and clipping. |
| |
| ImageFrameGenerator |
| |
| This object is responsible for generating decoded pixels. It is also |
| a container for encoded image data and corresponding image decoder. |
| |
| LazyDecodingPixelRef |
| |
| This object is embedded in a SkBitmap to enable lazy decoding. When |
| SkBitmap needs to access pixels LazyDecodingPixelRef is locked. It |
| contains information to locate an image and scaling info, these |
| information is submitted to ImageDecodingStore to access actual pixels. |
| |
| Layout tests. There are about 80 tests in this virtual test suite |
| running this feature in this directory: |
| |
| platform/chromium/virtual/deferred/fast/images |
| |
| Unit tests. Added DeferredImageDecoderTest to verify deferred |
| image decoding behavior. |
| |
| * WebCore.gypi: |
| * platform/graphics/ImageSource.cpp: |
| (WebCore::ImageSource::setData): |
| * platform/graphics/ImageSource.h: |
| (WebCore): |
| (ImageSource): |
| * platform/graphics/chromium/DeferredImageDecoder.cpp: Added. |
| (WebCore): |
| (WebCore::DeferredImageDecoder::DeferredImageDecoder): |
| (WebCore::DeferredImageDecoder::~DeferredImageDecoder): |
| (WebCore::DeferredImageDecoder::create): |
| (WebCore::DeferredImageDecoder::createForTesting): |
| (WebCore::DeferredImageDecoder::filenameExtension): |
| (WebCore::DeferredImageDecoder::frameBufferAtIndex): |
| (WebCore::DeferredImageDecoder::setData): |
| (WebCore::DeferredImageDecoder::isSizeAvailable): |
| (WebCore::DeferredImageDecoder::size): |
| (WebCore::DeferredImageDecoder::frameSizeAtIndex): |
| (WebCore::DeferredImageDecoder::frameCount): |
| (WebCore::DeferredImageDecoder::repetitionCount): |
| (WebCore::DeferredImageDecoder::clearFrameBufferCache): |
| (WebCore::DeferredImageDecoder::frameHasAlphaAtIndex): |
| (WebCore::DeferredImageDecoder::frameBytesAtIndex): |
| * platform/graphics/chromium/DeferredImageDecoder.h: Added. |
| (WebCore): |
| (DeferredImageDecoder): |
| * platform/graphics/chromium/ImageDecodingStore.cpp: Added. |
| (WebCore::ImageDecodingStore::ImageDecodingStore): |
| (WebCore): |
| (WebCore::ImageDecodingStore::~ImageDecodingStore): |
| (WebCore::ImageDecodingStore::instanceOnMainThread): |
| (WebCore::ImageDecodingStore::initializeOnMainThread): |
| (WebCore::ImageDecodingStore::shutdown): |
| (WebCore::ImageDecodingStore::isLazyDecoded): |
| (WebCore::ImageDecodingStore::createLazyDecodedSkBitmap): |
| (WebCore::ImageDecodingStore::resizeLazyDecodedSkBitmap): |
| (WebCore::ImageDecodingStore::setData): |
| (WebCore::ImageDecodingStore::lockPixels): |
| (WebCore::ImageDecodingStore::unlockPixels): |
| (WebCore::ImageDecodingStore::frameGeneratorBeingDestroyed): |
| (WebCore::ImageDecodingStore::calledOnValidThread): |
| (WebCore::ImageDecodingStore::lookupFrameCache): |
| (WebCore::ImageDecodingStore::deleteFrameCache): |
| * platform/graphics/chromium/ImageDecodingStore.h: Added. |
| (WebCore): |
| (ImageDecodingStore): |
| (WebCore::ImageDecodingStore::create): |
| * platform/graphics/chromium/ScaledImageFragment.cpp: Added. |
| (WebCore): |
| (WebCore::ScaledImageFragment::~ScaledImageFragment): |
| (WebCore::ScaledImageFragment::ScaledImageFragment): |
| (WebCore::ScaledImageFragment::isEqual): |
| * platform/graphics/chromium/ScaledImageFragment.h: Added. |
| (WebCore): |
| (ScaledImageFragment): |
| (WebCore::ScaledImageFragment::create): |
| (WebCore::ScaledImageFragment::bitmap): |
| (WebCore::ScaledImageFragment::isComplete): |
| * platform/graphics/chromium/ImageFrameGenerator.cpp: Added. |
| (WebCore): |
| (WebCore::ImageFrameGenerator::ImageFrameGenerator): |
| (WebCore::ImageFrameGenerator::~ImageFrameGenerator): |
| (WebCore::ImageFrameGenerator::decoder): |
| (WebCore::ImageFrameGenerator::setData): |
| * platform/graphics/chromium/ImageFrameGenerator.h: Added. |
| (WebCore): |
| (ImageFrameGenerator): |
| (WebCore::ImageFrameGenerator::create): |
| (WebCore::ImageFrameGenerator::size): |
| (WebCore::ImageFrameGenerator::imageId): |
| * platform/graphics/chromium/LazyDecodingPixelRef.cpp: Added. |
| (WebCore): |
| (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef): |
| (WebCore::LazyDecodingPixelRef::~LazyDecodingPixelRef): |
| (WebCore::LazyDecodingPixelRef::isScaled): |
| (WebCore::LazyDecodingPixelRef::isClipped): |
| (WebCore::LazyDecodingPixelRef::onLockPixels): |
| (WebCore::LazyDecodingPixelRef::onUnlockPixels): |
| (WebCore::LazyDecodingPixelRef::onLockPixelsAreWritable): |
| * platform/graphics/chromium/LazyDecodingPixelRef.h: Added. |
| (WebCore): |
| (LazyDecodingPixelRef): |
| (WebCore::LazyDecodingPixelRef::frameGenerator): |
| * platform/graphics/skia/NativeImageSkia.cpp: |
| (WebCore::NativeImageSkia::resizedBitmap): |
| * platform/image-decoders/ImageDecoder.h: |
| (ImageFrame): |
| (WebCore::ImageFrame::setSkBitmap): |
| (WebCore::ImageFrame::getSkBitmap): |
| |
| 2012-10-18 Yael Aharon <yael.aharon@intel.com> |
| |
| [EFL] GraphicsContext3D::m_renderStyle is not initialized |
| https://bugs.webkit.org/show_bug.cgi?id=99721 |
| |
| Reviewed by Antonio Gomes. |
| |
| Initialize GraphicsContext3D::m_renderStyle. |
| |
| No new tests, no new functionality. |
| |
| * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| |
| 2012-10-18 Max Vujovic <mvujovic@adobe.com> |
| |
| [CSS Shaders] Validate types of built-in vertex attributes |
| https://bugs.webkit.org/show_bug.cgi?id=98972 |
| |
| Reviewed by Dean Jackson. |
| |
| Reject custom filters in which the author defined built-in attributes with the wrong type. |
| For example, the GLSL declaration "attribute float a_position" is incorrect because |
| a_position should be a vec4, not a float. |
| |
| Test: css3/filters/custom/invalid-custom-filter-attribute-types.html |
| |
| * platform/graphics/ANGLEWebKitBridge.h: |
| (WebCore::ANGLEShaderSymbol::isSampler): |
| Add const qualifier to isSampler method. |
| * platform/graphics/filters/CustomFilterValidatedProgram.cpp: |
| (WebCore): |
| (WebCore::builtInAttributeNameToTypeMap): |
| New file static function. Returns a map of the CSS Custom Filters built-in attribute |
| names and their expected types. |
| (WebCore::validateSymbols): |
| New file static function. Loop through all of the symbols. Reject the shader if we find |
| a built-in attribute defined with the wrong type. |
| (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): |
| Call the new validateSymbols function. If it returns false, exit the constructor early, |
| which rejects the program. |
| Move the loop that checks if any uniform is a sampler into the the validateSymbols |
| function. |
| |
| 2012-10-18 Mike Reed <reed@google.com> |
| |
| Handle if we fail to allocate nonPlatformCanvas in ImageBuffer constructor |
| https://bugs.webkit.org/show_bug.cgi?id=99752 |
| |
| Reviewed by Stephen White. |
| |
| Current code does not check if we were able to allocate the pixels, but still returns the canvas. |
| However, the caller explicitly is checking for null on failure, so it will continue (and possibly |
| crash later on). |
| This change brings the nonPlatformCanvas behavior inline with createAcceleratedCanvas and |
| TryCreateBitmapCanvas, both of which are also called by ImageBuffer's constructor. |
| |
| No new tests. Existing tests exercise ImageBuffer constructor. |
| |
| * platform/graphics/skia/ImageBufferSkia.cpp: |
| (WebCore::createNonPlatformCanvas): |
| |
| 2012-10-18 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=99668 |
| REGRESSION: Crash in |
| WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion |
| -and corresponding- |
| <rdar://problem/12491901> |
| |
| Reviewed by Simon Fraser. |
| |
| http://trac.webkit.org/changeset/130783 changed the lifetime of the |
| ScrollingStateTree's rootStateNode. Before that patch, the root state |
| node was never destroyed. It was just constantly re-used for |
| different RenderLayerBackings. This crash is just one of a few bugs |
| that has occurred because of that change. I have fixed the other bugs |
| individually, but I think that long-term, it is the safest solution |
| to go back to the original ownership model. |
| |
| So this patch ensures that the state tree will always have a root |
| state node. Instead of destroying and re-creating the root node when |
| it's scroll ID changes, we just update the ID. |
| |
| attachToStateTree() now takes an additional ID representing the ID of |
| the parent node. |
| * page/scrolling/ScrollingCoordinator.h: |
| (WebCore::ScrollingCoordinator::attachToStateTree): |
| |
| Add a way to set the scrolling node ID. |
| * page/scrolling/ScrollingStateNode.h: |
| (WebCore::ScrollingStateNode::setScrollingNodeID): |
| |
| This code that provided a way to mark all properties as having |
| changed was added in http://trac.webkit.org/changeset/130989 as a way |
| to ensure we would re-set ScrollingThread's nodes when we destroyed |
| and re-created the rootStateNode. Now that we are no longer |
| destroying and re-creating the rootStateNode, this code is no longer |
| necessary. |
| * page/scrolling/ScrollingStateScrollingNode.cpp: |
| * page/scrolling/ScrollingStateScrollingNode.h: |
| |
| create m_rootStateNode right in the ScrollingStateTree's constructor. |
| * page/scrolling/ScrollingStateTree.cpp: |
| (WebCore::ScrollingStateTree::ScrollingStateTree): |
| |
| Don't let removeNode() destroy m_rootStateNode. |
| (WebCore::ScrollingStateTree::removeNode): |
| |
| Also a part of r130989 that is no longer needed. |
| (WebCore::ScrollingStateTree::rootLayerDidChange(): |
| * page/scrolling/ScrollingStateTree.h: |
| (WebCore::ScrollingStateTree::rootStateNode): |
| (ScrollingStateTree): |
| (WebCore::ScrollingStateTree::setRootStateNode): |
| |
| attachToStateTree() now takes an additional ID representing the ID of |
| the parent node. |
| * page/scrolling/mac/ScrollingCoordinatorMac.h: |
| (ScrollingCoordinatorMac): |
| |
| We no longer need ScrollingStateTree::rootLayerDidChange() |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange): |
| |
| Do not destroy and re-create the state node. Just update its ID. When |
| we support child nodes soon, we will create them in this function. |
| (WebCore::ScrollingCoordinatorMac::attachToStateTree): |
| |
| No need to null-check the rootStateNode. |
| (WebCore::ScrollingCoordinatorMac::clearStateTree): |
| |
| Send 0 as the parent node ID to attachToStateTree() to represent the |
| root node. |
| (WebCore::ScrollingCoordinatorMac::ensureRootStateNodeForFrameView): |
| * rendering/RenderLayerBacking.cpp: |
| |
| RenderLayerBacking::attachToScrollingCoordinator() now takes a parent |
| layer. |
| (WebCore::RenderLayerBacking::attachToScrollingCoordinator): |
| * rendering/RenderLayerBacking.h: |
| (RenderLayerBacking): |
| |
| Since this is the root, send 0 to represent the parent layer. |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateBacking): |
| |
| 2012-10-18 Yael Aharon <yael.aharon@intel.com> |
| |
| [EFL] GraphicsContext3D::m_renderStyle is not initialized |
| https://bugs.webkit.org/show_bug.cgi?id=99721 |
| |
| Reviewed by Antonio Gomes. |
| |
| Initialize GraphicsContext3D::m_renderStyle. |
| |
| No new tests, no new functionality. |
| |
| * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| |
| 2012-10-18 Brian White <bcwhite@chromium.org> |
| |
| WebKit Doesn't Recognize Content-Language HTTP Header |
| https://bugs.webkit.org/show_bug.cgi?id=97929 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| The HTTP "Content-Language" header may be present and include the |
| language of the page contents (as opposed to an embedded meta tag). |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::didBeginDocument): |
| |
| 2012-10-18 Jer Noble <jer.noble@apple.com> |
| |
| Crash in WebCore::Document::webkitExitFullscreen + 618 |
| https://bugs.webkit.org/show_bug.cgi?id=99496 |
| |
| Reviewed by Eric Carlson. |
| |
| Prospective fix for null-dereference crash in Document::webkitExitFullscreen(). |
| |
| * dom/Document.cpp: |
| (WebCore::Document::webkitExitFullscreen): Null check page() before calling page()->chrome. |
| |
| 2012-10-18 Pablo Flouret <pablof@motorola.com> |
| |
| Implement css3-conditional's @supports rule |
| https://bugs.webkit.org/show_bug.cgi?id=86146 |
| |
| Reviewed by Antti Koivisto. |
| |
| The "@supports" rule is a conditional group rule whose condition tests |
| whether the user agent supports CSS property:value pairs. |
| |
| http://dev.w3.org/csswg/css3-conditional/#at-supports |
| |
| Test: css3/supports.html |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * GNUmakefile.am: |
| * GNUmakefile.features.am: |
| Add an ENABLE_CSS3_CONDITIONAL_RULES flag. |
| |
| * css/CSSGrammar.y.in: |
| * css/CSSParser.cpp: |
| (WebCore): |
| (WebCore::CSSParser::detectSupportsToken): Tries to find 'and', 'not' and 'or' tokens. |
| (WebCore::CSSParser::detectAtToken): Enter SupportsMode if @supports is detected. |
| (WebCore::CSSParser::realLex): Try to detect supports tokens when in SupportsMode. |
| * css/CSSParser.h: Added new SupportsMode parsing mode. |
| (CSSParser): |
| |
| 2012-10-18 Marja Hölttä <marja@chromium.org> |
| |
| Fix: CachedResourceLoader::requestSVGDocument was passing an URL as charset |
| https://bugs.webkit.org/show_bug.cgi?id=99730 |
| |
| Reviewed by Jochen Eisinger. |
| |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::requestSVGDocument): |
| |
| 2012-10-18 Jer Noble <jer.noble@apple.com> |
| |
| Fullscreen movie controls behave incorrectly when clicked (and dragged) |
| https://bugs.webkit.org/show_bug.cgi?id=99610 |
| |
| Reviewed by Eric Carlson. |
| |
| Do not reset the relative drag position to 0,0 at the beginning of every drag. Instead, |
| store the cumulative drag offset and accumulate during each additional drag. |
| |
| No new tests; modified the fullscreen/video-controls-drag.html test. |
| |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlPanelElement::startDrag): Reset m_lastDragEventLocation. |
| (WebCore::MediaControlPanelElement::continueDrag): Accumulate drag distance in m_cumulativeDragOffset. |
| (WebCore::MediaControlPanelElement::resetPosition): Reset m_cumulativeDragOffset. |
| * html/shadow/MediaControlElements.h: |
| |
| 2012-10-18 Brandon Jones <bajones@google.com> |
| |
| Implement OES_element_index_uint / WEBKIT_OES_element_index_uint |
| https://bugs.webkit.org/show_bug.cgi?id=97400 |
| |
| Reviewed by Kenneth Russell. |
| |
| Implemented OES_element_index_uint WebGL extension |
| |
| Test: fast/canvas/webgl/oes-element-index-uint.html |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSWebGLRenderingContextCustom.cpp: |
| (WebCore::toJS): |
| * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: |
| (WebCore::toV8Object): |
| * html/canvas/OESElementIndexUint.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h. |
| (WebCore): |
| (WebCore::OESElementIndexUint::OESElementIndexUint): |
| (WebCore::OESElementIndexUint::~OESElementIndexUint): |
| (WebCore::OESElementIndexUint::getName): |
| (WebCore::OESElementIndexUint::create): |
| * html/canvas/OESElementIndexUint.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h. |
| (WebCore): |
| (OESElementIndexUint): |
| * html/canvas/OESElementIndexUint.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h. |
| * html/canvas/WebGLExtension.h: |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore): |
| (WebCore::WebGLRenderingContext::validateElementArraySize): |
| (WebCore::WebGLRenderingContext::validateIndexArrayConservative): |
| (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): |
| (WebCore::WebGLRenderingContext::validateRenderingState): |
| (WebCore::WebGLRenderingContext::drawElements): |
| (WebCore::WebGLRenderingContext::getExtension): |
| (WebCore::WebGLRenderingContext::getSupportedExtensions): |
| * html/canvas/WebGLRenderingContext.h: |
| (WebCore): |
| (WebGLRenderingContext): |
| * platform/graphics/Extensions3D.h: |
| (Extensions3D): |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::supportsExtension): |
| |
| 2012-10-18 Jer Noble <jer.noble@apple.com> |
| |
| Add diagnostic logging to track per-page media engine usage. |
| https://bugs.webkit.org/show_bug.cgi?id=99615 |
| <rdar://problem/12476473> |
| |
| Reviewed by Eric Carlson. |
| |
| Add diagnostic logging triggered only once-per-page and once-per-page-per-engine. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::logMediaLoadRequest): Encapsulate diagnostic logging into single static method. |
| (WebCore::HTMLMediaElement::mediaLoadingFailed): Call logMediaLoadRequest. |
| (WebCore::HTMLMediaElement::setReadyState): Ditto. |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::dispatchDidCommitLoad): Reset the set of seen media engines. |
| |
| Add new methods to Page to track per-page media engine diagnostic info, similar to plugin diagnostic info. |
| * page/Page.cpp: |
| (WebCore::Page::hasSeenAnyMediaEngine): |
| (WebCore::Page::hasSeenMediaEngine): |
| (WebCore::Page::sawMediaEngine): |
| (WebCore::Page::resetSeenMediaEngines): |
| * page/Page.h: |
| |
| Add new static logging key definitions: |
| * page/DiagnosticLoggingKeys.cpp: |
| (WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey): |
| (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey): |
| * page/DiagnosticLoggingKeys.h: |
| |
| 2012-10-18 Michael Saboff <msaboff@apple.com> |
| |
| Add 8-bit path to RenderBlock::handleTrailingSpaces() |
| https://bugs.webkit.org/show_bug.cgi?id=99731 |
| |
| Reviewed by Dan Bernstein. |
| |
| Factored out and added findFirstTrailingSpace() templated helper function that is called with the |
| approriate character pointer type. |
| |
| No tests needed, change covered by existing tests. |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::findFirstTrailingSpace): |
| (WebCore::RenderBlock::handleTrailingSpaces): |
| |
| 2012-10-18 Hans Muller <hmuller@adobe.com> |
| |
| [CSS Exclusions] Add ExclusionShape::shapeBoundingBox() method |
| https://bugs.webkit.org/show_bug.cgi?id=99216 |
| |
| Reviewed by Dirk Schulze. |
| |
| Added a FloatRect::extend() method which simplifies writing loops that |
| accumulate the bounding box for a sequence of FloatPoints. The new method |
| is used by ExclusionPolygon to initialize the shape's logical and physical |
| bounding boxes. This a clean-up, not a change in functionality. It's already |
| covered by the existing fast/exclusions LayoutTests. |
| |
| * platform/graphics/FloatRect.cpp: |
| (WebCore::FloatRect::extend): Extend the FloatRect's bounds to include a FloatPoint. |
| (WebCore): |
| * platform/graphics/FloatRect.h: |
| (FloatRect): Added extend() method. |
| * rendering/ExclusionPolygon.cpp: |
| (WebCore::ExclusionPolygon::ExclusionPolygon): Use FloatRect::extend() to compute the polygon's internal bounding box. |
| * rendering/ExclusionShape.cpp: |
| (WebCore::ExclusionShape::createExclusionShape): Use FloatRect::extend() to compute the polygon's physical bounding box. |
| * rendering/ExclusionShape.h: |
| (WebCore::ExclusionShape::shapeBoundingBox): Return the shape's bounding box in physical coordinates. |
| (ExclusionShape): |
| |
| 2012-10-18 Hans Muller <hmuller@adobe.com> |
| |
| [CSS Exclusions] Handle special case "empty" shapes |
| https://bugs.webkit.org/show_bug.cgi?id=99342 |
| |
| Reviewed by Dirk Schulze. |
| |
| Provide expclit coverage of the simple "empty" shape-inside shapes. |
| Shapes will be considered "empty" in the sense that ExclusionShape::getIncludedIntervals() |
| and ExclusionShape::getExcludedIntervals() will always return empty lists of intervals. |
| This patch covers rectangles of zero width or height, circles with 0 radius, ellipses |
| with 0 radiusX or radiusY, polygons with less than 3 vertices. |
| |
| Test: fast/exclusions/shape-inside/shape-inside-empty.html |
| |
| * rendering/ExclusionPolygon.cpp: |
| (WebCore::ExclusionPolygon::ExclusionPolygon): Initialize the m_empty flag. |
| (WebCore::ExclusionPolygon::getExcludedIntervals): Added short-circuit return when the polygon is empty. |
| (WebCore::ExclusionPolygon::getIncludedIntervals): Added short-circuit return when the polygon is empty. |
| * rendering/ExclusionPolygon.h: Added the isEmpty() method. |
| * rendering/ExclusionRectangle.cpp: |
| (WebCore::ExclusionRectangle::getExcludedIntervals): Added short-circuit return when the rectangle is empty. |
| (WebCore::ExclusionRectangle::getIncludedIntervals): Added short-circuit return when the rectangle is empty. |
| * rendering/ExclusionRectangle.h: Added the isEmpty() method. |
| * rendering/ExclusionShape.h: Added a virtual isEmpty() ExclusionShape method. |
| (ExclusionShape): |
| |
| 2012-10-18 Takashi Sakamoto <tasak@google.com> |
| |
| REGRESSION(r131464): Null-pointer crash in StyleResolver::styleForElement |
| https://bugs.webkit.org/show_bug.cgi?id=99587 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Since contents in datalist are not shown, summary in datalist is not |
| shown either. So the summary has no render style. On the other hand, |
| the summary is implemented by shadow DOM and it has some insertion |
| point. Its child, e.g. title in the below test, is distributed. |
| To solve the child's user-modify, looking at shadow host(=summary)'s |
| style causes null-pointer crash. |
| |
| Test: fast/dom/shadow/user-modify-in-datalist-crash.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::styleForElement): |
| Added a code to check whether the shadow host has any style or not. |
| |
| 2012-10-17 Philippe Normand <pnormand@igalia.com> |
| |
| [GTK] AudioBusGtk sometimes fails to load the HRTF database |
| https://bugs.webkit.org/show_bug.cgi?id=99601 |
| |
| Reviewed by Martin Robinson. |
| |
| AudioBusGtk now first lookup for the uninstalled resource files, |
| if the AUDIO_RESOURCES_PATH environment variable is |
| set. Additionally the audio file reader is now better dealing with |
| errors, returning an empty AudioBus in such cases and issuing |
| warnings on the console output. The cleanup of some member |
| variables was also moved to the destructor. |
| |
| * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: |
| (AudioFileReader): |
| (WebCore::AudioFileReader::AudioFileReader): |
| (WebCore::AudioFileReader::~AudioFileReader): Clear and free |
| member variables. This was done in createBus before. |
| (WebCore::AudioFileReader::handleMessage): Issue warnings in case |
| of error and exit from the main loop so the pipeline is not |
| forever stuck. |
| (WebCore::AudioFileReader::createBus): Return an empty bus in case |
| of error. |
| * platform/audio/gtk/AudioBusGtk.cpp: |
| (WebCore::AudioBus::loadPlatformResource): Load uninstalled |
| resources first if AUDIO_RESOURCES_PATH is set. |
| |
| 2012-10-18 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: provisional change for merging "doced" state into the "dock side" enum. |
| https://bugs.webkit.org/show_bug.cgi?id=99718 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Adds stub method that could be executed from the embedder. |
| |
| * inspector/front-end/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setDockSide): |
| |
| 2012-10-18 Kent Tamura <tkent@chromium.org> |
| |
| Add Localizer::monthFormat and implementations |
| https://bugs.webkit.org/show_bug.cgi?id=99704 |
| |
| Reviewed by Kentaro Hara. |
| |
| Localizer::monthFormat will be used for constructing input[type=month] UI. |
| |
| Tests: Add unit tests to Source/WebKit/chromium/tests/. |
| |
| * platform/text/Localizer.h: |
| (Localizer): Declare pure virtual monthFormat function. |
| |
| * platform/text/LocaleNone.cpp: |
| (LocaleNone): Declare monthFormat. |
| (WebCore::LocaleNone::monthFormat): |
| Added. Always reutrns an ISO-8601 format, "yyyy-MM" |
| |
| * platform/text/LocaleICU.h: |
| (LocaleICU): Declare monthFormat. |
| * platform/text/LocaleICU.cpp: |
| (WebCore::getFormatForSkeleton): |
| A helper to get a format for the specified skeleton. |
| The overflow-allocalte-try-again pattern is similar to |
| LocaleICU::decimalSymbol and LocaleICU::decimalTextAttribute. |
| (WebCore::LocaleICU::monthFormat): |
| Added. Calls getFormatForSkeleton with "yyyyMMM". |
| |
| * platform/text/mac/LocaleMac.h: |
| (LocaleMac): Declare monthFormat. |
| * platform/text/mac/LocaleMac.mm: |
| (WebCore::LocaleMac::monthFormat): |
| Added. Calls NSDateFormatter::dateFormatFromTemplate with "yyyyMMM". |
| |
| * platform/text/LocaleWin.h: |
| (LocaleWin): Declare monthFormat. |
| * platform/text/LocaleWin.cpp: |
| (WebCore::LocaleWin::monthFormat): |
| Get a format by LOCALE_SYEARMONTH, and convert it to an LDML format. |
| |
| 2012-10-18 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: add X-WebKit-CSP header into inspector.html |
| https://bugs.webkit.org/show_bug.cgi?id=99710 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| A simple sanity measure. |
| |
| * inspector/front-end/inspector.html: |
| |
| 2012-10-18 Huang Dongsung <luxtella@company100.net> |
| |
| [WK2] Add CustomFilterOperation serialization in ArgumentCoder. |
| https://bugs.webkit.org/show_bug.cgi?id=98733 |
| |
| Reviewed by Noam Rosenthal. |
| |
| Change CustomFilterOperation::parameters() to const function, because |
| this method is a getter and a const instance needs to call this method. |
| |
| No new tests because there is no change in behavior. |
| |
| * platform/graphics/filters/CustomFilterOperation.h: |
| (WebCore::CustomFilterOperation::parameters): |
| |
| 2012-10-18 Hayato Ito <hayato@chromium.org> |
| |
| treeScopeOfParent doesn't return the TreeScope of the parent |
| https://bugs.webkit.org/show_bug.cgi?id=98207 |
| |
| Reviewed by Hajime Morita. |
| |
| A minor clean up. Remove treeScopeOfParent() in Element.cpp. |
| |
| No tests needed, this is just a clean up. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::removedFrom): |
| |
| 2012-10-18 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [Styles] Forcibly invoke property names suggestion box for empty prefix |
| https://bugs.webkit.org/show_bug.cgi?id=99711 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Suggestions should be returned unconditionally for CSS property names, regardless of the prefix. |
| |
| * inspector/front-end/CSSCompletions.js: |
| (WebInspector.CSSCompletions): |
| (WebInspector.CSSCompletions.requestCSSNameCompletions): |
| (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix): |
| * inspector/front-end/CSSKeywordCompletions.js: |
| (WebInspector.CSSKeywordCompletions.forProperty): |
| |
| 2012-10-18 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> |
| |
| Unreviewed, do not make UseV8.cmake executable. |
| |
| * UseV8.cmake: Removed property svn:executable. |
| |
| 2012-10-18 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: Add better RTCPeerConnectionHandler creation logic |
| https://bugs.webkit.org/show_bug.cgi?id=99308 |
| |
| Reviewed by Adam Barth. |
| |
| This patch makes sure that if the RTCPeerConnectionHandler can't be fully initialized/created |
| the RTCPeerConnection constructor throws an exception. |
| |
| Not full testable, existing tests cover the normal case though. |
| |
| * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: |
| (WebCore::RTCPeerConnectionHandler::create): |
| (WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium): |
| (WebCore::RTCPeerConnectionHandlerChromium::createWebHandler): |
| (WebCore::RTCPeerConnectionHandlerChromium::initialize): |
| (WebCore::RTCPeerConnectionHandlerChromium::createOffer): |
| (WebCore::RTCPeerConnectionHandlerChromium::createAnswer): |
| (WebCore::RTCPeerConnectionHandlerChromium::setLocalDescription): |
| (WebCore::RTCPeerConnectionHandlerChromium::setRemoteDescription): |
| (WebCore::RTCPeerConnectionHandlerChromium::updateIce): |
| (WebCore::RTCPeerConnectionHandlerChromium::addIceCandidate): |
| (WebCore::RTCPeerConnectionHandlerChromium::localDescription): |
| (WebCore::RTCPeerConnectionHandlerChromium::remoteDescription): |
| (WebCore::RTCPeerConnectionHandlerChromium::addStream): |
| (WebCore::RTCPeerConnectionHandlerChromium::removeStream): |
| (WebCore::RTCPeerConnectionHandlerChromium::getStats): |
| (WebCore::RTCPeerConnectionHandlerChromium::openDataChannel): |
| (WebCore::RTCPeerConnectionHandlerChromium::sendStringData): |
| (WebCore::RTCPeerConnectionHandlerChromium::sendRawData): |
| (WebCore::RTCPeerConnectionHandlerChromium::closeDataChannel): |
| (WebCore::RTCPeerConnectionHandlerChromium::stop): |
| * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: |
| (RTCPeerConnectionHandlerChromium): |
| |
| 2012-10-19 Zeno Albisser <zeno@webkit.org> |
| |
| Temporarily disable use of QCocoaNativeInterface in GraphicsSurfaceMac. |
| https://bugs.webkit.org/show_bug.cgi?id=99320 |
| |
| The current version of Qt5 deployed on the buildbots does not yet have |
| an implementation for QCocoaNativeInterface::nativeResourceForContext(). |
| Therefore we disable this code path until Qt5/qtbase has been updated to |
| a revision above Change-Id: Id00efc88a73d7df04a68c022f19d9d1c4f6d386b. |
| |
| Once Qt5 has been updated, this patch must be reverted. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: |
| (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate): |
| |
| 2012-10-18 Zeno Albisser <zeno@webkit.org> |
| |
| GraphicsSurface should not modify the current GL context. |
| https://bugs.webkit.org/show_bug.cgi?id=99320 |
| |
| Instead of reusing the currently bound GL context for drawing |
| the texture onto the GraphicsSurface, GraphicsSurface should |
| create a new context that shares the texture names with a context |
| provided by the caller. |
| This way the OpenGL states are clearly separated and we do not |
| risk interfeering with the currently bound GL context. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): |
| When creating a GraphicsSurface pass the platform GL context |
| as a parameter, so it can be used for sharing textures with. |
| (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface): |
| Pass the texture instead of the FBO. A Texture can be drawn |
| directly or bound to another FBO, where a framebuffer |
| always needs to be blit onto the surface. |
| (WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces): |
| Pass the platform GL context as a parameter. |
| * platform/graphics/surfaces/GraphicsSurface.cpp: |
| (WebCore::GraphicsSurface::create): |
| (WebCore::GraphicsSurface::copyFromTexture): |
| * platform/graphics/surfaces/GraphicsSurface.h: |
| (GraphicsSurface): |
| * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: |
| (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate): |
| Create a new GL context that shares the textures with the |
| context provided by the caller. |
| (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate): |
| (WebCore::GraphicsSurfacePrivate::makeCurrent): |
| Add a convenience function to make the context that |
| belongs to the surface current. |
| (GraphicsSurfacePrivate): |
| (WebCore::GraphicsSurfacePrivate::doneCurrent): |
| Add a convenience function to make the previously |
| bound context current again. |
| (WebCore::GraphicsSurfacePrivate::copyFromTexture): |
| Move blitting of the texture onto the surface |
| into a separate function within GraphicsSurfacePrivate. |
| (WebCore::GraphicsSurface::platformCopyFromTexture): |
| Rename function platformCopyFromFramebuffer to |
| platformCopyFromTexture, as we are now passing the texture only. |
| (WebCore::GraphicsSurface::platformCreate): |
| * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp: |
| (WebCore): |
| (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate): |
| (WebCore::GraphicsSurfacePrivate::makeCurrent): |
| Add a convenience function to make the context that |
| belongs to the surface current. |
| (GraphicsSurfacePrivate): |
| (WebCore::GraphicsSurfacePrivate::doneCurrent): |
| Add a convenience function to make the previously |
| (WebCore::GraphicsSurfacePrivate::copyFromTexture): |
| Move blitting of the texture onto the surface |
| into a separate function within GraphicsSurfacePrivate. |
| (WebCore::resolveGLMethods): |
| Resolve additional GL methods necessary for this change. |
| (WebCore::GraphicsSurface::platformCopyFromTexture): |
| Rename function platformCopyFromFramebuffer to |
| platformCopyFromTexture, as we are now passing the texture only. |
| (WebCore::GraphicsSurface::platformCreate): |
| |
| 2012-10-18 Kent Tamura <tkent@chromium.org> |
| |
| Set min-width property instead of width property for date/time fields |
| https://bugs.webkit.org/show_bug.cgi?id=99673 |
| |
| Reviewed by Hajime Morita. |
| |
| A field can have a text wider than pre-computed width because of |
| :first-letter property. So, we should set min-width, not width. |
| |
| Tests: Covered by fast/forms/*-multiple-fields/*-multipe-fields-appearance-style.html |
| |
| * html/shadow/DateTimeNumericFieldElement.cpp: |
| (WebCore::DateTimeNumericFieldElement::customStyleForRenderer): |
| Set min-width instead of width. |
| * html/shadow/DateTimeSymbolicFieldElement.cpp: |
| (WebCore::DateTimeSymbolicFieldElement::customStyleForRenderer): Ditto. |
| |
| 2012-10-18 MORITA Hajime <morrita@google.com> |
| |
| Assertion failure at TreeScopeAdopter::moveNodeToNewDocument() |
| https://bugs.webkit.org/show_bug.cgi?id=99510 |
| |
| Reviewed by Kent Tamura. |
| |
| Shadow DOM notification call didn't have checks for mutation detection. |
| This change adds such checks. |
| |
| Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing-with-style.html |
| |
| * dom/ContainerNodeAlgorithms.cpp: |
| (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument): |
| (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument): |
| |
| 2012-10-17 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed. Rebaselined run-bindings-tests. |
| |
| * bindings/scripts/test/V8/V8Float64Array.h: |
| (V8Float64Array): |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
| (V8TestActiveDOMObject): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
| (V8TestCustomNamedGetter): |
| * bindings/scripts/test/V8/V8TestEventConstructor.h: |
| (V8TestEventConstructor): |
| * bindings/scripts/test/V8/V8TestEventTarget.h: |
| (V8TestEventTarget): |
| * bindings/scripts/test/V8/V8TestException.h: |
| (V8TestException): |
| * bindings/scripts/test/V8/V8TestInterface.h: |
| (V8TestInterface): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
| (V8TestMediaQueryListListener): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
| (V8TestNamedConstructor): |
| * bindings/scripts/test/V8/V8TestNode.h: |
| (V8TestNode): |
| * bindings/scripts/test/V8/V8TestObj.h: |
| (V8TestObj): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
| (V8TestSerializedScriptValueInterface): |
| |
| 2012-10-17 Mike West <mkwst@chromium.org> |
| |
| Move mixed content logic out of FrameLoader |
| https://bugs.webkit.org/show_bug.cgi?id=45638 |
| |
| Reviewed by Eric Seidel. |
| |
| This change moves checks for mixed content out of FrameLoader, and into |
| a new MixedContentChecker object. It's a pretty straightforward |
| refactoring with no change to the overall logic, and only minor changes |
| to the code to reduce repetition. |
| |
| The only substantive change is renaming the methods from 'checkIf*' to |
| 'can*' to reflect the value of the boolean they return. |
| |
| The visible functionality shouldn't change; this change should be |
| covered by existing tests in http/tests/security/mixedContent. |
| |
| This patch is mostly a revitalization of Eric Sidel's original |
| patch: https://bugs.webkit.org/attachment.cgi?id=67432&action=prettypatch |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| Hey, look! A new file! |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::FrameLoader): |
| * loader/FrameLoader.h: |
| (WebCore::FrameLoader::mixedContentChecker): |
| (FrameLoader): |
| * loader/MixedContentChecker.cpp: Added. |
| (WebCore): |
| (WebCore::MixedContentChecker::MixedContentChecker): |
| (WebCore::MixedContentChecker::client): |
| (WebCore::asUTF8): |
| (WebCore::MixedContentChecker::isMixedContent): |
| (WebCore::MixedContentChecker::canDisplayInsecureContent): |
| (WebCore::MixedContentChecker::canRunInsecureContent): |
| (WebCore::MixedContentChecker::logWarning): |
| * loader/MixedContentChecker.h: Added. |
| (WebCore): |
| (MixedContentChecker): |
| Migrate functionality from FrameLoader::checkIf* to |
| MixedContentChecker::can*. |
| * loader/MainResourceLoader.cpp: |
| (WebCore::MainResourceLoader::willSendRequest): |
| * loader/SubframeLoader.cpp: |
| (WebCore::SubframeLoader::pluginIsLoadable): |
| (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::checkInsecureContent): |
| Use the new method locations. |
| |
| 2012-10-17 Dan Bernstein <mitz@apple.com> |
| |
| REGRESSION (r95391): ComplexTextController is unnecessarily slow with characters with combining marks when the base character is not covered by any font |
| https://bugs.webkit.org/show_bug.cgi?id=99654 |
| |
| Reviewed by Adele Peterson. |
| |
| When the base character of a combining character sequence is not covered by any one of the |
| available fonts, there is no point looking for a font that covers the entire sequence, nor |
| to try to use a combination of fallback fonts for the entire sequence. |
| |
| * platform/graphics/SimpleFontData.h: |
| (WebCore::SimpleFontData::systemFallback): Moved ComplexTextController::systemFallbackFontData |
| here and renamed it. |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::ComplexTextController::collectComplexTextRuns): This function used to use |
| systemFallbackFontData() whenever Font::fontDataForCombiningCharacterSequence returned 0 |
| for a base character with combining marks, regardless of whether the base character was |
| covered by any font. Changed it to preserve the return value of |
| fontDataForCombiningCharacterSequence, which is now 0 only if the base charcater is not in |
| any font, while systemFallbackFontData() is used to indicate that no single font in the |
| fallback list covers all characters in the sequence, but the base character is in some font. |
| * platform/graphics/mac/ComplexTextController.h: |
| (ComplexTextController): Moved systemFallbackFontData from here to SimpleFontData. |
| * platform/graphics/mac/ComplexTextControllerCoreText.mm: |
| (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for the above |
| move. |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore::Font::fontDataForCombiningCharacterSequence): Changed to return |
| systemFallbackFontData() if no single font in the fallback list covers all characters in the |
| sequence, while using 0 to signal the base character does not exist in any font. |
| |
| 2012-10-17 Dan Bernstein <mitz@apple.com> |
| |
| Try to fix the build after r131701. |
| |
| * WebCore.exp.in: |
| |
| 2012-10-17 Hayato Ito <hayato@chromium.org> |
| |
| Content element does not expose distributedNodes property. |
| https://bugs.webkit.org/show_bug.cgi?id=99232 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Add getDistributedNodes() to HTMLContentElement's IDL, which returns a |
| static NodeList whose node are distributed to the content element. |
| |
| Test: fast/dom/shadow/content-element-distributed-nodes.html |
| |
| * html/shadow/HTMLContentElement.idl: |
| * html/shadow/InsertionPoint.cpp: |
| (WebCore::InsertionPoint::getDistributedNodes): |
| * html/shadow/InsertionPoint.h: |
| (InsertionPoint): |
| * testing/Internals.cpp: |
| * testing/Internals.h: |
| (Internals): |
| * testing/Internals.idl: |
| |
| 2012-10-17 Pan Deng <pan.deng@intel.com> |
| |
| [User Timing] implement main interface in of User Timing, according to http://www.w3.org/TR/2012/CR-user-timing-20120726/ |
| https://bugs.webkit.org/show_bug.cgi?id=90963 |
| |
| Reviewed by Tony Gentilcore. |
| |
| This patch implemented mark(), measure(), clearMarks() and clearMeasures() interface of User Timing. Getters are not exposed by Performance Timeline yet, it will be future patch. |
| |
| Tests: http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMarks.html |
| http/tests/w3c/webperf/submission/user-timing/test_user_timing_clearMeasures.html |
| http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark.html |
| http/tests/w3c/webperf/submission/user-timing/test_user_timing_mark_exception.html |
| http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure.html |
| http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_associate_with_navigation_timing.html |
| http/tests/w3c/webperf/submission/user-timing/test_user_timing_measure_exception.html |
| http/tests/w3c/webperf/submission/user-timing/test_user_timing_method_exist.html |
| |
| * GNUmakefile.list.am: |
| * WebCore.gypi: |
| * page/Performance.cpp: |
| (WebCore::Performance::webkitGetEntries): |
| (WebCore::Performance::webkitGetEntriesByType): |
| (WebCore::Performance::webkitGetEntriesByName): |
| (WebCore): |
| (WebCore::Performance::webkitMark): |
| (WebCore::Performance::webkitClearMarks): |
| (WebCore::Performance::webkitMeasure): |
| (WebCore::Performance::webkitClearMeasures): |
| * page/Performance.h: |
| (WebCore): |
| (Performance): |
| * page/Performance.idl: |
| * page/PerformanceMark.h: Added. |
| (WebCore): |
| (PerformanceMark): |
| (WebCore::PerformanceMark::create): |
| (WebCore::PerformanceMark::PerformanceMark): |
| (WebCore::PerformanceMark::~PerformanceMark): |
| * page/PerformanceMark.idl: Added. |
| * page/PerformanceMeasure.h: Added. |
| (WebCore): |
| (PerformanceMeasure): |
| (WebCore::PerformanceMeasure::create): |
| (WebCore::PerformanceMeasure::PerformanceMeasure): |
| (WebCore::PerformanceMeasure::~PerformanceMeasure): |
| * page/PerformanceMeasure.idl: Added. |
| * page/PerformanceUserTiming.cpp: Added. |
| (WebCore): |
| (WebCore::UserTiming::UserTiming): |
| (WebCore::insertPerformanceEntry): |
| (WebCore::clearPeformanceEntries): |
| (WebCore::UserTiming::mark): |
| (WebCore::UserTiming::clearMarks): |
| (WebCore::UserTiming::findExistingMarkStartTime): |
| (WebCore::UserTiming::measure): |
| (WebCore::UserTiming::clearMeasures): |
| * page/PerformanceUserTiming.h: Added. |
| (WebCore): |
| (UserTiming): |
| (WebCore::UserTiming::create): |
| |
| 2012-10-17 James Robinson <jamesr@chromium.org> |
| |
| Unreviewed clang compile fix - GraphicsLayerUpdater needs a virtual destructor. |
| |
| * platform/graphics/GraphicsLayerUpdater.h: |
| (GraphicsLayerUpdater): |
| |
| 2012-10-17 Ryuan Choi <ryuan.choi@samsung.com> |
| |
| Attempt to fix the build after r131680. |
| |
| Unreviewed build fix. |
| |
| * dom/Document.cpp: Guard ACCELERATED_COMPOSITING for RenderLayerCompositor.h |
| |
| 2012-10-17 Elliott Sprehn <esprehn@chromium.org> |
| |
| StyleRareNonInheritedData::contentDataEquivalent only looks at the first ContentData |
| https://bugs.webkit.org/show_bug.cgi?id=99560 |
| |
| Reviewed by Eric Seidel. |
| |
| Previously we only compared the first ContentData in the linked |
| list of ContentData's which meant that if the resolved style |
| for content had the same prefix we wouldn't update the content. |
| |
| This patch adds a loop to compare each of the ContentData objects |
| in the linked list. |
| |
| Test: fast/css-generated-content/content-property-change.html |
| |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::contentDataEquivalent): |
| |
| 2012-10-17 Elliott Sprehn <esprehn@chromium.org> |
| |
| Remove StyleContentType since it's not used anymore |
| https://bugs.webkit.org/show_bug.cgi?id=99659 |
| |
| Reviewed by Eric Seidel. |
| |
| Remove StyleContentType enum since it's not used anymore and |
| make the is*() type checking methods on ContentData public. |
| |
| No new tests needed, this is just deleting dead code. |
| |
| * rendering/style/ContentData.h: |
| (ContentData): |
| * rendering/style/RenderStyleConstants.h: |
| |
| 2012-10-17 Simon Fraser <simon.fraser@apple.com> |
| |
| Create a GraphicsLayerUpdater class that will do periodic layer flushes for layer trees containing tile caches |
| https://bugs.webkit.org/show_bug.cgi?id=99518 |
| |
| Reviewed by Dean Jackson. |
| |
| When using tile caches in place of tiled layers, we need to recompute their |
| visible area periodically while animations and scrolling are happening. |
| Make a new class, GraphicsLayerUpdater, to handle this updating. |
| Internally, it uses DisplayRefreshMonitor to generate the periodic updates. |
| |
| GraphicsLayer clients are notified that layers need periodic updates. Clients |
| are free to make use of GraphicsLayerUpdater to handle this updating, as |
| RenderLayerCompositor does. |
| |
| Also do some minor refactoring of methods in RenderLayerCompositor that |
| get to Page. |
| |
| * CMakeLists.txt: Add GraphicsLayerUpdater.cpp to the build. |
| * GNUmakefile.list.am: Ditto. |
| * PlatformBlackBerry.cmake: Ditto. |
| * Target.pri: Ditto. |
| * WebCore.gypi: Ditto. |
| * WebCore.vcproj/WebCore.vcproj: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| * dom/Document.cpp: |
| (WebCore::Document::windowScreenDidChange): Tell the compositor that the screen |
| changed, so it can tell the GraphicsLayerUpdater if it has one. |
| * platform/graphics/GraphicsLayerClient.h: |
| (WebCore::GraphicsLayerClient::notifyFlushBeforeDisplayRefresh): Method called |
| for layers that need periodic updates, like tile cache layers. |
| * platform/graphics/GraphicsLayerUpdater.cpp: Added. Uses DisplayRefreshMonitorManager |
| to flush layers before the next refresh. |
| (WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater): |
| (WebCore::GraphicsLayerUpdater::~GraphicsLayerUpdater): |
| (WebCore::GraphicsLayerUpdater::scheduleUpdate): |
| (WebCore::GraphicsLayerUpdater::screenDidChange): |
| (WebCore::GraphicsLayerUpdater::displayRefreshFired): |
| * platform/graphics/GraphicsLayerUpdater.h: Added. |
| (GraphicsLayerUpdaterClient): Clients need to implement flushLayers(). |
| (WebCore::GraphicsLayerUpdaterClient::~GraphicsLayerUpdaterClient): |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::recursiveCommitChanges): For tile cache layers, |
| tell the client that this layer should be updated soon to update the visible rect. |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::notifyFlushBeforeDisplayRefresh): Pass this message |
| on to the compositor. |
| * rendering/RenderLayerBacking.h: |
| (RenderLayerBacking): Implement notifyFlushBeforeDisplayRefresh. |
| Add OVERRIDE to all the client overrides. |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags): Use helper to get to Page. |
| (WebCore::RenderLayerCompositor::scheduleLayerFlush): Ditto. |
| (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Soon we're going to be asking |
| about the current state of animations inside the flush (for visible rect computation), so we |
| need a AnimationUpdateBlock to make sure all the animation times are in sync. |
| (WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh): Make a GraphicsLayerUpdater |
| if necessary, and tell it to update soon. |
| (WebCore::RenderLayerCompositor::flushLayers): The GraphicsLayerUpdater client method. |
| Just does a flush. For now, considers this Frame as the flush root, which will need fixing for iframes. |
| (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): Use helper to get to Page. |
| (WebCore::RenderLayerCompositor::deviceScaleFactor): Ditto. |
| (WebCore::RenderLayerCompositor::pageScaleFactor): Ditto. |
| (WebCore::RenderLayerCompositor::destroyRootLayer): Ditto. |
| (WebCore::RenderLayerCompositor::windowScreenDidChange): Tell the updater if we have one. |
| (WebCore::RenderLayerCompositor::scrollingCoordinator): Use helper to get to Page. |
| (WebCore::RenderLayerCompositor::graphicsLayerFactory): Use helper to get to Page. |
| (WebCore::RenderLayerCompositor::page): The helper. |
| * rendering/RenderLayerCompositor.h: |
| (RenderLayerCompositor): Add OVERRIDE to all the client overrides. |
| |
| 2012-10-17 Eric Seidel <eric@webkit.org> |
| |
| Make dom-query.html slightly faster by removing unnecessary ref-churn in StringTraits |
| https://bugs.webkit.org/show_bug.cgi?id=99652 |
| |
| Reviewed by Adam Barth. |
| |
| My testing showed this moved dom-query.html from 465560 runs/s to 479019 |
| which is about 2% if I'm doing my math correctly. |
| |
| I suspect that's due to avoiding the ref-churn we were incurring by using |
| return-by-value symantics here. |
| |
| This is just the tip of the iceburg. :) |
| |
| * bindings/v8/V8StringResource.cpp: |
| (StringTraits): |
| * bindings/v8/V8ValueCache.h: |
| (WebCore::WebCoreStringResource::webcoreString): |
| (WebCore::WebCoreStringResource::atomicString): |
| |
| 2012-10-17 Luke Macpherson <macpherson@chromium.org> |
| |
| Move handling of CSSPropertyWebkitLineClamp from StyleResolver into StyleBuilder. |
| https://bugs.webkit.org/show_bug.cgi?id=99534 |
| |
| Reviewed by Alexis Menard. |
| |
| One small step towards removing the giant switch statement in StyleResolver, this patch moves line clamp handling into StyleBuilder. |
| |
| Covered by fast/overflow/line-clamp.html |
| |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2012-10-17 Andy Estes <aestes@apple.com> |
| |
| [WebKit2] Add removeChild: to WKDOMNode and make WKDOMText.data read/write |
| https://bugs.webkit.org/show_bug.cgi?id=99662 |
| |
| Reviewed by Sam Weinig. |
| |
| Export needed symbols. |
| |
| * WebCore.exp.in: |
| |
| 2012-10-17 Adam Barth <abarth@webkit.org> |
| |
| [V8] Don't generate code that declares visitDOMWrapper if we're not going to generate the implementation |
| https://bugs.webkit.org/show_bug.cgi?id=99653 |
| |
| Reviewed by Eric Seidel. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| |
| 2012-10-17 David Grogan <dgrogan@chromium.org> |
| |
| IndexedDB: Destroy leveldb directory if unknown schema is detected |
| https://bugs.webkit.org/show_bug.cgi?id=99636 |
| |
| Reviewed by Tony Chang. |
| |
| chromium browser test in progress at |
| https://codereview.chromium.org/11196029 |
| |
| * Modules/indexeddb/IDBLevelDBBackingStore.cpp: |
| (WebCore): |
| (WebCore::isSchemaKnown): |
| Return true when the schema key doesn't exist because new databases |
| won't have one. |
| |
| (WebCore::setUpMetadata): |
| (WebCore::IDBLevelDBBackingStore::open): |
| Piggy-back on existing leveldb::destroy code. |
| |
| 2012-10-17 Arpita Bahuguna <arpitabahuguna@gmail.com> |
| |
| Incorrect rendering of borders on <col> with span > 1 |
| https://bugs.webkit.org/show_bug.cgi?id=76246 |
| |
| Reviewed by Julien Chaffraix. |
| |
| The HTML5 rendering specification [10.2.2 - Display Types] states that |
| "For the purposes of the CSS table model, the col element is expected to |
| be treated as if it was present as many times as its span attribute |
| specifies." |
| We should thus apply a col element's border as if the element is present |
| as many number of times as its span attribute. |
| |
| Apart from this, we should also treat the col and its enclosing colgroup |
| separately while computing the collapsed borders. |
| |
| Test: fast/table/border-collapsing/collapsed-border-with-col-colgroup-span.html |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::computeCollapsedStartBorder): |
| (WebCore::RenderTableCell::computeCollapsedEndBorder): |
| Borders from col and its enclosing colgroup element should be handled |
| separately, while considering the preceeding col's end border (for start |
| border computation) and the next col's start border (for end border |
| computation). |
| |
| Also, have made changes for handling of col elements with span attribute as |
| per the specification. We now apply the border (start or end) of the col |
| element irrespective of whether it has any span specified for it or not. |
| |
| 2012-10-17 Tom Sepez <tsepez@chromium.org> |
| |
| Crash in ContainerNode::removeAllChildren() |
| https://bugs.webkit.org/show_bug.cgi?id=98443 |
| |
| Reviewed by Eric Carlson. |
| |
| This patch makes the errorEventSender added in WebKit Revision 112190 interact |
| with the updatedHasPendingLoadEvent() mechanism in the same manner as the other |
| existing event senders. |
| |
| Test: http/tests/security/video-poster-cross-origin-crash2.html |
| |
| * loader/ImageLoader.cpp: |
| (WebCore::ImageLoader::setImage): |
| (WebCore::ImageLoader::updateFromElement): |
| (WebCore::ImageLoader::notifyFinished): |
| (WebCore::ImageLoader::updatedHasPendingEvent): |
| (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): |
| (WebCore::ImageLoader::dispatchPendingLoadEvent): |
| * loader/ImageLoader.h: |
| (ImageLoader): |
| |
| 2012-10-17 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Closing connection in upgradeneeded should result in error event |
| https://bugs.webkit.org/show_bug.cgi?id=99486 |
| |
| Reviewed by Tony Chang. |
| |
| The IDB spec requires that "...if connection is closed, return a DOMError of type AbortError". |
| This was being handled during the "enqueue" phase, which was too early either for synchronously |
| executing scripts or asynchronous messaging in multiprocess ports (crbug.com/150691). Move the |
| logic to the "dispatch" phase. |
| |
| Test: storage/indexeddb/intversion-close-in-oncomplete.html |
| |
| * Modules/indexeddb/IDBOpenDBRequest.cpp: |
| (WebCore::IDBOpenDBRequest::onSuccess): Move success to error morphing from here... |
| (WebCore::IDBOpenDBRequest::dispatchEvent): To here. |
| * Modules/indexeddb/IDBOpenDBRequest.h: |
| (IDBOpenDBRequest): |
| |
| 2012-10-17 Elliott Sprehn <esprehn@chromium.org> |
| |
| Use virtual dispatch to create ContentData renderers |
| https://bugs.webkit.org/show_bug.cgi?id=99646 |
| |
| Reviewed by Eric Seidel. |
| |
| ContentData are conceptually very similar to Nodes and we can use |
| the same createRenderer pattern on them to simplify creating |
| renderers for generated content. Now each ContentData class knows |
| how to create its own renderer. |
| |
| Previously we switched over the StyleContentType which required a |
| case for CONTENT_NONE and made the code look like it could return |
| null, but this case is actually impossible because no ContentData |
| class ever has a type of CONTENT_NONE and no null checks are really |
| needed. |
| |
| This is the final step in removing dependence on StyleContentType. |
| |
| No new tests needed, this is just a refactor. |
| |
| * rendering/RenderObjectChildList.cpp: Remove createRendererForBeforeAfterContent. |
| (WebCore::RenderObjectChildList::updateBeforeAfterContent): |
| * rendering/style/ContentData.cpp: |
| (WebCore::ImageContentData::createRenderer): |
| (WebCore): |
| (WebCore::TextContentData::createRenderer): |
| (WebCore::CounterContentData::createRenderer): |
| (WebCore::QuoteContentData::createRenderer): |
| * rendering/style/ContentData.h: Added a new virtual method createRenderer. |
| (WebCore): |
| (ContentData): |
| (ImageContentData): |
| (TextContentData): |
| (CounterContentData): |
| (QuoteContentData): |
| |
| 2012-10-17 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| RenderLayer subtrees without any self-painting layer shouldn't be walked during hit testing |
| https://bugs.webkit.org/show_bug.cgi?id=89393 |
| |
| Reviewed by Eric Seidel. |
| |
| Performance optimization, covered by existing tests. |
| |
| Bug 88888 added an peformance optimization for painting. As hit testing is very similar to |
| painting, it would benefit from the same optimization. |
| |
| On http://dglazkov.github.com/performance-tests/biggrid.html, with a 10,000 * 100 tables, |
| it reduces the time to select some text inside a cell from 1-2 seconds to a usable time |
| (I didn't measure the exact timing). |
| |
| Note that as in bug 88888, the multi-column code is not covered by this optimization. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::hitTest): |
| This is the entrance to the hit testing code so we check if we can bail out early. |
| |
| (WebCore::RenderLayer::hitTestList): |
| If we have no self-painting descendant layers, we can bail out. |
| |
| (WebCore::RenderLayer::hitTestContents): |
| (WebCore::RenderLayer::hitTestLayer): |
| hitTest should filter the layers that call these functions. Added some ASSERT to |
| make sure we don't mistakenly call them when could avoid it. |
| |
| 2012-10-17 Allan Sandfeld Jensen <allan.jensen@digia.com> |
| |
| [Qt] Certain SVG content freezes QtWebKit |
| https://bugs.webkit.org/show_bug.cgi?id=97258 |
| |
| Reviewed by Simon Hausmann. |
| |
| Ensure dashpattern is well-formed by avoiding divisions by zero. |
| |
| Test: svg/stroke/zero-width-hang.html |
| |
| * platform/graphics/qt/GraphicsContextQt.cpp: |
| (WebCore::GraphicsContext::setLineDash): |
| |
| 2012-10-17 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: Explicitly send null/undefined/integers to frontend IDBCallbacks |
| https://bugs.webkit.org/show_bug.cgi?id=99619 |
| |
| Reviewed by Adam Barth. |
| |
| Rather than pass SerializedScriptValue tokens from the backend, |
| send explicit null, (as onSuccess(static_cast<SerializedScriptValue*>(0))) |
| undefined, (as onSucess()), and integers (as onSuccess(long long)) |
| |
| This reduces backend dependency on things that might require a JS |
| interpreter on the backend. |
| |
| No new tests, this is a refactor and existing tests cover |
| correctness. Tests that might fail include: |
| |
| Test: storage/indexeddb/index-count.html |
| Test: storage/indexeddb/objectstore-count.html |
| Test: storage/indexeddb/database-basics.html |
| |
| * Modules/indexeddb/IDBCallbacks.h: |
| (IDBCallbacks): |
| * Modules/indexeddb/IDBCursorBackendImpl.cpp: |
| (WebCore::IDBCursorBackendImpl::advanceInternal): |
| (WebCore::IDBCursorBackendImpl::continueFunctionInternal): |
| (WebCore::IDBCursorBackendImpl::prefetchContinueInternal): |
| * Modules/indexeddb/IDBCursorBackendImpl.h: |
| (WebCore::IDBCursorBackendImpl::value): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::deleteDatabase): |
| * Modules/indexeddb/IDBIndex.cpp: |
| * Modules/indexeddb/IDBIndexBackendImpl.cpp: |
| (WebCore::IDBIndexBackendImpl::openCursorInternal): |
| (WebCore::IDBIndexBackendImpl::countInternal): |
| (WebCore::IDBIndexBackendImpl::getInternal): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::getInternal): |
| (WebCore::IDBObjectStoreBackendImpl::deleteInternal): |
| (WebCore::IDBObjectStoreBackendImpl::clearInternal): |
| (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): |
| (WebCore::IDBObjectStoreBackendImpl::countInternal): |
| * Modules/indexeddb/IDBRequest.cpp: |
| (WebCore::IDBRequest::onSuccess): |
| (WebCore): |
| * Modules/indexeddb/IDBRequest.h: |
| * Modules/indexeddb/IDBTransaction.cpp: |
| * Modules/indexeddb/IDBTransactionBackendImpl.cpp: |
| * Modules/indexeddb/IDBTransactionBackendImpl.h: |
| * Modules/indexeddb/IDBTransactionBackendInterface.h: |
| * bindings/v8/IDBBindingUtilities.cpp: |
| (WebCore::deserializeIDBValue): |
| * inspector/InspectorIndexedDBAgent.cpp: |
| (WebCore): |
| |
| 2012-10-17 Nate Chapin <japhet@chromium.org> |
| |
| Move ResourceRequest construction out of SubresourceLoader |
| https://bugs.webkit.org/show_bug.cgi?id=99627 |
| |
| Reviewed by Adam Barth. |
| |
| CachedResource::load() fills out a bunch of http headers. |
| SubresourceLoader::create() adds a bunch more. Merge them. |
| Note that this merge requires a bit more care in CachedRawResource::canReuse(), |
| because more headers are set directly on CachedResource::m_resourceRequest, rather |
| than on a copy of it. |
| |
| No new tests, no functionality change intended. |
| |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::create): |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::shouldIgnoreHeaderForCacheReuse): |
| (WebCore): |
| (WebCore::CachedRawResource::canReuse): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::failBeforeStarting): |
| (WebCore): |
| (WebCore::CachedResource::addAdditionalRequestHeaders): |
| (WebCore::CachedResource::load): |
| * loader/cache/CachedResource.h: |
| (CachedResource): |
| |
| 2012-10-17 Anders Carlsson <andersca@apple.com> |
| |
| Clean up Vector.h |
| https://bugs.webkit.org/show_bug.cgi?id=99622 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Fix fallout from removing std::max and std::min using declarations. |
| |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::currentAge): |
| |
| 2012-10-17 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Enforce unsigned long/unsigned long long ranges |
| https://bugs.webkit.org/show_bug.cgi?id=99637 |
| |
| Reviewed by Tony Chang. |
| |
| The IndexedDB spec has [EnforceRange] specified on unsigned long and unsigned long long |
| arguments, which requires the implementation to throw TypeError for negative values or |
| values that exceed 2^53-1 (maximum JS number that behaves like an integer) - and 0 is |
| specifically forbidden by the APIs as well. |
| |
| A more correct fix in the binding layer is in webkit.org/b/96798 but we can temporarily |
| address this in the implementation. |
| |
| Also refactor to prevent IDBFactory.open(name, -1) from triggering an internal code path. |
| |
| Tests: storage/indexeddb/cursor-advance.html |
| storage/indexeddb/intversion-bad-parameters.html |
| storage/indexeddb/intversion-encoding.html |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::advance): Validate argument range. |
| * Modules/indexeddb/IDBCursor.h: |
| (IDBCursor): |
| * Modules/indexeddb/IDBCursor.idl: Drop "unsigned" qualifier as the binding code is |
| not yet doing the correct validation. |
| * Modules/indexeddb/IDBFactory.cpp: Refactor to prevent open(name, -1) |
| (WebCore): |
| (WebCore::IDBFactory::open): Validate the int version here, then pass to... |
| (WebCore::IDBFactory::openInternal): ... this method. |
| * Modules/indexeddb/IDBFactory.h: |
| (IDBFactory): |
| * Modules/indexeddb/IDBFactory.idl: Drop "unsigned" qualifier; meaningless to binding |
| code right now, can be re-added once webkit.org/b/96798 lands. |
| |
| 2012-10-17 Tony Chang <tony@chromium.org> |
| |
| fast/forms/range/input-appearance-range-rtl.html off by one pixel |
| https://bugs.webkit.org/show_bug.cgi?id=99625 |
| |
| Reviewed by Ojan Vafai. |
| |
| Previously, we would assume that a vertical slider in RTL would render identically to |
| a vertical slider in LTR. Due to differing thumb sizes, there is an off by one. |
| |
| This worked in deprecated flexbox because it doesn't adjust for RTL when applying |
| box-align: center. |
| |
| Tests: fast/forms/range/input-appearance-range-rtl.html |
| |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::RenderSliderContainer::layout): Force LTR for flexbox layout when vertical. We have to restore the old value |
| just in case the user switches from vertical to horizontal. |
| |
| 2012-10-17 Michael Saboff <msaboff@apple.com> |
| |
| Creating a String from an NSString should check for all 8 bit strings |
| https://bugs.webkit.org/show_bug.cgi?id=99392 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Use CFStringGetBytes() to try to get Latin1 data to create an 8 bit string. |
| |
| No functional change, change covered by existing tests. |
| |
| * platform/text/mac/StringMac.mm: |
| (WTF::String::String): |
| |
| 2012-10-17 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> |
| |
| [EFL] Remove redundant OpenGL library addition from the build system. |
| https://bugs.webkit.org/show_bug.cgi?id=99629 |
| |
| Reviewed by Rob Buis. |
| |
| * PlatformEfl.cmake: Do not add OPENGL_gl_LIBRARY to |
| WebCore_LIBRARIES, this is already done in CMakeLists.txt these |
| days. |
| |
| 2012-10-17 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> |
| |
| [CMake] Set WebCore_LIBRARIES earlier. |
| https://bugs.webkit.org/show_bug.cgi?id=99630 |
| |
| Reviewed by Rob Buis. |
| |
| * CMakeLists.txt: Follow the style we use in other CMakeList.txt |
| files and set the Foo_LIBRARIES variables before we start checking |
| for optional features, as they might append other libraries to the |
| list (it already happens with WTF_USE_3D_GRAPHICS, for example). |
| |
| 2012-10-17 Philip Rogers <pdr@google.com> |
| |
| Allow lazy initialization of SVG XML animated properties. |
| https://bugs.webkit.org/show_bug.cgi?id=84657 |
| |
| Reviewed by Tim Horton. |
| |
| When animating a property in the shadow tree, instance properties and tearoffs are created |
| but they simply reference the animated element's animating properties. |
| |
| When starting an animation for the first time (see SVGAnimateElement::resetAnimatedType), |
| we initialize the root property and instance properties using startAnimValAnimation(...). |
| If an instance property is added while the root property is animating, this initialization |
| will not occur and we crash. |
| |
| This patch updates the resetAnimValToBaseVal codepath to start (and initialize) an animated |
| property if it is not already animating. After this patch, instance properties can be added |
| in the middle of animation and they will be properly started/initialized. |
| |
| Test: svg/animations/use-while-animating-crash.html |
| |
| * svg/SVGAnimatedTypeAnimator.h: |
| (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue): |
| (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues): |
| (WebCore::SVGAnimatedTypeAnimator::executeAction): |
| |
| 2012-10-17 Dan Carney <dcarney@google.com> |
| |
| Bind isolatedWorldSecurityOrigin to world |
| https://bugs.webkit.org/show_bug.cgi?id=99582 |
| |
| Reviewed by Adam Barth. |
| |
| Security origin of isolated worlds was not previously set at the world |
| level, although it could have been. |
| |
| No new tests. No change in functionality. |
| |
| * bindings/v8/DOMWrapperWorld.cpp: |
| (WebCore::DOMWrapperWorld::deallocate): |
| (WebCore): |
| (WebCore::isolatedWorldSecurityOrigins): |
| (WebCore::DOMWrapperWorld::isolatedWorldSecurityOrigin): |
| (WebCore::DOMWrapperWorld::setIsolatedWorldSecurityOrigin): |
| (WebCore::DOMWrapperWorld::clearIsolatedWorldSecurityOrigin): |
| * bindings/v8/DOMWrapperWorld.h: |
| (DOMWrapperWorld): |
| (WebCore::DOMWrapperWorld::isIsolatedWorldId): |
| (WebCore::DOMWrapperWorld::isIsolatedWorld): |
| * bindings/v8/ScriptController.cpp: |
| (WebCore::ScriptController::resetIsolatedWorlds): |
| (WebCore::ScriptController::evaluateInIsolatedWorld): |
| (WebCore::ScriptController::collectIsolatedContexts): |
| * bindings/v8/ScriptController.h: |
| (ScriptController): |
| (WebCore::ScriptController::setIsolatedWorldSecurityOrigin): |
| * bindings/v8/V8DOMWindowShell.cpp: |
| (WebCore::V8DOMWindowShell::initializeIfNeeded): |
| * bindings/v8/V8DOMWindowShell.h: |
| (V8DOMWindowShell): |
| * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: |
| (WebCore::V8XMLHttpRequest::constructorCallback): |
| |
| 2012-10-17 Simon Fraser <simon.fraser@apple.com> |
| |
| GraphicsLayer visible rect computation needs to use the current animating transform |
| https://bugs.webkit.org/show_bug.cgi?id=99529 |
| |
| Reviewed by Dean Jackson. |
| |
| If we're running an accelerated animation of transform |
| on a GraphicsLayerCA, the current value of the transform won't |
| be reflected in the GraphicsLayer's m_transform. However, |
| we need the current value of the transform in order to correctly |
| compute the visible rect of this layer and descendants. |
| |
| Add a function to GraphicsLayerClient to retrieve the current |
| value of the transform from the client. |
| |
| RenderLayer's currentTransform() used to return a transform |
| with transform-origin baked in; GraphicsLayerClient needs one |
| that excludes transform-origin, so enhance RenderLayer::currentTransform() |
| to be able to produce either. |
| |
| Tests: compositing/visible-rect/animated-from-none.html |
| compositing/visible-rect/animated.html |
| |
| * platform/graphics/GraphicsLayerClient.h: |
| (WebCore): |
| (GraphicsLayerClient): |
| (WebCore::GraphicsLayerClient::getCurrentTransform): |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::computeVisibleRect): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::currentTransform): |
| * rendering/RenderLayer.h: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::currentTransform): |
| * rendering/RenderLayerBacking.h: |
| (RenderLayerBacking): |
| |
| 2012-10-17 Sadrul Habib Chowdhury <sadrul@chromium.org> |
| |
| plugins: Allow a plugin to dictate whether it can receive drag events or not. |
| https://bugs.webkit.org/show_bug.cgi?id=99355 |
| |
| Reviewed by Tony Chang. |
| |
| When doing a drag over a plugin, ask the plugin whether it can accept |
| drag/drop to decide whether drag/drop is possible or not. At present, |
| plugins do not receive drag events through WebCore (i.e. various |
| implementations of PluginView::handleMouseEvent ignores the |
| drop-events). This change makes it possible for the ports to ask the |
| plugin first to decide whether it can (or wants to) accept drag events. |
| The default implementation remains the same, i.e. plugins do not receive |
| drag events. For chromium, the overridden implementation uses the |
| WebPlugin interface to check whether the plugin can accept drag events. |
| |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::canProcessDrag): |
| (WebCore): |
| * html/HTMLPlugInElement.h: |
| (WebCore): |
| (HTMLPlugInElement): |
| * page/DragController.cpp: |
| (WebCore::DragController::canProcessDrag): |
| * plugins/PluginViewBase.h: |
| (WebCore): |
| (WebCore::PluginViewBase::canProcessDrag): |
| |
| 2012-10-17 Andreas Kling <kling@webkit.org> |
| |
| Shrink EventTargetData by making firingEventListeners vector optional. |
| <http://webkit.org/b/99532> |
| <rdar://problem/12515099> |
| |
| Reviewed by Anders Carlsson. |
| |
| The majority of event listeners never actually fire, and EventTargetData::firingEventListeners |
| is just sitting there taking up space. Make it an OwnPtr instead, shrinking EventTargetData |
| by 48 bytes and progressing Membuster3 by 395kB. |
| |
| * dom/EventTarget.cpp: |
| (WebCore::EventTarget::removeEventListener): |
| (WebCore::EventTarget::fireEventListeners): |
| (WebCore::EventTarget::removeAllEventListeners): |
| * dom/EventTarget.h: |
| (WebCore::EventTarget::isFiringEventListeners): |
| |
| 2012-10-17 Christophe Dumez <christophe.dumez@intel.com> |
| |
| xss-DENIED-xsl-document-securityOrigin.xml crashes with icon assertion |
| https://bugs.webkit.org/show_bug.cgi?id=99571 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Check that the iconURL is not empty in IconController::continueLoadWithDecision() |
| to avoid hitting assertions later when trying to commit this empty URL to the |
| database. IconController::url() may indeed return an empty URL but there was |
| no check for it. |
| |
| No new tests, already covered by http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml. |
| |
| * loader/icon/IconController.cpp: |
| (WebCore::IconController::continueLoadWithDecision): |
| |
| 2012-10-17 Byungwoo Lee <bw80.lee@samsung.com> |
| |
| Fix build warnings : -Wunused-parameter, -Wunused-variable |
| https://bugs.webkit.org/show_bug.cgi?id=99539 |
| |
| Reviewed by Kentaro Hara. |
| |
| Fix build warnings about unused parameter or unused variable when |
| WTF_USE_TILED_BACKING_STORE option is enabled. |
| |
| * html/shadow/HTMLContentElement.cpp: |
| (WebCore::contentTagName): |
| * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
| (WebCore::GraphicsContext3D::getImageData): |
| * platform/graphics/efl/GraphicsContext3DPrivate.cpp: |
| (WebCore::GraphicsContext3DPrivate::createSurface): |
| (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): |
| * platform/graphics/opengl/Extensions3DOpenGL.cpp: |
| (WebCore::Extensions3DOpenGL::bindVertexArrayOES): |
| * platform/graphics/texmap/TextureMapper.h: |
| (WebCore::BitmapTexture::canReuseWith): |
| (WebCore::TextureMapper::beginPainting): |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::TextureMapperGL::drawRepaintCounter): |
| * platform/graphics/texmap/TextureMapperImageBuffer.cpp: |
| (WebCore::BitmapTextureImageBuffer::updateContents): |
| * platform/graphics/texmap/TextureMapperImageBuffer.h: |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::sortByZOrder): |
| (WebCore::TextureMapperLayer::flushCompositingStateSelf): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): |
| |
| 2012-10-17 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Dynamically added elements do not get re-projected. |
| https://bugs.webkit.org/show_bug.cgi?id=99227 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| When distribution happens, we have to invalidate its host shadow's distribution, since the children of the host |
| is changed. |
| |
| Test: fast/dom/shadow/content-reprojection-dynamic.html |
| |
| * html/shadow/ContentDistributor.cpp: |
| (WebCore::ContentDistributor::distribute): |
| |
| 2012-10-17 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: no "delete watch expression" context menu item when clicking on the expression value |
| https://bugs.webkit.org/show_bug.cgi?id=99602 |
| |
| Reviewed by Pavel Feldman. |
| |
| Add delete items to the watch expression's value's context menu. |
| |
| * inspector/front-end/ObjectPropertiesSection.js: |
| (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuFired): |
| (WebInspector.ObjectPropertyTreeElement.prototype.populateContextMenu): |
| * inspector/front-end/WatchExpressionsSidebarPane.js: |
| (WebInspector.WatchExpressionTreeElement.prototype.populateContextMenu): |
| (WebInspector.WatchExpressionTreeElement.prototype._contextMenu): |
| |
| 2012-10-17 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: [Regression] Undoing script changes does not restore breakpoints. |
| https://bugs.webkit.org/show_bug.cgi?id=99598 |
| |
| Reviewed by Pavel Feldman. |
| |
| workingCopyChanged now dispatches did/willMergeToVM instead of did/willDivergeFromVM |
| when change returns uiSourceCode to non dirty state. |
| Added wasDirty parameter to workingCopyChanged event. |
| |
| Test: inspector/debugger/live-edit-breakpoints.html |
| |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted): |
| (WebInspector.ResourceScriptFile.prototype._workingCopyChanged): |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode.prototype.setWorkingCopy): |
| |
| 2012-10-17 Simon Hausmann <simon.hausmann@digia.com> |
| |
| [Qt] Avoid re-creating CSSGrammar.cpp with each (incremental) build |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| The expected output is CSSGrammar.cpp and the input file used to be CSSGrammar.y, |
| so ${QMAKE_FILE_BASE}.cpp did the correct transformation. Recently the input has |
| changed to CSSGrammar.y.in, in which case the ${QMAKE_FILE_BASE} is CSSGrammar.y |
| unfortunately. The resulting target CSSGrammar.y.cpp will never be created and |
| therefore the target will always run. |
| |
| * DerivedSources.pri: |
| |
| 2012-10-17 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed fix for ImageSourceCG. |
| |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| (WebCore::ImageSource::reportMemoryUsage): |
| |
| 2012-10-17 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed fix for compilation on CG bots. |
| |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| |
| 2012-10-16 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: NMI instrument ImageDecoder. It owns a buffer that could be quite big. |
| https://bugs.webkit.org/show_bug.cgi?id=99540 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * platform/graphics/ImageSource.cpp: |
| (WebCore::ImageSource::reportMemoryUsage): |
| (WebCore): |
| * platform/graphics/ImageSource.h: |
| (ImageSource): |
| * platform/image-decoders/ImageDecoder.cpp: |
| (WebCore::ImageFrame::reportMemoryUsage): |
| (WebCore): |
| (WebCore::ImageDecoder::reportMemoryUsage): |
| * platform/image-decoders/ImageDecoder.h: |
| (ImageFrame): |
| (ImageDecoder): |
| * platform/image-decoders/skia/ImageDecoderSkia.cpp: |
| (WebCore::ImageFrame::reportMemoryUsage): |
| (WebCore): |
| |
| 2012-10-17 Zeno Albisser <zeno@webkit.org> |
| |
| [Qt] Fix build on Mac OSX 10.6 and earlier. |
| https://bugs.webkit.org/show_bug.cgi?id=99595 |
| |
| Reviewed by Simon Hausmann. |
| |
| * Target.pri: |
| |
| 2012-10-17 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: display "disconnected" message when remote debugging terminates |
| https://bugs.webkit.org/show_bug.cgi?id=99316 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Otherwise, it is not clear that the front-end is no longer functional. |
| |
| * inspector/front-end/InspectorFrontendHostStub.js: |
| (WebInspector.RemoteDebuggingTerminatedScreen): |
| * inspector/front-end/inspector.js: |
| (WebInspector.loaded.WebInspector.socket.onclose): |
| (WebInspector.loaded): |
| |
| 2012-10-17 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: delete watch expression button overlaps with the expression value |
| https://bugs.webkit.org/show_bug.cgi?id=99569 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Delete watch expression button now doesn't overlap with the watch expression. |
| |
| * inspector/front-end/inspector.css: |
| (.properties-tree.watch-expressions > li > .value): |
| |
| 2012-10-17 Luke Macpherson <macpherson@chromium.org> |
| |
| Move handling of CSSPropertyPointerEvents from StyleResolver into StyleBuilder. |
| https://bugs.webkit.org/show_bug.cgi?id=99536 |
| |
| Reviewed by Alexis Menard. |
| |
| One small step towards removing the giant switch statement in StyleResolver, |
| this patch moves pointer event property into StyleBuilder. |
| |
| Covered by fast/events/pointer-events.html and fast/events/pointer-events-2.html. |
| |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2012-10-17 Keishi Hattori <keishi@webkit.org> |
| |
| Localized date should be based on LDML |
| https://bugs.webkit.org/show_bug.cgi?id=99570 |
| |
| Reviewed by Kent Tamura. |
| |
| Localized date should be based on LDML to match the format inside DateTimeEditElement. |
| |
| No new tests. Covered by LocaleMacTest.formatDate and LocaleWinTest.formatDate. |
| |
| * platform/text/LocaleICU.cpp: Removed formatDateTime. |
| * platform/text/LocaleICU.h: |
| (LocaleICU): |
| * platform/text/LocaleNone.cpp: Removed formatDateTime. |
| (LocaleNone): |
| * platform/text/LocaleWin.cpp: Removed formatDateTime and formatDate. |
| (WebCore): |
| * platform/text/LocaleWin.h: |
| (LocaleWin): |
| * platform/text/Localizer.cpp: |
| (WebCore::DateTimeStringBuilder::visitField): Added support for year/month/day. |
| (WebCore::Localizer::formatDateTime): Creates the formatted string based on the format from dateFormat(). |
| * platform/text/Localizer.h: |
| * platform/text/mac/LocaleMac.h: |
| (LocaleMac): |
| * platform/text/mac/LocaleMac.mm: Removed formatDateTime. |
| |
| 2012-10-17 Harald Alvestrand <hta@google.com> |
| |
| Implement the Selector argument to RTCPeerConnection.getStats |
| https://bugs.webkit.org/show_bug.cgi?id=99460 |
| |
| Reviewed by Adam Barth. |
| |
| The change adds two new parameters to the RTCStatsRequest object: |
| stream and component. Together these are enough to identify a |
| MediaStreamTrack. |
| |
| Test: fast/mediastream/RTCPeerConnection-statsSelector.html |
| |
| * Modules/mediastream/MediaStreamTrack.cpp: |
| (WebCore::MediaStreamTrack::streamDescriptor): |
| (WebCore): |
| * Modules/mediastream/MediaStreamTrack.h: |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::getStats): |
| * Modules/mediastream/RTCStatsRequestImpl.cpp: |
| (WebCore::RTCStatsRequestImpl::create): |
| (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl): |
| (WebCore::RTCStatsRequestImpl::hasSelector): |
| (WebCore): |
| (WebCore::RTCStatsRequestImpl::stream): |
| (WebCore::RTCStatsRequestImpl::component): |
| * Modules/mediastream/RTCStatsRequestImpl.h: |
| (RTCStatsRequestImpl): |
| * platform/chromium/support/WebRTCStatsRequest.cpp: |
| (WebKit): |
| (WebKit::WebRTCStatsRequest::hasSelector): |
| (WebKit::WebRTCStatsRequest::stream): |
| (WebKit::WebRTCStatsRequest::component): |
| * platform/mediastream/RTCStatsRequest.h: |
| (WebCore): |
| (RTCStatsRequest): |
| |
| 2012-10-17 Simon Hausmann <simon.hausmann@digia.com> |
| |
| [Qt] Enable use of more AllInOne files |
| https://bugs.webkit.org/show_bug.cgi?id=99579 |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| The AllInOne files reduce pressure during final link time because the object files contain less duplicated |
| symbols. |
| |
| * Target.pri: Add HTMLElementsAllInOne, EditingAllInOne and RenderingAllInOne to the build |
| * editing/EditingAllInOne.cpp: Place a #if USE(CF) around the inclusion of SmartReplaceCF.cpp |
| * html/HTMLElementsAllInOne.cpp: Move HTMLPlugInElement.cpp to the top to fix builds on X11 based platforms |
| where the X headers get confused by the "Region" type that's also declared in WebCore. |
| * rendering/RenderingAllInOne.cpp: Fix build on case-sensitive file systems (Plugin -> PlugIn) and added a |
| #if PLATFORM(WIN) around the inclusion of RenderThemeWin.cpp. |
| |
| 2012-10-17 Kent Tamura <tkent@chromium.org> |
| |
| REGRESSION(r131421): Text baseline becomes incorrect after re-layout of input[type=time] |
| https://bugs.webkit.org/show_bug.cgi?id=99572 |
| |
| Reviewed by Kentaro Hara. |
| |
| We use flexible box since r131421, and it seems text baseline becomes |
| incorrect if there are text nodes in a flex container. |
| |
| Test: fast/forms/time-multiple-fields/time-multiple-fields-static-relayout.html |
| |
| * css/html.css: |
| (input::-webkit-datetime-edit-text): Added. |
| * html/shadow/DateTimeEditElement.cpp: |
| (WebCore::DateTimeEditBuilder::visitLiteral): |
| Wrap text with an element with ::-webkit-datetime-edit-text. |
| |
| 2012-10-17 Grzegorz Czajkowski <g.czajkowski@samsung.com>, Michal Roj <m.roj@samsung.com> |
| |
| [WK2][EFL] Implementation of spellchecking feature. |
| https://bugs.webkit.org/show_bug.cgi?id=91854 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| * PlatformEfl.cmake: |
| Add enchant-related compiler flags: header paths and the library flag. |
| |
| 2012-10-17 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Avoid style updates when retrieving the inline stylesheet text |
| https://bugs.webkit.org/show_bug.cgi?id=99576 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Avoid using innerText() to retrieve inline stylesheet text, which may result in style and layout updates. |
| |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyleSheet::inlineStyleSheetText): |
| |
| 2012-10-17 Patrick Gansterer <paroga@webkit.org> |
| |
| Build fix for WinCE after r131365. |
| |
| * platform/graphics/GlyphBuffer.h: |
| (WebCore::GlyphBufferAdvance::width): |
| * platform/graphics/wince/FontWinCE.cpp: |
| (WebCore::cursorToX): |
| * platform/graphics/wince/GraphicsContextWinCE.cpp: |
| (WebCore::GraphicsContext::drawText): |
| |
| 2012-10-17 Mike West <mkwst@chromium.org> |
| |
| V8 should throw a more descriptive exception when blocking 'eval' via CSP. |
| https://bugs.webkit.org/show_bug.cgi?id=94332 |
| |
| Reviewed by Adam Barth. |
| |
| Following up on https://bugs.webkit.org/show_bug.cgi?id=94331, this |
| patch wires up the new error message mechanism to V8, and updates the |
| Chromium test expectations accordingly. |
| |
| * bindings/v8/ScriptController.cpp: |
| (WebCore::ScriptController::disableEval): |
| Pass 'errorMessage' through to V8. |
| * bindings/v8/V8DOMWindowShell.cpp: |
| (WebCore::V8DOMWindowShell::initializeIfNeeded): |
| Grab the error message from ContentSecurityPolicy, and pass it |
| through to V8. |
| * bindings/v8/WorkerContextExecutionProxy.cpp: |
| (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): |
| (WebCore::WorkerContextExecutionProxy::evaluate): |
| (WebCore::WorkerContextExecutionProxy::setEvalAllowed): |
| * bindings/v8/WorkerContextExecutionProxy.h: |
| (WorkerContextExecutionProxy): |
| Convert 'm_disableEvalPending' to a string to store the current |
| error message, and use it to set the eval state. |
| * bindings/v8/WorkerScriptController.cpp: |
| (WebCore::WorkerScriptController::disableEval): |
| Pass 'errorMessage' through to V8. |
| |
| 2012-10-17 MORITA Hajime <morrita@google.com> |
| |
| Assertion failed on HTMLFormControlElement.cpp: updateFromElementCallback() |
| https://bugs.webkit.org/show_bug.cgi?id=99566 |
| |
| Reviewed by Kent Tamura. |
| |
| It had a too optimistic assertion. This change removes it. |
| |
| Test: fast/forms/textarea/textarea-autofocus-removal-while-focusing.html |
| |
| * html/HTMLFormControlElement.cpp: |
| (WebCore::updateFromElementCallback): |
| |
| 2012-10-17 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: When dirty uiSourceCode is saved to disk from scripts navigator context menu working copy is not committed. |
| https://bugs.webkit.org/show_bug.cgi?id=99555 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Save As context menu handler now commits working copy for dirty UISourceCodes. |
| |
| * inspector/front-end/HandlerRegistry.js: |
| |
| 2012-10-17 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Stylesheets saved with FileManager are not saved to disk when edited from Elements panel. |
| https://bugs.webkit.org/show_bug.cgi?id=99554 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Moved saving to disk from SourceFrame to UISourceCode. |
| |
| * inspector/front-end/SourceFrame.js: |
| (WebInspector.SourceFrame.prototype._commitEditing): |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode.prototype._commitContent): |
| |
| 2012-10-17 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: [Regression] SASS sources are not saved to disk. |
| https://bugs.webkit.org/show_bug.cgi?id=99551 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Added resource null checks. |
| |
| * inspector/front-end/StylesSourceMapping.js: |
| (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace): |
| |
| 2012-10-17 Elliott Sprehn <esprehn@chromium.org> |
| |
| Clean up ContentData operator overloads |
| https://bugs.webkit.org/show_bug.cgi?id=99556 |
| |
| Reviewed by Eric Seidel. |
| |
| Use virtual dispatch for checking ContentData equality instead |
| of a switch over the type. This the first step in getting rid |
| of the StyleContentType enum and all the switch statements over |
| the type(). |
| |
| No tests needed, this is just a refactor. |
| |
| * rendering/style/ContentData.cpp: |
| * rendering/style/ContentData.h: |
| (ContentData): |
| (WebCore::operator==): |
| (WebCore): |
| (WebCore::operator!=): |
| |
| 2012-10-17 Gabor Rapcsanyi <rgabor@webkit.org> |
| |
| NEON intrinsics Gauss filter does not work properly |
| https://bugs.webkit.org/show_bug.cgi?id=98875 |
| |
| Reviewed by Zoltan Herczeg. |
| |
| Fixing the NEON intrinsics Gauss filter. The stride parameter |
| was missing from the intrinsics algorithm. Tested with pixel |
| checks, now it's working properly. |
| |
| * platform/graphics/filters/arm/FEGaussianBlurNEON.h: |
| (WebCore::boxBlurNEON): |
| |
| 2012-10-17 MORITA Hajime <morrita@google.com> |
| |
| Crash on Frame::inScope() part 2 |
| https://bugs.webkit.org/show_bug.cgi?id=99543 |
| |
| Reviewed by Kent Tamura. |
| |
| FrameTree::scopedChildCount() can be called even when the one of child frames |
| is in orphan state. This change added a guard for that case. |
| |
| No new tests. A hard-to-test timing issue. |
| |
| * page/Frame.cpp: |
| (WebCore::Frame::inScope): |
| |
| 2012-10-17 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Remove shadowAncestorNode() from VisibleSelection |
| https://bugs.webkit.org/show_bug.cgi?id=99544 |
| |
| Reviewed by Hajime Morita. |
| |
| An effort to replace shadowAncestorNode() with shadowHost(), since shadowAncestorNode() is now deprecated. |
| |
| No new tests, no change in behavior. |
| |
| * editing/VisibleSelection.cpp: |
| (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Since shadowHost() returns 0 if |
| an element is not in shadowRoot, it's ok to compare shadowAncestor to 0. |
| |
| 2012-10-17 Douglas Stockwell <dstockwell@chromium.org> |
| |
| Content of replaced elements should be trimmed to the content edge curve. |
| https://bugs.webkit.org/show_bug.cgi?id=63899 |
| |
| Reviewed by Simon Fraser. |
| |
| When a border-radius is specified the content of replaced elements needs to be clipped to avoid |
| being painted over the padding or border in the corners. Previously the clip that was applied |
| was set to the border-edge curve, this patch contracts the clip by the size of the border and |
| padding (the content-edge curve) to match the css3 spec. |
| Spec: http://www.w3.org/TR/css3-background/#corner-clipping |
| |
| Test: fast/replaced/border-radius-clip-content-edge.html |
| |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderReplaced.cpp: |
| (WebCore::RenderReplaced::paint): |
| * rendering/RenderWidget.cpp: |
| (WebCore::RenderWidget::paint): |
| |
| 2012-10-17 Kunihiko Sakamoto <ksakamoto@chromium.org> |
| |
| The HTML5 formtarget/formaction/formenctyp/formmethod/formnovalidate attributes don't work in button tags with nested elements |
| https://bugs.webkit.org/show_bug.cgi?id=90539 |
| |
| Reviewed by Kent Tamura. |
| |
| Fix a bug where form(action|enctype|method|target) attributes of <button> are not |
| honored if the target of the click event is an element nested within the button. |
| |
| Test: fast/forms/formaction-attribute.html |
| |
| * loader/FormSubmission.cpp: |
| (WebCore::FormSubmission::create): Looks for the attributes for form submission |
| from the nearest FormControlElement ancestor of the event target. |
| |
| 2012-10-16 MORITA Hajime <morrita@google.com> |
| |
| [Shadow DOM][V8] WebCore::V8DOMWindow::installPerContextProperties() is slow when shadowDOMEnabled flag is on. |
| https://bugs.webkit.org/show_bug.cgi?id=99428 |
| |
| Reviewed by Adam Barth. |
| |
| A benchmark unveiled that installPerContextProperties() could have made DOMWindow setup slower when |
| - Some properties are added per-context basis by turnin the flag on and |
| - There are bunch of DOMWindow object in the page (that is, there are many iframes.) |
| |
| This change eliminates Shadow DOM related per-context properties from DOMWindow for getting rid of that slowness. |
| |
| * dom/ContextFeatures.cpp: |
| * dom/ContextFeatures.h: Removed shadowDOMEnabled() method and related enum entry. |
| * dom/Position.cpp: |
| (WebCore::Position::Position): |
| (WebCore::Position::findParent): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::getSelection): |
| * dom/make_names.pl: Re-introduced "runtimeConditional" directive. |
| (defaultTagPropertyHash): |
| (printConstructorInterior): |
| (printFactoryCppFile): |
| (printWrapperFunctions): |
| (printWrapperFactoryCppFile): |
| * html/HTMLTagNames.in: |
| * html/shadow/HTMLContentElement.cpp: |
| (WebCore::contentTagName): |
| * page/DOMWindow.idl: |
| |
| 2012-10-16 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Make RenderObject destruction during detach a top-down operation |
| https://bugs.webkit.org/show_bug.cgi?id=98336 |
| |
| Reviewed by Eric Seidel. |
| |
| detach() is a DOM-driven operation that destroys the renderers bottom-up. |
| While this is correct, it causes extra-work to be done (tree cleaning, ...) |
| as it doesn't know about the render tree's structure. |
| |
| The render tree on the other side already supports top-down operations |
| but it was overriden by the DOM side of detach. |
| |
| This change only makes ContainerNode::detach do a top-down render tree |
| destruction. This is a required step towards doing smarter destruction. |
| |
| Refactoring covered by existing tests. |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::detach): |
| Changed the method to do a top-down destruction. |
| |
| * dom/Node.cpp: |
| (WebCore::Node::detach): |
| Added this ASSERT that ensures that we have properly cleaned up the |
| whole DOM subtree. The only exception is child content belonging to a |
| flow-thread as the code will shuffle the renderers under the flow-thread. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::willBeDestroyed): |
| As we don't update the node's renderer on the DOM side, do it here. |
| The upside is that it ensures that we don't left any stray renderer |
| in the tree. |
| |
| * rendering/RenderObjectChildList.cpp: |
| (WebCore::RenderObjectChildList::destroyLeftoverChildren): |
| Removed the calls to setRenderer as they are redundant with what we do |
| in willBeDestroyed. |
| |
| * rendering/RenderTextFragment.cpp: |
| (WebCore::RenderTextFragment::setText): |
| Removed some now unneeded code, replaced by an ASSERT. This is because |
| destroying m_firstLetter would automatically reset the node's renderer |
| in destroyLeftoverChildren. |
| |
| 2012-10-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| HTMLSelectElement::optionSelectedByUser confuses listIndex and optionIndex |
| https://bugs.webkit.org/show_bug.cgi?id=99523 |
| |
| Reviewed by Simon Fraser. |
| |
| There was a call site where the optionIndex was being passed to a |
| function that expected the listIndex. Convert appropriately. |
| |
| Extends Test: platform/mac/fast/objc/dom-html-select-activate.html |
| |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::optionSelectedByUser): |
| |
| 2012-10-16 Jian Li <jianli@chromium.org> |
| |
| Rename feature define ENABLE_WIDGET_REGION to ENABLE_DRAGGBALE_REGION |
| https://bugs.webkit.org/show_bug.cgi?id=98975 |
| |
| Reviewed by Adam Barth. |
| |
| Renaming is needed to better match with the draggable region code. |
| |
| No new tests due to no functional change. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * DerivedSources.make: |
| * WebCore.exp.in: |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: |
| * css/CSSValueKeywords.in: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| * dom/Document.cpp: |
| (WebCore::Document::Document): |
| (WebCore): |
| (WebCore::Document::reportMemoryUsage): |
| * dom/Document.h: |
| (WebCore): |
| (Document): |
| * page/Chrome.cpp: |
| (WebCore): |
| * page/ChromeClient.h: |
| (ChromeClient): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::layout): |
| (WebCore): |
| (WebCore::FrameView::paintContents): |
| * page/FrameView.h: |
| (FrameView): |
| * rendering/RenderInline.cpp: |
| (WebCore): |
| (WebCore::RenderInline::addAnnotatedRegions): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::scrollTo): |
| (WebCore::RenderLayer::setHasHorizontalScrollbar): |
| (WebCore::RenderLayer::setHasVerticalScrollbar): |
| (WebCore::RenderLayer::updateScrollbarsAfterLayout): |
| * rendering/RenderListBox.cpp: |
| (WebCore::RenderListBox::setHasVerticalScrollbar): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::styleWillChange): |
| (WebCore): |
| (WebCore::RenderObject::addAnnotatedRegions): |
| * rendering/RenderObject.h: |
| (WebCore::AnnotatedRegionValue::operator==): |
| (AnnotatedRegionValue): |
| (RenderObject): |
| * rendering/style/RenderStyle.h: |
| * rendering/style/RenderStyleConstants.h: |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: |
| (StyleRareNonInheritedData): |
| |
| 2012-10-16 James Simonsen <simonjam@chromium.org> |
| |
| [Page Visibility API] View-less documents should report as hidden |
| https://bugs.webkit.org/show_bug.cgi?id=99410 |
| |
| Reviewed by Tony Gentilcore. |
| |
| Test: fast/events/page-visibility-null-view.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::visibilityState): |
| |
| 2012-10-16 Michael Saboff <msaboff@apple.com> |
| |
| Change WTF_USE_8BIT_TEXTRUN to ENABLE_8BIT_TEXTRUN |
| https://bugs.webkit.org/show_bug.cgi?id=99484 |
| |
| Reviewed by Eric Seidel. |
| |
| Changed macro name to align with it's purpose, therefore changed USE(8BIT_TEXTRUN) to ENABLE(8BIT_TEXTRUN). |
| |
| No new tests. Changed macro name, no functional change. |
| |
| * platform/graphics/TextRun.h: |
| (WebCore::TextRun::TextRun): |
| (WebCore::TextRun::subRun): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::constructTextRun): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| |
| 2012-10-16 Noam Rosenthal <noam.rosenthal@nokia.com> |
| |
| [Qt] REGRESSION(r131485): It broke the build |
| https://bugs.webkit.org/show_bug.cgi?id=99499 |
| |
| Unreviewed build (warning) fix. |
| |
| * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
| (WebCore::TextureMapperShaderProgram::getLocation): |
| |
| 2012-10-16 David Grogan <dgrogan@chromium.org> |
| |
| Inspector: Don't fire assert when inspecting an empty db |
| https://bugs.webkit.org/show_bug.cgi?id=99370 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| * inspector/InspectorIndexedDBAgent.cpp: |
| (WebCore): |
| |
| 2012-10-16 Tony Chang <tony@chromium.org> |
| |
| Unreviewed, try to fix the Apple Win build by forcing a rebuild of RenderingAllInOne.cpp. |
| |
| * rendering/RenderingAllInOne.cpp: |
| |
| 2012-10-16 Andrew Scherkus <scherkus@chromium.org> |
| |
| Fix crash in WebCore::MediaControlPanelElement::makeTransparent() |
| https://bugs.webkit.org/show_bug.cgi?id=97951 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests as it's a speculative fix based on crash dump analysis. |
| |
| Despite MediaControlPanelElement checking for document()->page() nullity in other places, it forgot one check in makeTransparent(). |
| |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlPanelElement::makeTransparent): |
| |
| 2012-10-16 Emil A Eklund <eae@chromium.org> |
| |
| Remove special-case flooring of baselinePosition for replaced elements in InlineFlowBox::placeBoxesInBlockDirection |
| https://bugs.webkit.org/show_bug.cgi?id=99376 |
| |
| Reviewed by Levi Weintraub. |
| |
| In r122769 (bug 91410) we added a special-case handling for |
| replaced elements in InlineFlowBox::placeBoxesInBlockDirection |
| to work around positioning issues in a couple of svg tests. |
| This was needed to compensate for a workaround in the table |
| painting code that was fixed in r131358 (bug 99364). As such the |
| special-case handling for replaced elements is no longer needed |
| in InlineFlowBox::placeBoxesInBlockDirection. |
| |
| Furthermore this caused problems with caret repainting leaving |
| residual pixels which motivated this change. |
| |
| No new tests, have not been able to write a repaint test to |
| demonstrate the caret repaint issue. |
| |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::placeBoxesInBlockDirection): |
| |
| 2012-10-16 Simon Fraser <simon.fraser@apple.com> |
| |
| Some #include hygiene |
| https://bugs.webkit.org/show_bug.cgi?id=99500 |
| |
| Reviewed by Tony Chang. |
| |
| Clean up some #includes, mostly related to GraphicsLayer.h. In many |
| cases this can be replaced by PlatformLayer.h. |
| |
| Remove an #include of PluginViewBase.h from Page.h, which was a source |
| of #include fan-out. |
| |
| * html/canvas/CanvasRenderingContext2D.h: |
| * page/Page.h: |
| * page/scrolling/ScrollingCoordinator.h: |
| * page/scrolling/ScrollingStateNode.h: |
| * page/scrolling/mac/ScrollingStateNodeMac.mm: |
| * platform/graphics/GraphicsContext3D.h: |
| * platform/graphics/MediaPlayer.h: |
| * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: |
| * platform/graphics/gpu/DrawingBuffer.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| * plugins/PluginViewBase.h: |
| |
| 2012-10-16 Adam Barth <abarth@webkit.org> |
| |
| Document::adoptNode shouldn't special-case <iframe> |
| https://bugs.webkit.org/show_bug.cgi?id=99247 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The special case was added in http://trac.webkit.org/changeset/75293 to |
| fix a bug with magic iframes. Originally, I planned to remove this |
| special case, but further investigation reveals that other browsers |
| throw exceptions for other frame owner elements as well. Now we treat |
| all frame owner elements the same way. |
| |
| Test: fast/frames/adopt-object-into-itself.html |
| |
| * dom/Document.cpp: |
| (WebCore::Document::adoptNode): |
| |
| 2012-10-16 Dominik Röttsches <dominik.rottsches@intel.com> |
| |
| Init timeout flag in ResourceErrorMac |
| https://bugs.webkit.org/show_bug.cgi?id=99478 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| On construction from platform error types, initialize the timeout flag |
| to true if the error results from a timeout. |
| |
| No new tests, covered by tests that will be added in bug 74802. |
| |
| * platform/network/mac/ResourceErrorMac.mm: |
| (WebCore::ResourceError::platformLazyInit): Initializing timeout flag if the error was a timeout. |
| |
| 2012-10-16 Tony Chang <tony@chromium.org> |
| |
| input[type=range] as a flex item renders thumb at wrong position |
| https://bugs.webkit.org/show_bug.cgi?id=98666 |
| |
| Reviewed by Ojan Vafai. |
| |
| Replace RenderSlider implementation with new flexbox and clean up the shadow DOM. |
| The previous code was trying to set the height to 100% and had a bunch of hacks in |
| the renderer code to set an explicit height. Using the new flexbox allows us to |
| remove these renderer hacks. |
| |
| Test: css3/flexbox/flexitem-stretch-range.html |
| |
| * css/html.css: |
| (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): Use new flexbox. |
| (input[type="range"]::-webkit-slider-runnable-track): Use new flexbox. |
| (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb): Remove relative positioning since we're |
| no longer setting top/left in the layout code. |
| * css/mediaControlsChromium.css: Remove redundant styles and bottom: 1px hack. |
| * css/mediaControlsChromiumAndroid.css: Remove redundant styles and bottom: 1px hack. |
| * html/RangeInputType.cpp: |
| (WebCore::RangeInputType::listAttributeTargetChanged): We need to force a layout |
| since the height of the control should change when adding/removing a datalist. |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::RenderSliderContainer::RenderSliderContainer): Use new flexbox. |
| (WebCore::RenderSliderContainer::computeLogicalHeight): Rather than setting style()->height() in layout, just compute the correct |
| height when asked. If we have a datalist, we increase the height (same code as before). If we're vertical, |
| we use the intrinsic size. |
| (WebCore::RenderSliderContainer::layout): Remove extra layout code, but handle the position of the thumb. |
| This used to be handled in the thumb's layout method, but I deleted that. |
| * html/shadow/SliderThumbElement.h: |
| * rendering/RenderSlider.cpp: |
| (WebCore::RenderSlider::RenderSlider): Use new flexbox. |
| (WebCore::RenderSlider::layout): Set the limiter size to the size of the thumb. This is necessary |
| for fast/css/unknown-pseudo-element-matching.html which tries to set the height of the thumb to 1px |
| and expects the input to also have a height of 1px. It worked before because the height of the input |
| didn't depend on the height of its children. |
| * rendering/RenderSlider.h: Fix indentation. |
| (RenderSlider): Use new flexible box. |
| |
| 2012-10-16 Dima Gorbik <dgorbik@apple.com> |
| |
| Remove Platform.h include from the header files. |
| https://bugs.webkit.org/show_bug.cgi?id=98665 |
| |
| Reviewed by Eric Seidel. |
| |
| We don't want other clients that include WebKit headers to know about Platform.h. |
| |
| No new tests. |
| |
| * platform/MemoryPressureHandler.h: |
| * platform/graphics/filters/arm/FECompositeArithmeticNEON.h: |
| * platform/graphics/filters/arm/FEGaussianBlurNEON.h: |
| * platform/graphics/filters/arm/FELightingNEON.h: |
| |
| 2012-10-16 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| [Chromium] Android: Need a way to get appropriate font for some specific characters. |
| https://bugs.webkit.org/show_bug.cgi?id=67587 |
| |
| Reviewed by Adam Barth. |
| |
| Use the new Skia API SkGetFallbackFamilyNameForChar() to get the family name for individual characters. |
| |
| No new tests. The following existing tests pass with the change: |
| fast/writing-mode/vertical-subst-font-vert-no-dflt.html |
| fast/dynamic/text-combine.html |
| fast/writing-mode/japanese-rl-text.html |
| fast/writing-mode/japanese-rl-selection.html |
| fast/writing-mode/japanese-lr-text.html |
| fast/repaint/japanese-rl-selection-repaint.html |
| fast/writing-mode/border-vertical-lr.html |
| |
| * platform/graphics/chromium/FontCacheAndroid.cpp: |
| (WebCore::FontCache::getFontDataForCharacters): |
| |
| 2012-10-16 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: Add the chromium API for RTCDataChannel |
| https://bugs.webkit.org/show_bug.cgi?id=99435 |
| |
| Reviewed by Adam Barth. |
| |
| Adding WebRTCDataChannel. |
| |
| Test: fast/mediastream/RTCPeerConnection-datachannel.html |
| |
| * WebCore.gypi: |
| * platform/chromium/support/WebRTCDataChannel.cpp: Added. |
| (WebKit): |
| (ExtraDataContainer): |
| (WebKit::ExtraDataContainer::ExtraDataContainer): |
| (WebKit::ExtraDataContainer::extraData): |
| (WebKit::WebRTCDataChannel::WebRTCDataChannel): |
| (WebKit::WebRTCDataChannel::initialize): |
| (WebKit::WebRTCDataChannel::assign): |
| (WebKit::WebRTCDataChannel::reset): |
| (WebKit::WebRTCDataChannel::operator PassRefPtr<WebCore::RTCDataChannelDescriptor>): |
| (WebKit::WebRTCDataChannel::operator WebCore::RTCDataChannelDescriptor*): |
| (WebKit::WebRTCDataChannel::extraData): |
| (WebKit::WebRTCDataChannel::setExtraData): |
| (WebKit::WebRTCDataChannel::label): |
| (WebKit::WebRTCDataChannel::reliable): |
| (WebKit::WebRTCDataChannel::setBufferedAmount): |
| (WebKit::WebRTCDataChannel::readyStateChanged): |
| (WebKit::WebRTCDataChannel::dataArrived): |
| (WebKit::WebRTCDataChannel::error): |
| * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: |
| (WebCore::RTCPeerConnectionHandlerChromium::negotiationNeeded): |
| (WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate): |
| (WebCore): |
| (WebCore::RTCPeerConnectionHandlerChromium::didChangeReadyState): |
| (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEState): |
| (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream): |
| |
| 2012-10-16 Brady Eidson <beidson@apple.com> |
| |
| Update indentation in *ResourceLoader headers to match modern WebKit style |
| https://bugs.webkit.org/show_bug.cgi?id=99487 |
| |
| Reviewed by Beth Dakin. |
| |
| I'm going to be working on these classes and the indentation is driving me crazy. |
| |
| * loader/MainResourceLoader.h: |
| (WebCore): |
| (MainResourceLoader): |
| (WebCore::MainResourceLoader::isLoadingMultipartContent): |
| |
| * loader/NetscapePlugInStreamLoader.h: |
| (WebCore): |
| (NetscapePlugInStreamLoaderClient): |
| (WebCore::NetscapePlugInStreamLoaderClient::didFinishLoading): |
| (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams): |
| (WebCore::NetscapePlugInStreamLoaderClient::~NetscapePlugInStreamLoaderClient): |
| (NetscapePlugInStreamLoader): |
| |
| * loader/ResourceLoader.h: |
| (WebCore): |
| (ResourceLoader): |
| (WebCore::ResourceLoader::documentLoader): |
| (WebCore::ResourceLoader::originalRequest): |
| (WebCore::ResourceLoader::identifier): |
| (WebCore::ResourceLoader::didReceiveCachedMetadata): |
| (WebCore::ResourceLoader::willStopBufferingData): |
| (WebCore::ResourceLoader::shouldUseCredentialStorage): |
| (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): |
| (WebCore::ResourceLoader::didCancelAuthenticationChallenge): |
| (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): |
| (WebCore::ResourceLoader::receivedCancellation): |
| (WebCore::ResourceLoader::url): |
| (WebCore::ResourceLoader::handle): |
| (WebCore::ResourceLoader::sendResourceLoadCallbacks): |
| (WebCore::ResourceLoader::reachedTerminalState): |
| (WebCore::ResourceLoader::request): |
| (WebCore::ResourceLoader::cancelled): |
| (WebCore::ResourceLoader::defersLoading): |
| |
| 2012-10-16 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=99254 |
| Make ScrollingTree an actual tree of nodes, and have it reflect the |
| ScrollingStateTree |
| |
| Reviewed by Simon Fraser. |
| |
| This patch finally makes the ScrollingTree over on the |
| ScrollingThread aware of the changes that we have been making to the |
| ScrollingStateTree. |
| |
| First, it makes ScrollingTreeNode a much more generic class, similar |
| to ScrollingStateNode. It is an abstract class and we will add other |
| types of nodes such as ScrollingTreeFixedNodes that will inherit from |
| this class. |
| |
| All of the scrolling functionality that was in ScrollingTreeNode has |
| been moved to ScrollingTreeScrollingNode. And likewise, |
| ScrollingTreeNodeMac has been re-named to |
| ScrollingTreeScrollingNodeMac. |
| |
| And finally, instead of just updating and creating the root node, |
| ScrollingTree now recurses through the whole ScrollingStateTree to |
| create and update a full tree of nodes. |
| |
| New files and moves files. |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| Add a getter for the children vector since we need to recurse it in |
| ScrollingTree. |
| * page/scrolling/ScrollingStateNode.h: |
| (WebCore::ScrollingStateNode::children): |
| (ScrollingStateNode): |
| |
| m_rootNode is now a ScrollingTreeScrollingNode. |
| * page/scrolling/ScrollingTree.cpp: |
| (WebCore::ScrollingTree::ScrollingTree): |
| |
| Instead of just updating the root node, call two new functions that |
| will take care of updating the whole tree. |
| (WebCore::ScrollingTree::commitNewTreeState): |
| |
| This function ecurses through the ScrollingStateTree and updates the |
| corresponding ScrollingTreeNodes. |
| (WebCore::ScrollingTree::updateNodesFromStateNode): |
| |
| This function takes the ScrollingStateTree's list of removed nodes |
| and removes the corresponding nodes from the ScrollingTree. It will |
| destroy the nodes after removing it as long as it's not the root |
| node. I think it's the safest choice for now to never remove the root |
| node. |
| (WebCore::ScrollingTree::removeDestroyedNodes): |
| |
| ScrollingTree now keeps a HashMap mapping ScrollingNodeIDs to |
| ScrollingTreeNodes. |
| * page/scrolling/ScrollingTree.h: |
| |
| All of the scrolling-related functionality has been moved from this |
| class to new class ScrollingTreeScrollingNode. And some basic tree |
| traversal functionality has been added. |
| * page/scrolling/ScrollingTreeNode.cpp: |
| (WebCore::ScrollingTreeNode::ScrollingTreeNode): |
| (WebCore::ScrollingTreeNode::appendChild): |
| (WebCore::ScrollingTreeNode::removeChild): |
| * page/scrolling/ScrollingTreeNode.h: |
| (WebCore): |
| (ScrollingTreeNode): |
| (WebCore::ScrollingTreeNode::scrollingNodeID): |
| (WebCore::ScrollingTreeNode::setScrollingNodeID): |
| (WebCore::ScrollingTreeNode::parent): |
| (WebCore::ScrollingTreeNode::setParent): |
| (WebCore::ScrollingTreeNode::scrollingTree): |
| |
| This class contains all of the scrolling-related work that used to be |
| done in ScrollingTreeNode. |
| * page/scrolling/ScrollingTreeScrollingNode.cpp: Added. |
| (WebCore): |
| (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode): |
| (WebCore::ScrollingTreeScrollingNode::~ScrollingTreeScrollingNode): |
| (WebCore::ScrollingTreeScrollingNode::update): |
| * page/scrolling/ScrollingTreeScrollingNode.h: Added. |
| (WebCore): |
| (ScrollingTreeScrollingNode): |
| (WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionOnMainThread): |
| (WebCore::ScrollingTreeScrollingNode::viewportRect): |
| (WebCore::ScrollingTreeScrollingNode::contentsSize): |
| (WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity): |
| (WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity): |
| (WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar): |
| (WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar): |
| (WebCore::ScrollingTreeScrollingNode::canHaveScrollbars): |
| (WebCore::ScrollingTreeScrollingNode::scrollOrigin): |
| |
| I noticed this whitespace error and had to fix it. |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::detachFromStateTree): |
| |
| Include ScrollingTreeScrollingNodeMac.h instead of |
| ScrollingTreeNodeMac.h |
| * page/scrolling/mac/ScrollingTreeMac.mm: |
| |
| This class was just re-named. |
| * page/scrolling/mac/ScrollingTreeNodeMac.h: Removed. |
| * page/scrolling/mac/ScrollingTreeNodeMac.mm: Removed. |
| * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h: Copied from page/scrolling/mac/ScrollingTreeNodeMac.h. |
| (ScrollingTreeScrollingNodeMac): |
| * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: Copied from page/scrolling/mac/ScrollingTreeNodeMac.mm. |
| (WebCore::ScrollingTreeScrollingNode::create): |
| (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac): |
| (WebCore::ScrollingTreeScrollingNodeMac::~ScrollingTreeScrollingNodeMac): |
| (WebCore::ScrollingTreeScrollingNodeMac::update): |
| (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): |
| (WebCore::ScrollingTreeScrollingNodeMac::allowsHorizontalStretching): |
| (WebCore::ScrollingTreeScrollingNodeMac::allowsVerticalStretching): |
| (WebCore::ScrollingTreeScrollingNodeMac::stretchAmount): |
| (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection): |
| (WebCore::ScrollingTreeScrollingNodeMac::canScrollHorizontally): |
| (WebCore::ScrollingTreeScrollingNodeMac::canScrollVertically): |
| (WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection): |
| (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition): |
| (WebCore::ScrollingTreeScrollingNodeMac::immediateScrollBy): |
| (WebCore::ScrollingTreeScrollingNodeMac::immediateScrollByWithoutContentEdgeConstraints): |
| (WebCore::ScrollingTreeScrollingNodeMac::startSnapRubberbandTimer): |
| (WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer): |
| (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition): |
| (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition): |
| (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints): |
| (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): |
| (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition): |
| (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition): |
| (WebCore::ScrollingTreeScrollingNodeMac::scrollBy): |
| (WebCore::ScrollingTreeScrollingNodeMac::scrollByWithoutContentEdgeConstraints): |
| (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState): |
| (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea): |
| |
| 2012-10-16 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a new layer type for the page tiled cache layer |
| https://bugs.webkit.org/show_bug.cgi?id=99491 |
| |
| Reviewed by Dean Jackson. |
| |
| In preparation for using tile cache layers in place of CATiledLayer, |
| add a new PlatformCALayer layer type LayerTypePageTileCacheLayer, |
| since the page tile cache will have some different behavior from |
| other tile cache layers. |
| |
| Generalize code that was looking at LayerTypeTileCacheLayer to use |
| usesTileCacheLayer() if it applies to both types of tile caches. |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::GraphicsLayerCA): |
| (WebCore::GraphicsLayerCA::recursiveCommitChanges): Show the tile |
| wash for tiled layers as well as layers with transforms (the tile |
| wash is just for debugging). |
| (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| * platform/graphics/ca/PlatformCALayer.h: |
| (WebCore::PlatformCALayer::usesTileCacheLayer): |
| (PlatformCALayer): |
| * platform/graphics/ca/mac/PlatformCALayerMac.mm: |
| (PlatformCALayer::PlatformCALayer): |
| (PlatformCALayer::~PlatformCALayer): |
| (PlatformCALayer::tiledBacking): |
| * platform/graphics/mac/WebLayer.mm: |
| (drawLayerContents): Avoid double-drawing the repaint counter in tile cache layers. |
| |
| 2012-10-16 Stephen Chenney <schenney@chromium.org> |
| An feImage that tries to render itself should be stopped |
| https://bugs.webkit.org/show_bug.cgi?id=94652 |
| |
| Reviewed by Eric Seidel. |
| |
| An SVG feImage filter element will accept, as the src to render, an |
| SVG document that makes use of the feImage itself. This causes the |
| feImage to try to draw itself while already in the process of drawing |
| itself. Various problems arise from this. The invariant we wish to |
| maintain is that no element in the src tree of an feImage element |
| refers to that feImage. |
| |
| This patch adds a flag to all FilterData objects that tracks whether or |
| not the filter is currently applying itself, and avoids applying the |
| filter recursively. |
| |
| While it may seem better to catch this problem when the src is set, or |
| when the filter is built, that turns out to be challenging and |
| inefficient. Say we choose to test when the src atttribute is set. To |
| do so would require looking through all of the DOM nodes that will be |
| rendered for the src, finding all resources used, and checking if any |
| of them make use fo the feImage element that we are setting the source |
| for. The infrastructure is not in place to do that, and it would |
| involve walking a potentially very large portion of the DOM in order |
| to detect a very rare situation. Note that it is not enough just to |
| walk the DOM directly under the src; we also need to recursively follow any |
| resource links to see if they use the feImage (e.g. patterns or |
| masks or use or ...). |
| |
| If we instead try to use the renderer node to find self referencing, |
| we need to recursively walk a potentially very large render tree, |
| tracing all resources in search of the feImage. This would need to be |
| done every time the filter is built, which is again a significant |
| overhead for a situation that is very unlikely to occur. And we do not |
| have methods that make it easy to find feImage filter effect nodes; they are |
| hidden behind filter resource nodes. |
| |
| Hence the runtime check to catch the problem. The check must be in |
| FilterData and RenderSVGResourceFilter code because we must prevent |
| the destruction of the feImage when we encounter it recursively. |
| |
| This patch also renames FilterData::builded to FilterData::isBuilt. |
| |
| Test: svg/filters/feImage-self-referencing.html |
| |
| * rendering/svg/RenderSVGResourceFilter.cpp: |
| (WebCore::ApplyingFilterEffectGuard): Guard to ensure that, in the future, we always |
| clear the isApplying flag even if the postApplyResource method returns early. |
| (WebCore::RenderSVGResourceFilter::applyResource): Do not apply a resource that is already applying and |
| rename builded to isBuilt. |
| (WebCore::RenderSVGResourceFilter::postApplyResource): Mark a resource as applying and clear after |
| it is done. Abort if a resource is already applying when the method begins. Rename builded to isBuilt. |
| (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): Rename builded to isBuilt. |
| * rendering/svg/RenderSVGResourceFilter.h: |
| (WebCore::FilterData::FilterData): |
| (FilterData): Add isApplying and rename builded to isBuilt. |
| |
| 2012-10-16 Nate Chapin <japhet@chromium.org> |
| |
| sendResourceLoadCallbacks() is poorly named |
| https://bugs.webkit.org/show_bug.cgi?id=99482 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| In both CachedResource and ResourceLoader, rename sendResourceLoadCallbacks() |
| to shouldSendResourceLoadCallbacks() to better indicate that it is a simple getter. |
| |
| No new tests, simple renaming. |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::loadedResourceFromMemoryCache): |
| * loader/ResourceLoader.h: |
| (WebCore::ResourceLoader::shouldSendResourceLoadCallbacks): |
| * loader/cache/CachedResource.h: |
| (WebCore::CachedResource::shouldSendResourceLoadCallbacks): |
| |
| 2012-10-16 Chris Rogers <crogers@google.com> |
| |
| Rename some AudioNodes |
| https://bugs.webkit.org/show_bug.cgi?id=99358 |
| |
| Reviewed by Daniel Bates. |
| |
| Here's a list of the node names, showing the changing ones: |
| AudioBufferSourceNode |
| MediaElementAudioSourceNode |
| MediaStreamAudioSourceNode |
| JavaScriptAudioNode ------------> ScriptProcessorNode |
| RealtimeAnalyserNode ------------> AnalyserNode |
| AudioGainNode ------------> GainNode |
| DelayNode |
| BiquadFilterNode |
| AudioPannerNode ------------> PannerNode |
| ConvolverNode |
| AudioChannelSplitter ------------> ChannelSplitterNode |
| AudioChannelMerger ------------> ChannelMergerNode |
| DynamicsCompressorNode |
| Oscillator ------------> OscillatorNode |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.list.am: |
| * Modules/webaudio/AnalyserNode.cpp: Renamed from Source/WebCore/Modules/webaudio/RealtimeAnalyserNode.cpp. |
| * Modules/webaudio/AnalyserNode.idl: Renamed from Source/WebCore/Modules/webaudio/RealtimeAnalyserNode.idl. |
| * Modules/webaudio/AudioBufferSourceNode.cpp: |
| (WebCore::AudioBufferSourceNode::setPannerNode): |
| * Modules/webaudio/AudioBufferSourceNode.h: |
| (AudioBufferSourceNode): |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::createJavaScriptNode): |
| (WebCore::AudioContext::createPanner): |
| (WebCore::AudioContext::createAnalyser): |
| (WebCore::AudioContext::createGainNode): |
| (WebCore::AudioContext::createChannelSplitter): |
| (WebCore::AudioContext::createChannelMerger): |
| (WebCore::AudioContext::createOscillator): |
| * Modules/webaudio/AudioContext.h: |
| (WebCore): |
| (AudioContext): |
| * Modules/webaudio/AudioContext.idl: |
| * Modules/webaudio/ChannelMergerNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.cpp. |
| * Modules/webaudio/ChannelMergerNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.h. |
| (WebCore): |
| (ChannelMergerNode): |
| * Modules/webaudio/ChannelMergerNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioChannelMerger.idl. |
| * Modules/webaudio/ChannelSplitterNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.cpp. |
| * Modules/webaudio/ChannelSplitterNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.h. |
| (WebCore): |
| (ChannelSplitterNode): |
| * Modules/webaudio/ChannelSplitterNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioChannelSplitter.idl. |
| * Modules/webaudio/DOMWindowWebAudio.idl: |
| * Modules/webaudio/GainNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.cpp. |
| * Modules/webaudio/GainNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.h. |
| * Modules/webaudio/GainNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioGainNode.idl. |
| * Modules/webaudio/OscillatorNode.cpp: Renamed from Source/WebCore/Modules/webaudio/Oscillator.cpp. |
| * Modules/webaudio/OscillatorNode.h: Renamed from Source/WebCore/Modules/webaudio/Oscillator.h. |
| * Modules/webaudio/OscillatorNode.idl: Renamed from Source/WebCore/Modules/webaudio/Oscillator.idl. |
| * Modules/webaudio/PannerNode.cpp: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.cpp. |
| * Modules/webaudio/PannerNode.h: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.h. |
| (WebCore): |
| * Modules/webaudio/PannerNode.idl: Renamed from Source/WebCore/Modules/webaudio/AudioPannerNode.idl. |
| * Modules/webaudio/ScriptProcessorNode.cpp: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.cpp. |
| * Modules/webaudio/ScriptProcessorNode.h: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.h. |
| (WebCore): |
| * Modules/webaudio/ScriptProcessorNode.idl: Renamed from Source/WebCore/Modules/webaudio/JavaScriptAudioNode.idl. |
| * Modules/webaudio/WaveTable.cpp: |
| (WebCore::WaveTable::createSine): |
| (WebCore::WaveTable::createSquare): |
| (WebCore::WaveTable::createSawtooth): |
| (WebCore::WaveTable::createTriangle): |
| (WebCore::WaveTable::generateBasicWaveform): |
| * Target.pri: |
| * UseJSC.cmake: |
| * WebCore.gypi: |
| * WebCore.xcodeproj/project.pbxproj: |
| * bindings/js/JSScriptProcessorNodeCustom.cpp: Renamed from Source/WebCore/bindings/js/JSJavaScriptAudioNodeCustom.cpp. |
| (WebCore): |
| (WebCore::JSScriptProcessorNode::visitChildren): |
| * dom/EventTarget.h: |
| (WebCore): |
| * dom/EventTargetFactory.in: |
| |
| 2012-10-16 Noam Rosenthal <noam.rosenthal@nokia.com> |
| |
| [Texmap] Refactor TextureMapperShaderManager to be clearer |
| https://bugs.webkit.org/show_bug.cgi?id=86048 |
| |
| Reviewed by Martin Robinson. |
| |
| Previous implementation of TextureMapperShaderManager was very verbose, calling for too |
| many casts and ambiguous ownership. |
| This refactor does the following: |
| 1. TextureMapperShaderProgram is one class without subclasses. |
| 2. Uniform/Attribute accessors are generated by special macros (TEXMAP_DECLARE_...) that |
| generate both the C++ access function, as well as the GLSL name of the variable. This |
| allows adding/removing variables from a shader without adding broiler-plate code like |
| before. |
| |
| After this change TextureMapperShaderManager has only one responsibility - dealing with |
| TextureMapperGL's built-in shaders and their lifecycle. Preparing filters etc. is done |
| in TextureMapperGL. |
| |
| This is a refactor without new functionality. It has been verified to not break any existing |
| relevant test. |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::TextureMapperGL::drawBorder): |
| (WebCore::TextureMapperGL::drawQuad): |
| (WebCore::TextureMapperGL::drawTextureRectangleARB): |
| (WebCore::TextureMapperGL::drawTexture): |
| (WebCore::TextureMapperGL::drawTextureWithAntialiasing): |
| (WebCore::TextureMapperGL::drawTexturedQuadWithProgram): |
| (WebCore::TextureMapperGL::beginClip): |
| Use the MACRO-generated uniform accessors. |
| |
| (WebCore): |
| (WebCore::keyForFilterType): |
| (WebCore::getPassesRequiredForFilter): |
| (WebCore::gauss): |
| (WebCore::gaussianKernel): |
| (WebCore::prepareFilterProgram): |
| (WebCore::TextureMapperGL::drawFiltered): |
| (WebCore::BitmapTextureGL::applyFilters): |
| Move the filter logic to TextureMapperGL |
| |
| * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
| (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram): |
| (WebCore::TextureMapperShaderProgram::getLocation): |
| (ShaderSpec): |
| (WebCore::ShaderSpec::ShaderSpec): |
| (WebCore::getShaderSpec): |
| (WebCore::TextureMapperShaderManager::TextureMapperShaderManager): |
| (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager): |
| (WebCore::TextureMapperShaderManager::getShaderProgram): |
| * platform/graphics/texmap/TextureMapperShaderManager.h: |
| (WebCore): |
| (WebCore::TextureMapperShaderProgram::programID): |
| (WebCore::TextureMapperShaderProgram::context): |
| (WebCore::TextureMapperShaderProgram::create): |
| (TextureMapperShaderProgram): |
| (TextureMapperShaderManager): |
| See description. |
| |
| 2012-10-16 Nico Weber <thakis@chromium.org> |
| |
| [chromium/mac] Make spelling indicator HighDPI |
| https://bugs.webkit.org/show_bug.cgi?id=99417 |
| |
| Reviewed by Stephen White. |
| |
| This is the mac version of http://trac.webkit.org/changeset/130940 |
| Since the mac and non-mac code are very similar again, merge the two |
| code paths again. |
| |
| Covered by editing/spelling/(inline-spelling|grammar)-markers-hidpi.html |
| |
| * platform/graphics/skia/GraphicsContextSkia.cpp: |
| (WebCore::GraphicsContext::drawLineForDocumentMarker): |
| |
| 2012-10-16 Tony Chang <tony@chromium.org> |
| |
| in a column flexbox, input overflows the box when stretched |
| https://bugs.webkit.org/show_bug.cgi?id=99273 |
| |
| Reviewed by Ojan Vafai. |
| |
| Fix a bug where we didn't properly subtract padding and border when overriding the child size. |
| We didn't see this because of a performance optimization in RenderBox where we stretch children. |
| Also apply this performance optimization in new flexbox for form controls. |
| |
| Test: css3/flexbox/stretch-input-in-column.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::flexboxChildHasStretchAlignment): |
| (WebCore::isStretchingVerticalFlexboxChild): |
| (WebCore::RenderBox::sizesLogicalWidthToFitContent): Apply performance optimization to form controls in new flexbox. |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Properly subtract border and padding. |
| |
| 2012-10-16 Simon Fraser <simon.fraser@apple.com> |
| |
| REGRESSION (r128787): Fixed position div causes other elements to not update correctly |
| https://bugs.webkit.org/show_bug.cgi?id=98579 |
| |
| Reviewed by Beth Dakin. |
| |
| RenderLayers cache repaint rects which are computed relative to the repaint container. |
| Repaint containers depend on whether a RenderLayerBacking has its own backing store, |
| so if that changes, we need to recompute repaint rects for all descendants. |
| |
| Test: compositing/repaint/requires-backing-repaint.html |
| |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::setRequiresOwnBackingStore): |
| |
| 2012-10-16 Zan Dobersek <zandobersek@gmail.com> |
| |
| [GStreamer] GstBuffer ref race in WebKitWebAudioSrcLoop |
| https://bugs.webkit.org/show_bug.cgi?id=95833 |
| |
| Reviewed by Philippe Normand. |
| |
| The render bus used in GStreamer's implementation of AudioDestination no longer |
| allocates memory for each of its channels. Rather than that, when looping, the |
| data is rendered into a channel-specific GstBuffer. Each buffer is then chained |
| to the appropriate GstPad, as has been the case before. |
| |
| No new tests - there are tests covering this change but they are not yet working |
| on the GTK port or any other GStreamer implementation of Web Audio. |
| |
| * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: |
| (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): |
| * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: |
| (_WebKitWebAudioSourcePrivate): Remove an unused member variable. |
| (webkit_web_audio_src_init): Remove an unnecessary line. |
| (webKitWebAudioSrcConstructed): Ditto. |
| (webKitWebAudioSrcLoop): |
| |
| 2012-10-16 Pablo Flouret <pablof@motorola.com> |
| |
| Pre-process CSSGrammar.y before running through bison. |
| https://bugs.webkit.org/show_bug.cgi?id=94290 |
| |
| Reviewed by Tony Chang. |
| |
| Running CSSGrammar.y through a preprocessor allows the use of feature |
| defines in all places of the yacc file (i.e. not just in C blocks). |
| Mostly useful to be able to keep every part of a feature under feature |
| flags for self-documenting purposes. |
| |
| No new tests, CSSGrammar.y should be generated correctly and everything |
| should keep working as before. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.am: |
| Modify build systems to use makegrammar.pl to generate the .y files |
| and run those through bison. |
| |
| * WebCore.gyp/WebCore.gyp: |
| Add a new action to preprocess the CSSGrammar.y.in file before the |
| bison rule is run. |
| |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| Add the new .y.in / .y.includes files. |
| |
| * css/CSSGrammar.y.in: Renamed from Source/WebCore/css/CSSGrammar.y. |
| Also moved the top declarations section that has includes, defines, |
| etc. to its own file. These shouldn't be touched by the first |
| pass of the preprocessor. And changed the existing ENABLE(FEATURE) |
| ifdefs to ENABLE_FEATURE since the ENABLE() macro is not available |
| yet. |
| * css/CSSGrammar.y.includes: Added. |
| The aforementioned declarations header section. After the .y.in file |
| is processed it will be concatenated with this one to make the |
| CSSGrammar.y file. |
| |
| * css/makegrammar.pl: |
| Modify the script to handle .y.in files. |
| |
| 2012-10-16 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> |
| |
| Implement testRunner.dumpSelectionRect() in WebKitTestRunner |
| https://bugs.webkit.org/show_bug.cgi?id=69545 |
| |
| Reviewed by Simon Fraser. |
| |
| * WebCore.exp.in: |
| |
| 2012-10-16 Allan Sandfeld Jensen <allan.jensen@digia.com> |
| |
| [Qt] Implement fastBoundingPath/boundingPath distinction. |
| https://bugs.webkit.org/show_bug.cgi?id=99471 |
| |
| Reviewed by Noam Rosenthal. |
| |
| Tested by existing test: svg/custom/getBBox-path.svg |
| |
| * platform/graphics/Path.cpp: |
| * platform/graphics/qt/PathQt.cpp: |
| (WebCore::Path::fastBoundingRect): |
| (WebCore::Path::boundingRect): |
| |
| 2012-10-16 Rob Buis <rbuis@rim.com> |
| |
| [BlackBerry] replace BlackBerry::Platform::log() with BBLOG() |
| https://bugs.webkit.org/show_bug.cgi?id=99302 |
| |
| Reviewed by Yong Li. |
| |
| Fix a warning introduced by r131335. Since in release BBLOG is empty, only enable this block in debug builds. |
| |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::compileShader): |
| |
| 2012-10-16 Antoine Quint <graouts@apple.com> |
| |
| Inspector should allow reading the compositing debug settings |
| https://bugs.webkit.org/show_bug.cgi?id=99458 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::getCompositingBordersVisible): |
| * inspector/InspectorPageAgent.h: |
| |
| 2012-10-16 Dan Bernstein <mitz@apple.com> |
| |
| Code to reverse a GlyphBuffer range is repeated in several places |
| https://bugs.webkit.org/show_bug.cgi?id=99424 |
| |
| Reviewed by Adele Peterson. |
| |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Replaced for loop with a call to |
| GlyphBuffer::reverse. |
| * platform/graphics/GlyphBuffer.h: |
| (WebCore::GlyphBuffer::reverse): Added. Reverses the given range. |
| (WebCore::GlyphBuffer::swap): Made private. |
| * platform/graphics/WidthIterator.cpp: |
| (WebCore::applyFontTransforms): Replaced for loops with calls to GlyphBuffer::reverse and |
| corrected their bounds. |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore::Font::getGlyphsAndAdvancesForComplexText): Replaced for loop with a call to |
| GlyphBuffer::range. |
| |
| 2012-10-16 Nate Chapin <japhet@chromium.org> |
| |
| Re-order CachedRawResource::data() to set m_data earlier |
| https://bugs.webkit.org/show_bug.cgi?id=99361 |
| |
| Reviewed by Adam Barth. |
| |
| Currently, we calculate the diff between the data parameter and m_data, call |
| dataReceived(), then set m_data to data. If something inside dataReceived() |
| tries to access m_data via CachedResource::resourceBuffer(), it will see the |
| old data instead of the new data, which seems inconsistent. |
| |
| No new tests, as no one appears to try to access m_data within dataReceived() currently. |
| |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::data): |
| |
| 2012-10-16 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Fold setCellLogicalWidths logic into RenderTableSection layout |
| https://bugs.webkit.org/show_bug.cgi?id=99382 |
| |
| Reviewed by Eric Seidel. |
| |
| setCellLogicalWidths was implemented as a pre-phase to laying out |
| the table's sections. This split was artificial as any change in |
| the columns' logical width should trigger a sections' relayout, which |
| could propagate and mark the cells / rows as needed. |
| |
| Merging setCellLogicalWidths into RenderTableSection::layout removes |
| an unneeded cells walking and some clunkiness from our implementation. |
| |
| Refactoring covered by the existing tests. |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::RenderTable): Initialize our new boolean. |
| (WebCore::RenderTable::layout): |
| If m_columnLogicalWidthChanged, we force a relayout on our sections so that the cells and rows |
| are marked for layout if there is the logical width change. |
| |
| * rendering/RenderTable.h: |
| (WebCore::RenderTable): |
| Added a new boolean to track if a column logical width changed (m_columnLogicalWidthChanged). |
| |
| (WebCore::RenderTable::setColumnPosition): |
| If a column position changed, register that our column logical widths changed. This is not |
| totally true, so added a comment about when it will be wrong. |
| |
| * rendering/RenderTableCell.h: |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::setCellLogicalWidth): |
| Updated the function to mark the cell and the row for layout. Also changed the argument to |
| be an 'int' as this was what was passed in. |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::layout): |
| * rendering/RenderTableSection.h: |
| Removed setCellLogicalWidths and merged the logic into RenderTableSection::layout. We propagate |
| the table layout's logical widths first so that rows are marked as needing layout as appropriate. |
| |
| 2012-10-16 Takashi Sakamoto <tasak@google.com> |
| |
| [Meta] [Shadow] contenteditable attribute for distributed nodes. |
| https://bugs.webkit.org/show_bug.cgi?id=90017 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| If an element is distributed to an insertion point, the element's |
| webkit-user-modify is inherited from its shadow host. |
| |
| No new tests, because the existing test: user-modify-inheritance.html |
| covers this change. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::styleForElement): |
| After an element inherits a style from its parent, override user-modify |
| by using the shadow host's style if the element is distributed. |
| |
| 2012-10-16 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Get rid of (now empty) JavaScriptSource and StyleSource, rename all usages to UISourceCode. |
| https://bugs.webkit.org/show_bug.cgi?id=99469 |
| |
| Reviewed by Pavel Feldman. |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/compile-front-end.py: |
| * inspector/front-end/BreakpointManager.js: |
| (WebInspector.BreakpointManager.prototype._uiSourceCodeAdded): |
| (WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved): |
| * inspector/front-end/CompilerScriptMapping.js: |
| * inspector/front-end/JavaScriptSource.js: Removed. |
| * inspector/front-end/JavaScriptSourceFrame.js: |
| (WebInspector.JavaScriptSourceFrame): |
| (WebInspector.JavaScriptSourceFrame.prototype.canEditSource): |
| (WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyChanged): |
| (WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyCommitted): |
| (WebInspector.JavaScriptSourceFrame.prototype._innerSetContent): |
| (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu): |
| (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu): |
| (WebInspector.JavaScriptSourceFrame.prototype.onTextChanged): |
| (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing): |
| (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing): |
| (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded): |
| (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved): |
| (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded): |
| (WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick): |
| (WebInspector.JavaScriptSourceFrame.prototype._toggleBreakpoint): |
| (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint): |
| (WebInspector.JavaScriptSourceFrame.prototype._continueToLine): |
| * inspector/front-end/NetworkUISourceCodeProvider.js: |
| (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource): |
| (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded): |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode): |
| * inspector/front-end/ScriptSnippetModel.js: |
| (WebInspector.ScriptSnippetModel): |
| (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet): |
| (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.get var): |
| (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback): |
| (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet): |
| (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): |
| (WebInspector.ScriptSnippetModel.prototype._removeBreakpoints): |
| (WebInspector.ScriptSnippetModel.prototype._projectWillReset): |
| (WebInspector.SnippetScriptFile): |
| (WebInspector.SnippetScriptFile.prototype._workingCopyCommitted): |
| (WebInspector.SnippetScriptFile.prototype._workingCopyChanged): |
| * inspector/front-end/ScriptsNavigator.js: |
| (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet): |
| (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._createSourceFrame): |
| (WebInspector.ScriptsPanel.prototype._uiSourceCodeFormatted): |
| (WebInspector.ScriptsPanel.prototype._showOutlineDialog): |
| (WebInspector.ScriptsPanel.prototype.set _fileRenamed): |
| (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback): |
| (WebInspector.ScriptsPanel.prototype._snippetCreationRequested): |
| * inspector/front-end/SnippetJavaScriptSourceFrame.js: |
| (WebInspector.SnippetJavaScriptSourceFrame): |
| (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked): |
| * inspector/front-end/StyleSheetOutlineDialog.js: |
| (WebInspector.StyleSheetOutlineDialog): |
| (WebInspector.StyleSheetOutlineDialog.show): |
| (WebInspector.StyleSheetOutlineDialog.prototype.requestItems): |
| * inspector/front-end/StyleSource.js: Removed. |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/inspector.html: |
| |
| 2012-10-15 Jer Noble <jer.noble@apple.com> |
| |
| WebAudio: limit output level to 0db |
| https://bugs.webkit.org/show_bug.cgi?id=95792 |
| <rdar://problem/11966135> |
| |
| Reviewed by Chris Rogers. |
| |
| Clamp the output buffer data to the range of [-1,1], which limits |
| output volume to 0db. This ensures that malicious or poorly-written |
| pages will not be able to blow through the system volume limit by |
| creating >0db buffers and effects. |
| |
| No new tests; added ManualTests/webaudio/limit-level-0db.html. |
| |
| Clamp the output vector to values of [-1,1]: |
| * platform/audio/mac/AudioDestinationMac.cpp: |
| (WebCore::AudioDestinationMac::render): |
| |
| Add a VectorMath wrapper for vDSP_clip to provide accelerated vector threshold operations: |
| * platform/audio/VectorMath.h: |
| * platform/audio/VectorMath.cpp: |
| (VectorMath): |
| (WebCore::VectorMath::vclip): |
| |
| 2012-10-15 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Extract domain specific editing handling logic from UISourceCode (step 2). |
| https://bugs.webkit.org/show_bug.cgi?id=99301 |
| |
| Reviewed by Pavel Feldman. |
| |
| StyleFile and ScriptFile now listen for the UISourceCode WorkingCopyChanged/Committed events and process |
| them instead of being called explicitly. |
| |
| * inspector/front-end/JavaScriptSourceFrame.js: |
| (WebInspector.JavaScriptSourceFrame): |
| (WebInspector.JavaScriptSourceFrame.prototype.onTextChanged): |
| (WebInspector.JavaScriptSourceFrame.prototype._willMergeToVM): |
| (WebInspector.JavaScriptSourceFrame.prototype._didMergeToVM): |
| (WebInspector.JavaScriptSourceFrame.prototype._willDivergeFromVM): |
| (WebInspector.JavaScriptSourceFrame.prototype._didDivergeFromVM): |
| (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing): |
| (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing): |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM): |
| (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM): |
| (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts): |
| (WebInspector.ResourceScriptFile): |
| (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted): |
| (WebInspector.ResourceScriptFile.prototype._workingCopyChanged): |
| * inspector/front-end/ScriptSnippetModel.js: |
| (WebInspector.SnippetScriptFile): |
| (WebInspector.SnippetScriptFile.prototype._workingCopyCommitted): |
| (WebInspector.SnippetScriptFile.prototype._workingCopyChanged): |
| * inspector/front-end/StylesSourceMapping.js: |
| (WebInspector.StyleFile): |
| (WebInspector.StyleFile.prototype._workingCopyCommitted): |
| (WebInspector.StyleFile.prototype._workingCopyChanged): |
| (WebInspector.StyleFile.prototype._commitIncrementalEdit): |
| (WebInspector.StyleFile.prototype._clearIncrementalUpdateTimer): |
| (WebInspector.StyleFile.prototype.addRevision): |
| (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged): |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode.prototype.setWorkingCopy): |
| (WebInspector.UISourceCode.prototype.commitWorkingCopy): |
| |
| 2012-10-16 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [Elements] Double-click to live edit style tags changes text to 'undefined' in some situations |
| https://bugs.webkit.org/show_bug.cgi?id=99336 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Before editing text nodes, set their textContent to the nodeValue() of the corresponding WebInspector.DOMNode in the UI. |
| Drive-by: fix text node editing artifact in the DOM tree. |
| |
| * inspector/front-end/ElementsTreeOutline.js: |
| (WebInspector.ElementsTreeElement.prototype._startEditingTextNode): |
| (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): |
| |
| 2012-10-16 Mike West <mkwst@chromium.org> |
| |
| Web Inspector: Whitelist safe styles for 'console.log('%c...', ...)'. |
| https://bugs.webkit.org/show_bug.cgi?id=98945 |
| |
| Reviewed by Pavel Feldman. |
| |
| Support for styling console messages via '%c' landed without any |
| parsing of the style information provided. This means that it's fairly |
| simple to accidentally or maliciously break the console with cleverly |
| styled messages. To mitigate this risk, whitelisting a safe subset of |
| CSS seems appropriate. |
| |
| As a first pass at a reasonable whitelist, this patch allows |
| 'background[-*]', 'border[-*]', 'color[-*]', 'font[-*]', |
| 'margin[-*]', 'padding[-*]', 'text[-*]', '-webkit-background[-*]', |
| '-webkit-border[-*]', '-webkit-font[-*]', '-webkit-margin[-*]', |
| '-webkit-padding[-*]', and '-webkit-text[-*]'. |
| |
| Test: inspector/console/console-format-style-whitelist.html |
| |
| * inspector/front-end/ConsoleMessage.js: |
| (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString.styleFormatter): |
| Create a buffer element onto which the user-provided styles are |
| applied. Whitelisted styles are transfered from the buffer onto |
| the actual console message. |
| (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString.isWhitelistedProperty): |
| Returns true if the specific style is whitelisted. Expects styles |
| in the hyphenated form (that is, '-webkit-padding-start' rather than |
| CSSOM's 'webkitPaddingStart'). |
| |
| 2012-10-16 Luke Macpherson <macpherson@chromium.org> |
| |
| Handle CSSPropertyOpacity in StyleBuilder. |
| https://bugs.webkit.org/show_bug.cgi?id=99418 |
| |
| Reviewed by Alexis Menard. |
| |
| One small step in moving from the huge switch in StyleResolver::applyProperty() to the StyleBuilder approach. |
| |
| Covered by many existing tests, for example fast/text/complex-text-opacity.html. |
| |
| * css/StyleBuilder.cpp: |
| (WebCore::StyleBuilder::StyleBuilder): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::applyProperty): |
| |
| 2012-10-16 Kent Tamura <tkent@chromium.org> |
| |
| Fix some appearance glitches of multiple fields input elements |
| https://bugs.webkit.org/show_bug.cgi?id=99412 |
| |
| A follow-up change for r131421. |
| |
| * css/themeWin.css: |
| (input[type="text"]): Don't reset paddings for date/time types. |
| |
| 2012-10-16 Kenichi Ishibashi <bashi@chromium.org> |
| |
| hb_face_t instances should not depend on FontPlatformData |
| https://bugs.webkit.org/show_bug.cgi?id=99430 |
| |
| Reviewed by Kent Tamura. |
| |
| Use platform specific font data (e.g. SkTypeface) to get |
| font tables for harfbuzz-ng. |
| |
| No new tests. No changes in behavior. |
| |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp: |
| (WebCore::harfbuzzCairoGetTable): Takes cairo_scaled_font_t* as userData. |
| (WebCore::HarfBuzzNGFace::createFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCoreText.cpp: |
| (WebCore::harfbuzzCoreTextGetTable): Takes CGFontRef as userData. |
| (WebCore::HarfBuzzNGFace::createFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp: |
| (WebCore::harfbuzzSkiaGetTable): Takes SkFontID as userData. |
| (WebCore::HarfBuzzNGFace::createFace): |
| |
| 2012-10-16 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r131418. |
| http://trac.webkit.org/changeset/131418 |
| https://bugs.webkit.org/show_bug.cgi?id=99431 |
| |
| since 131403 seems innocent (Requested by shinyak|_ on |
| #webkit). |
| |
| * dom/Document.cpp: |
| (WebCore::isValidNameNonASCII): |
| (WebCore): |
| (WebCore::Document::isValidName): |
| |
| 2012-10-16 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: NMI Instrument InspectorOverlay. It costs us ~9Mb because it creates page size canvas. |
| https://bugs.webkit.org/show_bug.cgi?id=99426 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| New object type InspectorOverlay was added. InspectorOverlay was instrumented. |
| The instrumentation code automatically visits all the objects that can be reached via m_overlayPage. |
| |
| * dom/WebCoreMemoryInstrumentation.cpp: |
| (WebCore): |
| * dom/WebCoreMemoryInstrumentation.h: |
| (WebCoreMemoryTypes): |
| * inspector/InspectorOverlay.cpp: |
| (WebCore::InspectorOverlay::reportMemoryUsage): |
| (WebCore): |
| * inspector/InspectorOverlay.h: |
| (InspectorOverlay): |
| |
| 2012-10-16 Kent Tamura <tkent@chromium.org> |
| |
| Remove unused functions in Locale* classes |
| https://bugs.webkit.org/show_bug.cgi?id=99425 |
| |
| Reviewed by Yuta Kitamura. |
| |
| Locale*::currentLocale has been unused since LocalizedDate* and |
| LocalizedNumber* were removed. |
| |
| No new tests. This shouldn't change any behavior. |
| |
| * platform/text/LocaleICU.cpp: Remove createForCurrentLocale and currentLocale. |
| * platform/text/LocaleICU.h: Ditto. |
| * platform/text/LocaleWin.cpp: Remove currentLocale. |
| * platform/text/LocaleWin.h: Ditto. |
| * platform/text/mac/LocaleMac.h: Remove currentLocale. |
| * platform/text/mac/LocaleMac.mm: Ditto. |
| |
| 2012-10-15 Kent Tamura <tkent@chromium.org> |
| |
| Fix some appearance glitches of multiple fields input elements |
| https://bugs.webkit.org/show_bug.cgi?id=99412 |
| |
| Reviewed by Kentaro Hara. |
| |
| 1. If CSS-specified width is wider than the intrinsic width of an input, |
| the spin button and the picker indicator triangle should be put at the |
| right side of the content area. |
| |
| 2. Remove top, right, and bottom paddings to match input[type=number] |
| appearance as possible. |
| |
| 3. Remove unnecessary position:relative for spin buttons. |
| |
| 4. Center content vertically if the height is taller than the intrinsic height. |
| |
| Tests: Update all of rendering tests for input element with multiple fields UI. |
| |
| * css/html.css: |
| (input[type="date"]): |
| - Specify display:-webkit-inline-flex and -webkit-align-items:stretch to center contents. |
| - Remove top/right/bottom paddings. |
| (input[type="datetime"]): Ditto. |
| (input[type="datetime-local"]): Ditto. |
| (input[type="month"]): Ditto. |
| (input[type="time"]): Ditto. |
| (input[type="week"]): Ditto. |
| (input::-webkit-datetime-edit): |
| - Switch to the starndard flexible box from the legacy one. |
| - Add white-space:pre to avoid to collapse white spaces. |
| (input::-webkit-datetime-edit-gap): |
| Added. This element is added to push a spin button to the right side. |
| (input::-webkit-date-and-time-container): |
| Add -webkit-flex:1 for the input flexible box. |
| Sort properties. |
| (input[type="week"]::-webkit-inner-spin-button): |
| - Use this in date, datetime, datetime-local, and week types. |
| - Add display:inline-block because other elements in -webkit-datetime-edit is inilne. |
| - Add position:static to cancel position:relative below. |
| |
| * html/shadow/DateTimeEditElement.cpp: |
| (WebCore::DateTimeEditElement::layout): |
| Add an element with -webkit-datetime-edit-gap before a spin button. |
| |
| 2012-10-15 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: can't click delete button if watch expression is very long |
| https://bugs.webkit.org/show_bug.cgi?id=99414 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Minus button in watch expression section doesn't overlap with the |
| expression/value anymore. |
| |
| * inspector/front-end/inspector.css: |
| (.properties-tree.watch-expressions > li.hovered): |
| |
| 2012-10-15 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r131403. |
| http://trac.webkit.org/changeset/131403 |
| https://bugs.webkit.org/show_bug.cgi?id=99420 |
| |
| Suspicious to cause Performance test failing (Requested by |
| shinyak|gardenin on #webkit). |
| |
| * dom/Document.cpp: |
| (WebCore::Document::isValidName): |
| |
| 2012-10-15 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: restore watch expression expansion state |
| https://bugs.webkit.org/show_bug.cgi?id=99304 |
| |
| Reviewed by Pavel Feldman. |
| |
| Expand watch expression value and its properties if they were expanded |
| before update. |
| |
| Test: inspector/debugger/watch-expressions-preserve-expansion.html |
| |
| * inspector/front-end/WatchExpressionsSidebarPane.js: |
| (WebInspector.WatchExpressionTreeElement.prototype.onexpand): |
| (WebInspector.WatchExpressionTreeElement.prototype.oncollapse): |
| (WebInspector.WatchExpressionTreeElement.prototype.onattach): |
| (WebInspector.WatchExpressionTreeElement.prototype._expression): |
| (WebInspector.WatchedPropertyTreeElement): |
| (WebInspector.WatchedPropertyTreeElement.prototype.onattach): |
| (WebInspector.WatchedPropertyTreeElement.prototype.onexpand): |
| (WebInspector.WatchedPropertyTreeElement.prototype.oncollapse): |
| (WebInspector.WatchedPropertyTreeElement.prototype._propertyPath): |
| |
| 2012-10-15 Mike West <mkwst@chromium.org> |
| |
| Warn when CSP headers don't separate directives with ';'. |
| https://bugs.webkit.org/show_bug.cgi?id=99274 |
| |
| Reviewed by Adam Barth. |
| |
| A recent bug report exhibited confusion as to what role, exactly, |
| semicolons play in Content Security Policy definitions. This patch |
| adjusts the parser to warn web authors if a directive name is |
| encountered while parsing a source list, which would almost certainly |
| point to a missing semicolon. For example, something like: |
| |
| script-src 'self' object-src 'self' style-src * |
| |
| would throw two warnings, noting that 'object-src' and 'style-src' are |
| probably meant as directives, and not as source expressions in the |
| 'script-src' source list. |
| |
| Test: http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html |
| |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::CSPSourceList::parse): |
| Throw the new warning onto the console if the hostname of a source |
| expression matches a CSP directive name. |
| (WebCore::CSPDirectiveList::addDirective): |
| Use the exciting new static variables so that the names of various |
| directives are available outside of CSPDirectiveList::addDirective. |
| These were previously defined as local static ASCIILiterals. Now |
| they're static const char[] in an anonymous namespace. |
| (WebCore::ContentSecurityPolicy::isDirectiveName): |
| Static method that compares a string to all the known directive |
| names, returning true if there's a (case-insensitive) match. |
| (WebCore): |
| (WebCore::ContentSecurityPolicy::reportDirectiveAsSourceExpression): |
| A new warning message which should be printed when a directive name |
| is encountered as a source expression. Matching the directive name |
| is done via a new 'isDirectiveName' function which lives in an |
| anonymous namespace along with the other CSP helper functions. |
| * page/ContentSecurityPolicy.h: |
| Added 'reportDirectiveAsSourceExpression' signature. |
| |
| 2012-10-15 Gyuyoung Kim <gyuyoung.kim@samsung.com> |
| |
| Unreviewed, rolling out r131349. |
| http://trac.webkit.org/changeset/131349 |
| https://bugs.webkit.org/show_bug.cgi?id=97173 |
| |
| Revert r131349 because API test is broken by this commit. |
| |
| * platform/efl/RunLoopEfl.cpp: |
| (WebCore::RunLoop::RunLoop): |
| (WebCore::RunLoop::~RunLoop): |
| |
| 2012-10-15 Nate Chapin <japhet@chromium.org> |
| |
| ResourceLoader::sendResourceLoadCallbacks() is backwards |
| https://bugs.webkit.org/show_bug.cgi?id=99366 |
| |
| Reviewed by Daniel Bates. |
| |
| No new tests, this function is uncalled but will be used |
| in a later patch. |
| |
| * loader/ResourceLoader.h: |
| (WebCore::ResourceLoader::sendResourceLoadCallbacks): |
| |
| 2012-10-15 Dan Bernstein <mitz@apple.com> |
| |
| REGRESSION (r131365): WidthIterator::advance() is needlessly passed a GlyphBuffer in many cases |
| https://bugs.webkit.org/show_bug.cgi?id=99413 |
| |
| Reviewed by Adele Peterson. |
| |
| r131365 made Font::width() always pass a GlyphBuffer pointer to floatWidthForSimpleText and |
| from there down to WidthIterator::advance(). However, when measuring the width of a run, a |
| GlyphBuffer is only needed if font transforms (kerning and ligatures) need to be applied. |
| |
| No new test, because there is no change in behavior. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::width): Removed the local GlyphBuffer that was passed down to |
| floatWidthForSimpleText(). |
| * platform/graphics/Font.h: Removed the GlyphBuffer* parameter to floatWidthForSimpleText. |
| All but the above caller were passing 0. |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::floatWidthForSimpleText): Removed the GlyphBuffer* parameter and added a |
| local GlyphBuffer, which is passed by reference to WidthIterator::advance() only if |
| typesetting features require it. |
| (WebCore::Font::offsetForPositionForSimpleText): Updated for change to |
| floatWidthForSimpleText. |
| * platform/graphics/pango/FontPango.cpp: |
| (WebCore::Font::floatWidthForComplexText): Ditto. |
| |
| 2012-10-15 Pablo Flouret <pablof@motorola.com> |
| |
| Add force parameter to DOMTokenList.toggle |
| https://bugs.webkit.org/show_bug.cgi?id=99375 |
| |
| Reviewed by Darin Adler. |
| |
| See http://dom.spec.whatwg.org/#dom-domtokenlist-toggle and |
| https://www.w3.org/Bugs/Public/show_bug.cgi?id=18463 |
| |
| Essentially, the optional boolean force parameter, if present, makes |
| toggle always add or remove a class. |
| |
| No new tests, modified fast/dom/HTMLElement/script-tests/class-list.js |
| |
| * html/DOMTokenList.cpp: |
| (WebCore::DOMTokenList::toggle): |
| (WebCore): |
| * html/DOMTokenList.h: |
| (DOMTokenList): |
| * html/DOMTokenList.idl: |
| New toggle() overload that takes a force parameter and calls |
| addInternal() or removeInternal() based on it. |
| |
| 2012-10-15 Dan Bernstein <mitz@apple.com> |
| |
| Layout Test fast/text/justify-ideograph-leading-expansion.html is failing an assertion chromium mac |
| https://bugs.webkit.org/show_bug.cgi?id=99406 |
| |
| Reviewed by Darin Adler. |
| |
| * platform/graphics/WidthIterator.cpp: |
| * platform/graphics/WidthIterator.h: |
| (WebCore::WidthIterator::shouldApplyFontTransforms): Changed to return false if the run is |
| shorter than 2 characters. 1-character runs are invariant under font transforms, and therefore |
| Font::codePath() sends them through WidthIterator even on platforms where WidthIterator |
| does not support kerning and ligatures. |
| |
| 2012-10-15 Michael Saboff <msaboff@apple.com> |
| |
| Add 8 bit patch to Document::isValidName() for the non ASCII case |
| https://bugs.webkit.org/show_bug.cgi?id=99402 |
| |
| Reviewed by Darin Adler. |
| |
| Added 8 bit path to complete the processing of an 8 bit names without up-converting. |
| |
| * dom/Document.cpp: |
| (WebCore::isValidNameNonASCII): |
| (WebCore::Document::isValidName): |
| |
| 2012-10-15 Vlad Grecescu <igrecesc@adobe.com>, Douglas Stockwell <dstockwell@chromium.org> |
| |
| Support for background-clip:content-box and padding-box with border-radius |
| https://bugs.webkit.org/show_bug.cgi?id=23166 |
| |
| Reviewed by Simon Fraser. |
| |
| Test: fast/css/background-clip-radius-values.html |
| |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::clipRoundedInnerRect): |
| (WebCore): |
| (WebCore::RenderBoxModelObject::paintFillLayerExtended): |
| * rendering/RenderBoxModelObject.h: |
| |
| 2012-10-15 Byungwoo Lee <bw80.lee@samsung.com> |
| |
| Fix unused parameter build warning. |
| https://bugs.webkit.org/show_bug.cgi?id=99400 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Remove the name of unused parameters to fix the build warning (-Wunused-parameter). |
| |
| * platform/network/soup/ResourceErrorSoup.cpp: |
| (WebCore::ResourceError::tlsError): |
| |
| 2012-10-15 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [WebSocket] WebSocketInflater should handle BFINAL = 1 blocks |
| https://bugs.webkit.org/show_bug.cgi?id=99282 |
| |
| Reviewed by Yuta Kitamura. |
| |
| Reset decompression state if WebSocketInflater decompress a block with |
| BFINAL set to 1. |
| |
| Test: http/tests/websocket/tests/hybi/deflate-frame-set-bfinal.html |
| |
| * Modules/websockets/WebSocketDeflater.cpp: |
| (WebCore::WebSocketInflater::addBytes): |
| Reset decompression state if inflate() returns Z_STREAM_END, which means the BFINAL |
| of the current block was set to 1. |
| (WebCore::WebSocketInflater::finish): Add an assertion. |
| |
| 2012-10-15 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix GraphicsLayer visible rect computation when scrolling in WebKit1 |
| https://bugs.webkit.org/show_bug.cgi?id=99385 |
| |
| Reviewed by Dean Jackson, Tim Horton. |
| |
| RenderLayerCompositor always used frameView->frameRect() as the visible |
| rect on the root used for GraphicsLayer visibleRect computation. This |
| was wrong for subframes, which require a rect with an origin of (0,0) |
| and size of the contentsSize(). |
| |
| It was also wrong when the scrolling is not represented in the GraphicsLayer |
| tree. When scrolling is done elsewhere, we need to use the ScrollView's |
| visibleContentRect(). |
| |
| Tests: compositing/visible-rect/scrolled.html |
| compositing/visible-rect/iframe-and-layers.html |
| compositing/visible-rect/iframe-no-layers.html |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::flushPendingLayerChanges): |
| |
| 2012-10-15 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Remove page visibility hidden histograms |
| https://bugs.webkit.org/show_bug.cgi?id=99360 |
| |
| Reviewed by Ojan Vafai. |
| |
| The 2 page visibility hidden histograms were added in http://webkit.org/b/85537 to |
| investigate a potential optimization where we would destroy the render tree when |
| a tab was hidden. The optimization was abandoned but the histograms were never |
| removed. They are too narrow to be reused so this change removes them. |
| |
| * page/Page.cpp: |
| (WebCore::Page::setVisibilityState): |
| |
| 2012-10-15 Ryuan Choi <ryuan.choi@samsung.com> |
| |
| REGRESSION: Build break after r131373 when ACCELERATED_COMPOSITING disabled |
| https://bugs.webkit.org/show_bug.cgi?id=99397 |
| |
| Unreviewed, build fix. |
| |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition): |
| |
| 2012-10-14 Kent Tamura <tkent@chromium.org> |
| |
| Input elements with multiple fields UI should set appropriate direction for browser locale automatically |
| https://bugs.webkit.org/show_bug.cgi?id=99291 |
| |
| Reviewed by Hajime Morita. |
| |
| Input elemnts with multiple fields UI ignores HTML dir attribute or CSS |
| direction property, and their direction should be decided by the browser |
| locale. If the browser locale is a RTL language, date/time input fields |
| show formats/digits for the RTL language. The layout should be always |
| RTL regardless of the direction in such case. |
| |
| Test: fast/forms/date-multiple-fields/date-multiple-fields-appearance-l10n.html |
| |
| * html/BaseMultipleFieldsDateAndTimeInputType.cpp: |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): |
| Set approriate dir attribute value to the child element of the UA shadow root. |
| |
| 2012-10-15 Andreas Kling <kling@webkit.org> |
| |
| StyleResolver: Garbage collect the matched properties cache on a timer. |
| <http://webkit.org/b/98625> |
| |
| Reviewed by Eric Seidel. |
| |
| Sweeping the matched properties cache once every 100 additions ended up choking RoboHornet's |
| svgresize.html benchmark. Move it to a single-shot timer that's refreshed every 100 additions |
| and defers the actual sweep for 60 seconds. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::StyleResolver): |
| (WebCore::StyleResolver::sweepMatchedPropertiesCache): |
| (WebCore::StyleResolver::addToMatchedPropertiesCache): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| |
| 2012-10-15 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| [GStreamer] GstCaps are leaked when building with gstreamer-1.0 |
| https://bugs.webkit.org/show_bug.cgi?id=99362 |
| |
| Reviewed by Martin Robinson. |
| |
| Implement GRefPtr<GstCaps> adoptGRef(GstCaps*). |
| |
| Change webkitGstGetPadCaps signature to return a GRefPtr<GstCaps>, and |
| use GRefPtr<GstCaps> also in webkitVideoSinkRender to simply GstCaps |
| refeference count. |
| |
| Covered by existing tests. |
| |
| * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: |
| (WTF::adoptGRef): |
| (WTF): |
| * platform/graphics/gstreamer/GRefPtrGStreamer.h: |
| (WTF): |
| * platform/graphics/gstreamer/GStreamerVersioning.cpp: |
| (webkitGstGetPadCaps): |
| * platform/graphics/gstreamer/GStreamerVersioning.h: |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: |
| (WebCore::MediaPlayerPrivateGStreamer::naturalSize): |
| * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: |
| (webkitVideoSinkRender): |
| |
| 2012-10-15 Tony Chang <tony@chromium.org> |
| |
| Unreviewed, rolling out r131367. |
| http://trac.webkit.org/changeset/131367 |
| https://bugs.webkit.org/show_bug.cgi?id=98666 |
| |
| crashes on Apple Mac |
| |
| * css/html.css: |
| (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): |
| (input[type="range"]::-webkit-slider-runnable-track): |
| (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb): |
| * css/mediaControlsChromium.css: |
| (input[type="range"]::-webkit-media-slider-thumb): |
| * css/mediaControlsChromiumAndroid.css: |
| (input[type="range"]::-webkit-media-slider-thumb): |
| * html/RangeInputType.cpp: |
| (WebCore::RangeInputType::listAttributeTargetChanged): |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::RenderSliderThumb::layout): |
| (WebCore): |
| (WebCore::RenderSliderContainer::RenderSliderContainer): |
| (RenderSliderContainer): |
| (WebCore::RenderSliderContainer::layout): |
| * html/shadow/SliderThumbElement.h: |
| (RenderSliderThumb): |
| * rendering/RenderSlider.cpp: |
| (WebCore): |
| (WebCore::RenderSlider::RenderSlider): |
| (WebCore::RenderSlider::layout): |
| * rendering/RenderSlider.h: |
| (WebCore): |
| (RenderSlider): |
| (WebCore::RenderSlider::renderName): |
| (WebCore::RenderSlider::isSlider): |
| (WebCore::RenderSlider::requiresForcedStyleRecalcPropagation): |
| (WebCore::toRenderSlider): |
| |
| 2012-10-15 Dan Bernstein <mitz@apple.com> |
| |
| Try to fix the build again after r131375. |
| |
| * platform/graphics/WidthIterator.h: |
| (WebCore::WidthIterator::shouldApplyFontTransforms): Removed the length check from here. |
| |
| 2012-10-15 Dan Bernstein <mitz@apple.com> |
| |
| Try to fix assertion failures on ports that do not support kerning and ligatures on the fast |
| code path after r131365. |
| |
| * platform/graphics/WidthIterator.cpp: |
| (WebCore::applyFontTransforms): Changed the early return condition to not bother with 1-glyph |
| sequences. |
| * platform/graphics/WidthIterator.h: |
| (WebCore::WidthIterator::shouldApplyFontTransforms): Changed to return false if the run is |
| shorter than 2 characters. |
| |
| 2012-10-15 Dan Bernstein <mitz@apple.com> |
| |
| Try to fix the Chromium Mac build after r131365. |
| |
| * platform/graphics/GlyphBuffer.h: |
| (WebCore::GlyphBufferAdvance::height): Added. |
| * platform/graphics/skia/FontSkia.cpp: |
| (WebCore::Font::drawGlyphs): Changed to use accessors for the GlyphBufferAdvance’s width and height. |
| |
| 2012-10-15 Simon Fraser <simon.fraser@apple.com> |
| |
| Ensure that GraphicsLayer positions are updated while doing threaded scrolling |
| https://bugs.webkit.org/show_bug.cgi?id=99372 |
| |
| Reviewed by Anders Carlsson. |
| |
| When doing threaded scrolling, the scrolling thread updates the positions of CALayers, |
| but doesn't update GraphicsLayers. This means that code that relies on GraphicsLayer positions |
| works incorrectly. |
| |
| Threaded scrolling is not testabled in layout tests. |
| |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition): |
| * platform/graphics/GraphicsLayer.h: |
| (GraphicsLayer): |
| (WebCore::GraphicsLayer::syncPosition): |
| |
| 2012-10-15 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: Implement RTCDataChannel |
| https://bugs.webkit.org/show_bug.cgi?id=99080 |
| |
| Reviewed by Adam Barth. |
| |
| This patch introduces RTCDataChannel which is a pipe for sending data between two RTCPeerConnections. |
| Since the data channel belongs to a peer connection object I have reused part of its infrastructure. |
| |
| Not currently testable. My next patch will add the chromium WebKit functionality, together with mocks and tests. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Modules/mediastream/RTCDataChannel.cpp: Added. |
| (WebCore): |
| (WebCore::RTCDataChannel::create): |
| (WebCore::RTCDataChannel::RTCDataChannel): |
| (WebCore::RTCDataChannel::~RTCDataChannel): |
| (WebCore::RTCDataChannel::label): |
| (WebCore::RTCDataChannel::reliable): |
| (WebCore::RTCDataChannel::readyState): |
| (WebCore::RTCDataChannel::bufferedAmount): |
| (WebCore::RTCDataChannel::binaryType): |
| (WebCore::RTCDataChannel::setBinaryType): |
| (WebCore::RTCDataChannel::send): |
| (WebCore::RTCDataChannel::close): |
| (WebCore::RTCDataChannel::readyStateChanged): |
| (WebCore::RTCDataChannel::dataArrived): |
| (WebCore::RTCDataChannel::error): |
| (WebCore::RTCDataChannel::descriptor): |
| (WebCore::RTCDataChannel::interfaceName): |
| (WebCore::RTCDataChannel::scriptExecutionContext): |
| (WebCore::RTCDataChannel::stop): |
| (WebCore::RTCDataChannel::eventTargetData): |
| (WebCore::RTCDataChannel::ensureEventTargetData): |
| * Modules/mediastream/RTCDataChannel.h: Added. |
| (WebCore): |
| (RTCDataChannel): |
| (WebCore::RTCDataChannel::refEventTarget): |
| (WebCore::RTCDataChannel::derefEventTarget): |
| * Modules/mediastream/RTCDataChannel.idl: Added. |
| * Modules/mediastream/RTCDataChannelEvent.cpp: Added. |
| (WebCore): |
| (WebCore::RTCDataChannelEvent::create): |
| (WebCore::RTCDataChannelEvent::RTCDataChannelEvent): |
| (WebCore::RTCDataChannelEvent::~RTCDataChannelEvent): |
| (WebCore::RTCDataChannelEvent::channel): |
| (WebCore::RTCDataChannelEvent::interfaceName): |
| * Modules/mediastream/RTCDataChannelEvent.h: Added. |
| (WebCore): |
| (RTCDataChannelEvent): |
| * Modules/mediastream/RTCDataChannelEvent.idl: Added. |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::createDataChannel): |
| (WebCore): |
| (WebCore::RTCPeerConnection::close): |
| (WebCore::RTCPeerConnection::didAddRemoteDataChannel): |
| (WebCore::RTCPeerConnection::stop): |
| * Modules/mediastream/RTCPeerConnection.h: |
| (WebCore): |
| (RTCPeerConnection): |
| * Modules/mediastream/RTCPeerConnection.idl: |
| * WebCore.gypi: |
| * dom/EventNames.h: |
| (WebCore): |
| * dom/EventNames.in: |
| * dom/EventTargetFactory.in: |
| * platform/mediastream/RTCDataChannelDescriptor.cpp: Added. |
| (WebCore): |
| (WebCore::RTCDataChannelDescriptor::create): |
| (WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor): |
| (WebCore::RTCDataChannelDescriptor::~RTCDataChannelDescriptor): |
| (WebCore::RTCDataChannelDescriptor::readyStateChanged): |
| (WebCore::RTCDataChannelDescriptor::dataArrived): |
| (WebCore::RTCDataChannelDescriptor::error): |
| * platform/mediastream/RTCDataChannelDescriptor.h: Added. |
| (WebCore): |
| (RTCDataChannelDescriptorClient): |
| (WebCore::RTCDataChannelDescriptorClient::~RTCDataChannelDescriptorClient): |
| (RTCDataChannelDescriptor): |
| (ExtraData): |
| (WebCore::RTCDataChannelDescriptor::ExtraData::~ExtraData): |
| (WebCore::RTCDataChannelDescriptor::client): |
| (WebCore::RTCDataChannelDescriptor::setClient): |
| (WebCore::RTCDataChannelDescriptor::label): |
| (WebCore::RTCDataChannelDescriptor::reliable): |
| (WebCore::RTCDataChannelDescriptor::readyState): |
| (WebCore::RTCDataChannelDescriptor::bufferedAmount): |
| (WebCore::RTCDataChannelDescriptor::setBufferedAmount): |
| (WebCore::RTCDataChannelDescriptor::extraData): |
| (WebCore::RTCDataChannelDescriptor::setExtraData): |
| * platform/mediastream/RTCPeerConnectionHandler.cpp: |
| (RTCPeerConnectionHandlerDummy): |
| (WebCore::RTCPeerConnectionHandlerDummy::openDataChannel): |
| (WebCore): |
| (WebCore::RTCPeerConnectionHandlerDummy::sendStringData): |
| (WebCore::RTCPeerConnectionHandlerDummy::sendRawData): |
| (WebCore::RTCPeerConnectionHandlerDummy::closeDataChannel): |
| * platform/mediastream/RTCPeerConnectionHandler.h: |
| (WebCore): |
| (RTCPeerConnectionHandler): |
| * platform/mediastream/RTCPeerConnectionHandlerClient.h: |
| (WebCore): |
| (RTCPeerConnectionHandlerClient): |
| * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: |
| (WebCore::RTCPeerConnectionHandlerChromium::openDataChannel): |
| (WebCore): |
| (WebCore::RTCPeerConnectionHandlerChromium::sendStringData): |
| (WebCore::RTCPeerConnectionHandlerChromium::sendRawData): |
| (WebCore::RTCPeerConnectionHandlerChromium::closeDataChannel): |
| * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: |
| (RTCPeerConnectionHandlerChromium): |
| |
| 2012-10-15 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Pass type of error causing abort to IDBTransaction::onAbort |
| https://bugs.webkit.org/show_bug.cgi?id=99097 |
| |
| Reviewed by Tony Chang. |
| |
| Include the error causing the abort in the callback from back end to |
| front end so it can be exposed on the IDBTransaction.error property. |
| |
| Test: lazy-index-population.html |
| |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::setVersionInternal): |
| (WebCore::IDBDatabaseBackendImpl::setIntVersionInternal): |
| * Modules/indexeddb/IDBDatabaseCallbacks.h: |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::setIndexKeys): |
| (WebCore::IDBObjectStoreBackendImpl::putInternal): |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::onAbort): |
| * Modules/indexeddb/IDBTransaction.h: |
| (IDBTransaction): |
| * Modules/indexeddb/IDBTransactionBackendImpl.cpp: |
| (WebCore::IDBTransactionBackendImpl::abort): |
| (WebCore): |
| (WebCore::IDBTransactionBackendImpl::commit): |
| * Modules/indexeddb/IDBTransactionBackendImpl.h: |
| (IDBTransactionBackendImpl): |
| * Modules/indexeddb/IDBTransactionCallbacks.h: |
| (IDBTransactionCallbacks): |
| * inspector/InspectorIndexedDBAgent.cpp: |
| (WebCore): |
| |
| 2012-10-15 Mike Reed <reed@google.com> |
| |
| In Skia's ImageFrame, only set the isOpaque flag when the frame is complete |
| https://bugs.webkit.org/show_bug.cgi?id=99326 |
| |
| Reviewed by Stephen White. |
| |
| No new tests -- existing layouttests exercise this, esp. |
| png-partial-load-no-alpha.html |
| webp-partial-load.html |
| These two fail if skia is told that these are opaque, which it is w/o this CL. |
| |
| At the moment, Skia has a hack to ignore the opaque-setting, so that these tests will pass as is. |
| This change is to first, correct webkit to only set isOpaque when the frame is complete, so that |
| in a later change, Skia can remove the hack, and re-enable its opaqueness optimization. |
| |
| * platform/image-decoders/skia/ImageDecoderSkia.cpp: |
| (WebCore::ImageFrame::ImageFrame): |
| (WebCore::ImageFrame::operator=): |
| (WebCore::ImageFrame::zeroFillPixelData): |
| (WebCore::ImageFrame::hasAlpha): |
| (WebCore::ImageFrame::setHasAlpha): |
| (WebCore::ImageFrame::setStatus): |
| |
| 2012-10-12 Tony Chang <tony@chromium.org> |
| |
| input[type=range] as a flex item renders thumb at wrong position |
| https://bugs.webkit.org/show_bug.cgi?id=98666 |
| |
| Reviewed by Ojan Vafai. |
| |
| Replace RenderSlider implementation with new flexbox and clean up the shadow DOM. |
| The previous code was trying to set the height to 100% and had a bunch of hacks in |
| the renderer code to set an explicit height. Using the new flexbox allows us to |
| remove these renderer hacks. |
| |
| Test: css3/flexbox/flexitem-stretch-range.html |
| |
| * css/html.css: |
| (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container): Use new flexbox. |
| (input[type="range"]::-webkit-slider-runnable-track): Use new flexbox. |
| (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb): Remove relative positioning since we're |
| no longer setting top/left in the layout code. |
| * css/mediaControlsChromium.css: Remove redundant styles and bottom: 1px hack. |
| * css/mediaControlsChromiumAndroid.css: Remove redundant styles and bottom: 1px hack. |
| * html/RangeInputType.cpp: |
| (WebCore::RangeInputType::listAttributeTargetChanged): We need to force a layout |
| since the height of the control should change when adding/removing a datalist. |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::RenderSliderContainer::RenderSliderContainer): Use new flexbox. |
| (WebCore::RenderSliderContainer::computeLogicalHeight): Rather than setting style()->height() in layout, just compute the correct |
| height when asked. If we have a datalist, we increase the height (same code as before). If we're vertical, |
| we use the intrinsic size. |
| (WebCore::RenderSliderContainer::layout): Remove extra layout code, but handle the position of the thumb. |
| This used to be handled in the thumb's layout method, but I deleted that. |
| * html/shadow/SliderThumbElement.h: |
| * rendering/RenderSlider.cpp: |
| (WebCore::RenderSlider::RenderSlider): Use new flexbox. |
| (WebCore::RenderSlider::layout): Set the limiter size to the size of the thumb. This is necessary |
| for fast/css/unknown-pseudo-element-matching.html which tries to set the height of the thumb to 1px |
| and expects the input to also have a height of 1px. It worked before because the height of the input |
| didn't depend on the height of its children. |
| * rendering/RenderSlider.h: Fix indentation. |
| (RenderSlider): Use new flexible box. |
| |
| 2012-10-15 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Make RenderTable columns() and columnPositions() return a const reference |
| https://bugs.webkit.org/show_bug.cgi?id=99339 |
| |
| Reviewed by Abhishek Arya. |
| |
| The 2 getters were returning a non-const reference. This means that callers |
| could have modified the Vector's where only FixedTableLayout and AutoTableLayout |
| were expected to (for columnPositions(), no one should modify columns()). |
| |
| Refactoring covered by existing tests. |
| |
| * rendering/AutoTableLayout.cpp: |
| (WebCore::AutoTableLayout::layout): |
| * rendering/FixedTableLayout.cpp: |
| (WebCore::FixedTableLayout::layout): |
| Updated those functions to use the new setter. |
| |
| * rendering/RenderTable.h: |
| (WebCore::RenderTable::columns): |
| (WebCore::RenderTable::columnPositions): |
| Made the 2 functions return a const reference. They are also const now! |
| |
| (WebCore::RenderTable::setColumnPosition): |
| Added this setter. |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::addCell): |
| (WebCore::RenderTableSection::setCellLogicalWidths): |
| (WebCore::RenderTableSection::dirtiedColumns): |
| Updated to use a const reference. |
| |
| 2012-10-15 Dan Bernstein <mitz@apple.com> |
| |
| WebCore part of <rdar://problem/12470680> Font’s fast code path doesn’t support kerning and ligatures |
| https://bugs.webkit.org/show_bug.cgi?id=99113 |
| |
| Reviewed by Tim Horton. |
| |
| * WebCore.exp.in: Exported wkCTFontTransformGlyphs. |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::width): Added a local GlyphBuffer to pass to floatWidthForSimpleText(). |
| (WebCore::Font::codePath): Rather than always use the complex code path when any typesetting |
| features are enabled, changed to do so only if WidthIterator doesn’t support this Font’s |
| typesetting features. |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Added a local GlyphBuffer to pass to |
| WidthIterator::advance() when advancing to or from the range of interest. Added a FIXME |
| about how this is not entirely correct when kerning or ligatures are enabled. |
| (WebCore::Font::selectionRectForSimpleText): Added a local GlyphBuffer to pass to |
| WidthIterator::advance() when advancing to or from the range of interest. |
| (WebCore::Font::offsetForPositionForSimpleText): Updated for the change to |
| WidthIterator::advanceOneCharacter(). |
| * platform/graphics/SimpleFontData.h: |
| (WebCore::SimpleFontData::applyTransforms): Added. Calls wkCTFontTransformGlyphs() where |
| available. |
| * platform/graphics/WidthIterator.cpp: |
| (WebCore::WidthIterator::WidthIterator): Added initializer for the new m_typesettingFeatures |
| data member. |
| (OriginalAdvancesForCharacterTreatedAsSpace): Added this data type, used to track spaces and |
| characters treated as spaces. |
| (WebCore::applyFontTransforms): Added. Applies shaping and positioning transforms, as |
| required by the typesetting features, to the glyphs recently added to a GlyphBuffer, while |
| maintaining the advances of characters that are treated as spaces and the characters |
| preceding them, if necessary. |
| (WebCore::WidthIterator::advanceInternal): Added calls to applyFontTransforms() at the end |
| of each contiguous run of glyphs from the same font. Also added code to maintain a vector |
| of spaces and characters treated as space. |
| (WebCore::WidthIterator::advanceOneCharacter): Changed the parameter type from a pointer to |
| a reference. |
| * platform/graphics/WidthIterator.h: |
| (WebCore::WidthIterator::supportsTypesettingFeatures): Added. Returns whether WidthIterator |
| instances support the typesetting features of the given font. Returns true if the font is |
| not a screen font and its typesetting features are kerning, ligatures or both. |
| (WebCore::WidthIterator::shouldApplyFontTransforms): Added. Returns true if the typesetting |
| features include kerning or ligatures. |
| * platform/mac/WebCoreSystemInterface.h: Defined wkCTFontTransformOptions and declared |
| wkCTFontTransformGlyphs. |
| * platform/mac/WebCoreSystemInterface.mm: Defined wkCTFontTransformGlyphs. |
| * rendering/svg/SVGTextMetricsBuilder.cpp: |
| (WebCore::SVGTextMetricsBuilder::advanceSimpleText): Added a local GlyphBuffer to pass to |
| WidthIterator::advance(). |
| * rendering/svg/SVGTextRunRenderingContext.cpp: |
| (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Ditto. |
| |
| 2012-10-15 Mark Lam <mark.lam@apple.com> |
| |
| Fix build broken by r131348. |
| https://bugs.webkit.org/show_bug.cgi?id=97533. |
| |
| Not reviewed. |
| |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::layoutContent): |
| |
| 2012-10-15 Andreas Kling <kling@webkit.org> |
| |
| Remove WTF::fastDeleteAllValues(). |
| <http://webkit.org/b/99345> |
| |
| Reviewed by Eric Seidel. |
| |
| It was only used to fastDelete() a class that was already overriding operator delete |
| by way of WTF_MAKE_FAST_ALLOCATED anyway. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::~CSSParser): |
| |
| 2012-10-15 Levi Weintraub <leviw@chromium.org> |
| |
| Regression r130057: incorrect block pref width for alternating InlineFlow and inline Replaced |
| https://bugs.webkit.org/show_bug.cgi?id=99194 |
| |
| Reviewed by Eric Seidel. |
| |
| Correctly breaking lines after inline replaced elements that follow inline flows. Previously, alternating |
| these two types of elements would cause us to increase our preferred width forever. |
| |
| Test: fast/block/block-with-inline-replaced-children-in-inline-flows.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): |
| |
| 2012-10-15 Emil A Eklund <eae@chromium.org> |
| |
| Revert rounding change in RenderTable::paintObject |
| https://bugs.webkit.org/show_bug.cgi?id=99364 |
| |
| Reviewed by Levi Weintraub. |
| |
| Bug 91410 changed RenderTable::paintObject to round the offset |
| in order to avoid table-background bleed through. The root cause |
| for that has since been fixed and the rounding workaround is no |
| longer needed. This change reverts the code change from bug |
| 91410 while preserving the test added as a part of that change |
| as it now passes without the workaround. |
| |
| No new tests, covered by fast/sub-pixel/table-rows-no-gaps-expected.html |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::paintObject): |
| Remove unnecessary rounding. |
| |
| 2012-10-15 Michelangelo De Simone <michelangelo@webkit.org> |
| |
| [CSS Shaders] Add CustomFilterProgramType to CustomFilterProgramInfo |
| https://bugs.webkit.org/show_bug.cgi?id=96448 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| CustomFilterProgramInfo has been refactored to decouple the CustomFilterProgramType from |
| the CustomFilterProgramMixSetting: m_mixSettings.enabled was redundant in light of the fact |
| that m_programType encoded the very same information. Dependencies have been updated to reflect |
| this change. |
| |
| Current tests already cover this code. |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::valueForFilter): The check for mixSettings.enabled has been replaced |
| by an explicit check for PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE program type. |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::createCustomFilterOperation): Setting the program type explicitly while creating a |
| new filter program. |
| * platform/graphics/filters/CustomFilterProgram.cpp: |
| (WebCore::CustomFilterProgram::CustomFilterProgram): CustomFilterProgram's constructor has been updated to |
| reflect the need of setting the program type explicitly. |
| (WebCore::CustomFilterProgram::programInfo): Updated to create new CustomFilterProgramInfo setting the program |
| type explicitly. |
| * platform/graphics/filters/CustomFilterProgram.h: |
| * platform/graphics/filters/CustomFilterProgramInfo.cpp: |
| (WebCore::CustomFilterProgramInfo::CustomFilterProgramInfo): Added m_programType and udpated the related getter. |
| (WebCore::CustomFilterProgramInfo::hash): ditto |
| (WebCore::CustomFilterProgramInfo::operator==): MixSettings' equality check is being performed only whether |
| the CustomFilterProgramInfo's program type is PROGRAM_TYPE_BLENDS_ELEMENT_TEXTURE. |
| * platform/graphics/filters/CustomFilterProgramInfo.h: |
| (WebCore::CustomFilterProgramMixSettings::CustomFilterProgramMixSettings): Got rid of the redundant enabled flag. |
| (WebCore::CustomFilterProgramMixSettings::operator==): ditto |
| (CustomFilterProgramInfo): |
| (WebCore::CustomFilterProgramInfo::programType): |
| * platform/graphics/filters/CustomFilterValidatedProgram.cpp: The right shader validator is now being |
| created according to the program type. |
| (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): |
| (WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader): The reference to MixSettings' enabled flag |
| has been replaced with a check for the program type. |
| (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader): ditto |
| * rendering/style/StyleCustomFilterProgram.h: |
| (WebCore::StyleCustomFilterProgram::create): Updated to be aware of the program type. |
| (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram): ditto |
| |
| 2012-10-15 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Key paths should support non-ASCII identifiers |
| https://bugs.webkit.org/show_bug.cgi?id=98814 |
| |
| Reviewed by Kentaro Hara. |
| |
| Update the parser for key paths to use the unicode classes from |
| the IdentifierName production in ECMA-262. |
| |
| Test: storage/indexeddb/keypath-basics.html |
| |
| * Modules/indexeddb/IDBKeyPath.cpp: |
| (WebCore): |
| (WebCore::IDBKeyPathLexer::lexIdentifier): |
| |
| 2012-10-15 Yael Aharon <yael.aharon@intel.com> |
| |
| [EFL][WK2][Texmap] Set gl context in GraphicsContext3DPrivate |
| https://bugs.webkit.org/show_bug.cgi?id=99325 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Based on a patch from Regina Chung. |
| This piece of code was lost in the final patch of https://bugs.webkit.org/show_bug.cgi?id=96627. |
| The gl context is used as key in a hash map and cannot be NULL. |
| |
| No new tests. Accelerated compositing is not yet enabled in the EFL port. |
| |
| * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| |
| 2012-10-15 Mike West <mkwst@chromium.org> |
| |
| Console messages containing long URLs should cut at some reasonable length. |
| https://bugs.webkit.org/show_bug.cgi?id=97980 |
| |
| Reviewed by Pavel Feldman. |
| |
| This patch lightly modifies the current styling of linkified URLs inside |
| console messages in order to cut them down to some reasonable size for |
| viewing. The middle of the URL is snipped out such that the whole |
| thing fits into 150 characters. This only effects the displayed text; |
| the link's href isn't changed; the link remains available via the |
| context menu, accessible via the title attribute, and clicking it still |
| takes the user directly to the resource in question. |
| |
| Test: inspector/console/console-trim-long-urls.html |
| |
| * inspector/front-end/ResourceUtils.js: |
| (WebInspector.linkifyURLAsNode): |
| Trim the middle of the URL to bring the whole string down to down |
| to 150 characters, and set the link's title to the full URL. |
| |
| 2012-10-15 Tony Chang <tony@chromium.org> |
| |
| Add computeLogicalHeight override methods to RenderView and RenderMultiColumnSet |
| https://bugs.webkit.org/show_bug.cgi?id=99348 |
| |
| Reviewed by Ojan Vafai. |
| |
| Add computeLogicalHeight to the last 2 RenderBoxes that override the method. |
| I'm unable to remove RenderMultiColumnSet::updateLogicalHeight and make the method |
| non-virtual since it sets ComputedColumnHeight. I'd like to remove this |
| eventually. |
| |
| No new tests, this is just a code refactor. |
| |
| * rendering/RenderMultiColumnSet.cpp: |
| (WebCore::RenderMultiColumnSet::updateLogicalHeight): Set computedColumnHeight. |
| (WebCore::RenderMultiColumnSet::computeLogicalHeight): |
| (WebCore): |
| * rendering/RenderMultiColumnSet.h: |
| (RenderMultiColumnSet): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::computeLogicalHeight): |
| * rendering/RenderView.h: |
| |
| 2012-10-15 Eunmi Lee <eunmi15.lee@samsung.com> |
| |
| [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries. |
| https://bugs.webkit.org/show_bug.cgi?id=97173 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Remove codes to initialize and shutdown the EFL libraries from |
| RunLoopEfl.cpp. Initialization and shutdown will be done in the |
| ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web |
| process. |
| |
| No new tests. This patch doesn't change behavior. |
| |
| * platform/efl/RunLoopEfl.cpp: |
| (WebCore::RunLoop::RunLoop): |
| (WebCore::RunLoop::~RunLoop): |
| |
| 2012-10-15 Mihnea Ovidenie <mihnea@adobe.com> |
| |
| [CSSRegions]Add support for auto-height regions (without region-breaks) |
| https://bugs.webkit.org/show_bug.cgi?id=97533 |
| |
| Reviewed by Julien Chaffraix. |
| |
| Implement the 2pass layout algorithm for computing the height of regions with auto logical height, without taking region breaks into account. |
| The algorithm is described in the CSSRegions spec: http://dev.w3.org/csswg/css3-regions/#regions-visual-formatting-steps |
| |
| When the flow thread contains regions with auto logical height, a 2pass layout algorithm is needed to determine the height of auto logical height regions. |
| In each step of the layout, the regions are laid out before the flow thread is laid out. |
| |
| In the first pass of layout (normal layout phase), the content of the flow thread is laid out unconstrained in the regions. The region marked as having auto logical height |
| displays all the corresponding content from the flow thread (taking min-height and max-height into account), and the height of the content displayed |
| determines the overridden logical content height. Thus, after the first pass of layout, each auto logical height region will store the logical height |
| value for the second pass in its overridden logical content height property. |
| |
| In the second pass of layout (constrained flow threads layout phase), when the content of the flow thread is laid out constrained in the regions, the regions are laid out again and they are using |
| the overridden logical content height from the first pass to update their logical height. Then, the flow thread content is laid out in the associated region chain, |
| for which the auto logical height regions have proper logical height. |
| |
| A future patch will properly take region breaks into account for the first pass of layout. |
| |
| Tests: fast/regions/autoheight-abspos-region.html |
| fast/regions/autoheight-floatright-region.html |
| fast/regions/autoheight-horizontal-bt.html |
| fast/regions/autoheight-inlineblock-normalflow-region.html |
| fast/regions/autoheight-maxheight-region.html |
| fast/regions/autoheight-minheight-region.html |
| fast/regions/autoheight-normalflow-region.html |
| fast/regions/autoheight-vertical-lr.html |
| fast/regions/autoheight-vertical-rl.html |
| |
| * rendering/FlowThreadController.cpp: |
| (WebCore::FlowThreadController::resetRegionsOverrideLogicalContentHeight): |
| For all the auto logical height regions, resets their associated overrideLogicalContentHeight. |
| Those regions are marked as needing layout (along with their ancestors). |
| (WebCore::FlowThreadController::markAutoLogicalHeightRegionsForLayout): |
| Mark all the auto logical height regions and their associated flow thread as needing layout (along with their ancestors). |
| * rendering/FlowThreadController.h: |
| * rendering/RenderBox.cpp: |
| Add helper functions to clear out individual logical content width/height. |
| (WebCore::RenderBox::clearOverrideLogicalContentHeight): |
| (WebCore::RenderBox::clearOverrideLogicalContentWidth): |
| (WebCore::RenderBox::clearOverrideSize): |
| * rendering/RenderBox.h: |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::layout): |
| (WebCore::RenderFlowThread::computeLogicalHeight): |
| If the flow thread has an auto logical height region for which we did not yet compute the overrideLogicalContentHeight value, |
| bail out early since we cannot compute the flow thread logical height. |
| (WebCore::RenderFlowThread::regionAtBlockOffset): |
| If the offset is inside an auto logical height region for which we did not compute the overrideLogicalContentHeight, then we consider this region tall enough to accommodate all |
| the content and we return this region. Otherwise, for an auto logical height region, we use either the overrideLogicalContentHeight (if we are in the first layout phase) or |
| the logicalHeight if we are in the second layout phase (because the overriderLogicalContentHeight was already transferred into region logical height). |
| (WebCore::RenderFlowThread::pageLogicalHeightForOffset): |
| (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset): |
| (WebCore::RenderFlowThread::computeOverflowStateForRegions): |
| (WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight): |
| (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout): |
| (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect): |
| (WebCore::RenderFlowThread::addForcedRegionBreak): |
| Simulate a region break at the specified offset. It will be extended to properly process the region breaks. At this moment, only one auto height region for a thread |
| can have its height properly computed. |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::boxIntersectsRegion): |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::updateLogicalHeight): |
| If the auto logical height region has an overrideLogicalContentHeight and we are in the second pass of layout, |
| we use the overrideLogicalContentHeight to update the region logical height. |
| (WebCore::RenderRegion::needsOverrideLogicalContentHeightComputation): |
| * rendering/RenderRegion.h: |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::RenderView): |
| (WebCore::RenderView::layoutContent): |
| Added a new function to contain the RenderView block layout and flow threads layout. |
| (WebCore::RenderView::checkLayoutState): |
| Helper function keeping the original asserts from RenderView, used in more than one place. |
| (WebCore::RenderView::layout): |
| * rendering/RenderView.h: |
| (WebCore::RenderView::normalLayoutPhase): |
| (WebCore::RenderView::constrainedFlowThreadsLayoutPhase): |
| |
| 2012-10-15 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Fix memory leak in TreeOutline |
| https://bugs.webkit.org/show_bug.cgi?id=99307 |
| |
| Reviewed by Alexander Pavlov. |
| |
| Added cleanup of empty buckets in elements cache. |
| |
| * inspector/front-end/treeoutline.js: |
| |
| 2012-10-15 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Hide useless controls in remote-debugging mode. |
| https://bugs.webkit.org/show_bug.cgi?id=99300 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| "Close inspector" and "change docking mode" buttons seem to be rather |
| useless in remote debugging mode. |
| |
| * inspector/front-end/inspector.css: |
| (body.remote .toolbar-item.close-left, body.remote .toolbar-item.close-right): |
| (body.remote .dock-status-bar-item): |
| |
| 2012-10-15 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [EFL][WK2] Implement Favicons API |
| https://bugs.webkit.org/show_bug.cgi?id=99087 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Moved ewk_util from WebKit to WebCore and rename it |
| to CairoUtilityEfl so that the code can be shared |
| between WebKit1 and WebKit2. Some related utility |
| code was also moved from RenderThemeEfl to |
| CairoUtilityEfl. |
| |
| No new tests, no behavior change. |
| |
| * PlatformEfl.cmake: |
| * platform/efl/RenderThemeEfl.cpp: |
| * platform/graphics/efl/CairoUtilitiesEfl.cpp: Renamed from Source/WebKit/efl/ewk/ewk_util.cpp. |
| (WebCore): |
| (WebCore::evasObjectFromCairoImageSurface): |
| (WebCore::createSurfaceForBackingStore): |
| * platform/graphics/efl/CairoUtilitiesEfl.h: Renamed from Source/WebKit/efl/ewk/ewk_util_private.h. |
| (WebCore): |
| |
| 2012-10-15 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=99350 |
| REGRESSION (r131238): Repro crash in |
| WebCore::ScrollingStateTree::removeNode(WebCore::ScrollingStateNode*) |
| opening pdf page |
| -and corresponding- |
| <rdar://problem/12499839> |
| |
| Reviewed by Simon Fraser. |
| |
| We have to null-check node here. It won't be found if |
| clearStateTree() was recently called. |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::detachFromStateTree): |
| |
| 2012-10-15 Jonathan Dong <jonathan.dong@torchmobile.com.cn> |
| |
| [BlackBerry] replace BlackBerry::Platform::log() with BBLOG() |
| https://bugs.webkit.org/show_bug.cgi?id=99302 |
| |
| Reviewed by Rob Buis. |
| |
| RIM PR: 210884 |
| The marco BBLOG() is defined as a no-op in release mode which will |
| save a function call in the release build. |
| Internally reviewed by Charles Wei. |
| |
| No new tests since there's no functional change. |
| |
| * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp: |
| (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): |
| * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: |
| (WebCore::GraphicsContext3D::logFrameBufferStatus): |
| * platform/graphics/blackberry/LayerCompositingThread.cpp: |
| (WebCore::LayerCompositingThread::getTransformedHolePunchRect): |
| * platform/graphics/blackberry/VideoLayerWebKitThread.cpp: |
| (WebCore::VideoLayerWebKitThread::setHolePunchRect): |
| (WebCore::VideoLayerWebKitThread::boundsChanged): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::compileShader): |
| |
| 2012-10-15 Christophe Dumez <christophe.dumez@intel.com> |
| |
| [EFL] Provide logging for OnlineState detection code |
| https://bugs.webkit.org/show_bug.cgi?id=99299 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Add logging to NetworkStateNotifierEfl.cpp to facilitate |
| debugging of this functionality. |
| |
| No new tests, no behavior change. |
| |
| * platform/network/efl/NetworkStateNotifierEfl.cpp: |
| (WebCore::NetworkStateNotifier::updateState): |
| |
| 2012-10-15 MORITA Hajime <morrita@google.com> |
| |
| [Regression r131167] run-webkit-tests fails |
| https://bugs.webkit.org/show_bug.cgi?id=99279 |
| |
| Reviewed by Kentaro Hara. |
| |
| CodeGeneratorV8.pm assumed that there are only two objects which have constructor getters and |
| overlooked TestObj. This fix relaxes that assumption to accept it. |
| |
| No new tests. Fixing an existing test. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateConstructorGetter): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::TestObjV8Internal::TestObjConstructorGetter): |
| |
| 2012-10-15 Joe Mason <jmason@rim.com> |
| |
| [BlackBerry] Fix WebSockets which was disabled by recent string changes |
| https://bugs.webkit.org/show_bug.cgi?id=99248 |
| |
| Reviewed by George Staikos. |
| |
| PR 223681: The signature of FilterStream::notifyStatusReceived changed to take a |
| BlackBerry::Platform::String instead of a char *. But SocketStreamHandleBlackBerry was not |
| updated to the new signature, so the status message is not getting passed on because it is |
| not calling the correct override. |
| |
| No new tests because this is fixing a regression. |
| |
| * platform/network/blackberry/SocketStreamHandle.h: |
| (SocketStreamHandle): |
| * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp: |
| (WebCore::SocketStreamHandle::notifyStatusReceived): |
| |
| 2012-10-15 Rob Buis <rbuis@rim.com> |
| |
| Remove RenderTextControl::isSelectableElement |
| https://bugs.webkit.org/show_bug.cgi?id=99334 |
| |
| Reviewed by Andreas Kling. |
| |
| It seems this method is not used anymore. |
| |
| * WebCore.order: |
| * rendering/RenderTextControl.h: |
| |
| 2012-10-15 Mike West <mkwst@chromium.org> |
| |
| CSP source expressions should support paths at file-level granularity. |
| https://bugs.webkit.org/show_bug.cgi?id=99250 |
| |
| Reviewed by Adam Barth. |
| |
| After a bit of discussion on public-webappsec[1], path support for CSP |
| source expressions has been tuned to support file-level granularity. In |
| particular, this means that: |
| |
| - 'example.com/js' matches a file named 'js' |
| - 'example.com/js/' matches all files under a directory named 'js' |
| (note the trailing slash) |
| - 'example.com/js/file.js' matches only a file named 'file.js' |
| inside a directory named 'js' |
| |
| Though this is part of the CSP 1.1 spec, it continues to be exposed |
| outside the CSP_NEXT flag for back-compatibility. |
| |
| Test cases have been added to the existing |
| http/tests/security/contentSecurityPolicy/source-list-parsing-paths-* |
| in order ensure that the new functionality works correctly. |
| |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::CSPSource::pathMatches): |
| If the path ends with '/', do a prefix check. If not, check for an |
| exact match. |
| (WebCore::CSPSourceList::parsePath): |
| Don't automatically append a '/' to paths. |
| |
| 2012-10-15 George Staikos <staikos@webkit.org> |
| |
| [BlackBerry] Adapt to Platform API changes in string handling |
| https://bugs.webkit.org/show_bug.cgi?id=99248 |
| |
| Reviewed by Yong Li. |
| |
| Convert usage of WebString, char* and std::string to BlackBerry::Platform::String. |
| |
| * html/track/TextTrack.cpp: |
| (WebCore::TextTrack::TextTrack): Fix the build for BlackBerry. |
| * page/blackberry/SettingsBlackBerry.cpp: |
| (WebCore): |
| (WebCore::Settings::initializeDefaultFontFamilies): |
| * platform/blackberry/LocalizedStringsBlackBerry.cpp: |
| * platform/blackberry/MIMETypeRegistryBlackBerry.cpp: |
| (WebCore::MIMETypeRegistry::getMIMETypeForExtension): |
| (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): |
| * platform/blackberry/PasteboardBlackBerry.cpp: |
| (WebCore::Pasteboard::writeSelection): |
| (WebCore::Pasteboard::writeURL): |
| (WebCore::Pasteboard::writePlainText): |
| (WebCore::Pasteboard::plainText): |
| (WebCore::Pasteboard::documentFragment): |
| * platform/blackberry/ReadOnlyLatin1String.h: Removed. |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::MediaPlayerPrivate::getSupportedTypes): |
| (WebCore::MediaPlayerPrivate::supportsType): |
| (WebCore::MediaPlayerPrivate::setCertificatePath): |
| (WebCore::MediaPlayerPrivate::load): |
| (WebCore::generateProtectionSpaceFromMMRAuthChallenge): |
| (WebCore::MediaPlayerPrivate::onAuthenticationNeeded): |
| (WebCore::MediaPlayerPrivate::onAuthenticationAccepted): |
| (WebCore::MediaPlayerPrivate::lookupMediaStream): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| (WebCore::MediaPlayerPrivate::engineDescription): |
| * platform/network/blackberry/DNSBlackBerry.cpp: |
| (WebCore::prefetchDNS): |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::initialize): |
| (WebCore::NetworkJob::notifyStatusReceived): |
| (WebCore::NetworkJob::notifyHeadersReceived): |
| (WebCore::NetworkJob::handleNotifyClose): |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| * platform/network/blackberry/NetworkJob.h: |
| (NetworkJob): |
| * platform/network/blackberry/NetworkManager.cpp: |
| (WebCore::NetworkManager::startJob): |
| * platform/network/blackberry/ResourceRequestBlackBerry.cpp: |
| (WebCore::ResourceRequest::initializePlatformRequest): |
| * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp: |
| (WebCore::SocketStreamHandle::SocketStreamHandle): |
| * platform/text/blackberry/StringBlackBerry.cpp: |
| (WTF::String::String): |
| (WTF::String::operator BlackBerry::Platform::String): |
| * platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp: |
| |
| 2012-10-15 Jay Civelli <jcivelli@chromium.org> |
| |
| Calling WebCore::SharedBuffer::append(data, 0) on a shared buffer when |
| its current position is at a segment boundary (4096) ends up adding an |
| unitialized segment (with uninitialized memory) to the SharedBuffer. |
| https://bugs.webkit.org/show_bug.cgi?id=99000 |
| |
| Reviewed by Adam Barth. |
| |
| * platform/SharedBuffer.cpp: |
| (WebCore::SharedBuffer::append): |
| |
| 2012-10-15 Luke Macpherson <macpherson@chromium.org> |
| |
| Make CSS variable names case-insensitive. |
| https://bugs.webkit.org/show_bug.cgi?id=98712 |
| |
| Reviewed by Tony Chang. |
| |
| This patch modifies the parser to normalize all variable names to lower case, |
| making variable definitions consistent with other property names, which are also case insensitive. |
| Spec: http://dev.w3.org/csswg/css-variables/#defining-variables |
| |
| Test: fast/css/variables/case-insensitive.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::createPrimitiveNumericValue): |
| (WebCore): |
| (WebCore::CSSParser::createPrimitiveVariableNameValue): |
| (WebCore::CSSParser::parseValidPrimitive): |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::storeVariableDeclaration): |
| (WebCore::CSSParserString::lowerSubstring): |
| Added function to compute a lower case substring as an AtomicString from a CSSParserString. |
| * css/CSSParser.h: |
| (CSSParser): |
| * css/CSSParserValues.h: |
| (CSSParserString): |
| (WebCore::CSSParserString::lowerSubstring): |
| |
| 2012-10-15 Michael Saboff <msaboff@apple.com> |
| |
| Update RenderText to use String instead of UChar* for text |
| https://bugs.webkit.org/show_bug.cgi?id=96979 |
| |
| Reviewed by Dan Bernstein. |
| |
| RenderText now uses a String for text. It keeps a cached LCHar* or UChar* pointer to the |
| actual text data for performance. Added a characterAt() indexed accessor to RenderText to avoid the |
| somewhat confusing construct for a RenderText* rt, e.g. (*re)[n] or rt->characters()[n]. This is |
| now written as rt->characterAt(n). |
| Enabled patch in the HTML parser to create 8 bit text data. Modified TextRun to create |
| text runs using 8 bit string data where possible. Added several flavors of RenderBlock::constructTextRun |
| to create TextRuns from RenderText objects including with an offset. Added an LChar flavor of constructTextRun() |
| as well. Eliminated the TextRunFlags argument to all but the String flavor as all other flavors used the default |
| parameter. |
| Encased the code that creates 8 bit TextRun's in #if USE(8BIT_TEXTRUN). Enabled WTF_USE_8BIT_TEXTRUN |
| for PLATFORM(MAC). Other platform can update this setting in Platform.h when their platform specific code is |
| updated to TextRun's with 8 bit data. |
| Added many 8/16 bit aware paths. Cleanup up some int / unsigned confusion in RenderBlockLineLayout.cpp. |
| |
| No function change therefore no new tests. |
| |
| * html/parser/HTMLTokenizer.cpp: |
| (WebCore::vectorEqualsString): |
| (WebCore::HTMLTokenizer::nextToken): |
| * html/parser/HTMLTokenizer.h: |
| (HTMLTokenizer): |
| * html/track/WebVTTTokenizer.cpp: |
| (WebCore::vectorEqualsString): |
| (WebCore::WebVTTTokenizer::nextToken): |
| * html/track/WebVTTTokenizer.h: |
| (WebVTTTokenizer): |
| * platform/graphics/Font.h: |
| (WebCore::Font::glyphDataForCharacter): |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore): |
| * platform/graphics/TextRun.h: |
| (WebCore::TextRun::TextRun): |
| (WebCore::TextRun::subRun): |
| (TextRun): |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::TextLayout::isNeeded): |
| (WebCore::TextLayout::constructTextRun): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::placeBoxesInInlineDirection): |
| * rendering/InlineIterator.h: |
| (WebCore::InlineIterator::atTextParagraphSeparator): |
| (WebCore::InlineIterator::current): |
| (WebCore::InlineIterator::previousInSameNode): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::adjustCharactersAndLengthForHyphen): |
| (WebCore::InlineTextBox::paint): |
| (WebCore::InlineTextBox::paintSelection): |
| (WebCore::InlineTextBox::constructTextRun): |
| * rendering/InlineTextBox.h: |
| (InlineTextBox): |
| * rendering/RenderBlock.cpp: |
| (WebCore::constructTextRunInternal): |
| (WebCore::RenderBlock::constructTextRun): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::endsWithASCIISpaces): |
| (WebCore::reachedEndOfTextRenderer): |
| (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): |
| (WebCore::shouldSkipWhitespaceAfterStartObject): |
| (WebCore::textWidth): |
| (WebCore::tryHyphenating): |
| (WebCore::RenderBlock::LineBreaker::nextLineBreak): |
| * rendering/RenderCombineText.cpp: |
| (WebCore::RenderCombineText::getStringToRender): |
| (WebCore::RenderCombineText::combineText): |
| * rendering/RenderCombineText.h: |
| (RenderCombineText): |
| * rendering/RenderText.cpp: |
| (SameSizeAsRenderText): |
| (WebCore::RenderText::RenderText): |
| (WebCore::RenderText::widthFromCache): |
| (WebCore::RenderText::computePreferredLogicalWidths): |
| (WebCore::RenderText::setTextInternal): |
| (WebCore::RenderText::width): |
| * rendering/RenderText.h: |
| (WebCore::RenderText::is8Bit): |
| (WebCore::RenderText::characters8): |
| (WebCore::RenderText::characters16): |
| (WebCore::RenderText::characterAt): |
| (WebCore::RenderText::operator[]): |
| (RenderText): |
| * xml/parser/MarkupTokenBase.h: |
| (WebCore::MarkupTokenBase::appendToCharacter): |
| (MarkupTokenBase): |
| (WebCore::MarkupTokenBase::isAll8BitData): |
| |
| 2012-10-15 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Scripts for dynamically added script elements are not shown in sources panel. |
| https://bugs.webkit.org/show_bug.cgi?id=99324 |
| |
| Reviewed by Pavel Feldman. |
| |
| NetworkUISourceCodeProvider now adds uiSourceCodes for dynamic anonymous scripts |
| and dynamic scripts loaded before inspector was opened. |
| |
| Tests: http/tests/inspector-enabled/dynamic-scripts.html |
| inspector/debugger/dynamic-scripts.html |
| |
| * inspector/front-end/NetworkLog.js: |
| (WebInspector.NetworkLog.prototype.requestForURL): |
| * inspector/front-end/NetworkUISourceCodeProvider.js: |
| (WebInspector.NetworkUISourceCodeProvider): |
| (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource): |
| (WebInspector.NetworkUISourceCodeProvider.prototype._projectWillReset): |
| |
| 2012-10-15 Dominik Röttsches <dominik.rottsches@intel.com> |
| |
| REGRESSION(130613): Reintroduces crashes when using soup's timeout functionality |
| https://bugs.webkit.org/show_bug.cgi?id=99311 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Removing the cleanupSoupRequestOperation call, since the cancel() call will eventually trigger the |
| cleanup already setting the right flag. Cleaning the handle already here will result in crashes when |
| using the soup timeout functionality. |
| The explicit cleanup call reintroduced in r130613, after it had been previously removed in r130348. |
| |
| No new tests, tests that catch this will be part of bug 74802 for XHR timeout support. |
| |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::requestTimeoutCallback): |
| |
| 2012-10-15 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: convert manual size calculation of different WebKit things into MemoryInstrumentation. |
| https://bugs.webkit.org/show_bug.cgi?id=99309 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| JSHeap, DOMStorage and HeapProfiler data were counted manually. |
| Now we count the sizes more generic way. |
| |
| * dom/WebCoreMemoryInstrumentation.cpp: |
| * dom/WebCoreMemoryInstrumentation.h: |
| (WebCoreMemoryTypes): new string identifiers were added for Inspector's data. |
| * inspector/InspectorBaseAgent.cpp: |
| (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface): common data members were moved from template to base class. |
| (WebCore::InspectorBaseAgentInterface::reportMemoryUsage): NMI instrumentation was added to the base template. |
| * inspector/InspectorBaseAgent.h: |
| (InspectorBaseAgentInterface): ditto |
| (WebCore::InspectorBaseAgent::InspectorBaseAgent): ditto |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::reportMemoryUsage): NMI instrumentation was added to the class. |
| * inspector/InspectorController.h: |
| * inspector/InspectorDOMStorageAgent.cpp: |
| (WebCore::InspectorDOMStorageAgent::reportMemoryUsage): NMI instrumentation was added to the class. |
| * inspector/InspectorDOMStorageAgent.h: |
| * inspector/InspectorDOMStorageResource.cpp: |
| (WebCore::InspectorDOMStorageResource::reportMemoryUsage): NMI instrumentation was added to the class. |
| * inspector/InspectorDOMStorageResource.h: |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore::reportJSHeapInfo): these methods now use MemoryInstrumentation for reporting the size of underlying data. |
| (WebCore::reportRenderTreeInfo): |
| (WebCore::collectDomTreeInfo): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| (WebCore::InspectorMemoryAgent::reportMemoryUsage): NMI instrumentation was added to the class. |
| * inspector/InspectorMemoryAgent.h: |
| * inspector/InspectorProfilerAgent.cpp: |
| (WebCore::InspectorProfilerAgent::reportMemoryUsage): |
| * inspector/InspectorProfilerAgent.h: |
| (InspectorProfilerAgent): NMI instrumentation was added to the class. |
| * inspector/MemoryInstrumentationImpl.cpp: allocatedObjects map was converted from InspectorMemoryAgent::getProcessMemoryDistribution local variable to member variable. |
| (WebCore::MemoryInstrumentationClientImpl::checkCountedObject): |
| (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage): NMI instrumentation was added to the class. |
| (WebCore::MemoryInstrumentationImpl::reportMemoryUsage): NMI instrumentation was added to the class. |
| * inspector/MemoryInstrumentationImpl.h: |
| (WebCore::MemoryInstrumentationClientImpl::MemoryInstrumentationClientImpl): |
| (WebCore::MemoryInstrumentationClientImpl::allocatedObjects): |
| (WebCore::MemoryInstrumentationClientImpl::checkInstrumentedObjects): |
| * inspector/front-end/NativeMemorySnapshotView.js: |
| (WebInspector.MemoryBlockViewProperties._initialize): |
| (WebInspector.NativeMemoryBarChart.prototype._updateView): |
| * page/Page.cpp: |
| (WebCore::Page::reportMemoryUsage): NMI instrumentation was added to the class. |
| * page/Page.h: |
| |
| 2012-10-15 Kent Tamura <tkent@chromium.org> |
| |
| Improve code of LocaleMac.mm |
| https://bugs.webkit.org/show_bug.cgi?id=98383 |
| |
| Reviewed by Darin Adler. |
| |
| - Use isNull instead of isEmpty because isNull is more efficient. |
| - create*Formatter should return RetainPtr to avoid to retain in each of callsites. |
| - Explicit String conversion is not needed. |
| |
| No new tests. This doesn't change any behavior. |
| |
| * platform/text/mac/LocaleMac.h: |
| (LocaleMac): |
| - Change the return types of createShortDateFormatter, |
| createTimeFormatter, and createShortTimeFormatter from NSDateFormatter* |
| to RetainPtr<NSDateFormatter>. |
| - Omit 'create' from their names. |
| - Add m_gregorianCalendar. |
| * platform/text/mac/LocaleMac.mm: |
| (WebCore::createDateTimeFormatter): |
| Change the return type from NSDateFormatter* to RetainPtr<NSDateFormatter>. |
| Add an NSCalendar argument. |
| (WebCore::LocaleMac::shortDateFormatter): |
| Renamed from createShortTimeFormatter. |
| Change the return type from NSDateFormatter* to RetainPtr<NSDateFormatter>. |
| (WebCore::LocaleMac::parseDateTime): Follow the return type change and the renaming. |
| (WebCore::LocaleMac::formatDateTime): Ditto. Also, remove explicit String construction. |
| (WebCore::LocaleMac::dateFormatText): Ditto. Also, use isNull. |
| (WebCore::LocaleMac::monthLabels): Follow the return type change and the renaming. |
| (WebCore::LocaleMac::weekDayShortLabels): Ditto. |
| (WebCore::LocaleMac::timeFormatter): |
| Change the return type from NSDateFormatter* to RetainPtr<NSDateFormatter>. |
| Renamed from createTimeFormatter. |
| (WebCore::LocaleMac::shortTimeFormatter): Ditto. |
| (WebCore::LocaleMac::dateFormat): |
| Use isNull. Remove explicit String construction. Follow the return type |
| change and the renaming. |
| (WebCore::LocaleMac::timeFormat): ditto. |
| (WebCore::LocaleMac::shortTimeFormat): ditto. |
| (WebCore::LocaleMac::timeAMPMLabels): |
| Remove explicit String construction. Follow the return type change. |
| (WebCore::LocaleMac::initializeLocalizerData): |
| Remove explicit String construction. |
| |
| 2012-10-12 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: NMI remove hand made object builders with automatic builder. |
| https://bugs.webkit.org/show_bug.cgi?id=99186 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Old builders were replaced with single automatic builder. |
| It does the next things: |
| a) deduplicates entries in the MemoryInstrumentationClient's map and converts objectType pointers to String; |
| b) creates parent entries and assigns their aggregated sizes; |
| c) creates the hierarchy of MemoryBlocks recursively. |
| |
| * dom/WebCoreMemoryInstrumentation.cpp: |
| (WebCore): |
| * dom/WebCoreMemoryInstrumentation.h: |
| (WebCoreMemoryTypes): |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore): |
| (WebCore::jsHeapInfo): |
| (WebCore::renderTreeInfo): |
| (WebCore::addPlatformComponentsInfo): |
| (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution): |
| * inspector/MemoryInstrumentationImpl.cpp: |
| (WebCore::MemoryInstrumentationClientImpl::sizesMap): |
| (WebCore): |
| * inspector/MemoryInstrumentationImpl.h: |
| (WebCore): |
| (MemoryInstrumentationClientImpl): |
| |
| 2012-10-14 Sam Weinig <sam@webkit.org> |
| |
| Simplify user content in WebKit2 by using WebCore::UserStyleSheet and WebCore::UserScript directly |
| https://bugs.webkit.org/show_bug.cgi?id=99276 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add default constructors for UserScript and UserStyleSheet so they can be used in CoreIPC encoding/decoding. |
| |
| * page/UserScript.h: |
| (WebCore::UserScript::UserScript): |
| (UserScript): |
| * page/UserStyleSheet.h: |
| (WebCore::UserStyleSheet::UserStyleSheet): |
| (UserStyleSheet): |
| |
| 2012-10-14 Jon Lee <jonlee@apple.com> |
| |
| Allow notification origin permission request when no js callback is provided |
| https://bugs.webkit.org/show_bug.cgi?id=63615 |
| <rdar://problem/11059590> |
| |
| Reviewed by Sam Weinig. |
| |
| Instead of throwing a type error when no callback is provided, we pass a null callback. |
| |
| Test: http/tests/notifications/legacy/request-no-callback.html |
| |
| * bindings/js/JSDesktopNotificationsCustom.cpp: |
| (WebCore::JSNotificationCenter::requestPermission): |
| |
| 2012-10-12 Anders Carlsson <andersca@apple.com> |
| |
| Move QDataStream functions into HistoryItemQt.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=99203 |
| |
| Reviewed by Andreas Kling. |
| |
| It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp |
| inside WebCore, so move them there. If in the future they are required elsewhere, they should |
| be moved into a separate header instead of polluting headers unnecessarily. |
| |
| * history/qt/HistoryItemQt.cpp: |
| (operator<<): |
| (operator>>): |
| * platform/FractionalLayoutUnit.h: |
| * platform/graphics/IntPoint.h: |
| |
| 2012-10-14 Sam Weinig <sam@webkit.org> |
| |
| Make UserScript and UserStyleSheet value objects that are copyable |
| https://bugs.webkit.org/show_bug.cgi?id=99275 |
| |
| Reviewed by Tim Horton. |
| |
| Simplify UserScript and UserStyleSheet and make them more easily usable |
| without sticking them in an OwnPtr. |
| |
| * WebCore.exp.in: |
| Update exports. |
| |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::addUserScriptToWorld): |
| (WebCore::PageGroup::addUserStyleSheetToWorld): |
| * page/PageGroup.h: |
| (PageGroup): |
| * page/UserContentURLPattern.cpp: |
| (WebCore::UserContentURLPattern::matchesPatterns): |
| * page/UserContentURLPattern.h: |
| (UserContentURLPattern): |
| Update to not assume whitelist and blacklist are in Vector<String>*. |
| |
| * page/UserScript.h: |
| (UserScript): |
| (WebCore::UserScript::UserScript): |
| (WebCore::UserScript::whitelist): |
| (WebCore::UserScript::blacklist): |
| * page/UserStyleSheet.h: |
| (UserStyleSheet): |
| (WebCore::UserStyleSheet::UserStyleSheet): |
| (WebCore::UserStyleSheet::whitelist): |
| (WebCore::UserStyleSheet::blacklist): |
| Switch OwnPtr<Vector<String> > to Vector<String> and remove Noncopyable restriction. |
| |
| 2012-10-14 Tim Horton <timothy_horton@apple.com> |
| |
| [wk2] Implement PDFPlugin |
| https://bugs.webkit.org/show_bug.cgi?id=99206 |
| |
| Unreviewed build fix, export __ZN7WebCore8IntPointC1ERK7CGPoint. |
| |
| * WebCore.exp.in: |
| |
| 2012-10-14 Tim Horton <timothy_horton@apple.com> |
| |
| [wk2] Implement PDFPlugin |
| https://bugs.webkit.org/show_bug.cgi?id=99206 |
| |
| Reviewed by Dan Bernstein. |
| |
| Add a plug-in that uses PDFKit to display PDFs, instead of using PDFKit in the |
| UIProcess for full-page PDFs. This new plugin will also be used for inline PDFs |
| in place of SimplePDFPlugin (née BuiltInPDFView). |
| |
| * WebCore.exp.in: |
| Export a few more methods to WebKit(2). |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| Expose Pasteboard.h as a private header so PDFPlugin can use it. |
| |
| * platform/ScrollableArea.h: |
| Make invalidateScrollbar/invalidateScrollCorner virtual. |
| |
| 2012-10-14 Antoine Quint <graouts@apple.com> |
| |
| InspectorPageAgent should expose a method to control the compositing debug settings. |
| https://bugs.webkit.org/show_bug.cgi?id=99253 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::setCompositingBordersVisible): |
| * inspector/InspectorPageAgent.h: |
| |
| 2012-10-13 Chris Rogers <crogers@google.com> |
| |
| WebAudioBus needs support for resizing bus to a smaller size |
| https://bugs.webkit.org/show_bug.cgi?id=99215 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Upgrade AudioBus and WebAudioBus to support resizing to a smaller size, once it has been created. |
| This is useful, for example, when decoding VBR formats and the actual length can't be exactly determined |
| until the entire file is decoded. |
| |
| * platform/audio/AudioBus.cpp: |
| (WebCore::AudioBus::resizeSmaller): |
| (WebCore): |
| * platform/audio/AudioBus.h: |
| (AudioBus): |
| * platform/audio/AudioChannel.cpp: |
| (WebCore::AudioChannel::resizeSmaller): |
| (WebCore): |
| * platform/audio/AudioChannel.h: |
| (AudioChannel): |
| * platform/chromium/support/WebAudioBus.cpp: |
| (WebKit::WebAudioBus::resizeSmaller): |
| (WebKit): |
| |
| 2012-10-13 Gregg Tavares <gman@google.com> |
| |
| Add warning for unrenderable textures |
| https://bugs.webkit.org/show_bug.cgi?id=99235 |
| |
| Reviewed by Kenneth Russell. |
| |
| Unrenderable textures are often hard to debug. Adds a message to that |
| appears in the JavaScript console to help developers find the issue. |
| |
| No new tests as no new functionality. |
| |
| * html/canvas/WebGLRenderingContext.cpp: |
| (WebCore): |
| (WebCore::WebGLRenderingContext::drawArrays): |
| (WebCore::WebGLRenderingContext::drawElements): |
| (WebCore::WebGLRenderingContext::handleNPOTTextures): |
| * html/canvas/WebGLRenderingContext.h: |
| (WebGLRenderingContext): |
| |
| 2012-10-13 Geoffrey Garen <ggaren@apple.com> |
| |
| Not reviewed. |
| |
| Updated bindings test results. |
| |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): |
| |
| 2012-10-12 Geoffrey Garen <ggaren@apple.com> |
| |
| I pity da foo' who's converting numbers to strings |
| https://bugs.webkit.org/show_bug.cgi?id=99197 |
| |
| Reviewed by Gavin Barraclough. |
| |
| 40% speedup on PerformanceTests/Dromaeo/dom-traverse.html. Probably speeds |
| some other things up too. |
| |
| Credit to Eric Seidel for spotting this. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): getOwnPropertySlotByIndex doesn't need to prefer |
| string lookup in the static table because our static tables don't contain |
| properties that are numbers. |
| |
| I believe this is low-hanging fruit left behind by Phil's |
| getOwnPropertySlotByIndex optimization, but it's also possible that this was a |
| regression at some point. I didn't check. |
| |
| 2012-10-13 Adam Barth <abarth@webkit.org> |
| |
| Remove dead code in Node.idl |
| https://bugs.webkit.org/show_bug.cgi?id=99237 |
| |
| Reviewed by Maciej Stachowiak. |
| |
| We don't implement this feature. This code is dead and should be |
| removed. |
| |
| * dom/Node.idl: |
| |
| 2012-10-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix GraphicsLayerCA visible rect computation in the face of perspective and preserve-3d |
| https://bugs.webkit.org/show_bug.cgi?id=99212 |
| |
| Reviewed by Tim Horton. |
| |
| GraphicsLayerCA::computeVisibleRect() was incorrect for layer trees with perspective |
| and preserve-3d, so fix that, and add some tests. |
| |
| Perspective is implemented via childrenTransform(); if our parent has one, |
| we have to left-multiply this into the transformation matrix. |
| |
| We have to test both this layer and its parent when deciding whether to accumulate |
| or flatten. |
| |
| Use state.mappedQuad() rather than state.lastPlanarQuad(), because the last planar |
| quad might be for some distant ancestor, and there may be intermediate preserve-3d |
| layers. |
| |
| Tests: compositing/visible-rect/3d-transform-style.html |
| compositing/visible-rect/3d-transformed.html |
| compositing/visible-rect/nested-transform.html |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::computeVisibleRect): |
| |
| 2012-10-11 Simon Fraser <simon.fraser@apple.com> |
| |
| Move TransformState code into its own member function, and remove a test that was prematurely added |
| https://bugs.webkit.org/show_bug.cgi?id=99117 |
| |
| Reviewed by Tim Horton. |
| |
| The code that manipulates the TransformState and computes the visible rect is going to get |
| more complex, so move it into a new member function. |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::computeVisibleRect): |
| (WebCore::GraphicsLayerCA::recursiveCommitChanges): |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| (GraphicsLayerCA): |
| |
| 2012-10-12 Simon Fraser <simon.fraser@apple.com> |
| |
| Add some initial visible rect tests and tweak the visible wash layer |
| https://bugs.webkit.org/show_bug.cgi?id=99095 |
| |
| Reviewed by Tim Horton. |
| |
| Make the m_visibleTileWashLayer more useful by showing it for all |
| layers with transforms, not just tiled layers. This is a debugging |
| layer normally disabled, but enabled by #defining VISIBLE_TILE_WASH. |
| |
| Tests: compositing/visible-rect/2d-transformed.html |
| compositing/visible-rect/3d-transformed.html |
| compositing/visible-rect/clipped-by-viewport copy.html |
| compositing/visible-rect/clipped-by-viewport.html |
| compositing/visible-rect/clipped-visible-rect.html |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::recursiveCommitChanges): |
| (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| |
| 2012-10-12 Pablo Flouret <pablof@motorola.com> |
| |
| Teach GeneratorGObject about [ImplementedAs] extended attribute in functions |
| https://bugs.webkit.org/show_bug.cgi?id=99214 |
| |
| Reviewed by Kentaro Hara. |
| |
| No new tests, updated the binding tests results. |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GenerateFunction): |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: |
| (webkit_dom_test_obj_orange): |
| |
| 2012-10-12 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=99211 |
| When ScrollingStateNodes are destroyed, they should be removed |
| ScrollingCoordinator's HashMap |
| |
| Reviewed by Sam Weinig. |
| |
| This patch adds a new member variable to ScrollingStateTree. It's a |
| Vector of ScrollingNodeIDs. It will contain the IDs of nodes that |
| have been removed from the tree since the last time the tree was |
| committed. |
| * page/scrolling/ScrollingStateTree.cpp: |
| (WebCore::ScrollingStateTree::ScrollingStateTree): |
| |
| When we do commit, copy the Vector over into the cloned tree, and |
| then clear our own Vector. |
| (WebCore::ScrollingStateTree::commit): |
| |
| Call didRemoveNode(). |
| (WebCore::ScrollingStateTree::removeNode): |
| |
| Append the removed node's id to the vector. |
| (WebCore::ScrollingStateTree::didRemoveNode): |
| (WebCore): |
| * page/scrolling/ScrollingStateTree.h: |
| (ScrollingStateTree): |
| |
| Call didRemoveNode(). |
| * page/scrolling/ScrollingStateNode.cpp: |
| (WebCore::ScrollingStateNode::removeChild): |
| |
| Fix the FIXME! |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::detachFromStateTree): |
| |
| 2012-10-12 Brady Eidson <beidson@apple.com> |
| |
| Setup basic NetworkProcess messaging and initialization. |
| https://bugs.webkit.org/show_bug.cgi?id=99198 |
| |
| Reviewed by Sam Weinig. |
| |
| * English.lproj/Localizable.strings: Update for the Network Process UI name. |
| |
| 2012-10-12 Levi Weintraub <leviw@chromium.org> |
| |
| Remove unnecessary mode identifiers added in r131111 |
| https://bugs.webkit.org/show_bug.cgi?id=99208 |
| |
| Reviewed by Emil A Eklund. |
| |
| Removing unnecessary mode identifiers from coordinate conversion methods. These |
| were added in http://trac.webkit.org/changeset/131111 |
| |
| No new tests. No change in behavior. |
| |
| * rendering/RenderBox.h: |
| (RenderBox): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| * rendering/RenderObject.h: |
| (RenderObject): |
| * rendering/RenderView.h: |
| (RenderView): |
| * rendering/svg/RenderSVGForeignObject.h: |
| (RenderSVGForeignObject): |
| * rendering/svg/RenderSVGInline.h: |
| (RenderSVGInline): |
| * rendering/svg/RenderSVGModelObject.h: |
| (RenderSVGModelObject): |
| * rendering/svg/RenderSVGRoot.h: |
| (RenderSVGRoot): |
| * rendering/svg/RenderSVGText.h: |
| (RenderSVGText): |
| |
| 2012-10-12 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r131224. |
| http://trac.webkit.org/changeset/131224 |
| https://bugs.webkit.org/show_bug.cgi?id=99210 |
| |
| It broke the build (Requested by andersca on #webkit). |
| |
| * history/qt/HistoryItemQt.cpp: |
| * platform/FractionalLayoutUnit.h: |
| (WebCore): |
| (WebCore::operator<<): |
| (WebCore::operator>>): |
| * platform/graphics/IntPoint.h: |
| (WebCore): |
| (WebCore::operator<<): |
| (WebCore::operator>>): |
| |
| 2012-10-12 Anders Carlsson <andersca@apple.com> |
| |
| Move QDataStream functions into HistoryItemQt.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=99203 |
| |
| Reviewed by Andreas Kling. |
| |
| It seems like the QDataStream stream operators are only used from HistoryItemQt.cpp |
| inside WebCore, so move them there. If in the future they are required elsewhere, they should |
| be moved into a separate header instead of polluting headers unnecessarily. |
| |
| * history/qt/HistoryItemQt.cpp: |
| (operator<<): |
| (operator>>): |
| * platform/FractionalLayoutUnit.h: |
| * platform/graphics/IntPoint.h: |
| |
| 2012-10-12 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=99204 |
| ScrollingStateNodes should keep track of their IDs |
| |
| Reviewed by Simon Fraser. |
| |
| There is a HashMap in ScrollingCoordinatorMac that maps |
| ScrollingNodeIDs to ScrollingStateNodes. The nodes themselves should |
| keep track of this id. Then the id can be used to make sure |
| ScrollingStateNodes remove themselves from the HashMap when they are |
| destroyed, and it will also be useful for associating |
| ScrollingStateNodes with ScrollingTreeNodes over on the scrolling |
| thread. |
| |
| This patch only has the ScrollingStateNodes cache the id. I will |
| actually make use of the id in follow-up patches. |
| |
| * page/scrolling/ScrollingStateNode.cpp: |
| (WebCore::ScrollingStateNode::ScrollingStateNode): |
| * page/scrolling/ScrollingStateNode.h: |
| (ScrollingStateNode): |
| (WebCore::ScrollingStateNode::scrollingNodeID): |
| * page/scrolling/ScrollingStateScrollingNode.cpp: |
| (WebCore::ScrollingStateScrollingNode::create): |
| (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): |
| * page/scrolling/ScrollingStateScrollingNode.h: |
| (ScrollingStateScrollingNode): |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::attachToStateTree): |
| |
| 2012-10-01 Jer Noble <jer.noble@apple.com> |
| |
| Add LSKD support to MediaPlayerPrivateAVFoundation. |
| https://bugs.webkit.org/show_bug.cgi?id=98090 |
| |
| Reviewed by Anders Carlsson. |
| |
| Add support for LSKD key system to MediaPlayerPrivateAVFoundation. |
| |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| (MediaPlayerPrivateAVFoundationObjC): Add m_loaderDelegate, m_keyURIToRequestMap, and m_sessionToRequestMap. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (globalLoaderDelegateQueue): Static accessor for the dispatch queue to use for the loader delegate. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Add the loader delegate to the AVURLAsset. |
| (WebCore::keySystemIsSupported): Convenience function; checks that the key system matches "com.apple.lskd" |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType): Check the key system matches. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Fire a needkey event with an initData containing |
| the key URI. |
| (WebCore::extractKeyURIKeyIdAndCertificateFromInitData): Extract the keyURI, keyID, and the app certificate from the initData. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Generate a streaming key request from AVFoundation and |
| fire a keymessage event. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Pass to AVFoundation through the AVAssetResourceLoader. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelKeyRequest): Release the loader delegate. |
| (-[WebCoreAVFLoaderDelegate initWithCallback:]): Simple constructor. |
| (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]): Pass to the MediaPlayerPrivateAVFoundationObjC. |
| |
| 2012-10-12 James Simonsen <simonjam@chromium.org> |
| |
| [RequestAnimationFrame] Remove vendor prefix |
| https://bugs.webkit.org/show_bug.cgi?id=99116 |
| |
| Reviewed by Adam Barth. |
| |
| Test: Existing rAF tests without prefix. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::requestAnimationFrame): |
| (WebCore::Document::cancelAnimationFrame): |
| * dom/Document.h: |
| (Document): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::requestAnimationFrame): |
| (WebCore::DOMWindow::cancelAnimationFrame): |
| * page/DOMWindow.h: |
| (DOMWindow): |
| * page/DOMWindow.idl: |
| |
| 2012-10-12 Andreas Kling <kling@webkit.org> |
| |
| REGRESSION: Rapid memory growth calling DOM APIs with large strings. |
| <http://webkit.org/b/98498> |
| <rdar://problem/12443926> |
| |
| Reviewed by Geöff Gären and Änders Cärlssön. |
| |
| Prevent the selector query cache from growing indefinitely by setting a relaxed limit of 256 entries. |
| If the cache fills up, remove a random entry before inserting a new one. |
| |
| While this is unlikely to be a problem on real websites, we definitely shouldn't be adding boundless |
| caches to WebKit. |
| |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQueryCache::add): |
| |
| 2012-10-12 Roger Fong <roger_fong@apple.com> |
| |
| Update method signature for platformCALayerShowRepaintCounter in MediaPlayerPlayerPrivateAVFoundationCF's LayerClient class. |
| https://bugs.webkit.org/show_bug.cgi?id=99190 |
| |
| Reviewed by Simon Fraser. |
| |
| LayerClient's base class (PlatformCALayerClient) method signature for abstract method platformCALayerShowRepaintCounter |
| was updated in http://trac.webkit.org/changeset/130676 so it needs to be changed in LayerClient as well. |
| |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::LayerClient::platformCALayerShowRepaintCounter): |
| |
| 2012-10-12 Scott Graham <scottmg@chromium.org> |
| |
| Local disable of stack corruption warning when compiling on VS2012 |
| https://bugs.webkit.org/show_bug.cgi?id=99106 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Warning is: |
| |
| ...\FEConvolveMatrix.cpp(274) : warning C4789: buffer 'totals' of size 12 bytes will be overrun; 4 bytes will be written starting at offset 12. |
| |
| And similar at lines 281, 355, and 365. This appears to be incorrect |
| as the writes at offset 12 occur only when preserveAlphaValues is |
| false, and when it's false, totals will be 16 bytes long. |
| |
| No new tests. |
| |
| * platform/graphics/filters/FEConvolveMatrix.cpp: |
| (WebCore): |
| |
| 2012-10-11 Emil A Eklund <eae@chromium.org> |
| |
| [Sub pixel layout] Change RenderBox to not round logicalTop/Left for RenderReplaced |
| https://bugs.webkit.org/show_bug.cgi?id=99108 |
| |
| Reviewed by Levi Weintraub. |
| |
| Change RenderBox::computePositionedLogicalHeightReplaced and |
| computePositionedLogicalWidthReplaced to not round position. |
| |
| Covered by existing tests. |
| |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::placeBoxesInBlockDirection): |
| Floor baselinePosition for replaced elements to match logic in |
| RootInlineBox::ascentAndDescentForBox where the ascent is |
| computed from the floored baselinePosition. |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::computePositionedLogicalWidthReplaced): |
| (WebCore::RenderBox::computePositionedLogicalHeightReplaced): |
| Remove .round() call for m_position, preserving precision. |
| |
| 2012-10-01 Jer Noble <jer.noble@apple.com> |
| |
| Enable ENCRYPTED_MEDIA support on Mac. |
| https://bugs.webkit.org/show_bug.cgi?id=98044 |
| |
| Reviewed by Anders Carlsson. |
| |
| Enable the ENCRYPTED_MEDIA conditional on the Mac port. |
| |
| No new tests; Existing media/encrypted-media tests require org.w3.clearkey support, which is not implemented. |
| |
| * Configurations/FeatureDefines.xcconfig: Enable the ENCRYPTED_MEDIA flag. |
| * DerivedSources.make: Add the MediaKeyError and MediaKeyEvent classes. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| * bindings/js/JSDictionary.cpp: |
| (WebCore::JSDictionary::convertValue): Add convertValue functions for Uint8Array and MediaKeyError. |
| * bindings/js/JSDictionary.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): Throw an error if no "needkey" |
| handler is registered. |
| * html/HTMLMediaElement.h: |
| * html/HTMLMediaElement.idl: Change keySystem to DefaultIsUndefined. |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::keyNeeded): Return a bool indicating whether the process was aborted |
| due to a lack of "needkey" listener. |
| * platform/graphics/MediaPlayer.h: |
| (WebCore::MediaPlayerClient::mediaPlayerKeyAdded): Remove unused parameter names. |
| (WebCore::MediaPlayerClient::mediaPlayerKeyError): Ditto. |
| (WebCore::MediaPlayerClient::mediaPlayerKeyMessage): Ditto. |
| (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded): Ditto. |
| * platform/graphics/MediaPlayerPrivate.h: |
| (WebCore::MediaPlayerPrivateInterface::addKey): Ditto. |
| (WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Ditto. |
| (WebCore::MediaPlayerPrivateInterface::cancelKeyRequest): Ditto. |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Call extendedSupportsType. |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType): Stub. Pass through to supportsType. |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.h: |
| * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: |
| (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Call extendedSupportsType. |
| (WebCore::MediaPlayerPrivateQTKit::extendedSupportsType): Stub. Pass through to supportsType. |
| |
| 2012-10-12 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| Check parameter's safety first |
| https://bugs.webkit.org/show_bug.cgi?id=99136 |
| |
| Reviewed by Chris Rogers. |
| |
| Pointer parameter was used before NULL checking. |
| This patch moves safety checking statements to the head of the function. |
| |
| No new tests. No behavior change. |
| |
| * platform/audio/AudioChannel.cpp: |
| (WebCore::AudioChannel::copyFromRange): |
| (WebCore::AudioChannel::sumFrom): |
| * platform/audio/EqualPowerPanner.cpp: |
| (WebCore::EqualPowerPanner::pan): |
| |
| 2012-10-12 Andreas Kling <kling@webkit.org> |
| |
| RenderBR should share its constant newline string between instances. |
| <http://webkit.org/b/99121> |
| |
| Reviewed by Anders Carlsson. |
| |
| * rendering/RenderBR.cpp: |
| (WebCore::newlineString): |
| (WebCore::RenderBR::RenderBR): |
| |
| 2012-10-12 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [Styles] !important priority not honored inside the same declaration |
| https://bugs.webkit.org/show_bug.cgi?id=99170 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Property priorities were not considered inside the same CSS rule. !important properties should stay active |
| even if followed by non-!important properties with the same name. |
| |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyle::styleWithProperties): |
| * inspector/front-end/StylesSidebarPane.js: |
| (WebInspector.StylePropertiesSection.prototype.onpopulate): |
| (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace): |
| |
| 2012-10-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: use hard-coded zoom factors instead of 1.2 powers. |
| https://bugs.webkit.org/show_bug.cgi?id=99173 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Overwise we step too fast. |
| |
| * inspector/front-end/inspector.js: |
| (WebInspector._zoomIn): |
| (WebInspector._zoomOut): |
| (WebInspector): |
| |
| 2012-10-12 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: move delete watch expression farther from the expand triangle |
| https://bugs.webkit.org/show_bug.cgi?id=99166 |
| |
| Reviewed by Pavel Feldman. |
| |
| Aligned 'delete watch expression' button on the right side (was on the left) so |
| that it is hard to click it when expanding watched value. |
| |
| * inspector/front-end/inspector.css: |
| (.properties-tree.watch-expressions): |
| (.section .properties .delete-button): |
| |
| 2012-10-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: trim filename in the call stack sidebar |
| https://bugs.webkit.org/show_bug.cgi?id=99169 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Otherwise long file names are rendered poorly. |
| |
| * inspector/front-end/CallStackSidebarPane.js: |
| (WebInspector.CallStackSidebarPane.Placard.prototype._update): |
| * inspector/front-end/inspector.css: |
| (.placard .subtitle): |
| |
| 2012-10-12 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Resume button in element inspector -> scripts has tooltip 'pause script execution' |
| https://bugs.webkit.org/show_bug.cgi?id=99165 |
| |
| Reviewed by Pavel Feldman. |
| |
| Pause/resume button title is now updated when debugger is paused/resumed. |
| |
| * English.lproj/localizedStrings.js: |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): |
| (WebInspector.ScriptsPanel.prototype._createDebugToolbar): |
| (WebInspector.ScriptsPanel.prototype._updateButtonTitle): |
| (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts): |
| |
| 2012-10-12 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed. Fix run-binding-tests failures introduced in r131167. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateConstructorGetter): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore): |
| (WebCore::TestObjV8Internal::TestObjConstructorGetter): |
| (WebCore::V8TestObj::installPerContextProperties): |
| (WebCore::V8TestObj::installPerContextPrototypeProperties): |
| (WebCore::V8TestObj::wrapSlow): |
| * bindings/scripts/test/V8/V8TestObj.h: |
| (V8TestObj): |
| |
| 2012-10-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: relies on current Function.prototype.bind in the frame |
| https://bugs.webkit.org/show_bug.cgi?id=99164 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| InjectedScriptSource should not depend on the bind override. |
| |
| Test: inspector/console/console-bind-fake.html |
| |
| * inspector/InjectedScriptSource.js: |
| (.): |
| |
| 2012-10-12 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [Styles] Colors should be "As authored" by default |
| https://bugs.webkit.org/show_bug.cgi?id=99017 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Use "original" as the default value of WebInspector.settings.colorFormat. |
| |
| * inspector/front-end/Settings.js: |
| |
| 2012-10-12 Takashi Sakamoto <tasak@google.com> |
| |
| [WebKit IDL] move extended attributes to left of interface, exception... |
| https://bugs.webkit.org/show_bug.cgi?id=99012 |
| |
| Reviewed by Kentaro Hara. |
| |
| According to WebIDL spec, moved all extended attributes to the left |
| of interface / attribute / readonly attribute / exception. |
| |
| No new tests. I ran run-bindings-tests and all tests passed. |
| |
| * Modules/battery/BatteryManager.idl: |
| * Modules/battery/NavigatorBattery.idl: |
| * Modules/filesystem/DOMFileSystem.idl: |
| * Modules/filesystem/DOMFileSystemSync.idl: |
| * Modules/filesystem/DOMWindowFileSystem.idl: |
| * Modules/filesystem/DataTransferItemFileSystem.idl: |
| * Modules/filesystem/DirectoryEntry.idl: |
| * Modules/filesystem/DirectoryEntrySync.idl: |
| * Modules/filesystem/DirectoryReader.idl: |
| * Modules/filesystem/DirectoryReaderSync.idl: |
| * Modules/filesystem/EntriesCallback.idl: |
| * Modules/filesystem/Entry.idl: |
| * Modules/filesystem/EntryArray.idl: |
| * Modules/filesystem/EntryArraySync.idl: |
| * Modules/filesystem/EntryCallback.idl: |
| * Modules/filesystem/EntrySync.idl: |
| * Modules/filesystem/ErrorCallback.idl: |
| * Modules/filesystem/FileCallback.idl: |
| * Modules/filesystem/FileEntry.idl: |
| * Modules/filesystem/FileEntrySync.idl: |
| * Modules/filesystem/FileSystemCallback.idl: |
| * Modules/filesystem/FileWriter.idl: |
| * Modules/filesystem/FileWriterCallback.idl: |
| * Modules/filesystem/FileWriterSync.idl: |
| * Modules/filesystem/HTMLInputElementFileSystem.idl: |
| * Modules/filesystem/Metadata.idl: |
| * Modules/filesystem/MetadataCallback.idl: |
| * Modules/filesystem/WorkerContextFileSystem.idl: |
| * Modules/gamepad/Gamepad.idl: |
| * Modules/gamepad/GamepadList.idl: |
| * Modules/gamepad/NavigatorGamepad.idl: |
| * Modules/geolocation/Geolocation.idl: |
| * Modules/geolocation/Geoposition.idl: |
| * Modules/geolocation/NavigatorGeolocation.idl: |
| * Modules/geolocation/PositionCallback.idl: |
| * Modules/geolocation/PositionError.idl: |
| * Modules/geolocation/PositionErrorCallback.idl: |
| * Modules/indexeddb/DOMWindowIndexedDatabase.idl: |
| * Modules/indexeddb/IDBAny.idl: |
| * Modules/indexeddb/IDBCursor.idl: |
| * Modules/indexeddb/IDBCursorWithValue.idl: |
| * Modules/indexeddb/IDBDatabase.idl: |
| * Modules/indexeddb/IDBDatabaseException.idl: |
| * Modules/indexeddb/IDBFactory.idl: |
| * Modules/indexeddb/IDBIndex.idl: |
| * Modules/indexeddb/IDBKey.idl: |
| * Modules/indexeddb/IDBKeyRange.idl: |
| * Modules/indexeddb/IDBObjectStore.idl: |
| * Modules/indexeddb/IDBOpenDBRequest.idl: |
| * Modules/indexeddb/IDBRequest.idl: |
| * Modules/indexeddb/IDBTransaction.idl: |
| * Modules/indexeddb/IDBUpgradeNeededEvent.idl: |
| * Modules/indexeddb/IDBVersionChangeEvent.idl: |
| * Modules/indexeddb/IDBVersionChangeRequest.idl: |
| * Modules/indexeddb/WorkerContextIndexedDatabase.idl: |
| * Modules/intents/DOMWindowIntents.idl: |
| * Modules/intents/DeliveredIntent.idl: |
| * Modules/intents/NavigatorIntents.idl: |
| * Modules/mediasource/MediaSource.idl: |
| * Modules/mediasource/SourceBuffer.idl: |
| * Modules/mediasource/SourceBufferList.idl: |
| * Modules/mediastream/DOMWindowMediaStream.idl: |
| * Modules/mediastream/IceCallback.idl: |
| * Modules/mediastream/IceCandidate.idl: |
| * Modules/mediastream/LocalMediaStream.idl: |
| * Modules/mediastream/MediaStream.idl: |
| * Modules/mediastream/MediaStreamEvent.idl: |
| * Modules/mediastream/MediaStreamList.idl: |
| * Modules/mediastream/MediaStreamTrack.idl: |
| * Modules/mediastream/MediaStreamTrackEvent.idl: |
| * Modules/mediastream/MediaStreamTrackList.idl: |
| * Modules/mediastream/NavigatorMediaStream.idl: |
| * Modules/mediastream/NavigatorUserMediaError.idl: |
| * Modules/mediastream/NavigatorUserMediaErrorCallback.idl: |
| * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: |
| * Modules/mediastream/PeerConnection00.idl: |
| * Modules/mediastream/RTCErrorCallback.idl: |
| * Modules/mediastream/RTCIceCandidate.idl: |
| * Modules/mediastream/RTCIceCandidateEvent.idl: |
| * Modules/mediastream/RTCPeerConnection.idl: |
| * Modules/mediastream/RTCSessionDescription.idl: |
| * Modules/mediastream/RTCSessionDescriptionCallback.idl: |
| * Modules/mediastream/RTCStatsCallback.idl: |
| * Modules/mediastream/RTCStatsElement.idl: |
| * Modules/mediastream/RTCStatsReport.idl: |
| * Modules/mediastream/RTCStatsResponse.idl: |
| * Modules/mediastream/SessionDescription.idl: |
| * Modules/navigatorcontentutils/NavigatorContentUtils.idl: |
| * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: |
| * Modules/networkinfo/NetworkInfoConnection.idl: |
| * Modules/notifications/DOMWindowNotifications.idl: |
| * Modules/notifications/Notification.idl: |
| * Modules/notifications/NotificationCenter.idl: |
| * Modules/notifications/NotificationPermissionCallback.idl: |
| * Modules/notifications/WorkerContextNotifications.idl: |
| * Modules/proximity/DeviceProximityEvent.idl: |
| * Modules/quota/DOMWindowQuota.idl: |
| * Modules/quota/StorageInfo.idl: |
| * Modules/quota/StorageInfoErrorCallback.idl: |
| * Modules/quota/StorageInfoQuotaCallback.idl: |
| * Modules/quota/StorageInfoUsageCallback.idl: |
| * Modules/speech/DOMWindowSpeech.idl: |
| * Modules/speech/SpeechGrammar.idl: |
| * Modules/speech/SpeechGrammarList.idl: |
| * Modules/speech/SpeechRecognition.idl: |
| * Modules/speech/SpeechRecognitionAlternative.idl: |
| * Modules/speech/SpeechRecognitionError.idl: |
| * Modules/speech/SpeechRecognitionEvent.idl: |
| * Modules/speech/SpeechRecognitionResult.idl: |
| * Modules/speech/SpeechRecognitionResultList.idl: |
| * Modules/vibration/NavigatorVibration.idl: |
| * Modules/webaudio/AudioBuffer.idl: |
| * Modules/webaudio/AudioBufferCallback.idl: |
| * Modules/webaudio/AudioBufferSourceNode.idl: |
| * Modules/webaudio/AudioChannelMerger.idl: |
| * Modules/webaudio/AudioChannelSplitter.idl: |
| * Modules/webaudio/AudioContext.idl: |
| * Modules/webaudio/AudioDestinationNode.idl: |
| * Modules/webaudio/AudioGain.idl: |
| * Modules/webaudio/AudioGainNode.idl: |
| * Modules/webaudio/AudioListener.idl: |
| * Modules/webaudio/AudioNode.idl: |
| * Modules/webaudio/AudioPannerNode.idl: |
| * Modules/webaudio/AudioParam.idl: |
| * Modules/webaudio/AudioProcessingEvent.idl: |
| * Modules/webaudio/AudioSourceNode.idl: |
| * Modules/webaudio/BiquadFilterNode.idl: |
| * Modules/webaudio/ConvolverNode.idl: |
| * Modules/webaudio/DOMWindowWebAudio.idl: |
| * Modules/webaudio/DelayNode.idl: |
| * Modules/webaudio/DynamicsCompressorNode.idl: |
| * Modules/webaudio/JavaScriptAudioNode.idl: |
| * Modules/webaudio/MediaElementAudioSourceNode.idl: |
| * Modules/webaudio/MediaStreamAudioSourceNode.idl: |
| * Modules/webaudio/OfflineAudioCompletionEvent.idl: |
| * Modules/webaudio/Oscillator.idl: |
| * Modules/webaudio/RealtimeAnalyserNode.idl: |
| * Modules/webaudio/WaveShaperNode.idl: |
| * Modules/webaudio/WaveTable.idl: |
| * Modules/webdatabase/DOMWindowWebDatabase.idl: |
| * Modules/webdatabase/Database.idl: |
| * Modules/webdatabase/DatabaseCallback.idl: |
| * Modules/webdatabase/DatabaseSync.idl: |
| * Modules/webdatabase/SQLError.idl: |
| * Modules/webdatabase/SQLException.idl: |
| * Modules/webdatabase/SQLResultSet.idl: |
| * Modules/webdatabase/SQLResultSetRowList.idl: |
| * Modules/webdatabase/SQLStatementCallback.idl: |
| * Modules/webdatabase/SQLStatementErrorCallback.idl: |
| * Modules/webdatabase/SQLTransaction.idl: |
| * Modules/webdatabase/SQLTransactionCallback.idl: |
| * Modules/webdatabase/SQLTransactionErrorCallback.idl: |
| * Modules/webdatabase/SQLTransactionSync.idl: |
| * Modules/webdatabase/SQLTransactionSyncCallback.idl: |
| * Modules/webdatabase/WorkerContextWebDatabase.idl: |
| * Modules/websockets/CloseEvent.idl: |
| * Modules/websockets/DOMWindowWebSocket.idl: |
| * Modules/websockets/WebSocket.idl: |
| * Modules/websockets/WorkerContextWebSocket.idl: |
| * bindings/scripts/test/TestCallback.idl: |
| * bindings/scripts/test/TestCustomNamedGetter.idl: |
| * bindings/scripts/test/TestDomainSecurity.idl: |
| * bindings/scripts/test/TestEventConstructor.idl: |
| * bindings/scripts/test/TestEventTarget.idl: |
| * bindings/scripts/test/TestInterface.idl: |
| * bindings/scripts/test/TestNamedConstructor.idl: |
| * bindings/scripts/test/TestNode.idl: |
| * bindings/scripts/test/TestObj.idl: |
| * bindings/scripts/test/TestSerializedScriptValueInterface.idl: |
| * bindings/scripts/test/TestSupplemental.idl: |
| * bindings/scripts/test/TestTypedArray.idl: |
| * css/CSSCharsetRule.idl: |
| * css/CSSImportRule.idl: |
| * css/CSSPageRule.idl: |
| * css/CSSRule.idl: |
| * css/CSSRuleList.idl: |
| * css/CSSStyleDeclaration.idl: |
| * css/CSSStyleRule.idl: |
| * css/CSSStyleSheet.idl: |
| * css/CSSUnknownRule.idl: |
| * css/CSSValue.idl: |
| * css/CSSValueList.idl: |
| * css/MediaList.idl: |
| * css/MediaQueryListListener.idl: |
| * css/StyleMedia.idl: |
| * css/StyleSheet.idl: |
| * css/StyleSheetList.idl: |
| * css/WebKitCSSFilterValue.idl: |
| * css/WebKitCSSKeyframesRule.idl: |
| * css/WebKitCSSMatrix.idl: |
| * css/WebKitCSSRegionRule.idl: |
| * css/WebKitCSSTransformValue.idl: |
| * dom/Attr.idl: |
| * dom/BeforeLoadEvent.idl: |
| * dom/CharacterData.idl: |
| * dom/ClientRectList.idl: |
| * dom/Clipboard.idl: |
| * dom/CustomEvent.idl: |
| * dom/DOMCoreException.idl: |
| * dom/DOMImplementation.idl: |
| * dom/DOMNamedFlowCollection.idl: |
| * dom/DOMStringList.idl: |
| * dom/DOMStringMap.idl: |
| * dom/DataTransferItem.idl: |
| * dom/DataTransferItemList.idl: |
| * dom/DeviceMotionEvent.idl: |
| * dom/DeviceOrientationEvent.idl: |
| * dom/Document.idl: |
| * dom/DocumentType.idl: |
| * dom/Element.idl: |
| * dom/Entity.idl: |
| * dom/ErrorEvent.idl: |
| * dom/Event.idl: |
| * dom/EventException.idl: |
| * dom/EventListener.idl: |
| * dom/EventTarget.idl: |
| * dom/HashChangeEvent.idl: |
| * dom/MessageChannel.idl: |
| * dom/MessageEvent.idl: |
| * dom/MessagePort.idl: |
| * dom/MouseEvent.idl: |
| * dom/MutationCallback.idl: |
| * dom/MutationObserver.idl: |
| * dom/MutationRecord.idl: |
| * dom/NamedNodeMap.idl: |
| * dom/Node.idl: |
| * dom/NodeFilter.idl: |
| * dom/NodeIterator.idl: |
| * dom/NodeList.idl: |
| * dom/Notation.idl: |
| * dom/OverflowEvent.idl: |
| * dom/PageTransitionEvent.idl: |
| * dom/PopStateEvent.idl: |
| * dom/ProcessingInstruction.idl: |
| * dom/ProgressEvent.idl: |
| * dom/PropertyNodeList.idl: |
| * dom/RangeException.idl: |
| * dom/RequestAnimationFrameCallback.idl: |
| * dom/ShadowRoot.idl: |
| * dom/StringCallback.idl: |
| * dom/Touch.idl: |
| * dom/TouchEvent.idl: |
| * dom/TouchList.idl: |
| * dom/TreeWalker.idl: |
| * dom/WebKitAnimationEvent.idl: |
| * dom/WebKitNamedFlow.idl: |
| * dom/WebKitTransitionEvent.idl: |
| * editing/DOMTransaction.idl: |
| * editing/UndoManager.idl: |
| * fileapi/Blob.idl: |
| * fileapi/File.idl: |
| * fileapi/FileError.idl: |
| * fileapi/FileException.idl: |
| * fileapi/FileList.idl: |
| * fileapi/FileReader.idl: |
| * fileapi/FileReaderSync.idl: |
| * html/DOMFormData.idl: |
| * html/DOMSettableTokenList.idl: |
| * html/DOMTokenList.idl: |
| * html/DOMURL.idl: |
| * html/HTMLAllCollection.idl: |
| * html/HTMLAnchorElement.idl: |
| * html/HTMLAppletElement.idl: |
| * html/HTMLAreaElement.idl: |
| * html/HTMLAudioElement.idl: |
| * html/HTMLBRElement.idl: |
| * html/HTMLBaseElement.idl: |
| * html/HTMLBaseFontElement.idl: |
| * html/HTMLBodyElement.idl: |
| * html/HTMLButtonElement.idl: |
| * html/HTMLCanvasElement.idl: |
| * html/HTMLCollection.idl: |
| * html/HTMLDListElement.idl: |
| * html/HTMLDataListElement.idl: |
| * html/HTMLDetailsElement.idl: |
| * html/HTMLDialogElement.idl: |
| * html/HTMLDirectoryElement.idl: |
| * html/HTMLDivElement.idl: |
| * html/HTMLDocument.idl: |
| * html/HTMLElement.idl: |
| * html/HTMLEmbedElement.idl: |
| * html/HTMLFieldSetElement.idl: |
| * html/HTMLFontElement.idl: |
| * html/HTMLFormElement.idl: |
| * html/HTMLFrameElement.idl: |
| * html/HTMLFrameSetElement.idl: |
| * html/HTMLHRElement.idl: |
| * html/HTMLHeadElement.idl: |
| * html/HTMLHeadingElement.idl: |
| * html/HTMLHtmlElement.idl: |
| * html/HTMLIFrameElement.idl: |
| * html/HTMLImageElement.idl: |
| * html/HTMLInputElement.idl: |
| * html/HTMLIntentElement.idl: |
| * html/HTMLKeygenElement.idl: |
| * html/HTMLLIElement.idl: |
| * html/HTMLLabelElement.idl: |
| * html/HTMLLegendElement.idl: |
| * html/HTMLLinkElement.idl: |
| * html/HTMLMapElement.idl: |
| * html/HTMLMarqueeElement.idl: |
| * html/HTMLMediaElement.idl: |
| * html/HTMLMenuElement.idl: |
| * html/HTMLMetaElement.idl: |
| * html/HTMLMeterElement.idl: |
| * html/HTMLModElement.idl: |
| * html/HTMLOListElement.idl: |
| * html/HTMLObjectElement.idl: |
| * html/HTMLOptGroupElement.idl: |
| * html/HTMLOptionElement.idl: |
| * html/HTMLOptionsCollection.idl: |
| * html/HTMLOutputElement.idl: |
| * html/HTMLParagraphElement.idl: |
| * html/HTMLParamElement.idl: |
| * html/HTMLPreElement.idl: |
| * html/HTMLProgressElement.idl: |
| * html/HTMLPropertiesCollection.idl: |
| * html/HTMLQuoteElement.idl: |
| * html/HTMLScriptElement.idl: |
| * html/HTMLSelectElement.idl: |
| * html/HTMLSourceElement.idl: |
| * html/HTMLStyleElement.idl: |
| * html/HTMLTableCaptionElement.idl: |
| * html/HTMLTableCellElement.idl: |
| * html/HTMLTableColElement.idl: |
| * html/HTMLTableElement.idl: |
| * html/HTMLTableRowElement.idl: |
| * html/HTMLTableSectionElement.idl: |
| * html/HTMLTextAreaElement.idl: |
| * html/HTMLTitleElement.idl: |
| * html/HTMLTrackElement.idl: |
| * html/HTMLUListElement.idl: |
| * html/HTMLVideoElement.idl: |
| * html/ImageData.idl: |
| * html/MediaController.idl: |
| * html/MediaError.idl: |
| * html/MediaKeyError.idl: |
| * html/MediaKeyEvent.idl: |
| * html/MicroDataItemValue.idl: |
| * html/RadioNodeList.idl: |
| * html/TimeRanges.idl: |
| * html/ValidityState.idl: |
| * html/VoidCallback.idl: |
| * html/canvas/ArrayBuffer.idl: |
| * html/canvas/ArrayBufferView.idl: |
| * html/canvas/CanvasRenderingContext.idl: |
| * html/canvas/CanvasRenderingContext2D.idl: |
| * html/canvas/DataView.idl: |
| * html/canvas/EXTTextureFilterAnisotropic.idl: |
| * html/canvas/Float32Array.idl: |
| * html/canvas/Float64Array.idl: |
| * html/canvas/Int16Array.idl: |
| * html/canvas/Int32Array.idl: |
| * html/canvas/Int8Array.idl: |
| * html/canvas/OESStandardDerivatives.idl: |
| * html/canvas/OESTextureFloat.idl: |
| * html/canvas/OESVertexArrayObject.idl: |
| * html/canvas/Uint16Array.idl: |
| * html/canvas/Uint32Array.idl: |
| * html/canvas/Uint8Array.idl: |
| * html/canvas/Uint8ClampedArray.idl: |
| * html/canvas/WebGLActiveInfo.idl: |
| * html/canvas/WebGLBuffer.idl: |
| * html/canvas/WebGLCompressedTextureS3TC.idl: |
| * html/canvas/WebGLContextAttributes.idl: |
| * html/canvas/WebGLContextEvent.idl: |
| * html/canvas/WebGLDebugRendererInfo.idl: |
| * html/canvas/WebGLDebugShaders.idl: |
| * html/canvas/WebGLDepthTexture.idl: |
| * html/canvas/WebGLFramebuffer.idl: |
| * html/canvas/WebGLLoseContext.idl: |
| * html/canvas/WebGLProgram.idl: |
| * html/canvas/WebGLRenderbuffer.idl: |
| * html/canvas/WebGLRenderingContext.idl: |
| * html/canvas/WebGLShader.idl: |
| * html/canvas/WebGLShaderPrecisionFormat.idl: |
| * html/canvas/WebGLTexture.idl: |
| * html/canvas/WebGLUniformLocation.idl: |
| * html/canvas/WebGLVertexArrayObjectOES.idl: |
| * html/shadow/HTMLContentElement.idl: |
| * html/shadow/HTMLShadowElement.idl: |
| * html/track/TextTrack.idl: |
| * html/track/TextTrackCue.idl: |
| * html/track/TextTrackCueList.idl: |
| * html/track/TextTrackList.idl: |
| * html/track/TrackEvent.idl: |
| * inspector/InjectedScriptHost.idl: |
| * inspector/InspectorFrontendHost.idl: |
| * inspector/JavaScriptCallFrame.idl: |
| * inspector/ScriptProfile.idl: |
| * inspector/ScriptProfileNode.idl: |
| * loader/appcache/DOMApplicationCache.idl: |
| * page/AbstractView.idl: |
| * page/BarInfo.idl: |
| * page/Console.idl: |
| * page/Coordinates.idl: |
| * page/Crypto.idl: |
| * page/DOMSecurityPolicy.idl: |
| * page/DOMSelection.idl: |
| * page/DOMWindow.idl: |
| * page/DOMWindowPagePopup.idl: |
| * page/EventSource.idl: |
| * page/History.idl: |
| * page/Location.idl: |
| * page/MemoryInfo.idl: |
| * page/Navigator.idl: |
| * page/PagePopupController.idl: |
| * page/Performance.idl: |
| * page/PerformanceEntry.idl: |
| * page/PerformanceEntryList.idl: |
| * page/PerformanceNavigation.idl: |
| * page/PerformanceResourceTiming.idl: |
| * page/PerformanceTiming.idl: |
| * page/Screen.idl: |
| * page/SpeechInputEvent.idl: |
| * page/SpeechInputResult.idl: |
| * page/SpeechInputResultList.idl: |
| * page/WebKitAnimation.idl: |
| * page/WebKitAnimationList.idl: |
| * page/WebKitPoint.idl: |
| * page/WorkerNavigator.idl: |
| * plugins/DOMMimeType.idl: |
| * plugins/DOMMimeTypeArray.idl: |
| * plugins/DOMPlugin.idl: |
| * plugins/DOMPluginArray.idl: |
| * storage/Storage.idl: |
| * storage/StorageEvent.idl: |
| * svg/ElementTimeControl.idl: |
| * svg/SVGAElement.idl: |
| * svg/SVGAltGlyphDefElement.idl: |
| * svg/SVGAltGlyphElement.idl: |
| * svg/SVGAltGlyphItemElement.idl: |
| * svg/SVGAngle.idl: |
| * svg/SVGAnimateColorElement.idl: |
| * svg/SVGAnimateElement.idl: |
| * svg/SVGAnimateMotionElement.idl: |
| * svg/SVGAnimateTransformElement.idl: |
| * svg/SVGAnimatedAngle.idl: |
| * svg/SVGAnimatedBoolean.idl: |
| * svg/SVGAnimatedEnumeration.idl: |
| * svg/SVGAnimatedInteger.idl: |
| * svg/SVGAnimatedLength.idl: |
| * svg/SVGAnimatedLengthList.idl: |
| * svg/SVGAnimatedNumber.idl: |
| * svg/SVGAnimatedNumberList.idl: |
| * svg/SVGAnimatedPreserveAspectRatio.idl: |
| * svg/SVGAnimatedRect.idl: |
| * svg/SVGAnimatedString.idl: |
| * svg/SVGAnimatedTransformList.idl: |
| * svg/SVGAnimationElement.idl: |
| * svg/SVGCircleElement.idl: |
| * svg/SVGClipPathElement.idl: |
| * svg/SVGColor.idl: |
| * svg/SVGComponentTransferFunctionElement.idl: |
| * svg/SVGCursorElement.idl: |
| * svg/SVGDefsElement.idl: |
| * svg/SVGDescElement.idl: |
| * svg/SVGDocument.idl: |
| * svg/SVGElement.idl: |
| * svg/SVGElementInstance.idl: |
| * svg/SVGElementInstanceList.idl: |
| * svg/SVGEllipseElement.idl: |
| * svg/SVGException.idl: |
| * svg/SVGExternalResourcesRequired.idl: |
| * svg/SVGFEBlendElement.idl: |
| * svg/SVGFEColorMatrixElement.idl: |
| * svg/SVGFEComponentTransferElement.idl: |
| * svg/SVGFECompositeElement.idl: |
| * svg/SVGFEConvolveMatrixElement.idl: |
| * svg/SVGFEDiffuseLightingElement.idl: |
| * svg/SVGFEDisplacementMapElement.idl: |
| * svg/SVGFEDistantLightElement.idl: |
| * svg/SVGFEDropShadowElement.idl: |
| * svg/SVGFEFloodElement.idl: |
| * svg/SVGFEFuncAElement.idl: |
| * svg/SVGFEFuncBElement.idl: |
| * svg/SVGFEFuncGElement.idl: |
| * svg/SVGFEFuncRElement.idl: |
| * svg/SVGFEGaussianBlurElement.idl: |
| * svg/SVGFEImageElement.idl: |
| * svg/SVGFEMergeElement.idl: |
| * svg/SVGFEMergeNodeElement.idl: |
| * svg/SVGFEMorphologyElement.idl: |
| * svg/SVGFEOffsetElement.idl: |
| * svg/SVGFEPointLightElement.idl: |
| * svg/SVGFESpecularLightingElement.idl: |
| * svg/SVGFESpotLightElement.idl: |
| * svg/SVGFETileElement.idl: |
| * svg/SVGFETurbulenceElement.idl: |
| * svg/SVGFilterElement.idl: |
| * svg/SVGFilterPrimitiveStandardAttributes.idl: |
| * svg/SVGFitToViewBox.idl: |
| * svg/SVGFontElement.idl: |
| * svg/SVGFontFaceElement.idl: |
| * svg/SVGFontFaceFormatElement.idl: |
| * svg/SVGFontFaceNameElement.idl: |
| * svg/SVGFontFaceSrcElement.idl: |
| * svg/SVGFontFaceUriElement.idl: |
| * svg/SVGForeignObjectElement.idl: |
| * svg/SVGGElement.idl: |
| * svg/SVGGlyphElement.idl: |
| * svg/SVGGlyphRefElement.idl: |
| * svg/SVGGradientElement.idl: |
| * svg/SVGHKernElement.idl: |
| * svg/SVGImageElement.idl: |
| * svg/SVGLangSpace.idl: |
| * svg/SVGLength.idl: |
| * svg/SVGLengthList.idl: |
| * svg/SVGLineElement.idl: |
| * svg/SVGLinearGradientElement.idl: |
| * svg/SVGLocatable.idl: |
| * svg/SVGMPathElement.idl: |
| * svg/SVGMarkerElement.idl: |
| * svg/SVGMaskElement.idl: |
| * svg/SVGMatrix.idl: |
| * svg/SVGMetadataElement.idl: |
| * svg/SVGMissingGlyphElement.idl: |
| * svg/SVGNumber.idl: |
| * svg/SVGNumberList.idl: |
| * svg/SVGPaint.idl: |
| * svg/SVGPathElement.idl: |
| * svg/SVGPathSeg.idl: |
| * svg/SVGPathSegArcAbs.idl: |
| * svg/SVGPathSegArcRel.idl: |
| * svg/SVGPathSegClosePath.idl: |
| * svg/SVGPathSegCurvetoCubicAbs.idl: |
| * svg/SVGPathSegCurvetoCubicRel.idl: |
| * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: |
| * svg/SVGPathSegCurvetoCubicSmoothRel.idl: |
| * svg/SVGPathSegCurvetoQuadraticAbs.idl: |
| * svg/SVGPathSegCurvetoQuadraticRel.idl: |
| * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: |
| * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: |
| * svg/SVGPathSegLinetoAbs.idl: |
| * svg/SVGPathSegLinetoHorizontalAbs.idl: |
| * svg/SVGPathSegLinetoHorizontalRel.idl: |
| * svg/SVGPathSegLinetoRel.idl: |
| * svg/SVGPathSegLinetoVerticalAbs.idl: |
| * svg/SVGPathSegLinetoVerticalRel.idl: |
| * svg/SVGPathSegList.idl: |
| * svg/SVGPathSegMovetoAbs.idl: |
| * svg/SVGPathSegMovetoRel.idl: |
| * svg/SVGPatternElement.idl: |
| * svg/SVGPoint.idl: |
| * svg/SVGPointList.idl: |
| * svg/SVGPolygonElement.idl: |
| * svg/SVGPolylineElement.idl: |
| * svg/SVGPreserveAspectRatio.idl: |
| * svg/SVGRadialGradientElement.idl: |
| * svg/SVGRect.idl: |
| * svg/SVGRectElement.idl: |
| * svg/SVGRenderingIntent.idl: |
| * svg/SVGSVGElement.idl: |
| * svg/SVGScriptElement.idl: |
| * svg/SVGSetElement.idl: |
| * svg/SVGStopElement.idl: |
| * svg/SVGStringList.idl: |
| * svg/SVGStylable.idl: |
| * svg/SVGStyleElement.idl: |
| * svg/SVGSwitchElement.idl: |
| * svg/SVGSymbolElement.idl: |
| * svg/SVGTRefElement.idl: |
| * svg/SVGTSpanElement.idl: |
| * svg/SVGTests.idl: |
| * svg/SVGTextContentElement.idl: |
| * svg/SVGTextElement.idl: |
| * svg/SVGTextPathElement.idl: |
| * svg/SVGTextPositioningElement.idl: |
| * svg/SVGTitleElement.idl: |
| * svg/SVGTransform.idl: |
| * svg/SVGTransformList.idl: |
| * svg/SVGTransformable.idl: |
| * svg/SVGURIReference.idl: |
| * svg/SVGUnitTypes.idl: |
| * svg/SVGUseElement.idl: |
| * svg/SVGVKernElement.idl: |
| * svg/SVGViewElement.idl: |
| * svg/SVGViewSpec.idl: |
| * svg/SVGZoomAndPan.idl: |
| * svg/SVGZoomEvent.idl: |
| * testing/InternalSettings.idl: |
| * testing/Internals.idl: |
| * testing/MallocStatistics.idl: |
| * workers/AbstractWorker.idl: |
| * workers/DedicatedWorkerContext.idl: |
| * workers/SharedWorker.idl: |
| * workers/SharedWorkerContext.idl: |
| * workers/Worker.idl: |
| * workers/WorkerContext.idl: |
| * workers/WorkerLocation.idl: |
| * xml/DOMParser.idl: |
| * xml/XMLHttpRequest.idl: |
| * xml/XMLHttpRequestException.idl: |
| * xml/XMLHttpRequestProgressEvent.idl: |
| * xml/XMLHttpRequestUpload.idl: |
| * xml/XMLSerializer.idl: |
| * xml/XPathEvaluator.idl: |
| * xml/XPathException.idl: |
| * xml/XPathNSResolver.idl: |
| * xml/XPathResult.idl: |
| * xml/XSLTProcessor.idl: |
| Moved extended attributes. |
| |
| 2012-10-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: never expand global scope automatically |
| https://bugs.webkit.org/show_bug.cgi?id=99159 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Otherwise, stepping is slow. |
| |
| * inspector/front-end/ScopeChainSidebarPane.js: |
| (WebInspector.ScopeChainSidebarPane.prototype.update): |
| |
| 2012-10-10 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Refactor UISourceCode, make it possible to distinguish working copy changes/commits from formatting. |
| https://bugs.webkit.org/show_bug.cgi?id=98911 |
| |
| Reviewed by Pavel Feldman. |
| |
| ContentChanged was dispatched both when working copy was committed and UISourceCode was formatted before. |
| WorkingCopyChanged event was dispatched when working copy was set. |
| Now there are three explicit events: WorkingCopyChanged, WorkingCopyCommitted, FormattedChanged. |
| No events are dispatched now during revisions restoring. |
| Reverting to revisions is now implemented based on the working copy editing. |
| |
| * inspector/front-end/JavaScriptSourceFrame.js: |
| (WebInspector.JavaScriptSourceFrame): |
| (WebInspector.JavaScriptSourceFrame.prototype._onFormattedChanged): |
| (WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyChanged): |
| (WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyCommitted): |
| (WebInspector.JavaScriptSourceFrame.prototype._innerSetContent): |
| (WebInspector.JavaScriptSourceFrame.prototype.onTextChanged): |
| * inspector/front-end/NavigatorView.js: |
| (WebInspector.NavigatorView.prototype._uiSourceCodeWorkingCopyCommitted): |
| (WebInspector.NavigatorView.prototype._uiSourceCodeFormattedChanged): |
| (WebInspector.NavigatorView.prototype._addUISourceCodeListeners): |
| (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners): |
| * inspector/front-end/TabbedEditorContainer.js: |
| (WebInspector.TabbedEditorContainer.prototype._addUISourceCodeListeners): |
| (WebInspector.TabbedEditorContainer.prototype._removeUISourceCodeListeners): |
| (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeWorkingCopyCommitted): |
| (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeFormattedChanged): |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode): |
| (WebInspector.UISourceCode.prototype._commitContent): |
| (WebInspector.UISourceCode.prototype.addRevision): |
| (WebInspector.UISourceCode.prototype._restoreRevisionHistory): |
| (WebInspector.UISourceCode.prototype.revertToOriginal): |
| (WebInspector.UISourceCode.prototype.revertAndClearHistory): |
| (WebInspector.UISourceCode.prototype.setWorkingCopy): |
| (WebInspector.UISourceCode.prototype.commitWorkingCopy): |
| (WebInspector.UISourceCode.prototype.setFormatted.didGetContent.formattedChanged): |
| (WebInspector.UISourceCode.prototype.setFormatted.didGetContent): |
| (WebInspector.UISourceCode.prototype.setFormatted): |
| (WebInspector.Revision.prototype.revertToThis): |
| * inspector/front-end/UISourceCodeFrame.js: |
| (WebInspector.UISourceCodeFrame): |
| (WebInspector.UISourceCodeFrame.prototype.onTextChanged): |
| (WebInspector.UISourceCodeFrame.prototype._onFormattedChanged): |
| (WebInspector.UISourceCodeFrame.prototype._onWorkingCopyChanged): |
| (WebInspector.UISourceCodeFrame.prototype._onWorkingCopyCommitted): |
| (WebInspector.UISourceCodeFrame.prototype._innerSetContent): |
| |
| 2012-10-12 Balazs Kelemen <kbalazs@webkit.org> |
| |
| [WK2] Serialization of Resource[Request,Response,Error] should be shared across ports |
| https://bugs.webkit.org/show_bug.cgi?id=90142 |
| |
| Reviewed by Simon Hausmann. |
| |
| Added a setter for the certificate of ResourceError. |
| |
| No change in behavior so no new tests. |
| |
| * platform/network/cf/ResourceError.h: |
| (ResourceError): |
| * platform/network/cf/ResourceErrorCF.cpp: |
| (WebCore): |
| (WebCore::ResourceError::setCertificate): |
| |
| 2012-10-12 MORITA Hajime <morrita@google.com> |
| |
| [V8] PerContextEnabled methods should be installed when the constructor is created |
| https://bugs.webkit.org/show_bug.cgi?id=99129 |
| |
| Reviewed by Kentaro Hara. |
| |
| Before this change, generated installPerContextProperties() method |
| injected both per-context attributes and functions, and functions |
| were injected into the prototye object. This means that the |
| functions are injected into the prototype repeatedly for each |
| intance creation. This injection can be happened only once per |
| prototype object, which is clearer and is faster. |
| |
| This change introduces installPerContextPrototypeProperties() |
| generated method, which is designed to be called for each time when the prototype |
| object is created. |
| |
| To do that, WrapperTypeInfo is extended to hold an additional |
| function pointer to an installPerContextPrototypeProperties() |
| implementation so that we call it from V8PerContextData::constructorForTypeSlowCase(), |
| where the prototype instance is created. |
| |
| Other changes: |
| - Added some modification to pass around the parameter to constructorForTypeSlowCase(). |
| - installPerContextProperties() are now always generated for simplicity. Empty implementations are inlined thus |
| no speed penalty. |
| |
| No new tests. Covered by existing tests. |
| |
| * Modules/notifications/NotificationCenter.cpp: |
| (WebCore::NotificationCenter::document): |
| * Modules/notifications/NotificationCenter.h: |
| (NotificationCenter): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| (GenerateConstructorGetter): |
| (GenerateNamedConstructorCallback): |
| (GenerateImplementation): Extracted per-context function additions to new installPerContextPrototypeProperties() function. |
| (GenerateToV8Converters): |
| * bindings/scripts/test/V8/V8Float64Array.cpp: |
| (WebCore): |
| (WebCore::V8Float64Array::wrapSlow): |
| * bindings/scripts/test/V8/V8Float64Array.h: |
| (WebCore::V8Float64Array::installPerContextProperties): |
| (WebCore::V8Float64Array::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
| (WebCore): |
| (WebCore::V8TestActiveDOMObject::wrapSlow): |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.h: |
| (WebCore::V8TestActiveDOMObject::installPerContextProperties): |
| (WebCore::V8TestActiveDOMObject::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
| (WebCore): |
| (WebCore::V8TestCustomNamedGetter::wrapSlow): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: |
| (WebCore::V8TestCustomNamedGetter::installPerContextProperties): |
| (WebCore::V8TestCustomNamedGetter::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
| (WebCore): |
| (WebCore::V8TestEventConstructor::wrapSlow): |
| * bindings/scripts/test/V8/V8TestEventConstructor.h: |
| (WebCore::V8TestEventConstructor::installPerContextProperties): |
| (WebCore::V8TestEventConstructor::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
| (WebCore): |
| (WebCore::V8TestEventTarget::wrapSlow): |
| * bindings/scripts/test/V8/V8TestEventTarget.h: |
| (WebCore::V8TestEventTarget::installPerContextProperties): |
| (WebCore::V8TestEventTarget::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestException.cpp: |
| (WebCore): |
| (WebCore::V8TestException::wrapSlow): |
| * bindings/scripts/test/V8/V8TestException.h: |
| (WebCore::V8TestException::installPerContextProperties): |
| (WebCore::V8TestException::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestInterface.cpp: |
| (WebCore): |
| (WebCore::V8TestInterface::wrapSlow): |
| * bindings/scripts/test/V8/V8TestInterface.h: |
| (WebCore::V8TestInterface::installPerContextProperties): |
| (WebCore::V8TestInterface::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
| (WebCore): |
| (WebCore::V8TestMediaQueryListListener::wrapSlow): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: |
| (WebCore::V8TestMediaQueryListListener::installPerContextProperties): |
| (WebCore::V8TestMediaQueryListListener::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
| (WebCore): |
| (WebCore::V8TestNamedConstructor::wrapSlow): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.h: |
| (WebCore::V8TestNamedConstructor::installPerContextProperties): |
| (WebCore::V8TestNamedConstructor::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestNode.cpp: |
| (WebCore): |
| (WebCore::V8TestNode::wrapSlow): |
| * bindings/scripts/test/V8/V8TestNode.h: |
| (WebCore::V8TestNode::installPerContextProperties): |
| (WebCore::V8TestNode::installPerContextPrototypeProperties): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| (WebCore): |
| (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: |
| (WebCore::V8TestSerializedScriptValueInterface::installPerContextProperties): |
| (WebCore::V8TestSerializedScriptValueInterface::installPerContextPrototypeProperties): |
| * bindings/v8/NPV8Object.cpp: |
| (WebCore::npObjectTypeInfo): |
| * bindings/v8/V8DOMWindowShell.cpp: |
| (WebCore::V8DOMWindowShell::installDOMWindow): |
| * bindings/v8/V8DOMWrapper.cpp: |
| (WebCore::V8DOMWrapper::instantiateV8Object): |
| * bindings/v8/V8PerContextData.cpp: |
| (WebCore::V8PerContextData::createWrapperFromCacheSlowCase): |
| (WebCore::V8PerContextData::constructorForTypeSlowCase): Now invokes installPerContextPrototypeProperties() |
| * bindings/v8/V8PerContextData.h: |
| (WebCore::V8PerContextData::createWrapperFromCache): |
| (WebCore::V8PerContextData::constructorForType): |
| (V8PerContextData): |
| * bindings/v8/WorkerContextExecutionProxy.cpp: |
| (WebCore::WorkerContextExecutionProxy::initializeIfNeeded): |
| * bindings/v8/WrapperTypeInfo.h: |
| (WebCore): |
| (WebCore::WrapperTypeInfo::installPerContextPrototypeProperties): Added. |
| (WrapperTypeInfo): |
| * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: |
| (WebCore): |
| |
| 2012-10-12 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: Add "goto tab 1,2,3" hotkeys |
| https://bugs.webkit.org/show_bug.cgi?id=99157 |
| |
| Reviewed by Alexander Pavlov. |
| |
| Ctrl/Cmd + digit shortcuts should select corresponding tabs |
| |
| * inspector/front-end/InspectorView.js: |
| (WebInspector.InspectorView.prototype._keyDown): |
| (WebInspector.InspectorView.prototype._keyDownInternal): |
| |
| 2012-10-12 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Extract domain specific editing handling logic from UISourceCode descendants (step 1). |
| https://bugs.webkit.org/show_bug.cgi?id=98912 |
| |
| Reviewed by Pavel Feldman. |
| |
| This is the first step that introduces StyleFile and ScriptFile and extracts domain specific editing handling logic. |
| StyleFile and ScriptFile should listen for the UISourceCode events and process them, this will be done in the next patch. |
| |
| * inspector/front-end/BreakpointManager.js: |
| (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint): |
| * inspector/front-end/JavaScriptSource.js: |
| * inspector/front-end/JavaScriptSourceFrame.js: |
| (WebInspector.JavaScriptSourceFrame): |
| (WebInspector.JavaScriptSourceFrame.prototype.onTextChanged): |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): |
| (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVMChanged): |
| (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts): |
| (WebInspector.ScriptFile): |
| (WebInspector.ScriptFile.prototype.hasDivergedFromVM): |
| (WebInspector.ScriptFile.prototype.isDivergingFromVM): |
| (WebInspector.ScriptFile.prototype.addEventListener): |
| (WebInspector.ScriptFile.prototype.removeEventListener): |
| (WebInspector.ResourceScriptFile): |
| (WebInspector.ResourceScriptFile.prototype.workingCopyCommitted): |
| (WebInspector.ResourceScriptFile.prototype.workingCopyChanged): |
| (WebInspector.ResourceScriptFile.prototype.fireHasDivergedFromVMChanged): |
| (WebInspector.ResourceScriptFile.prototype.hasDivergedFromVM): |
| (WebInspector.ResourceScriptFile.prototype.isDivergingFromVM): |
| * inspector/front-end/ScriptSnippetModel.js: |
| (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet): |
| (WebInspector.SnippetScriptFile): |
| (WebInspector.SnippetScriptFile.prototype.hasDivergedFromVM): |
| (WebInspector.SnippetScriptFile.prototype.setHasDivergedFromVM): |
| (WebInspector.SnippetScriptFile.prototype.isDivergingFromVM): |
| (WebInspector.SnippetScriptFile.prototype.setIsDivergingFromVM): |
| (WebInspector.SnippetScriptFile.prototype.workingCopyCommitted): |
| (WebInspector.SnippetScriptFile.prototype.workingCopyChanged): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._revealExecutionLine): |
| * inspector/front-end/StyleSource.js: |
| * inspector/front-end/StylesSourceMapping.js: |
| (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace): |
| (WebInspector.StylesSourceMapping.prototype._addUISourceCode): |
| (WebInspector.StyleFile): |
| (WebInspector.StyleFile.prototype.workingCopyCommitted): |
| (WebInspector.StyleFile.prototype.workingCopyChanged): |
| (WebInspector.StyleFile.prototype._callOrSetTimeout): |
| (WebInspector.StyleFile.prototype._commitIncrementalEdit): |
| (WebInspector.StyleFile.prototype._clearIncrementalUpdateTimer): |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode.prototype.scriptFile): |
| (WebInspector.UISourceCode.prototype.setScriptFile): |
| (WebInspector.UISourceCode.prototype.styleFile): |
| (WebInspector.UISourceCode.prototype.setStyleFile): |
| (WebInspector.UISourceCode.prototype.setWorkingCopy): |
| (WebInspector.UISourceCode.prototype.commitWorkingCopy): |
| |
| 2012-10-12 Zeno Albisser <zeno@webkit.org> |
| |
| [Qt][WK2] GraphicsSurfaceGLX should keep track of previous GL context. |
| https://bugs.webkit.org/show_bug.cgi?id=99076 |
| |
| In GraphicsSurfaceGLX/GraphicsSurfacePrivate we create a new |
| QOpenGLContext for resolving GL methods. |
| This context is implicitly made current on creation. |
| Therefore we need to keep track of the previously bound context |
| and make that one current again after calling create. |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp: |
| (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate): |
| |
| 2012-10-12 Balazs Kelemen <kbalazs@webkit.org> |
| |
| Unreviewed, rolling out r130389. |
| http://trac.webkit.org/changeset/130389 |
| https://bugs.webkit.org/show_bug.cgi?id=98048 |
| |
| It broke chromium |
| |
| * WebCore.exp.in: |
| * page/Settings.cpp: |
| (WebCore::Settings::setAcceleratedCompositingEnabled): |
| * page/Settings.h: |
| (WebCore::Settings::setForceCompositingMode): |
| (WebCore::Settings::forceCompositingMode): |
| |
| 2012-10-12 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Show request body source in request headers view. |
| https://bugs.webkit.org/show_bug.cgi?id=99145 |
| |
| Reviewed by Pavel Feldman. |
| |
| Added view source toggle to query parameters and form data elements. |
| |
| * inspector/front-end/NetworkPanel.js: fixed queryString getter usage. |
| (WebInspector.NetworkDataGridNode.prototype._fileName): |
| (WebInspector.NetworkDataGridNode.NameComparator): |
| * inspector/front-end/NetworkRequest.js: Extracted queryString getter. |
| (WebInspector.NetworkRequest.prototype.queryString): |
| (WebInspector.NetworkRequest.prototype.get queryParameters): |
| * inspector/front-end/RequestHeadersView.js: |
| (WebInspector.RequestHeadersView.prototype._refreshQueryString): |
| (WebInspector.RequestHeadersView.prototype._refreshFormData): |
| (WebInspector.RequestHeadersView.prototype._populateTreeElementWithSourceText): |
| extracted common method to populate elememnt with raw source text. |
| (WebInspector.RequestHeadersView.prototype._refreshParams.toggleViewSource): |
| (WebInspector.RequestHeadersView.prototype._refreshParams): |
| (WebInspector.RequestHeadersView.prototype._toggleURLDecoding): |
| (WebInspector.RequestHeadersView.prototype._refreshHeadersText): |
| * inspector/front-end/networkPanel.css:A removed redundant raw-form-data style rule. |
| |
| 2012-10-12 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Optimzie SelectorCheckingContext memory layout |
| https://bugs.webkit.org/show_bug.cgi?id=99139 |
| |
| Reviewed by Hajime Morita. |
| |
| Since VisitedMatchType and PseudoId are both enum, we can make SelectorChecker more compact |
| if these two fields are continuously placed. |
| |
| No new tests, no change in behavior. |
| |
| * css/SelectorChecker.h: |
| (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): |
| (SelectorCheckingContext): |
| |
| 2012-10-12 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [WebSocket] Add "Cache-Control: no-cache" to handshake request |
| https://bugs.webkit.org/show_bug.cgi?id=98000 |
| |
| Reviewed by Yuta Kitamura. |
| |
| Add no-cache headers to opening handshake. |
| This is for compatibility improvement. |
| Some proxies rewrite "Connection: upgrade" to "Connection: close" |
| when a request doesn't contain no-cache headers. |
| |
| Test: http/tests/websocket/tests/hybi/nocache.html |
| |
| * Modules/websockets/WebSocketHandshake.cpp: |
| (WebCore::WebSocketHandshake::clientHandshakeMessage): |
| (WebCore::WebSocketHandshake::clientHandshakeRequest): |
| |
| 2012-10-11 Andy Estes <aestes@apple.com> |
| |
| Add some basic methods and properties to the injected bundle Objective-C DOM API |
| https://bugs.webkit.org/show_bug.cgi?id=99137 |
| |
| Reviewed by Sam Weinig. |
| |
| Export needed symbols. |
| |
| * WebCore.exp.in: |
| |
| 2012-10-11 Rik Cabanier <cabanier@adobe.com> |
| |
| Bad copy constructor in StyleRareNonInheritedData |
| https://bugs.webkit.org/show_bug.cgi?id=98950 |
| |
| Reviewed by Eric Seidel. |
| |
| Typo in copy constructor caused blendmode to always be the default. |
| |
| * rendering/style/StyleRareNonInheritedData.cpp: |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| |
| 2012-10-11 Takashi Sakamoto <tasak@google.com> |
| |
| [WebKit IDL] remove all module from idl files. |
| https://bugs.webkit.org/show_bug.cgi?id=99007 |
| |
| Reviewed by Kentaro Hara. |
| |
| Since current WebIDL spec doesn't support "module", remove |
| module from all idl files. |
| |
| No new tests. I ran run-bindings-tests and no error was reported. |
| |
| * Modules/battery/BatteryManager.idl: |
| * Modules/battery/NavigatorBattery.idl: |
| * Modules/filesystem/DOMFileSystem.idl: |
| * Modules/filesystem/DOMFileSystemSync.idl: |
| * Modules/filesystem/DOMWindowFileSystem.idl: |
| * Modules/filesystem/DataTransferItemFileSystem.idl: |
| * Modules/filesystem/DirectoryEntry.idl: |
| * Modules/filesystem/DirectoryEntrySync.idl: |
| * Modules/filesystem/DirectoryReader.idl: |
| * Modules/filesystem/DirectoryReaderSync.idl: |
| * Modules/filesystem/EntriesCallback.idl: |
| * Modules/filesystem/Entry.idl: |
| * Modules/filesystem/EntryArray.idl: |
| * Modules/filesystem/EntryArraySync.idl: |
| * Modules/filesystem/EntryCallback.idl: |
| * Modules/filesystem/EntrySync.idl: |
| * Modules/filesystem/ErrorCallback.idl: |
| * Modules/filesystem/FileCallback.idl: |
| * Modules/filesystem/FileEntry.idl: |
| * Modules/filesystem/FileEntrySync.idl: |
| * Modules/filesystem/FileSystemCallback.idl: |
| * Modules/filesystem/FileWriter.idl: |
| * Modules/filesystem/FileWriterCallback.idl: |
| * Modules/filesystem/FileWriterSync.idl: |
| * Modules/filesystem/HTMLInputElementFileSystem.idl: |
| * Modules/filesystem/Metadata.idl: |
| * Modules/filesystem/MetadataCallback.idl: |
| * Modules/filesystem/WorkerContextFileSystem.idl: |
| * Modules/gamepad/Gamepad.idl: |
| * Modules/gamepad/GamepadList.idl: |
| * Modules/gamepad/NavigatorGamepad.idl: |
| * Modules/geolocation/Geolocation.idl: |
| * Modules/geolocation/Geoposition.idl: |
| * Modules/geolocation/NavigatorGeolocation.idl: |
| * Modules/geolocation/PositionCallback.idl: |
| * Modules/geolocation/PositionError.idl: |
| * Modules/geolocation/PositionErrorCallback.idl: |
| * Modules/indexeddb/DOMWindowIndexedDatabase.idl: |
| * Modules/indexeddb/IDBAny.idl: |
| * Modules/indexeddb/IDBCursor.idl: |
| * Modules/indexeddb/IDBCursorWithValue.idl: |
| * Modules/indexeddb/IDBDatabase.idl: |
| * Modules/indexeddb/IDBDatabaseException.idl: |
| * Modules/indexeddb/IDBFactory.idl: |
| * Modules/indexeddb/IDBIndex.idl: |
| * Modules/indexeddb/IDBKey.idl: |
| * Modules/indexeddb/IDBKeyRange.idl: |
| * Modules/indexeddb/IDBObjectStore.idl: |
| * Modules/indexeddb/IDBOpenDBRequest.idl: |
| * Modules/indexeddb/IDBRequest.idl: |
| * Modules/indexeddb/IDBTransaction.idl: |
| * Modules/indexeddb/IDBUpgradeNeededEvent.idl: |
| * Modules/indexeddb/IDBVersionChangeEvent.idl: |
| * Modules/indexeddb/IDBVersionChangeRequest.idl: |
| * Modules/indexeddb/WorkerContextIndexedDatabase.idl: |
| * Modules/intents/DOMWindowIntents.idl: |
| * Modules/intents/DeliveredIntent.idl: |
| * Modules/intents/Intent.idl: |
| * Modules/intents/IntentResultCallback.idl: |
| * Modules/intents/NavigatorIntents.idl: |
| * Modules/mediasource/MediaSource.idl: |
| * Modules/mediasource/SourceBuffer.idl: |
| * Modules/mediasource/SourceBufferList.idl: |
| * Modules/mediastream/DOMWindowMediaStream.idl: |
| * Modules/mediastream/IceCallback.idl: |
| * Modules/mediastream/IceCandidate.idl: |
| * Modules/mediastream/LocalMediaStream.idl: |
| * Modules/mediastream/MediaStream.idl: |
| * Modules/mediastream/MediaStreamEvent.idl: |
| * Modules/mediastream/MediaStreamList.idl: |
| * Modules/mediastream/MediaStreamTrack.idl: |
| * Modules/mediastream/MediaStreamTrackEvent.idl: |
| * Modules/mediastream/MediaStreamTrackList.idl: |
| * Modules/mediastream/NavigatorMediaStream.idl: |
| * Modules/mediastream/NavigatorUserMediaError.idl: |
| * Modules/mediastream/NavigatorUserMediaErrorCallback.idl: |
| * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: |
| * Modules/mediastream/PeerConnection00.idl: |
| * Modules/mediastream/RTCErrorCallback.idl: |
| * Modules/mediastream/RTCIceCandidate.idl: |
| * Modules/mediastream/RTCIceCandidateEvent.idl: |
| * Modules/mediastream/RTCPeerConnection.idl: |
| * Modules/mediastream/RTCSessionDescription.idl: |
| * Modules/mediastream/RTCSessionDescriptionCallback.idl: |
| * Modules/mediastream/RTCStatsCallback.idl: |
| * Modules/mediastream/RTCStatsElement.idl: |
| * Modules/mediastream/RTCStatsReport.idl: |
| * Modules/mediastream/RTCStatsResponse.idl: |
| * Modules/mediastream/SessionDescription.idl: |
| * Modules/navigatorcontentutils/NavigatorContentUtils.idl: |
| * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: |
| * Modules/networkinfo/NetworkInfoConnection.idl: |
| * Modules/notifications/DOMWindowNotifications.idl: |
| * Modules/notifications/Notification.idl: |
| * Modules/notifications/NotificationCenter.idl: |
| * Modules/notifications/NotificationPermissionCallback.idl: |
| * Modules/notifications/WorkerContextNotifications.idl: |
| * Modules/proximity/DeviceProximityEvent.idl: |
| * Modules/quota/DOMWindowQuota.idl: |
| * Modules/quota/StorageInfo.idl: |
| * Modules/quota/StorageInfoErrorCallback.idl: |
| * Modules/quota/StorageInfoQuotaCallback.idl: |
| * Modules/quota/StorageInfoUsageCallback.idl: |
| * Modules/speech/DOMWindowSpeech.idl: |
| * Modules/speech/SpeechGrammar.idl: |
| * Modules/speech/SpeechGrammarList.idl: |
| * Modules/speech/SpeechRecognition.idl: |
| * Modules/speech/SpeechRecognitionAlternative.idl: |
| * Modules/speech/SpeechRecognitionError.idl: |
| * Modules/speech/SpeechRecognitionEvent.idl: |
| * Modules/speech/SpeechRecognitionResult.idl: |
| * Modules/speech/SpeechRecognitionResultList.idl: |
| * Modules/vibration/NavigatorVibration.idl: |
| * Modules/webaudio/AudioBuffer.idl: |
| * Modules/webaudio/AudioBufferCallback.idl: |
| * Modules/webaudio/AudioBufferSourceNode.idl: |
| * Modules/webaudio/AudioChannelMerger.idl: |
| * Modules/webaudio/AudioChannelSplitter.idl: |
| * Modules/webaudio/AudioContext.idl: |
| * Modules/webaudio/AudioDestinationNode.idl: |
| * Modules/webaudio/AudioGain.idl: |
| * Modules/webaudio/AudioGainNode.idl: |
| * Modules/webaudio/AudioListener.idl: |
| * Modules/webaudio/AudioNode.idl: |
| * Modules/webaudio/AudioPannerNode.idl: |
| * Modules/webaudio/AudioParam.idl: |
| * Modules/webaudio/AudioProcessingEvent.idl: |
| * Modules/webaudio/AudioSourceNode.idl: |
| * Modules/webaudio/BiquadFilterNode.idl: |
| * Modules/webaudio/ConvolverNode.idl: |
| * Modules/webaudio/DOMWindowWebAudio.idl: |
| * Modules/webaudio/DelayNode.idl: |
| * Modules/webaudio/DynamicsCompressorNode.idl: |
| * Modules/webaudio/JavaScriptAudioNode.idl: |
| * Modules/webaudio/MediaElementAudioSourceNode.idl: |
| * Modules/webaudio/MediaStreamAudioSourceNode.idl: |
| * Modules/webaudio/OfflineAudioCompletionEvent.idl: |
| * Modules/webaudio/Oscillator.idl: |
| * Modules/webaudio/RealtimeAnalyserNode.idl: |
| * Modules/webaudio/WaveShaperNode.idl: |
| * Modules/webaudio/WaveTable.idl: |
| * Modules/webdatabase/DOMWindowWebDatabase.idl: |
| * Modules/webdatabase/Database.idl: |
| * Modules/webdatabase/DatabaseCallback.idl: |
| * Modules/webdatabase/DatabaseSync.idl: |
| * Modules/webdatabase/SQLError.idl: |
| * Modules/webdatabase/SQLException.idl: |
| * Modules/webdatabase/SQLResultSet.idl: |
| * Modules/webdatabase/SQLResultSetRowList.idl: |
| * Modules/webdatabase/SQLStatementCallback.idl: |
| * Modules/webdatabase/SQLStatementErrorCallback.idl: |
| * Modules/webdatabase/SQLTransaction.idl: |
| * Modules/webdatabase/SQLTransactionCallback.idl: |
| * Modules/webdatabase/SQLTransactionErrorCallback.idl: |
| * Modules/webdatabase/SQLTransactionSync.idl: |
| * Modules/webdatabase/SQLTransactionSyncCallback.idl: |
| * Modules/webdatabase/WorkerContextWebDatabase.idl: |
| * Modules/websockets/CloseEvent.idl: |
| * Modules/websockets/DOMWindowWebSocket.idl: |
| * Modules/websockets/WebSocket.idl: |
| * Modules/websockets/WorkerContextWebSocket.idl: |
| * bindings/scripts/test/TestCallback.idl: |
| * bindings/scripts/test/TestCustomNamedGetter.idl: |
| * bindings/scripts/test/TestDomainSecurity.idl: |
| * bindings/scripts/test/TestEventConstructor.idl: |
| * bindings/scripts/test/TestEventTarget.idl: |
| * bindings/scripts/test/TestException.idl: |
| * bindings/scripts/test/TestInterface.idl: |
| * bindings/scripts/test/TestMediaQueryListListener.idl: |
| * bindings/scripts/test/TestNamedConstructor.idl: |
| * bindings/scripts/test/TestNode.idl: |
| * bindings/scripts/test/TestObj.idl: |
| * bindings/scripts/test/TestSerializedScriptValueInterface.idl: |
| * bindings/scripts/test/TestSupplemental.idl: |
| * bindings/scripts/test/TestTypedArray.idl: |
| * css/CSSCharsetRule.idl: |
| * css/CSSFontFaceRule.idl: |
| * css/CSSImportRule.idl: |
| * css/CSSMediaRule.idl: |
| * css/CSSPageRule.idl: |
| * css/CSSPrimitiveValue.idl: |
| * css/CSSRule.idl: |
| * css/CSSRuleList.idl: |
| * css/CSSStyleDeclaration.idl: |
| * css/CSSStyleRule.idl: |
| * css/CSSStyleSheet.idl: |
| * css/CSSUnknownRule.idl: |
| * css/CSSValue.idl: |
| * css/CSSValueList.idl: |
| * css/Counter.idl: |
| * css/MediaList.idl: |
| * css/MediaQueryList.idl: |
| * css/MediaQueryListListener.idl: |
| * css/RGBColor.idl: |
| * css/Rect.idl: |
| * css/StyleMedia.idl: |
| * css/StyleSheet.idl: |
| * css/StyleSheetList.idl: |
| * css/WebKitCSSFilterValue.idl: |
| * css/WebKitCSSKeyframeRule.idl: |
| * css/WebKitCSSKeyframesRule.idl: |
| * css/WebKitCSSMatrix.idl: |
| * css/WebKitCSSRegionRule.idl: |
| * css/WebKitCSSTransformValue.idl: |
| * dom/Attr.idl: |
| * dom/BeforeLoadEvent.idl: |
| * dom/CDATASection.idl: |
| * dom/CharacterData.idl: |
| * dom/ClientRect.idl: |
| * dom/ClientRectList.idl: |
| * dom/Clipboard.idl: |
| * dom/Comment.idl: |
| * dom/CompositionEvent.idl: |
| * dom/CustomEvent.idl: |
| * dom/DOMCoreException.idl: |
| * dom/DOMError.idl: |
| * dom/DOMImplementation.idl: |
| * dom/DOMNamedFlowCollection.idl: |
| * dom/DOMStringList.idl: |
| * dom/DOMStringMap.idl: |
| * dom/DataTransferItem.idl: |
| * dom/DataTransferItemList.idl: |
| * dom/DeviceMotionEvent.idl: |
| * dom/DeviceOrientationEvent.idl: |
| * dom/Document.idl: |
| * dom/DocumentFragment.idl: |
| * dom/DocumentType.idl: |
| * dom/Element.idl: |
| * dom/Entity.idl: |
| * dom/EntityReference.idl: |
| * dom/ErrorEvent.idl: |
| * dom/Event.idl: |
| * dom/EventException.idl: |
| * dom/EventListener.idl: |
| * dom/EventTarget.idl: |
| * dom/HashChangeEvent.idl: |
| * dom/KeyboardEvent.idl: |
| * dom/MessageChannel.idl: |
| * dom/MessageEvent.idl: |
| * dom/MessagePort.idl: |
| * dom/MouseEvent.idl: |
| * dom/MutationCallback.idl: |
| * dom/MutationEvent.idl: |
| * dom/MutationObserver.idl: |
| * dom/MutationRecord.idl: |
| * dom/NamedNodeMap.idl: |
| * dom/Node.idl: |
| * dom/NodeFilter.idl: |
| * dom/NodeIterator.idl: |
| * dom/NodeList.idl: |
| * dom/Notation.idl: |
| * dom/OverflowEvent.idl: |
| * dom/PageTransitionEvent.idl: |
| * dom/PopStateEvent.idl: |
| * dom/ProcessingInstruction.idl: |
| * dom/ProgressEvent.idl: |
| * dom/PropertyNodeList.idl: |
| * dom/Range.idl: |
| * dom/RangeException.idl: |
| * dom/RequestAnimationFrameCallback.idl: |
| * dom/ShadowRoot.idl: |
| * dom/StringCallback.idl: |
| * dom/Text.idl: |
| * dom/TextEvent.idl: |
| * dom/Touch.idl: |
| * dom/TouchEvent.idl: |
| * dom/TouchList.idl: |
| * dom/TreeWalker.idl: |
| * dom/UIEvent.idl: |
| * dom/WebKitAnimationEvent.idl: |
| * dom/WebKitNamedFlow.idl: |
| * dom/WebKitTransitionEvent.idl: |
| * dom/WheelEvent.idl: |
| * editing/DOMTransaction.idl: |
| * editing/UndoManager.idl: |
| * fileapi/Blob.idl: |
| * fileapi/File.idl: |
| * fileapi/FileError.idl: |
| * fileapi/FileException.idl: |
| * fileapi/FileList.idl: |
| * fileapi/FileReader.idl: |
| * fileapi/FileReaderSync.idl: |
| * html/DOMFormData.idl: |
| * html/DOMSettableTokenList.idl: |
| * html/DOMTokenList.idl: |
| * html/DOMURL.idl: |
| * html/HTMLAllCollection.idl: |
| * html/HTMLAnchorElement.idl: |
| * html/HTMLAppletElement.idl: |
| * html/HTMLAreaElement.idl: |
| * html/HTMLAudioElement.idl: |
| * html/HTMLBRElement.idl: |
| * html/HTMLBaseElement.idl: |
| * html/HTMLBaseFontElement.idl: |
| * html/HTMLBodyElement.idl: |
| * html/HTMLButtonElement.idl: |
| * html/HTMLCanvasElement.idl: |
| * html/HTMLCollection.idl: |
| * html/HTMLDListElement.idl: |
| * html/HTMLDataListElement.idl: |
| * html/HTMLDetailsElement.idl: |
| * html/HTMLDialogElement.idl: |
| * html/HTMLDirectoryElement.idl: |
| * html/HTMLDivElement.idl: |
| * html/HTMLDocument.idl: |
| * html/HTMLElement.idl: |
| * html/HTMLEmbedElement.idl: |
| * html/HTMLFieldSetElement.idl: |
| * html/HTMLFontElement.idl: |
| * html/HTMLFormElement.idl: |
| * html/HTMLFrameElement.idl: |
| * html/HTMLFrameSetElement.idl: |
| * html/HTMLHRElement.idl: |
| * html/HTMLHeadElement.idl: |
| * html/HTMLHeadingElement.idl: |
| * html/HTMLHtmlElement.idl: |
| * html/HTMLIFrameElement.idl: |
| * html/HTMLImageElement.idl: |
| * html/HTMLInputElement.idl: |
| * html/HTMLIntentElement.idl: |
| * html/HTMLKeygenElement.idl: |
| * html/HTMLLIElement.idl: |
| * html/HTMLLabelElement.idl: |
| * html/HTMLLegendElement.idl: |
| * html/HTMLLinkElement.idl: |
| * html/HTMLMapElement.idl: |
| * html/HTMLMarqueeElement.idl: |
| * html/HTMLMediaElement.idl: |
| * html/HTMLMenuElement.idl: |
| * html/HTMLMetaElement.idl: |
| * html/HTMLMeterElement.idl: |
| * html/HTMLModElement.idl: |
| * html/HTMLOListElement.idl: |
| * html/HTMLObjectElement.idl: |
| * html/HTMLOptGroupElement.idl: |
| * html/HTMLOptionElement.idl: |
| * html/HTMLOptionsCollection.idl: |
| * html/HTMLOutputElement.idl: |
| * html/HTMLParagraphElement.idl: |
| * html/HTMLParamElement.idl: |
| * html/HTMLPreElement.idl: |
| * html/HTMLProgressElement.idl: |
| * html/HTMLPropertiesCollection.idl: |
| * html/HTMLQuoteElement.idl: |
| * html/HTMLScriptElement.idl: |
| * html/HTMLSelectElement.idl: |
| * html/HTMLSourceElement.idl: |
| * html/HTMLSpanElement.idl: |
| * html/HTMLStyleElement.idl: |
| * html/HTMLTableCaptionElement.idl: |
| * html/HTMLTableCellElement.idl: |
| * html/HTMLTableColElement.idl: |
| * html/HTMLTableElement.idl: |
| * html/HTMLTableRowElement.idl: |
| * html/HTMLTableSectionElement.idl: |
| * html/HTMLTextAreaElement.idl: |
| * html/HTMLTitleElement.idl: |
| * html/HTMLTrackElement.idl: |
| * html/HTMLUListElement.idl: |
| * html/HTMLUnknownElement.idl: |
| * html/HTMLVideoElement.idl: |
| * html/ImageData.idl: |
| * html/MediaController.idl: |
| * html/MediaError.idl: |
| * html/MediaKeyError.idl: |
| * html/MediaKeyEvent.idl: |
| * html/MicroDataItemValue.idl: |
| * html/RadioNodeList.idl: |
| * html/TextMetrics.idl: |
| * html/TimeRanges.idl: |
| * html/ValidityState.idl: |
| * html/VoidCallback.idl: |
| * html/canvas/ArrayBuffer.idl: |
| * html/canvas/ArrayBufferView.idl: |
| * html/canvas/CanvasGradient.idl: |
| * html/canvas/CanvasPattern.idl: |
| * html/canvas/CanvasRenderingContext.idl: |
| * html/canvas/CanvasRenderingContext2D.idl: |
| * html/canvas/DataView.idl: |
| * html/canvas/EXTTextureFilterAnisotropic.idl: |
| * html/canvas/Float32Array.idl: |
| * html/canvas/Float64Array.idl: |
| * html/canvas/Int16Array.idl: |
| * html/canvas/Int32Array.idl: |
| * html/canvas/Int8Array.idl: |
| * html/canvas/OESStandardDerivatives.idl: |
| * html/canvas/OESTextureFloat.idl: |
| * html/canvas/OESVertexArrayObject.idl: |
| * html/canvas/Uint16Array.idl: |
| * html/canvas/Uint32Array.idl: |
| * html/canvas/Uint8Array.idl: |
| * html/canvas/Uint8ClampedArray.idl: |
| * html/canvas/WebGLActiveInfo.idl: |
| * html/canvas/WebGLBuffer.idl: |
| * html/canvas/WebGLCompressedTextureS3TC.idl: |
| * html/canvas/WebGLContextAttributes.idl: |
| * html/canvas/WebGLContextEvent.idl: |
| * html/canvas/WebGLDebugRendererInfo.idl: |
| * html/canvas/WebGLDebugShaders.idl: |
| * html/canvas/WebGLDepthTexture.idl: |
| * html/canvas/WebGLFramebuffer.idl: |
| * html/canvas/WebGLLoseContext.idl: |
| * html/canvas/WebGLProgram.idl: |
| * html/canvas/WebGLRenderbuffer.idl: |
| * html/canvas/WebGLRenderingContext.idl: |
| * html/canvas/WebGLShader.idl: |
| * html/canvas/WebGLShaderPrecisionFormat.idl: |
| * html/canvas/WebGLTexture.idl: |
| * html/canvas/WebGLUniformLocation.idl: |
| * html/canvas/WebGLVertexArrayObjectOES.idl: |
| * html/shadow/HTMLContentElement.idl: |
| * html/shadow/HTMLShadowElement.idl: |
| * html/track/TextTrack.idl: |
| * html/track/TextTrackCue.idl: |
| * html/track/TextTrackCueList.idl: |
| * html/track/TextTrackList.idl: |
| * html/track/TrackEvent.idl: |
| * inspector/InjectedScriptHost.idl: |
| * inspector/InspectorFrontendHost.idl: |
| * inspector/JavaScriptCallFrame.idl: |
| * inspector/ScriptProfile.idl: |
| * inspector/ScriptProfileNode.idl: |
| * loader/appcache/DOMApplicationCache.idl: |
| * page/AbstractView.idl: |
| * page/BarInfo.idl: |
| * page/Console.idl: |
| * page/Coordinates.idl: |
| * page/Crypto.idl: |
| * page/DOMSecurityPolicy.idl: |
| * page/DOMSelection.idl: |
| * page/DOMWindow.idl: |
| * page/DOMWindowPagePopup.idl: |
| * page/EventSource.idl: |
| * page/History.idl: |
| * page/Location.idl: |
| * page/MemoryInfo.idl: |
| * page/Navigator.idl: |
| * page/PagePopupController.idl: |
| * page/Performance.idl: |
| * page/PerformanceEntry.idl: |
| * page/PerformanceEntryList.idl: |
| * page/PerformanceNavigation.idl: |
| * page/PerformanceResourceTiming.idl: |
| * page/PerformanceTiming.idl: |
| * page/Screen.idl: |
| * page/SpeechInputEvent.idl: |
| * page/SpeechInputResult.idl: |
| * page/SpeechInputResultList.idl: |
| * page/WebKitAnimation.idl: |
| * page/WebKitAnimationList.idl: |
| * page/WebKitPoint.idl: |
| * page/WorkerNavigator.idl: |
| * plugins/DOMMimeType.idl: |
| * plugins/DOMMimeTypeArray.idl: |
| * plugins/DOMPlugin.idl: |
| * plugins/DOMPluginArray.idl: |
| * storage/Storage.idl: |
| * storage/StorageEvent.idl: |
| * svg/ElementTimeControl.idl: |
| * svg/SVGAElement.idl: |
| * svg/SVGAltGlyphDefElement.idl: |
| * svg/SVGAltGlyphElement.idl: |
| * svg/SVGAltGlyphItemElement.idl: |
| * svg/SVGAngle.idl: |
| * svg/SVGAnimateColorElement.idl: |
| * svg/SVGAnimateElement.idl: |
| * svg/SVGAnimateMotionElement.idl: |
| * svg/SVGAnimateTransformElement.idl: |
| * svg/SVGAnimatedAngle.idl: |
| * svg/SVGAnimatedBoolean.idl: |
| * svg/SVGAnimatedEnumeration.idl: |
| * svg/SVGAnimatedInteger.idl: |
| * svg/SVGAnimatedLength.idl: |
| * svg/SVGAnimatedLengthList.idl: |
| * svg/SVGAnimatedNumber.idl: |
| * svg/SVGAnimatedNumberList.idl: |
| * svg/SVGAnimatedPreserveAspectRatio.idl: |
| * svg/SVGAnimatedRect.idl: |
| * svg/SVGAnimatedString.idl: |
| * svg/SVGAnimatedTransformList.idl: |
| * svg/SVGAnimationElement.idl: |
| * svg/SVGCircleElement.idl: |
| * svg/SVGClipPathElement.idl: |
| * svg/SVGColor.idl: |
| * svg/SVGComponentTransferFunctionElement.idl: |
| * svg/SVGCursorElement.idl: |
| * svg/SVGDefsElement.idl: |
| * svg/SVGDescElement.idl: |
| * svg/SVGDocument.idl: |
| * svg/SVGElement.idl: |
| * svg/SVGElementInstance.idl: |
| * svg/SVGElementInstanceList.idl: |
| * svg/SVGEllipseElement.idl: |
| * svg/SVGException.idl: |
| * svg/SVGExternalResourcesRequired.idl: |
| * svg/SVGFEBlendElement.idl: |
| * svg/SVGFEColorMatrixElement.idl: |
| * svg/SVGFEComponentTransferElement.idl: |
| * svg/SVGFECompositeElement.idl: |
| * svg/SVGFEConvolveMatrixElement.idl: |
| * svg/SVGFEDiffuseLightingElement.idl: |
| * svg/SVGFEDisplacementMapElement.idl: |
| * svg/SVGFEDistantLightElement.idl: |
| * svg/SVGFEDropShadowElement.idl: |
| * svg/SVGFEFloodElement.idl: |
| * svg/SVGFEFuncAElement.idl: |
| * svg/SVGFEFuncBElement.idl: |
| * svg/SVGFEFuncGElement.idl: |
| * svg/SVGFEFuncRElement.idl: |
| * svg/SVGFEGaussianBlurElement.idl: |
| * svg/SVGFEImageElement.idl: |
| * svg/SVGFEMergeElement.idl: |
| * svg/SVGFEMergeNodeElement.idl: |
| * svg/SVGFEMorphologyElement.idl: |
| * svg/SVGFEOffsetElement.idl: |
| * svg/SVGFEPointLightElement.idl: |
| * svg/SVGFESpecularLightingElement.idl: |
| * svg/SVGFESpotLightElement.idl: |
| * svg/SVGFETileElement.idl: |
| * svg/SVGFETurbulenceElement.idl: |
| * svg/SVGFilterElement.idl: |
| * svg/SVGFilterPrimitiveStandardAttributes.idl: |
| * svg/SVGFitToViewBox.idl: |
| * svg/SVGFontElement.idl: |
| * svg/SVGFontFaceElement.idl: |
| * svg/SVGFontFaceFormatElement.idl: |
| * svg/SVGFontFaceNameElement.idl: |
| * svg/SVGFontFaceSrcElement.idl: |
| * svg/SVGFontFaceUriElement.idl: |
| * svg/SVGForeignObjectElement.idl: |
| * svg/SVGGElement.idl: |
| * svg/SVGGlyphElement.idl: |
| * svg/SVGGlyphRefElement.idl: |
| * svg/SVGGradientElement.idl: |
| * svg/SVGHKernElement.idl: |
| * svg/SVGImageElement.idl: |
| * svg/SVGLangSpace.idl: |
| * svg/SVGLength.idl: |
| * svg/SVGLengthList.idl: |
| * svg/SVGLineElement.idl: |
| * svg/SVGLinearGradientElement.idl: |
| * svg/SVGLocatable.idl: |
| * svg/SVGMPathElement.idl: |
| * svg/SVGMarkerElement.idl: |
| * svg/SVGMaskElement.idl: |
| * svg/SVGMatrix.idl: |
| * svg/SVGMetadataElement.idl: |
| * svg/SVGMissingGlyphElement.idl: |
| * svg/SVGNumber.idl: |
| * svg/SVGNumberList.idl: |
| * svg/SVGPaint.idl: |
| * svg/SVGPathElement.idl: |
| * svg/SVGPathSeg.idl: |
| * svg/SVGPathSegArcAbs.idl: |
| * svg/SVGPathSegArcRel.idl: |
| * svg/SVGPathSegClosePath.idl: |
| * svg/SVGPathSegCurvetoCubicAbs.idl: |
| * svg/SVGPathSegCurvetoCubicRel.idl: |
| * svg/SVGPathSegCurvetoCubicSmoothAbs.idl: |
| * svg/SVGPathSegCurvetoCubicSmoothRel.idl: |
| * svg/SVGPathSegCurvetoQuadraticAbs.idl: |
| * svg/SVGPathSegCurvetoQuadraticRel.idl: |
| * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: |
| * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: |
| * svg/SVGPathSegLinetoAbs.idl: |
| * svg/SVGPathSegLinetoHorizontalAbs.idl: |
| * svg/SVGPathSegLinetoHorizontalRel.idl: |
| * svg/SVGPathSegLinetoRel.idl: |
| * svg/SVGPathSegLinetoVerticalAbs.idl: |
| * svg/SVGPathSegLinetoVerticalRel.idl: |
| * svg/SVGPathSegList.idl: |
| * svg/SVGPathSegMovetoAbs.idl: |
| * svg/SVGPathSegMovetoRel.idl: |
| * svg/SVGPatternElement.idl: |
| * svg/SVGPoint.idl: |
| * svg/SVGPointList.idl: |
| * svg/SVGPolygonElement.idl: |
| * svg/SVGPolylineElement.idl: |
| * svg/SVGPreserveAspectRatio.idl: |
| * svg/SVGRadialGradientElement.idl: |
| * svg/SVGRect.idl: |
| * svg/SVGRectElement.idl: |
| * svg/SVGRenderingIntent.idl: |
| * svg/SVGSVGElement.idl: |
| * svg/SVGScriptElement.idl: |
| * svg/SVGSetElement.idl: |
| * svg/SVGStopElement.idl: |
| * svg/SVGStringList.idl: |
| * svg/SVGStylable.idl: |
| * svg/SVGStyleElement.idl: |
| * svg/SVGSwitchElement.idl: |
| * svg/SVGSymbolElement.idl: |
| * svg/SVGTRefElement.idl: |
| * svg/SVGTSpanElement.idl: |
| * svg/SVGTests.idl: |
| * svg/SVGTextContentElement.idl: |
| * svg/SVGTextElement.idl: |
| * svg/SVGTextPathElement.idl: |
| * svg/SVGTextPositioningElement.idl: |
| * svg/SVGTitleElement.idl: |
| * svg/SVGTransform.idl: |
| * svg/SVGTransformList.idl: |
| * svg/SVGTransformable.idl: |
| * svg/SVGURIReference.idl: |
| * svg/SVGUnitTypes.idl: |
| * svg/SVGUseElement.idl: |
| * svg/SVGVKernElement.idl: |
| * svg/SVGViewElement.idl: |
| * svg/SVGViewSpec.idl: |
| * svg/SVGZoomAndPan.idl: |
| * svg/SVGZoomEvent.idl: |
| * testing/InternalSettings.idl: |
| * testing/Internals.idl: |
| * testing/MallocStatistics.idl: |
| * workers/AbstractWorker.idl: |
| * workers/DedicatedWorkerContext.idl: |
| * workers/SharedWorker.idl: |
| * workers/SharedWorkerContext.idl: |
| * workers/Worker.idl: |
| * workers/WorkerContext.idl: |
| * workers/WorkerLocation.idl: |
| * xml/DOMParser.idl: |
| * xml/XMLHttpRequest.idl: |
| * xml/XMLHttpRequestException.idl: |
| * xml/XMLHttpRequestProgressEvent.idl: |
| * xml/XMLHttpRequestUpload.idl: |
| * xml/XMLSerializer.idl: |
| * xml/XPathEvaluator.idl: |
| * xml/XPathException.idl: |
| * xml/XPathExpression.idl: |
| * xml/XPathNSResolver.idl: |
| * xml/XPathResult.idl: |
| * xml/XSLTProcessor.idl: |
| Removed "module". |
| |
| 2012-10-11 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=98700 |
| ScrollingCoordinator is a hot mess of if-defs |
| |
| Reviewed by Anders Carlsson. |
| |
| This patch moves all of the threaded scrolling code in |
| ScrollingCoordinator into a new class called ScrollingCoordinatorMac |
| which inherits from ScrollingCoordinator. |
| |
| It also adds ScrollingCoordinatorChromium to do Chromium-specific work. |
| ScrollingCoordinator itself does work that is cross-platform. |
| |
| Finally, this patch also eliminates ScrollingCoordinatorNone. |
| ScrollingCoordinator is now sufficient for platforms that relied on |
| ScrollingCoordinatorNone to build. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::create): |
| (WebCore): |
| (WebCore::ScrollingCoordinator::ScrollingCoordinator): |
| (WebCore::ScrollingCoordinator::~ScrollingCoordinator): |
| (WebCore::ScrollingCoordinator::pageDestroyed): |
| (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): |
| (WebCore::ScrollingCoordinator::computeCurrentWheelEventHandlerCount): |
| (WebCore::ScrollingCoordinator::scrollLayerForFrameView): |
| (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange): |
| * page/scrolling/ScrollingCoordinator.h: |
| (WebCore): |
| (ScrollingCoordinator): |
| (WebCore::ScrollingCoordinator::scrollingTree): |
| (WebCore::ScrollingCoordinator::commitTreeStateIfNeeded): |
| (WebCore::ScrollingCoordinator::frameViewLayoutUpdated): |
| (WebCore::ScrollingCoordinator::supportsFixedPositionLayers): |
| (WebCore::ScrollingCoordinator::requestScrollPositionUpdate): |
| (WebCore::ScrollingCoordinator::handleWheelEvent): |
| (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition): |
| (WebCore::ScrollingCoordinator::attachToStateTree): |
| (WebCore::ScrollingCoordinator::detachFromStateTree): |
| (WebCore::ScrollingCoordinator::clearStateTree): |
| (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange): |
| (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange): |
| (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange): |
| (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers): |
| (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer): |
| (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView): |
| (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): |
| * page/scrolling/ScrollingCoordinatorNone.cpp: Removed. |
| * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: |
| (WebCore::ScrollingCoordinatorChromium::ScrollingCoordinatorChromium): |
| (WebCore::ScrollingCoordinatorChromium::~ScrollingCoordinatorChromium): |
| (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): |
| (WebCore): |
| (WebCore::ScrollingCoordinatorChromium::frameViewRootLayerDidChange): |
| (WebCore::ScrollingCoordinatorChromium::frameViewHorizontalScrollbarLayerDidChange): |
| (WebCore::ScrollingCoordinatorChromium::frameViewVerticalScrollbarLayerDidChange): |
| (WebCore::ScrollingCoordinatorChromium::setScrollLayer): |
| (WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion): |
| (WebCore::ScrollingCoordinatorChromium::setWheelEventHandlerCount): |
| (WebCore::ScrollingCoordinatorChromium::setShouldUpdateScrollLayerPositionOnMainThread): |
| (WebCore::ScrollingCoordinatorChromium::setLayerIsContainerForFixedPositionLayers): |
| (WebCore::ScrollingCoordinatorChromium::setLayerIsFixedToContainerLayer): |
| (WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollLayerDidChange): |
| (WebCore::ScrollingCoordinatorChromium::recomputeWheelEventHandlerCountForFrameView): |
| * page/scrolling/chromium/ScrollingCoordinatorChromium.h: Added. |
| (WebCore): |
| (ScrollingCoordinatorChromium): |
| (WebCore::ScrollingCoordinatorChromium::supportsFixedPositionLayers): |
| * page/scrolling/mac/ScrollingCoordinatorMac.h: Added. |
| (WebCore): |
| (ScrollingCoordinatorMac): |
| (ScrollParameters): |
| * page/scrolling/mac/ScrollingCoordinatorMac.mm: |
| (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac): |
| (WebCore::ScrollingCoordinatorMac::~ScrollingCoordinatorMac): |
| (WebCore::ScrollingCoordinatorMac::pageDestroyed): |
| (WebCore): |
| (WebCore::ScrollingCoordinatorMac::scrollingTree): |
| (WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded): |
| (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): |
| (WebCore::ScrollingCoordinatorMac::recomputeWheelEventHandlerCountForFrameView): |
| (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange): |
| (WebCore::ScrollingCoordinatorMac::frameViewHorizontalScrollbarLayerDidChange): |
| (WebCore::ScrollingCoordinatorMac::frameViewVerticalScrollbarLayerDidChange): |
| (WebCore::ScrollingCoordinatorMac::requestScrollPositionUpdate): |
| (WebCore::ScrollingCoordinatorMac::handleWheelEvent): |
| (WebCore::ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition): |
| (WebCore::ScrollingCoordinatorMac::attachToStateTree): |
| (WebCore::ScrollingCoordinatorMac::detachFromStateTree): |
| (WebCore::ScrollingCoordinatorMac::clearStateTree): |
| (WebCore::ScrollingCoordinatorMac::stateNodeForID): |
| (WebCore::ScrollingCoordinatorMac::ensureRootStateNodeForFrameView): |
| (WebCore::ScrollingCoordinatorMac::setScrollLayerForNode): |
| (WebCore::ScrollingCoordinatorMac::setNonFastScrollableRegionForNode): |
| (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode): |
| (WebCore::ScrollingCoordinatorMac::setWheelEventHandlerCountForNode): |
| (WebCore::ScrollingCoordinatorMac::setShouldUpdateScrollLayerPositionOnMainThread): |
| (WebCore::ScrollingCoordinatorMac::updateMainFrameScrollLayerPosition): |
| (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit): |
| (WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired): |
| (WebCore::ScrollingCoordinatorMac::commitTreeState): |
| |
| 2012-10-11 Takashi Sakamoto <tasak@google.com> |
| |
| [Shadow DOM] Insertion points need resetStyleInheritance |
| https://bugs.webkit.org/show_bug.cgi?id=93922 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Implemented resetStyleInheritance of insertion points. |
| Its spec link is http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-html-content-element-reset-style-inheritance |
| |
| Test: fast/dom/shadow/insertion-point-resetStyleInheritance.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::isResetStyleInheritance): |
| Added a new function to check whether there exists any insertion |
| point which has reset-style-inhertiance flag set to be true. |
| (WebCore::StyleResolver::initForStyleResolve): |
| Modified to use the above function to check reset-style-inheritance. |
| * html/shadow/HTMLContentElement.idl: |
| * html/shadow/HTMLShadowElement.idl: |
| Added a new attribute for reset-style-inheritance. |
| * html/shadow/InsertionPoint.cpp: |
| (WebCore::InsertionPoint::InsertionPoint): |
| Initialized a new member variable for reset-style-inheritance. |
| (WebCore::InsertionPoint::resetStyleInheritance): |
| (WebCore::InsertionPoint::setResetStyleInheritance): |
| Implemented setter/getter for reset-style-inheritance. |
| * html/shadow/InsertionPoint.h: |
| (InsertionPoint): |
| Added a new member variable for reset-style-inheritance. |
| |
| 2012-10-11 Anders Carlsson <andersca@apple.com> |
| |
| Attempt to fix build broken by r131125. |
| |
| * page/PageSerializer.cpp: |
| (WebCore::PageSerializer::addImageToResources): |
| KURL::utf8String() is apparently a USE(GOOGLEURL) feature. Call url.string().utf8() instead. |
| |
| 2012-10-11 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [Chromium] Use harfbuzz-ng by default on Linux |
| https://bugs.webkit.org/show_bug.cgi?id=97281 |
| |
| Reviewed by Tony Chang. |
| |
| Switch old harfbuzz to harfbuzz-ng on chromium linux port. |
| |
| No new tests. Existing tests should cover this switch. |
| Test expectations will be updated. |
| |
| * WebCore.gyp/WebCore.gyp: |
| |
| 2012-10-11 Nat Duca <nduca@chromium.org> |
| |
| Expose high-resolution on requestAnimationFrame callback |
| https://bugs.webkit.org/show_bug.cgi?id=66683 |
| |
| This changes requestAnimationFrame's animationStartTime argument |
| to be a high resolution DOM timestamp, per disucssion here: |
| http://lists.w3.org/Archives/Public/public-web-perf/2012Apr/0004.html |
| |
| Reviewed by James Robinson. |
| |
| Covered by existing requestAnimationFrame tests. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::serviceScriptedAnimations): |
| * dom/Document.h: |
| (Document): |
| * dom/ScriptedAnimationController.cpp: |
| (WebCore::ScriptedAnimationController::ScriptedAnimationController): |
| (WebCore::ScriptedAnimationController::serviceScriptedAnimations): |
| (WebCore): |
| (WebCore::ScriptedAnimationController::windowScreenDidChange): |
| (WebCore::ScriptedAnimationController::scheduleAnimation): |
| (WebCore::ScriptedAnimationController::animationTimerFired): |
| (WebCore::ScriptedAnimationController::displayRefreshFired): |
| * dom/ScriptedAnimationController.h: |
| (ScriptedAnimationController): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::serviceScriptedAnimations): |
| * page/FrameView.h: |
| (FrameView): |
| * platform/graphics/DisplayRefreshMonitor.cpp: |
| (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor): |
| (WebCore::DisplayRefreshMonitor::notifyClients): |
| * platform/graphics/DisplayRefreshMonitor.h: |
| (DisplayRefreshMonitor): |
| * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: |
| (WebCore::DisplayRefreshMonitor::displayLinkFired): |
| * platform/graphics/mac/DisplayRefreshMonitorMac.cpp: |
| (WebCore): |
| (WebCore::DisplayRefreshMonitor::requestRefreshCallback): |
| (WebCore::DisplayRefreshMonitor::displayLinkFired): |
| |
| 2012-10-11 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r131100. |
| http://trac.webkit.org/changeset/131100 |
| https://bugs.webkit.org/show_bug.cgi?id=99127 |
| |
| Caused an ASSERT (Requested by abarth|gardening on #webkit). |
| |
| * platform/graphics/filters/CustomFilterValidatedProgram.cpp: |
| (WebCore::CustomFilterValidatedProgram::compositeFunctionString): |
| |
| 2012-10-11 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [Chromium] Improve vertical text rendering of HarfBuzzShaper (Re-land) |
| https://bugs.webkit.org/show_bug.cgi?id=98979 |
| |
| Reviewed by Tony Chang. |
| |
| - Specify 'vert' and 'vrt2' features when we render vertical text. |
| - Set appropriate script so that harfbuzz-ng can use the features. |
| |
| No new tests. fast/text/international/text-spliced-font.html should cover this change. |
| This change will affect after switching to harfbuzz-ng. |
| |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: |
| (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): |
| (WebCore::findScriptForVerticalGlyphSubstitution): Added. |
| (WebCore): |
| (WebCore::HarfBuzzNGFace::setScriptForVerticalGlyphSubstitution): Added. |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h: |
| (HarfBuzzNGFace): Added m_scriptForVerticalText. |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: |
| (WebCore::HarfBuzzShaper::setFontFeatures): |
| Set 'vert' and 'vrt2' features when orientation() == Vertical. |
| (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): |
| Call setScriptForVerticalGlyphSubstitution() when orientation() == Vertical. |
| |
| 2012-10-11 Jay Civelli <jcivelli@chromium.org> |
| |
| Fix for a crasher when generating MHTML for a page containing SVG images. |
| https://bugs.webkit.org/show_bug.cgi?id=99105 |
| |
| Reviewed by Adam Barth. |
| |
| * page/PageSerializer.cpp: |
| (WebCore::PageSerializer::serializeCSSStyleSheet): |
| (WebCore::PageSerializer::addImageToResources): |
| |
| 2012-10-11 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r131107. |
| http://trac.webkit.org/changeset/131107 |
| https://bugs.webkit.org/show_bug.cgi?id=99126 |
| |
| Causes an ASSERT (Requested by abarth|gardening on #webkit). |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::labelForElement): |
| * dom/DocumentOrderedMap.cpp: |
| * dom/DocumentOrderedMap.h: |
| (DocumentOrderedMap): |
| * dom/Element.cpp: |
| (WebCore::Element::insertedInto): |
| (WebCore::Element::removedFrom): |
| (WebCore): |
| (WebCore::Element::willModifyAttribute): |
| * dom/Element.h: |
| (Element): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::TreeScope): |
| * dom/TreeScope.h: |
| (WebCore): |
| (TreeScope): |
| |
| 2012-10-11 Tim Horton <timothy_horton@apple.com> |
| |
| LocalCurrentGraphicsContext will never restore the current context to null |
| https://bugs.webkit.org/show_bug.cgi?id=99122 |
| |
| Reviewed by Simon Fraser. |
| |
| LocalCurrentGraphicsContext is meant to cause temporary changes to |
| NSGraphicsContext's currentContext. However, if it is entered when |
| currentContext is null, it will not restore to null, as a null |
| m_savedNSGraphicsContext was being used to indicate that the current and |
| passed-in graphics contexts were equal (and thus no save/restore was required). |
| |
| Add a separate flag for whether or not we need to restore the context. |
| |
| Also flip the order of calls to restore graphics context state so that |
| exiting LocalCurrentGraphicsContext does things in exactly the opposite |
| of entry. |
| |
| * platform/mac/LocalCurrentGraphicsContext.h: |
| (LocalCurrentGraphicsContext): |
| * platform/mac/LocalCurrentGraphicsContext.mm: |
| (WebCore::LocalCurrentGraphicsContext::LocalCurrentGraphicsContext): |
| (WebCore::LocalCurrentGraphicsContext::~LocalCurrentGraphicsContext): |
| |
| 2012-10-11 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r131109. |
| http://trac.webkit.org/changeset/131109 |
| https://bugs.webkit.org/show_bug.cgi?id=99124 |
| |
| Does not compile on chromium-mac (Requested by |
| abarth|gardening on #webkit). |
| |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: |
| (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h: |
| (HarfBuzzNGFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: |
| (WebCore::HarfBuzzShaper::setFontFeatures): |
| (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): |
| |
| 2012-10-11 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=99111 |
| ScrollingStateNode should keep its Vector of children in an OwnPtr |
| |
| Reviewed by Ada Chan. |
| |
| Vector<OwnPtr<ScrollingStateNode> >* m_children; is now: |
| OwnPtr<Vector<OwnPtr<ScrollingStateNode> > > m_children; |
| * page/scrolling/ScrollingStateNode.cpp: |
| (WebCore::ScrollingStateNode::ScrollingStateNode): |
| (WebCore::ScrollingStateNode::~ScrollingStateNode): |
| (WebCore::ScrollingStateNode::appendChild): |
| * page/scrolling/ScrollingStateNode.h: |
| (ScrollingStateNode): |
| |
| 2012-10-11 Levi Weintraub <leviw@chromium.org> |
| |
| [Sub pixel layout] Fast-path iframe scrolling can picks up an extra pixel |
| https://bugs.webkit.org/show_bug.cgi?id=98571 |
| |
| Reviewed by Emil A Eklund. |
| |
| Refactoring all coordinate-switching functionality to use a single "mode" flag |
| as opposed to having a bunch of boolean values. This enables the same set of |
| options across the board, and a consistent interface. This was previously |
| done for mapLocalToContainer. |
| |
| The imptetus for this for this stems from the one logical change in this patch |
| which only effects sub-pixel layout. FrameView::convertToRenderer and |
| convertFromRenderer return IntPoint coordinates, and need to also snap transform |
| offsets to determine proper rects for scrolling. |
| |
| Unlabeled functions below are simply being updated to these new interfaces. |
| |
| Test: fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html |
| |
| * WebCore.exp.in: |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::getUpperLeftCorner): |
| (WebCore::ContainerNode::getLowerRightCorner): |
| * dom/Element.cpp: |
| (WebCore::Element::boundsInRootViewSpace): |
| * dom/MouseRelatedEvent.cpp: |
| (WebCore::MouseRelatedEvent::computeRelativePosition): |
| * dom/Node.cpp: |
| (WebCore::Node::convertToPage): |
| (WebCore::Node::convertFromPage): |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::SliderThumbElement::setPositionFromPoint): |
| * html/shadow/SpinButtonElement.cpp: |
| (WebCore::SpinButtonElement::defaultEventHandler): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::convertToRenderer): Now pixel-snaps offsets before passing |
| them to TransformState, which transforms the coordinates. |
| (WebCore::FrameView::convertFromRenderer): Ditto. |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::absoluteQuads): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::absoluteQuads): |
| (WebCore::RenderBox::mapLocalToContainer): |
| (WebCore::RenderBox::mapAbsoluteToLocalPoint): |
| * rendering/RenderBox.h: |
| (RenderBox): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator): |
| * rendering/RenderFrameSet.cpp: |
| (WebCore::RenderFrameSet::userResize): |
| * rendering/RenderGeometryMap.cpp: |
| (WebCore::RenderGeometryMap::absolutePoint): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::mapLocalToContainer): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::absoluteToContents): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderMediaControls.cpp: |
| (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): |
| * rendering/RenderMenuList.cpp: |
| (WebCore::RenderMenuList::showPopup): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::localToAbsolute): |
| (WebCore::RenderObject::absoluteToLocal): |
| (WebCore::RenderObject::mapLocalToContainer): |
| (WebCore::RenderObject::mapAbsoluteToLocalPoint): |
| (WebCore::RenderObject::localToContainerQuad): |
| (WebCore::RenderObject::localToContainerPoint): |
| * rendering/RenderObject.h: |
| (RenderObject): MapLocalToContainerFlags is now MapCoordinatesFlags since it's |
| now used for other conversion methods. |
| (WebCore::RenderObject::localToAbsoluteQuad): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::mapLocalToContainer): |
| (WebCore::RenderView::mapAbsoluteToLocalPoint): |
| * rendering/RenderView.h: |
| (RenderView): |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::mapLocalToContainer): |
| * rendering/svg/RenderSVGForeignObject.h: |
| (RenderSVGForeignObject): |
| * rendering/svg/RenderSVGInline.cpp: |
| (WebCore::RenderSVGInline::mapLocalToContainer): |
| * rendering/svg/RenderSVGInline.h: |
| (RenderSVGInline): |
| * rendering/svg/RenderSVGModelObject.cpp: |
| (WebCore::RenderSVGModelObject::mapLocalToContainer): |
| * rendering/svg/RenderSVGModelObject.h: |
| (RenderSVGModelObject): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::mapLocalToContainer): |
| * rendering/svg/RenderSVGRoot.h: |
| (RenderSVGRoot): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::mapLocalToContainer): |
| * rendering/svg/RenderSVGText.h: |
| (RenderSVGText): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::mapLocalToContainer): |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::localCoordinateSpaceTransform): |
| |
| 2012-10-11 Adam Barth <abarth@webkit.org> |
| |
| Incorrect/Illegal static cast in FrameView.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=98943 |
| |
| Reviewed by Eric Seidel. |
| |
| HTMLFrameElementBase is the common base class for <frame> and <iframe>. |
| |
| * page/FrameView.cpp: |
| (WebCore::FrameView::init): |
| |
| 2012-10-11 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [Chromium] Improve vertical text rendering of HarfBuzzShaper |
| https://bugs.webkit.org/show_bug.cgi?id=98979 |
| |
| Reviewed by Tony Chang. |
| |
| - Specify 'vert' and 'vrt2' features when we render vertical text. |
| - Set appropriate script so that harfbuzz-ng can use the features. |
| |
| No new tests. fast/text/international/text-spliced-font.html should cover this change. |
| This change will affect after switching to harfbuzz-ng. |
| |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: |
| (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): |
| (WebCore::findScriptForVerticalGlyphSubstitution): Added. |
| (WebCore): |
| (WebCore::HarfBuzzNGFace::setScriptForVerticalGlyphSubstitution): Added. |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h: |
| (HarfBuzzNGFace): Added m_scriptForVerticalText. |
| * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: |
| (WebCore::HarfBuzzShaper::setFontFeatures): |
| Set 'vert' and 'vrt2' features when orientation() == Vertical. |
| (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): |
| Call setScriptForVerticalGlyphSubstitution() when orientation() == Vertical. |
| |
| 2012-10-11 Dominic Mazzoni <dmazzoni@google.com> |
| |
| AX: labelForElement is slow when there are a lot of DOM elements |
| https://bugs.webkit.org/show_bug.cgi?id=97825 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a DocumentOrderedMap to TreeScope that allows accessibility to |
| quickly map from an id to the label for that id. This speeds up |
| AccessibilityNode::labelForElement, which was a bottleneck in Chromium |
| when accessibility was on. |
| |
| Tests: accessibility/title-ui-element-correctness.html |
| perf/accessibility-title-ui-element.html |
| |
| * accessibility/AccessibilityNodeObject.cpp: |
| (WebCore::AccessibilityNodeObject::labelForElement): |
| * dom/DocumentOrderedMap.cpp: |
| (WebCore::keyMatchesLabelForAttribute): |
| (WebCore): |
| (WebCore::DocumentOrderedMap::getElementByLabelForAttribute): |
| * dom/DocumentOrderedMap.h: |
| (DocumentOrderedMap): |
| * dom/Element.cpp: |
| (WebCore::Element::insertedInto): |
| (WebCore::Element::removedFrom): |
| (WebCore::Element::updateLabel): |
| (WebCore): |
| (WebCore::Element::willModifyAttribute): |
| * dom/Element.h: |
| (Element): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::TreeScope): |
| (WebCore::TreeScope::addLabel): |
| (WebCore): |
| (WebCore::TreeScope::removeLabel): |
| (WebCore::TreeScope::labelElementForId): |
| * dom/TreeScope.h: |
| (WebCore): |
| (TreeScope): |
| (WebCore::TreeScope::shouldCacheLabelsByForAttribute): |
| |
| 2012-10-11 James Simonsen <simonjam@chromium.org> |
| |
| unprefix window.performance.webkitNow() |
| https://bugs.webkit.org/show_bug.cgi?id=88278 |
| |
| Reviewed by Tony Gentilcore. |
| |
| Test: fast/dom/Window/window-properties-performance.html |
| fast/performance/performance-now-timestamps.html |
| |
| * page/Performance.cpp: |
| (WebCore::Performance::now): |
| * page/Performance.h: |
| (Performance): |
| * page/Performance.idl: |
| |
| 2012-10-11 Roger Fong <roger_fong@apple.com> |
| |
| [WebGL] [Mac] only the mapped symbol for the first element of a uniform/attribute array is stored. |
| https://bugs.webkit.org/show_bug.cgi?id=98966 |
| |
| Reviewed by Dean Jackson. |
| |
| We currently do not add name/mappedName symbol pairs for each element of a uniform/attribute array. |
| This is because we only add a number of symbols equal to how many symbols the shader compiler tells us there are. |
| The shader compiler treats an array as a single uniform. We need to be adding in symbols to the map for each element of the array ourselves. |
| The mappedName of each array element is the same between elements except for the "[index]" at the end so this is easy to do. |
| |
| Tested using Khronos WebGL conformance suite: |
| conformance/glsl/misc/glsl-long-variable-names.html |
| |
| * platform/graphics/ANGLEWebKitBridge.cpp: |
| (WebCore::getSymbolInfo): |
| |
| 2012-10-11 Andreas Kling <kling@webkit.org> |
| |
| ElementAttributeData shouldn't be managing Element's callbacks. |
| <http://webkit.org/b/98987> |
| |
| Reviewed by Anders Carlsson. |
| |
| Dispatch the following attribute-related Element callbacks from within Element |
| instead of ElementAttributeData. Also made them private. |
| |
| - willModifyAttribute |
| - didModifyAttribute |
| - didAddAttribute |
| - didRemoveAttribute |
| |
| No behavior change, just making ElementAttributeData a bit dumber (a good thing.) |
| |
| * dom/Element.cpp: |
| (WebCore::Element::detachAttribute): |
| (WebCore::Element::removeAttribute): |
| (WebCore::Element::setAttributeInternal): |
| (WebCore::Element::removeAttributeInternal): |
| (WebCore::Element::addAttributeInternal): |
| * dom/Element.h: |
| * dom/ElementAttributeData.cpp: |
| (WebCore::ElementAttributeData::addAttribute): |
| (WebCore::ElementAttributeData::removeAttribute): |
| * dom/ElementAttributeData.h: |
| |
| 2012-10-11 Huang Dongsung <luxtella@company100.net> |
| |
| [CSS Shaders] Make custom filters use a premultiplied buffer. |
| https://bugs.webkit.org/show_bug.cgi?id=98396 |
| |
| Reviewed by Dean Jackson. |
| |
| Currently, a GLSL css_Composite function returns a premultiplied color, so |
| FECustomFilter must make a premultiplied buffer in the case when an author is |
| using the CSS mix function. |
| |
| In addition, there are two performance benefits when FECustomFilter uses a premultiplied buffer. |
| 1. FilterEffect::asImageBuffer is faster. |
| 2. In the future when Accelerated Compositing implementations use |
| FECustomFilter, they do not need to convert an unmultiplied buffer to a |
| premultiplied buffer. |
| |
| Test: css3/filters/custom/custom-filter-composite-fractional-source-alpha.html |
| |
| * platform/graphics/filters/FECustomFilter.cpp: |
| (WebCore::FECustomFilter::applyShader): |
| |
| 2012-10-11 Rob Buis <rbuis@rim.com> |
| |
| [CMAKE] Do not add include dirs twice |
| https://bugs.webkit.org/show_bug.cgi?id=99099 |
| |
| Reviewed by Yong Li. |
| |
| Do not add WebCore_INCLUDE_DIRECTORIES to WebCoreTestSupport_INCLUDE_DIRECTORIES, the includes_directory |
| call does this for us. |
| |
| * CMakeLists.txt: |
| |
| 2012-10-11 Huang Dongsung <luxtella@company100.net> |
| |
| [CSS Shaders] Implement all composite operators except destination and lighter. |
| https://bugs.webkit.org/show_bug.cgi?id=97859 |
| |
| Reviewed by Dean Jackson. |
| |
| Add expressions for all composite operators except destination and |
| lighter. The expressions are lifted directly from the CSS Compositing |
| and Blending spec [1]. WebKit adds these compositing expressions to the |
| author's shader. |
| |
| [1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#advancedcompositing |
| |
| Test: css3/filters/custom/custom-filter-composite-operators.html |
| |
| * platform/graphics/filters/CustomFilterValidatedProgram.cpp: |
| (WebCore::CustomFilterValidatedProgram::compositeFunctionString): |
| |
| 2012-10-11 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: IDL types defined in spec should be visible to scripts |
| https://bugs.webkit.org/show_bug.cgi?id=99093 |
| |
| Reviewed by Adam Barth. |
| |
| Interfaces defined in the spec WebIDL, such as IDBCursorWithValue, should be exposed |
| to scripts as properties of the global object. A few types were missing - add them. |
| |
| Test: storage/indexeddb/interfaces.html |
| |
| * Modules/indexeddb/DOMWindowIndexedDatabase.idl: |
| * Modules/indexeddb/WorkerContextIndexedDatabase.idl: |
| |
| 2012-10-11 Geoffrey Garen <ggaren@apple.com> |
| |
| Removed ASSERT_CLASS_FITS_IN_CELL |
| https://bugs.webkit.org/show_bug.cgi?id=97634 |
| |
| Reviewed by Mark Hahnenberg. |
| |
| * bindings/js/JSDOMWindowShell.cpp: |
| (WebCore): |
| * bindings/js/JSImageConstructor.cpp: |
| (WebCore): |
| * bindings/js/JSNodeFilterCondition.cpp: |
| (WebCore): |
| * bindings/js/JSWorkerContextBase.cpp: |
| (WebCore): |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| * bindings/scripts/test/JS/JSFloat64Array.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestEventConstructor.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestEventTarget.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestException.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestInterface.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestNode.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore): |
| * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: |
| (WebCore): |
| * bridge/runtime_method.cpp: |
| (JSC): |
| |
| 2012-10-10 Brady Eidson <beidson@apple.com> |
| |
| Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=98976 |
| |
| Reviewed by Anders Carlsson. |
| |
| No new tests (No change in behavior). |
| |
| * WebCore.exp.in: |
| * html/ImageDocument.cpp: |
| (WebCore::ImageDocumentParser::appendBytes): |
| (WebCore::ImageDocumentParser::finish): |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::InspectorPageAgent::mainResourceContent): |
| (WebCore::InspectorPageAgent::sharedBufferContent): |
| (WebCore): |
| (WebCore::InspectorPageAgent::dataContent): |
| * inspector/InspectorPageAgent.h: |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::InspectorResourceAgent::didFinishLoading): |
| (WebCore::InspectorResourceAgent::didFailLoading): |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::mainResourceData): |
| (WebCore::DocumentLoader::setupForReplaceByMIMEType): |
| (WebCore::DocumentLoader::maybeCreateArchive): |
| (WebCore::DocumentLoader::mainResource): |
| (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): |
| * loader/DocumentLoader.h: |
| (WebCore): |
| (DocumentLoader): |
| * loader/ResourceBuffer.cpp: |
| (WebCore::ResourceBuffer::append): |
| (WebCore): |
| (WebCore::ResourceBuffer::clear): |
| * loader/ResourceBuffer.h: |
| (ResourceBuffer): |
| * loader/ResourceLoader.cpp: |
| (WebCore::ResourceLoader::resourceData): |
| (WebCore::ResourceLoader::addData): |
| (WebCore::ResourceLoader::willStopBufferingData): |
| * loader/ResourceLoader.h: |
| (WebCore): |
| (ResourceLoader): |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::didReceiveResponse): |
| (WebCore::SubresourceLoader::sendDataToResource): |
| (WebCore::SubresourceLoader::didFinishLoading): |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): |
| |
| 2012-10-11 Konrad Piascik <kpiascik@rim.com> |
| |
| Web Inspector: node search does not work with elements on touch start listener |
| https://bugs.webkit.org/show_bug.cgi?id=95252 |
| |
| Reviewed by Pavel Feldman. |
| |
| Added new InspectorInstrumentation::handleTouchEvent() method which |
| will prevent a touch handler from firing and inspect and element if we |
| are already searching for a node to highlight. |
| Now when a user has chosen to inspect element (magnifying glass icon) |
| and touches on a page the event will be directed to inspector and |
| handled appropriately. |
| |
| Not testable. |
| |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::handleTouchEvent): |
| (WebCore): |
| * inspector/InspectorDOMAgent.h: |
| (InspectorDOMAgent): |
| * inspector/InspectorInstrumentation.cpp: |
| (WebCore): |
| (WebCore::InspectorInstrumentation::handleTouchEventImpl): |
| * inspector/InspectorInstrumentation.h: |
| (InspectorInstrumentation): |
| (WebCore::InspectorInstrumentation::handleTouchEvent): |
| (WebCore): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::handleTouchEvent): |
| |
| 2012-10-11 Otto Derek Cheung <otcheung@rim.com> |
| |
| [BlackBerry] Credentials for HTTPS urls are saved in the HTTP protection space |
| https://bugs.webkit.org/show_bug.cgi?id=99082 |
| |
| Reviewed by Rob Buis. |
| |
| Adding support for secure ProtectionSpaces in Credentials |
| to prevent credentials from being overwritten/used when the user |
| accesses both versions of the same url. |
| |
| PR 199457 |
| |
| The issue was the secure/non-secure version of the same protocol |
| were using the same ProtectionSpace enum in the network stack. When |
| the credentials are saved, it will overwrite each other since the |
| protection object is identical. |
| |
| The fix is to use the WebKit provided secure enums when the protcol is secure. |
| |
| To test this, access a restricted site that is running on http. Save the |
| password and access the same restricted site (same domain |
| and path) but on https. The browser should prompt for credentials. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::notifyAuthReceived): |
| (WebCore::NetworkJob::handleFTPHeader): |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| (WebCore::NetworkJob::storeCredentials): |
| * platform/network/blackberry/NetworkManager.cpp: |
| (WebCore::NetworkManager::startJob): |
| |
| 2012-10-11 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| [texmap] logic error in BitmapTextureGL::updateContents |
| https://bugs.webkit.org/show_bug.cgi?id=98969 |
| |
| Reviewed by Noam Rosenthal. |
| |
| Incorrect test (bytesPerLine == targetRect.width() / 4) never |
| evaluates to true. Change it to correct test |
| (bytesPerLine == targetRect.width() * 4) |
| |
| No new tests because no functional change. |
| |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::BitmapTextureGL::updateContents): |
| |
| 2012-10-11 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/12477191> Combined text reverts to full-width font after a style change |
| https://bugs.webkit.org/show_bug.cgi?id=99009 |
| |
| Reviewed by John Sullivan. |
| |
| Test: fast/text/text-combine-width-after-style-change.html |
| |
| * rendering/RenderCombineText.cpp: |
| (WebCore::RenderCombineText::styleDidChange): Changed to reset m_isCombined to false, to |
| ensure that combineText() is called on the next layout. |
| |
| 2012-10-11 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| accelerated compositing does not work with ati driver |
| https://bugs.webkit.org/show_bug.cgi?id=97472 |
| |
| Reviewed by Martin Robinson. |
| |
| Create m_parentWindow at positive position. Otherwise, parts of it are |
| not displayed on ati drivers. |
| |
| Covered by existing tests. |
| |
| * platform/gtk/RedirectedXCompositeWindow.cpp: |
| (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow): |
| |
| 2012-10-11 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| Fix JPEG decoding faiure when IMAGE_DECODER_DOWN_SAMPLING is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=98878 |
| |
| Reviewed by Kenneth Russell. |
| |
| When using libjpeg-turbo and enabling IMAGE_DECODER_DOWN_SAMPLING, |
| JPEG decoding failed because of no support for JCS_EXT_RGBA, JCS_EXT_BGRA. |
| Set RGBA values when color space is JCS_EXT_RGBA or JCS_EXT_BGRA. |
| |
| No new tests. |
| |
| * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: |
| (WebCore::JPEGImageDecoder::outputScanlines): |
| |
| 2012-10-11 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Preview HTML in ajax responses in network panel |
| https://bugs.webkit.org/show_bug.cgi?id=99066 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| HTML preview is now shown for XHR responses with text/html mime types. |
| Also RequestHTMLView is refactored to use sandbox iframe correctly. |
| Also extracted a method to generate dataURL from resource/request content. |
| |
| * inspector/front-end/NetworkRequest.js: |
| (WebInspector.NetworkRequest): |
| (WebInspector.NetworkRequest.prototype.populateImageSource): |
| (WebInspector.NetworkRequest.prototype.asDataURL): |
| * inspector/front-end/RequestHTMLView.js: |
| (WebInspector.RequestHTMLView): |
| (WebInspector.RequestHTMLView.prototype._createIFrame): |
| * inspector/front-end/RequestPreviewView.js: |
| (WebInspector.RequestPreviewView.prototype._createPreviewView): |
| * inspector/front-end/Resource.js: |
| (WebInspector.Resource.prototype.populateImageSource): |
| * inspector/front-end/ResourceUtils.js: |
| (WebInspector.contentAsDataURL): |
| |
| 2012-10-11 Christophe Dumez <christophe.dumez@intel.com> |
| |
| Regression(r131058): Broke EFL build |
| https://bugs.webkit.org/show_bug.cgi?id=99079 |
| |
| Unreviewed build fix. |
| |
| Use iterator::value instead of iterator::second to fix |
| build break after r131058. |
| |
| * platform/graphics/freetype/SimpleFontDataFreeType.cpp: |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| |
| 2012-10-11 Mihai Balan <mibalan@adobe.com> |
| |
| Always enable the experiments tab for WebKit nightly |
| |
| Web Inspector: Enabling experiments tab in WebKit nightly. |
| https://bugs.webkit.org/show_bug.cgi?id=98923 |
| |
| Reviewed by Pavel Feldman. |
| |
| Enabling Web Inspector experiments tab in WebKit nightly. This is done by adding a new |
| Preference key, Preferences.experimentsEnabled. Default values are true for WebKit and false |
| for Chromium. They can also be overridden as before (in Chromium) |
| |
| * inspector/front-end/Settings.js: |
| (WebInspector.ExperimentsSettings.prototype.get experimentsEnabled): |
| |
| 2012-10-11 Hayato Ito <hayato@chromium.org> |
| |
| Support re-projection for Shadow DOM. |
| https://bugs.webkit.org/show_bug.cgi?id=97151 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| Update node distribution algorithm so that nodes can be re-projected to insertion points |
| in nested shadow subtree. |
| |
| See the latest Shadow DOM spec for what 're-projected' means: |
| - http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html |
| Also see the related W3C bug: |
| - http://www.w3.org/Bugs/Public/show_bug.cgi?id=18513 |
| |
| Since this change breaks existing behavior, we have to update several code at once, which includes: |
| - ContentDistributer: ContentDistributor now re-projects distributed nodes. |
| - ComposedShadowTreeWalker: ComposedShadowTreeWalker is now aware of re-projection. That can |
| resolve re-projection transparently. |
| - AncestorChainWalker (formerly named ComposedShadowTreeParentWallker): |
| AncestorChainWalker is now aware of re-projection. I've also added a crossingInsertionPoint() |
| member function so that clients of the walker can know whether the walker is just crossing |
| insertion points for a re-projected node. |
| - EventDispatcher: EventDispatcher now uses the updated AncestorChainWalker and its |
| crossingInsertionPoint() so that EventDispatcher can compute relative target for each ancestor correctly. |
| |
| I've also updated existing layout tests and added some layout tests for re-projection. |
| Re-projection for multiple shadow root is not supported yet. I'll address that in another bug. |
| |
| Tests: fast/dom/shadow/composed-shadow-tree-walker.html |
| fast/dom/shadow/shadow-dom-event-dispatching.html |
| fast/dom/shadow/shadowdom-reprojection-1.html |
| fast/dom/shadow/shadowdom-reprojection-2.html |
| |
| * dom/ComposedShadowTreeWalker.cpp: |
| (WebCore::resolveReprojection): |
| (WebCore): |
| (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint): |
| (WebCore::ComposedShadowTreeWalker::traverseParent): |
| (WebCore::AncestorChainWalker::AncestorChainWalker): |
| (WebCore::AncestorChainWalker::parent): |
| * dom/ComposedShadowTreeWalker.h: |
| (AncestorChainWalker): |
| (WebCore::AncestorChainWalker::crossingInsertionPoint): |
| * dom/EventDispatcher.cpp: |
| (WebCore::EventRelatedTargetAdjuster::adjust): |
| (WebCore::EventDispatcher::ensureEventAncestors): |
| * dom/TreeScope.cpp: |
| (WebCore::TreeScope::focusedNode): |
| * html/HTMLLIElement.cpp: |
| (WebCore::HTMLLIElement::attach): |
| * html/shadow/ContentDistributor.cpp: |
| (WebCore::ContentDistributor::distribute): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::updateMouseEventTargetNode): |
| |
| 2012-10-11 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Make ContentSelectorQuery work when siblings are passed explicitly. |
| https://bugs.webkit.org/show_bug.cgi?id=96990 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| When we implement content reprojection in ShadowDOM, we have to pass a node pool to SelectorChecker. |
| We introdue ShadowDOMSiblingTraversalStrategy, which traverses a node pool instead of real node siblings. |
| |
| Since ContentSelector is a very hot place, we don't want to regress performance. In the previous patch, |
| we've make ContentSelector::checkOneSelector template to take SiblingTraversalStrategy as an argument. |
| |
| We also move DOMSiblingTraversalStrategy to SiblingTraversalStrategies.h. |
| |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/SelectorChecker.cpp: |
| (WebCore): |
| * css/SelectorChecker.h: |
| * css/SiblingTraversalStrategies.h: Added. |
| (WebCore): |
| (DOMSiblingTraversalStrategy): Moved from SelectorChecker. |
| (WebCore::DOMSiblingTraversalStrategy::isFirstChild): |
| (WebCore::DOMSiblingTraversalStrategy::isLastChild): |
| (WebCore::DOMSiblingTraversalStrategy::isFirstOfType): |
| (WebCore::DOMSiblingTraversalStrategy::isLastOfType): |
| (WebCore::DOMSiblingTraversalStrategy::countElementsBefore): |
| (WebCore::DOMSiblingTraversalStrategy::countElementsOfTypeBefore): |
| (WebCore::DOMSiblingTraversalStrategy::countElementsAfter): |
| (WebCore::DOMSiblingTraversalStrategy::countElementsOfTypeAfter): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::ShadowDOMSiblingTraversalStrategy): |
| (ShadowDOMSiblingTraversalStrategy): SiblingTraversalStrategy which uses a node pool instead of a real element |
| siblings. This strategy takes a vector of node which we traverse. |
| (WebCore::ShadowDOMSiblingTraversalStrategy::isFirstChild): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::isLastChild): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::isFirstOfType): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::isLastOfType): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::countElementsBefore): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::countElementsAfter): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::countElementsOfTypeBefore): |
| (WebCore::ShadowDOMSiblingTraversalStrategy::countElementsOfTypeAfter): |
| * css/StyleResolver.cpp: |
| * html/shadow/ContentDistributor.cpp: |
| (WebCore::ContentDistributor::distributeSelectionsTo): |
| * html/shadow/ContentSelectorQuery.cpp: Uses ShadowDOMSiblingTraversalStrategy instead of DOMSiblingTraversalStrategy. |
| (WebCore::ContentSelectorChecker::ContentSelectorChecker): |
| (WebCore): |
| (WebCore::ContentSelectorChecker::checkContentSelector): |
| (WebCore::ContentSelectorDataList::initialize): |
| (WebCore::ContentSelectorDataList::matches): |
| (WebCore::ContentSelectorQuery::ContentSelectorQuery): |
| (WebCore::ContentSelectorQuery::matches): |
| * html/shadow/ContentSelectorQuery.h: |
| (ContentSelectorChecker): |
| (WebCore): |
| (ContentSelectorDataList): |
| (ContentSelectorQuery): |
| |
| 2012-10-11 Balazs Kelemen <kbalazs@webkit.org> |
| |
| [Qt] GraphicsContextPlatformPrivate is leaking it's ShadowBlur |
| https://bugs.webkit.org/show_bug.cgi?id=99073 |
| |
| Reviewed by Noam Rosenthal. |
| |
| Stop leaking GraphicsContextPlatformPrivate::shadow. |
| |
| No change in behavior so no new tests. |
| |
| * platform/graphics/qt/GraphicsContextQt.cpp: |
| (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): |
| Always destroy shadow. It is obviously owned by the context so it has |
| nothing to do with the erly return. |
| |
| 2012-10-11 Joshua Bell <jsbell@chromium.org> |
| |
| WebIDL: overloaded methods prevent number -> string conversion |
| https://bugs.webkit.org/show_bug.cgi?id=85326 |
| |
| Reviewed by Kentaro Hara. |
| |
| Make the default behavior for overloaded methods matching DOMString arguments match the |
| default behavior for non-overloaded methods, which more closely matches the WebIDL spec. |
| Enable legacy behavior of only matching undefined/null/string/object(and not number, |
| boolean, etc) via the StrictTypeChecking attribute. |
| |
| Tests: storage/indexeddb/cursor-overloads.html |
| storage/indexeddb/legacy-constants.html |
| ... and run-bindings-tests |
| |
| * Modules/indexeddb/IDBCursor.cpp: |
| (WebCore::IDBCursor::stringToDirection): Handle "0"..."4" as stringified legacy constants. |
| * Modules/indexeddb/IDBCursor.h: |
| * Modules/indexeddb/IDBDatabase.cpp: Remove redundant overloads. |
| (WebCore::IDBDatabase::transaction): Remove redundant overloads. |
| * Modules/indexeddb/IDBDatabase.h: |
| (IDBDatabase): |
| * Modules/indexeddb/IDBDatabase.idl: Remove redundant overloads. |
| * Modules/indexeddb/IDBIndex.cpp: Remove redundant overloads. |
| (WebCore::IDBIndex::openCursor): |
| (WebCore::IDBIndex::openKeyCursor): |
| * Modules/indexeddb/IDBIndex.h: Remove redundant overloads. |
| (IDBIndex): |
| * Modules/indexeddb/IDBIndex.idl: Remove redundant overloads. |
| * Modules/indexeddb/IDBObjectStore.cpp: Remove redundant overloads. |
| (WebCore::IDBObjectStore::openCursor): |
| * Modules/indexeddb/IDBObjectStore.h: Remove redundant overloads. |
| (IDBObjectStore): |
| * Modules/indexeddb/IDBObjectStore.idl: Remove redundant overloads. |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::stringToMode): Handle "0"..."4" as stringified legacy constants. |
| * Modules/indexeddb/IDBTransaction.h: |
| * bindings/scripts/CodeGeneratorJS.pm: Check for StrictTypeChecking attribute. |
| (GenerateParametersCheckExpression): |
| * bindings/scripts/CodeGeneratorV8.pm: Ditto. |
| (GenerateParametersCheckExpression): |
| * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined. |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11): |
| (WebCore): |
| (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): |
| * bindings/scripts/test/TestObj.idl: Added [StrictTypeChecking] to DOMString overloads, |
| plus a new DOMString overload w/o it. |
| * bindings/scripts/test/V8/V8TestObj.cpp: Rebaselined. |
| (WebCore::TestObjV8Internal::overloadedMethod11Callback): |
| (TestObjV8Internal): |
| (WebCore::TestObjV8Internal::overloadedMethodCallback): |
| * html/canvas/CanvasRenderingContext2D.idl: Tag legacy overloads with [StrictTypeChecking]. |
| * xml/XMLHttpRequest.idl: Ditto. |
| |
| 2012-10-11 Justin Novosad <junov@chromium.org> |
| |
| [Chromium][Mac] r130994 seems to break chromium gpu test |
| https://bugs.webkit.org/show_bug.cgi?id=98995 |
| |
| Reviewed by Stephen White. |
| |
| Removing unnecessary assertion that was based on an invalid assumption |
| that 2d canvas draw operations were always called from within WebThread |
| tasks. |
| |
| Test: Canvas2DAllowed chromium gpu_test |
| |
| * platform/graphics/chromium/Canvas2DLayerManager.cpp: |
| (WebCore::Canvas2DLayerManager::willProcessTask): |
| |
| 2012-10-11 Kenichi Ishibashi <bashi@chromium.org> |
| |
| REGRESSION(130231): Causes 3 complex font test failures on EFL / Harfbuzz+Freetype |
| https://bugs.webkit.org/show_bug.cgi?id=98247 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Implement canRenderCombiningCharacterSequence() for the Freetype case. |
| |
| No new tests, covered by existing tests. Actually the lack of the implementation made |
| fast/text/atsui-multiple-renderers.html, fast/text/atsui-spacing-features.html and |
| fast/text/wide-zero-width-space.html fail on EFL. |
| |
| * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Implement canRenderCombiningCharacterSequence(). |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| |
| 2012-10-11 Keishi Hattori <keishi@webkit.org> |
| |
| F4 key should open the picker popup on Windows and Linux |
| https://bugs.webkit.org/show_bug.cgi?id=98754 |
| |
| Reviewed by Kent Tamura. |
| |
| On Windows, F4 key is used to open the combo box popup. We will introduce the same keybinding for picker popups. |
| |
| Added test to calendar-picker-key-operations.html, date-suggestion-picker-key-operations.html, time-suggestion-picker-key-operations.html. |
| |
| * html/BaseMultipleFieldsDateAndTimeInputType.cpp: |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleKeydownEvent): Open picker on F4 key if it is enabled. |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::shouldOpenPickerWithF4Key): Returns true if we want to enable the F4 key binding on this platform. Return false for default. |
| (WebCore): |
| * rendering/RenderTheme.h: |
| (RenderTheme): |
| * rendering/RenderThemeChromiumLinux.cpp: |
| (WebCore::RenderThemeChromiumLinux::shouldOpenPickerWithF4Key): Returns true. |
| (WebCore): |
| * rendering/RenderThemeChromiumLinux.h: |
| * rendering/RenderThemeChromiumWin.cpp: |
| (WebCore): |
| (WebCore::RenderThemeChromiumWin::shouldOpenPickerWithF4Key): Returns true. |
| * rendering/RenderThemeChromiumWin.h: |
| (RenderThemeChromiumWin): |
| |
| 2012-10-11 John J. Barton <johnjbarton@chromium.org> |
| |
| Web Inspector: Zebra stripe the console |
| https://bugs.webkit.org/show_bug.cgi?id=98701 |
| |
| Reviewed by Pavel Feldman. |
| |
| Add .console-message:hover rule to lightly highlight the message line. |
| |
| * inspector/front-end/inspector.css: |
| (.console-message:hover): |
| |
| 2012-10-11 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Filter out embedder injected content scripts |
| https://bugs.webkit.org/show_bug.cgi?id=99039 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/front-end/NetworkUISourceCodeProvider.js: |
| (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource): |
| |
| 2012-10-11 Pavel Feldman <pfeldman@chromium.org> |
| |
| Not reviewed: revert 131004, 131012, 131016, 131042, 131043 for breaking inspector console |
| https://bugs.webkit.org/show_bug.cgi?id=99042 |
| |
| One can't type in the inspector console after 131004. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/DOMAllInOne.cpp: |
| * dom/Element.cpp: |
| (WebCore::Element::attach): |
| (WebCore::Element::detach): |
| (WebCore::Element::recalcStyle): |
| * dom/Element.h: |
| (WebCore): |
| (Element): |
| * dom/ElementRareData.h: |
| (ElementRareData): |
| * dom/Node.cpp: |
| (WebCore::checkAcceptChild): |
| * dom/Node.h: |
| (Node): |
| * dom/NodeRenderingContext.cpp: |
| (WebCore::NodeRenderingContext::nextRenderer): |
| * dom/PseudoElement.cpp: Removed. |
| * dom/PseudoElement.h: Removed. |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::setInnerNode): |
| (WebCore::HitTestResult::setInnerNonSharedNode): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::styleDidChange): |
| (WebCore::RenderBlock::updateBeforeAfterContent): |
| (WebCore): |
| (WebCore::RenderBlock::splitBlocks): |
| (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): |
| (WebCore::RenderBlock::createReplacementRunIn): |
| (WebCore::RenderBlock::renderName): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| * rendering/RenderButton.cpp: |
| (WebCore::RenderButton::updateBeforeAfterContent): |
| (WebCore): |
| * rendering/RenderButton.h: |
| (RenderButton): |
| * rendering/RenderCounter.cpp: |
| (WebCore::RenderCounter::originalText): |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::renderName): |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::renderName): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::styleDidChange): |
| (WebCore::RenderInline::addChildIgnoringContinuation): |
| (WebCore::RenderInline::splitInlines): |
| (WebCore::RenderInline::renderName): |
| * rendering/RenderListItem.cpp: |
| (WebCore::RenderListItem::updateMarkerLocation): |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::renderName): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::createObject): |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::generatingNode): |
| * rendering/RenderObjectChildList.cpp: |
| (WebCore): |
| (WebCore::findBeforeAfterParent): |
| (WebCore::RenderObjectChildList::updateBeforeAfterStyle): |
| (WebCore::createRendererForBeforeAfterContent): |
| (WebCore::ensureBeforeAfterContainer): |
| (WebCore::RenderObjectChildList::updateBeforeAfterContent): |
| * rendering/RenderObjectChildList.h: |
| (RenderObjectChildList): |
| * rendering/RenderRubyText.cpp: |
| (WebCore::RenderRubyText::updateBeforeAfterContent): |
| (WebCore): |
| * rendering/RenderRubyText.h: |
| (RenderRubyText): |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::renderName): |
| * rendering/RenderTableRow.cpp: |
| (WebCore::RenderTableRow::updateBeforeAndAfterContent): |
| (WebCore): |
| (WebCore::RenderTableRow::styleDidChange): |
| * rendering/RenderTableRow.h: |
| (RenderTableRow): |
| (WebCore::RenderTableRow::renderName): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::addChild): |
| * rendering/RenderTableSection.h: |
| (WebCore::RenderTableSection::renderName): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::RenderTreeAsText::writeRenderObject): |
| |
| 2012-10-11 Arpita Bahuguna <arpitabahuguna@gmail.com> |
| |
| REGRESSION (r96393): In some cases, generated content is never shown |
| https://bugs.webkit.org/show_bug.cgi?id=88196 |
| |
| Reviewed by Antti Koivisto. |
| |
| Elements with style specified from an attribute selector in conjunction |
| with a pseudo-element should not take on the shared style of their |
| previous matching sibling (if any). |
| |
| The problem here is that an attribute selector appended by a pseudo-element |
| does not return any matched rules for the call (matchesRuleSet(m_uncommonAttributeRuleSet.get())) |
| in StyleResolver::locateSharedStyle(). |
| |
| This is because of the way pseudo-elements are handled in |
| SelectorChecker::checkSelector(). For a pseudo-element selector we check |
| for the condition (!context.elementStyle && m_mode == ResolvingStyle) and |
| since for this particular flow the SelectorChecker mode is set to ResolvingStyle |
| and since the current element's style is still not available we fail this |
| initial check and return SelectorFailsLocally from checkSelector(). This is |
| incorrect behavior since the element does have an attribute selector specified |
| for it. |
| |
| Have thus introduced another enum value: SharingRules for SelectorChecker's Mode. |
| SelectorChecker's mode should be set to SharingRules before making the |
| call to collectMatchingRules() and then reset (back to ResolvingStyle) thereafter. |
| |
| Existing Mode value: CollectingRules although appropriate cannot be used in this |
| scenario because we also don't want to set any value to dynamicPseudo for this flow. |
| |
| Test: fast/selectors/style-sharing-attribute-selector-with-pseudo-element.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkSelector): |
| Added additional check for SelectorChecker's mode: SharingRules when |
| trying to match for the pseudo-element selector. |
| |
| * css/SelectorChecker.h: |
| Added SharingRules to Mode enum. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet): |
| (WebCore::StyleResolver::locateSharedStyle): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| Renamed matchesRuleSet() to a more descriptive styleSharingCandidateMatchesRuleSet(). |
| Also, setting the SelectorChecker's mode to SharingRules before calling |
| on collectMatchingRules() from styleSharingCandidateMatchesRuleSet(). |
| |
| 2012-10-11 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Some shadow roots are not showing up in Inspector. |
| https://bugs.webkit.org/show_bug.cgi?id=88251 |
| |
| Reviewed by Pavel Feldman. |
| |
| When an element has only text node, its shadow root is not showing up in Inspector, since |
| child text is shown in oneline. We had to prevent from inlining child text when a shadow root is |
| added. |
| |
| Test: inspector/elements/shadow-root.html |
| |
| * inspector/front-end/DOMAgent.js: |
| (WebInspector.DOMNode): |
| (WebInspector.DOMNode.prototype.hasShadowRoots): |
| * inspector/front-end/ElementsTreeOutline.js: |
| |
| 2012-10-11 Allan Sandfeld Jensen <allan.jensen@digia.com> |
| |
| [Qt] More responsive scroll animations |
| https://bugs.webkit.org/show_bug.cgi?id=99016 |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| Changes the scrolling animations so they accelerate faster than they deccelerate, |
| making the animation respond faster to user input. |
| |
| * platform/ScrollAnimatorNone.cpp: |
| (WebCore::ScrollAnimatorNone::parametersForScrollGranularity): |
| * platform/ScrollAnimatorNone.h: |
| (ScrollAnimatorNone): |
| |
| 2012-10-11 Alexander Shalamov <alexander.shalamov@intel.com> |
| |
| [CSS3 Media Queries] Aspect ratio value re-parsed when media query expression is evaluated |
| https://bugs.webkit.org/show_bug.cgi?id=99003 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Use CSSAspectRatioValue instead of CSSValueList to store aspect ratio value |
| in order to avoid re-parsing of aspect ratio data during media expression evaluation. |
| |
| test: fast/media/w3c/test_media_queries.html |
| |
| * css/MediaQueryEvaluator.cpp: |
| (WebCore::compareAspectRatioValue): |
| (WebCore): |
| (WebCore::aspect_ratioMediaFeatureEval): |
| (WebCore::device_aspect_ratioMediaFeatureEval): |
| * css/MediaQueryExp.cpp: |
| (WebCore::MediaQueryExp::MediaQueryExp): |
| |
| 2012-10-11 Zeno Albisser <zeno@webkit.org> |
| |
| [Qt] Implement GraphicsSurfaceToken to replace uint64_t as token type. |
| https://bugs.webkit.org/show_bug.cgi?id=98501 |
| |
| Replace the token type for GraphicsSurface with a new class GraphicsSurfaceToken. |
| This is necessary in order to implement GraphicsSurface for Windows. |
| Depending on the platform a GraphicsSurfaceToken might contain a |
| WindowID (Linux/GLX), two IOSurfaceIDs (Mac) or in the future two HANDLEs (Windows). |
| The simple uint64_t is not sufficient anymore, since a single HANDLE in windows |
| can be 64bit already. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * Target.pri: |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| (GraphicsContext3DPrivate): |
| (WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken): |
| * platform/graphics/surfaces/GraphicsSurface.cpp: |
| (WebCore::GraphicsSurface::create): |
| (WebCore::GraphicsSurface::exportToken): |
| * platform/graphics/surfaces/GraphicsSurface.h: |
| (GraphicsSurface): |
| * platform/graphics/surfaces/GraphicsSurfaceToken.h: Added. |
| (WebCore): |
| (GraphicsSurfaceToken): |
| (WebCore::GraphicsSurfaceToken::GraphicsSurfaceToken): |
| (WebCore::GraphicsSurfaceToken::operator!=): |
| (WebCore::GraphicsSurfaceToken::isValid): |
| * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: |
| (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate): |
| (WebCore::GraphicsSurfacePrivate::token): |
| (GraphicsSurfacePrivate): |
| (WebCore::GraphicsSurface::platformExport): |
| (WebCore::GraphicsSurface::platformImport): |
| * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp: |
| (WebCore::GraphicsSurface::platformExport): |
| (WebCore::GraphicsSurface::platformImport): |
| * platform/graphics/texmap/TextureMapperBackingStore.cpp: |
| (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface): |
| (WebCore::TextureMapperSurfaceBackingStore::setSurface): |
| * platform/graphics/texmap/TextureMapperBackingStore.h: |
| (TextureMapperSurfaceBackingStore): |
| (WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore): |
| * platform/graphics/texmap/TextureMapperPlatformLayer.h: |
| (WebCore::TextureMapperPlatformLayer::graphicsSurfaceToken): |
| |
| 2012-10-11 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [Elements] Breadcrumbs are not updated upon involved elements' className changes |
| https://bugs.webkit.org/show_bug.cgi?id=98887 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Breadcrumbs should be updated upon the "class" and "id" attribute changes of elements participating in the breadcrumb path. |
| |
| Test: inspector/elements/breadcrumb-updates.html |
| |
| * inspector/front-end/ElementsPanel.js: |
| (WebInspector.ElementsPanel): |
| (WebInspector.ElementsPanel.prototype._updateBreadcrumbIfNeeded): |
| |
| 2012-10-11 Kunihiko Sakamoto <ksakamoto@chromium.org> |
| |
| Final newline (LF or CRLF) in paste buffer is converted to space |
| https://bugs.webkit.org/show_bug.cgi?id=80838 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Currently newline characters are replaced with spaces when pasted |
| to text input. This behavior was introduced in r37539, with the |
| intention to follow the FireFox's behavior (see |
| https://bugs.webkit.org/show_bug.cgi?id=20461). However, FireFox |
| truncates newlines at the end of pasted text, instead of replacing |
| them with spaces. So this patch changes TextFieldInputType to cut |
| trailing newlines of inserted text. |
| |
| Test: fast/forms/paste-multiline-text-input.html |
| |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): |
| Truncates trailing newlines. |
| |
| 2012-10-11 Kent Tamura <tkent@chromium.org> |
| |
| Introduce Localizer::isRTL, and use it in DateTimeChooserImpl |
| https://bugs.webkit.org/show_bug.cgi?id=98992 |
| |
| * platform/text/LocaleICU.cpp: |
| (WebCore::LocaleICU::isRTL): Need to initialize 'status'. |
| |
| 2012-10-11 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: The 'X' of the close button of Settings view is not centered |
| https://bugs.webkit.org/show_bug.cgi?id=99008 |
| |
| Reviewed by Alexander Pavlov. |
| |
| Fixed text positioning in CSS. |
| |
| * inspector/front-end/helpScreen.css: |
| (.help-close-button): |
| |
| 2012-10-11 Kent Tamura <tkent@chromium.org> |
| |
| Introduce Localizer::isRTL, and use it in DateTimeChooserImpl |
| https://bugs.webkit.org/show_bug.cgi?id=98992 |
| |
| Reviewed by Kentaro Hara. |
| |
| - Move the RTL detection code in |
| WebKit/chromium/src/DateTimeChooserImpl.cpp to LocaleWin::isRTL() |
| - Introduce Localizer::isRTL as a pure virtual function |
| - Implement LocaleMac::isRTL with native API |
| - Implement LocaleICU::isRTL with ICU API |
| - Add dummy implementation: LocaleNone::isRTL |
| |
| Add some tests to WebKit/chromium/tests/. |
| |
| * platform/text/Localizer.h: |
| (Localizer): Declare pure virtual isRTL. |
| |
| * platform/text/LocaleICU.h: |
| (LocaleICU): Declare isRTL. |
| * platform/text/LocaleICU.cpp: |
| (WebCore::LocaleICU::isRTL): Implemented with uloc_getCharacterOrientation. |
| |
| * platform/text/LocaleNone.cpp: |
| (LocaleNone): Declare isRTL. |
| (WebCore::LocaleNone::isRTL): Added. |
| |
| * platform/text/LocaleWin.h: |
| (LocaleWin): Declare isRTL. |
| * platform/text/LocaleWin.cpp: |
| (WebCore::LocaleWin::isRTL): Implemented. |
| |
| * platform/text/mac/LocaleMac.h: |
| (LocaleMac): Declare isRTL. |
| * platform/text/mac/LocaleMac.mm: |
| (WebCore::LocaleMac::isRTL): Implemented. |
| |
| 2012-10-11 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: TypeError in ConsoleMessage.js |
| https://bugs.webkit.org/show_bug.cgi?id=98999 |
| |
| Reviewed by Alexander Pavlov. |
| |
| This patch is based on patch by John J. Barton. |
| Added a check that stack length is equal. |
| |
| * inspector/front-end/ConsoleMessage.js: |
| (WebInspector.ConsoleMessageImpl.prototype.isEqual): |
| |
| 2012-10-10 Jer Noble <jer.noble@apple.com> |
| |
| Disallow full screen mode keyboard access by default. |
| https://bugs.webkit.org/show_bug.cgi?id=98971 |
| <rdar://problem/12474226> |
| |
| Reviewed by Sam Weinig. |
| |
| Fall back to requesting non-keyboard access if the client refuses to allow keyboard access. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::requestFullScreenForElement): |
| |
| 2012-10-10 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: NMI instrument HTMLCanvas element. |
| https://bugs.webkit.org/show_bug.cgi?id=98917 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| It also includes non intrusive instrumentation for skia classes. |
| |
| Test: inspector/profiler/memory-instrumentation-canvas.html |
| |
| * WebCore.gypi: |
| * html/HTMLCanvasElement.cpp: |
| (WebCore::HTMLCanvasElement::reportMemoryUsage): |
| (WebCore): |
| * html/HTMLCanvasElement.h: |
| (HTMLCanvasElement): |
| * platform/graphics/ImageBuffer.cpp: |
| (WebCore::ImageBuffer::reportMemoryUsage): |
| (WebCore): |
| * platform/graphics/ImageBuffer.h: |
| (ImageBuffer): |
| * platform/graphics/chromium/ImageBufferDataSkia.h: |
| (ImageBufferData): |
| * platform/graphics/skia/ImageBufferSkia.cpp: |
| (WebCore::ImageBufferData::reportMemoryUsage): |
| (WebCore): |
| * platform/graphics/skia/MemoryInstrumentationSkia.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageBufferDataSkia.h. |
| (reportMemoryUsage): |
| * platform/graphics/skia/MemoryInstrumentationSkia.h: Copied from Source/WebCore/platform/graphics/chromium/ImageBufferDataSkia.h. |
| * platform/graphics/skia/NativeImageSkia.cpp: |
| |
| 2012-10-10 Mike West <mkwst@google.com> |
| |
| Document calls createElement with the wrong parameters. |
| https://bugs.webkit.org/show_bug.cgi?id=98907 |
| |
| Reviewed by Kent Tamura. |
| |
| Document::importNode calls Document::createElement with a QualifiedName |
| and ExceptionCode. The Document::createElement that takes a |
| QualifiedName doesn't generate an exception; the second argument is a |
| bool, which the ExceptionCode autocasts into. |
| |
| Changing the argument to an explicit bool shouldn't have any visible |
| effect; no new tests are required. |
| |
| * dom/Document.cpp: |
| (WebCore::Document::importNode): |
| |
| 2012-10-10 Lianghui Chen <liachen@rim.com> |
| |
| [BlackBerry] Fix assertion in NetworkJob::notifyChallengeResult. |
| https://bugs.webkit.org/show_bug.cgi?id=97397 |
| Internal PR: 186597. |
| |
| Internally reviewed by Yong Li, Joe Mason. |
| Reviewed by George Staikos. |
| |
| Add a singleton AuthenticationChallengeManager to manage authentication |
| challenge dialog. It does following things: |
| Record page creation/deletion, so it knows what page is present or not. |
| Record page visibility change so it knows when to display a dialog or not. |
| Accept authentication challenge, and decide whether to postpone the |
| challenge dialog based on whether there is active authentication challenge |
| dialog already and whether its page is visible or not. |
| When a challenge result comes back, notify the result to all clients |
| authenticating for the same protection space, and then start the next |
| authentication challenge from the same page, if there is one. |
| When a page becomes visible, start the first authentication challenge |
| dialog that has been blocked before. |
| When an authentication challenge is requested, the NetworkJob will be |
| deferred so its initial response will be saved while waiting for |
| user decision on the challenge. |
| |
| No new tests for platform specific internal change. |
| |
| * PlatformBlackBerry.cmake: |
| * platform/blackberry/AuthenticationChallengeManager.cpp: Added. |
| (WebCore): |
| (ChallengeInfo): |
| (WebCore::ChallengeInfo::ChallengeInfo): |
| (AuthenticationChallengeManagerPrivate): |
| (WebCore::AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate): |
| (WebCore::AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge): |
| (WebCore::AuthenticationChallengeManagerPrivate::startAuthenticationChallenge): |
| (WebCore::AuthenticationChallengeManagerPrivate::pageExists): |
| (WebCore::AuthenticationChallengeManager::AuthenticationChallengeManager): |
| (WebCore::AuthenticationChallengeManager::pageCreated): |
| (WebCore::AuthenticationChallengeManager::pageDeleted): |
| (WebCore::AuthenticationChallengeManager::pageVisibilityChanged): |
| (WebCore::AuthenticationChallengeManager::authenticationChallenge): |
| (WebCore::AuthenticationChallengeManager::cancelAuthenticationChallenge): |
| (WebCore::AuthenticationChallengeManager::notifyChallengeResult): |
| (WebCore::AuthenticationChallengeManager::instance): |
| (WebCore::AuthenticationChallengeManager::init): |
| * platform/blackberry/AuthenticationChallengeManager.h: |
| (WebCore): |
| (AuthenticationChallengeManager): |
| * platform/blackberry/PageClientBlackBerry.h: |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: |
| (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): |
| (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): |
| (WebCore::MediaPlayerPrivate::onAuthenticationNeeded): |
| (WebCore::MediaPlayerPrivate::notifyChallengeResult): |
| * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: |
| (MediaPlayerPrivate): |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::NetworkJob): |
| (WebCore::NetworkJob::~NetworkJob): |
| (WebCore): |
| (WebCore::NetworkJob::handleNotifyStatusReceived): |
| (WebCore::NetworkJob::handleNotifyClose): |
| (WebCore::NetworkJob::shouldReleaseClientResource): |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| (WebCore::NetworkJob::notifyChallengeResult): |
| * platform/network/blackberry/NetworkJob.h: |
| (NetworkJob): |
| |
| 2012-10-10 Simon Fraser <simon.fraser@apple.com> |
| |
| compositing/tiling/crash-reparent-tiled-layer.html is flakey |
| https://bugs.webkit.org/show_bug.cgi?id=82546 |
| |
| Reviewed by Beth Dakin. |
| |
| When calling layerTreeAsText() inside the document load event, |
| GraphicsLayerCA may have not flushed layers yet, so layer tree |
| properties that are affected by flushing (tiled layer, visible |
| rects) appeared flakey in tests. |
| |
| Fix by forcing a flush before dumping the layer tree. |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::layerTreeAsText): |
| |
| 2012-10-10 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=98984 |
| REGRESSION: Crash happens after we add non-top-level frame to the |
| ScrollingStateTree |
| |
| Reviewed by Simon Fraser. |
| |
| isRootLayer() can return true for layers that do not correspond to |
| the main frame. But we only want the ones that DO correspond to the |
| main frame! |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateBacking): |
| |
| 2012-10-10 Dan Bernstein <mitz@apple.com> |
| |
| <rdar://problem/12472460> text-combine doesn’t use third- and quarter-width variants when used with @font-face |
| https://bugs.webkit.org/show_bug.cgi?id=98961 |
| |
| Reviewed by Tim Horton. |
| |
| Test: fast/text/text-combine-with-font-face.html |
| |
| * css/CSSSegmentedFontFace.cpp: |
| (WebCore::CSSSegmentedFontFace::getFontData): Added the width variant to the |
| key used for entries in the font data table, so that we can return different |
| font data for different width variants. |
| * platform/graphics/FontWidthVariant.h: Defined FontWidthVariantWidth for |
| use in the computation of the above key. |
| * rendering/RenderCombineText.cpp: |
| (WebCore::RenderCombineText::combineText): Added a local variable to store |
| the font selector before changing the font description. Previously, by the time |
| we tried to get the font selector from the font, it had already been cleared, |
| so we called Font::update() with a 0 font selector, meaning @font-face fonts |
| could not be selected. |
| |
| 2012-10-10 Elliott Sprehn <esprehn@chromium.org> |
| |
| Move :before and :after into the DOM |
| https://bugs.webkit.org/show_bug.cgi?id=95117 |
| |
| Reviewed by Eric Seidel. |
| |
| Reimplement generated content :before and :after as DOM Elements. Now ElementRareData has |
| two RefPtrs to PseudoElements for the generated content and Node has methods for traversing |
| the tree including generated content. |
| |
| This allows the generated content to be treated as real nodes instead of anonymous and take |
| part in the usual recalcStyle and attach flow which fixes many bugs and vastly simplifies the |
| lifecycle of generated content. |
| |
| No new tests needed for now. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/DOMAllInOne.cpp: |
| * dom/Element.cpp: |
| (WebCore::Element::attach): Add generated content if needed. |
| (WebCore::Element::detach): Remove all child generated content. |
| (WebCore::Element::recalcStyle): Add or remove generated content based on the new style. |
| (WebCore::Element::updatePseudoElement): Updates pseudo content based on a pseudoId. |
| (WebCore): |
| (WebCore::Element::createPseudoElementIfNeeded): |
| (WebCore::Element::beforePseudoElement): |
| (WebCore::Element::afterPseudoElement): |
| * dom/Element.h: |
| (WebCore): |
| (Element): |
| * dom/ElementRareData.h: |
| (ElementRareData): |
| (WebCore::ElementRareData::setPseudoElement): |
| (WebCore): |
| (WebCore::ElementRareData::pseudoElement): |
| * dom/Node.cpp: |
| (WebCore::Node::pseudoAwarePreviousSibling): |
| (WebCore): |
| (WebCore::Node::pseudoAwareNextSibling): |
| (WebCore::checkAcceptChild): Forbid moving PseudoElements for sanity. The code never does this. |
| * dom/Node.h: |
| (Node): |
| (WebCore::Node::isPseudoElement): |
| (WebCore::Node::pseudoId): Fast path that only calls virtualPseudoId if the node has custom callbacks so isPseudoElement is fast. |
| (WebCore::Node::virtualPseudoId): |
| (WebCore::Node::isBeforePseudoElement): |
| (WebCore::Node::isAfterPseudoElement): |
| * dom/NodeRenderingContext.cpp: |
| (WebCore::NodeRenderingContext::nextRenderer): Changed to find the next sibling of pseudos for insertion. |
| * dom/PseudoElement.cpp: Added. |
| (WebCore): |
| (WebCore::pseudoElementName): |
| (WebCore::PseudoElement::PseudoElement): |
| (WebCore::PseudoElement::pseudoRendererIsNeeded): |
| (WebCore::PseudoElement::customStyleForRenderer): |
| (WebCore::PseudoElement::attach): |
| (WebCore::PseudoElement::rendererIsNeeded): |
| (WebCore::PseudoElement::updateChildStyle): Propagates the style downward into the anonymous renderers for the content. |
| (WebCore::PseudoElement::didRecalcStyle): |
| (WebCore::PseudoElement::createRendererForContent): Refactored from RenderObjectChildList. |
| * dom/PseudoElement.h: Added. |
| (WebCore): |
| (PseudoElement): |
| (WebCore::PseudoElement::create): |
| (WebCore::toPseudoElement): |
| * rendering/HitTestResult.cpp: |
| (WebCore::HitTestResult::setInnerNode): Hit testing a PseudoElement should really hit the parent. |
| (WebCore::HitTestResult::setInnerNonSharedNode): Same as above. |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::styleDidChange): Remove old generated content code, same for below. |
| (WebCore::RenderBlock::splitBlocks): |
| (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): |
| (WebCore::RenderBlock::createReplacementRunIn): |
| (WebCore::RenderBlock::renderName): |
| * rendering/RenderBlock.h: |
| (RenderBlock): |
| * rendering/RenderButton.cpp: |
| * rendering/RenderButton.h: |
| (RenderButton): |
| * rendering/RenderCounter.cpp: |
| (WebCore::RenderCounter::originalText): |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::RenderDeprecatedFlexibleBox::renderName): |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::renderName): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::styleDidChange): |
| (WebCore::RenderInline::addChildIgnoringContinuation): |
| (WebCore::RenderInline::splitInlines): |
| (WebCore::RenderInline::renderName): |
| * rendering/RenderListItem.cpp: |
| (WebCore::RenderListItem::updateMarkerLocation): |
| * rendering/RenderMultiColumnBlock.cpp: |
| (WebCore::RenderMultiColumnBlock::renderName): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::createObject): |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isPseudoElement): |
| (RenderObject): |
| (WebCore::RenderObject::generatingNode): |
| * rendering/RenderObjectChildList.cpp: |
| * rendering/RenderObjectChildList.h: |
| (RenderObjectChildList): |
| * rendering/RenderRubyText.cpp: |
| * rendering/RenderRubyText.h: |
| (RenderRubyText): |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::renderName): |
| * rendering/RenderTableRow.cpp: |
| (WebCore::RenderTableRow::styleDidChange): |
| * rendering/RenderTableRow.h: |
| (WebCore::RenderTableRow::renderName): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::addChild): |
| * rendering/RenderTableSection.h: |
| (WebCore::RenderTableSection::renderName): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::RenderTreeAsText::writeRenderObject): |
| |
| 2012-10-10 Sam Weinig <sam@webkit.org> |
| |
| Add more Objective-C WebKit2 DOM API skeletons. |
| https://bugs.webkit.org/show_bug.cgi?id=98981 |
| |
| Reviewed by Anders Carlsson. |
| |
| * WebCore.exp.in: |
| Add necessary export. |
| |
| 2012-10-10 Dimitri Glazkov <dglazkov@chromium.org> |
| |
| Minimize the recent template explosion in SelectorChecker. |
| https://bugs.webkit.org/show_bug.cgi?id=98829 |
| |
| Reviewed by Antti Koivisto. |
| |
| We've recently added the capability to switch sibling traversal strategy to SelectorChecker, at some readability/clarity expense. |
| This patch tries to minimize the surface of this expense to SelectorChecker::checkOneSelector. |
| |
| No new tests, no change in behavior. |
| |
| * css/SelectorChecker.cpp: |
| (WebCore::SelectorChecker::checkSelector): Turned back into a function. |
| (WebCore::SelectorChecker::checkOneSelector): Changed to specialize on traversal strategy, rather than the context, which was less clear. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstChild): Turned into a function. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isLastChild): Ditto. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstOfType): Ditto. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isLastOfType): Ditto. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsBefore): Ditto. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeBefore): Ditto. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsAfter): Ditto. |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeAfter): Ditto. |
| * css/SelectorChecker.h: |
| (DOMTraversalStrategy): Changed into a class, rather than a template. |
| (SelectorChecker): Turned back into a function. |
| |
| 2012-10-10 James Simonsen <simonjam@chromium.org> |
| |
| High res times should start at 0 |
| https://bugs.webkit.org/show_bug.cgi?id=84912 |
| |
| Reviewed by Tony Gentilcore. |
| |
| Test: Existing Navigation Timing tests. |
| |
| * inspector/InspectorInstrumentation.cpp: Use legacy document time, pending 98223. |
| (WebCore): |
| (WebCore::InspectorInstrumentation::didFinishLoadingImpl): |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::buildObjectForTiming): |
| * loader/DocumentLoadTiming.cpp: |
| (WebCore::DocumentLoadTiming::convertMonotonicTimeToLegacyDocumentTime): |
| (WebCore): |
| (WebCore::DocumentLoadTiming::convertMonotonicTimeToZeroBasedDocumentTime): |
| (WebCore::DocumentLoadTiming::markNavigationStart): |
| * loader/DocumentLoadTiming.h: |
| (DocumentLoadTiming): |
| (WebCore::DocumentLoadTiming::navigationStart): These just report raw monotonic times now. |
| (WebCore::DocumentLoadTiming::unloadEventStart): |
| (WebCore::DocumentLoadTiming::unloadEventEnd): |
| (WebCore::DocumentLoadTiming::redirectStart): |
| (WebCore::DocumentLoadTiming::redirectEnd): |
| (WebCore::DocumentLoadTiming::fetchStart): |
| (WebCore::DocumentLoadTiming::responseEnd): |
| (WebCore::DocumentLoadTiming::loadEventStart): |
| (WebCore::DocumentLoadTiming::loadEventEnd): |
| * page/PerformanceTiming.cpp: |
| (WebCore::PerformanceTiming::navigationStart): Convert these back to legacy document times. |
| (WebCore::PerformanceTiming::unloadEventStart): |
| (WebCore::PerformanceTiming::unloadEventEnd): |
| (WebCore::PerformanceTiming::redirectStart): |
| (WebCore::PerformanceTiming::redirectEnd): |
| (WebCore::PerformanceTiming::fetchStart): |
| (WebCore::PerformanceTiming::responseEnd): |
| (WebCore::PerformanceTiming::loadEventStart): |
| (WebCore::PerformanceTiming::loadEventEnd): |
| (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): |
| (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): |
| * platform/network/ResourceLoadTiming.cpp: |
| (WebCore::ResourceLoadTiming::convertResourceLoadTimeToMonotonicTime): |
| * platform/network/ResourceLoadTiming.h: |
| (ResourceLoadTiming): |
| |
| 2012-10-10 Levi Weintraub <leviw@chromium.org> |
| |
| Tests failure on Chromium Mac after r130821 |
| https://bugs.webkit.org/show_bug.cgi?id=98865 |
| |
| Reviewed by Adam Barth. |
| |
| Updating the check for USE(HARFBUZZ_NG) to check for Mac Chromium, as the HARFBUZZ_NG flag isn't |
| actually set, despite us using Harfbuzz. This unbreaks Chromium Mac as we diagnose the root |
| cause of this issue. |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::setLogicalWidthForTextRun): |
| |
| 2012-10-10 Stephen Chenney <schenney@chromium.org> |
| |
| SVGTextRunRenderingContext changes font data in the glyph page, but it shouldn't |
| https://bugs.webkit.org/show_bug.cgi?id=98755 |
| |
| Reviewed by Eric Seidel. |
| |
| The code in SVGTextRunRenderingContext::glyphDataForCharacter, when it |
| encounters an <altglyph> tag, immediately replaces the font data for a |
| glyph with font data for the primary font, presumably to meet the SVG |
| spec requirement: "If the references to alternate glyphs do not result |
| in successful identification of alternate glyphs to use, then the |
| character(s) that are inside of the ‘altGlyph’ element are rendered as |
| if the ‘altGlyph’ element were a ‘tspan’ element instead." |
| |
| If the alt glyph is not then found we are in the case from the spec |
| and indeed we should use the primary font. However, we end up replacing the GlyphPage |
| entry for the character with primary font data, which we should not do |
| because the glyph page might be used in some place that does not have |
| the alt glyph tag. |
| |
| Furthermore, this causes object lifetime problems for font data, because |
| in cases where the font data that is replaced is for the system fallback |
| font the GlyphPage will live forever with no knowldege that it contains |
| font data pointers into font data other that the system fallback. The |
| replaced font data may be deleted while the pointer lives on in the |
| system fallback page. |
| |
| The fix is simply not to replace the font data in the page. |
| |
| Test: svg/text/alt-glpyh-on-fallback-font-crash.html |
| |
| * rendering/svg/SVGTextRunRenderingContext.cpp: |
| (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Keep track of the original font data and put it back |
| in the glyph page when the method has finished. |
| |
| 2012-10-10 Tab Atkins <jackalmage@gmail.com> |
| |
| column-count: 0 should not prevent margin-collapse through |
| https://bugs.webkit.org/show_bug.cgi?id=65159 |
| |
| Reviewed by Tony Chang. |
| |
| This patch makes "column-count:0" be properly recognized as invalid syntax, |
| as it violates the property grammar in the spec. |
| |
| Tests: fast/multicol/zeroColumnCount.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::validUnit): |
| (WebCore::CSSParser::parseValue): |
| * css/CSSParser.h: |
| |
| 2012-10-10 Benjamin Poulain <bpoulain@apple.com> |
| |
| [WK2] Safari crashes on error when using CFNetwork |
| https://bugs.webkit.org/show_bug.cgi?id=98965 |
| |
| Reviewed by Sam Weinig. |
| |
| The code of ResourceErrorMac when using CFNetwork was assuming |
| there is always either a CFError or an NSError associated with |
| any ResourceError. |
| |
| This is not true on WebKit2 where error can be generic errors |
| in the WebProcess (for example a cannotShowURLError). |
| The code was crashing when trying to invoke function on the |
| non-existing CFError. |
| |
| This patch fixes the issue by handling that third case separately. |
| If the ResourceError is a generic error, a new NSError is created, |
| similarily to what is done in the non-CFNetwork case. |
| |
| * platform/network/mac/ResourceErrorMac.mm: |
| (WebCore::ResourceError::nsError): |
| |
| 2012-10-10 Alexander Shalamov <alexander.shalamov@intel.com> |
| |
| Invalid values for media query features are not handled |
| https://bugs.webkit.org/show_bug.cgi?id=97006 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| This patch improves pass rate of CSS3 Media Queries test suite |
| by making media expressions compliant with W3C specification. Few |
| performance issues are fixed by removal of string comparison during |
| media expression evaluation. |
| |
| Tests: fast/media/w3c/test_media_queries.html |
| |
| * css/CSSGrammar.y: Handle media query expression with specified media restrictor as invalid. |
| * css/MediaQuery.cpp: |
| (WebCore::MediaQuery::serialize): Serialize invalid query according to specification. |
| * css/MediaQueryEvaluator.cpp: |
| (WebCore::orientationMediaFeatureEval): Compare CSSValueID instead of strings. |
| (WebCore::view_modeMediaFeatureEval): Compare CSSValueID instead of strings. |
| (WebCore::pointerMediaFeatureEval): Compare CSSValueID instead of strings. |
| * css/MediaQueryExp.cpp: |
| (WebCore::MediaQueryExp::MediaQueryExp): Check that media features initialized with correct values. |
| |
| 2012-10-10 Justin Novosad <junov@chromium.org> |
| |
| [Chromium] Smoother animation for non-RAF 2D canvas animations |
| https://bugs.webkit.org/show_bug.cgi?id=97918 |
| |
| Reviewed by Stephen White. |
| |
| Reduces animation jank by preventing the accumulation of multiple |
| frames of backlog in the deferred canvas rendering queue. When the |
| animation is more than one full frame ahead of the compositor, an |
| immediate flush is triggered. This takes into account overdraw |
| elimination by the skip-on-clear optimization that is built-in to |
| SkDeferredCanvas, to allow non-RAF animations that clear the canvas at |
| each frame to run without any rate limiting. This change also |
| incidentally improves frame rate in many cases by providing more |
| granular batching of GPU API calls, resulting in better pipelining |
| through the command buffer. |
| |
| Test: webkit_unit_test Canvas2DLayerManagerTest.testDeferredFrame |
| |
| * platform/graphics/chromium/Canvas2DLayerBridge.cpp: |
| (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge): |
| (WebCore::Canvas2DLayerBridge::limitPendingFrames): |
| Called at the end of a task (usually a scheduled script action) that |
| invoked 2d canvas rendering context methods. The end of the task |
| marks the completion of a displayable frame. This method will trigger |
| a flush if it detects that the layer has pending draw commands that |
| are more that one frame old. |
| (WebCore): |
| (WebCore::Canvas2DLayerBridge::flushedDrawCommands): |
| (WebCore::Canvas2DLayerBridge::didFlushPendingCommands): |
| (WebCore::Canvas2DLayerBridge::skippedPendingDrawCommands): |
| (WebCore::Canvas2DLayerBridge::flush): |
| (WebCore::Canvas2DLayerBridge::contextAcquired): |
| * platform/graphics/chromium/Canvas2DLayerBridge.h: |
| (Canvas2DLayerBridge): |
| * platform/graphics/chromium/Canvas2DLayerManager.cpp: |
| (WebCore::Canvas2DLayerManager::~Canvas2DLayerManager): |
| (WebCore::Canvas2DLayerManager::willProcessTask): |
| (WebCore): |
| (WebCore::Canvas2DLayerManager::didProcessTask): |
| (WebCore::Canvas2DLayerManager::layerDidDraw): |
| * platform/graphics/chromium/Canvas2DLayerManager.h: |
| (Canvas2DLayerManager): |
| |
| 2012-10-10 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=98968 |
| REGRESSION: Unable to scroll with trackpad on some websites after |
| r130783 |
| |
| Reviewed by Simon Fraser. |
| |
| This bug seems to reproduce mostly on web pages that require login. |
| The re-routing causes extra churn of the RenderLayerBacking, and we |
| end up destroying and re-creating the backing and therefore the |
| ScrollingStateNodes, and when the timing is just wrong we get into a |
| state where the ScrollingTree has a set of incorrect information. |
| This patch fixes the bug by making sure the ScrollingStateNodes keep |
| the ScrollingTree in synch with their re-set data. |
| |
| Tell the ScrollingStateTree that the root layer has changed. |
| * page/scrolling/ScrollingCoordinator.cpp: |
| (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange): |
| |
| New virtual function will set every property as having changed. |
| * page/scrolling/ScrollingStateNode.h: |
| (WebCore::ScrollingStateNode::setHasChangedProperties): |
| * page/scrolling/ScrollingStateScrollingNode.cpp: |
| (WebCore::ScrollingStateScrollingNode::setHasChangedProperties): |
| (WebCore): |
| * page/scrolling/ScrollingStateScrollingNode.h: |
| |
| When the root layer changes, make sure we update the ScrollingTree |
| appropriately by indicating that every property could have changed. |
| * page/scrolling/ScrollingStateTree.cpp: |
| (WebCore::ScrollingStateTree::rootLayerDidChange): |
| (WebCore): |
| * page/scrolling/ScrollingStateTree.h: |
| (ScrollingStateTree): |
| |
| 2012-10-10 MORITA Hajime <morrita@google.com> |
| |
| [Chromium] Crash on SpellChecker::didCheck() |
| https://bugs.webkit.org/show_bug.cgi?id=98476 |
| |
| Reviewed by Kent Tamura. |
| |
| SpellChecker::didCheck() assumed m_processingRequest is non-NULL. However, SpellChecker::invokeRequest() |
| calls SpellCheckRequest::didCancel(), which results didCheck() with NULL m_processingRequest. |
| This chagne eliminates the problematic didCheck(). |
| |
| No new tests. The case depends on specific timing and is hard to hit by automated testing. |
| |
| * editing/SpellChecker.cpp: |
| (WebCore::SpellChecker::didCheck): |
| |
| 2012-10-10 MORITA Hajime <morrita@google.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=95664 |
| [Shadow DOM] should be able to be available without <style scoped> |
| |
| Reviewed by Dimitri Glazkov. |
| |
| This change relaxes ENABLE(STYLE_SCOPED) compilation guard |
| and styleScopedEnabled() runtime guard. The flags now masks |
| user visible bits of the code, rather than all of it. |
| This change also eliminates some redundant guards for simplicity. |
| |
| Test: fast/dom/shadow/style-scoped-not-enabled.html |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::matchScopedAuthorRules): |
| (WebCore::StyleResolver::locateCousinList): |
| (WebCore::StyleResolver::canShareStyleWithElement): |
| (WebCore::StyleResolver::locateSharedStyle): |
| * css/StyleScopeResolver.cpp: |
| (WebCore::StyleScopeResolver::scopeFor): |
| * css/StyleScopeResolver.h: |
| (WebCore): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::HTMLStyleElement): |
| (WebCore::HTMLStyleElement::parseAttribute): |
| (WebCore::HTMLStyleElement::scopedAttributeChanged): |
| (WebCore::HTMLStyleElement::isRegisteredAsScoped): |
| (WebCore::HTMLStyleElement::registerWithScopingNode): |
| (WebCore::HTMLStyleElement::unregisterWithScopingNode): |
| (WebCore::HTMLStyleElement::insertedInto): |
| (WebCore::HTMLStyleElement::removedFrom): |
| (WebCore::HTMLStyleElement::scoped): |
| (WebCore::HTMLStyleElement::scopingElement): |
| * html/HTMLStyleElement.h: |
| (HTMLStyleElement): |
| * testing/InternalSettings.cpp: Exporsing a flag for testing. |
| (WebCore::InternalSettings::Backup::Backup): |
| (WebCore::InternalSettings::Backup::restoreTo): |
| (WebCore::InternalSettings::setStyleScopedEnabled): |
| (WebCore): |
| * testing/InternalSettings.h: Exporsing a flag for testing. |
| (Backup): |
| (InternalSettings): |
| * testing/InternalSettings.idl: Exporsing a flag for testing. |
| |
| 2012-10-10 Roger Fong <roger_fong@apple.com> |
| |
| [WebGL] [On Mac] queried attributes and uniforms need to return the original variable name, not the mapped name. |
| https://bugs.webkit.org/show_bug.cgi?id=98470 |
| |
| Reviewed by Timothy Horton. |
| |
| When a variable name is too long we translate to a shorter version and keep a mapping between the long and short names. |
| However, when querying for a variable client side using getActiveAttrib or getActiveUniform, we accidentally return the |
| translated names. This fix makes these methods return the original variable names. |
| |
| Tested using Khronos WebGL conformance suite: |
| conformance/glsl/misc/glsl-long-variable-names.html |
| |
| * platform/graphics/GraphicsContext3D.h: |
| (GraphicsContext3D): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: getActiveAttrib and getActiveUniform |
| now use GraphicsContext3D::originalSymbolName to find the original variable name. |
| (WebCore::GraphicsContext3D::getActiveAttrib): |
| (WebCore::GraphicsContext3D::getActiveUniform): |
| (WebCore): |
| (WebCore::GraphicsContext3D::originalSymbolName): This method returns the original variable name given |
| the mapped name. |
| |
| 2012-10-10 Brady Eidson <beidson@apple.com> |
| |
| Switch over CachedResource::data() from taking a SharedBuffer to taking a ResourceBuffer. |
| https://bugs.webkit.org/show_bug.cgi?id=98952 |
| |
| Reviewed by Anders Carlsson. |
| |
| No new tests (No behavior change). |
| |
| * html/ImageDocument.cpp: |
| (WebCore::ImageDocumentParser::appendBytes): |
| (WebCore::ImageDocumentParser::finish): |
| * loader/SubresourceLoader.cpp: |
| (WebCore::SubresourceLoader::sendDataToResource): |
| (WebCore::SubresourceLoader::didFinishLoading): |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::data): |
| * loader/cache/CachedCSSStyleSheet.h: |
| (WebCore): |
| (CachedCSSStyleSheet): |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::data): |
| * loader/cache/CachedFont.h: |
| (WebCore): |
| (CachedFont): |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::data): |
| * loader/cache/CachedImage.h: |
| (CachedImage): |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::data): |
| * loader/cache/CachedRawResource.h: |
| (CachedRawResource): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::data): |
| * loader/cache/CachedResource.h: |
| (CachedResource): |
| * loader/cache/CachedSVGDocument.cpp: |
| (WebCore::CachedSVGDocument::data): |
| * loader/cache/CachedSVGDocument.h: |
| (CachedSVGDocument): |
| * loader/cache/CachedScript.cpp: |
| (WebCore::CachedScript::data): |
| * loader/cache/CachedScript.h: |
| (CachedScript): |
| * loader/cache/CachedShader.cpp: |
| (WebCore::CachedShader::data): |
| * loader/cache/CachedShader.h: |
| (CachedShader): |
| * loader/cache/CachedTextTrack.cpp: |
| (WebCore::CachedTextTrack::data): |
| * loader/cache/CachedTextTrack.h: |
| (CachedTextTrack): |
| * loader/cache/CachedXSLStyleSheet.cpp: |
| (WebCore::CachedXSLStyleSheet::data): |
| * loader/cache/CachedXSLStyleSheet.h: |
| (CachedXSLStyleSheet): |
| |
| 2012-10-10 Jon Lee <jonlee@apple.com> |
| |
| [WK2] Activate plugins when user clicks on snapshot |
| https://bugs.webkit.org/show_bug.cgi?id=98328 |
| <rdar://problem/12426681> |
| |
| Reviewed by Brady Eidson. |
| |
| Extend the default event handler to deal with plugins with snapshots. |
| When the user clicks on the placeholder, the plugin is recreated and displayed. |
| |
| * loader/FrameLoaderClient.h: Add new client function recreatePlugin(), which is |
| expected to re-create the plugin with the same parameters as when it was run to |
| obtain the plugin's snapshot placeholder. |
| |
| * loader/EmptyClients.cpp: Stub implementation of recreatePlugin(). |
| * loader/EmptyClients.h: |
| * WebCore.exp.in: Expose HTMLPlugInElement::pluginWidget(). |
| |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::defaultEventHandler): Update to look for |
| RenderSnapshottedPlugIn. If the plugin is not playing, have the renderer handle the |
| event. |
| |
| * rendering/RenderSnapshottedPlugIn.cpp: |
| (WebCore::RenderSnapshottedPlugin::getCursor): Set to hand cursor when the plugin is not |
| playing. |
| (WebCore::RenderSnapshottedPlugIn::handleEvent): If the user clicked on the plugin using the |
| left button, update the state of the element to playing. Recreate the plugin if the widget exists |
| to begin with. The cached snapshot image will be saved for possible reuse on back/forward navigation. |
| * rendering/RenderSnapshottedPlugIn.h: |
| (RenderSnapshottedPlugIn): |
| |
| 2012-10-10 Kenichi Ishibashi <bashi@chromium.org> |
| |
| FontVerticalDataCache should allow zero as a key value |
| https://bugs.webkit.org/show_bug.cgi?id=98877 |
| |
| Reviewed by Tony Chang. |
| |
| Use WTF::UnsignedWithZeroKeyHashTraits for type definition of |
| FontVerticalDataCache. |
| |
| No new tests because there is no certain way to make |
| FontPlatformDataHarfBuzz::uniqueID() be zero. |
| |
| * platform/graphics/FontCache.cpp: |
| (WebCore): |
| * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: |
| (WebCore::FontPlatformData::verticalData): Removed zero check of uniqueID(). |
| (WebCore::FontPlatformData::openTypeTable): Ditto. |
| |
| 2012-10-10 Regina Chung <heejin.r.chung@samsung.com> |
| |
| [EFL] Use the shareable GraphicsContext3DOpenGL* implementation. |
| https://bugs.webkit.org/show_bug.cgi?id=96627 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Changed EFL implementation of GraphicsContext3D(GC3D) to use GraphicsContext3DOpenGL*. |
| It was initially implemented in a different way, due to characteristics of Evas, |
| but it would be better to use the common implementation and find another way |
| to deal with Evas, especially because all the duplicated code. |
| |
| No new tests. No functional changes. |
| |
| * PlatformEfl.cmake: Removed cairo implementation of GC3D and added efl files to WebCore_SOURCES. |
| * platform/graphics/efl/GraphicsContext3DEfl.cpp: Modified code so GC3DOpenGL* can be used. |
| (WebCore::GraphicsContext3D::create): |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| (WebCore::GraphicsContext3D::platformLayer): |
| (WebCore::GraphicsContext3D::makeContextCurrent): |
| (WebCore::GraphicsContext3D::setContextLostCallback): |
| (WebCore::GraphicsContext3D::setErrorMessageCallback): |
| (WebCore::GraphicsContext3D::paintToCanvas): |
| (WebCore): |
| (WebCore::GraphicsContext3D::createGraphicsSurfaces): |
| (WebCore::GraphicsContext3D::releaseShaderCompiler): |
| (WebCore::GraphicsContext3D::getImageData): |
| * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Removed functions implemented in GC3DOpenGL* |
| (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): |
| (WebCore): |
| (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): |
| (WebCore::GraphicsContext3DPrivate::createSurface): |
| (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D): |
| (WebCore::GraphicsContext3DPrivate::makeContextCurrent): |
| (WebCore::GraphicsContext3DPrivate::isGLES2Compliant): |
| (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): |
| * platform/graphics/efl/GraphicsContext3DPrivate.h: Removed functions implemented in GC3DOpenGL* |
| (GraphicsContext3DPrivate): |
| |
| 2012-10-10 Tony Chang <tony@chromium.org> |
| |
| Unreviewed, rolling out r130937, r130949, r130955, and |
| r130957. |
| http://trac.webkit.org/changeset/130937 |
| http://trac.webkit.org/changeset/130949 |
| http://trac.webkit.org/changeset/130955 |
| http://trac.webkit.org/changeset/130957 |
| https://bugs.webkit.org/show_bug.cgi?id=94290 |
| |
| Breaks Qt build |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.am: |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.gyp/scripts/action_preprocessgrammar.py: Removed. |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSGrammar.y: Renamed from Source/WebCore/css/CSSGrammar.y.in. |
| * css/CSSGrammar.y.includes: Removed. |
| * css/makegrammar.pl: |
| |
| 2012-10-10 Rob Buis <rbuis@rim.com> |
| |
| [BlackBerry] Adapt to new image for search-cancel |
| https://bugs.webkit.org/show_bug.cgi?id=98954 |
| |
| Reviewed by Antonio Gomes. |
| |
| The new image for search-cancel is bigger than the old one, so invert the scaling. |
| |
| * platform/blackberry/RenderThemeBlackBerry.cpp: |
| (WebCore::RenderThemeBlackBerry::adjustSearchFieldCancelButtonStyle): |
| |
| 2012-10-10 Tony Chang <tony@chromium.org> |
| |
| Unreviewed, another speculative fix for Qt Win. |
| |
| * DerivedSources.pri: Pass --preprocessor to the perl script. |
| * css/makegrammar.pl: Use --preprocessor instead of /usr/bin/gcc. |
| |
| 2012-10-10 Tony Chang <tony@chromium.org> |
| |
| Unreviewed, another speculative fix for Qt Win. |
| |
| * DerivedSources.pri: Make the path slash marks be forward slashes to the .in file. |
| |
| 2012-10-10 David Barton <dbarton@mathscribe.com> |
| |
| Turn on ENABLE_MATHML for Chromium |
| https://bugs.webkit.org/show_bug.cgi?id=96960 |
| |
| Reviewed by Adam Barth. |
| |
| Add the rendering/mathml directory to search. |
| |
| * WebCore.gyp/WebCore.gyp: |
| |
| 2012-10-10 Tony Chang <tony@chromium.org> |
| |
| Unreviewed, speculative build fix for Qt Win. |
| |
| * css/makegrammar.pl: Rather than making a temp file, use a pipe to |
| pass data from gcc to the final output file. |
| |
| 2012-10-10 Brady Eidson <beidson@apple.com> |
| |
| Switch CachedResource over from SharedBuffer to a new ResourceBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=98541 |
| |
| Reviewed by Anders Carlsson. |
| |
| As part of preparation for a WebKit2 NetworkProcess, we need to change the data handle shared |
| between CachedResources and ResourceLoaders to be one that can be backed by something other |
| than a SharedBuffer. |
| |
| ResourceBuffer is this new object. Right now it is directly backed by a SharedBuffer and there |
| should be no change in behavior. |
| |
| No new tests (No behavior change). |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * WebCore.vcproj/WebCore.vcproj: |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| |
| Implementation of the new ResourceBuffer, backed directly by a SharedBuffer: |
| * loader/ResourceBuffer.cpp: Added. |
| (WebCore): |
| (WebCore::ResourceBuffer::ResourceBuffer): |
| (WebCore::ResourceBuffer::~ResourceBuffer): |
| (WebCore::ResourceBuffer::data): |
| (WebCore::ResourceBuffer::size): |
| (WebCore::ResourceBuffer::isEmpty): |
| (WebCore::ResourceBuffer::getSomeData): |
| (WebCore::ResourceBuffer::sharedBuffer): |
| (WebCore::ResourceBuffer::copy): |
| (WebCore::ResourceBuffer::hasPurgeableBuffer): |
| (WebCore::ResourceBuffer::releasePurgeableBuffer): |
| (WebCore::ResourceBuffer::createCFData): |
| |
| * loader/ResourceBuffer.h: Added. |
| (WebCore): |
| (ResourceBuffer): |
| (WebCore::ResourceBuffer::create): |
| (WebCore::ResourceBuffer::adoptSharedBuffer): |
| * loader/mac/ResourceBuffer.mm: Added. |
| |
| (WebCore): |
| (WebCore::ResourceBuffer::createNSData): |
| |
| Switch CachedResource over to using it: |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::makePurgeable): |
| |
| * loader/cache/CachedResource.h: |
| (WebCore): |
| (WebCore::CachedResource::resourceBuffer): |
| (CachedResource): |
| |
| Switch all the other CachedResource subclasses over to using it: |
| * loader/cache/CachedCSSStyleSheet.cpp: |
| (WebCore::CachedCSSStyleSheet::data): |
| |
| * loader/cache/CachedFont.cpp: |
| (WebCore::CachedFont::data): |
| (WebCore::CachedFont::ensureCustomFontData): |
| |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::didAddClient): |
| (WebCore::CachedImage::data): |
| |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::data): |
| |
| * loader/cache/CachedScript.cpp: |
| (WebCore::CachedScript::data): |
| |
| * loader/cache/CachedShader.cpp: |
| (WebCore::CachedShader::data): |
| |
| * loader/cache/CachedTextTrack.cpp: |
| (WebCore::CachedTextTrack::data): |
| |
| * loader/cache/CachedXSLStyleSheet.cpp: |
| (WebCore::CachedXSLStyleSheet::data): |
| |
| Switch other affect parties over to using it: |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::decodeBuffer): |
| (WebCore::InspectorPageAgent::cachedResourceContent): |
| (WebCore::InspectorPageAgent::sharedBufferContent): |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::subresource): |
| |
| * loader/TextTrackLoader.cpp: |
| (WebCore::TextTrackLoader::processNewCueData): |
| (WebCore::TextTrackLoader::didReceiveData): |
| |
| * loader/archive/cf/LegacyWebArchive.cpp: |
| (WebCore::LegacyWebArchive::create): |
| |
| * loader/icon/IconLoader.cpp: |
| (WebCore::IconLoader::notifyFinished): |
| |
| * platform/mac/PasteboardMac.mm: |
| (WebCore::fileWrapperForImage): |
| |
| 2012-10-10 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Unreviewed build fix after r130940. |
| |
| * platform/graphics/skia/GraphicsContextSkia.cpp: |
| (WebCore::GraphicsContext::drawLineForDocumentMarker): |
| Avoid redefining the same variable twice. |
| |
| 2012-10-10 Alexis Menard <alexis@webkit.org> |
| |
| [Mac] Deprecate getPropertyShorthand from objective c bindings for future removal |
| https://bugs.webkit.org/show_bug.cgi?id=98916 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Mark getPropertyShorthand as deprecated so we can remove it later. It will allow us |
| to remove getPropertyShorthand from the web exposed API (this function is not part of |
| any specification, it was there for historical reason). |
| |
| No new tests : just mark a function as deprecated. |
| |
| * bindings/objc/PublicDOMInterfaces.h: |
| |
| 2012-10-10 Mike West <mkwst@chromium.org> |
| |
| Web Inspector: add support for %c (style) in console API |
| https://bugs.webkit.org/show_bug.cgi?id=69401 |
| |
| Reviewed by Pavel Feldman. |
| |
| This patch mimics Firebug's '%c' option when calling 'console.log' |
| messages. 'console.log("%cBlue!", "color: blue;");' will write blue |
| text to the console, and so on. |
| |
| To match Firebug's behavior, multiple '%c' entries will overwrite each |
| other: only one style will be applied. Sorry, folks. |
| |
| Test: inspector/console/console-format-style.html |
| |
| * inspector/front-end/ConsoleMessage.js: |
| (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString.styleFormatter): |
| (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString.append): |
| (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString): |
| |
| 2012-10-10 Varun Jain <varunjain@chromium.org> |
| |
| [chromium] Spelling and grammar markers are pixelated in hidpi. |
| https://bugs.webkit.org/show_bug.cgi?id=98339 |
| |
| Reviewed by Stephen White. |
| |
| We create separate bitmaps for markers in normal and hidpi mode as per |
| specification from UX and choose the right bitmap based on the current |
| device scale factor. |
| |
| Tests: editing/spelling/grammar-markers-hidpi.html |
| editing/spelling/inline-spelling-markers-hidpi.html |
| |
| * platform/graphics/skia/GraphicsContextSkia.cpp: |
| (WebCore::draw2xMarker): |
| (WebCore): |
| (WebCore::draw1xMarker): |
| (WebCore::GraphicsContext::drawLineForDocumentMarker): |
| * platform/graphics/skia/PlatformContextSkia.cpp: |
| (WebCore::PlatformContextSkia::PlatformContextSkia): |
| * platform/graphics/skia/PlatformContextSkia.h: |
| (WebCore::PlatformContextSkia::deviceScaleFactor): |
| (WebCore::PlatformContextSkia::setDeviceScaleFactor): |
| (PlatformContextSkia): |
| |
| 2012-10-10 Pablo Flouret <pablof@motorola.com> |
| |
| Pre-process CSSGrammar.y before running through bison. |
| https://bugs.webkit.org/show_bug.cgi?id=94290 |
| |
| Reviewed by Tony Chang. |
| |
| Running CSSGrammar.y through a preprocessor allows the use of feature |
| defines in all places of the yacc file (i.e. not just in C blocks). |
| Mostly useful to be able to keep every part of a feature under feature |
| flags for self-documenting purposes. |
| |
| No new tests, CSSGrammar.y should be generated correctly and everything |
| should keep working as before. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.am: |
| Modify build systems to use makegrammar.pl to generate the .y files |
| and run those through bison. |
| |
| * WebCore.gyp/WebCore.gyp: |
| * WebCore.gyp/scripts/action_preprocessgrammar.py: Added. |
| Add a new action to preprocess the CSSGrammar.y.in file before the |
| bison rule is run. |
| |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| Add the new .y.in / .y.includes files. |
| |
| * css/CSSGrammar.y.in: Renamed from Source/WebCore/css/CSSGrammar.y. |
| Also moved the top declarations section that has includes, defines, |
| etc. to its own file. These shouldn't be touched by the first |
| pass of the preprocessor. And changed the existing ENABLE(FEATURE) |
| ifdefs to ENABLE_FEATURE since the ENABLE() macro is not available |
| yet. |
| * css/CSSGrammar.y.includes: Added. |
| The aforementioned declarations header section. After the .y.in file |
| is processed it will be concatenated with this one to make the |
| CSSGrammar.y file. |
| |
| * css/makegrammar.pl: |
| Modify the script to handle .y.in files. |
| |
| 2012-10-10 Luciano Wolf <luciano.wolf@openbossa.org> |
| |
| EventHandler::handleGestureLongPress breaks compilation if CONTEXT_MENUS isn't set |
| https://bugs.webkit.org/show_bug.cgi?id=98890 |
| |
| Reviewed by Caio Marcelo de Oliveira Filho. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::handleGestureLongPress): |
| |
| 2012-10-10 David Grogan <dgrogan@chromium.org> |
| |
| Inspector: display IndexedDB integer versions |
| https://bugs.webkit.org/show_bug.cgi?id=95816 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Added basic test to database-structure.html |
| |
| * inspector/Inspector.json: |
| * inspector/InspectorIndexedDBAgent.cpp: |
| (WebCore): |
| * inspector/front-end/IndexedDBModel.js: |
| (WebInspector.IndexedDBModel.prototype._loadDatabase.callback): |
| (WebInspector.IndexedDBModel.prototype._loadDatabase): |
| (WebInspector.IndexedDBModel.Database): |
| * inspector/front-end/IndexedDBViews.js: |
| (WebInspector.IDBDatabaseView): |
| (WebInspector.IDBDatabaseView.prototype._refreshDatabase): |
| |
| 2012-10-10 Simon Fraser <simon.fraser@apple.com> |
| |
| Store a visible rect in GraphicsLayers, and optionally dump it in layerTreeAsText |
| https://bugs.webkit.org/show_bug.cgi?id=98839 |
| |
| Reviewed by Sam Weinig. |
| |
| To replace CATiledLayer with TileCaches, we need to be able to compute the visible part of a GraphicsLayer, |
| in order to limit the extent of TileCache tiles. Reuse the existing code in GraphicsLayerCA for this, |
| but store the computed rect in m_visibleRect. |
| |
| Add a flag to layerTreeAsText() so that tests can optionally include this visible rect in |
| layer tree dumps. This output will be platform-specific, so we don't want to do it unconditionally. |
| |
| * WebCore.exp.in: Signature of Frame::layerTreeAsText() changed. |
| * page/Frame.cpp: |
| (WebCore::Frame::layerTreeAsText): Change to take some enum flags rather than just a bool. |
| * page/Frame.h: |
| * platform/graphics/GraphicsLayer.cpp: |
| (WebCore::GraphicsLayer::writeIndent): Make into a static class method so subclasses can use it. |
| (WebCore::GraphicsLayer::dumpProperties): Call a virtual dumpAdditionalProperties() for subclasses. |
| (showGraphicsLayerTree): |
| * platform/graphics/GraphicsLayer.h: |
| (GraphicsLayer): New LayerTreeAsTextIncludeVisibleRects flag. |
| (WebCore::GraphicsLayer::dumpAdditionalProperties): New virtual method. |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::recursiveCommitChanges): clipRectForChildren and clipRectForSelf |
| were previously unused and buggy. Fix to correctly compute clipRectForSelf, to assign |
| to m_visibleRect. |
| (WebCore::GraphicsLayerCA::dumpAdditionalProperties): Dump m_visibleRect. |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| (GraphicsLayerCA): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::layerTreeAsText): Convert the flags from Frame flags |
| to GraphicsLayerFlags and pass them along. |
| * rendering/RenderLayerCompositor.h: |
| (RenderLayerCompositor): |
| * testing/Internals.cpp: |
| (WebCore::Internals::layerTreeAsText): Overloaded method to handle the optional IDL arguments. |
| * testing/Internals.h: Add enum. |
| * testing/Internals.idl: Add optional flags, and a const short to describe the flags. |
| |
| 2012-10-10 Shinya Kawanaka <shinyak@chromium.org> |
| |
| Needs internal API to return distributed nodes for InsertionPoint |
| https://bugs.webkit.org/show_bug.cgi?id=98868 |
| |
| Reviewed by Hajime Morita. |
| |
| When testing insertion points, we would like to have an internal API which returns a node list |
| distributed to an insertion point. |
| |
| We've added the API in Internals. |
| |
| Test: fast/dom/shadow/distributed-nodes.html |
| |
| * WebCore.exp.in: |
| * html/shadow/InsertionPoint.cpp: |
| (WebCore::InsertionPoint::distributedNodes): Returns the distributed nodes. When InsertionPoint is not |
| attached, the result will be null, since the distribution is not calculated correctly. |
| (WebCore): |
| * html/shadow/InsertionPoint.h: |
| (InsertionPoint): |
| * testing/Internals.cpp: |
| (WebCore::Internals::distributedNodes): |
| (WebCore): |
| * testing/Internals.h: |
| (Internals): |
| * testing/Internals.idl: |
| |
| 2012-10-10 Wei James <james.wei@intel.com> |
| |
| [Chromium]Android x86 content shell debug build warning for uninitialized value used as error with gcc 4.6 |
| https://bugs.webkit.org/show_bug.cgi?id=98629 |
| |
| Reviewed by Adam Barth. |
| |
| Warning was taken as error for uninitialized value being used when |
| building content shell for Android x86 with gcc 4.6. |
| |
| * WebCore.gyp/WebCore.gyp: |
| |
| 2012-10-10 Andrei Bucur <abucur@adobe.com> |
| |
| [CSS Regions] Create a separate list for the invalid regions |
| https://bugs.webkit.org/show_bug.cgi?id=98752 |
| |
| Reviewed by Andreas Kling. |
| |
| This patch moves the invalid regions in a low traffic data structure, outside the main region list. This should add a small performance boost (there's no test for it) and simplifies the code in the following ways: |
| - iterations through the region list don't need to worry about invalid regions |
| - accessing the first/last region is straightforward |
| - list manipulations are easier to implement (e.g. binary search for a region) |
| |
| Tests: Adapted fast/regions/flows-dependency-same-flow.html to use the new dump format for the region chain. |
| |
| * dom/WebKitNamedFlow.cpp: |
| (WebCore::WebKitNamedFlow::getRegionsByContent): Now returns only the valid regions. |
| (WebCore::WebKitNamedFlow::getRegions): Now returns only the valid regions. |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::RenderFlowThread): |
| (WebCore::RenderFlowThread::layout): |
| (WebCore::RenderFlowThread::updateLogicalWidth): |
| (WebCore::RenderFlowThread::computeLogicalHeight): |
| (WebCore::RenderFlowThread::repaintRectangleInRegions): |
| (WebCore::RenderFlowThread::regionAtBlockOffset): |
| (WebCore::RenderFlowThread::removeRenderBoxRegionInfo): |
| (WebCore::RenderFlowThread::logicalWidthChangedInRegions): |
| (WebCore::RenderFlowThread::firstRegion): |
| (WebCore::RenderFlowThread::lastRegion): |
| (WebCore::RenderFlowThread::computeOverflowStateForRegions): |
| (WebCore::RenderFlowThread::regionInRange): |
| (WebCore::RenderFlowThread::checkRegionsWithStyling): |
| (WebCore::RenderFlowThread::objectInFlowRegion): |
| (WebCore::RenderFlowThread::autoLogicalHeightRegionsCount): |
| * rendering/RenderFlowThread.h: |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore): |
| (WebCore::addRegionToList): |
| (WebCore::RenderNamedFlowThread::addRegionToThread): |
| (WebCore::RenderNamedFlowThread::removeRegionFromThread): |
| (WebCore::RenderNamedFlowThread::checkInvalidRegions): |
| * rendering/RenderNamedFlowThread.h: |
| (WebCore::RenderNamedFlowThread::invalidRenderRegionList): |
| (RenderNamedFlowThread): |
| (WebCore::RenderNamedFlowThread::canBeDestroyed): |
| * rendering/RenderTreeAsText.cpp: |
| (WebCore::writeRenderRegionList): |
| (WebCore): |
| (WebCore::writeRenderNamedFlowThreads): The valid regions are listed first followed by the invalid regions. |
| |
| 2012-10-10 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: [Regression] Stale revisions are not cleared when inspector is opened for the already loaded page. |
| https://bugs.webkit.org/show_bug.cgi?id=98915 |
| |
| Reviewed by Alexander Pavlov. |
| |
| WorkspaceController now clears stale revisions on navigation as well. |
| |
| * inspector/front-end/Workspace.js: |
| (WebInspector.WorkspaceController): |
| (WebInspector.WorkspaceController.prototype._mainFrameNavigated): |
| |
| 2012-10-10 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Exception when committing java script editing with revision history view open. |
| https://bugs.webkit.org/show_bug.cgi?id=98908 |
| |
| Reviewed by Alexander Pavlov. |
| |
| Added null check. |
| |
| * inspector/front-end/RevisionHistoryView.js: |
| |
| 2012-10-10 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: protect node in the InspectorDOMNode::inspect |
| https://bugs.webkit.org/show_bug.cgi?id=98914 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::inspect): |
| |
| 2012-10-10 Mike West <mkwst@google.com> |
| |
| EditorCommand calls setProperty with the wrong parameters. |
| https://bugs.webkit.org/show_bug.cgi?id=98896 |
| |
| Reviewed by Jochen Eisinger. |
| |
| EditorCommand::executeToggleStyleInList calls |
| StylePropertySet::setProperty with an ExceptionCode as the final |
| argument. This only succeeds because it's automagically cast to a bool, |
| which is what the method actually expects. |
| |
| Implicitly passing in 'false' by dropping the parameter shouldn't change |
| any visible functionality; no new tests are required. |
| |
| * editing/EditorCommand.cpp: |
| (WebCore::executeToggleStyleInList): |
| |
| 2012-10-10 Mike West <mkwst@google.com> |
| |
| HTMLTextFormControlElement calls setInlineStyleProperty with the wrong parameters. |
| https://bugs.webkit.org/show_bug.cgi?id=98892 |
| |
| Reviewed by Jochen Eisinger. |
| |
| HTMLTextFormControlElement::updatePlaceholderVisibility calls |
| HTMLElement::setInlineStyleProperty with an ExceptionCode as the last |
| parameter. This only succeeds because it's automagically cast to a bool, |
| which is what the method actually expects. |
| |
| Implicitly passing in 'false' by dropping the parameter shouldn't change |
| any functionality; so no new tests are required. |
| |
| * html/HTMLTextFormControlElement.cpp: |
| (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility): |
| |
| 2012-10-10 Christophe Dumez <christophe.dumez@intel.com> |
| |
| SQLResultSet.rowsAffected not cleared |
| https://bugs.webkit.org/show_bug.cgi?id=46070 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| SQLResultSet.rowsAffected is supposed to return the number |
| of rows that were changed by the statement. For "SELECT" |
| statements, it should return 0. |
| |
| However, our implementation currently relies on sqlite3_changes() |
| to compute this value. sqlite3_changes() returns the number of |
| direct row changes in the most recent INSERT, UPDATE, or DELETE |
| statement within the same trigger context. Unfortunately, the |
| most recent INSERT, UPDATE, or DELETE statement may not be the |
| last statement. As a consequence, if you INSERT 1 row, then |
| do a SELECT, SQLResultSet.rowsAffected will be 1 for both the |
| INSERT and the SELECT statements. |
| |
| The proposed solution is to use sqlite3_total_changes() instead |
| of sqlite3_changes(). sqlite3_total_changes() returns the number |
| of row changes caused by INSERT, UPDATE or DELETE statements since |
| the database connection was opened. We now store the value |
| returned by sqlite3_total_changes() before each statement in |
| order to return the count difference in |
| SQLiteDatabase::lastChanges(). |
| |
| Test: storage/websql/execute-sql-rowsAffected.html |
| |
| * platform/sql/SQLiteDatabase.cpp: |
| (WebCore::SQLiteDatabase::SQLiteDatabase): |
| (WebCore::SQLiteDatabase::updateLastChangesCount): |
| (WebCore): |
| (WebCore::SQLiteDatabase::lastChanges): |
| * platform/sql/SQLiteDatabase.h: |
| (SQLiteDatabase): |
| * platform/sql/SQLiteStatement.cpp: |
| (WebCore::SQLiteStatement::step): |
| |
| 2012-10-10 Keishi Hattori <keishi@webkit.org> |
| |
| REGRESSION (r129738): Calendar picker is too wide when the input is rtl |
| https://bugs.webkit.org/show_bug.cgi?id=98881 |
| |
| Reviewed by Kent Tamura. |
| |
| Calendar picker should use param.isCalendarRTL instead of param.isRTL but some were left. |
| |
| No new tests. Covered by ManualTests/forms/calendar-picker.html. |
| |
| * Resources/pagepopups/calendarPicker.js: |
| (CalendarPicker.prototype.fixWindowSize): Calendar picker should use param.isCalendarRTL instead of param.isRTL. |
| (DaysTable.prototype._handleKey): Ditto. |
| |
| 2012-10-10 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: Semantically incorrect CSS rules result in broken source code data |
| https://bugs.webkit.org/show_bug.cgi?id=98520 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Pop and throw away rule data from the stack when data have been collected for a semantically invalid CSS rule |
| (which is not going to be created). |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::createImportRule): |
| (WebCore::CSSParser::createFontFaceRule): |
| (WebCore::CSSParser::createPageRule): |
| (WebCore::CSSParser::createRegionRule): |
| |
| 2012-10-10 Zeno Albisser <zeno@webkit.org> |
| |
| [Qt][Mac] GL_ARB_texture_rectangle must be activated when using ANGLE. |
| https://bugs.webkit.org/show_bug.cgi?id=98387 |
| |
| Check for the availability of GL_ARB_texture_rectangle extension. |
| In case it is available, we activate the extension for ANGLE. |
| This is necessary for WebGL on mac, because the GraphicsSurface |
| on this platform is based on an IOSurface, which requires this extension. |
| |
| Reviewed by Noam Rosenthal. |
| |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| (WebCore::GraphicsContext3DPrivate::initializeANGLE): |
| |
| 2012-10-10 Andreas Kling <kling@webkit.org> |
| |
| ElementAttributeData: tighten member packing on 64-bit. |
| <http://webkit.org/b/98861> |
| |
| Reviewed by Anders Carlsson. |
| |
| Pack m_isMutable and m_arraySize into the slack from the RefCounted base on 64-bit. |
| 218kB progression on Membuster3. |
| |
| * dom/ElementAttributeData.h: |
| (ElementAttributeData): |
| |
| 2012-10-10 Alexandre Elias <aelias@chromium.org> |
| |
| Text Autosizing: Counteract funky window sizing on Android. |
| https://bugs.webkit.org/show_bug.cgi?id=98809 |
| |
| Reviewed by Adam Barth. |
| |
| In Chrome for Android, the window sizes provided to WebCore are |
| currently in physical screen pixels instead of |
| device-scale-adjusted units. For example window width on a |
| Galaxy Nexus is 720 instead of 360. Text autosizing expects |
| device-independent pixels. When Chrome for Android cuts over to |
| the new coordinate space, it will be tied to the setting |
| applyPageScaleFactorInCompositor. |
| |
| No new tests. |
| |
| * rendering/TextAutosizer.cpp: |
| (WebCore::TextAutosizer::processSubtree): |
| |
| 2012-10-09 Philip Rogers <pdr@google.com> |
| |
| Recursively detach SVGElementInstances |
| https://bugs.webkit.org/show_bug.cgi?id=98851 |
| |
| Reviewed by Ryosuke Niwa and Abhishek Arya |
| |
| Before this patch, SVGElementInstance child nodes were not being detached. This |
| patch makes detach() recursively detach SVGElementInstances. |
| |
| * svg/SVGElementInstance.cpp: |
| (WebCore::SVGElementInstance::detach): |
| |
| 2012-10-09 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [Chromium] Fix harfbuzz-ng related code after r130231 |
| https://bugs.webkit.org/show_bug.cgi?id=98858 |
| |
| Reviewed by Kent Tamura. |
| |
| Replace first/second with key/value. |
| |
| No new tests. No changes in behavior. |
| |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp: |
| (WebCore::harfbuzzGetGlyph): |
| * platform/graphics/skia/SimpleFontDataSkia.cpp: |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| |
| 2012-10-09 Enrica Casucci <enrica@apple.com> |
| |
| Only measure text once instead of twice when performing line layout. |
| https://bugs.webkit.org/show_bug.cgi?id=98317 |
| <rdar://problem/12080821> |
| |
| Reviewed by Dan Bernstein. |
| |
| Since we are measuring each word to find out where the line break should occur, |
| we should cache that information to avoid measuring the run again when |
| creating the line box. The bulk of the change is in nextLineBreak, where |
| the measurements are collected and placed in a vector so that they can |
| be consumed in setLogicalWidthForTextRun where we used to measure the |
| text one more time. |
| Each entry in the vector is a WordMeasurement object that contains information |
| about the start and end offset in the run, the renderer, the measured width |
| and, possibly, a list of fallback fonts. |
| When we need to compute the width of the run to create the line box, we add |
| all the measurements for the given renderer in the run to get the total width. |
| This optiomization is currently disabled for platforms using HarfBuzz. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::width): Added fallback fonts parameter. |
| * platform/graphics/Font.h: |
| (Font): Added fallback fonts parameter to the width static member function. |
| This method is called when we compute the width using TextLayout. |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::TextLayout::width): Added fallback fonts parameter. |
| (WebCore::Font::width): |
| (WebCore::ComplexTextController::advance): |
| * platform/graphics/mac/ComplexTextController.h: |
| (ComplexTextController): Added fallback fonts parameter to advance method. |
| * rendering/RenderBlock.h: Added WordMeasures parameter to few methods. |
| * rendering/RenderBlockLineLayout.cpp: |
| (WordMeasurement): Added new class to hold measurement information. |
| (WebCore::setLogicalWidthForTextRun): This is where we compute the run width using the |
| cached information. |
| (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added wordMeasures parameter. |
| (WebCore::RenderBlock::createLineBoxesFromBidiRuns): Added wordMeasures parameter. |
| (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Added declaration of the WordMeasures |
| vector and its use. |
| (WebCore::textWidth): Added fallbackFonts parameter, since now we only measure once. |
| (WebCore::RenderBlock::LineBreaker::nextLineBreak): This method has been modified to collect |
| the measurements of the individual words and add them to the vector. |
| |
| 2012-10-09 Andreas Kling <kling@webkit.org> |
| |
| GlyphPageTreeNode should use HashMap<OwnPtr>. |
| <http://webkit.org/b/98845> |
| |
| Reviewed by Dan Bernstein. |
| |
| - Replace manual memory management by OwnPtrs. |
| - Added a GlyphPageTreeNodeMap typedef to make call sites look a bit nicer. |
| = Changed some hashmap get()/remove() pairs to use the more efficient take() instead. |
| - Made the constructor private, it has no external clients. |
| |
| * platform/graphics/GlyphPageTreeNode.cpp: |
| (WebCore::GlyphPageTreeNode::getRoot): |
| (WebCore::GlyphPageTreeNode::pageCount): |
| (WebCore::GlyphPageTreeNode::getChild): |
| (WebCore::GlyphPageTreeNode::pruneCustomFontData): |
| (WebCore::GlyphPageTreeNode::pruneFontData): |
| (WebCore::GlyphPageTreeNode::showSubtree): |
| * platform/graphics/GlyphPageTreeNode.h: |
| (GlyphPageTreeNode): |
| (WebCore::GlyphPageTreeNode::GlyphPageTreeNode): |
| |
| 2012-10-09 Kent Tamura <tkent@chromium.org> |
| |
| Sub-fields in input[type=time] should not be focusable if the input is disabled or read-only |
| https://bugs.webkit.org/show_bug.cgi?id=98850 |
| |
| Reviewed by Kentaro Hara. |
| |
| Covered by additional test cases of |
| time-multiple-fields/time-multiple-fields-keyboard-events.html and |
| time-multiple-fields/time-multiple-fields-mouse-events.html. |
| |
| * html/shadow/DateTimeFieldElement.h: |
| (FieldOwner): Add isFieldOwnerDisabledOrReadOnly. |
| * html/shadow/DateTimeFieldElement.cpp: |
| (WebCore::DateTimeFieldElement::isFocusable): |
| Check isFieldOwnerDisabledOrReadOnly, and calls HTMLElement::isFocusable() |
| just in case. |
| * html/shadow/DateTimeEditElement.cpp: |
| (WebCore::DateTimeEditElement::isFieldOwnerDisabledOrReadOnly): Added. |
| * html/shadow/DateTimeEditElement.h: |
| (DateTimeEditElement): Declare isFieldOwnerDisabledOrReadOnly. |
| |
| 2012-10-09 Robert Kroeger <rjkroege@chromium.org> |
| |
| [chromium] revert fling deacceleration parameter change |
| https://bugs.webkit.org/show_bug.cgi?id=98820 |
| |
| Reviewed by Adrienne Walker. |
| |
| After an extended discussion, it has been decided that a previous |
| adjustment to fling deacceleration parameters should be reverted. |
| |
| Tested by existing unit tests. |
| |
| * platform/TouchFlingPlatformGestureCurve.cpp: |
| (WebCore::TouchFlingPlatformGestureCurve::createForTouchPad): |
| (WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen): |
| |
| 2012-10-09 Kent Tamura <tkent@chromium.org> |
| |
| Should reject invalid dates constructed with multiple fields UI |
| https://bugs.webkit.org/show_bug.cgi?id=98727 |
| |
| Reviewed by Hajime Morita. |
| |
| In input[type=date] with multiple fields UI, we allow users to set |
| day-of-month value to 1-31 regardless of the month value. So users can |
| construct an invalid date such as "2012-02-31". We should sanitize such |
| values. |
| |
| This change affects platforms with ENABLE_INPUT_TYPE_DATE && |
| ENABLE_INPUT_MULTIPLE_FIELDS_UI. |
| |
| Test: fast/forms/date-multiple-fields/date-multiple-fields-keyboard-events.html |
| |
| * html/BaseDateAndTimeInputType.h: |
| (BaseDateAndTimeInputType): Make sanitizeValue protected to be called from |
| BaseMultipleFieldsDateAndTimeInputType. |
| * html/BaseMultipleFieldsDateAndTimeInputType.cpp: |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged): |
| Apply sanitizeValue to a value constructed in UI. |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState): |
| Ditto. |
| |
| 2012-10-09 Joe Mason <jmason@rim.com> |
| |
| Check for null m_frame in NetworkJob |
| https://bugs.webkit.org/show_bug.cgi?id=98830 |
| |
| Reviewed by George Staikos. |
| |
| PR 220025 |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| (WebCore::NetworkJob::storeCredentials): |
| |
| 2012-10-09 Jian Li <jianli@chromium.org> |
| |
| Update the CSS property used to support draggable regions. |
| https://bugs.webkit.org/show_bug.cgi?id=97156 |
| |
| Reviewed by Adam Barth. |
| |
| The CSS property to support draggable regions has been changed from |
| "-webkit-widget-region" to "-webkit-app-region" in the following syntax: |
| -webkit-app-region: drag|no-drag |
| |
| The CSS parsing code for draggable regions is now different from the CSS |
| parsing code for dashboard regions since we have quite different syntax. |
| |
| We still try to share as much rendering update code as possible for |
| these two features. To make the shared code easier to understand for |
| both features, the name "DashboardRegions" in the shared code is changed |
| to "AnnotatedRegions" to work for both dashboard regions and draggable |
| regions. |
| |
| Note that we still using WIDGET_REGION as feature name in order not to |
| add more changes to this patch. It will be renamed to a more appropriate |
| name in next patch. WIDGET_REGION is now only turned on for the chromium |
| port. |
| |
| Test: fast/css/draggable-region-parser.html |
| |
| * Configurations/FeatureDefines.xcconfig: Disable WIDGET_REGION feature. |
| * WebCore.exp.in: Update the exported symbol due to renaming. |
| * css/CSSComputedStyleDeclaration.cpp: Update the CSS parsing. |
| (WebCore): |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| * css/CSSParser.cpp: Update the CSS parsing. |
| (WebCore::CSSParser::parseValue): |
| (WebCore): |
| (WebCore::CSSParser::parseDashboardRegions): |
| * css/CSSParserValues.cpp: Update the CSS parsing. |
| (WebCore::CSSParserValue::createCSSValue): |
| * css/CSSPrimitiveValue.cpp: Update the CSS parsing. |
| (WebCore::isValidCSSUnitTypeForDoubleConversion): |
| (WebCore): |
| (WebCore::CSSPrimitiveValue::cleanup): |
| (WebCore::CSSPrimitiveValue::customCssText): |
| (WebCore::CSSPrimitiveValue::cloneForCSSOM): |
| (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage): |
| * css/CSSPrimitiveValue.h: Update the CSS parsing. |
| (CSSPrimitiveValue): |
| * css/CSSProperty.cpp: |
| (WebCore::CSSProperty::isInheritedProperty): |
| * css/CSSPropertyNames.in: Rename the CSS property for draggable region. |
| * css/CSSValueKeywords.in: Add the keywords supported for the draggable region. |
| * css/DashboardRegion.h: Remove WIDGET_REGION guard. |
| (DashboardRegion): |
| * css/StyleResolver.cpp: Update the CSS parsing. |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * dom/Document.cpp: Rename dashboardRegions to annotatedRegions. |
| (WebCore::Document::Document): |
| (WebCore::Document::annotatedRegions): |
| (WebCore::Document::setAnnotatedRegions): |
| (WebCore::Document::reportMemoryUsage): |
| * dom/Document.h: Rename dashboardRegions to annotatedRegions. |
| (WebCore): |
| (WebCore::Document::setAnnotatedRegionsDirty): |
| (WebCore::Document::annotatedRegionsDirty): |
| (WebCore::Document::hasAnnotatedRegions): |
| (WebCore::Document::setHasAnnotatedRegions): |
| (Document): |
| * page/Chrome.cpp: Rename dashboardRegions to annotatedRegions. |
| (WebCore::ChromeClient::annotatedRegionsChanged): |
| * page/ChromeClient.h: Rename dashboardRegions to annotatedRegions. |
| (ChromeClient): |
| * page/FrameView.cpp: Rename dashboardRegions to annotatedRegions. |
| (WebCore::FrameView::layout): |
| (WebCore::FrameView::updateAnnotatedRegions): |
| (WebCore::FrameView::paintContents): |
| * page/FrameView.h: Rename dashboardRegions to annotatedRegions. |
| (FrameView): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::addAnnotatedRegions): |
| * rendering/RenderInline.h: Rename dashboardRegions to annotatedRegions. |
| (RenderInline): |
| * rendering/RenderLayer.cpp: Rename dashboardRegions to annotatedRegions. |
| (WebCore::RenderLayer::scrollTo): |
| (WebCore::RenderLayer::setHasHorizontalScrollbar): |
| (WebCore::RenderLayer::setHasVerticalScrollbar): |
| (WebCore::RenderLayer::updateScrollbarsAfterLayout): |
| * rendering/RenderListBox.cpp: Rename dashboardRegions to annotatedRegions. |
| (WebCore::RenderListBox::setHasVerticalScrollbar): |
| * rendering/RenderObject.cpp: Rename dashboardRegions to annotatedRegions. |
| (WebCore::RenderObject::styleWillChange): |
| (WebCore::RenderObject::addAnnotatedRegions): |
| (WebCore::RenderObject::collectAnnotatedRegions): |
| * rendering/RenderObject.h: Rename dashboardRegions to annotatedRegions. |
| (WebCore::AnnotatedRegionValue::operator==): |
| (WebCore::AnnotatedRegionValue::operator!=): |
| (AnnotatedRegionValue): |
| (RenderObject): |
| * rendering/style/RenderStyle.cpp: Update the CSS parsing. |
| (WebCore::RenderStyle::diff): |
| (WebCore): |
| * rendering/style/RenderStyle.h: Update the CSS parsing. |
| * rendering/style/RenderStyleConstants.h: Update the CSS parsing. |
| * rendering/style/StyleDashboardRegion.h: Update the CSS parsing. |
| * rendering/style/StyleRareNonInheritedData.cpp: Update the CSS parsing. |
| (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): |
| (WebCore::StyleRareNonInheritedData::operator==): |
| * rendering/style/StyleRareNonInheritedData.h: Update the CSS parsing. |
| (WebCore): |
| (StyleRareNonInheritedData): |
| |
| 2012-10-09 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r130811 and r130821. |
| http://trac.webkit.org/changeset/130811 |
| http://trac.webkit.org/changeset/130821 |
| https://bugs.webkit.org/show_bug.cgi?id=98831 |
| |
| Broke date-suggestion-picker-appearance-with-scroll-bar.html |
| (Requested by abarth|gardening on #webkit). |
| |
| * WebCore.exp.in: |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::getUpperLeftCorner): |
| (WebCore::ContainerNode::getLowerRightCorner): |
| * dom/MouseRelatedEvent.cpp: |
| (WebCore::MouseRelatedEvent::computeRelativePosition): |
| * dom/Node.cpp: |
| (WebCore::Node::convertToPage): |
| (WebCore::Node::convertFromPage): |
| * editing/FrameSelection.cpp: |
| (WebCore::CaretBase::absoluteBoundsForLocalRect): |
| * editing/RenderedPosition.cpp: |
| (WebCore::RenderedPosition::absoluteRect): |
| * editing/VisiblePosition.cpp: |
| (WebCore::VisiblePosition::absoluteCaretBounds): |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::SliderThumbElement::setPositionFromPoint): |
| * html/shadow/SpinButtonElement.cpp: |
| (WebCore::SpinButtonElement::defaultEventHandler): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::convertFromRenderer): |
| (WebCore::FrameView::convertToRenderer): |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paintDocumentMarker): |
| (WebCore::InlineTextBox::paintTextMatchMarker): |
| (WebCore::InlineTextBox::computeRectForReplacementMarker): |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::absoluteQuads): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::absoluteQuads): |
| (WebCore::RenderBox::absoluteContentBox): |
| (WebCore::RenderBox::mapLocalToContainer): |
| (WebCore::RenderBox::mapAbsoluteToLocalPoint): |
| * rendering/RenderBox.h: |
| (RenderBox): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::computeStickyPositionConstraints): |
| (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator): |
| * rendering/RenderFrameSet.cpp: |
| (WebCore::RenderFrameSet::userResize): |
| * rendering/RenderGeometryMap.cpp: |
| (WebCore::RenderGeometryMap::absolutePoint): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::mapLocalToContainer): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::absoluteToContents): |
| (WebCore::RenderLayer::convertToLayerCoords): |
| (WebCore::RenderLayer::scrollTo): |
| (WebCore::RenderLayer::calculateClipRects): |
| (WebCore::RenderLayer::childrenClipRect): |
| (WebCore::RenderLayer::selfClipRect): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::contentsVisible): |
| * rendering/RenderMediaControls.cpp: |
| (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): |
| * rendering/RenderMenuList.cpp: |
| (WebCore::RenderMenuList::showPopup): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::absoluteFocusRingQuads): |
| (WebCore::RenderObject::localToAbsolute): |
| (WebCore::RenderObject::absoluteToLocal): |
| (WebCore::RenderObject::mapLocalToContainer): |
| (WebCore::RenderObject::mapAbsoluteToLocalPoint): |
| (WebCore::RenderObject::localToContainerQuad): |
| (WebCore::RenderObject::localToContainerPoint): |
| * rendering/RenderObject.h: |
| (RenderObject): |
| (WebCore::RenderObject::localToAbsoluteQuad): |
| * rendering/RenderText.cpp: |
| (WebCore::RenderText::absoluteRectsForRange): |
| (WebCore::RenderText::absoluteQuads): |
| (WebCore::RenderText::absoluteQuadsForRange): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::mapLocalToContainer): |
| (WebCore::RenderView::mapAbsoluteToLocalPoint): |
| (WebCore::RenderView::selectionBounds): |
| * rendering/RenderView.h: |
| (RenderView): |
| * rendering/RenderWidget.cpp: |
| (WebCore::RenderWidget::updateWidgetGeometry): |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::mapLocalToContainer): |
| * rendering/svg/RenderSVGForeignObject.h: |
| (RenderSVGForeignObject): |
| * rendering/svg/RenderSVGInline.cpp: |
| (WebCore::RenderSVGInline::mapLocalToContainer): |
| * rendering/svg/RenderSVGInline.h: |
| (RenderSVGInline): |
| * rendering/svg/RenderSVGModelObject.cpp: |
| (WebCore::RenderSVGModelObject::mapLocalToContainer): |
| (WebCore::RenderSVGModelObject::absoluteQuads): |
| * rendering/svg/RenderSVGModelObject.h: |
| (RenderSVGModelObject): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::mapLocalToContainer): |
| * rendering/svg/RenderSVGRoot.h: |
| (RenderSVGRoot): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::mapLocalToContainer): |
| (WebCore::RenderSVGText::absoluteQuads): |
| * rendering/svg/RenderSVGText.h: |
| (RenderSVGText): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::mapLocalToContainer): |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::localCoordinateSpaceTransform): |
| |
| 2012-10-09 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r130812. |
| http://trac.webkit.org/changeset/130812 |
| https://bugs.webkit.org/show_bug.cgi?id=98826 |
| |
| Caused fast/text/shaping/shaping-selection-rect to fail |
| (Requested by abarth|gardening on #webkit). |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::width): |
| * platform/graphics/Font.h: |
| (Font): |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::TextLayout::width): |
| (WebCore::Font::width): |
| (WebCore::ComplexTextController::advance): |
| * platform/graphics/mac/ComplexTextController.h: |
| (ComplexTextController): |
| * rendering/RenderBlock.h: |
| (WebCore): |
| (LineBreaker): |
| (RenderBlock): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::setLogicalWidthForTextRun): |
| (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): |
| (WebCore::RenderBlock::createLineBoxesFromBidiRuns): |
| (WebCore::RenderBlock::layoutRunsAndFloatsInRange): |
| (WebCore::textWidth): |
| (WebCore::RenderBlock::LineBreaker::nextLineBreak): |
| |
| 2012-10-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DOM/textarea-edit.html spends 35% of time in numGraphemeClusters |
| https://bugs.webkit.org/show_bug.cgi?id=98711 |
| |
| Reviewed by Kent Tamura. |
| |
| Since the number of characters is always greater than the number of grapheme clusters, |
| we can avoid calling computeLengthForSubmission when the number of characters is less |
| than maxlength. We still have to count the number of LFs since they all need to be |
| converted into CRLFs. This improves WebKit's score on DOM/textarea-edit.html by 45%. |
| |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::computeLengthForSubmission): |
| (WebCore::numberOfLineBreaks): |
| (WebCore::upperBoundForLengthForSubmission): Added. |
| (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): |
| (WebCore::HTMLTextAreaElement::tooLong): |
| |
| 2012-10-09 Nate Chapin <japhet@chromium.org> |
| |
| Make CachedResourceLoader RefCounted and have both Document |
| and DocumentLoader hold RefPtrs. This is in preparation for |
| caching main resources. |
| https://bugs.webkit.org/show_bug.cgi?id=86787 |
| |
| Reviewed by Adam Barth. |
| |
| No new tests, no functionality changes at this time. |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * dom/Document.cpp: |
| (WebCore::Document::Document): Only create our own CachedResourceLoader |
| if we were given a null frame. |
| (WebCore::Document::~Document): |
| (WebCore::Document::cachedResourceLoader): |
| (WebCore): |
| * dom/Document.h: |
| (Document): |
| * loader/DocumentLoader.cpp: Throughout, use our m_cachedResourceLoader instead |
| of the Document's pointer. |
| (WebCore::DocumentLoader::DocumentLoader): Create a CachedResourceLoader. |
| (WebCore::DocumentLoader::~DocumentLoader): |
| (WebCore::DocumentLoader::isLoadingInAPISense): |
| (WebCore::DocumentLoader::subresource): |
| (WebCore::DocumentLoader::getSubresources): |
| * loader/DocumentLoader.h: |
| (WebCore::DocumentLoader::cachedResourceLoader): |
| (DocumentLoader): |
| * loader/SubresourceLoader.cpp: Remove m_document, since it only existed to keep alive and access the CachedResourceLoader. |
| It can now be accessed from m_documentLoader. |
| (WebCore::SubresourceLoader::SubresourceLoader): |
| (WebCore::SubresourceLoader::~SubresourceLoader): |
| (WebCore::SubresourceLoader::willSendRequest): |
| (WebCore::SubresourceLoader::releaseResources): |
| * loader/SubresourceLoader.h: |
| (SubresourceLoader): |
| * loader/cache/CachedResourceLoader.cpp: Handle the possibility of a null Document in several places. |
| (WebCore::CachedResourceLoader::CachedResourceLoader): |
| (WebCore::CachedResourceLoader::~CachedResourceLoader): |
| (WebCore::CachedResourceLoader::frame): |
| (WebCore::CachedResourceLoader::canRequest): |
| (WebCore::CachedResourceLoader::determineRevalidationPolicy): |
| (WebCore::CachedResourceLoader::printAccessDeniedMessage): |
| (WebCore::CachedResourceLoader::loadDone): |
| * loader/cache/CachedResourceLoader.h: |
| (WebCore): |
| (WebCore::CachedResourceLoader::create): Add create(), make constructor private. |
| (CachedResourceLoader): |
| (WebCore::CachedResourceLoader::document): |
| (WebCore::CachedResourceLoader::setDocument): |
| (WebCore::CachedResourceLoader::clearDocumentLoader): |
| |
| 2012-10-09 Alexander Shalamov <alexander.shalamov@intel.com> |
| |
| CSS Style is not recalculated when media attribute of style element is changed |
| https://bugs.webkit.org/show_bug.cgi?id=96752 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| When "media" attribute of style element is changed, style should be recalculated. |
| This patch modifies HTMLStyleElement::parseAttribute, so that when the media attribute |
| is updated, new MediaQuerySet is created and applied to the style element then, document |
| style is recalculated. Since media query set is updated for CSSStyleSheet, CSSOM wrapper |
| for media query should be updated as well in order to sync with new media query set value. |
| |
| Test: fast/media/mq-js-update-media.html |
| |
| * css/CSSStyleSheet.cpp: |
| (WebCore::CSSStyleSheet::setMediaQueries): |
| * html/HTMLStyleElement.cpp: |
| (WebCore::HTMLStyleElement::parseAttribute): |
| |
| 2012-10-09 Ben Murdoch <benm@google.com> |
| |
| [chromium][Android] Add WebSecurityOrigin::grantLoadLocalResources() |
| https://bugs.webkit.org/show_bug.cgi?id=97689 |
| |
| Reviewed by Adam Barth. |
| |
| In addition to the WebKit/chromium side of the change, remove the |
| ASSERT in SecurityOrigin::grantLoadLocalResources(). Android WebView |
| is a legitimate user of this API in cases where neither of the |
| ASSERT'd conditions hold. |
| |
| * page/SecurityOrigin.cpp: |
| (WebCore::SecurityOrigin::grantLoadLocalResources): Remove ASSERT. |
| |
| 2012-10-09 Jon Lee <jonlee@apple.com> |
| |
| Build fix for Qt Windows. |
| |
| * html/HTMLPlugInElement.h: Include Image.h. |
| |
| 2012-10-09 Enrica Casucci <enrica@apple.com> |
| |
| Only measure text once instead of twice when performing line layout. |
| https://bugs.webkit.org/show_bug.cgi?id=98317 |
| <rdar://problem/12080821> |
| |
| Reviewed by Dan Bernstein. |
| |
| Since we are measuring each word to find out where the line break should occur, |
| we should cache that information to avoid measuring the run again when |
| creating the line box. The bulk of the change is in nextLineBreak, where |
| the measurements are collected and placed in a vector so that they can |
| be consumed in setLogicalWidthForTextRun where we used to measure the |
| text one more time. |
| Each entry in the vector is a WordMeasurement object that contains information |
| about the start and end offset in the run, the renderer, the measured width |
| and, possibly, a list of fallback fonts. |
| When we need to compute the width of the run to create the line box, we add |
| all the measurements for the given renderer in the run to get the total width. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::width): Added fallback fonts parameter. |
| * platform/graphics/Font.h: |
| (Font): Added fallback fonts parameter to the width static member function. |
| This method is called when we compute the width using TextLayout. |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::TextLayout::width): Added fallback fonts parameter. |
| (WebCore::Font::width): |
| (WebCore::ComplexTextController::advance): |
| * platform/graphics/mac/ComplexTextController.h: |
| (ComplexTextController): Added fallback fonts parameter to advance method. |
| * rendering/RenderBlock.h: Added WordMeasures parameter to few methods. |
| * rendering/RenderBlockLineLayout.cpp: |
| (WordMeasurement): Added new class to hold measurement information. |
| (WebCore::setLogicalWidthForTextRun): This is where we compute the run width using the |
| cached information. |
| (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added wordMeasures parameter. |
| (WebCore::RenderBlock::createLineBoxesFromBidiRuns): Added wordMeasures parameter. |
| (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Added declaration of the WordMeasures |
| vector and its use. |
| (WebCore::textWidth): Added fallbackFonts parameter, since now we only measure once. |
| (WebCore::RenderBlock::LineBreaker::nextLineBreak): This method has been modified to collect |
| the measurements of the individual words and add them to the vector. |
| |
| 2012-10-09 Levi Weintraub <leviw@chromium.org> |
| |
| [Sub pixel layout] Fast-path iframe scrolling can picks up an extra pixel |
| https://bugs.webkit.org/show_bug.cgi?id=98571 |
| |
| Reviewed by Emil A Eklund. |
| |
| Refactoring all coordinate-switching functionality to use a single "mode" flag |
| as opposed to having a bunch of boolean values. This enables the same set of |
| options across the board, and a consistent interface. This was previously |
| done for mapLocalToContainer. |
| |
| The imptetus for this for this stems from the one logical change in this patch |
| which only effects sub-pixel layout. FrameView::convertToRenderer and |
| convertFromRenderer return IntPoint coordinates, and need to also snap transform |
| offsets to determine proper rects for scrolling. |
| |
| Unlabeled functions below are simply being updated to these new interfaces. |
| |
| Test: fast/sub-pixel/sub-pixel-iframe-copy-on-scroll.html |
| |
| * WebCore.exp.in: |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::getUpperLeftCorner): |
| (WebCore::ContainerNode::getLowerRightCorner): |
| * dom/Element.cpp: |
| (WebCore::Element::boundsInRootViewSpace): |
| * dom/MouseRelatedEvent.cpp: |
| (WebCore::MouseRelatedEvent::computeRelativePosition): |
| * dom/Node.cpp: |
| (WebCore::Node::convertToPage): |
| (WebCore::Node::convertFromPage): |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): |
| * html/shadow/SliderThumbElement.cpp: |
| (WebCore::SliderThumbElement::setPositionFromPoint): |
| * html/shadow/SpinButtonElement.cpp: |
| (WebCore::SpinButtonElement::defaultEventHandler): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::convertToRenderer): Now pixel-snaps offsets before passing |
| them to TransformState, which transforms the coordinates. |
| (WebCore::FrameView::convertFromRenderer): Ditto. |
| * rendering/LayoutState.cpp: |
| (WebCore::LayoutState::LayoutState): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::absoluteQuads): |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::absoluteQuads): |
| (WebCore::RenderBox::mapLocalToContainer): |
| (WebCore::RenderBox::mapAbsoluteToLocalPoint): |
| * rendering/RenderBox.h: |
| (RenderBox): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): |
| * rendering/RenderBoxModelObject.h: |
| (RenderBoxModelObject): |
| * rendering/RenderEmbeddedObject.cpp: |
| (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator): |
| * rendering/RenderFrameSet.cpp: |
| (WebCore::RenderFrameSet::userResize): |
| * rendering/RenderGeometryMap.cpp: |
| (WebCore::RenderGeometryMap::absolutePoint): |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::mapLocalToContainer): |
| * rendering/RenderInline.h: |
| (RenderInline): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::absoluteToContents): |
| (WebCore::RenderLayer::calculateClipRects): |
| * rendering/RenderMediaControls.cpp: |
| (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): |
| * rendering/RenderMenuList.cpp: |
| (WebCore::RenderMenuList::showPopup): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::localToAbsolute): |
| (WebCore::RenderObject::absoluteToLocal): |
| (WebCore::RenderObject::mapLocalToContainer): |
| (WebCore::RenderObject::mapAbsoluteToLocalPoint): |
| (WebCore::RenderObject::localToContainerQuad): |
| (WebCore::RenderObject::localToContainerPoint): |
| * rendering/RenderObject.h: |
| (RenderObject): MapLocalToContainerFlags is now MapCoordinatesFlags since it's |
| now used for other conversion methods. |
| (WebCore::RenderObject::localToAbsoluteQuad): |
| * rendering/RenderTheme.cpp: |
| (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::mapLocalToContainer): |
| (WebCore::RenderView::mapAbsoluteToLocalPoint): |
| * rendering/RenderView.h: |
| (RenderView): |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::mapLocalToContainer): |
| * rendering/svg/RenderSVGForeignObject.h: |
| (RenderSVGForeignObject): |
| * rendering/svg/RenderSVGInline.cpp: |
| (WebCore::RenderSVGInline::mapLocalToContainer): |
| * rendering/svg/RenderSVGInline.h: |
| (RenderSVGInline): |
| * rendering/svg/RenderSVGModelObject.cpp: |
| (WebCore::RenderSVGModelObject::mapLocalToContainer): |
| * rendering/svg/RenderSVGModelObject.h: |
| (RenderSVGModelObject): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::mapLocalToContainer): |
| * rendering/svg/RenderSVGRoot.h: |
| (RenderSVGRoot): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::mapLocalToContainer): |
| * rendering/svg/RenderSVGText.h: |
| (RenderSVGText): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::mapLocalToContainer): |
| * svg/SVGSVGElement.cpp: |
| (WebCore::SVGSVGElement::localCoordinateSpaceTransform): |
| |
| 2012-10-09 Jon Lee <jonlee@apple.com> |
| |
| [WK2] Have plugins render offscreen to capture snapshot |
| https://bugs.webkit.org/show_bug.cgi?id=98326 |
| <rdar://problem/12426658> |
| |
| Reviewed by Simon Fraser. |
| |
| Change updateSnapshot() to use a PassRefPtr<Image> instead of Image*. WebKit2 ultimately |
| hands the image off to RenderSnapshottedPlugin. A CachedImage instance then manages the |
| lifetime of the Image. |
| |
| * html/HTMLPlugInElement.h: |
| (WebCore::HTMLPlugInElement::updateSnapshot): |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::updateSnapshot): |
| * html/HTMLPlugInImageElement.h: |
| (HTMLPlugInImageElement): |
| * rendering/RenderSnapshottedPlugIn.cpp: |
| (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Updated to use the PassRefPtr<Image> |
| pointer. |
| * rendering/RenderSnapshottedPlugIn.h: |
| (RenderSnapshottedPlugIn): |
| |
| 2012-10-09 Adam Barth <abarth@webkit.org> |
| |
| Unreviewed. Move this file to where the build systems think it should |
| be. See https://bugs.webkit.org/show_bug.cgi?id=94755 |
| |
| * platform/graphics/CustomFilterConstants.h: Removed. |
| * platform/graphics/filters/CustomFilterConstants.h: Copied from Source/WebCore/platform/graphics/CustomFilterConstants.h. |
| |
| 2012-10-09 Tony Chang <tony@chromium.org> |
| |
| Use computeLogical* methods instead of updateLogical* methods in RenderImage |
| https://bugs.webkit.org/show_bug.cgi?id=98802 |
| |
| Reviewed by Eric Seidel. |
| |
| We were storing the old values of width/height, calling updateLogical{Width,Height}, then restoring |
| the old values. Instead, use the computeLogical{Width,Height} methods so we don't have to overwrite |
| the current values. |
| |
| No new tests, this is just a refactoring. |
| |
| * rendering/RenderImage.cpp: |
| (WebCore::RenderImage::imageDimensionsChanged): |
| |
| 2012-10-09 Enrica Casucci <enrica@apple.com> |
| |
| [chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa-Makura- |
| background-canvas.html failing on the Mac after r130443 |
| https://bugs.webkit.org/show_bug.cgi?id=98545 |
| |
| Reviewed by Tony Chang. |
| |
| Adding back the ! removed by mistake before submitting r130779. |
| |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::glyphDataAndPageForCharacter): |
| |
| 2012-10-09 Artem Simonov <asimonov@rim.com> |
| |
| [BlackBerry] EGL Context deleted prematurely in GraphicsContext3D destructor |
| https://bugs.webkit.org/show_bug.cgi?id=98796 |
| |
| Reviewed by George Staikos. |
| |
| Reordered destruction of GraphicsContext3D so that the compositing layer is |
| destroyed first. |
| |
| * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: |
| (WebCore::GraphicsContext3D::~GraphicsContext3D): |
| |
| 2012-10-09 Ben Wagner <bungeman@chromium.org> |
| |
| Disable hinting when webkit-font-smoothing:antialiased is used on Mac. |
| https://bugs.webkit.org/show_bug.cgi?id=98061 |
| |
| Reviewed by Stephen White. |
| |
| Normal anti-aliased text matches subpixel anti-aliased text. |
| However, text marked with webkit-font-smoothing:antialiased should be drawn without hinting to match Safari. |
| See crbug.com/152304 . |
| |
| Test is fast/css/font-smoothing.html, but DRT runs with font smoothing disabled, so no change visible. |
| |
| * platform/graphics/skia/FontSkia.cpp: |
| (WebCore::setupPaint): |
| Set kNo_Hinting when webkit-font-smoothing is antialiased. |
| |
| 2012-10-09 Max Vujovic <mvujovic@adobe.com> |
| |
| [CSS Shaders] Create constants for vertex attribute sizes and offsets |
| https://bugs.webkit.org/show_bug.cgi?id=94755 |
| |
| Reviewed by Dean Jackson. |
| |
| Factor out the vertex attribute size and offset constants into a new file, |
| CustomFilterConstants.h. Replace literals in CustomFilterMeshGenerator with the constants. |
| |
| I could have added the constants to CustomFilterMeshGenerator.h, but this would make |
| FECustomFilter depend on CustomFilterMeshGenerator. |
| |
| I also could have added the constants to CustomFilterMesh.h, but this would make |
| CustomFilterMeshGenerator depend on CustomFilterMesh. |
| |
| No new tests. No change in behavior. |
| |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/CustomFilterConstants.h: Added. |
| (WebCore): |
| * platform/graphics/filters/CustomFilterMeshGenerator.h: |
| (WebCore::CustomFilterMeshGenerator::floatsPerVertex): |
| Use the new constants instead of literal values. |
| * platform/graphics/filters/FECustomFilter.cpp: |
| (WebCore::FECustomFilter::bindProgramAndBuffers): |
| Pull the constant definitions out of here. |
| |
| 2012-10-09 Michael Saboff <msaboff@apple.com> |
| |
| MarkupAccumulator should optimally handle 8 bit Strings |
| https://bugs.webkit.org/show_bug.cgi?id=98224 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updated appendCharactersReplacingEntities to take a string, offset and length and process 8 or 16 bit |
| data as appropriate. Also made it a member function of MarkupAccumulator. |
| |
| No new tests, behavior covered by existing tests. |
| |
| * editing/MarkupAccumulator.cpp: |
| (WebCore::MarkupAccumulator::appendCharactersReplacingEntities): |
| (WebCore::MarkupAccumulator::appendAttributeValue): |
| (WebCore::MarkupAccumulator::appendNodeValue): |
| * editing/MarkupAccumulator.h: |
| (MarkupAccumulator): |
| * editing/markup.cpp: |
| (WebCore::StyledMarkupAccumulator::appendText): |
| (WebCore::urlToMarkup): |
| |
| 2012-10-09 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Overflowing key generator should throw ConstraintError |
| https://bugs.webkit.org/show_bug.cgi?id=98807 |
| |
| Reviewed by Tony Chang. |
| |
| After the WebKit implementation landed throwing DataError, public-webapps |
| consensus was that the exception thrown should be ConstraintError. Trivial |
| change, and we pass one more W3C test submission. |
| |
| Test: storage/indexeddb/key-generator.html |
| |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::putInternal): |
| |
| 2012-10-08 Martin Robinson <mrobinson@igalia.com> |
| |
| Fix the order of the statements in my previous build fix. |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| My previous build build fix for ResourceHandleSoup ordered the assignment |
| of the local ResourceHandleInternal incorrectly. Instead of being before |
| both assertions, it should be interspersed among them. |
| |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::createSoupMessageForHandleAndRequest): |
| |
| 2012-10-09 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=98457 |
| ScrollingStateNodes should be referenced via IDs on |
| RenderLayerBacking |
| |
| Reviewed by Simon Fraser. |
| |
| This patch associates all ScrollingStateNodes with a |
| RenderLayerBacking via a HashMap from RenderLayerBackings to |
| ScrollingStateNodes on ScrollingCoordinator. Prior to this patch, the |
| root ScrollingStateNode was created immediately upon creation of the |
| ScrollingCoordinator, and it was constantly re-used for every main |
| FrameView. This doesn't work in the new model since that doesn't |
| allow that ScrollingStateNode to have a definite association with a |
| RenderLayerBacking. So this patch does also introduce some lifetime |
| differences with the ScrollingStateNodes. |
| |
| If a page is going into the page cache, we should clear the state |
| tree. When the page is in the cache, we won't have access to the |
| RenderLayerBacking, and we don't want to be doing anything with the |
| ScrollingStateNodes anyway. |
| * dom/Document.cpp: |
| (WebCore::Document::setInPageCache): |
| |
| When a page is restored from the page cache, call |
| frameViewRootLayerDidChange() to re-create the state tree. |
| * loader/HistoryController.cpp: |
| (WebCore::HistoryController::restoreScrollPositionAndViewState): |
| |
| This new FrameView function will return the scrollLayerID for a given FrameView. |
| * page/FrameView.cpp: |
| (WebCore::FrameView::scrollLayerID): |
| (WebCore): |
| * page/FrameView.h: |
| (FrameView): |
| |
| There is a lot of unfortunate fiddling with the terrible |
| if-defs in ScrollingCoordinator. I added a FIXME to the header |
| noting how we can avoid this in the future. |
| * page/scrolling/ScrollingCoordinator.cpp: |
| |
| All of this code used to refer to the rootStateNode directly. |
| Instead, now it looks up the proper ScrollingStateNode for the given |
| FrameView in the HashMap. |
| (WebCore::ScrollingCoordinator::frameViewLayoutUpdated): |
| (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged): |
| (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange): |
| (WebCore::ScrollingCoordinator::requestScrollPositionUpdate): |
| (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPosition): |
| (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView): |
| (WebCore::ScrollingCoordinator::setScrollLayerForNode): |
| (WebCore::ScrollingCoordinator::setNonFastScrollableRegionForNode): |
| (WebCore::ScrollingCoordinator::setScrollParametersForNode): |
| (WebCore::ScrollingCoordinator::setWheelEventHandlerCountForNode): |
| |
| Returns the existing ScrollingStateNode for a given FrameView by |
| looking it up in the HashMap. |
| (WebCore::ScrollingCoordinator::stateNodeForFrameView): |
| |
| This is called when a RenderLayerBacking is destroyed. At that time, |
| its associated ScrollingStateNode is destroyed. |
| (WebCore::ScrollingCoordinator::detachFromStateTree): |
| |
| clearStateTree() clears the HashMap and destroys all of the nodes in |
| the current state tree. |
| (WebCore::ScrollingCoordinator::clearStateTree): |
| |
| Creates a new root state node for the given FrameView. |
| (WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView): |
| |
| Some new functions for the new node stuff. |
| * page/scrolling/ScrollingCoordinator.h: |
| * page/scrolling/ScrollingCoordinatorNone.cpp: |
| (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread): |
| (WebCore::ScrollingCoordinator::supportsFixedPositionLayers): |
| (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers): |
| (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer): |
| (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange): |
| (WebCore::ScrollingCoordinator::detachFromStateTree): |
| (WebCore::ScrollingCoordinator::clearStateTree): |
| (WebCore::ScrollingCoordinator::ensureRootStateNodeForFrameView): |
| (WebCore::setScrollParameters): |
| (WebCore::setWheelEventHandlerCount): |
| |
| New remove functions are used when the sate tree is cleared and when |
| a RenderLayerBacking is destroyed. |
| * page/scrolling/ScrollingStateNode.cpp: |
| (WebCore::ScrollingStateNode::removeChild): |
| (WebCore): |
| * page/scrolling/ScrollingStateNode.h: |
| (WebCore::ScrollingStateNode::isScrollingStateScrollingNode): |
| (ScrollingStateNode): |
| (WebCore::ScrollingStateNode::parent): |
| |
| New convenience function for casting to ScrollingStateScrollingNodes. |
| * page/scrolling/ScrollingStateScrollingNode.h: |
| (WebCore::toScrollingStateScrollingNode): |
| (WebCore): |
| |
| No longer automatically create a root node upon creation of the |
| ScrollingStateTree. We now want to wait to create the root node until |
| we have a RenderLayerBacking to associate it with. |
| * page/scrolling/ScrollingStateTree.cpp: |
| (WebCore::ScrollingStateTree::ScrollingStateTree): |
| (WebCore::ScrollingStateTree::removeNode): |
| (WebCore): |
| * page/scrolling/ScrollingStateTree.h: |
| (WebCore::ScrollingStateTree::setRootStateNode): |
| (ScrollingStateTree): |
| |
| RenderLayerBacking has a new data member called m_scrollLayerID. If |
| this RenderLayerBacking is represented in the scrolling tree, then |
| the ID with be unique and non-zero. |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::RenderLayerBacking): |
| (WebCore::RenderLayerBacking::~RenderLayerBacking): |
| (WebCore::generateScrollLayerID): |
| (WebCore): |
| (WebCore::RenderLayerBacking::attachToScrollingCoordinator): |
| (WebCore::RenderLayerBacking::detachFromScrollingCoordinator): |
| * rendering/RenderLayerBacking.h: |
| (RenderLayerBacking): |
| (WebCore::RenderLayerBacking::scrollLayerID): |
| |
| Move the call to ScrollingCooridinator::frameViewRootLayerDidChange() |
| from RenderLayerCompositor::attachRootLayer() to |
| RenderLayerCompositor:: updateBacking(). The problem with the old call |
| site is that there is no backing at that time, so we are trying to set |
| state on the root scrolling state node before we have enough |
| information to create that node and add it to the HashMap. |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateBacking): |
| (WebCore::RenderLayerCompositor::attachRootLayer): |
| |
| 2012-10-09 Florin Malita <fmalita@chromium.org> |
| |
| SVGResources should use HashSet<AtomicString> instead of HashSet<AtomicStringImpl*> |
| https://bugs.webkit.org/show_bug.cgi?id=98683 |
| |
| Reviewed by Darin Adler. |
| |
| Eric's notes: |
| |
| SVGResources should use HashSet<AtomicString> instead of HashSet<AtomicStringImpl*> |
| They do basically the same thing, and the former is much more common (and less code). It's |
| also safe, on the off-chance that we're using AtomicStrings which might otherwise go away. |
| |
| No new tests, refactoring. |
| |
| * rendering/svg/SVGResources.cpp: |
| (WebCore::clipperFilterMaskerTags): |
| (WebCore::markerTags): |
| (WebCore::fillAndStrokeTags): |
| (WebCore::chainableResourceTags): |
| (WebCore::SVGResources::buildCachedResources): |
| |
| 2012-10-09 Enrica Casucci <enrica@apple.com> |
| |
| [chromium] fast/text/international/text-spliced-font.html and fast/writing-mode/Kusa-Makura-background-canvas.html |
| failing on the Mac after r130443 |
| https://bugs.webkit.org/show_bug.cgi?id=98545 |
| |
| Reviewed by Tony Chang. |
| |
| Fixes a regression introduced with r130443. |
| No new tests added since we already have tests covering this. |
| Updated TestExpectations for chromium and mac. |
| |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::glyphDataAndPageForCharacter): Text orientation should not be |
| taken into account if the character is an ideograph or a symbol. |
| |
| 2012-10-09 Philip Rogers <pdr@google.com> |
| |
| Prevent animation when CSS attributeType is invalid. |
| https://bugs.webkit.org/show_bug.cgi?id=94569 |
| |
| Reviewed by Dirk Schulze. |
| |
| This patch changes hasValidAttributeType() to return false when |
| we have attributeType=CSS with a non-CSS attribute name. |
| |
| Previously we would animate non-CSS attributes when attributeType was |
| CSS which resulted in crashes. To track this case, this patch catches |
| changes to targetElement, attributeName, and attributeType and checks |
| if an invalid combination is present. If invalid, hasInvalidCSSAttributeType() |
| will return true causing hasValidAttributeType() to return false and prevent |
| the animation from running. |
| |
| Tests: svg/animations/animate-css-xml-attributeType.html |
| svg/animations/invalid-css-attribute-crash-expected.svg |
| svg/animations/invalid-css-attribute-crash.svg |
| |
| * svg/SVGAnimateElement.cpp: |
| (WebCore::SVGAnimateElement::hasValidAttributeType): |
| (WebCore::SVGAnimateElement::targetElementWillChange): |
| * svg/SVGAnimationElement.cpp: |
| (WebCore::SVGAnimationElement::SVGAnimationElement): |
| (WebCore::SVGAnimationElement::isSupportedAttribute): |
| |
| This now supports the attributeType attribute which is stored in m_attributeType. |
| |
| (WebCore::SVGAnimationElement::parseAttribute): |
| (WebCore::SVGAnimationElement::setAttributeType): |
| |
| Changes to attributeType, attributeName, and targetElement need to be tracked |
| to determine when an invalid combination happens. |
| |
| (WebCore::SVGAnimationElement::targetElementWillChange): |
| (WebCore): |
| (WebCore::SVGAnimationElement::setAttributeName): |
| (WebCore::SVGAnimationElement::checkInvalidCSSAttributeType): |
| * svg/SVGAnimationElement.h: |
| (WebCore::SVGAnimationElement::attributeType): |
| (SVGAnimationElement): |
| (WebCore::SVGAnimationElement::hasInvalidCSSAttributeType): |
| * svg/animation/SVGSMILElement.cpp: |
| (WebCore::SVGSMILElement::targetElement): |
| * svg/animation/SVGSMILElement.h: |
| (SVGSMILElement): |
| |
| 2012-10-09 Pravin D <pravind.2k4@gmail.com> |
| |
| max-width property is does not overriding the width properties for css tables(display:table) |
| https://bugs.webkit.org/show_bug.cgi?id=98455 |
| |
| Reviewed by Tony Chang. |
| |
| The max-width property determines the maximum computed width an element can have. In case of css tables(display:table), |
| the computed was not being limited by the max-width property. The current patch fixes this issue. |
| |
| Test: fast/table/css-table-max-width.html |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::updateLogicalWidth): |
| Logic to compute the logical width of an element such that it does not exceed the max-width value. |
| Also when both min-width and max-width are present, the following contraint is used to compute the logical width: |
| 1) min-width < Computed LogicalWidth < max-width, when min-width < max-width. |
| 2) Computed LogicalWidth = min-width, when min-width > max-width. |
| |
| 2012-10-09 Harald Alvestrand <hta@google.com> |
| |
| Change PeerConnection getStats function to single value local / remote |
| elements in RTCStatsReport. |
| |
| https://bugs.webkit.org/show_bug.cgi?id=98753 |
| |
| Reviewed by Adam Barth. |
| |
| IDL of RTCStatsReport has been changed to make local/remote |
| single valued RTCStatsElement attributes. |
| The RTCStatsReport argument to index the list of RTCStatsElement |
| in the local and remote functions has been removed. |
| |
| Tested by modifications to RTCPeerConnection-stats.html |
| |
| * Modules/mediastream/RTCStatsReport.cpp: |
| (WebCore::RTCStatsReport::addElement): |
| (WebCore::RTCStatsReport::addStatistic): |
| * Modules/mediastream/RTCStatsReport.h: |
| (WebCore::RTCStatsReport::local): |
| (WebCore::RTCStatsReport::remote): |
| (RTCStatsReport): |
| * Modules/mediastream/RTCStatsReport.idl: |
| * Modules/mediastream/RTCStatsResponse.cpp: |
| (WebCore::RTCStatsResponse::addElement): |
| (WebCore::RTCStatsResponse::addStatistic): |
| * Modules/mediastream/RTCStatsResponse.h: |
| (RTCStatsResponse): |
| * platform/chromium/support/WebRTCStatsResponse.cpp: |
| (WebKit::WebRTCStatsResponse::addElement): |
| (WebKit::WebRTCStatsResponse::addStatistic): |
| * platform/mediastream/RTCStatsResponseBase.h: |
| (RTCStatsResponseBase): |
| |
| 2012-10-09 Antonio Gomes <agomes@rim.com> |
| |
| Get rid of FIXED_POSITION_CREATES_STACKING_CONTEXT in favor of Settings::fixedPositionCreatesStackingContext() |
| https://bugs.webkit.org/show_bug.cgi?id=98756 |
| |
| Reviewed by Rob Buis. |
| |
| No behavior change so no new tests. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| |
| 2012-10-09 Simon Hausmann <simon.hausmann@digia.com> |
| |
| [Qt] Fix build with QtMultimedia |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| This is an initial rudimentary port to of the QtMultimedia back-end, |
| adapted to slight API changes and (more importantly) to the |
| implementation of QAbstractVideoSurface instead of using |
| QGraphicsVideoItem (which is in QtMultimediaWidgets). |
| |
| * WebCore.pri: |
| * platform/graphics/qt/MediaPlayerPrivateQt.cpp: |
| (WebCore::MediaPlayerPrivateQt::supportsType): |
| (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): |
| (WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt): |
| (WebCore::MediaPlayerPrivateQt::didLoadingProgress): |
| (WebCore::MediaPlayerPrivateQt::totalBytes): |
| (WebCore::MediaPlayerPrivateQt::setVisible): |
| (WebCore::MediaPlayerPrivateQt::surfaceFormatChanged): |
| (WebCore::MediaPlayerPrivateQt::setSize): |
| (WebCore::MediaPlayerPrivateQt::removeVideoItem): |
| (WebCore::MediaPlayerPrivateQt::restoreVideoItem): |
| (WebCore): |
| (WebCore::MediaPlayerPrivateQt::start): |
| (WebCore::MediaPlayerPrivateQt::supportedPixelFormats): |
| (WebCore::MediaPlayerPrivateQt::present): |
| (WebCore::MediaPlayerPrivateQt::paint): |
| (WebCore::MediaPlayerPrivateQt::paintCurrentFrameInContext): |
| (WebCore::MediaPlayerPrivateQt::paintToTextureMapper): |
| * platform/graphics/qt/MediaPlayerPrivateQt.h: |
| (MediaPlayerPrivateQt): |
| |
| 2012-10-09 Garrett Casto <gcasto@chromium.org> |
| |
| Allow users to specify a different hover image for TextFieldDecorationElement |
| https://bugs.webkit.org/show_bug.cgi?id=93662 |
| |
| Reviewed by Kent Tamura. |
| |
| * html/shadow/TextFieldDecorationElement.cpp: |
| (WebCore::TextFieldDecorationElement::TextFieldDecorationElement): |
| (WebCore::TextFieldDecorationElement::updateImage): |
| (WebCore::TextFieldDecorationElement::defaultEventHandler): Handles mouseover and mouseout events. |
| (WebCore::TextFieldDecorationElement::willRespondToMouseMoveEvents): Now returns true if the element is not disabled. |
| (WebCore): |
| * html/shadow/TextFieldDecorationElement.h: |
| (TextFieldDecorator): |
| (TextFieldDecorationElement): |
| |
| 2012-10-09 Allan Sandfeld Jensen <allan.jensen@digia.com> |
| |
| [Qt] Uploading images to Google+ using QtWebKit does not work. |
| https://bugs.webkit.org/show_bug.cgi?id=72329 |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| Implement handling of Blob FormData, including its extensions to the File FormData. |
| |
| * platform/network/qt/QNetworkReplyHandler.cpp: |
| (WebCore::FormDataIODevice::FormDataIODevice): |
| (WebCore::appendBlobResolved): |
| (WebCore::FormDataIODevice::prepareFormElements): |
| (WebCore::FormDataIODevice::computeSize): |
| (WebCore::FormDataIODevice::moveToNextElement): |
| (WebCore::FormDataIODevice::prepareCurrentElement): |
| (WebCore::FormDataIODevice::openFileForCurrentElement): |
| (WebCore::FormDataIODevice::readData): |
| (WebCore::QNetworkReplyHandler::sendNetworkRequest): |
| * platform/network/qt/QNetworkReplyHandler.h: |
| (FormDataIODevice): |
| |
| 2012-10-09 Arpita Bahuguna <arpitabahuguna@gmail.com> |
| |
| Text decorations specified on the containing block are not properly applied when ::first-line is present. |
| https://bugs.webkit.org/show_bug.cgi?id=93829 |
| |
| Reviewed by Abhishek Arya. |
| |
| If a container's style and its pseudo :first-line style have unique |
| text-decorations specified for them, only the :first-line text-decoarations |
| were being applied. |
| |
| The uploaded patch intends to first compute the text decoration colors |
| for the containing box, followed by that of the first-line (if specified). |
| |
| This thus avoids the condition wherein our containing box's text-decorations |
| were not getting applied at all since initially we were only computing |
| for the first-line style. |
| |
| Test: fast/css/text-decorations-on-first-line-and-containing-block.html |
| |
| * rendering/InlineTextBox.cpp: |
| (WebCore::InlineTextBox::paintDecoration): |
| getTextDecorationColors() is first called for computing the containing box's |
| text-decoration values and then for first-line style's text-decorations, |
| if specified. |
| |
| 2012-10-09 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r130746. |
| http://trac.webkit.org/changeset/130746 |
| https://bugs.webkit.org/show_bug.cgi?id=98749 |
| |
| It made 45 tests crash on Qt (Requested by Ossy on #webkit). |
| |
| * platform/network/qt/QNetworkReplyHandler.cpp: |
| (WebCore::FormDataIODevice::FormDataIODevice): |
| (WebCore::FormDataIODevice::computeSize): |
| (WebCore::FormDataIODevice::moveToNextElement): |
| (WebCore::FormDataIODevice::openFileForCurrentElement): |
| (WebCore::FormDataIODevice::readData): |
| (WebCore::QNetworkReplyHandler::getIODevice): |
| (WebCore::QNetworkReplyHandler::sendNetworkRequest): |
| * platform/network/qt/QNetworkReplyHandler.h: |
| (QNetworkReplyHandler): |
| (FormDataIODevice): |
| |
| 2012-10-09 Allan Sandfeld Jensen <allan.jensen@digia.com> |
| |
| [Qt] Uploading images to Google+ using QtWebKit does not work. |
| https://bugs.webkit.org/show_bug.cgi?id=72329 |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| Implement handling of Blob FormData, including its extensions to the File FormData. |
| |
| * platform/network/qt/QNetworkReplyHandler.cpp: |
| (WebCore::FormDataIODevice::FormDataIODevice): |
| (WebCore::FormDataIODevice::computeSize): |
| (WebCore::FormDataIODevice::moveToNextElement): |
| (WebCore::FormDataIODevice::prepareCurrentElement): |
| (WebCore::FormDataIODevice::openFileForCurrentElement): |
| (WebCore::FormDataIODevice::readData): |
| (WebCore::QNetworkReplyHandler::getIODevice): |
| (WebCore::QNetworkReplyHandler::handleBlobDataIfAny): |
| (WebCore::QNetworkReplyHandler::sendNetworkRequest): |
| * platform/network/qt/QNetworkReplyHandler.h: |
| (QNetworkReplyHandler): |
| (FormDataIODevice): |
| |
| 2012-10-09 Keishi Hattori <keishi@webkit.org> |
| |
| Page popup should be smarter about its layout |
| https://bugs.webkit.org/show_bug.cgi?id=98499 |
| |
| Reviewed by Kent Tamura. |
| |
| This change fixes these two issues: |
| 1. Page popup should reposition itself so it won't get clipped by screen(Win/Linux) or rootview(Mac) bounds. |
| 2. Page popup should resize itself when it doesn't fit. |
| |
| Test: platform/chromium/fast/forms/page-popup/page-popup-adjust-rect.html |
| |
| * Resources/pagepopups/calendarPicker.js: |
| (initialize): We need to set global.params at the beginning because we need it for resizeWindow(). |
| * Resources/pagepopups/colorSuggestionPicker.js: Added global.params. |
| (handleMessage): |
| (initialize): |
| (handleArgumentsTimeout): |
| * Resources/pagepopups/pickerCommon.js: |
| (Rect): Represents an axis aligned rectangle. |
| (Rect.prototype.get maxX): Gets position of right edge. |
| (Rect.prototype.get maxY): Gets position of bottom edge. |
| (Rect.prototype.toString): |
| (Rect.intersection): Returns the intersection of two rectangles. |
| (resizeWindow): Resize window to a certain size. Don't allow shrinking. |
| (adjustWindowRect): Calculates the best position and size for the popup. |
| (_adjustWindowRectVertically): |
| (_adjustWindowRectHorizontally): |
| (setWindowRect): Sets the position and size of the popup to the given rect. |
| * Resources/pagepopups/suggestionPicker.css: |
| (.suggestion-list): Don't show horizontal scroll bar. |
| * Resources/pagepopups/suggestionPicker.js: |
| (SuggestionPicker.prototype._fixWindowSize): |
| * page/PagePopupClient.cpp: |
| (WebCore::PagePopupClient::addProperty): For adding an int to JSON. |
| (WebCore::PagePopupClient::addProperty): For adding an IntRect to JSON. |
| (WebCore): |
| * page/PagePopupClient.h: |
| (PagePopupClient): |
| |
| 2012-10-09 Hajime Morrita <morrita@google.com> |
| |
| [Refactoring] Scoped Style related code should have its own class. |
| https://bugs.webkit.org/show_bug.cgi?id=98244 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| This change extracts StyleScopeResolver from StyleResolver to clarify |
| the responsibility of the style scope handling. Now we can easily see |
| where the style scoping needs to be involed. |
| |
| Coming Shadow DOM related change like @host rules will fit within this class. |
| |
| No new tests, refactoring. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSAllInOne.cpp: |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::StyleResolver): |
| (WebCore::StyleResolver::collectFeatures): |
| (WebCore::StyleResolver::appendAuthorStylesheets): |
| (WebCore::StyleResolver::pushParentElement): |
| (WebCore::StyleResolver::popParentElement): |
| (WebCore::StyleResolver::pushParentShadowRoot): |
| (WebCore::StyleResolver::popParentShadowRoot): |
| (WebCore::StyleResolver::matchScopedAuthorRules): |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| (WebCore::StyleResolver::reportMemoryUsage): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| * css/StyleScopeResolver.cpp: Added. |
| (WebCore): |
| (WebCore::StyleScopeResolver::StyleScopeResolver): |
| (WebCore::StyleScopeResolver::~StyleScopeResolver): |
| (WebCore::StyleScopeResolver::scopeFor): |
| (WebCore::StyleScopeResolver::ruleSetFor): |
| (WebCore::StyleScopeResolver::ensureRuleSetFor): |
| (WebCore::StyleScopeResolver::setupStack): |
| (WebCore::StyleScopeResolver::push): |
| (WebCore::StyleScopeResolver::pop): |
| (WebCore::StyleScopeResolver::collectFeaturesTo): |
| (WebCore::StyleScopeResolver::reportMemoryUsage): |
| * css/StyleScopeResolver.h: Added. |
| (WebCore): |
| (StyleScopeResolver): |
| (WebCore::StyleScopeResolver::StackFrame::StackFrame): |
| (StackFrame): |
| (WebCore::StyleScopeResolver::hasScopedStyles): |
| (WebCore::StyleScopeResolver::stackSize): |
| (WebCore::StyleScopeResolver::stackFrameAt): |
| (WebCore::StyleScopeResolver::matchesStyleBounds): |
| (WebCore::StyleScopeResolver::stackIsConsistent): |
| (WebCore::StyleScopeResolver::ensureStackConsistency): |
| (WebCore::StyleScopeResolver::scopeFor): |
| (WebCore::StyleScopeResolver::ensureRuleSetFor): |
| |
| 2012-10-08 Simon Hausmann <simon.hausmann@digia.com> |
| |
| [Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets |
| https://bugs.webkit.org/show_bug.cgi?id=98268 |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface. |
| |
| QStyleFacade is a pure interface that lives in WebCore/platform/qt |
| (next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a |
| minimal interface of what we need to draw with QStyle as well as basic |
| hit testing and metric retrieval. It also provides a |
| QStyleFacadeOption class that aggregates common meta-data for |
| rendering primitives, such as direction, rectangle, state (sunken, |
| enabled, etc.) or palette. It also provides some more slider/scrollbar |
| specific fields in a slider sub-structure. |
| |
| RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate |
| them with state information from render objects, before calling straight to QStyle. Most of the common code |
| was encapsulated in StylePainterQStyle. |
| |
| The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in |
| StylePainterQStyle to populate state into QStyleFacadeOption before |
| calling into QStyleFacade. |
| |
| The style facade is then implemented by QStyleFacadeImp, which extracts |
| meta-data from QStyleFacadeOption arguments, populates style |
| primitive specific QStyleOption objects and then calls on QStyle. |
| |
| RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods |
| from QStyleFacade. QStyleFacadeImp on the other hand will live in the |
| separate QtWebKitWidgets library in the future and therefore cannot use |
| any WebCore types. |
| |
| * Target.pri: |
| * platform/qt/QStyleFacade.cpp: Added. |
| (WebCore): |
| (WebCore::QStyleFacade::styleForPage): |
| * platform/qt/QStyleFacade.h: Added. |
| (WebCore): |
| (QStyleFacade): |
| (WebCore::QStyleFacade::~QStyleFacade): |
| (WebCore::QStyleFacadeOption::QStyleFacadeOption): |
| (QStyleFacadeOption): |
| * platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp. |
| (WebCore): |
| (WebCore::RenderThemeQStyle::getStylePainter): |
| (WebCore::StylePainterQStyle::StylePainterQStyle): |
| (WebCore::StylePainterQStyle::init): |
| (WebCore::RenderThemeQStyle::create): |
| (WebCore::RenderThemeQStyle::setStyleFactoryFunction): |
| (WebCore::RenderThemeQStyle::styleFactory): |
| (WebCore::RenderThemeQStyle::RenderThemeQStyle): |
| (WebCore::RenderThemeQStyle::~RenderThemeQStyle): |
| (WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists): |
| (WebCore::RenderThemeQStyle::inflateButtonRect): |
| (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle): |
| (WebCore::RenderThemeQStyle::adjustButtonStyle): |
| (WebCore::RenderThemeQStyle::setButtonPadding): |
| (WebCore::RenderThemeQStyle::paintButton): |
| (WebCore::RenderThemeQStyle::paintTextField): |
| (WebCore::RenderThemeQStyle::adjustTextAreaStyle): |
| (WebCore::RenderThemeQStyle::paintTextArea): |
| (WebCore::RenderThemeQStyle::setPopupPadding): |
| (WebCore::RenderThemeQStyle::colorPalette): |
| (WebCore::RenderThemeQStyle::paintMenuList): |
| (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle): |
| (WebCore::RenderThemeQStyle::paintMenuListButton): |
| (WebCore::RenderThemeQStyle::animationDurationForProgressBar): |
| (WebCore::RenderThemeQStyle::paintProgressBar): |
| (WebCore::RenderThemeQStyle::paintSliderTrack): |
| (WebCore::RenderThemeQStyle::adjustSliderTrackStyle): |
| (WebCore::RenderThemeQStyle::paintSliderThumb): |
| (WebCore::RenderThemeQStyle::adjustSliderThumbStyle): |
| (WebCore::RenderThemeQStyle::paintSearchField): |
| (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle): |
| (WebCore::RenderThemeQStyle::paintSearchFieldDecoration): |
| (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle): |
| (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration): |
| (WebCore::RenderThemeQStyle::paintInnerSpinButton): |
| (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions): |
| (WebCore::RenderThemeQStyle::adjustSliderThumbSize): |
| * platform/qt/RenderThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.h. |
| (WebCore): |
| (RenderThemeQStyle): |
| (WebCore::RenderThemeQStyle::qStyle): |
| (StylePainterQStyle): |
| (WebCore::StylePainterQStyle::isValid): |
| (WebCore::StylePainterQStyle::paintButton): |
| (WebCore::StylePainterQStyle::paintTextField): |
| (WebCore::StylePainterQStyle::paintComboBox): |
| (WebCore::StylePainterQStyle::paintComboBoxArrow): |
| (WebCore::StylePainterQStyle::paintSliderTrack): |
| (WebCore::StylePainterQStyle::paintSliderThumb): |
| (WebCore::StylePainterQStyle::paintInnerSpinButton): |
| (WebCore::StylePainterQStyle::paintProgressBar): |
| (WebCore::StylePainterQStyle::paintScrollCorner): |
| (WebCore::StylePainterQStyle::paintScrollBar): |
| * platform/qt/ScrollbarThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.cpp. |
| (WebCore): |
| (WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle): |
| (WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle): |
| (WebCore::scPart): |
| (WebCore::scrollbarPart): |
| (WebCore::initSliderStyleOption): |
| (WebCore::ScrollbarThemeQStyle::paint): |
| (WebCore::ScrollbarThemeQStyle::hitTest): |
| (WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb): |
| (WebCore::ScrollbarThemeQStyle::invalidatePart): |
| (WebCore::ScrollbarThemeQStyle::scrollbarThickness): |
| (WebCore::ScrollbarThemeQStyle::thumbPosition): |
| (WebCore::ScrollbarThemeQStyle::thumbLength): |
| (WebCore::ScrollbarThemeQStyle::trackPosition): |
| (WebCore::ScrollbarThemeQStyle::trackLength): |
| (WebCore::ScrollbarThemeQStyle::paintScrollCorner): |
| * platform/qt/ScrollbarThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.h. |
| (WebCore): |
| (ScrollbarThemeQStyle): |
| (WebCore::ScrollbarThemeQStyle::qStyle): |
| |
| 2012-10-08 Kiran Muppala <cmuppala@apple.com> |
| |
| Throttle DOM timers on hidden pages. |
| https://bugs.webkit.org/show_bug.cgi?id=98474 |
| |
| Reviewed by Maciej Stachowiak. |
| |
| When the visibility of a page changes to "hidden", all it's DOM timers are |
| updated to align their fire times on one second intervals. This limits the |
| number of CPU wakes due to a hidden pages to one per second. |
| |
| Test: fast/dom/timer-throttling-hidden-page.html |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * WebCore.exp.in: |
| * dom/Document.cpp: |
| (WebCore): |
| (WebCore::Document::timerAlignmentInterval): |
| Read Page::timerAlignmentInterval and pass it along to DOMTimer. |
| |
| * dom/Document.h: |
| (Document): |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore): |
| (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval): |
| Scan through self DOM Timers and tell them to recompute their fire |
| time based on the updated alignment interval. |
| (WebCore::ScriptExecutionContext::timerAlignmentInterval): |
| |
| * dom/ScriptExecutionContext.h: |
| (ScriptExecutionContext): |
| * page/DOMTimer.cpp: |
| (WebCore): |
| (WebCore::DOMTimer::alignedFireTime): |
| If the document's alignment interval is non zero, round up the fire |
| time to the next multiple of alignment interval. |
| |
| * page/DOMTimer.h: |
| (DOMTimer): |
| (WebCore::DOMTimer::defaultTimerAlignmentInterval): |
| (WebCore::DOMTimer::setDefaultTimerAlignmentInterval): |
| * page/Page.cpp: |
| (WebCore::Page::Page): |
| (WebCore): |
| (WebCore::Page::setTimerAlignmentInterval): |
| (WebCore::Page::timerAlignmentInterval): |
| (WebCore::Page::setVisibilityState): |
| Getter and Setter for alignment interval. Expose setVisibilityState |
| if either PAGE_VISIBILITY_API is enabled or if HIDDEN_PAGE_DOM_TIMER_REDUCTION |
| is enabled. |
| |
| * page/Page.h: |
| (Page): |
| * page/Settings.cpp: |
| (WebCore): |
| (WebCore::Settings::setDefaultDOMTimerAlignmentInterval): |
| (WebCore::Settings::defaultDOMTimerAlignmentInterval): |
| (WebCore::Settings::setDOMTimerAlignmentInterval): |
| (WebCore::Settings::domTimerAlignmentInterval): |
| * page/Settings.h: |
| (Settings): |
| * page/SuspendableTimer.cpp: |
| (WebCore::SuspendableTimer::suspend): |
| Save the time remaining to the original unaligned fire time, so that |
| on resuming, the fire time will be correctly aligned using the latest |
| alignment interval. |
| |
| * platform/ThreadTimers.cpp: |
| (WebCore::ThreadTimers::sharedTimerFiredInternal): |
| Clear m_unalignedNextFireTime along with m_nextFireTime to keep |
| them always in sync. |
| |
| * platform/Timer.cpp: |
| (WebCore::TimerBase::TimerBase): |
| (WebCore::TimerBase::setNextFireTime): |
| Save the requested fire time in m_unalignedNextFireTime and |
| set m_nextFireTime to the aligned value. The unalinged value |
| is used to recompute fire time if alignment interval changes. |
| (WebCore): |
| (WebCore::TimerBase::didChangeAlignmentInterval): |
| Recompute next fire time from m_unalignedNextFireTime. |
| (WebCore::TimerBase::nextUnalignedFireInterval): |
| Interval from current time to the original unaligned fire time. |
| |
| * platform/Timer.h: |
| (TimerBase): |
| (WebCore::TimerBase::alignedFireTime): |
| |
| 2012-10-08 Andreas Kling <kling@webkit.org> |
| |
| 1.18MB below RenderTableSection::setCachedCollapsedBorderValue() on Membuster3. |
| <http://webkit.org/b/98670> |
| <rdar://problem/12454276> |
| |
| Reviewed by Anders Carlsson. |
| |
| Refactor CollapsedBorderValue to only store the bits and pieces from the BorderValue |
| that it actually needs. Packed the whole thing into 64 bits. |
| |
| Reduces memory consumption by 547kB on Membuster3. |
| |
| * rendering/RenderTableCell.cpp: |
| |
| Add compile-time size assertion for CollapsedBorderValue. |
| |
| * rendering/style/CollapsedBorderValue.h: |
| (WebCore::CollapsedBorderValue::CollapsedBorderValue): |
| (WebCore::CollapsedBorderValue::width): |
| (WebCore::CollapsedBorderValue::style): |
| (WebCore::CollapsedBorderValue::color): |
| (WebCore::CollapsedBorderValue::isTransparent): |
| (WebCore::CollapsedBorderValue::precedence): |
| (WebCore::CollapsedBorderValue::isSameIgnoringColor): |
| (CollapsedBorderValue): |
| |
| Apply shrinkwrap to CollapsedBorderValue. Removed specialized copy constructor since |
| the class only has primitive members now. |
| |
| 2012-10-08 Yoshifumi Inoue <yosin@chromium.org> |
| |
| HTMLSelectElement::typeAheadFind depends on implementation dependent behavior |
| https://bugs.webkit.org/show_bug.cgi?id=98710 |
| |
| Reviewed by Kent Tamura. |
| |
| This patch gets rid of C/C++ implementation dependent behavior from |
| HTMLSelectElement::typeAheadFind() which does modulo operation with |
| a negative operand. |
| |
| HTMLSelectElement::typeAheadFind() contains expression with modulo |
| operator and dividend can be -1 when the "select" element without |
| "option" element but "optgroup" element. |
| |
| Test: fast/forms/select/select-typeahead-crash.html |
| |
| * html/HTMLSelectElement.cpp: |
| (WebCore::HTMLSelectElement::typeAheadFind): Changed to do modulo |
| operation with both operands are non-negative. |
| |
| 2012-10-08 Kent Tamura <tkent@chromium.org> |
| |
| Take account of overflowing values for width calculation of a year sub-field |
| https://bugs.webkit.org/show_bug.cgi?id=98506 |
| |
| Reviewed by Eric Seidel. |
| |
| When we decide the width of a year field of an input[type=date] |
| with the multiple fields UI, we need to take account of the |
| current value width because we allow to set overflowing values to |
| the input[type=date]. |
| |
| This change affects only platforms with INPUT_TYPE_DATE && |
| INPUT_MULTIPLE_FIELDS_UI. |
| |
| Test: fast/forms/date-multiple-fields/date-multiple-fields-change-layout-by-value.html |
| |
| * html/shadow/DateTimeNumericFieldElement.cpp: |
| (WebCore::DateTimeNumericFieldElement::customStyleForRenderer): |
| Take account of the current value width. |
| |
| 2012-10-08 Tony Chang <tony@chromium.org> |
| |
| image not displayed in flexbox |
| https://bugs.webkit.org/show_bug.cgi?id=98611 |
| |
| Reviewed by Ojan Vafai. |
| |
| Flexbox will override the width of a child and when stretching, will override the height of the child. |
| When this happens, when an image loads, it checks to see if it's width/height has |
| changed, and if so, does a relayout. The overridden width/height was preventing this |
| relayout from happening. |
| |
| To fix, we clear all the override sizes when we're done laying out the flex children. |
| |
| Test: css3/flexbox/relayout-image-load.html |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::layoutBlock): Clear child override sizes. |
| (WebCore::RenderFlexibleBox::clearChildOverrideSizes): |
| (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): No longer need to clear the override size |
| here since it should have already been cleared. |
| * rendering/RenderFlexibleBox.h: |
| |
| 2012-10-08 Andreas Kling <kling@webkit.org> |
| |
| REGRESSION(r130643): editing/pasteboard/data-transfer-item is failing on chromium. |
| <http://webkit.org/b/98686> |
| |
| Reviewed by Tony Chang. |
| |
| Change ChromiumDataObject::createFromPasteboard() to use a ListHashSet instead of a HashSet so that |
| item order is preserved. |
| |
| * platform/chromium/ChromiumDataObject.cpp: |
| (WebCore::ChromiumDataObject::createFromPasteboard): |
| |
| 2012-10-08 Eric Seidel <eric@webkit.org> |
| |
| Inline logicalHeightForRowSizing to shave another 2-3% off robohornet's resizecol.html |
| https://bugs.webkit.org/show_bug.cgi?id=98703 |
| |
| Reviewed by Emil A Eklund. |
| |
| This is very small potatoes. There are much bigger wins for table layout yet, but |
| this was an easy win. |
| |
| This function should probably be converted to use int's only, as table cells are pixel-sized |
| according to our subpixel-experts. |
| |
| Also, I suspect there should be ways to early return with less-math in the common cases, but |
| I've saved such for a later patch. |
| |
| Note that I changed from using paddingBefore/paddingAfter (which include the instrinsic padding) |
| to calling computedCSSPaddingBefore/computedCSSPaddingAfter directly as well. |
| |
| This single function is about 11% of total time for robohornet's resizecol. |
| |
| * rendering/RenderTableCell.cpp: |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::logicalHeightForRowSizing): |
| |
| 2012-10-08 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: remove autogenerated objectStore/index id code |
| https://bugs.webkit.org/show_bug.cgi?id=98085 |
| |
| Reviewed by Tony Chang. |
| |
| Remove support for backend-generated objectstore and index |
| ids. The frontend objects now manage that state during |
| versionchange transactions. The IDBDatabaseBackendInterface and |
| IDBObjectStoreBackendInterface methods will go away when |
| https://bugs.webkit.org/show_bug.cgi?id=98682 lands. |
| |
| No new tests as this is part of a refactoring, existing indexeddb |
| tests cover correctness. |
| |
| * Modules/indexeddb/IDBBackingStore.h: |
| (IDBBackingStore): |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::createObjectStore): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::createObjectStore): |
| (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): |
| (WebCore::IDBDatabaseBackendImpl::loadObjectStores): |
| * Modules/indexeddb/IDBDatabaseBackendInterface.h: |
| (IDBDatabaseBackendInterface): |
| * Modules/indexeddb/IDBLevelDBBackingStore.cpp: |
| (WebCore::IDBLevelDBBackingStore::createObjectStore): |
| (WebCore::setMaxIndexId): |
| (WebCore::IDBLevelDBBackingStore::createIndex): |
| * Modules/indexeddb/IDBLevelDBBackingStore.h: |
| (IDBLevelDBBackingStore): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::createIndex): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): |
| (WebCore::IDBObjectStoreBackendImpl::createIndex): |
| (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): |
| * Modules/indexeddb/IDBObjectStoreBackendInterface.h: |
| |
| 2012-10-08 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| [CAIRO] Adjust the source rect size when IMAGE_DECODER_DOWN_SAMPLING is enabled |
| https://bugs.webkit.org/show_bug.cgi?id=98630 |
| |
| Reviewed by Martin Robinson. |
| |
| IMAGE_DECODER_DOWN_SAMPLING scales down the size of the big image. |
| CAIRO needs to adjust the source size to the scaled value. |
| |
| No new tests. |
| |
| * platform/graphics/cairo/BitmapImageCairo.cpp: |
| (WebCore::BitmapImage::draw): |
| |
| 2012-10-08 Adam Barth <abarth@webkit.org> |
| |
| Remove unused features of BlobBuilder |
| https://bugs.webkit.org/show_bug.cgi?id=98331 |
| |
| Reviewed by Eric Seidel. |
| |
| Now that we don't expose BlobBuilder as a web platform API, we can |
| strip down the class to handle only those cases that are needed by the |
| Blob constructor. |
| |
| I've also renamed the class from WebKitBlobBuilder to BlobBuilder and |
| made it stack allocated rather than RefCounted. A future patch will |
| actually move the files around. (I didn't want to mix moving code |
| around with modifying the code.) |
| |
| * bindings/js/JSBlobCustom.cpp: |
| (WebCore::JSBlobConstructor::constructJSBlob): |
| * bindings/v8/custom/V8BlobCustom.cpp: |
| (WebCore::V8Blob::constructorCallback): |
| * fileapi/WebKitBlobBuilder.cpp: |
| (WebCore): |
| (WebCore::BlobBuilder::BlobBuilder): |
| (WebCore::BlobBuilder::getBuffer): |
| (WebCore::BlobBuilder::append): |
| (WebCore::BlobBuilder::appendBytesData): |
| (WebCore::BlobBuilder::getBlob): |
| * fileapi/WebKitBlobBuilder.h: |
| (WebCore): |
| (BlobBuilder): |
| * page/FeatureObserver.h: |
| |
| 2012-10-08 Martin Robinson <mrobinson@igalia.com> |
| |
| Try to fix the debug build after r130699 |
| |
| Move the assignment of the ResourceHandleInternal local to before |
| the include statement where it is used. |
| |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::createSoupMessageForHandleAndRequest): |
| |
| 2012-10-08 Nate Chapin <japhet@chromium.org> |
| |
| Post-r130226 Cleanup: Comment a complicated if statement and make it a helper. |
| https://bugs.webkit.org/show_bug.cgi?id=98463 |
| |
| Reviewed by Eric Seidel. |
| |
| No new tests, refactor only. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::frameElementAndViewPermitScroll): |
| (WebCore::RenderLayer::scrollRectToVisible): |
| |
| 2012-10-06 Martin Robinson <mrobinson@igalia.com> |
| |
| [Soup] Simplify the way that requests are started |
| https://bugs.webkit.org/show_bug.cgi?id=98532 |
| |
| Reviewed by Gustavo Noronha Silva. |
| |
| Simplify the creation of the libsoup request and message when kicking off |
| requests, by elminating a bit of duplicate code. |
| |
| No new tests. This should not change any behavior. |
| |
| * platform/network/ResourceHandle.h: |
| (ResourceHandle): |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore): |
| (WebCore::ResourceHandleInternal::soupSession): Ensure the session |
| is initialized when passing it to the caller. |
| (WebCore::createSoupMessageForHandleAndRequest): Added this helper which |
| takes care of creating the SoupMessage for HTTP/HTTPS requests. |
| (WebCore::createSoupRequestAndMessageForHandle): Collapsed the HTTP and |
| non-HTTP request creation into this helper. |
| (WebCore::ResourceHandle::start): Call the new helper now and then sendPendingRequest. |
| (WebCore::ResourceHandle::sendPendingRequest): Instead of having special |
| helpers to create and send the request, duplicating the logic for sending it |
| across the file, add this method which can be used in both cases. |
| (WebCore::waitingToSendRequest): Reworked the hasBeenSent method to answer |
| the question of whether or not the request is ready to be sent, but is unsent. |
| (WebCore::ResourceHandle::platformSetDefersLoading): Use the new helper. |
| * platform/network/soup/ResourceRequest.h: |
| (ResourceRequest): Added a new method for getting the URL string for soup. |
| * platform/network/soup/ResourceRequestSoup.cpp: |
| (WebCore::ResourceRequest::urlStringForSoup): Added. |
| |
| 2012-10-08 Eric Seidel <eric@webkit.org> |
| |
| Make no-column table-layout cases a little faster with inlining |
| https://bugs.webkit.org/show_bug.cgi?id=98566 |
| |
| Reviewed by Julien Chaffraix. |
| |
| This change is almost not worth it at only a couple percent boost on |
| http://www.robohornet.org/tests/resizecol.html |
| However, I think the logicalWidthFromTableColumn split it kinda nice |
| so I've decided to post it anyway. |
| |
| * rendering/RenderTable.cpp: |
| (WebCore::RenderTable::slowColElement): |
| * rendering/RenderTable.h: |
| (WebCore::RenderTable::colElement): |
| (RenderTable): |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::logicalWidthFromTableColumn): |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::styleOrColLogicalWidth): |
| (RenderTableCell): |
| |
| 2012-10-08 Arpita Bahuguna <arpitabahuguna@gmail.com> |
| |
| Rename RenderObject::firstLineStyleSlowCase() to a more appropriate cachedFirstLineStyle() |
| https://bugs.webkit.org/show_bug.cgi?id=98631 |
| |
| Reviewed by Eric Seidel. |
| |
| Renaming firstLineStyleSlowCase() to cachedFirstLineStyle(). |
| |
| The current name is confusing since the function actually gets the |
| the cached first-line styles. |
| It also makes the name more descriptive of its functionality |
| and in accordance with RenderObject::uncachedFirstLineStyle(). |
| |
| No new tests required for this change since no change in behavior is expected. |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::cachedFirstLineStyle): |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::firstLineStyle): |
| (RenderObject): |
| Renamed RenderObject::firstLineStyleSlowCase() to cachedFirstLineStyle() |
| and made the associated changes. |
| |
| 2012-10-08 Sami Kyostila <skyostil@chromium.org> |
| |
| Some non-scrollable elements are added to non-fast-scrollable region |
| https://bugs.webkit.org/show_bug.cgi?id=97927 |
| |
| Reviewed by James Robinson. |
| |
| Only RenderLayers that can actually be scrolled should be added to the |
| ScrollingCoordinator's non-fast scrollable region. Otherwise we may |
| needlessly fall back to main thread scrolling. |
| |
| Test: ScrollingCoordinatorChromiumTest.clippedBodyTest |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::updateScrollbarsAfterLayout): |
| (WebCore::RenderLayer::updateScrollbarsAfterStyleChange): |
| |
| 2012-10-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Move layerTreeAsText to window.internals |
| https://bugs.webkit.org/show_bug.cgi?id=98690 |
| |
| Reviewed by James Robinson. |
| |
| Add window.internals.layerTreeAsText(document), and change the tests to use it. |
| I'll remove testRunner.layerTreeAsText() in a later patch. |
| |
| * testing/Internals.cpp: |
| (WebCore::Internals::layerTreeAsText): |
| * testing/Internals.h: |
| (Internals): |
| * testing/Internals.idl: |
| |
| 2012-10-08 Jon Lee <jonlee@apple.com> |
| |
| Add render object that paints plugin snapshots |
| https://bugs.webkit.org/show_bug.cgi?id=98322 |
| <rdar://problem/12426546> |
| |
| Reviewed by Simon Fraser. |
| |
| First, teach plugins to maintain a set of states when plugin snapshotting is enabled. |
| |
| Second, a new RenderSnapshottedPlugIn class is a RenderEmbeddedObject that knows how to paint |
| snapshots when the plugin is not visibly playing. It maintains a RenderImageResource to |
| the generated poster image. |
| |
| * html/HTMLPlugInElement.cpp: |
| (WebCore::HTMLPlugInElement::HTMLPlugInElement): By default all plugins play on load. |
| * html/HTMLPlugInElement.h: Move the inheritance of ImageLoaderClientBase down to |
| HTMLPlugInImageElement, since that is the class that actually deals with image-based plugins. |
| (WebCore::HTMLPlugInElement::displayState): Add bit for display state. |
| (WebCore::HTMLPlugInElement::setDisplayState): |
| (WebCore::HTMLPlugInElement::updateSnapshot): |
| |
| * html/HTMLPlugInImageElement.cpp: |
| (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): If plugin snapshotting is |
| enabled, plugin state is set to wait for a poster image. |
| (WebCore::HTMLPlugInImageElement::createRenderer): Create RenderSnapshottedPlugIn if |
| plugin snapshotting is enabled. |
| (WebCore::HTMLPlugInImageElement::updateSnapshot): Once a snapshot is available, update the |
| renderer and set its state to wait for user input to start the plugin. |
| * html/HTMLPlugInImageElement.h: |
| (HTMLPlugInImageElement): |
| |
| * rendering/RenderObject.h: |
| (WebCore::RenderObject::isSnapshottedPlugIn): Add new function to identify |
| RenderSnapshottedPlugIn instances. Since RenderSnapshottedPlugIn inherits from |
| RenderEmbeddedObject, isEmbeddedObject() still returns true. |
| * rendering/RenderEmbeddedObject.h: |
| (RenderEmbeddedObject): Elevate a few virtual methods to protected for |
| RenderSnapshottedPlugIn to override. |
| |
| * rendering/RenderSnapshottedPlugIn.cpp: Added. |
| (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize snapshot |
| resource. |
| (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn): Shut down snapshot |
| image resource to remove the renderer as a client, and remove image from memory cache. |
| (WebCore::RenderSnapshottedPlugIn::plugInImageElement): Convenience function to get the |
| HTML element. |
| (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Cache the snapshot, and repaint. |
| (WebCore::RenderSnapshottedPlugIn::paint): If the plugin is not playing, paint like a |
| RenderImage does. |
| (WebCore::RenderSnapshottedPlugIn::paintReplaced): Paint the snapshot and overlay if the |
| plugin is not playing. |
| (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot): Inspired by |
| RenderImage::paintReplaced() and RenderImage::paintIntoRect(). |
| * rendering/RenderSnapshottedPlugIn.h: Added. |
| (WebCore::RenderSnapshottedPlugIn::isSnapshottedPlugin): Returns true. |
| |
| * rendering/RenderTheme.h: Add a function that paints the overlay on top of the snapshot. |
| * rendering/RenderThemeMac.h: |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::paintPlugInSnapshotOverlay): |
| |
| * WebCore.xcodeproj/project.pbxproj: Add new RenderSnapshottedPlugIn class. |
| * CMakeLists.txt: Ditto. |
| * GNUmakefile.list.am: Ditto. |
| * Target.pri: Ditto. |
| * WebCore.gypi: Ditto. |
| * WebCore.vcproj/WebCore.vcproj: Ditto. |
| * rendering/RenderingAllInOne.cpp: Ditto. |
| |
| 2012-10-08 Hans Muller <hmuller@adobe.com> |
| |
| [CSS Exclusions] Add support for polygonal shapes |
| https://bugs.webkit.org/show_bug.cgi?id=96811 |
| |
| Reviewed by Dirk Schulze. |
| |
| Initial version of the layout support for polygonal exclusion shapes: the ExclusionPolygon class. |
| Supports the public ExclusionShape operations using the algorithm described here: |
| http://hansmuller-webkit.blogspot.com/2012/06/horizontal-box-polygon-intersection-for.html. |
| Although both the "included" and "excluded" operations are supported, only the former is |
| used, since only shape-inside is supported at the moment. |
| |
| The ExclusionPolygon class stores the polygon's edges in an interval tree. |
| |
| Polygon edges are represented by the ExclusionPolygonEdge struct, which records the indices of |
| the pair of vertices joined by the edge. Edge vertex index1 is usually less than index2, except |
| the last edge where index2 is 0. We plan to improve the algorithm that creates the edges |
| by spanning vertices contained in sequences of more than two colinear vertices. For example, |
| a triangular polygon might be specified with 5 vertices like this: 3,0 5,0, 5,5, 4,4 2,2, 0,0. |
| By spanning the extra colinear points: 0,0 5,0, 5,5, which implies index1-index2 edges: 5-1 1-2 2-5. |
| |
| Although the implementation supports complex polygons, the layout code is limited to |
| essentially rectangular shapes until a patch for https://bugs.webkit.org/show_bug.cgi?id=96813 |
| lands. |
| |
| Tests: fast/exclusions/shape-inside/shape-inside-polygon-rectangle.html |
| fast/exclusions/shape-inside/shape-inside-simple-polygon-001.html |
| fast/exclusions/shape-inside/shape-inside-simple-polygon-002.html |
| fast/exclusions/shape-inside/shape-inside-simple-polygon-003.html |
| fast/exclusions/shape-inside/shape-inside-simple-polygon-004.html |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * rendering/ExclusionPolygon.cpp: Added. |
| (WebCore): |
| (EdgeIntersection): Internal description of the intersection of a polygon edge and a horizontal line. |
| (WebCore::ExclusionPolygon::ExclusionPolygon): See the introductory text above for a description of this type. |
| (WebCore::computeXIntersection): Find and classify the X intercept of a polygon edge with horizontal line, if any. |
| (WebCore::ExclusionPolygon::rightVertexY): This method is used to decide if a horizontal line "crosses" a vertex. |
| (WebCore::appendIntervalX): Append an x coordinate to a vector of ExclusionIntervals. |
| (WebCore::ExclusionPolygon::computeXIntersections): Return a vector of the intersections of a horizontal line with the polygon's edges. |
| (WebCore::ExclusionPolygon::computeEdgeIntersections): Return a vector of the X projections of the edges that overlap a horizonal rectangle. |
| (WebCore::ExclusionPolygon::getExcludedIntervals): Return a SegmentList of the X intervals within a horizontal rectangle that overlap the polygon. |
| (WebCore::ExclusionPolygon::getIncludedIntervals): Return the X intervals within a horizontal rectangle that fit inside the polygon. |
| * rendering/ExclusionPolygon.h: Added. |
| (WebCore): |
| (ExclusionPolygon): |
| (WebCore::ExclusionPolygon::getXAt): X coordinate of a polygon vertex |
| (WebCore::ExclusionPolygon::getYAt): Y coordinate of a polygon vertex |
| (WebCore::ExclusionPolygon::numberOfVertices): |
| (WebCore::ExclusionPolygon::fillRule): A WindRule value that defines "inside" for self-intersecting polygons. |
| (ExclusionPolygonEdge): |
| (WebCore::ExclusionPolygonEdge::ExclusionPolygonEdge): |
| (WebCore::ExclusionPolygonEdge::vertex1): |
| (WebCore::ExclusionPolygonEdge::vertex2): |
| (WebCore::ExclusionPolygonEdge::minX): |
| (WebCore::ExclusionPolygonEdge::minY): |
| (WebCore::ExclusionPolygonEdge::maxX): |
| (WebCore::ExclusionPolygonEdge::maxY): |
| * rendering/ExclusionShape.cpp: |
| (WebCore::createExclusionPolygon): Return a new ExclusionPolygon. |
| (WebCore): |
| (WebCore::ExclusionShape::createExclusionShape): Added support for BasicShape::BASIC_SHAPE_POLYGON. |
| * rendering/ExclusionShapeInsideInfo.cpp: |
| (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock): Enable BASIC_SHAPE_POLYGON shapes for RenderBlocks. |
| |
| 2012-10-08 Tony Chang <tony@chromium.org> |
| |
| Replace 2 uses of updateLogicalHeight with computeLogicalHeight |
| https://bugs.webkit.org/show_bug.cgi?id=98677 |
| |
| Reviewed by Ojan Vafai. |
| |
| This is part of bug 96804. Convert RenderTextControl and RenderSVGForeignObject to |
| override the const computeLogicalHeight method rather than the updateLogicalHeight |
| setter method. |
| |
| No new tests, there should be no behavior change as this is just a refactor. |
| |
| * rendering/RenderTextControl.cpp: |
| (WebCore::RenderTextControl::computeLogicalHeight): Pass logicalHeight through rather than setting height. |
| This is a slight correctness fix, although we don't support vertical inputs yet. |
| * rendering/RenderTextControl.h: |
| (RenderTextControl): |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::computeLogicalHeight): |
| * rendering/svg/RenderSVGForeignObject.h: |
| (RenderSVGForeignObject): |
| |
| 2012-10-08 Min Qin <qinmin@chromium.org> |
| |
| Upstream some tweaks for overlay play button on Android |
| https://bugs.webkit.org/show_bug.cgi?id=98671 |
| |
| Reviewed by Adam Barth. |
| |
| This change stops displaying the overlay play button if video height is too small |
| No test for this. Will rebase layout test expectations for android later. |
| |
| * css/mediaControlsChromiumAndroid.css: |
| (video::-webkit-media-controls-overlay-enclosure): |
| |
| 2012-10-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Some GraphicsLayer cleanup to separate the concepts of using a tile cache, and being the main tile cache layer |
| https://bugs.webkit.org/show_bug.cgi?id=98574 |
| |
| Reviewed by Dean Jackson. |
| |
| GraphicsLayerCA assumed that using a TileCache equated to being the main page tile |
| cache layer, which has some special considerations. Make these two concepts separate |
| to get closer to being able to use TileCaches in place of CATiledLayer. |
| |
| * platform/graphics/GraphicsLayer.h: |
| (GraphicsLayer): Remove m_usingTileCache member, which was not appropriate |
| for this class to have. |
| * platform/graphics/GraphicsLayer.cpp: |
| (WebCore::GraphicsLayer::GraphicsLayer): Remove init of m_usingTileCache. |
| (WebCore::GraphicsLayer::debugBorderInfo): Can no longer use m_usingTileCache to |
| get the blue color, so moved code into a virtual debugBorderInfo() method. |
| (WebCore::GraphicsLayer::updateDebugIndicators): Call the virtual debugBorderInfo(). |
| * platform/graphics/GraphicsLayerClient.h: Remove the usingTileCache() callback; |
| we now just cache this information in the GraphicsLayerCA on creation. |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::GraphicsLayerCA): Init m_isPageTileCacheLayer to false, |
| then set to m_isPageTileCacheLayer if the client says we should create a tile cache. |
| (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter): Overidden to avoid duplicate repaint |
| counters in the top-left tile. |
| (WebCore::GraphicsLayerCA::updateLayerBackgroundColor): If this layer is the page tile cache layer, |
| we allow setting of its background color. |
| (WebCore::GraphicsLayerCA::debugBorderInfo): Overidden to use a blue color for tiles. |
| (WebCore::GraphicsLayerCA::requiresTiledLayer): Don't make CATiledLayers for the page tile cache. |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| (GraphicsLayerCA): |
| * platform/graphics/ca/PlatformCALayerClient.h: |
| (PlatformCALayerClient): Need to pass the platform layer into platformCALayerShowRepaintCounter() |
| so we can distinguish between calls for tiles, and calls for the tile cache layer itself. |
| * platform/graphics/ca/mac/TileCache.mm: |
| (WebCore::TileCache::shouldShowRepaintCounters): Pass 0 to platformCALayerShowRepaintCounter() to |
| indicate that we're asking about a tile. |
| * platform/graphics/mac/WebLayer.mm: |
| (drawLayerContents): Now we can just rely on platformCALayerShowRepaintCounter() to tell us whether |
| to draw the repaint counter. |
| (-[WebLayer setNeedsDisplayInRect:]): |
| * platform/graphics/mac/WebTiledLayer.mm: |
| (-[WebTiledLayer setNeedsDisplayInRect:]): |
| * rendering/RenderLayerBacking.h: |
| (WebCore::RenderLayerBacking::usingTileCache): |
| (RenderLayerBacking): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange): We can ask the RenderLayerBacking |
| whether it's for the tile cache, rather than going to the GraphicsLayer. |
| * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: |
| (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter): |
| |
| 2012-10-08 Huang Dongsung <luxtella@company100.net> |
| |
| [Qt] Make ImageBufferQt use premultiplied converting functions in Color.h instead of its own mechanism. |
| https://bugs.webkit.org/show_bug.cgi?id=98582 |
| |
| Reviewed by Eric Seidel. |
| |
| Only Qt port failed canvas/philip/tests/2d.imageData.put.unchanged.html because |
| ImageBufferQt converts from or to a premultiplied color using its own code. When |
| we convert twice from an unmultiplied color to a premultiplied color and then to |
| an unmultiplied color using this code, the calculated result are pretty |
| different against the input color. It is why Gtk passes this test although Qt |
| fails. Gtk port uses them in Color.h. |
| |
| In addition, Qt should use the functions in Color.h to reduce duplicated codes. |
| |
| Tests: canvas/philip/tests/2d.imageData.put.unchanged.html: Fixed a test case |
| |
| * platform/graphics/qt/ImageBufferQt.cpp: |
| (WebCore::getImageData): |
| (WebCore::convertBGRAToRGBA): |
| (WebCore::ImageBuffer::putByteArray): |
| |
| 2012-10-08 Tab Atkins <jackalmage@gmail.com> |
| |
| Remove "orphaned units" quirk |
| https://bugs.webkit.org/show_bug.cgi?id=98553 |
| |
| Reviewed by Eric Seidel. |
| |
| This patch removes our "orphaned units" quirk. |
| We have an "orphaned units" quirk to match IE, which allows things like "width: 20 px;". |
| But FF and Opera don't have it and aren't aware of bugs for it, |
| and it's not in Simon Pieters' Quirks Mode spec <http://dvcs.w3.org/hg/quirks-mode/raw-file/tip/Overview.html> |
| |
| No new tests, because I'm killing a quirk. |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): |
| * css/CSSParser.h: |
| (CSSParser): |
| |
| 2012-10-08 Robert Hogan <robert@webkit.org> |
| |
| Border, margin and padding of an inline's inline ancestors counted twice |
| https://bugs.webkit.org/show_bug.cgi?id=63074 |
| |
| Reviewed by David Hyatt. |
| |
| In a line such as '<span><span><img>Text' the border, padding and margin belonging |
| to the two spans was counted twice by RenderBlockLineLayout::nextLineBreak(): once |
| when adding the width of the <img> object to the line, and a second time when adding |
| the 'Text'. The result was that nextLineBreak() now had a length for the line that |
| exceeded the line's maximum length and inserted a bogus line break. |
| |
| This all happened because the helper function that is used to add in the border etc. |
| from inline ancestors was crawling up the tree each time. It doesn't need to do that, it |
| should stop crawling up the tree when the current object is not the first or last sibling below a parent. |
| |
| Test: fast/inline/bpm-inline-ancestors.html |
| |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::shouldAddBorderPaddingMargin): Broke this check out into a helper function so that it |
| can help inlineLogicalWidth() return early and also treat empty RenderTexts the same as no previous/next |
| sibling on the line. This ensures that collapsed leading space does not interfere with the decision to |
| crawl up the ancestors accumulating border, padding, and margin. |
| (WebCore): |
| (WebCore::inlineLogicalWidth): Return early once the current child is no longer on the edge of its line - |
| this ensures the border, padding and margin of ancestors is not counted twice. |
| |
| 2012-10-08 Mike West <mkwst@chromium.org> |
| |
| Null-check for DOMWindow before feeding it to FeatureObserver. |
| https://bugs.webkit.org/show_bug.cgi?id=98624 |
| |
| Reviewed by Adam Barth. |
| |
| We shouldn't call out to FeatureObserver in |
| ContentSecurityPolicy::didReceiveHeader if the policy's document doesn't |
| have a DOMWindow. |
| |
| Test: http/tests/security/contentSecurityPolicy/xmlhttprequest-protected-resource-does-not-crash.html |
| |
| * page/ContentSecurityPolicy.cpp: |
| (WebCore::ContentSecurityPolicy::didReceiveHeader): |
| Null check 'document->domWindow' before passing it on. |
| * page/FeatureObserver.cpp: |
| (WebCore::FeatureObserver::observe): |
| ASSERT 'domWindow'. |
| |
| 2012-10-08 Nate Chapin <japhet@chromium.org> |
| |
| Loader cleanup : Simplify FrameLoader/DocumentLoader setupForReplace() |
| https://bugs.webkit.org/show_bug.cgi?id=49072 |
| |
| Reviewed by Eric Seidel. |
| |
| This patch contains one small known behavior change: multipart/x-mixed-replace main resources with text/html parts |
| will no longer load the text/html progressively. In practice, loading the html progressively causes the document |
| to get cleared as soon as the next part's data starts arriving, which leads to a blank page most of the time. This case |
| seems to be pathological, as IE, FF, Opera and WebKit all do something different currently. This patch will cause |
| us to behave like Firefox, which is the most sane of the current behaviors. |
| |
| Test: http/tests/multipart/multipart-html.php |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::commitData): Use isMultipartReplacingLoad() helper. |
| (WebCore::DocumentLoader::receivedData): |
| (WebCore::DocumentLoader::setupForReplace): Renamed from setupForReplaceByMIMEType(). Call maybeFinishLoadingMultipartContent() |
| instead of doing identical work inline. After we call frameLoader()->setReplacing(), we will never load progressively, so remove |
| the if (doesProgressiveLoad(newMIMEType)) {} block. |
| (WebCore::DocumentLoader::isMultipartReplacingLoad): |
| (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Inline the old DocumentLoader::setupForeReplace(), check |
| frameLoader()->isReplacing() instead of the delete doesProgressiveLoad(). |
| * loader/DocumentLoader.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::setupForReplace): Move all calls to revertToProvisionalState here. |
| * loader/MainResourceLoader.cpp: |
| (WebCore::MainResourceLoader::didReceiveResponse): Call setupForReplace(), renamed from setupForReplaceByMIMEType(). |
| |
| 2012-10-08 Zoltan Horvath <zoltan@webkit.org> |
| |
| [Qt] r122720 causes performance regression with DirectFB on ARMv7 |
| https://bugs.webkit.org/show_bug.cgi?id=97548 |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| Revert the rest of r122720. This change modifies the NativeImagePtr from QImage* to QPixmap*. |
| |
| Covered by existing tests. |
| |
| * bridge/qt/qt_pixmapruntime.cpp: |
| (JSC::Bindings::assignToHTMLImageElement): |
| (JSC::Bindings::QtPixmapRuntime::toQt): |
| * platform/DragImage.h: |
| (WebCore): |
| * platform/graphics/GraphicsContext.h: |
| (GraphicsContext): |
| * platform/graphics/Image.h: |
| (Image): |
| * platform/graphics/NativeImagePtr.h: |
| (WebCore): |
| * platform/graphics/gstreamer/ImageGStreamer.h: |
| * platform/graphics/gstreamer/ImageGStreamerQt.cpp: |
| (ImageGStreamer::ImageGStreamer): |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| (WebCore::GraphicsContext3D::getImageData): |
| * platform/graphics/qt/GraphicsContextQt.cpp: |
| (WebCore::GraphicsContext::pushTransparencyLayerInternal): |
| (WebCore::GraphicsContext::beginPlatformTransparencyLayer): |
| (WebCore::GraphicsContext::endPlatformTransparencyLayer): |
| * platform/graphics/qt/ImageBufferDataQt.h: |
| (ImageBufferData): |
| * platform/graphics/qt/ImageBufferQt.cpp: |
| (WebCore::ImageBufferData::ImageBufferData): |
| (WebCore): |
| (WebCore::ImageBufferData::toQImage): |
| (WebCore::ImageBuffer::copyImage): |
| (WebCore::ImageBuffer::clip): |
| (WebCore::ImageBuffer::platformTransformColorSpace): |
| (WebCore::getImageData): |
| (WebCore::ImageBuffer::putByteArray): |
| (WebCore::encodeImage): |
| (WebCore::ImageBuffer::toDataURL): |
| * platform/graphics/qt/ImageDecoderQt.cpp: |
| (WebCore::ImageFrame::asNewNativeImage): |
| * platform/graphics/qt/ImageQt.cpp: |
| (graphics): |
| (loadResourcePixmap): |
| (WebCore::Image::loadPlatformResource): |
| (WebCore::Image::setPlatformResource): |
| (WebCore::Image::drawPattern): |
| (WebCore::BitmapImage::BitmapImage): |
| (WebCore::BitmapImage::draw): |
| (WebCore::BitmapImage::checkForSolidColor): |
| (WebCore::BitmapImage::create): |
| * platform/graphics/qt/PatternQt.cpp: |
| (WebCore::Pattern::createPlatformPattern): |
| * platform/graphics/qt/StillImageQt.cpp: |
| (WebCore::StillImage::StillImage): |
| (WebCore::StillImage::~StillImage): |
| (WebCore::StillImage::currentFrameHasAlpha): |
| (WebCore::StillImage::size): |
| (WebCore::StillImage::nativeImageForCurrentFrame): |
| (WebCore::StillImage::draw): |
| * platform/graphics/qt/StillImageQt.h: |
| (WebCore::StillImage::create): |
| (WebCore::StillImage::createForRendering): |
| (StillImage): |
| * platform/graphics/qt/TransparencyLayer.h: |
| (WebCore::TransparencyLayer::TransparencyLayer): |
| (TransparencyLayer): |
| * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp: |
| (WebCore::GraphicsSurface::createReadOnlyImage): |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::BitmapTextureGL::updateContents): |
| * platform/qt/ClipboardQt.cpp: |
| (WebCore::ClipboardQt::createDragImage): |
| (WebCore::ClipboardQt::declareAndWriteDragImage): |
| * platform/qt/CursorQt.cpp: |
| (WebCore::createCustomCursor): |
| * platform/qt/DragImageQt.cpp: |
| (WebCore::createDragImageFromImage): |
| * platform/qt/PasteboardQt.cpp: |
| (WebCore::Pasteboard::writeImage): |
| |
| 2012-10-08 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix make distcheck. |
| |
| * GNUmakefile.list.am: Add missing header file to compilation. |
| |
| 2012-10-08 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r130619. |
| http://trac.webkit.org/changeset/130619 |
| https://bugs.webkit.org/show_bug.cgi?id=98634 |
| |
| Causes many crashes on the EFL bots. (Requested by rakuco on |
| #webkit). |
| |
| * platform/RunLoop.h: |
| (RunLoop): |
| * platform/efl/RunLoopEfl.cpp: |
| (WebCore::RunLoop::RunLoop): |
| (WebCore::RunLoop::wakeUpEvent): |
| (WebCore::RunLoop::wakeUp): |
| |
| 2012-10-08 Byungwoo Lee <bw80.lee@samsung.com> |
| |
| [EFL] Use ecore_main_loop_thread_safe_call_async() to wakeup main loop. |
| https://bugs.webkit.org/show_bug.cgi?id=98505 |
| |
| Reviewed by Kenneth Rohde Christiansen. |
| |
| Instead of ecore_pipe_write(), |
| use ecore_main_loop_thread_safe_call_async() to wakeup ecore main loop. |
| |
| According to the EFL API document, this function is designed to dispatch |
| a function on ecore main loop by avoiding dead lock or race condition. |
| With this function, webkit doesn't need to maintain ecore pipe also. |
| |
| No new tests. The function to wakeup main loop is changed. |
| |
| * platform/RunLoop.h: |
| (RunLoop): |
| * platform/efl/RunLoopEfl.cpp: |
| (WebCore::RunLoop::RunLoop): |
| (WebCore::RunLoop::wakeUpEvent): |
| (WebCore::RunLoop::wakeUp): |
| |
| 2012-10-07 Arpita Bahuguna <arpitabahuguna@gmail.com> |
| |
| :first-line pseudo selector ignoring words created from :before |
| https://bugs.webkit.org/show_bug.cgi?id=80794 |
| |
| Reviewed by Daniel Bates. |
| |
| The :first-line pseudo-element style is not applied for content |
| which is generated from the :before/:after pseudo-elements. |
| |
| Test: fast/css/first-line-style-for-before-after-content.html |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::firstLineStyleForCachedUncachedType): |
| Added a new static helper function incorporating the common |
| functionality of both uncachedFirstLineStyle() and firstLineStyleSlowCase() |
| functions. It also modifies the functionality to handle the |
| scenario when :first-line style needs to be applied on content |
| generated from :before/:after. |
| |
| While getting the :first-line style we should also consider the case |
| when the content is generated from a :before/:after pseudo-element in |
| which case the RenderInline's parent should be considered for |
| obtaining the first-line style. |
| |
| (WebCore): |
| (WebCore::RenderObject::uncachedFirstLineStyle): |
| (WebCore::RenderObject::firstLineStyleSlowCase): |
| Moved the duplicate code between the two functions to the common |
| helper function firstLineStyleForCachedUncachedType(). |
| |
| 2012-10-07 Peter Wang <peter.wang@torchmobile.com.cn> |
| |
| Web Inspector: The front-end should provide the position in original source file when set a breakpoint |
| https://bugs.webkit.org/show_bug.cgi?id=93473 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Since frontend truncates the indent, the first statement in a line must match the breakpoint (line, 0). |
| With this patch JSC debugger can support both normal and "Pretty Print" mode. |
| |
| No new test case. This patch can be verified with cases in "LayoutTests/inspector/debugger/". |
| |
| * bindings/js/ScriptDebugServer.cpp: |
| (WebCore::ScriptDebugServer::ScriptDebugServer): |
| (WebCore::ScriptDebugServer::hasBreakpoint): |
| (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): |
| (WebCore::ScriptDebugServer::pauseIfNeeded): |
| * bindings/js/ScriptDebugServer.h: |
| (ScriptDebugServer): |
| |
| 2012-10-07 Martin Robinson <mrobinson@igalia.com> |
| |
| [Soup] Clean up ResourceError creation |
| https://bugs.webkit.org/show_bug.cgi?id=98521 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| Simplify the creation of ResourcErrors in ResourceHandleSoup. This is |
| part of a process to make the libsoup networking backend more hackable. |
| |
| No new tests. This shouldn't change functionality. |
| |
| * GNUmakefile.list.am: Added new file. |
| * PlatformEfl.cmake: Added new file. |
| * platform/network/soup/ResourceError.h: |
| (ResourceError): Added new factories. |
| * platform/network/soup/ResourceErrorSoup.cpp: Added. |
| (WebCore::failingURI): Added this helper. |
| (WebCore::ResourceError::httpError): New factory. |
| (WebCore::ResourceError::genericIOError): Ditto. |
| (WebCore::ResourceError::tlsError): Ditto. |
| (WebCore::ResourceError::timeoutError): Ditto. |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::handleUnignoredTLSErrors): Created this helper which merges |
| some of the logic from sendRequestCallback. |
| (WebCore::sendRequestCallback): Use the new helper. |
| (WebCore::requestTimeoutCallback): Use the new factory. |
| |
| 2012-10-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> |
| |
| Rename first/second to key/value in HashMap iterators |
| https://bugs.webkit.org/show_bug.cgi?id=82784 |
| |
| Reviewed by Eric Seidel. |
| |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::Watchers::find): |
| (WebCore::Geolocation::Watchers::remove): |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::objectStoreNames): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::metadata): |
| * Modules/indexeddb/IDBFactoryBackendImpl.cpp: |
| (WebCore::IDBFactoryBackendImpl::deleteDatabase): |
| (WebCore::IDBFactoryBackendImpl::openBackingStore): |
| (WebCore::IDBFactoryBackendImpl::open): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::indexNames): |
| (WebCore::IDBObjectStore::put): |
| (WebCore::IDBObjectStore::index): |
| (WebCore::IDBObjectStore::deleteIndex): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::metadata): |
| (WebCore::makeIndexWriters): |
| (WebCore::IDBObjectStoreBackendImpl::deleteInternal): |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::objectStore): |
| (WebCore::IDBTransaction::objectStoreDeleted): |
| (WebCore::IDBTransaction::onAbort): |
| (WebCore::IDBTransaction::dispatchEvent): |
| * Modules/mediastream/MediaConstraintsImpl.cpp: |
| (WebCore::MediaConstraintsImpl::getMandatoryConstraints): |
| (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue): |
| * Modules/webdatabase/AbstractDatabase.cpp: |
| (WebCore::AbstractDatabase::performOpenAndVerify): |
| * Modules/webdatabase/DatabaseTracker.cpp: |
| (WebCore::DatabaseTracker::interruptAllDatabasesForContext): |
| * Modules/webdatabase/OriginUsageRecord.cpp: |
| (WebCore::OriginUsageRecord::diskUsage): |
| * Modules/webdatabase/SQLTransactionCoordinator.cpp: |
| (WebCore::SQLTransactionCoordinator::acquireLock): |
| (WebCore::SQLTransactionCoordinator::releaseLock): |
| (WebCore::SQLTransactionCoordinator::shutdown): |
| * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: |
| (WebCore::DatabaseTracker::interruptAllDatabasesForContext): |
| * Modules/webdatabase/chromium/QuotaTracker.cpp: |
| (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin): |
| (WebCore::QuotaTracker::updateDatabaseSize): |
| * Modules/websockets/WebSocketDeflateFramer.cpp: |
| (WebCore::WebSocketExtensionDeflateFrame::processResponse): |
| * Modules/websockets/WebSocketExtensionDispatcher.cpp: |
| (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension): |
| * accessibility/AXObjectCache.cpp: |
| (WebCore::AXObjectCache::~AXObjectCache): |
| * bindings/gobject/DOMObjectCache.cpp: |
| (WebKit::DOMObjectCache::clearByFrame): |
| * bindings/js/DOMObjectHashTableMap.h: |
| (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): |
| (WebCore::DOMObjectHashTableMap::get): |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::cacheDOMStructure): |
| * bindings/js/JSDOMGlobalObject.cpp: |
| (WebCore::JSDOMGlobalObject::visitChildren): |
| * bindings/js/JSDOMGlobalObject.h: |
| (WebCore::getDOMConstructor): |
| * bindings/js/PageScriptDebugServer.cpp: |
| (WebCore::PageScriptDebugServer::addListener): |
| (WebCore::PageScriptDebugServer::removeListener): |
| * bindings/js/ScriptCachedFrameData.cpp: |
| (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): |
| (WebCore::ScriptCachedFrameData::restore): |
| * bindings/js/ScriptController.cpp: |
| (WebCore::ScriptController::~ScriptController): |
| (WebCore::ScriptController::clearWindowShell): |
| (WebCore::ScriptController::attachDebugger): |
| (WebCore::ScriptController::updateDocument): |
| (WebCore::ScriptController::createRootObject): |
| (WebCore::ScriptController::collectIsolatedContexts): |
| (WebCore::ScriptController::cleanupScriptObjectsForPlugin): |
| (WebCore::ScriptController::clearScriptObjects): |
| * bindings/js/ScriptController.h: |
| (WebCore::ScriptController::windowShell): |
| (WebCore::ScriptController::existingWindowShell): |
| * bindings/js/ScriptDebugServer.cpp: |
| (WebCore::ScriptDebugServer::setBreakpoint): |
| (WebCore::ScriptDebugServer::removeBreakpoint): |
| (WebCore::ScriptDebugServer::hasBreakpoint): |
| * bindings/js/SerializedScriptValue.cpp: |
| (WebCore::CloneSerializer::checkForDuplicate): |
| (WebCore::CloneSerializer::dumpIfTerminal): |
| (WebCore::CloneSerializer::write): |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateImplementation): |
| * bindings/scripts/test/V8/V8Float64Array.cpp: |
| (WebCore::V8Float64Array::GetRawTemplate): |
| (WebCore::V8Float64Array::GetTemplate): |
| * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: |
| (WebCore::V8TestActiveDOMObject::GetRawTemplate): |
| (WebCore::V8TestActiveDOMObject::GetTemplate): |
| * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: |
| (WebCore::V8TestCustomNamedGetter::GetRawTemplate): |
| (WebCore::V8TestCustomNamedGetter::GetTemplate): |
| * bindings/scripts/test/V8/V8TestEventConstructor.cpp: |
| (WebCore::V8TestEventConstructor::GetRawTemplate): |
| (WebCore::V8TestEventConstructor::GetTemplate): |
| * bindings/scripts/test/V8/V8TestEventTarget.cpp: |
| (WebCore::V8TestEventTarget::GetRawTemplate): |
| (WebCore::V8TestEventTarget::GetTemplate): |
| * bindings/scripts/test/V8/V8TestException.cpp: |
| (WebCore::V8TestException::GetRawTemplate): |
| (WebCore::V8TestException::GetTemplate): |
| * bindings/scripts/test/V8/V8TestInterface.cpp: |
| (WebCore::V8TestInterface::GetRawTemplate): |
| (WebCore::V8TestInterface::GetTemplate): |
| * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: |
| (WebCore::V8TestMediaQueryListListener::GetRawTemplate): |
| (WebCore::V8TestMediaQueryListListener::GetTemplate): |
| * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: |
| (WebCore::V8TestNamedConstructor::GetRawTemplate): |
| (WebCore::V8TestNamedConstructor::GetTemplate): |
| * bindings/scripts/test/V8/V8TestNode.cpp: |
| (WebCore::V8TestNode::GetRawTemplate): |
| (WebCore::V8TestNode::GetTemplate): |
| * bindings/scripts/test/V8/V8TestObj.cpp: |
| (WebCore::V8TestObj::GetRawTemplate): |
| (WebCore::V8TestObj::GetTemplate): |
| * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: |
| (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate): |
| (WebCore::V8TestSerializedScriptValueInterface::GetTemplate): |
| * bindings/v8/DOMWrapperWorld.cpp: |
| (WebCore::DOMWrapperWorld::deallocate): |
| (WebCore::DOMWrapperWorld::ensureIsolatedWorld): |
| * bindings/v8/NPV8Object.cpp: |
| (WebCore::freeV8NPObject): |
| (WebCore::npCreateV8ScriptObject): |
| * bindings/v8/ScriptController.cpp: |
| (WebCore::ScriptController::clearScriptObjects): |
| (WebCore::ScriptController::resetIsolatedWorlds): |
| (WebCore::ScriptController::ensureIsolatedWorldContext): |
| (WebCore::ScriptController::existingWindowShellInternal): |
| (WebCore::ScriptController::evaluateInIsolatedWorld): |
| (WebCore::ScriptController::setIsolatedWorldSecurityOrigin): |
| (WebCore::ScriptController::cleanupScriptObjectsForPlugin): |
| (WebCore::ScriptController::collectIsolatedContexts): |
| * bindings/v8/SerializedScriptValue.cpp: |
| * bindings/v8/V8DOMMap.h: |
| (WebCore::WeakReferenceMap::removeIfPresent): |
| (WebCore::WeakReferenceMap::visit): |
| * bindings/v8/V8PerContextData.cpp: |
| (WebCore::V8PerContextData::dispose): |
| * bindings/v8/npruntime.cpp: |
| * bridge/IdentifierRep.cpp: |
| (WebCore::IdentifierRep::get): |
| * bridge/NP_jsobject.cpp: |
| (ObjectMap::add): |
| (ObjectMap::remove): |
| * bridge/runtime_root.cpp: |
| (JSC::Bindings::RootObject::invalidate): |
| * css/CSSCanvasValue.cpp: |
| (WebCore::CSSCanvasValue::canvasChanged): |
| (WebCore::CSSCanvasValue::canvasResized): |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::counterToCSSValue): |
| * css/CSSCrossfadeValue.cpp: |
| (WebCore::CSSCrossfadeValue::crossfadeChanged): |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::addFontFaceRule): |
| (WebCore::CSSFontSelector::getFontData): |
| * css/CSSImageGeneratorValue.cpp: |
| (WebCore::CSSImageGeneratorValue::addClient): |
| (WebCore::CSSImageGeneratorValue::removeClient): |
| (WebCore::CSSImageGeneratorValue::getImage): |
| * css/CSSSegmentedFontFace.cpp: |
| (WebCore::CSSSegmentedFontFace::getFontData): |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::parsePseudoType): |
| * css/CSSValuePool.cpp: |
| (WebCore::CSSValuePool::createColorValue): |
| (WebCore::CSSValuePool::createFontFamilyValue): |
| (WebCore::CSSValuePool::createFontFaceValue): |
| * css/PropertySetCSSStyleDeclaration.cpp: |
| (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM): |
| * css/RuleSet.cpp: |
| (WebCore::reportAtomRuleMap): |
| (WebCore::RuleSet::addToRuleSet): |
| (WebCore::shrinkMapVectorsToFit): |
| * css/StyleBuilder.cpp: |
| (WebCore::ApplyPropertyCounter::applyInheritValue): |
| (WebCore::ApplyPropertyCounter::applyValue): |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::collectFeatures): |
| (WebCore::StyleResolver::ruleSetForScope): |
| (WebCore::StyleResolver::appendAuthorStylesheets): |
| (WebCore::StyleResolver::sweepMatchedPropertiesCache): |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * css/StyleSheetContents.cpp: |
| (WebCore::StyleSheetContents::parserAddNamespace): |
| (WebCore::StyleSheetContents::determineNamespace): |
| * dom/CheckedRadioButtons.cpp: |
| (WebCore::CheckedRadioButtons::addButton): |
| (WebCore::CheckedRadioButtons::removeButton): |
| * dom/ChildListMutationScope.cpp: |
| (WebCore::ChildListMutationAccumulator::getOrCreate): |
| * dom/Document.cpp: |
| (WebCore::Document::windowNamedItems): |
| (WebCore::Document::documentNamedItems): |
| (WebCore::Document::getCSSCanvasElement): |
| (WebCore::Document::cachedImmutableAttributeData): |
| (WebCore::Document::getCachedLocalizer): |
| * dom/DocumentMarkerController.cpp: |
| (WebCore::DocumentMarkerController::markerContainingPoint): |
| (WebCore::DocumentMarkerController::renderedRectsForMarkers): |
| (WebCore::DocumentMarkerController::removeMarkers): |
| (WebCore::DocumentMarkerController::repaintMarkers): |
| (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect): |
| (WebCore::DocumentMarkerController::showMarkers): |
| * dom/DocumentOrderedMap.cpp: |
| (WebCore::DocumentOrderedMap::remove): |
| * dom/DocumentStyleSheetCollection.cpp: |
| (WebCore::DocumentStyleSheetCollection::pageGroupUserSheets): |
| * dom/ElementAttributeData.cpp: |
| (WebCore::ensureAttrListForElement): |
| * dom/EventDispatcher.cpp: |
| (WebCore::EventRelatedTargetAdjuster::findRelatedTarget): |
| * dom/IdTargetObserverRegistry.cpp: |
| (WebCore::IdTargetObserverRegistry::addObserver): |
| (WebCore::IdTargetObserverRegistry::removeObserver): |
| * dom/MutationObserverInterestGroup.cpp: |
| (WebCore::MutationObserverInterestGroup::isOldValueRequested): |
| (WebCore::MutationObserverInterestGroup::enqueueMutationRecord): |
| * dom/Node.cpp: |
| (WebCore::Node::dumpStatistics): |
| (WebCore::Node::clearRareData): |
| (WebCore::NodeListsNodeData::invalidateCaches): |
| (WebCore::collectMatchingObserversForMutation): |
| * dom/NodeRareData.h: |
| (WebCore::NodeListsNodeData::addCacheWithAtomicName): |
| (WebCore::NodeListsNodeData::addCacheWithName): |
| (WebCore::NodeListsNodeData::addCacheWithQualifiedName): |
| (WebCore::NodeListsNodeData::adoptTreeScope): |
| * dom/ProcessingInstruction.cpp: |
| (WebCore::ProcessingInstruction::checkStyleSheet): |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): |
| (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): |
| (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): |
| (WebCore::ScriptExecutionContext::stopActiveDOMObjects): |
| (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval): |
| * dom/SelectorQuery.cpp: |
| (WebCore::SelectorQueryCache::add): |
| * dom/SpaceSplitString.cpp: |
| (WebCore::SpaceSplitStringData::create): |
| * dom/StyledElement.cpp: |
| (WebCore::StyledElement::updateAttributeStyle): |
| * editing/mac/AlternativeTextUIController.mm: |
| (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext): |
| * html/FormController.cpp: |
| (WebCore::SavedFormState::serializeTo): |
| (WebCore::SavedFormState::appendControlState): |
| (WebCore::SavedFormState::takeControlState): |
| (WebCore::SavedFormState::getReferencedFilePaths): |
| (WebCore::FormKeyGenerator::formKey): |
| (WebCore::FormController::createSavedFormStateMap): |
| (WebCore::FormController::formElementsState): |
| (WebCore::FormController::takeStateForFormElement): |
| (WebCore::FormController::getReferencedFilePaths): |
| * html/HTMLCollection.cpp: |
| (WebCore::HTMLCollectionCacheBase::append): |
| * html/canvas/WebGLFramebuffer.cpp: |
| (WebCore::WebGLFramebuffer::getAttachment): |
| (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer): |
| (WebCore::WebGLFramebuffer::checkStatus): |
| (WebCore::WebGLFramebuffer::deleteObjectImpl): |
| (WebCore::WebGLFramebuffer::initializeAttachments): |
| * inspector/CodeGeneratorInspector.py: |
| * inspector/DOMPatchSupport.cpp: |
| (WebCore::DOMPatchSupport::diff): |
| (WebCore::DOMPatchSupport::innerPatchChildren): |
| (WebCore::DOMPatchSupport::removeChildAndMoveToNew): |
| * inspector/InjectedScriptManager.cpp: |
| (WebCore::InjectedScriptManager::injectedScriptForId): |
| (WebCore::InjectedScriptManager::injectedScriptIdFor): |
| (WebCore::InjectedScriptManager::discardInjectedScriptsFor): |
| (WebCore::InjectedScriptManager::releaseObjectGroup): |
| (WebCore::InjectedScriptManager::injectedScriptFor): |
| * inspector/InspectorCSSAgent.cpp: |
| (WebCore::SelectorProfile::commitSelector): |
| (WebCore::SelectorProfile::commitSelectorTime): |
| (WebCore::SelectorProfile::toInspectorObject): |
| (WebCore::UpdateRegionLayoutTask::onTimer): |
| (WebCore::InspectorCSSAgent::forcePseudoState): |
| (WebCore::InspectorCSSAgent::asInspectorStyleSheet): |
| (WebCore::InspectorCSSAgent::assertStyleSheetForId): |
| (WebCore::InspectorCSSAgent::didRemoveDOMNode): |
| (WebCore::InspectorCSSAgent::didModifyDOMAttr): |
| (WebCore::InspectorCSSAgent::resetPseudoStates): |
| * inspector/InspectorConsoleAgent.cpp: |
| (WebCore::InspectorConsoleAgent::stopTiming): |
| (WebCore::InspectorConsoleAgent::count): |
| * inspector/InspectorDOMAgent.cpp: |
| (WebCore::InspectorDOMAgent::nodeForId): |
| (WebCore::InspectorDOMAgent::performSearch): |
| (WebCore::InspectorDOMAgent::getSearchResults): |
| * inspector/InspectorDOMDebuggerAgent.cpp: |
| (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): |
| * inspector/InspectorDOMStorageAgent.cpp: |
| (WebCore::InspectorDOMStorageAgent::clearFrontend): |
| (WebCore::InspectorDOMStorageAgent::enable): |
| (WebCore::InspectorDOMStorageAgent::storageId): |
| (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): |
| (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): |
| (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache): |
| * inspector/InspectorDatabaseAgent.cpp: |
| (WebCore::InspectorDatabaseAgent::enable): |
| (WebCore::InspectorDatabaseAgent::databaseId): |
| (WebCore::InspectorDatabaseAgent::findByFileName): |
| (WebCore::InspectorDatabaseAgent::databaseForId): |
| * inspector/InspectorDebuggerAgent.cpp: |
| (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): |
| (WebCore::InspectorDebuggerAgent::removeBreakpoint): |
| (WebCore::InspectorDebuggerAgent::resolveBreakpoint): |
| (WebCore::InspectorDebuggerAgent::searchInContent): |
| (WebCore::InspectorDebuggerAgent::getScriptSource): |
| (WebCore::InspectorDebuggerAgent::didParseSource): |
| * inspector/InspectorIndexedDBAgent.cpp: |
| (WebCore): |
| * inspector/InspectorMemoryAgent.cpp: |
| (WebCore): |
| * inspector/InspectorPageAgent.cpp: |
| (WebCore::cachedResourcesForFrame): |
| (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): |
| (WebCore::InspectorPageAgent::frameDetached): |
| * inspector/InspectorProfilerAgent.cpp: |
| (WebCore::InspectorProfilerAgent::getProfileHeaders): |
| (WebCore): |
| (WebCore::InspectorProfilerAgent::getProfile): |
| * inspector/InspectorResourceAgent.cpp: |
| (WebCore::buildObjectForHeaders): |
| (WebCore::InspectorResourceAgent::willSendRequest): |
| (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): |
| (WebCore::InspectorResourceAgent::willLoadXHR): |
| (WebCore::InspectorResourceAgent::replayXHR): |
| * inspector/InspectorState.cpp: |
| (WebCore::InspectorState::getBoolean): |
| (WebCore::InspectorState::getString): |
| (WebCore::InspectorState::getLong): |
| (WebCore::InspectorState::getDouble): |
| (WebCore::InspectorState::getObject): |
| * inspector/InspectorStyleSheet.cpp: |
| (WebCore::InspectorStyle::styleWithProperties): |
| (WebCore::InspectorStyleSheet::inspectorStyleForId): |
| * inspector/InspectorValues.cpp: |
| (WebCore::InspectorObjectBase::get): |
| (WebCore::InspectorObjectBase::writeJSON): |
| * inspector/InspectorWorkerAgent.cpp: |
| (WebCore::InspectorWorkerAgent::workerContextTerminated): |
| (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers): |
| (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels): |
| * inspector/MemoryInstrumentationImpl.cpp: |
| (WebCore::MemoryInstrumentationClientImpl::countObjectSize): |
| * inspector/MemoryInstrumentationImpl.h: |
| (WebCore::MemoryInstrumentationClientImpl::totalSize): |
| (WebCore::MemoryInstrumentationClientImpl::reportedSizeForAllTypes): |
| * inspector/NetworkResourcesData.cpp: |
| (WebCore::NetworkResourcesData::setXHRReplayData): |
| (WebCore::NetworkResourcesData::removeCachedResource): |
| (WebCore::NetworkResourcesData::clear): |
| * loader/CrossOriginAccessControl.cpp: |
| (WebCore::isSimpleCrossOriginAccessRequest): |
| (WebCore::createAccessControlPreflightRequest): |
| * loader/CrossOriginPreflightResultCache.cpp: |
| (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): |
| (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::getSubresources): |
| (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): |
| * loader/MainResourceLoader.cpp: |
| (WebCore::MainResourceLoader::didReceiveResponse): |
| * loader/ResourceLoadScheduler.cpp: |
| (WebCore::ResourceLoadScheduler::servePendingRequests): |
| * loader/appcache/ApplicationCache.cpp: |
| (WebCore::ApplicationCache::removeResource): |
| (WebCore::ApplicationCache::clearStorageID): |
| (WebCore::ApplicationCache::dump): |
| * loader/appcache/ApplicationCacheGroup.cpp: |
| (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): |
| (WebCore::ApplicationCacheGroup::startLoadingEntry): |
| (WebCore::ApplicationCacheGroup::addEntry): |
| * loader/appcache/ApplicationCacheHost.cpp: |
| (WebCore::ApplicationCacheHost::fillResourceList): |
| * loader/appcache/ApplicationCacheResource.cpp: |
| (WebCore::ApplicationCacheResource::estimatedSizeInStorage): |
| * loader/appcache/ApplicationCacheStorage.cpp: |
| (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): |
| (WebCore::ApplicationCacheStorage::cacheGroupForURL): |
| (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): |
| (WebCore::ApplicationCacheStorage::store): |
| (WebCore::ApplicationCacheStorage::empty): |
| (WebCore::ApplicationCacheStorage::storeCopyOfCache): |
| * loader/archive/ArchiveFactory.cpp: |
| (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): |
| * loader/cache/CachedRawResource.cpp: |
| (WebCore::CachedRawResource::canReuse): |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::switchClientsToRevalidatedResource): |
| (WebCore::CachedResource::updateResponseAfterRevalidation): |
| * loader/cache/CachedResourceClientWalker.h: |
| (WebCore::CachedResourceClientWalker::CachedResourceClientWalker): |
| * loader/cache/CachedResourceLoader.cpp: |
| (WebCore::CachedResourceLoader::~CachedResourceLoader): |
| (WebCore::CachedResourceLoader::requestResource): |
| (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): |
| (WebCore::CachedResourceLoader::removeCachedResource): |
| (WebCore::CachedResourceLoader::garbageCollectDocumentResources): |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::removeResourcesWithOrigin): |
| (WebCore::MemoryCache::getOriginsWithCache): |
| (WebCore::MemoryCache::getStatistics): |
| (WebCore::MemoryCache::setDisabled): |
| * loader/icon/IconDatabase.cpp: |
| (WebCore::IconDatabase::removeAllIcons): |
| (WebCore::IconDatabase::iconRecordCountWithData): |
| (WebCore::IconDatabase::performPendingRetainAndReleaseOperations): |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): |
| (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::handleTouchEvent): |
| * page/Frame.cpp: |
| (WebCore::Frame::injectUserScripts): |
| * page/PageGroup.cpp: |
| (WebCore::PageGroup::pageGroup): |
| (WebCore::PageGroup::closeLocalStorage): |
| (WebCore::PageGroup::clearLocalStorageForAllOrigins): |
| (WebCore::PageGroup::clearLocalStorageForOrigin): |
| (WebCore::PageGroup::syncLocalStorage): |
| (WebCore::PageGroup::addUserScriptToWorld): |
| (WebCore::PageGroup::addUserStyleSheetToWorld): |
| (WebCore::PageGroup::removeUserScriptFromWorld): |
| (WebCore::PageGroup::removeUserStyleSheetFromWorld): |
| * page/PageSerializer.cpp: |
| (WebCore::PageSerializer::urlForBlankFrame): |
| * page/SecurityPolicy.cpp: |
| (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry): |
| (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry): |
| * page/Settings.cpp: |
| (WebCore::setGenericFontFamilyMap): |
| (WebCore::getGenericFontFamilyForScript): |
| * page/SpeechInput.cpp: |
| (WebCore::SpeechInput::registerListener): |
| * page/TouchDisambiguation.cpp: |
| (WebCore::findGoodTouchTargets): |
| * page/WindowFeatures.cpp: |
| (WebCore::WindowFeatures::boolFeature): |
| (WebCore::WindowFeatures::floatFeature): |
| * page/animation/AnimationController.cpp: |
| (WebCore::AnimationControllerPrivate::updateAnimations): |
| (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument): |
| (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument): |
| (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): |
| * page/animation/CompositeAnimation.cpp: |
| (WebCore::CompositeAnimation::clearRenderer): |
| (WebCore::CompositeAnimation::updateTransitions): |
| (WebCore::CompositeAnimation::updateKeyframeAnimations): |
| (WebCore::CompositeAnimation::animate): |
| (WebCore::CompositeAnimation::getAnimatedStyle): |
| (WebCore::CompositeAnimation::setAnimating): |
| (WebCore::CompositeAnimation::timeToNextService): |
| (WebCore::CompositeAnimation::getAnimationForProperty): |
| (WebCore::CompositeAnimation::suspendAnimations): |
| (WebCore::CompositeAnimation::resumeAnimations): |
| (WebCore::CompositeAnimation::overrideImplicitAnimations): |
| (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): |
| (WebCore::CompositeAnimation::isAnimatingProperty): |
| (WebCore::CompositeAnimation::numberOfActiveAnimations): |
| * platform/Language.cpp: |
| (WebCore::languageDidChange): |
| * platform/MIMETypeRegistry.cpp: |
| (WebCore::MIMETypeRegistry::getNormalizedMIMEType): |
| * platform/audio/HRTFElevation.cpp: |
| (WebCore::getConcatenatedImpulseResponsesForSubject): |
| * platform/blackberry/CookieManager.cpp: |
| (WebCore::CookieManager::generateHtmlFragmentForCookies): |
| (WebCore::CookieManager::removeAllCookies): |
| * platform/blackberry/CookieMap.cpp: |
| (WebCore::CookieMap::removeOldestCookie): |
| (WebCore::CookieMap::getAllChildCookies): |
| * platform/cf/BinaryPropertyList.cpp: |
| (WebCore::BinaryPropertyListPlan::writeIntegerArray): |
| * platform/chromium/support/WebHTTPLoadInfo.cpp: |
| (WebKit::addHeader): |
| * platform/chromium/support/WebURLRequest.cpp: |
| (WebKit::WebURLRequest::visitHTTPHeaderFields): |
| * platform/chromium/support/WebURLResponse.cpp: |
| (WebKit::WebURLResponse::addHTTPHeaderField): |
| (WebKit::WebURLResponse::visitHTTPHeaderFields): |
| * platform/graphics/DisplayRefreshMonitor.cpp: |
| (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): |
| (WebCore::DisplayRefreshMonitorManager::unregisterClient): |
| * platform/graphics/FontCache.cpp: |
| (WebCore::FontCache::getCachedFontPlatformData): |
| (WebCore::FontCache::getVerticalData): |
| (WebCore::FontCache::getCachedFontData): |
| (WebCore::FontCache::releaseFontData): |
| (WebCore::FontCache::purgeInactiveFontData): |
| * platform/graphics/GlyphPageTreeNode.cpp: |
| (WebCore::GlyphPageTreeNode::treeGlyphPageCount): |
| (WebCore::GlyphPageTreeNode::pageCount): |
| (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): |
| (WebCore::GlyphPageTreeNode::pruneTreeFontData): |
| (WebCore::GlyphPageTreeNode::pruneCustomFontData): |
| (WebCore::GlyphPageTreeNode::pruneFontData): |
| (WebCore::GlyphPageTreeNode::showSubtree): |
| (showGlyphPageTrees): |
| * platform/graphics/TiledBackingStore.cpp: |
| (WebCore::TiledBackingStore::updateTileBuffers): |
| (WebCore::TiledBackingStore::resizeEdgeTiles): |
| (WebCore::TiledBackingStore::setKeepRect): |
| * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: |
| (WebCore::AVFWrapper::avfWrapperForCallbackContext): |
| * platform/graphics/blackberry/LayerTiler.cpp: |
| (WebCore::LayerTiler::layerVisibilityChanged): |
| (WebCore::LayerTiler::uploadTexturesIfNeeded): |
| (WebCore::LayerTiler::addTileJob): |
| (WebCore::LayerTiler::deleteTextures): |
| (WebCore::LayerTiler::pruneTextures): |
| (WebCore::LayerTiler::bindContentsTexture): |
| * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: |
| (WebCore::TextureCacheCompositingThread::textureForTiledContents): |
| (WebCore::TextureCacheCompositingThread::textureForColor): |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::moveOrCopyAnimations): |
| (WebCore::GraphicsLayerCA::pauseAnimation): |
| (WebCore::GraphicsLayerCA::layerDidDisplay): |
| (WebCore::GraphicsLayerCA::updateGeometry): |
| (WebCore::GraphicsLayerCA::updateTransform): |
| (WebCore::GraphicsLayerCA::updateChildrenTransform): |
| (WebCore::GraphicsLayerCA::updateMasksToBounds): |
| (WebCore::GraphicsLayerCA::updateContentsVisibility): |
| (WebCore::GraphicsLayerCA::updateContentsOpaque): |
| (WebCore::GraphicsLayerCA::updateBackfaceVisibility): |
| (WebCore::GraphicsLayerCA::updateFilters): |
| (WebCore::GraphicsLayerCA::ensureStructuralLayer): |
| (WebCore::GraphicsLayerCA::updateLayerDrawsContent): |
| (WebCore::GraphicsLayerCA::updateContentsImage): |
| (WebCore::GraphicsLayerCA::updateContentsRect): |
| (WebCore::GraphicsLayerCA::updateMaskLayer): |
| (WebCore::GraphicsLayerCA::updateLayerAnimations): |
| (WebCore::GraphicsLayerCA::setAnimationOnLayer): |
| (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): |
| (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): |
| (WebCore::GraphicsLayerCA::suspendAnimations): |
| (WebCore::GraphicsLayerCA::resumeAnimations): |
| (WebCore::GraphicsLayerCA::findOrMakeClone): |
| (WebCore::GraphicsLayerCA::setOpacityInternal): |
| (WebCore::GraphicsLayerCA::updateOpacityOnLayer): |
| * platform/graphics/ca/mac/TileCache.mm: |
| (WebCore::TileCache::~TileCache): |
| (WebCore::TileCache::setNeedsDisplay): |
| (WebCore::TileCache::setScale): |
| (WebCore::TileCache::setAcceleratesDrawing): |
| (WebCore::TileCache::setTileDebugBorderWidth): |
| (WebCore::TileCache::setTileDebugBorderColor): |
| (WebCore::TileCache::revalidateTiles): |
| * platform/graphics/ca/win/PlatformCALayerWin.cpp: |
| (PlatformCALayer::animationStarted): |
| (resubmitAllAnimations): |
| (PlatformCALayer::animationForKey): |
| * platform/graphics/chromium/FontCacheChromiumWin.cpp: |
| (WebCore::LookupAltName): |
| (WebCore::fontContainsCharacter): |
| * platform/graphics/chromium/FontUtilsChromiumWin.cpp: |
| (WebCore::getDerivedFontData): |
| * platform/graphics/filters/CustomFilterGlobalContext.cpp: |
| (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext): |
| (WebCore::CustomFilterGlobalContext::getValidatedProgram): |
| (WebCore::CustomFilterGlobalContext::removeValidatedProgram): |
| * platform/graphics/filters/CustomFilterProgram.cpp: |
| (WebCore::CustomFilterProgram::notifyClients): |
| * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: |
| (WebCore::getCachedHarfbuzzFace): |
| (WebCore::releaseCachedHarfbuzzFace): |
| * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp: |
| (WebCore::HarfBuzzNGFace::HarfBuzzNGFace): |
| (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace): |
| * platform/graphics/mac/SimpleFontDataCoreText.cpp: |
| (WebCore::SimpleFontData::getCFStringAttributes): |
| * platform/graphics/mac/SimpleFontDataMac.mm: |
| (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): |
| * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: |
| (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::compileShader): |
| (WebCore::GraphicsContext3D::mappedSymbolName): |
| (WebCore::GraphicsContext3D::getShaderiv): |
| (WebCore::GraphicsContext3D::getShaderInfoLog): |
| (WebCore::GraphicsContext3D::getShaderSource): |
| * platform/graphics/openvg/EGLDisplayOpenVG.cpp: |
| (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): |
| (WebCore::EGLDisplayOpenVG::destroySurface): |
| (WebCore::EGLDisplayOpenVG::contextForSurface): |
| * platform/graphics/texmap/TextureMapperGL.cpp: |
| (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData): |
| (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData): |
| * platform/graphics/texmap/TextureMapperShaderManager.cpp: |
| (WebCore::TextureMapperShaderManager::getShaderProgram): |
| (WebCore::TextureMapperShaderManager::getShaderForFilter): |
| * platform/graphics/wince/FontPlatformData.cpp: |
| (WebCore::FixedSizeFontData::create): |
| * platform/gtk/DataObjectGtk.cpp: |
| (WebCore::DataObjectGtk::forClipboard): |
| * platform/gtk/GtkDragAndDropHelper.cpp: |
| (WebCore::GtkDragAndDropHelper::handleGetDragData): |
| (WebCore::GtkDragAndDropHelper::handleDragLeave): |
| (WebCore::GtkDragAndDropHelper::handleDragMotion): |
| (WebCore::GtkDragAndDropHelper::handleDragDataReceived): |
| (WebCore::GtkDragAndDropHelper::handleDragDrop): |
| * platform/gtk/RedirectedXCompositeWindow.cpp: |
| (WebCore::filterXDamageEvent): |
| * platform/gtk/RenderThemeGtk3.cpp: |
| (WebCore::gtkStyleChangedCallback): |
| (WebCore::getStyleContext): |
| * platform/mac/ScrollbarThemeMac.mm: |
| (+[WebScrollbarPrefsObserver appearancePrefsChanged:]): |
| * platform/network/CredentialStorage.cpp: |
| (WebCore::CredentialStorage::set): |
| (WebCore::CredentialStorage::get): |
| * platform/network/HTTPHeaderMap.cpp: |
| (WebCore::HTTPHeaderMap::copyData): |
| (WebCore::HTTPHeaderMap::get): |
| * platform/network/MIMEHeader.cpp: |
| (WebCore::MIMEHeader::parseHeader): |
| * platform/network/ResourceHandle.cpp: |
| (WebCore::ResourceHandle::create): |
| * platform/network/ResourceRequestBase.cpp: |
| (WebCore::ResourceRequestBase::addHTTPHeaderField): |
| (WebCore::ResourceRequestBase::addHTTPHeaderFields): |
| * platform/network/blackberry/ResourceRequestBlackBerry.cpp: |
| (WebCore::ResourceRequest::targetTypeFromMimeType): |
| (WebCore::ResourceRequest::initializePlatformRequest): |
| * platform/network/cf/ResourceHandleCFNet.cpp: |
| (WebCore::makeFinalRequest): |
| * platform/network/cf/ResourceRequestCFNet.cpp: |
| (WebCore::setHeaderFields): |
| * platform/network/curl/ResourceHandleManager.cpp: |
| (WebCore::ResourceHandleManager::initializeHandle): |
| * platform/network/mac/ResourceRequestMac.mm: |
| (WebCore::ResourceRequest::doUpdatePlatformRequest): |
| * platform/network/qt/ResourceRequestQt.cpp: |
| (WebCore::ResourceRequest::toNetworkRequest): |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::sendRequestCallback): |
| (WebCore::ResourceHandle::setClientCertificate): |
| * platform/network/soup/ResourceRequestSoup.cpp: |
| (WebCore::ResourceRequest::updateSoupMessage): |
| (WebCore::ResourceRequest::toSoupMessage): |
| * platform/network/soup/ResourceResponseSoup.cpp: |
| (WebCore::ResourceResponse::toSoupMessage): |
| * platform/network/win/ResourceHandleWin.cpp: |
| (WebCore::ResourceHandle::start): |
| * platform/qt/RunLoopQt.cpp: |
| (WebCore::RunLoop::TimerBase::timerFired): |
| * platform/text/LocaleToScriptMappingDefault.cpp: |
| (WebCore::scriptNameToCode): |
| (WebCore::localeToScriptCodeForFontSelection): |
| * platform/text/TextEncodingRegistry.cpp: |
| (WebCore::pruneBlacklistedCodecs): |
| (WebCore::dumpTextEncodingNameMap): |
| * platform/text/transcoder/FontTranscoder.cpp: |
| (WebCore::FontTranscoder::converterType): |
| * platform/text/win/TextCodecWin.cpp: |
| (WebCore::LanguageManager::LanguageManager): |
| (WebCore::getCodePage): |
| (WebCore::TextCodecWin::registerExtendedEncodingNames): |
| (WebCore::TextCodecWin::registerExtendedCodecs): |
| (WebCore::TextCodecWin::enumerateSupportedEncodings): |
| * platform/win/ClipboardUtilitiesWin.cpp: |
| (WebCore::getDataMapItem): |
| (WebCore::getClipboardData): |
| (WebCore::setClipboardData): |
| * platform/win/ClipboardWin.cpp: |
| (WebCore::ClipboardWin::types): |
| * platform/win/FileSystemWin.cpp: |
| (WebCore::cachedStorageDirectory): |
| * platform/win/RunLoopWin.cpp: |
| (WebCore::RunLoop::TimerBase::timerFired): |
| * platform/win/WCDataObject.cpp: |
| (WebCore::WCDataObject::createInstance): |
| * platform/wince/MIMETypeRegistryWinCE.cpp: |
| (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): |
| * platform/wx/ContextMenuWx.cpp: |
| (WebCore::ContextMenu::appendItem): |
| * plugins/PluginDatabase.cpp: |
| (WebCore::PluginDatabase::refresh): |
| (WebCore::PluginDatabase::MIMETypeForExtension): |
| (WebCore::PluginDatabase::remove): |
| * plugins/PluginMainThreadScheduler.cpp: |
| (WebCore::PluginMainThreadScheduler::scheduleCall): |
| (WebCore::PluginMainThreadScheduler::dispatchCalls): |
| * plugins/PluginStream.cpp: |
| (WebCore::PluginStream::startStream): |
| * plugins/blackberry/PluginDataBlackBerry.cpp: |
| (WebCore::PluginData::initPlugins): |
| * plugins/wx/PluginDataWx.cpp: |
| (WebCore::PluginData::initPlugins): |
| * rendering/ExclusionShapeInsideInfo.cpp: |
| (WebCore::ExclusionShapeInsideInfo::ensureExclusionShapeInsideInfoForRenderBlock): |
| * rendering/FlowThreadController.cpp: |
| (WebCore::FlowThreadController::unregisterNamedFlowContentNode): |
| * rendering/InlineFlowBox.cpp: |
| (WebCore::InlineFlowBox::requiresIdeographicBaseline): |
| (WebCore::InlineFlowBox::addTextBoxVisualOverflow): |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::clearFloats): |
| * rendering/RenderBlockLineLayout.cpp: |
| (WebCore::setLogicalWidthForTextRun): |
| * rendering/RenderBoxModelObject.cpp: |
| (WebCore::ImageQualityController::highQualityRepaintTimerFired): |
| (WebCore::ImageQualityController::shouldPaintAtLowQuality): |
| * rendering/RenderCounter.cpp: |
| (WebCore::RenderCounter::destroyCounterNodes): |
| (WebCore::RenderCounter::destroyCounterNode): |
| (WebCore::updateCounters): |
| (WebCore::RenderCounter::rendererStyleChanged): |
| * rendering/RenderFlowThread.cpp: |
| (WebCore::RenderFlowThread::setRegionRangeForBox): |
| (WebCore::RenderFlowThread::getRegionRangeForBox): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paint): |
| (WebCore::performOverlapTests): |
| * rendering/RenderLayerFilterInfo.cpp: |
| (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer): |
| (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded): |
| * rendering/RenderNamedFlowThread.cpp: |
| (WebCore::RenderNamedFlowThread::dependsOn): |
| (WebCore::RenderNamedFlowThread::pushDependencies): |
| * rendering/RenderRegion.cpp: |
| (WebCore::RenderRegion::setRenderBoxRegionInfo): |
| (WebCore::RenderRegion::setRegionObjectsRegionStyle): |
| (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle): |
| (WebCore::RenderRegion::computeChildrenStyleInRegion): |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::cachedCollapsedBorder): |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::systemColor): |
| * rendering/RenderView.cpp: |
| (WebCore::RenderView::selectionBounds): |
| (WebCore::RenderView::setSelection): |
| * rendering/RenderWidget.cpp: |
| (WebCore::WidgetHierarchyUpdatesSuspensionScope::moveWidgets): |
| * rendering/RootInlineBox.cpp: |
| (WebCore::RootInlineBox::ascentAndDescentForBox): |
| * rendering/VerticalPositionCache.h: |
| (WebCore::VerticalPositionCache::get): |
| * rendering/svg/RenderSVGInlineText.cpp: |
| (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): |
| * rendering/svg/RenderSVGResourceFilter.cpp: |
| (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): |
| * rendering/svg/RenderSVGResourceGradient.cpp: |
| (WebCore::RenderSVGResourceGradient::applyResource): |
| * rendering/svg/RenderSVGResourcePattern.cpp: |
| (WebCore::RenderSVGResourcePattern::applyResource): |
| * rendering/svg/SVGResourcesCache.cpp: |
| (WebCore::SVGResourcesCache::resourceDestroyed): |
| * rendering/svg/SVGRootInlineBox.cpp: |
| (WebCore::swapItemsInLayoutAttributes): |
| * rendering/svg/SVGTextLayoutAttributes.cpp: |
| (WebCore::SVGTextLayoutAttributes::dump): |
| * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: |
| (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap): |
| (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap): |
| * rendering/svg/SVGTextLayoutEngine.cpp: |
| (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): |
| * rendering/svg/SVGTextMetricsBuilder.cpp: |
| (WebCore::SVGTextMetricsBuilder::measureTextRenderer): |
| * storage/StorageAreaSync.cpp: |
| (WebCore::StorageAreaSync::syncTimerFired): |
| (WebCore::StorageAreaSync::performImport): |
| (WebCore::StorageAreaSync::sync): |
| * storage/StorageMap.cpp: |
| (WebCore::StorageMap::key): |
| (WebCore::StorageMap::setItem): |
| * storage/StorageNamespaceImpl.cpp: |
| (WebCore::StorageNamespaceImpl::localStorageNamespace): |
| (WebCore::StorageNamespaceImpl::copy): |
| (WebCore::StorageNamespaceImpl::close): |
| (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion): |
| (WebCore::StorageNamespaceImpl::sync): |
| * svg/SVGDocumentExtensions.cpp: |
| (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): |
| (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): |
| (WebCore::SVGDocumentExtensions::addPendingResource): |
| (WebCore::SVGDocumentExtensions::isElementPendingResources): |
| (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): |
| (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): |
| (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): |
| (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): |
| * svg/SVGElement.cpp: |
| (WebCore::SVGElement::~SVGElement): |
| * svg/animation/SMILTimeContainer.cpp: |
| (WebCore::SMILTimeContainer::setElapsed): |
| (WebCore::SMILTimeContainer::updateAnimations): |
| * svg/graphics/SVGImageCache.cpp: |
| (WebCore::SVGImageCache::~SVGImageCache): |
| (WebCore::SVGImageCache::removeClientFromCache): |
| (WebCore::SVGImageCache::requestedSizeAndScales): |
| (WebCore::SVGImageCache::imageContentChanged): |
| (WebCore::SVGImageCache::redraw): |
| (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer): |
| * svg/graphics/filters/SVGFilterBuilder.h: |
| (WebCore::SVGFilterBuilder::effectReferences): |
| (WebCore::SVGFilterBuilder::addBuiltinEffects): |
| * svg/properties/SVGAnimatedProperty.h: |
| (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty): |
| * svg/properties/SVGAttributeToPropertyMap.cpp: |
| (WebCore::SVGAttributeToPropertyMap::addProperties): |
| (WebCore::SVGAttributeToPropertyMap::synchronizeProperties): |
| * workers/WorkerContext.cpp: |
| (WebCore::WorkerContext::hasPendingActivity): |
| * workers/WorkerEventQueue.cpp: |
| (WebCore::WorkerEventQueue::close): |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::setRequestHeaderInternal): |
| (WebCore::XMLHttpRequest::getAllResponseHeaders): |
| * xml/XPathFunctions.cpp: |
| (WebCore::XPath::createFunction): |
| * xml/XPathParser.cpp: |
| (isAxisName): |
| * xml/XSLTProcessorLibxslt.cpp: |
| (WebCore::xsltParamArrayFromParameterMap): |
| * xml/XSLTProcessorQt.cpp: |
| (WebCore::XSLTProcessor::transformToString): |
| |
| 2012-10-07 Geoffrey Garen <ggaren@apple.com> |
| |
| REGRESSION (r130584): Crashes in JSC::MarkedAllocator::allocateSlowCase, failing fast/dom/gc-dom-tree-lifetime.html |
| https://bugs.webkit.org/show_bug.cgi?id=98612 |
| |
| Reviewed by Darin Adler. |
| |
| Since DOM modification can happen outside of JS, calls into JS due to |
| DOM modification need to take the JS lock. |
| |
| * bindings/js/JSNodeCustom.cpp: |
| (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): Take the JS |
| lock before doing a JS allocation, since this may be a JS entrypoint. |
| |
| * bindings/js/JSNodeCustom.h: |
| (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Split out a slow case |
| to help the inliner. |
| |
| 2012-10-07 Nick Carter <nick@chromium.org> |
| |
| [chromium] Crash in WebCore::GraphicsLayerChromium::setContentsToImage |
| https://bugs.webkit.org/show_bug.cgi?id=98456 |
| |
| Reviewed by James Robinson. |
| |
| Handle null return of nativeImageForCurrentFrame. |
| |
| Test: compositing/images/truncated-direct-png-image.html |
| |
| * platform/graphics/chromium/GraphicsLayerChromium.cpp: |
| (WebCore::GraphicsLayerChromium::setContentsToImage): |
| |
| 2012-10-07 Benjamin Poulain <benjamin@webkit.org> |
| |
| WTFURL: implement URL port removal for HTMLAnchorElement |
| https://bugs.webkit.org/show_bug.cgi?id=98604 |
| |
| Reviewed by Adam Barth. |
| |
| * platform/KURLWTFURL.cpp: |
| (WebCore::KURL::hasPort): |
| (WebCore::KURL::removePort): |
| (WebCore::KURL::isHierarchical): |
| Implement those methods to pass the port removal test of HTMLAnchorElement. |
| |
| 2012-10-05 Dirk Schulze <krit@webkit.org> |
| |
| SVG radialGradient should support 'fr' for focal radius (just like Canvas) |
| https://bugs.webkit.org/show_bug.cgi?id=97986 |
| |
| Reviewed by Daniel Bates. |
| |
| Update SVGRadialGradient to the changed behavior in SVG2: http://www.w3.org/TR/SVG2/pservers.html#RadialGradients |
| SVG2 adds the focal radius for radial gradients. Color stops will start from the edge of |
| the focal radius. |
| The new specification does not limit the focal point to be inside the radial gradients radius. |
| This makes SVGRadialGradient consistent with the radial gradient on Canvas. |
| |
| Test: svg/custom/radialGradient-focal-radius.svg |
| |
| * rendering/svg/RenderSVGResourceRadialGradient.cpp: |
| Remove checks for position of focal point. The focal point |
| can be placed every where outside the radius of the gradient now. |
| (WebCore::RenderSVGResourceRadialGradient::focalRadius): |
| Add new method to get the focal radius from SVGRadialGradientElement. |
| (WebCore::RenderSVGResourceRadialGradient::buildGradient): |
| * rendering/svg/RenderSVGResourceRadialGradient.h: |
| (RenderSVGResourceRadialGradient): |
| * rendering/svg/SVGRenderTreeAsText.cpp: |
| (WebCore::writeSVGResourceContainer): |
| Modify DRT output to include the focal radius. |
| * svg/RadialGradientAttributes.h: |
| (WebCore::RadialGradientAttributes::RadialGradientAttributes): |
| (WebCore::RadialGradientAttributes::fr): |
| (WebCore::RadialGradientAttributes::setFr): |
| (WebCore::RadialGradientAttributes::hasFr): |
| (RadialGradientAttributes): |
| New setters and getters for focal radius. |
| * svg/SVGRadialGradientElement.cpp: |
| (WebCore): |
| (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): |
| (WebCore::SVGRadialGradientElement::isSupportedAttribute): |
| (WebCore::SVGRadialGradientElement::parseAttribute): |
| (WebCore::SVGRadialGradientElement::collectGradientAttributes): |
| (WebCore::SVGRadialGradientElement::selfHasRelativeLengths): |
| Ditto. |
| * svg/SVGRadialGradientElement.h: |
| (SVGRadialGradientElement): |
| * svg/SVGRadialGradientElement.idl: |
| * svg/svgattrs.in: |
| Add 'fr' as new attribute to the SVG attribute list. |
| |
| 2012-10-07 Glenn Adams <glenn@skynav.com> |
| |
| Use start instead of -webkit-auto in default and quirks mode stylesheets. |
| https://bugs.webkit.org/show_bug.cgi?id=98609 |
| |
| Reviewed by Antti Koivisto. |
| |
| Change text-align use of legacy '-webkit-auto' to 'start' in the few places where it is used |
| in default/quirks stylesheets. |
| |
| No new tests. No change of rendering/styling behavior. No performance impact. |
| |
| * css/html.css: |
| (input, textarea, keygen, select, button, isindex): |
| (ruby > rt): |
| * css/quirks.css: |
| (table): |
| |
| 2012-10-06 Raul Hudea <rhudea@adobe.com> |
| |
| -webkit-clip-path should parse IRIs |
| https://bugs.webkit.org/show_bug.cgi?id=96381 |
| |
| Reviewed by Andreas Kling. |
| |
| Implemented the clipping via referencing a SVG clipPath. Currently it works only if the clipPath is defined |
| before using it on an HTML element. The forward reference issue is tracked via https://bugs.webkit.org/show_bug.cgi?id=90405. |
| |
| Tests: css3/masking/clip-path-reference-userSpaceOnUse.html |
| css3/masking/clip-path-reference.html |
| fast/masking/parsing-clip-path-iri.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add handling for SVG clipPath references. |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::parseValue): Add handling for SVG clipPath references. |
| * css/StyleBuilder.cpp: |
| (WebCore::ApplyPropertyClipPath::applyValue): Add handling for SVG references. |
| * rendering/ClipPathOperation.h: |
| (ReferenceClipPathOperation): Added a new class corresponding to SVG referenced clipPath. |
| (WebCore::ReferenceClipPathOperation::create): |
| (WebCore::ReferenceClipPathOperation::url): |
| (WebCore::ReferenceClipPathOperation::fragment): |
| (WebCore::ReferenceClipPathOperation::operator==): |
| (WebCore::ReferenceClipPathOperation::ReferenceClipPathOperation): |
| (WebCore): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayerContents): Add handling for ReferenceClipPathOperation. |
| * rendering/svg/RenderSVGResourceClipper.h: |
| (RenderSVGResourceClipper): Made applyClippingToContext public as it needs to be called directly for HTML elements. |
| |
| 2012-10-06 Pratik Solanki <psolanki@apple.com> |
| |
| Reduce calls to CGImageSourceCopyPropertiesAtIndex from frameSizeAtIndex |
| https://bugs.webkit.org/show_bug.cgi?id=98607 |
| |
| Reviewed by Dan Bernstein. |
| |
| Refactor code so that we avoid a second call to CGImageSourceCopyPropertiesAtIndex under |
| ImageSource::frameSizeAtIndex(). |
| |
| No new tests because no functional change. |
| |
| * platform/graphics/cg/ImageSourceCG.cpp: |
| (WebCore::orientationFromProperties): |
| (WebCore): |
| (WebCore::ImageSource::frameSizeAtIndex): |
| (WebCore::ImageSource::orientationAtIndex): |
| |
| 2012-10-06 Mark Rowe <mrowe@apple.com> |
| |
| Build fix. |
| |
| Stop calling -[NSSliderCell setTitle:]. It's never done anything on OS X. |
| |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::sliderThumbHorizontal): |
| (WebCore::RenderThemeMac::sliderThumbVertical): |
| |
| 2012-10-06 Andreas Kling <kling@webkit.org> |
| |
| Clipboard::types() should return an ordered collection. |
| <http://webkit.org/b/98547> |
| |
| Reviewed by Darin Adler. |
| |
| Let Clipboard::types() return a ListHashSet<String> instead of a HashSet<String> to make sure |
| it retains the order in which type strings are added. |
| |
| No test, this fixes an issue that was uncovered when lowering the default table size of WTF |
| hash tables, causing the HashSet<String> to rehash and reorder itself. |
| |
| * bindings/js/JSClipboardCustom.cpp: |
| (WebCore::JSClipboard::types): |
| * bindings/v8/custom/V8ClipboardCustom.cpp: |
| (WebCore::V8Clipboard::typesAccessorGetter): |
| * dom/Clipboard.h: |
| (Clipboard): |
| * platform/blackberry/ClipboardBlackBerry.cpp: |
| (WebCore::ClipboardBlackBerry::types): |
| * platform/blackberry/ClipboardBlackBerry.h: |
| (ClipboardBlackBerry): |
| * platform/chromium/ChromiumDataObject.cpp: |
| (WebCore::ChromiumDataObject::types): |
| * platform/chromium/ChromiumDataObject.h: |
| (ChromiumDataObject): |
| * platform/chromium/ClipboardChromium.cpp: |
| (WebCore::ClipboardChromium::types): |
| * platform/chromium/ClipboardChromium.h: |
| (ClipboardChromium): |
| * platform/efl/ClipboardEfl.cpp: |
| (WebCore::ClipboardEfl::types): |
| * platform/efl/ClipboardEfl.h: |
| (ClipboardEfl): |
| * platform/gtk/ClipboardGtk.cpp: |
| (WebCore::ClipboardGtk::types): |
| * platform/gtk/ClipboardGtk.h: |
| (ClipboardGtk): |
| * platform/mac/ClipboardMac.h: |
| (ClipboardMac): |
| * platform/mac/ClipboardMac.mm: |
| (WebCore::addHTMLClipboardTypesForCocoaType): |
| (WebCore::ClipboardMac::types): |
| * platform/qt/ClipboardQt.cpp: |
| (WebCore::ClipboardQt::types): |
| * platform/qt/ClipboardQt.h: |
| (ClipboardQt): |
| * platform/win/ClipboardWin.cpp: |
| (WebCore::addMimeTypesForFormat): |
| (WebCore::ClipboardWin::types): |
| * platform/win/ClipboardWin.h: |
| (ClipboardWin): |
| * platform/wx/ClipboardWx.cpp: |
| (WebCore::ClipboardWx::types): |
| * platform/wx/ClipboardWx.h: |
| (ClipboardWx): |
| |
| 2012-10-06 Geoffrey Garen <ggaren@apple.com> |
| |
| If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive |
| https://bugs.webkit.org/show_bug.cgi?id=88834 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Follow-up patch to address some comments by Darin Adler. |
| |
| * bindings/js/JSNodeCustom.h: |
| (WebCore::willCreatePossiblyOrphanedTreeByRemoval): Save some space by |
| collapsing comment lines. Use Node::hasChildNodes() for brevity. |
| |
| 2012-10-06 Benjamin Poulain <benjamin@webkit.org> |
| |
| Fix weird use of KURL's protocolIs |
| https://bugs.webkit.org/show_bug.cgi?id=98584 |
| |
| Reviewed by Adam Barth. |
| |
| Converting a KURL to string is a bad idea. |
| |
| Invalid URLs can return a string that pass the tests, while an |
| invalid URL will fail protocolIs(). |
| |
| * loader/cache/CachedResource.cpp: |
| (WebCore::CachedResource::removeClient): |
| * platform/graphics/MediaPlayer.cpp: |
| (WebCore::MediaPlayer::load): |
| * platform/network/DataURL.cpp: |
| (WebCore::handleDataURL): |
| |
| 2012-10-06 Dan Bernstein <mitz@apple.com> |
| |
| WebCore part of <rdar://problem/12446507> [mac] WebKit clients cannot change the behavior of text-rendering: auto |
| https://bugs.webkit.org/show_bug.cgi?id=98601 |
| |
| Reviewed by Darin Adler. |
| |
| * WebCore.exp.in: Exported Font::setDefaultTypesettingFeatures(). |
| * platform/graphics/Font.cpp: |
| (WebCore::Font::s_defaultTypesettingFeatures): Defined this static. |
| (WebCore::Font::setDefaultTypesettingFeatures): Added this setter. |
| (WebCore::Font::defaultTypesettingFeatures): Added this getter. |
| * platform/graphics/Font.h: |
| (WebCore::Font::typesettingFeatures): Changed to use the value of the new static member |
| s_defaultTypesettingFeatures, rather than 0, if text-redering is set to auto. |
| |
| 2012-10-04 Geoffrey Garen <ggaren@apple.com> |
| |
| If Node X is reachable from JavaScript, all Nodes in the same tree should be kept alive |
| https://bugs.webkit.org/show_bug.cgi?id=88834 |
| |
| Reviewed by Gavin Barraclough. |
| |
| * bindings/js/JSNodeCustom.cpp: |
| (WebCore::isObservable): Clarified this comment, since it seems to have |
| misled some folks. |
| |
| * bindings/js/JSNodeCustom.h: |
| (WebCore::willCreatePossiblyOrphanedTreeByRemoval): New helper function |
| to ensure that a disconnected tree is visible to JavaScript. |
| |
| * bindings/js/ScriptState.cpp: |
| (WebCore::mainWorldScriptState): Need to check for null because a document's |
| frame can be null. |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::dispatchChildRemovalEvents): When we remove a subtree from the |
| document, we sever the reference that JavaScript previously held by |
| referencing its root. So, we give JavaScript an opportunity to establish |
| a reference to the new root. |
| |
| 2012-10-06 Byungwoo Lee <bw80.lee@samsung.com> |
| |
| Fix build warning : -Wunused-parameter. |
| https://bugs.webkit.org/show_bug.cgi?id=98583 |
| |
| Reviewed by Kentaro Hara. |
| |
| Use ASSERT_UNUSED() macro to remove build warning. |
| |
| * plugins/PluginStream.cpp: |
| (WebCore::PluginStream::delayDeliveryTimerFired): |
| (WebCore::PluginStream::didReceiveResponse): |
| (WebCore::PluginStream::didReceiveData): |
| (WebCore::PluginStream::didFail): |
| (WebCore::PluginStream::didFinishLoading): |
| * plugins/PluginView.cpp: |
| (WebCore::PluginView::requestTimerFired): |
| (WebCore::PluginView::invalidateTimerFired): |
| |
| 2012-10-05 Adam Barth <abarth@webkit.org> |
| |
| [V8] toV8(Node*, ...) does more work than needed (6% faster on dom-traverse) |
| https://bugs.webkit.org/show_bug.cgi?id=98567 |
| |
| Reviewed by Kentaro Hara. |
| |
| This patch introduces toV8Fast for Node*. This function works a |
| differently from the existing toV8 function in two ways: |
| |
| 1) It uses the inline wrapper cache in Node to determine if we're |
| executing in the main world. This is faster both in the case when |
| isolated worlds exist because we don't need to retrieve any state |
| for the current context. |
| |
| 2) It doesn't attempt to inline the hash table lookup used to find the |
| wrapper in the isolated world. There isn't a big need to inline this |
| code since performance in the isolated world case is dominated by |
| the hash table lookup. |
| |
| Because of these two changes, toV8Fast is small enough to inline into |
| each attribute getter profitably. Over time, I would like to convert |
| all the performance critical uses of toV8(Node*) to toV8Fast. At that |
| point, we can delete toV8 and rename toV8Slow to toV8. |
| |
| * bindings/scripts/CodeGeneratorV8.pm: |
| (GenerateHeader): |
| (GenerateNormalAttrGetter): |
| |
| 2012-10-05 Huang Dongsung <luxtella@company100.net> |
| |
| [mac] REGRESSION (r122215): Animated GIF outside the viewport doesn't play when scrolled into view. |
| https://bugs.webkit.org/show_bug.cgi?id=94874 |
| |
| Reviewed by Simon Fraser. |
| |
| Rollback previous patch because this patch caused two problems. |
| 1. GIF animation is occasionally paused when tiled scrolling is enabled. |
| 2. This change regressed Apple's Membuster benchmark by ~20% (80MB.) |
| |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::shouldPauseAnimation): |
| * loader/cache/CachedImage.h: |
| (CachedImage): |
| * loader/cache/CachedResource.h: |
| * loader/cache/MemoryCache.cpp: |
| (WebCore::MemoryCache::pruneLiveResourcesToSize): |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::willRenderImage): |
| |
| 2012-10-05 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| OpenTypeVerticalData issue with DroidSansFallback.ttf on chromium-android and chromium-linux |
| https://bugs.webkit.org/show_bug.cgi?id=97824 |
| |
| Reviewed by Tony Chang. |
| |
| The issue occurred when a font that contains vert GSUB table but doesn't have |
| a DFLT script and the first script doesn't have vert feature. Added logic to |
| handle the case. |
| |
| Test: fast/writing-mode/vertical-subst-font-vert-no-dflt.html |
| |
| * platform/graphics/opentype/OpenTypeVerticalData.cpp: |
| (FeatureList): |
| (WebCore::OpenType::FeatureList::findFeature): Added to find the matching feature in FeatureList. |
| (WebCore::OpenType::GSUBTable::feature): Added logic to handle the case of no DFLT script and no vert feature under the first script. |
| |
| 2012-10-05 Tony Chang <tony@chromium.org> |
| |
| Form controls should always be horizontal |
| https://bugs.webkit.org/show_bug.cgi?id=98563 |
| |
| Reviewed by Ojan Vafai. |
| |
| Fix a regression where we didn't force form controls to be horizontal. |
| |
| Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html |
| fast/dom/HTMLProgressElement/progress-writing-mode.html |
| fast/table/colspanMinWidth-vertical.html |
| |
| * css/html.css: |
| (input, textarea, keygen, select, button, isindex, meter, progress): |
| |
| 2012-10-05 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r130556 and r130564. |
| http://trac.webkit.org/changeset/130556 |
| http://trac.webkit.org/changeset/130564 |
| https://bugs.webkit.org/show_bug.cgi?id=98572 |
| |
| The patch wasn't reviewed by a reviewer and it is breaking |
| Chromium Windows (Requested by jchaffraix on #webkit). |
| |
| * WebCore.exp.in: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/mediaControls.css: |
| (video::-webkit-media-text-track-container): |
| (video::-webkit-media-text-track-past-nodes): |
| (video::-webkit-media-text-track-future-nodes): |
| (video::-webkit-media-text-track-display): |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): |
| (WebCore::HTMLMediaElement::attach): |
| (WebCore::HTMLMediaElement::userIsInterestedInThisLanguage): |
| (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): |
| (WebCore::HTMLMediaElement::setClosedCaptionsVisible): |
| (WebCore::HTMLMediaElement::updateClosedCaptionsControls): |
| * html/HTMLMediaElement.h: |
| (HTMLMediaElement): |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore): |
| (WebCore::MediaControlTextTrackContainerElement::updateSizes): |
| * html/shadow/MediaControlElements.h: |
| (MediaControlTextTrackContainerElement): |
| * html/shadow/MediaControlRootElement.cpp: |
| (WebCore::MediaControlRootElement::updateTextTrackDisplay): |
| * html/shadow/MediaControlRootElement.h: |
| (MediaControlRootElement): |
| * html/shadow/MediaControls.h: |
| (MediaControls): |
| * html/track/TextTrack.cpp: |
| (WebCore::TextTrack::TextTrack): |
| (WebCore::TextTrack::isValidKindKeyword): |
| (WebCore::TextTrack::setKind): |
| (WebCore::TextTrack::setMode): |
| (WebCore::TextTrack::mode): |
| * html/track/TextTrack.h: |
| (WebCore::TextTrack::create): |
| (WebCore::TextTrack::kind): |
| (TextTrack): |
| (WebCore::TextTrack::label): |
| (WebCore::TextTrack::setLabel): |
| (WebCore::TextTrack::language): |
| (WebCore::TextTrack::setLanguage): |
| * html/track/TextTrackCue.cpp: |
| (WebCore::TextTrackCueBox::TextTrackCueBox): |
| (WebCore::TextTrackCueBox::shadowPseudoId): |
| (WebCore): |
| (WebCore::TextTrackCue::updateDisplayTree): |
| * html/track/TextTrackCue.h: |
| (TextTrackCueBox): |
| (TextTrackCue): |
| * platform/mac/WebCoreSystemInterface.h: |
| * platform/mac/WebCoreSystemInterface.mm: |
| * rendering/CaptionPreferencesChangedListener.h: Removed. |
| * rendering/RenderTheme.h: |
| (WebCore): |
| (RenderTheme): |
| * rendering/RenderThemeMac.h: |
| (RenderThemeMac): |
| * rendering/RenderThemeMac.mm: |
| (WebCore): |
| (WebCore::RenderThemeMac::RenderThemeMac): |
| (WebCore::RenderThemeMac::~RenderThemeMac): |
| |
| 2012-10-05 Tim Horton <timothy_horton@apple.com> |
| |
| [cg] GraphicsContextCG should ask CG whether the shadow offset workaround is required |
| https://bugs.webkit.org/show_bug.cgi?id=98565 |
| <rdar://problem/12436468> |
| |
| Reviewed by Simon Fraser. |
| |
| On Mountain Lion and above, CG can tell us whether we need to work around incorrect |
| shadow offsets. Prior to Mountain Lion, we should assume we need to apply the workaround. |
| |
| No new tests, as this requires an obscure configuration to test. |
| |
| * WebCore.exp.in: |
| * platform/graphics/cg/GraphicsContextCG.cpp: |
| (WebCore::applyShadowOffsetWorkaroundIfNeeded): |
| (WebCore::GraphicsContext::setPlatformShadow): |
| * platform/mac/WebCoreSystemInterface.h: Add wkCGContextDrawsWithCorrectShadowOffsets. |
| * platform/mac/WebCoreSystemInterface.mm: Add wkCGContextDrawsWithCorrectShadowOffsets. |
| |
| 2012-10-05 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the build. |
| |
| * rendering/RenderThemeMac.mm: |
| (WebCore::RenderThemeMac::captionsWindowColor): |
| |
| 2012-10-05 Eric Seidel <eric@webkit.org> |
| |
| Remove needless virtual calls and inline RenderStyle::logical* to make table layout faster |
| https://bugs.webkit.org/show_bug.cgi?id=98550 |
| |
| Reviewed by Andreas Kling. |
| |
| This shaved another 5% (100ms) off of the runtime of resizecol.html microbenchmark: |
| http://www.robohornet.org/tests/resizecol.html |
| |
| * rendering/AutoTableLayout.cpp: |
| (WebCore::AutoTableLayout::recalcColumn): |
| * rendering/style/RenderStyle.cpp: |
| * rendering/style/RenderStyle.h: |
| |
| 2012-10-04 Eric Carlson <eric.carlson@apple.com> |
| |
| Allow ports to override text track rendering style |
| https://bugs.webkit.org/show_bug.cgi?id=97800 |
| <rdar://problem/12044964> |
| |
| Reviewed by Silvia Pfeiffer. |
| |
| * WebCore.exp.in: Export new WebkitSystemInterface functions. |
| * WebCore.xcodeproj/project.pbxproj: Add CaptionPreferencesChangedListener.h. |
| |
| * css/mediaControls.css: Rearrange the caption CSS so it is possible to style the cue window, |
| background, and text independently. |
| |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_disableCaptions with theme->userPrefersCaptions(). |
| (WebCore::HTMLMediaElement::attach): Register for caption preferences change callbacks. |
| (WebCore::HTMLMediaElement::detach): Unregister for caption preferences change callbacks. |
| (WebCore::HTMLMediaElement::userPrefersCaptions): Return theme->userPrefersCaptions(). |
| (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Consider userPrefersCaptions(). |
| (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Move the code that marks all tracks as |
| un-configured to markCaptionAndSubtitleTracksAsUnconfigured so it can be reused. |
| (WebCore::HTMLMediaElement::captionPreferencesChanged): New, force a reevaluation of all text tracks. |
| (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): New, code moved from |
| setClosedCaptionsVisible |
| * html/HTMLMediaElement.h: Inherit from CaptionPreferencesChangedListener. |
| |
| * html/shadow/MediaControlElements.cpp: |
| (WebCore::MediaControlTextTrackContainerElement::userCaptionPreferencesChanged): New, if theme |
| has a captions style sheet override, inject it into the current page group, otherwise |
| remove injected sheet. |
| (WebCore::MediaControlTextTrackContainerElement::updateSizes): Get rid of unnecessary member |
| variable. Get caption font scale from theme instead of hard coding. |
| * html/shadow/MediaControlElements.h: |
| |
| * html/shadow/MediaControlRootElement.cpp: |
| (WebCore::MediaControlRootElement::userCaptionPreferencesChanged): New. |
| (WebCore::MediaControlRootElement::updateTextTrackDisplay): |
| * html/shadow/MediaControlRootElement.h: Add userCaptionPreferencesChanged, minor cleanup. |
| |
| * html/shadow/MediaControls.h: |
| (WebCore::MediaControls::userCaptionPreferencesChanged): New. |
| |
| * html/track/TextTrackCue.cpp: |
| (WebCore::TextTrackCueBox::TextTrackCueBox): Set the shadow pseudo id. |
| (WebCore::TextTrackCueBox::textTrackCueBoxShadowPseudoId): New, class method to return the |
| shadow pseudo id so it can be used elsewhere. |
| (WebCore::TextTrackCueBox::shadowPseudoId): Call textTrackCueBoxShadowPseudoId. |
| (WebCore::TextTrackCue::pastNodesShadowPseudoId): New, class method to return the |
| shadow pseudo id so it can be used elsewhere. |
| (WebCore::TextTrackCue::futureNodesShadowPseudoId): Ditto. |
| (WebCore::TextTrackCue::updateDisplayTree): |
| * html/track/TextTrackCue.h: |
| |
| * platform/mac/WebCoreSystemInterface.h: Updated. |
| * platform/mac/WebCoreSystemInterface.mm: Ditto. |
| |
| * rendering/CaptionPreferencesChangedListener.h: Added. |
| |
| * rendering/RenderTheme.h: |
| (WebCore::RenderTheme::userPrefersCaptions): New, default do-nothing implementation. |
| (WebCore::RenderTheme::userHasCaptionPreferences): Ditto. |
| (WebCore::RenderTheme::captionFontSizeScale): Ditto. |
| (WebCore::RenderTheme::captionsStyleSheetOverride): Ditto. |
| (WebCore::RenderTheme::registerForCaptionPreferencesChangedCallbacks): Ditto. |
| (WebCore::RenderTheme::unregisterForCaptionPreferencesChangedCallbacks): Ditto. |
| |
| * rendering/RenderThemeMac.h: |
| * rendering/RenderThemeMac.mm: |
| (WebCore::userCaptionPreferencesChangedNotificationCallback): New, receives preference changed notifications. |
| (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_listeningForCaptionPreferenceNotifications. |
| (WebCore::RenderThemeMac::~RenderThemeMac): Unregister for notifications if necessary. |
| (WebCore::RenderThemeMac::userHasCaptionPreferences): New, passthrough to WKSI function. |
| (WebCore::RenderThemeMac::userPrefersCaptions): Ditto. |
| (WebCore::RenderThemeMac::captionsWindowColor): Return Color with user's caption window color preference. |
| (WebCore::RenderThemeMac::captionsBackgroundColor): Return Color with user's caption |
| background color preference. |
| (WebCore::RenderThemeMac::captionsTextColor): Return Color with user's caption text color preference. |
| (WebCore::RenderThemeMac::captionsEdgeColorForTextColor): Return Color for text edge effect. |
| (WebCore::RenderThemeMac::cssPropertyWithTextEdgeColor): Return String with CSS to set a text-shadow |
| or webkit-text-stroke property. |
| (WebCore::RenderThemeMac::cssColorProperty): Return a String with css to set a property |
| with a color value. |
| (WebCore::RenderThemeMac::captionsTextEdgeStyle): Return a String with css to style caption |
| text with the user's preferred text edge stye. |
| (WebCore::RenderThemeMac::captionsDefaultFont): Return a String with css to style caption |
| text with the user's preferred font. |
| (WebCore::RenderThemeMac::captionsStyleSheetOverride): Return a String with css to style captions |
| with the user's preferred style. |
| (WebCore::RenderThemeMac::captionFontSizeScale): Return the user's preferred caption font scale. |
| (WebCore::RenderThemeMac::captionPreferencesChanged): Notify listeners of caption preference change. |
| (WebCore::RenderThemeMac::registerForCaptionPreferencesChangedCallbacks): Add a caption preferences |
| changes listener. |
| (WebCore::RenderThemeMac::unregisterForCaptionPreferencesChangedCallbacks): Remove a caption preferences |
| changes listener. |
| |
| 2012-10-05 Takashi Sakamoto <tasak@google.com> |
| |
| Inline continuations create :after generated content on style recalcs |
| https://bugs.webkit.org/show_bug.cgi?id=93170 |
| |
| Reviewed by Abhishek Arya. |
| |
| The bug is caused by RenderInline::styleDidChange's setContinuation(0). |
| RenderObjectChildList uses continuation to know whether the given |
| renderer should have AFTER render object or not. |
| However, setContinuation(0) makes RenderObjectChildList to |
| misunderstand that all continuations are last continuation. |
| To avoid the misunderstanding, added a new flag to class |
| RenderObejctChildList to enable/disable updating :after content (and |
| also :before content). |
| |
| Tests: fast/css-generated-content/after-with-inline-continuation.html |
| fast/css-generated-content/dynamic-apply-after-for-inline.html |
| |
| * rendering/RenderInline.cpp: |
| (WebCore::RenderInline::styleDidChange): |
| Disable upating :after content for continuations which are not |
| the last one during setStyle just after setContinuation(0). |
| The setStyle invokes RenderInline::styleDidChange and also invokes |
| updateBeforeAfterContent via the styleDidChange. This means, |
| the last continuation's updateBeforeAfterContent is also invoked |
| after setContinuation(0). We have to update :after for the last |
| continuation. |
| * rendering/RenderObjectChildList.cpp: |
| (WebCore): |
| (WebCore::RenderObjectChildList::updateBeforeAfterContent): |
| If s_updateBeforeAfterContent is false, quickly exit |
| updateBeforeAfterContent. |
| * rendering/RenderObjectChildList.h: |
| (RenderObjectChildList): |
| Added a new flag s_enableUpdateBeforeAfterContent to enable/disable |
| updating :before or :after content. |
| |
| 2012-10-05 Simon Fraser <simon.fraser@apple.com> |
| |
| Don't assume that TileCache layers are opaque |
| https://bugs.webkit.org/show_bug.cgi?id=98555 |
| |
| Reviewed by Dean Jackson. |
| |
| TileCache previously set all its tile CALayers as opaque. |
| However, we will need non-opaque tile caches when we use this |
| tile cache for tiled layers, so add a member function to |
| control tile opacity. |
| |
| RenderLayerBacking already calls m_graphicsLayer->setContentsOpaque() |
| using the FrameView's notion of opaqueness, so this change will |
| cause the main tile cache to be non-opaque if external forces have |
| set the FrameView to be non-opaque. |
| |
| Also tweak the layer border widths on tiled layers. |
| |
| * platform/graphics/ca/mac/TileCache.h: |
| (TileCache): |
| (WebCore::TileCache::tilesAreOpaque): |
| * platform/graphics/ca/mac/TileCache.mm: |
| (WebCore::TileCache::TileCache): |
| (WebCore::TileCache::setTilesOpaque): |
| (WebCore::TileCache::createTileLayer): |
| * platform/graphics/ca/mac/WebTileCacheLayer.mm: |
| (-[WebTileCacheLayer setOpaque:]): |
| (-[WebTileCacheLayer isOpaque]): |
| (-[WebTileCacheLayer setBorderWidth:]): |
| |
| 2012-10-05 Tony Chang <tony@chromium.org> |
| |
| Fix margin box ascent computation in flexbox |
| https://bugs.webkit.org/show_bug.cgi?id=98540 |
| |
| Reviewed by Ojan Vafai. |
| |
| The margin box ascent doesn't depend on the margin below the box. |
| |
| Tests: css3/flexbox/flex-align.html: Fixed a test case and removed a FIXME. |
| css3/flexbox/flex-align-vertical-writing-mode.html: Similar test case. |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::marginBoxAscentForChild): |
| |
| 2012-10-05 Ojan Vafai <ojan@chromium.org> |
| |
| Deprecated flexboxes subtract scrollbar width/height twice |
| https://bugs.webkit.org/show_bug.cgi?id=98552 |
| |
| Reviewed by Tony Chang. |
| |
| This is a regression from http://trac.webkit.org/changeset/119507. |
| The problem is that contentHeight subtracts the scrollbar and |
| RenderDeprecatedFlexbox subtracts the scrollbar. |
| |
| -Make it so that we only access override sizes if one has been set. |
| I think this makes the calling code more clear. |
| -If we don't have one set, grab the height/width - borderAndPadding. |
| -Add a FIXME to change this all back to being borderbox sizes. |
| There's something trick with making table padding/border work right for that |
| though (noted in the original patch). |
| |
| Test: fast/flexbox/flexing-overflow-scroll-item.html |
| |
| * rendering/RenderBox.cpp: |
| (WebCore::RenderBox::overrideLogicalContentWidth): |
| (WebCore::RenderBox::overrideLogicalContentHeight): |
| (WebCore::RenderBox::availableLogicalHeightUsing): |
| * rendering/RenderBox.h: |
| (RenderBox): |
| * rendering/RenderDeprecatedFlexibleBox.cpp: |
| (WebCore::contentWidthForChild): |
| (WebCore): |
| (WebCore::contentHeightForChild): |
| (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): |
| (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): |
| (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex): |
| |
| 2012-10-05 Eric Seidel <eric@webkit.org> |
| |
| Make tables which don't use col/row span much faster to layout |
| https://bugs.webkit.org/show_bug.cgi?id=98221 |
| |
| Reviewed by Julien Chaffraix. |
| |
| My sense is that most tables on webpages do not use colspan/rowspan |
| so I stole another bit from RenderTableCell::m_column to avoid |
| having to re-parse the colSpan/rowSpan attributes for every cell |
| when doing table layout. |
| This made these symbols disappear from biggrid.html/redraw.html (dglazkov's spreadsheets benchmarks) |
| as well as moved our robohornet/resizecol.html number from an average of 3221ms to 2608ms (~20%!). |
| |
| I removed m_hasHTMLTableCellElement (from http://trac.webkit.org/changeset/97691) |
| since it was attempting to do the same sort of optimization. |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::RenderTableCell): |
| (WebCore::RenderTableCell::parseColSpanFromDOM): |
| (WebCore::RenderTableCell::parseRowSpanFromDOM): |
| (WebCore::RenderTableCell::layout): |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::colSpan): |
| (WebCore::RenderTableCell::rowSpan): |
| (RenderTableCell): |
| |
| 2012-10-05 Oli Lan <olilan@chromium.org> |
| |
| Allow EventHandler to handle longpress gestures, including longpress selection on Android. |
| https://bugs.webkit.org/show_bug.cgi?id=98173 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds handling for GestureLongPress to EventHandler::handleGestureEvent, with a new |
| handleGestureLongPress method. On Android, this method selects the closest word |
| if the gesture event was over non-link text. |
| |
| This is tested via a new chromium test WebViewTest.LongPressSelection. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::selectClosestWordFromHitTestResult): |
| (WebCore::EventHandler::selectClosestWordFromMouseEvent): |
| (WebCore): |
| (WebCore::EventHandler::handleGestureEvent): |
| (WebCore::EventHandler::handleGestureLongPress): |
| * page/EventHandler.h: |
| (EventHandler): |
| |
| 2012-10-05 Tab Atkins <jackalmage@gmail.com> |
| |
| <marquee> element forces itself to be at least 1em high, regardless of 'height' declaration |
| https://bugs.webkit.org/show_bug.cgi?id=18098 |
| |
| Reviewed by Eric Seidel. |
| |
| This restriction originally existed to match IE, but IE changed some time ago to be normal instead. |
| We're the last browser, afaict, to still enforce this de-facto restriction. |
| This patch makes <marquee> instead act like a normal element. |
| |
| Tests: fast/css/MarqueeLayoutTest.html (rewritten from the older, bad version) |
| |
| * rendering/RenderMarquee.cpp: |
| (WebCore::RenderMarquee::updateMarqueeStyle): |
| |
| 2012-10-05 Joe Mason <jmason@rim.com> |
| |
| [BlackBerry] Fix regression in proxy auth |
| https://bugs.webkit.org/show_bug.cgi?id=98533 |
| |
| Reviewed by Yong Li. |
| |
| The proxy auth dialog gets the proxy address from |
| BlackBerry::Platform::Settings::proxyAddress, which returns |
| "host:port", but we try to parse it with a KURL, which expects |
| "scheme://host:port". Since this is an http proxy, add http:// to the |
| url to get it to parse. |
| |
| PR 220567. |
| |
| * platform/network/blackberry/NetworkJob.cpp: |
| (WebCore::NetworkJob::sendRequestWithCredentials): |
| |
| 2012-10-05 Jer Noble <jer.noble@apple.com> |
| |
| No autorelease pool in place, causing buildup of autoreleased objects. |
| https://bugs.webkit.org/show_bug.cgi?id=98522 |
| <rdar://problem/11647950> |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Wrap each timer callback in an AutodrainPool, ensuring an autorelease |
| pool is present during calls from C/C++ into ObjC. |
| |
| * platform/cf/RunLoopTimerCF.cpp: |
| (WebCore::timerFired): |
| |
| 2012-10-05 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Deleting across multiple paragraphs can change the style of surrounding text |
| https://bugs.webkit.org/show_bug.cgi?id=97266 |
| |
| Reviewed by Levi Weintraub. |
| |
| Preserve editing styles from CSS rules in wrappingStyleForSerialization as well as inline styles |
| even when we're not annotating. We don't want to preserve all styles because it's against |
| the user expectation to keep borders, etc... when merging paragraphs. We also don't want to copy |
| styles from a mail blockquote because that's not a style the user has applied. See the comment |
| in EditingStyle::wrappingStyleForSerialization. |
| |
| Test: editing/deleting/merge-paragraph-with-style-from-rule.html |
| |
| * editing/EditingStyle.cpp: |
| (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement): |
| (WebCore::EditingStyle::wrappingStyleForSerialization): |
| |
| 2012-10-05 Dan Bernstein <mitz@apple.com> |
| |
| Reversing a GlyphBuffer needlessly queries its size multiple times |
| https://bugs.webkit.org/show_bug.cgi?id=98530 |
| |
| Reviewed by Simon Fraser. |
| |
| No new tests because there is no change in behavior. |
| |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Replaced the condition |
| (i < glyphBuffer.size() / 2) with the equivalent test (i < end). |
| * platform/graphics/mac/FontComplexTextMac.cpp: |
| (WebCore::Font::getGlyphsAndAdvancesForComplexText): Ditto. |
| |
| 2012-10-05 José Dapena Paz <jdapena@igalia.com> |
| |
| [GTK] Add support for creating EGL contexts |
| https://bugs.webkit.org/show_bug.cgi?id=77921 |
| |
| Reviewed by Martin Robinson. |
| |
| This patch adds support for EGL, using OpenGL and OpenGL ES 2. Both |
| options are set up on compile time, with the configure options |
| --enable-egl and --enable-gles2. |
| |
| The implementation only adds support for EGL on top of X11, to |
| isolate the changes to the minimum. More changes should come |
| later to enable EGL for other targets (as Wayland). |
| |
| No new tests required, as existing WebGL and AC tests should cover |
| the cases. |
| |
| * GNUmakefile.am: |
| * GNUmakefile.list.am: |
| * platform/graphics/GraphicsContext3D.h: |
| (GraphicsContext3D): |
| * platform/graphics/OpenGLESShims.h: |
| * platform/graphics/cairo/GLContext.cpp: |
| (WebCore): |
| (WebCore::GLContext::sharedX11Display): |
| (WebCore::GLContext::cleanupSharedX11Display): |
| (WebCore::activeContextList): |
| (WebCore::GLContext::addActiveContext): |
| (WebCore::GLContext::removeActiveContext): |
| (WebCore::GLContext::cleanupActiveContextsAtExit): |
| (WebCore::GLContext::createContextForWindow): |
| (WebCore::GLContext::createOffscreenContext): |
| * platform/graphics/cairo/GLContext.h: |
| (GLContext): |
| * platform/graphics/cairo/GraphicsContext3DCairo.cpp: |
| (WebCore::GraphicsContext3D::create): |
| (WebCore::GraphicsContext3D::GraphicsContext3D): |
| (WebCore::GraphicsContext3D::~GraphicsContext3D): |
| (WebCore::GraphicsContext3D::isGLES2Compliant): |
| * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: |
| (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): |
| * platform/graphics/clutter/GraphicsContext3DClutter.cpp: |
| * platform/graphics/efl/GraphicsContext3DEfl.cpp: |
| * platform/graphics/egl/GLContextEGL.cpp: Added. |
| (WebCore): |
| (WebCore::sharedEGLDisplay): |
| (WebCore::getEGLConfig): |
| (WebCore::GLContextEGL::createWindowContext): |
| (WebCore::GLContextEGL::createPbufferContext): |
| (WebCore::GLContextEGL::createPixmapContext): |
| (WebCore::GLContextEGL::createContext): |
| (WebCore::GLContextEGL::GLContextEGL): |
| (WebCore::GLContextEGL::~GLContextEGL): |
| (WebCore::GLContextEGL::canRenderToDefaultFramebuffer): |
| (WebCore::GLContextEGL::defaultFrameBufferSize): |
| (WebCore::GLContextEGL::makeContextCurrent): |
| (WebCore::GLContextEGL::swapBuffers): |
| (WebCore::GLContextEGL::waitNative): |
| (WebCore::GLContextEGL::platformContext): |
| * platform/graphics/egl/GLContextEGL.h: Added. |
| (WebCore): |
| (GLContextEGL): |
| * platform/graphics/glx/GLContextGLX.cpp: |
| (WebCore::GLContextGLX::createWindowContext): |
| (WebCore::GLContextGLX::createPbufferContext): |
| (WebCore::GLContextGLX::createPixmapContext): |
| (WebCore::GLContextGLX::createContext): |
| (WebCore::GLContextGLX::~GLContextGLX): |
| (WebCore::GLContextGLX::defaultFrameBufferSize): |
| (WebCore::GLContextGLX::makeContextCurrent): |
| (WebCore::GLContextGLX::swapBuffers): |
| (WebCore): |
| (WebCore::GLContextGLX::waitNative): |
| * platform/graphics/glx/GLContextGLX.h: |
| (GLContextGLX): |
| * platform/graphics/mac/GraphicsContext3DMac.mm: |
| * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: |
| (WebCore::GraphicsContext3D::releaseShaderCompiler): |
| (WebCore): |
| * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
| (WebCore::GraphicsContext3D::readPixels): |
| (WebCore::GraphicsContext3D::reshapeFBOs): |
| (WebCore::GraphicsContext3D::renderbufferStorage): |
| * platform/graphics/qt/GraphicsContext3DQt.cpp: |
| * platform/graphics/texmap/TextureMapper.h: |
| * platform/gtk/RedirectedXCompositeWindow.cpp: |
| (WebCore::RedirectedXCompositeWindow::RedirectedXCompositeWindow): |
| (WebCore::RedirectedXCompositeWindow::~RedirectedXCompositeWindow): |
| (WebCore::RedirectedXCompositeWindow::resize): |
| * platform/gtk/RedirectedXCompositeWindow.h: |
| |
| 2012-10-04 Jon Lee <jonlee@apple.com> |
| |
| Add a setting to enable plugin snapshotting |
| https://bugs.webkit.org/show_bug.cgi?id=98319 |
| <rdar://problem/12426480> |
| |
| Reviewed by Brady Eidson. |
| |
| Add a new bit for this preference. |
| |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): Preference is false by default. |
| * page/Settings.h: Added m_plugInSnapshottingEnabled bit. |
| (WebCore::Settings::setPlugInSnapshottingEnabled): Set the bit. |
| (WebCore::Settings::plugInSnapshottingEnabled): Return the bit. |
| |
| 2012-10-05 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Unreviewed inspector front-end closure compilaiton fixes. |
| |
| * inspector/InjectedScriptCanvasModuleSource.js: |
| * inspector/InjectedScriptExterns.js: |
| (InjectedScriptHost.prototype.getInternalProperties): |
| * inspector/front-end/DockController.js: |
| * inspector/front-end/externs.js: |
| (InspectorFrontendHostAPI.prototype.requestSetDockSide): |
| |
| 2012-10-05 Tab Atkins <jackalmage@gmail.com> |
| |
| Replace uses of prefixed properties with unprefixed versions in the UA stylesheets |
| https://bugs.webkit.org/show_bug.cgi?id=98453 |
| |
| Reviewed by Ojan Vafai. |
| |
| Switched 'border-radius' and 'box-shadow' to their unprefixed version in the UA stylesheets. |
| |
| No new tests, because the unprefixed properties have the same behavior as the prefixed. |
| |
| * css/fullscreenQuickTime.css: |
| (video:-webkit-full-screen::-webkit-media-controls-panel): |
| * css/html.css: |
| (keygen, select): |
| (select[size][multiple]): |
| (select[size="1"]): |
| (::-webkit-validation-bubble-message): |
| * css/themeBlackBerry.css: |
| (input, textarea): |
| * css/themeChromiumAndroid.css: |
| (select[size][multiple]): |
| * css/themeQtNoListboxes.css: |
| (select[size][multiple]): |
| * css/themeWin.css: |
| (select[size="1"]): |
| * css/view-source.css: |
| (.webkit-html-message-bubble): |
| |
| 2012-10-05 Kevin Ellis <kevers@chromium.org> |
| |
| [chromium] Only inflate the height of rows in a popup menu when a touch device is detected. |
| https://bugs.webkit.org/show_bug.cgi?id=98515 |
| |
| Reviewed by Adam Barth. |
| |
| Enforces a minimum row height for popup menus when a touch device is |
| detected. In a previous patch (r127597), the sizing of popup was |
| consolidated for touch and non-touch. Based on user feedback, reverting |
| to the old behavior for non-touch and only adding padding for touch |
| devices seems like a much safer strategy. This patch is not a direct |
| revert of r127567 since the padding previously used for touch is a bit |
| excessive. |
| |
| Covered by existing tests. |
| |
| * platform/chromium/PopupListBox.cpp: |
| (WebCore::PopupListBox::getRowHeight): |
| * platform/chromium/PopupMenuChromium.cpp: |
| (WebCore): |
| * platform/chromium/PopupMenuChromium.h: |
| (WebCore::PopupMenuChromium::optionRowHeightForTouch): |
| (WebCore::PopupMenuChromium::setOptionRowHeightForTouch): |
| (PopupMenuChromium): |
| |
| 2012-10-05 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: [Styles] Unable to edit properties in broken stylesheets |
| https://bugs.webkit.org/show_bug.cgi?id=98246 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Pop source data for invalid rules off the stack whenever we have consecutive CSSParser::markRuleHeaderStart() invocations. |
| |
| Test: inspector/styles/parse-stylesheet-errors.html |
| |
| * css/CSSParser.cpp: |
| (WebCore::CSSParser::popRuleData): |
| (WebCore::CSSParser::markRuleHeaderStart): |
| (WebCore::CSSParser::markRuleBodyStart): |
| * css/CSSParser.h: |
| (CSSParser): |
| |
| 2012-10-05 Gabor Rapcsanyi <rgabor@webkit.org> |
| |
| Add ARM-NEON support to VectorMath in WebAudio |
| https://bugs.webkit.org/show_bug.cgi?id=98131 |
| |
| Reviewed by Zoltan Herczeg. |
| |
| Speed up vector operations in WebAudio with NEON intrinsics. |
| |
| * platform/audio/VectorMath.cpp: |
| (WebCore::VectorMath::vsma): |
| (WebCore::VectorMath::vsmul): |
| (WebCore::VectorMath::vadd): |
| (WebCore::VectorMath::vmul): |
| (WebCore::VectorMath::zvmul): |
| (WebCore::VectorMath::vsvesq): |
| (WebCore::VectorMath::vmaxmgv): |
| |
| 2012-10-05 Simon Hausmann <simon.hausmann@digia.com> |
| |
| Unreviewed, rolling out r130495. |
| http://trac.webkit.org/changeset/130495 |
| https://bugs.webkit.org/show_bug.cgi?id=98268 |
| |
| Made WK2 tests crash. |
| |
| * Target.pri: |
| * platform/qt/QStyleFacade.cpp: Removed. |
| * platform/qt/QStyleFacade.h: Removed. |
| |
| 2012-10-05 Simon Hausmann <simon.hausmann@digia.com> |
| |
| [Qt] Make RenderThemeQStyle/ScrollbarThemeQStyle compile without QStyle/QtWidgets |
| https://bugs.webkit.org/show_bug.cgi?id=98268 |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| Extracted QStyle/QWidget related code into a QWebStyle class that implements the QStyleFacade interface. |
| |
| QStyleFacade is a pure interface that lives in WebCore/platform/qt |
| (next to RenderThemeQStyle and ScrollbarThemeQStyle) and provides a |
| minimal interface of what we need to draw with QStyle as well as basic |
| hit testing and metric retrieval. It also provides a |
| QStyleFacadeOption class that aggregates common meta-data for |
| rendering primitives, such as direction, rectangle, state (sunken, |
| enabled, etc.) or palette. It also provides some more slider/scrollbar |
| specific fields in a slider sub-structure. |
| |
| RenderThemeQStyle/ScrollbarThemeQStyle used to instantiate specific QStyleOption sub-classes and populate |
| them with state information from render objects, before calling straight to QStyle. Most of the common code |
| was encapsulated in StylePainterQStyle. |
| |
| The new RenderThemeQStyle/ScrolllbarThemeQStyle uses common code in |
| StylePainterQStyle to populate state into QStyleFacadeOption before |
| calling into QStyleFacade. |
| |
| The style facade is then implemented by QStyleFacadeImp, which extracts |
| meta-data from QStyleFacadeOption arguments, populates style |
| primitive specific QStyleOption objects and then calls on QStyle. |
| |
| RenderThemeQStyle/ScrollbarThemeQStyle can only use interface methods |
| from QStyleFacade. QStyleFacadeImp on the other hand will live in the |
| separate QtWebKitWidgets library in the future and therefore cannot use |
| any WebCore types. |
| |
| * Target.pri: |
| * platform/qt/QStyleFacade.cpp: Added. |
| (WebCore): |
| (WebCore::QStyleFacade::styleForPage): |
| * platform/qt/QStyleFacade.h: Added. |
| (WebCore): |
| (QStyleFacade): |
| (WebCore::QStyleFacade::~QStyleFacade): |
| (WebCore::QStyleFacadeOption::QStyleFacadeOption): |
| (QStyleFacadeOption): |
| * platform/qt/RenderThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.cpp. |
| (WebCore): |
| (WebCore::RenderThemeQStyle::getStylePainter): |
| (WebCore::StylePainterQStyle::StylePainterQStyle): |
| (WebCore::StylePainterQStyle::init): |
| (WebCore::RenderThemeQStyle::create): |
| (WebCore::RenderThemeQStyle::setStyleFactoryFunction): |
| (WebCore::RenderThemeQStyle::styleFactory): |
| (WebCore::RenderThemeQStyle::RenderThemeQStyle): |
| (WebCore::RenderThemeQStyle::~RenderThemeQStyle): |
| (WebCore::RenderThemeQStyle::setPaletteFromPageClientIfExists): |
| (WebCore::RenderThemeQStyle::inflateButtonRect): |
| (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle): |
| (WebCore::RenderThemeQStyle::adjustButtonStyle): |
| (WebCore::RenderThemeQStyle::setButtonPadding): |
| (WebCore::RenderThemeQStyle::paintButton): |
| (WebCore::RenderThemeQStyle::paintTextField): |
| (WebCore::RenderThemeQStyle::adjustTextAreaStyle): |
| (WebCore::RenderThemeQStyle::paintTextArea): |
| (WebCore::RenderThemeQStyle::setPopupPadding): |
| (WebCore::RenderThemeQStyle::colorPalette): |
| (WebCore::RenderThemeQStyle::paintMenuList): |
| (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle): |
| (WebCore::RenderThemeQStyle::paintMenuListButton): |
| (WebCore::RenderThemeQStyle::animationDurationForProgressBar): |
| (WebCore::RenderThemeQStyle::paintProgressBar): |
| (WebCore::RenderThemeQStyle::paintSliderTrack): |
| (WebCore::RenderThemeQStyle::adjustSliderTrackStyle): |
| (WebCore::RenderThemeQStyle::paintSliderThumb): |
| (WebCore::RenderThemeQStyle::adjustSliderThumbStyle): |
| (WebCore::RenderThemeQStyle::paintSearchField): |
| (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle): |
| (WebCore::RenderThemeQStyle::paintSearchFieldDecoration): |
| (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle): |
| (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration): |
| (WebCore::RenderThemeQStyle::paintInnerSpinButton): |
| (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions): |
| (WebCore::RenderThemeQStyle::adjustSliderThumbSize): |
| * platform/qt/RenderThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/RenderThemeQStyle.h. |
| (WebCore): |
| (RenderThemeQStyle): |
| (WebCore::RenderThemeQStyle::qStyle): |
| (StylePainterQStyle): |
| (WebCore::StylePainterQStyle::isValid): |
| (WebCore::StylePainterQStyle::paintButton): |
| (WebCore::StylePainterQStyle::paintTextField): |
| (WebCore::StylePainterQStyle::paintComboBox): |
| (WebCore::StylePainterQStyle::paintComboBoxArrow): |
| (WebCore::StylePainterQStyle::paintSliderTrack): |
| (WebCore::StylePainterQStyle::paintSliderThumb): |
| (WebCore::StylePainterQStyle::paintInnerSpinButton): |
| (WebCore::StylePainterQStyle::paintProgressBar): |
| (WebCore::StylePainterQStyle::paintScrollCorner): |
| (WebCore::StylePainterQStyle::paintScrollBar): |
| * platform/qt/ScrollbarThemeQStyle.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.cpp. |
| (WebCore): |
| (WebCore::ScrollbarThemeQStyle::ScrollbarThemeQStyle): |
| (WebCore::ScrollbarThemeQStyle::~ScrollbarThemeQStyle): |
| (WebCore::scPart): |
| (WebCore::scrollbarPart): |
| (WebCore::initSliderStyleOption): |
| (WebCore::ScrollbarThemeQStyle::paint): |
| (WebCore::ScrollbarThemeQStyle::hitTest): |
| (WebCore::ScrollbarThemeQStyle::shouldCenterOnThumb): |
| (WebCore::ScrollbarThemeQStyle::invalidatePart): |
| (WebCore::ScrollbarThemeQStyle::scrollbarThickness): |
| (WebCore::ScrollbarThemeQStyle::thumbPosition): |
| (WebCore::ScrollbarThemeQStyle::thumbLength): |
| (WebCore::ScrollbarThemeQStyle::trackPosition): |
| (WebCore::ScrollbarThemeQStyle::trackLength): |
| (WebCore::ScrollbarThemeQStyle::paintScrollCorner): |
| * platform/qt/ScrollbarThemeQStyle.h: Renamed from Source/WebKit/qt/WebCoreSupport/ScrollbarThemeQStyle.h. |
| (WebCore): |
| (ScrollbarThemeQStyle): |
| (WebCore::ScrollbarThemeQStyle::qStyle): |
| |
| 2012-10-05 Andrei Bucur <abucur@adobe.com> |
| |
| Incomplete repaint of boxes with inset box-shadow and padding when resized |
| https://bugs.webkit.org/show_bug.cgi?id=59863 |
| |
| Reviewed by Simon Fraser. |
| |
| The patch extends the repaint rectangle to include the inset shadow extent for renderers that resize and need to be repainted. The rectangle computations are also better fragmented and easier to read. |
| |
| New Test: fast/repaint/box-shadow-inset-repaint.html |
| |
| * rendering/RenderObject.cpp: |
| (WebCore::RenderObject::repaintAfterLayoutIfNeeded): |
| * rendering/style/RenderStyle.cpp: |
| (WebCore::RenderStyle::getShadowInsetExtent): |
| (WebCore): |
| * rendering/style/RenderStyle.h: |
| |
| 2012-10-04 Kent Tamura <tkent@chromium.org> |
| |
| Fix sub-field width to the maximum width of a placeholder and the maximum value |
| https://bugs.webkit.org/show_bug.cgi?id=98481 |
| |
| Reviewed by Hajime Morita. |
| |
| We can't assume a placeholder text is shorter than the width of |
| digits. The placeholder string for the year field of |
| input[type=week] is "----", but input[type=date] will have a |
| localized string for it. |
| |
| We should set the 'width' CSS property to the maximum of the |
| placeholder width and the maximum value width in order to prevent |
| the field width from growing/narrowing. |
| |
| Before this patch, we secured four digits space for a year field, |
| and allowed the field to grow its width when a larger year is |
| set. After this patch, we don't allow it to grow because the |
| 'width' property is set to the maximum width. |
| |
| Update week-multiple-fields-appearance-basic.html, and the |
| following tests are affected. |
| - fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes.html |
| - fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html |
| - fast/forms/week-multiple-fields/week-multiple-fields-appearance-style.html |
| |
| * html/shadow/DateTimeNumericFieldElement.cpp: |
| (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement): |
| Enable customStyleForRenderer. |
| (WebCore::DateTimeNumericFieldElement::customStyleForRenderer): |
| Added. The code is similar to DateTimeSymbolicFieldElement::customStyleForRenderer(). |
| (WebCore::DateTimeNumericFieldElement::formatValue): |
| Made a function with the code in value(). This is used in |
| customStyleForRenderer() and value(). |
| (WebCore::DateTimeNumericFieldElement::value): Use formatValue(). |
| * html/shadow/DateTimeNumericFieldElement.h: |
| (DateTimeNumericFieldElement): Declare new functions. |
| |
| 2012-10-05 Kent Tamura <tkent@chromium.org> |
| |
| Improve spelling and performance of Localizer.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=98485 |
| |
| Reviewed by Kentaro Hara. |
| |
| Some improvements pointed in webkit.org/b/98229#c5. |
| |
| No new tests because of no behavior change. |
| |
| * platform/text/Localizer.h: |
| (Localizer): |
| - Rename dateTimeFormatWithSecond to dateTimeFormatWithSeconds |
| - Rename dateTimeFormatWithoutSecond to dateTimeFormatWithoutSeconds |
| - Add data members: m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds. |
| * platform/text/Localizer.cpp: |
| (WebCore::Localizer::timeFormat): Check isNull instead of isEmpty |
| (WebCore::Localizer::shortTimeFormat): Ditto. |
| (WebCore::Localizer::dateTimeFormatWithSeconds): |
| - Renamed. |
| - Cache the concatenation result to a data member. |
| (WebCore::Localizer::dateTimeFormatWithoutSeconds): Ditto. |
| |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::setupLayoutParameters): Follow the renaming. |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::setupLayoutParameters): Ditto. |
| |
| 2012-10-04 Kenichi Ishibashi <bashi@chromium.org> |
| |
| [WebSocket] ExtensionParser should have its own file |
| https://bugs.webkit.org/show_bug.cgi?id=98475 |
| |
| Reviewed by Yuta Kitamura. |
| |
| Factor out ExtensionParser from WebSocketExtensionDispatcher and rename it as WebSocketExtensionParser. |
| WebSocketExtensionParser has its own file. |
| |
| No changes in behavior. Added a test case for parsing Sec-WebSocket-Extensions field as a chromium unit test. |
| |
| * CMakeLists.txt: Added WebSocketExtensionParser. |
| * GNUmakefile.list.am: Ditto. |
| * Modules/websockets/WebSocketExtensionDispatcher.cpp: |
| (WebCore::WebSocketExtensionDispatcher::processHeaderValue): |
| Use WebSocketExtensionParser::parseExtension() to parser extension header value. |
| * Modules/websockets/WebSocketExtensionParser.cpp: Added. |
| (WebCore): |
| (WebCore::WebSocketExtensionParser::finished): Moved from ExtensionParser. |
| (WebCore::WebSocketExtensionParser::parsedSuccessfully): Ditto. |
| (WebCore::isSeparator): Ditto. |
| (WebCore::WebSocketExtensionParser::skipSpaces): Ditto. |
| (WebCore::WebSocketExtensionParser::consumeToken): Ditto. |
| (WebCore::WebSocketExtensionParser::consumeQuotedString): Ditto. |
| (WebCore::WebSocketExtensionParser::consumeQuotedStringOrToken): Ditto. |
| (WebCore::WebSocketExtensionParser::consumeCharacter): Ditto. |
| (WebCore::WebSocketExtensionParser::parseExtension): Moved from WebSocketExtensionDispatcher. |
| * Modules/websockets/WebSocketExtensionParser.h: Added. |
| (WebCore): |
| (WebSocketExtensionParser): |
| (WebCore::WebSocketExtensionParser::WebSocketExtensionParser): |
| (WebCore::WebSocketExtensionParser::currentToken): |
| * Target.pri: Added WebSocketExtensionParser. |
| * WebCore.gypi: Ditto. |
| * WebCore.vcproj/WebCore.vcproj: Ditto. |
| * WebCore.xcodeproj/project.pbxproj: Ditto. |
| |
| 2012-10-04 Kunihiko Sakamoto <ksakamoto@chromium.org> |
| |
| <input> size attribute should throw INDEX_SIZE_ERR when set to 0 |
| https://bugs.webkit.org/show_bug.cgi?id=61675 |
| |
| Reviewed by Kent Tamura. |
| |
| According to the spec, the size IDL attribute of input elements is limited |
| to only non-negative numbers greater than zero. It should throw INDEX_SIZE_ERR |
| exception when set to 0. New behavior matches both Firefox and IE. |
| Spec: http://www.w3.org/TR/html5/common-input-element-attributes.html#the-size-attribute |
| |
| Test: fast/dom/HTMLInputElement/input-size-attribute.html |
| |
| * html/HTMLInputElement.cpp: |
| (WebCore::HTMLInputElement::setSize): |
| * html/HTMLInputElement.h: |
| (HTMLInputElement): |
| * html/HTMLInputElement.idl: |
| |
| 2012-10-04 Kent Tamura <tkent@chromium.org> |
| |
| Fix font for date/time input types. |
| https://bugs.webkit.org/show_bug.cgi?id=98478 |
| |
| Reviewed by Kentaro Hara. |
| |
| input[type=date] should use monospace font if |
| ENABLE_INPUT_MULTIPLE_FIELDS_UI && ENABLE_INPUT_TYPE_DATE. |
| |
| For other date/time types, they should use monospace font only |
| if their types are enabled. input[type="foo"] matches input |
| element with type="foo" even if the foo type is not supported. |
| |
| The input[type=date] change is covered by |
| fast/forms/date/calendar-picker-appearance.html, |
| platform/chromium/fast/forms/date/date-suggestion-picker-appearance*.html |
| |
| * css/html.css: |
| (input[type="date"]): |
| (input[type="datetime"]): |
| (input[type="datetime-local"]): |
| (input[type="month"]): |
| (input[type="time"]): |
| |
| 2012-10-04 Hajime Morrita <morrita@google.com> |
| |
| [Refactoring] Some classes in StyleResolver.cpp/h could have its own file. |
| https://bugs.webkit.org/show_bug.cgi?id=98469 |
| |
| Reviewed by Dimitri Glazkov. |
| |
| This change extracts RuleData, RuleSet, RuleFeature and Featurs class |
| to its own file: RuleSet.h/cpp and RuleFeature.h/cpp |
| |
| RuleFeature class is moved fro StyleResolver inner class to plain WebCore class. |
| Feaures class is renamed to RuleFeatureSet to avoid possible name conflict. |
| |
| No new tests. Just splitting file and doing simple rename. |
| |
| * CMakeLists.txt: |
| * GNUmakefile.list.am: |
| * Target.pri: |
| * WebCore.gypi: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSAllInOne.cpp: |
| * css/RuleFeature.cpp: Added. |
| (WebCore): |
| (WebCore::RuleFeatureSet::add): |
| (WebCore::RuleFeatureSet::clear): |
| (WebCore::RuleFeatureSet::reportMemoryUsage): |
| * css/RuleFeature.h: Added. |
| (WebCore): |
| (RuleFeature): |
| (WebCore::RuleFeature::RuleFeature): |
| (RuleFeatureSet): |
| (WebCore::RuleFeatureSet::RuleFeatureSet): |
| * css/RuleSet.cpp: Added. |
| (WebCore): |
| (WebCore::isSelectorMatchingHTMLBasedOnRuleHash): |
| (WebCore::selectorListContainsUncommonAttributeSelector): |
| (WebCore::isCommonAttributeSelectorAttribute): |
| (WebCore::containsUncommonAttributeSelector): |
| (WebCore::RuleData::RuleData): |
| (WebCore::RuleData::reportMemoryUsage): |
| (WebCore::reportAtomRuleMap): |
| (WebCore::RuleSet::reportMemoryUsage): |
| (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage): |
| (WebCore::collectFeaturesFromSelector): |
| (WebCore::collectFeaturesFromRuleData): |
| (WebCore::RuleSet::addToRuleSet): |
| (WebCore::RuleSet::addRule): |
| (WebCore::RuleSet::addPageRule): |
| (WebCore::RuleSet::addRegionRule): |
| (WebCore::RuleSet::addRulesFromSheet): |
| (WebCore::RuleSet::addStyleRule): |
| (WebCore::shrinkMapVectorsToFit): |
| (WebCore::RuleSet::shrinkToFit): |
| * css/RuleSet.h: Added. |
| (WebCore): |
| (RuleData): |
| (WebCore::RuleData::position): |
| (WebCore::RuleData::rule): |
| (WebCore::RuleData::selector): |
| (WebCore::RuleData::selectorIndex): |
| (WebCore::RuleData::hasFastCheckableSelector): |
| (WebCore::RuleData::hasMultipartSelector): |
| (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash): |
| (WebCore::RuleData::containsUncommonAttributeSelector): |
| (WebCore::RuleData::specificity): |
| (WebCore::RuleData::linkMatchType): |
| (WebCore::RuleData::hasDocumentSecurityOrigin): |
| (WebCore::RuleData::isInRegionRule): |
| (WebCore::RuleData::descendantSelectorIdentifierHashes): |
| (SameSizeAsRuleData): |
| (RuleSet): |
| (WebCore::RuleSet::create): |
| (WebCore::RuleSet::disableAutoShrinkToFit): |
| (WebCore::RuleSet::features): |
| (WebCore::RuleSet::idRules): |
| (WebCore::RuleSet::classRules): |
| (WebCore::RuleSet::tagRules): |
| (WebCore::RuleSet::shadowPseudoElementRules): |
| (WebCore::RuleSet::linkPseudoClassRules): |
| (WebCore::RuleSet::focusPseudoClassRules): |
| (WebCore::RuleSet::universalRules): |
| (WebCore::RuleSet::pageRules): |
| (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair): |
| (RuleSetSelectorPair): |
| (WebCore::RuleSet::RuleSet): |
| * css/StyleResolver.cpp: |
| (WebCore): |
| (WebCore::makeRuleSet): |
| (WebCore::StyleResolver::collectMatchingRulesForList): |
| * css/StyleResolver.h: |
| (StyleResolver): |
| |
| 2012-10-04 Adam Barth <abarth@webkit.org> |
| |
| FeatureObserver should distinguish between legacy HTML and text notifications |
| https://bugs.webkit.org/show_bug.cgi?id=98441 |
| |
| Reviewed by Tony Chang. |
| |
| We might be able to drop support for legacy HTML notifications before |
| we can drop support for legacy text notifications. We should measure |
| and find out. |
| |
| * Modules/notifications/NotificationCenter.idl: |
| * page/FeatureObserver.h: |
| |
| 2012-10-04 Pravin D <pravind.2k4@gmail.com> |
| |
| Removing the unused member variable m_wasMalformed from HTMLFormElement class and its related code frgment. |
| https://bugs.webkit.org/show_bug.cgi?id=98444 |
| |
| Reviewed by Eric Seidel. |
| |
| The member variable m_wasMalformed of HTMLFormElement class was used to determine if the <form> tag was malformed or not. |
| This information was used elsewhere to decide if bottom margins have to be included for such a <form>. |
| However currently this member variable is not being set by any code following code refactoring in HTML parser class. |
| |
| Code cleanup patch. No new tests required. |
| |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::HTMLFormElement): |
| Removed m_wasMalformed initialization. |
| |
| * html/HTMLFormElement.h: |
| (HTMLFormElement): |
| Removed m_wasMalformed variable. |
| Removed m_wasMalformed variable's setter and getter functions. |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::layoutBlock): |
| Removed code fragment using/dependent on m_wasMalformed. |
| |
| 2012-10-04 Rik Cabanier <cabanier@adobe.com> |
| |
| Turn Compositing on by default in WebKit build |
| https://bugs.webkit.org/show_bug.cgi?id=98315 |
| |
| Reviewed by Simon Fraser. |
| |
| enable -webkit-blend-mode on trunk. |
| |
| No new tests. Existing blending test were updated. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| * css/CSSPropertyNames.in: |
| * css/CSSValueKeywords.in: |
| |
| 2012-10-04 Hayato Ito <hayato@chromium.org> |
| |
| [Refactoring] Introduce a traversal strategy in SelectorChecker |
| https://bugs.webkit.org/show_bug.cgi?id=97298 |
| |
| Reviewed by Antti Koivisto. |
| |
| We extract DOM traversal code from SelectorChecker so that we can use another traversal strategy. |
| Another traversal strategy will be introduced in Bug 96990. |
| |
| Since this code path is very hot, we were very careful not to regress performance. |
| We will use template specialization to change the traversal implementation. |
| |
| We confirmed that this patch does not regress SelectorCheckerPerformance. I have checked the performance of |
| the added test in my Linux Box using run-perf-tests. |
| |
| The performance of the added test before using this patch was: |
| |
| RESULT CSS: PseudoClassSelectors= 3399.68308031 runs/s |
| median= 3404.48685564 runs/s, stdev= 37.3480114449 runs/s, min= 3272.64871114 runs/s, max= 3438.72385184 runs/s |
| |
| When we used this patch, the performance was: |
| |
| RESULT CSS: PseudoClassSelectors= 3367.74473886 runs/s |
| median= 3367.12072755 runs/s, stdev= 14.1464547639 runs/s, min= 3348.55881171 runs/s, max= 3395.98212857 runs/s |
| |
| Test: PerformanceTests/CSS/PseudoClass-Selectors.html |
| |
| * css/SelectorChecker.cpp: |
| (WebCore): |
| (WebCore::SelectorChecker::checkSelector): Make this a template method to accept another Context type. |
| Another Context type will be introduced in coming patch. |
| (WebCore::SelectorChecker::checkOneSelector): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstChild): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isLastChild): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isFirstOfType): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::isLastOfType): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsBefore): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeBefore): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsAfter): |
| (WebCore::SelectorChecker::DOMTraversalStrategy::countElementsOfTypeAfter): |
| * css/SelectorChecker.h: |
| (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): |
| (SelectorCheckingContext): |
| (SelectorChecker): |
| (DOMTraversalStrategy): Extracted the DOM traversal code from SelectorChecker. Another traversal code |
| will be introduced the coming patch. |
| |
| 2012-10-04 Eric Seidel <eric@webkit.org> |
| |
| SVGAttributeHashTranslator does not need to copy QualifiedName in the common case |
| https://bugs.webkit.org/show_bug.cgi?id=98473 |
| |
| Reviewed by Adam Barth. |
| |
| I tested this using instruments on a test case which modified SVG attributes in a loop. |
| I believe pdr has some perf-tests in this area, but they weren't needed here. A simple sample showed this as a huge win, |
| since we're no longer creating a QualifiedName (and thus adding it to the hash) on each QualifiedName-based lookup in SVG. |
| |
| * svg/SVGElement.h: |
| (WebCore::SVGAttributeHashTranslator::hash): |
| (WebCore::SVGAttributeHashTranslator::equal): |
| |
| 2012-10-04 Julien Chaffraix <jchaffraix@webkit.org> |
| |
| Split the intrinsic padding update code out of RenderTableSection::layoutRows |
| https://bugs.webkit.org/show_bug.cgi?id=98454 |
| |
| Reviewed by Eric Seidel. |
| |
| RenderTableSection::layoutRows is very long and it's difficult to see what's |
| going on. This change moves the intrinsic padding update code into RenderTableCell |
| for clarity. While at it, cleaned up a bit the code (renaming variables, functions). |
| |
| Change covered by existing table tests. |
| |
| * rendering/RenderTableCell.cpp: |
| (WebCore::RenderTableCell::computeIntrinsicPadding): |
| Added this new function that does the update. Removed the 'default' case, replaced by |
| the explicit label BASELINE_MIDDLE. |
| |
| * rendering/RenderTableCell.h: |
| (WebCore::RenderTableCell::setIntrinsicPaddingBefore): |
| (WebCore::RenderTableCell::setIntrinsicPaddingAfter): |
| (WebCore::RenderTableCell::setIntrinsicPadding): |
| Moved those setters to the private section as we want other classes |
| to use computeIntrinsicPadding. |
| |
| * rendering/RenderTableSection.cpp: |
| (WebCore::RenderTableSection::layoutRows): |
| Replaced the code with a call to RenderTableCell::computeIntrinsicPadding. |
| Also moved 2 variables in the loop per our coding style. |
| |
| * rendering/RenderTableSection.h: |
| (WebCore::RenderTableSection::rowBaseline): |
| Renamed to match our coding style. |
| |
| 2012-10-04 Nate Chapin <japhet@chromium.org> |
| |
| Crash in EventHandler::mouseMoved(). |
| https://bugs.webkit.org/show_bug.cgi?id=98460 |
| |
| Reviewed by Abhishek Arya. |
| |
| No new tests, this fixes fast/events/mouse-moved-remove-frame-crash.html. |
| |
| * page/EventHandler.cpp: |
| (WebCore::EventHandler::mouseMoved): |
| |
| 2012-10-04 Adam Barth <abarth@webkit.org> |
| |
| [V8] NotificationCenter leaks because it uses buggy custom bindings |
| https://bugs.webkit.org/show_bug.cgi?id=98445 |
| |
| Reviewed by Tony Chang. |
| |
| There's no reason to use custom bindings here. All they do is cause leaks.. |
| |
| * Modules/notifications/NotificationCenter.idl: |
| * bindings/v8/custom/V8NotificationCenterCustom.cpp: |
| |
| 2012-10-04 Tab Atkins <jackalmage@gmail.com> |
| |
| Selector specificity categories "overflow" into higher categories |
| https://bugs.webkit.org/show_bug.cgi?id=98295 |
| |
| Reviewed by Eric Seidel. |
| |
| This patch adds per-component overflow guards for CSS selector specificity. |
| Previously, we didn't guard against overflow. |
| Since we stored each component as a byte mapped into a single unsigned int for the whole specificity, |
| 256 of a particular simple selector was equivalent to 1 of the next-higher-group selector. |
| This violated the Selectors specification, |
| which requires the components to be compared lexicographically. |
| |
| Tests: /fast/selectors/specificity-overflow.html |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::specificity): |
| |
| 2012-10-04 Enrica Casucci <enrica@apple.com> |
| |
| Font::glyphDataAndPageForCharacter doesn't account for text orientation when using systemFallback on a cold cache. |
| https://bugs.webkit.org/show_bug.cgi?id=98452. |
| |
| Reviewed by Dan Bernstein. |
| |
| The text orientation was considered only when there is a cache hit. |
| This change moves the logic to handle text orientation to a separate |
| inline function that is called also when the glyph is added to the cache. |
| |
| Test: fast/text/vertical-rl-rtl-linebreak.html |
| |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::applyTextOrientationForCharacter): Added. |
| (WebCore::Font::glyphDataAndPageForCharacter): Modified to use the new function in |
| both cases of cold and warm cache. |
| |
| 2012-10-04 Adam Klein <adamk@chromium.org> |
| |
| MutationRecord attributeName should be null for non attribute changes |
| https://bugs.webkit.org/show_bug.cgi?id=98438 |
| |
| Reviewed by Ojan Vafai. |
| |
| Test: fast/mutation/mutation-record-nullity.html |
| |
| * dom/MutationRecord.idl: |
| |
| 2012-10-04 Simon Fraser <simon.fraser@apple.com> |
| |
| Final part of "sync" to "flush" renaming |
| https://bugs.webkit.org/show_bug.cgi?id=98430 |
| |
| Reviewed by Tim Horton. |
| |
| Change method names on GraphicsLayer and GraphicsLayerClient that |
| refer to "sync" to use the term "flush" instead, to be consistent |
| with the rest of the code. |
| |
| * platform/graphics/GraphicsLayer.h: |
| (WebCore::GraphicsLayer::flushCompositingState): |
| (WebCore::GraphicsLayer::flushCompositingStateForThisLayerOnly): |
| * platform/graphics/GraphicsLayerClient.h: |
| (GraphicsLayerClient): |
| * platform/graphics/blackberry/GraphicsLayerBlackBerry.h: |
| (WebCore::GraphicsLayerBlackBerry::notifyFlushRequired): |
| * platform/graphics/blackberry/LayerWebKitThread.cpp: |
| (WebCore::LayerWebKitThread::setNeedsCommit): |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| (WebCore::GraphicsLayerCA::flushCompositingState): |
| (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): |
| (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles): |
| (WebCore::GraphicsLayerCA::positionForCloneRootLayer): |
| (WebCore::GraphicsLayerCA::noteLayerPropertyChanged): |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| (GraphicsLayerCA): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: |
| (WebCore::GraphicsLayerTextureMapper::notifyChange): |
| (WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly): |
| (WebCore::GraphicsLayerTextureMapper::flushCompositingState): |
| * platform/graphics/texmap/GraphicsLayerTextureMapper.h: |
| (GraphicsLayerTextureMapper): |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::flushCompositingState): |
| (WebCore::TextureMapperLayer::flushCompositingStateSelf): |
| * platform/graphics/texmap/TextureMapperLayer.h: |
| (TextureMapperLayer): |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::notifyFlushRequired): |
| * rendering/RenderLayerBacking.h: |
| (RenderLayerBacking): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::flushPendingLayerChanges): |
| * rendering/RenderLayerCompositor.h: |
| (WebCore::RenderLayerCompositor::notifyFlushRequired): |
| |
| 2012-10-04 Tab Atkins <tabatkins@google.com> |
| |
| 1ex should equal .5em when the font has no x-height metric |
| https://bugs.webkit.org/show_bug.cgi?id=80360 |
| |
| Reviewed by Eric Seidel. |
| |
| Updated FontMetrics and CSSPrimitiveValue to have/use an explicit "hasXHeight" flag to determine how to size an 'ex' unit. |
| |
| Updated a few of the platform font files to set the flag properly. |
| |
| Patch cleanup by David Barr <davidbarr@chromium.org>. |
| |
| Test: fast/css/ex-unit-with-no-x-height.html |
| |
| * css/CSSPrimitiveValue.cpp: |
| (WebCore::CSSPrimitiveValue::computeLengthDouble): |
| * platform/graphics/FontMetrics.h: |
| (WebCore::FontMetrics::FontMetrics): |
| (WebCore::FontMetrics::setXHeight): |
| (FontMetrics): |
| (WebCore::FontMetrics::hasXHeight): |
| (WebCore::FontMetrics::setHasXHeight): |
| (WebCore::FontMetrics::reset): |
| * platform/graphics/skia/SimpleFontDataSkia.cpp: |
| (WebCore::SimpleFontData::platformInit): |
| |
| 2012-10-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix after r130411. Add the right offset. |
| Also use RefPtr instead of a raw pointer for next and previous pointers. |
| |
| * editing/ReplaceSelectionCommand.cpp: |
| (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition): |
| |
| 2012-10-04 Alec Flett <alecflett@chromium.org> |
| |
| IndexedDB: promote objectstore/index backend ids to the frontend |
| https://bugs.webkit.org/show_bug.cgi?id=97834 |
| |
| Reviewed by Tony Chang. |
| |
| Expose int64-based database/objectStore/index ids to the renderer, |
| step 1 of 2. Support both styles of createObjectStore and |
| createIndex: those that take an explicit id, and those that take |
| -1, meaning to autogenerate an id on the backend. In part 2, after |
| the chromium side lands, support for the autogenerated ids will be |
| removed. (See https://bugs.webkit.org/show_bug.cgi?id=98085) |
| |
| This is a part of larger refactoring work to ultimately make the interface |
| between the frontend and the backend simpler. |
| |
| No new tests, extensive ASSERTs and existing tests cover correctness. |
| |
| * Modules/indexeddb/IDBBackingStore.h: |
| (IDBBackingStore): |
| * Modules/indexeddb/IDBDatabase.cpp: |
| (WebCore::IDBDatabase::createObjectStore): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: |
| (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl): |
| (WebCore::IDBDatabaseBackendImpl::openInternal): |
| (WebCore::IDBDatabaseBackendImpl::metadata): |
| (WebCore::IDBDatabaseBackendImpl::createObjectStore): |
| (WebCore): |
| (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): |
| (WebCore::IDBDatabaseBackendImpl::loadObjectStores): |
| * Modules/indexeddb/IDBDatabaseBackendImpl.h: |
| (IDBDatabaseBackendImpl): |
| * Modules/indexeddb/IDBDatabaseBackendInterface.h: |
| (IDBDatabaseBackendInterface): |
| * Modules/indexeddb/IDBIndexBackendImpl.cpp: |
| (WebCore::IDBIndexBackendImpl::metadata): |
| * Modules/indexeddb/IDBIndexBackendImpl.h: |
| (WebCore::IDBIndexBackendImpl::create): |
| (IDBIndexBackendImpl): |
| * Modules/indexeddb/IDBLevelDBBackingStore.cpp: |
| (WebCore): |
| (WebCore::getMaxObjectStoreId): |
| (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData): |
| (WebCore::IDBLevelDBBackingStore::deleteDatabase): |
| (WebCore::IDBLevelDBBackingStore::getObjectStores): |
| (WebCore::setMaxObjectStoreId): |
| (WebCore::IDBLevelDBBackingStore::createObjectStore): |
| (WebCore::getMaxIndexId): |
| (WebCore::setMaxIndexId): |
| (WebCore::IDBLevelDBBackingStore::createIndex): |
| * Modules/indexeddb/IDBLevelDBBackingStore.h: |
| (IDBLevelDBBackingStore): |
| * Modules/indexeddb/IDBMetadata.h: |
| (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata): |
| (IDBDatabaseMetadata): |
| (WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata): |
| (IDBObjectStoreMetadata): |
| (WebCore::IDBIndexMetadata::IDBIndexMetadata): |
| (IDBIndexMetadata): |
| * Modules/indexeddb/IDBObjectStore.cpp: |
| (WebCore::IDBObjectStore::createIndex): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: |
| (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): |
| (WebCore::IDBObjectStoreBackendImpl::metadata): |
| (WebCore::IDBObjectStoreBackendImpl::createIndex): |
| (WebCore): |
| (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): |
| * Modules/indexeddb/IDBObjectStoreBackendImpl.h: |
| (WebCore::IDBObjectStoreBackendImpl::create): |
| (IDBObjectStoreBackendImpl): |
| * Modules/indexeddb/IDBObjectStoreBackendInterface.h: |
| 2012-10-04 Pravin D <pravind.2k4@gmail.com> |
| |
| Layout broken after cloning and re-inserting a table with a misplaced <form> |
| https://bugs.webkit.org/show_bug.cgi?id=86746 |
| |
| Reviewed by Julien Chaffraix. |
| |
| There is a concept of demotion for a <form> contained in a table. A <form> is demoted if its immediate parent |
| is either a <table>, table sections (tbody, etc) or a table row (tr). A renderer for such a <form> is created only |
| if its display is one of the table display types (TABLE, INLINE_TABLE, TABLE_FOOTER_GROUP, etc). |
| However when a <table> containing a demoted <form> is cloned, the <form> does not retain its demotion state and |
| results in the table getting improperly rendered. |
| |
| Test: fast/table/form-with-non-table-display-inside-table-elements.html |
| |
| * html/HTMLFormElement.cpp: |
| (WebCore::HTMLFormElement::copyNonAttributePropertiesFromElement): |
| Extended the virtual function for HTMLFormElement class specific implementation. |
| The function is used to copy any necessary state information(member variables) associated with |
| the <form> element being cloned to the current node. |
| For HTMLFormElement node the member variable can be classified into five groups based on the |
| information they hold: |
| 1) Variables containing information regarding <form> subtree and elements associated with it. |
| These get updated as and when an element is added to the <form> subtree. |
| 2) Variables containing <form> submit state information. |
| 3) Flag to hold information if reset() has been called. |
| 4) Flag(m_wasDemoted) that indicates whether the form is demoted or not, based on which it needs to |
| be handled differently during creation of its renderer. |
| This information is currently being updated only during the HTML tree construction phase. |
| 5) Flag(m_wasMalformed) to hold information if the <form> is malformed or not. |
| |
| Variables of group (1) will be updated as and when elements are added to the <form> subtree. Whereas, |
| (2) and (3) hold instance specific information, thus copying them is not required. Also (5) is currently not |
| being used(not set by any code). |
| |
| On the other hand, (4) is required to be copied during cloning as this information cannot be accessed |
| during the cloning process. |
| |
| (WebCore): |
| * html/HTMLFormElement.h: |
| Added copyNonAttributePropertiesFromElement() declaration. |
| |
| 2012-10-04 Dean Jackson <dino@apple.com> |
| |
| Attribute and Uniform variable names need translation in shader |
| https://bugs.webkit.org/show_bug.cgi?id=70989 |
| |
| Reviewed by Tim Horton (and Darin Adler). |
| |
| WebGL specifies some maximum lengths for variable names (attributes |
| and uniforms). Also, some GL drivers have issues with long names. For |
| that reason, ANGLE has an option to rewrite the shader, translating |
| long names into short names. Turning this on helps shaders compile, |
| but we need to keep a mapping between the original names and the |
| translated names, so that we bind to the right location from user code |
| (which won't ever see the translated source). |
| |
| This provided an opportunity to clean up some other bits of code: |
| CSS Filters examined the uniform names after a compilation; It can |
| now use the variable name map. I also added a typedef for the |
| HashMaps that keep the shader, the source code and the variable name |
| mappings. |
| |
| I also opened a followup bug to make sure these tables are deleted |
| when the associated shaders (or linked programs) go away: |
| https://bugs.webkit.org/show_bug.cgi?id=98204 |
| |
| Covered by existing tests (with some enhancements): |
| - fast/canvas/webgl/attrib-location-length-limits.html: |
| - fast/canvas/webgl/uniform-location-length-limits.html: |
| |
| * platform/graphics/ANGLEWebKitBridge.cpp: |
| (WebCore::getSymbolInfo): Extracts all the information on symbols (either attributes |
| or uniforms) from the newly compiled shader. |
| (WebCore): |
| (WebCore::ANGLEWebKitBridge::compileShaderSource): New method name. |
| * platform/graphics/ANGLEWebKitBridge.h: |
| (WebCore::getUniforms): Deleted this method. |
| (WebCore::ANGLEShaderSymbol::isSampler): Make sure the symbol is a uniform. |
| (ANGLEWebKitBridge): |
| * platform/graphics/GraphicsContext3D.h: |
| (WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo): A new object that |
| holds the size, type and translated name of a symbol from a WebGL shader. |
| (ShaderSourceEntry): |
| (WebCore::GraphicsContext3D::ShaderSourceEntry::ShaderSourceEntry): Now keeps track |
| of the translated source code and symbol mappings. |
| (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap): Helper function to |
| get the member variable corresponding to the type of symbol you're asking fo. |
| * platform/graphics/filters/CustomFilterValidatedProgram.cpp: |
| (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram): Calls new method |
| name which also produces a set of symbols to examine. |
| * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: |
| (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): We now can pass |
| in some extra compile options to do translation of long symbol names. Also fill the |
| map of translated symbol names. |
| * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: |
| (WebCore::GraphicsContext3D::compileShader): |
| (WebCore::GraphicsContext3D::mappedSymbolName): Returns the mapped name for |
| a shader symbol if it was translated during compilation. |
| (WebCore): |
| (WebCore::GraphicsContext3D::getAttribLocation): |
| (WebCore::GraphicsContext3D::getShaderiv): |
| (WebCore::GraphicsContext3D::getShaderInfoLog): |
| (WebCore::GraphicsContext3D::getShaderSource): |
| (WebCore::GraphicsContext3D::getUniformLocation): |
| |
| 2012-10-04 Alpha Lam <hclam@chromium.org> |
| |
| [skia] Drawing a subrect of bitmap image is misaligned |
| https://bugs.webkit.org/show_bug.cgi?id=95121 |
| |
| Reviewed by Stephen White. |
| |
| When drawing a subrect of BitmapImage and the subrect is not aligned |
| to integer boundaries, skia expands it to the closest enclosing integer |
| rectangle. This creates prominent rendering artifacts when an image |
| is used as background and its sub-regions are invalidated frequently. |
| |
| This patch fixes the problem by doing alignment to integer boundaries |
| and clipping for both cases of RESAMPLE_AWESOME and RESAMPLE_LINEAR. |
| |
| A clip rect is applied to the canvas using original destination |
| rectangle, while source and destination rectangles are enlarged |
| appropriately to ensure source rectangle is aligned. |
| |
| This patch also fixes a closely related problem. In RESAMPLE_AWESOME |
| resampling mode the previous algorithm applies different approximated |
| scale factor for each scaled image fragment. This caused the stitched |
| image to look ugly. |
| |
| Scale factor is approximated using entire image size, this gives a |
| more accurate approximation because of greater denominator and a |
| consistent scale factor across all fragments. |
| |
| Changes in Skia enable caching of the scaled image and return the |
| scaled fragment because scale factor is now consistent for all |
| fragments. |
| |
| Tests: fast/images/paint-subrect-grid.html |
| fast/images/paint-subrect.html |
| fast/images/repaint-subrect-grid.html |
| |
| * platform/graphics/skia/ImageSkia.cpp: |
| (WebCore::computeResamplingMode): Use float for width and height. |
| (WebCore): |
| (WebCore::areBoundariesIntegerAligned): |
| (WebCore::computeBitmapDrawRects): |
| (WebCore::extractScaledImageFragment): |
| (WebCore::drawResampledBitmap): New algorithm for drawing scaled image fragment. |
| (WebCore::paintSkBitmap): |
| (WebCore::Image::drawPattern): |
| (WebCore::BitmapImage::draw): Use SkRect instead of SkIRect. |
| (WebCore::BitmapImageSingleFrameSkia::draw): |
| * platform/graphics/skia/NativeImageSkia.cpp: |
| Changing the algorithm for extracting a scaled image fragment. |
| A fragment is now identified by (scaledImageSize, scaledImageSubset). |
| (WebCore::NativeImageSkia::hasResizedBitmap): |
| (WebCore::NativeImageSkia::resizedBitmap): |
| (WebCore::NativeImageSkia::shouldCacheResampling): |
| (WebCore::NativeImageSkia::CachedImageInfo::CachedImageInfo): |
| (WebCore): |
| (WebCore::NativeImageSkia::CachedImageInfo::isEqual): |
| (WebCore::NativeImageSkia::CachedImageInfo::set): |
| (WebCore::NativeImageSkia::CachedImageInfo::rectInSubset): |
| * platform/graphics/skia/NativeImageSkia.h: |
| (NativeImageSkia): |
| (CachedImageInfo): |
| |
| 2012-10-03 Ryosuke Niwa <rniwa@webkit.org> |
| |
| ReplaceSelectionCommand should merge text nodes |
| https://bugs.webkit.org/show_bug.cgi?id=98188 |
| |
| Reviewed by Levi Weintraub. |
| |
| Added mergeTextNodesAroundPosition to ReplaceSelectionCommand to merge text nodes after the replace in |
| completeHTMLReplacement. Also fixed a bunch of bugs in other classes and functions to make this work. |
| |
| This behavior change is tested by existing tests. |
| |
| * editing/InsertParagraphSeparatorCommand.cpp: |
| (WebCore::InsertParagraphSeparatorCommand::doApply): When splitting a text node, place the insertionPosition |
| at the end of the first half. Leaving it at the beginning of the second half confuses the rest of the code in |
| the function. However, the logic to handle the "insignificant" white spaces needs the position at the start of |
| the second half. So keep this position. |
| * editing/ReplaceSelectionCommand.cpp: |
| (WebCore::ReplaceSelectionCommand::doApply): Update visibleStart after inserting a paragraph separator so that |
| the logic to cleanup the nested div checks the right condition (right beneath it starting with a long comment). |
| (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace): Insert a space for smart paste at the appropriate |
| offset instead of at the end of endNode. Also update the layout before obtaining startDownstream as we may have |
| modified the DOM by inserting a space for endNode. Finally, a non-breaking space should be treated like a space |
| isCharacterSmartReplaceExempt for the purpose of smart replace. e.g. if we're inserting "world" after |
| "hello ", we shouldn't be inserting another space between "hello" and "world". |
| (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): |
| (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition): Added. Merge text nodes around position, and |
| adjust position and positionOnlyToBeUpdated accordingly. We need to call updatePositionForNodeRemoval when |
| positions were before or after the text node. |
| * editing/ReplaceSelectionCommand.h: |
| (ReplaceSelectionCommand): |
| |
| 2012-10-04 Tony Chang <tony@chromium.org> |
| |
| Fix <input type="month"> tests |
| https://bugs.webkit.org/show_bug.cgi?id=98426 |
| |
| Reviewed by Ojan Vafai. |
| |
| The month picker uses flexbox and assumes that it will be aligned with |
| the last line box. This looks visually correct. I will follow up on |
| www-style to see what the expected behavior is. |
| |
| Tests: fast/forms/month-multiple-fields tests cover this. |
| |
| * rendering/RenderFlexibleBox.cpp: |
| * rendering/RenderFlexibleBox.h: |
| |
| 2012-10-04 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r130396. |
| http://trac.webkit.org/changeset/130396 |
| https://bugs.webkit.org/show_bug.cgi?id=98421 |
| |
| This patch is causing crashes on 4 tests on Lion Debug and |
| Mountain Lion Debug (Requested by jernoble on #webkit). |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::calculateCompositedBounds): |
| (WebCore::RenderLayerCompositor::requiresCompositingForPosition): |
| * rendering/RenderLayerCompositor.h: |
| * testing/InternalSettings.cpp: |
| (WebCore::InternalSettings::Backup::Backup): |
| (WebCore::InternalSettings::Backup::restoreTo): |
| * testing/InternalSettings.h: |
| (Backup): |
| |
| 2012-10-04 Tony Chang <tony@chromium.org> |
| |
| inline-flex baseline is sometimes wrong |
| https://bugs.webkit.org/show_bug.cgi?id=96188 |
| |
| Reviewed by Ojan Vafai. |
| |
| Implement the necessary methods to get the proper baseline alignment of flexbox. |
| We were falling back to the inline-block behavior. |
| |
| Test: css3/flexbox/flexbox-baseline.html |
| |
| * rendering/RenderFlexibleBox.cpp: |
| (WebCore::RenderFlexibleBox::RenderFlexibleBox): |
| (WebCore::RenderFlexibleBox::baselinePosition): Used to get the baseline of the box. |
| Mostly just the first line box baseline. |
| (WebCore): |
| (WebCore::RenderFlexibleBox::lastLineBoxBaseline): This is used for getting the baseline when in an inline-block. |
| We actually don't want the last line, but the flexbox's baseline. |
| (WebCore::RenderFlexibleBox::firstLineBoxBaseline): Compute the baseline according to the rules in the spec. |
| (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Keep track of the number of children on the |
| first line so we don't have to re-compute this when getting the baseline. |
| (WebCore::RenderFlexibleBox::crossAxisExtentForChild): Make const. |
| (WebCore::RenderFlexibleBox::mainAxisExtentForChild): Make const. |
| (WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis): Make const. |
| * rendering/RenderFlexibleBox.h: Add a size_t to keep track of how many children are in the first line. |
| |
| 2012-10-04 Xianzhu Wang <wangxianzhu@chromium.org> |
| |
| [Chromium] Should set unitsPerEm in SimpleFontDataSkia.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=98100 |
| |
| Reviewed by Stephen White. |
| |
| At least on chromium-linux and chromium-android, unitsPerEm was not set |
| according to the information in the font, causing at least problems in |
| OpenTypeVerticalData when calculating vertical advance. |
| |
| Test: fast/writing-mode/vertical-font-vmtx-units-per-em.html |
| |
| * platform/graphics/skia/SimpleFontDataSkia.cpp: |
| (WebCore::SimpleFontData::platformInit): |
| |
| 2012-10-04 Simon Fraser <simon.fraser@apple.com> |
| |
| Standardize on "flush" terminology for compositing layer flushing/syncing |
| https://bugs.webkit.org/show_bug.cgi?id=98321 |
| |
| Reviewed by Simon Fraser. |
| |
| Rename compositing-related methods that refer to "syncing" to instead |
| refer to "flushing". |
| |
| * WebCore.exp.in: |
| * loader/EmptyClients.h: |
| (WebCore::EmptyChromeClient::scheduleCompositingLayerFlush): |
| * page/ChromeClient.h: |
| (ChromeClient): |
| * page/FrameView.cpp: |
| (WebCore::FrameView::flushCompositingStateForThisFrame): |
| (WebCore::FrameView::flushCompositingStateIncludingSubframes): |
| (WebCore::FrameView::paintContents): |
| * page/FrameView.h: |
| (FrameView): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::scheduleLayerFlush): |
| (WebCore::RenderLayerCompositor::flushPendingLayerChanges): |
| |
| 2012-10-04 Peter Rybin <peter.rybin@gmail.com> |
| |
| Web Inspector: expose object internal properties such as PrimitiveValue or BoundThis |
| https://bugs.webkit.org/show_bug.cgi?id=94397 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Internal property access is built from Injected Script to V8 debug API. JSC binding |
| has a stub imlpementation. Protocol is updated to explicitly reflect internal properties. |
| |
| Test: inspector-protocol/runtime-getProperties.html |
| |
| * bindings/js/JSInjectedScriptHostCustom.cpp: |
| (WebCore::JSInjectedScriptHost::getInternalProperties): |
| (WebCore): |
| * bindings/v8/DebuggerScript.js: |
| * bindings/v8/ScriptDebugServer.cpp: |
| (WebCore::ScriptDebugServer::getInternalProperties): |
| (WebCore): |
| * bindings/v8/ScriptDebugServer.h: |
| (ScriptDebugServer): |
| * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: |
| (WebCore::V8InjectedScriptHost::getInternalPropertiesCallback): |
| (WebCore): |
| * inspector/InjectedScript.cpp: |
| (WebCore::InjectedScript::getInternalProperties): |
| (WebCore): |
| * inspector/InjectedScript.h: |
| (InjectedScript): |
| * inspector/InjectedScriptHost.idl: |
| * inspector/InjectedScriptSource.js: |
| (.): |
| * inspector/Inspector.json: |
| * inspector/InspectorRuntimeAgent.cpp: |
| (WebCore::InspectorRuntimeAgent::getProperties): |
| * inspector/InspectorRuntimeAgent.h: |
| (InspectorRuntimeAgent): |
| |
| 2012-10-04 Sami Kyostila <skyostil@chromium.org> |
| |
| Fixed position visibility check does not consider descendants |
| https://bugs.webkit.org/show_bug.cgi?id=98144 |
| |
| Reviewed by Simon Fraser. |
| |
| The check against creating composition layers for invisible fixed positioned |
| elements is too aggressive in that it does not consider descendants of the |
| fixed positioned element that may be visible even though the element itself is |
| out of view. |
| |
| Fix the problem by calculating the true composited bounds of the fixed |
| element instead of just using the size of the fixed layer. Because calculating |
| the true bounds may be expensive, it is only done if the fixed layer itself is |
| invisible. |
| |
| Test: compositing/layer-creation/fixed-position-absolute-descendant.html |
| |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::calculateCompositedBounds): |
| (WebCore::RenderLayerCompositor::requiresCompositingForPosition): |
| * rendering/RenderLayerCompositor.h: |
| |
| 2012-10-04 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: When uiSourceCode content has diverged from VM script, call frames should be shown in temporary script based uiSourceCodes. |
| https://bugs.webkit.org/show_bug.cgi?id=98385 |
| |
| Reviewed by Pavel Feldman. |
| |
| When javaScriptSource diverges from VM, ResourceScriptMapping now switches debugging |
| to temporary VM scripts based uiSourceCode with isDivergedReplacement property set. |
| Added hasDivergedFromVM and isDivergingFromVM properties to JavaScriptSource. |
| JavaScriptSourceFrame and ScriptSnippetsModel are updated to process breakpoint changes correctly. |
| |
| * inspector/front-end/BreakpointManager.js: |
| (WebInspector.BreakpointManager.prototype.restoreBreakpoints): |
| (WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved): |
| * inspector/front-end/JavaScriptSource.js: |
| (WebInspector.JavaScriptSource.prototype.workingCopyCommitted): |
| (WebInspector.JavaScriptSource.prototype.workingCopyChanged): |
| (WebInspector.JavaScriptSource.prototype.fireHasDivergedFromVMChanged): |
| * inspector/front-end/JavaScriptSourceFrame.js: |
| (WebInspector.JavaScriptSourceFrame.prototype.commitEditing): |
| (WebInspector.JavaScriptSourceFrame.prototype._hasDivergedFromVM): |
| (WebInspector.JavaScriptSourceFrame.prototype.onTextChanged): |
| (WebInspector.JavaScriptSourceFrame.prototype._getBreakpointDecorations): |
| (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing): |
| (WebInspector.JavaScriptSourceFrame.prototype._didEditContent): |
| (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing): |
| (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration): |
| * inspector/front-end/ResourceScriptMapping.js: |
| (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation): |
| (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVMChanged): |
| (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts): |
| (WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode): |
| * inspector/front-end/ScriptSnippetModel.js: |
| (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): |
| (WebInspector.ScriptSnippetModel.prototype._restoreBreakpoints): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._revealExecutionLine): |
| * inspector/front-end/UISourceCode.js: |
| (WebInspector.UISourceCode.prototype.formatted): |
| |
| 2012-10-04 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: Scripts panel should not automatically switch to snippet evaluation when previously evaluated snippet is edited. |
| https://bugs.webkit.org/show_bug.cgi?id=98402 |
| |
| Reviewed by Pavel Feldman. |
| |
| Scripts panel does not automatically switch to snippet evaluation when |
| one edits previously evaluated snippet. |
| |
| * inspector/front-end/ScriptSnippetModel.js: |
| (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript): |
| * inspector/front-end/ScriptsPanel.js: |
| (WebInspector.ScriptsPanel.prototype._revealExecutionLine): |
| |
| 2012-10-04 Balazs Kelemen <kbalazs@webkit.org> |
| |
| Don't allow to disable compositing in forced compositing mode |
| https://bugs.webkit.org/show_bug.cgi?id=98048 |
| |
| Reviewed by Jocelyn Turcotte. |
| |
| Make forced compositing mode imply accelerated compositing. This will |
| avoid unexpected situations for platforms that don't want to support |
| the non-accelerated rendering path. |
| |
| Covered by existing tests. |
| |
| * WebCore.exp.in: Export Settings::setAcceleratedCompositingEnabled |
| because it has been deinlined. |
| * page/Settings.cpp: |
| (WebCore::Settings::setAcceleratedCompositingEnabled): |
| (WebCore::Settings::setForceCompositingMode): |
| (WebCore): |
| * page/Settings.h: |
| (Settings): |
| (WebCore::Settings::forceCompositingMode): Make it const as a side fix. |
| |
| 2012-10-04 Harald Alvestrand <hta@google.com> |
| |
| Change RTCPeerConnection GetStats to use Date timestamp format |
| https://bugs.webkit.org/show_bug.cgi?id=98263 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Tested by extension to RTCPeerConnection-stats test. |
| |
| * Modules/mediastream/RTCStatsElement.cpp: |
| (WebCore::RTCStatsElement::create): |
| (WebCore::RTCStatsElement::RTCStatsElement): |
| * Modules/mediastream/RTCStatsElement.h: long -> double |
| (RTCStatsElement): |
| (WebCore::RTCStatsElement::timestamp): |
| * Modules/mediastream/RTCStatsElement.idl: long -> Date |
| * Modules/mediastream/RTCStatsReport.cpp: |
| (WebCore::RTCStatsReport::addElement): |
| * Modules/mediastream/RTCStatsReport.h: |
| (RTCStatsReport): |
| * Modules/mediastream/RTCStatsResponse.cpp: |
| (WebCore::RTCStatsResponse::addElement): |
| * Modules/mediastream/RTCStatsResponse.h: |
| (RTCStatsResponse): |
| * platform/chromium/support/WebRTCStatsResponse.cpp: |
| (WebKit::WebRTCStatsResponse::addElement): |
| * platform/mediastream/RTCStatsResponseBase.h: |
| (RTCStatsResponseBase): |
| |
| 2012-10-04 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r130377. |
| http://trac.webkit.org/changeset/130377 |
| https://bugs.webkit.org/show_bug.cgi?id=98392 |
| |
| Chromium Win compilation is broken (Requested by yurys on |
| #webkit). |
| |
| * Modules/mediastream/RTCStatsElement.cpp: |
| (WebCore::RTCStatsElement::create): |
| (WebCore::RTCStatsElement::RTCStatsElement): |
| * Modules/mediastream/RTCStatsElement.h: |
| (RTCStatsElement): |
| (WebCore::RTCStatsElement::timestamp): |
| * Modules/mediastream/RTCStatsElement.idl: |
| * Modules/mediastream/RTCStatsReport.cpp: |
| (WebCore::RTCStatsReport::addElement): |
| * Modules/mediastream/RTCStatsReport.h: |
| (RTCStatsReport): |
| * Modules/mediastream/RTCStatsResponse.cpp: |
| (WebCore::RTCStatsResponse::addElement): |
| * Modules/mediastream/RTCStatsResponse.h: |
| (RTCStatsResponse): |
| * platform/chromium/support/WebRTCStatsResponse.cpp: |
| (WebKit::WebRTCStatsResponse::addElement): |
| * platform/mediastream/RTCStatsResponseBase.h: |
| (RTCStatsResponseBase): |
| |
| 2012-10-04 Harald Alvestrand <hta@google.com> |
| |
| Change RTCPeerConnection GetStats to use Date timestamp format |
| https://bugs.webkit.org/show_bug.cgi?id=98263 |
| |
| Reviewed by Adam Barth. |
| |
| Tested by extension to RTCPeerConnection-stats test. |
| |
| * Modules/mediastream/RTCStatsElement.cpp: |
| (WebCore::RTCStatsElement::create): |
| (WebCore::RTCStatsElement::RTCStatsElement): |
| * Modules/mediastream/RTCStatsElement.h: long -> double |
| (RTCStatsElement): |
| (WebCore::RTCStatsElement::timestamp): |
| * Modules/mediastream/RTCStatsElement.idl: long -> Date |
| * Modules/mediastream/RTCStatsReport.cpp: |
| (WebCore::RTCStatsReport::addElement): |
| * Modules/mediastream/RTCStatsReport.h: |
| (RTCStatsReport): |
| * Modules/mediastream/RTCStatsResponse.cpp: |
| (WebCore::RTCStatsResponse::addElement): |
| * Modules/mediastream/RTCStatsResponse.h: |
| (RTCStatsResponse): |
| * platform/chromium/support/WebRTCStatsResponse.cpp: |
| (WebKit::WebRTCStatsResponse::addElement): |
| * platform/mediastream/RTCStatsResponseBase.h: |
| (RTCStatsResponseBase): |
| |
| 2012-10-05 Kent Tamura <tkent@chromium.org> |
| |
| [Chromium] Enable the multiple fields UI for input[type=date] |
| https://bugs.webkit.org/show_bug.cgi?id=98351 |
| |
| Reviewed by Hajime Morita. |
| |
| Touch files related to ENABLE_INPUT_TYPE_DATE_LEGACY_UI to avoid build |
| issues. |
| |
| No new tests. Many tests will be landed shortly. |
| |
| * html/DateInputType.cpp: |
| * html/DateInputType.h: |
| |
| 2012-10-04 Kent Tamura <tkent@chromium.org> |
| |
| Add code for input[type=date] with the multiple fields UI |
| https://bugs.webkit.org/show_bug.cgi?id=98340 |
| |
| Reviewed by Hajime Morita. |
| |
| The new code is available if !ENABLE(INPUT_TYPE_DATE_LEGACY_UI). At this |
| moment, there are no platforms enabling the new code. We're going to |
| enable it soon on desktop Chromium, and add tests. Then we're going to |
| remove the code for ENABLE(INPUT_TYPE_DATE_LEGACY_UI). |
| |
| ENABLE(INPUT_TYPE_DATE_LEGACY_UI) means the current UI; input[type=date] |
| is represetnted as a kind of text field, and it has code to invoke a |
| calendar picker. |
| ENABLE(CALENDAR_PICKER) was used wrongly. It meant calendar picker |
| support + text field UI of input[type=date]. Now it means only calendar |
| picker support. |
| |
| * html/DateInputType.h: |
| (WebCore): If ENABLE(INPUT_MULTIPLE_FIELDS_UI) && |
| !ENABLE(INPUT_TYPE_DATE_LEGACY_UI), change the base class to the class |
| for multiple fields UI. |
| (DateInputType): Wrap the code for text fields behavior and calendar |
| picker UI with ENABLE(INPUT_TYPE_DATE_LEGACY_UI). Add functions for |
| ENABLE(INPUT_MULTIPLE_FIELDS_UI) |
| * html/DateInputType.cpp: |
| (WebCore::DateInputType::DateInputType): |
| Change the flag name; CALENDAR_PICKER -> INPUT_TYPE_DATE_LEGACY_UI |
| (WebCore): ditto. |
| (WebCore::DateInputType::formatDateTimeFieldsState): |
| A callback for multiple fields UI. This constructs a string value from |
| each of values of multiple fields. |
| Note that we don't need to do +1 to month(). |
| (WebCore::DateInputType::setupLayoutParameters): |
| A callback for multiple fields UI. Passes information to build UI. |
| |
| * html/BaseMultipleFieldsDateAndTimeInputType.h: |
| (BaseMultipleFieldsDateAndTimeInputType): |
| Add m_pickerIndicatorIsAlwaysVisible member, wrap some members with flags. |
| * html/BaseMultipleFieldsDateAndTimeInputType.cpp: |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType): |
| Initialize m_pickerIndicatorIsAlwaysVisible. |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree): |
| If a type supports calendar picker, we should always show the picker |
| indicator. We introduce m_pickerIndicatorIsAlwaysVisible flag, and ask |
| RenderTheme for support status of each of types. |
| Add a local variable 'document' to avoid multiple element()->document(). |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::updatePickerIndicatorVisibility): |
| - If m_pickerIndicatorIsAlwaysVisible, don't hide the picker indicator element. |
| - Wrap the code with appropriate flags. |
| |
| * rendering/RenderTheme.h: |
| (WebCore::RenderTheme::supportsCalendarPicker): Added. |
| * rendering/RenderThemeChromiumMac.h: Override supportsCalendarPicker. |
| * rendering/RenderThemeChromiumMac.mm: |
| (WebCore::RenderThemeChromiumMac::supportsCalendarPicker): |
| Added. Delegate to RenderThemeChromiumCommon. |
| * rendering/RenderThemeChromiumSkia.h: Override supportsCalendarPicker. |
| * rendering/RenderThemeChromiumSkia.cpp: |
| (WebCore::RenderThemeChromiumSkia::supportsCalendarPicker): |
| Added. Delegate to RenderThemeChromiumCommon. |
| * rendering/RenderThemeChromiumCommon.h: |
| (RenderThemeChromiumCommon): Declare supportsCalendarPicker. |
| * rendering/RenderThemeChromiumCommon.cpp: |
| (WebCore::RenderThemeChromiumCommon::supportsCalendarPicker): |
| Returns true if the type is "date." |
| |
| * html/DateTimeFieldsState.h: |
| (DateTimeFieldsState): Add a comment for the m_month field. |
| |
| 2012-10-04 Kent Tamura <tkent@chromium.org> |
| |
| DateTimeYearFieldElement should respect min/max values specified by page authors |
| https://bugs.webkit.org/show_bug.cgi?id=98227 |
| |
| Reviewed by Hajime Morita. |
| |
| Before this patch, we always set 1 to the minimum limit and 275760 to |
| the maximum limit for a year field, and a user can specify any year |
| regardless of min/max attributes. Such wide range is unnecessary for |
| normal applications and we should provide a way to limit the range. |
| |
| Test: fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html |
| |
| * html/shadow/DateTimeFieldElements.h: |
| To add four constructor arguments, introduce Parameters struct. |
| Actually, we add the followings; |
| - minimum year in UI |
| - maximum year in UI |
| - min attribute is specified |
| - max attribute is specified |
| (Parameters): |
| (WebCore::DateTimeYearFieldElement::Parameters::Parameters): |
| (DateTimeYearFieldElement): |
| * html/shadow/DateTimeFieldElements.cpp: |
| (WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement): ditto. |
| (WebCore::DateTimeYearFieldElement::create): ditto. |
| (WebCore::DateTimeYearFieldElement::clampValueForHardLimits): |
| Override DateTimeNumericFieldElement::clampValueForHardLimits. |
| By this, we allow to set out-of-range year values. |
| (WebCore::currentFullYear): A helper to get the current year. |
| (WebCore::DateTimeYearFieldElement::defaultValueForStepDown): |
| If the field has no value and step down operation occurs, |
| - the field has the current year if the max attribute is not specified. |
| - the field has the maximum value otherwise. |
| (WebCore::DateTimeYearFieldElement::defaultValueForStepUp): Similar change. |
| |
| * html/shadow/DateTimeNumericFieldElement.h: |
| (DateTimeNumericFieldElement): Declare clampValueForHardLimits. |
| * html/shadow/DateTimeNumericFieldElement.cpp: |
| (WebCore::DateTimeNumericFieldElement::clampValueForHardLimits): |
| (WebCore::DateTimeNumericFieldElement::setValueAsInteger): |
| Call clampValueForHardLimits instead of clampValue in order to |
| distinguish limits for UI and limits for internal value update. |
| |
| * html/shadow/DateTimeEditElement.h: |
| (LayoutParameters): Add minimumYear and maximumYear members. |
| (WebCore::DateTimeEditElement::LayoutParameters::LayoutParameters): |
| Initialize minimumYear and maximumYear. |
| (WebCore::DateTimeEditElement::LayoutParameters::undefinedYear): |
| Represents 'undefined' value for minimumYear and maximumYear. |
| * html/shadow/DateTimeEditElement.cpp: |
| (WebCore::DateTimeEditBuilder::visitField): |
| Preparas DateTimeYearField::Parameters and pass it to the DateTimeYearField factory. |
| |
| * html/BaseMultipleFieldsDateAndTimeInputType.cpp: |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::fullYear): |
| A helper to get a year value from an attribute value string. |
| * html/BaseMultipleFieldsDateAndTimeInputType.h: |
| (BaseMultipleFieldsDateAndTimeInputType): Add fullYear(). |
| |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::setupLayoutParameters): |
| Set LayoutParameters::minimumYear and maximumYear. |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::setupLayoutParameters): ditto. |
| * html/MonthInputType.cpp: |
| (WebCore::MonthInputType::setupLayoutParameters): ditto. |
| * html/WeekInputType.cpp: |
| (WebCore::WeekInputType::setupLayoutParameters): ditto. |
| |
| 2012-10-03 Adam Barth <abarth@webkit.org> |
| |
| Unreviewed. Fix parse error in vcproj file. |
| |
| * WebCore.vcproj/WebCore.vcproj: |
| |
| 2012-10-03 Keishi Hattori <keishi@webkit.org> |
| |
| Implement localizeValue for TimeInputType |
| https://bugs.webkit.org/show_bug.cgi?id=98237 |
| |
| Reviewed by Kent Tamura. |
| |
| We want to localize time values for the suggestion picker. |
| DateTimeStringBuilder parses a format and creates a formatted string. |
| |
| Added chromium unit test LocaleMacTest.formatTime |
| |
| * html/BaseMultipleFieldsDateAndTimeInputType.cpp: |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldHaveSecondField): Moved from LayoutParameters because we want to use it inside localizeValue. |
| (WebCore): |
| * html/BaseMultipleFieldsDateAndTimeInputType.h: |
| (BaseMultipleFieldsDateAndTimeInputType): |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::setupLayoutParameters): |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::setupLayoutParameters): |
| * html/TimeInputType.cpp: |
| (WebCore::TimeInputType::localizeValue): |
| (WebCore): |
| (WebCore::TimeInputType::setupLayoutParameters): |
| * html/TimeInputType.h: |
| (TimeInputType): |
| * html/shadow/DateTimeEditElement.cpp: |
| (WebCore): |
| * html/shadow/DateTimeEditElement.h: |
| (WebCore::DateTimeEditElement::LayoutParameters::LayoutParameters): |
| * platform/text/LocaleICU.cpp: |
| (WebCore::LocaleICU::formatDateTime): Calls Localizer::formatDateTime if the date component is not a date. |
| * platform/text/LocaleICU.h: |
| (LocaleICU): |
| * platform/text/LocaleWin.cpp: |
| (WebCore::LocaleWin::formatDateTime): Calls Localizer::formatDateTime if the date component is not a date. |
| * platform/text/LocaleWin.h: |
| (LocaleWin): |
| * platform/text/LocaleNone.cpp: |
| (LocaleNone): |
| (WebCore::LocaleNone::formatDateTime): |
| * platform/text/Localizer.cpp: |
| (DateTimeStringBuilder): |
| (WebCore): |
| (WebCore::DateTimeStringBuilder::DateTimeStringBuilder): Takes a |
| Localizer pointer. This is used inside the Localizer so the Localizer |
| will out live the DateTimeStringBuilder. |
| (WebCore::DateTimeStringBuilder::build): Builds a localized string for the given format. |
| (WebCore::DateTimeStringBuilder::zeroPadString): |
| (WebCore::DateTimeStringBuilder::appendNumber): Appends a number with left zero padding to match width. |
| (WebCore::DateTimeStringBuilder::visitField): |
| (WebCore::DateTimeStringBuilder::visitLiteral): |
| (WebCore::DateTimeStringBuilder::toString): Returns the localized string. |
| (WebCore::Localizer::formatDateTime): |
| * platform/text/Localizer.h: |
| * platform/text/mac/LocaleMac.h: |
| (LocaleMac): |
| * platform/text/mac/LocaleMac.mm: |
| (WebCore::LocaleMac::formatDateTime): Calls Localizer::formatDateTime if the date component is not a date. |
| |
| 2012-10-03 Douglas Stockwell <dstockwell@chromium.org> |
| |
| Chromium needs support for border radius clipping |
| https://bugs.webkit.org/show_bug.cgi?id=69866 |
| |
| Reviewed by Stephen White. |
| |
| Changes to make this suitably efficient have already landed upstream in skia: |
| http://code.google.com/p/skia/source/detail?r=2924 |
| |
| Covered by existing tests. |
| |
| * rendering/RenderLayer.cpp: |
| |
| 2012-10-03 Benjamin Poulain <bpoulain@apple.com> |
| |
| Simplify attribute access in Element::computeInheritedLanguage |
| https://bugs.webkit.org/show_bug.cgi?id=98327 |
| |
| Reviewed by Andreas Kling. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::computeInheritedLanguage): |
| By using Element::fastGetAttribute(), we check for the existence of attributeData twice |
| and do a bunch of useless operation on AtomicString. |
| |
| By using ElementAttributeData directly, we can cut it to the two important branch. |
| |
| 2012-10-03 Kangil Han <kangil.han@samsung.com> |
| |
| Fix unused parameter compile warnings. |
| https://bugs.webkit.org/show_bug.cgi?id=98243 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Fixed unused parameter compile warning by removing parameter names and adding UNUSED_PARAM usage. |
| |
| * plugins/PluginDebug.cpp: |
| (WebCore::prettyNameForNPPVariable): |
| * plugins/npapi.cpp: |
| (NPN_MemFlush): |
| (NPN_RequestRead): |
| (NPN_GetJavaPeer): |
| |
| 2012-10-03 Adam Barth <abarth@webkit.org> |
| |
| Measure the usage of WebSQLDatabase |
| https://bugs.webkit.org/show_bug.cgi?id=98330 |
| |
| Reviewed by Ojan Vafai. |
| |
| WebKit is the only engine that implements WebSQLDatabase. This patch |
| causes us to measure its usage so we can see how quickly web sites move |
| to IndexedDB. |
| |
| * Modules/webdatabase/DOMWindowWebDatabase.idl: |
| * page/FeatureObserver.h: |
| |
| 2012-10-03 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| [soup] WebKit crashes when doing a http request |
| https://bugs.webkit.org/show_bug.cgi?id=98055 |
| |
| Reviewed by Martin Robinson. |
| |
| On i386, (d->m_firstRequest.timeoutInterval() * 1000) results in 0 if |
| timeoutInterval() is INT_MAX. So, set default timeout to 0 to avoid |
| calling soup_add_timeout with a 0 value. |
| |
| Also, if resource handle is deleted before "request-started" signal is |
| emitted, soupMessage handle points to a deleted object, and a crash |
| occurs. So, reset soupMessage handle data in |
| cleanupSoupRequestOperation so it won't happen anymore. |
| |
| Lastly, if timeout occurs before request is completed, handle is |
| deleted, and crash occurs in sendRequestCallback due to an early |
| destroyed handle. To avoid that, call handle->cancel in |
| requestTimeoutCallback. There is no need to call |
| cleanupSoupRequestOperation anymore since handle->cancel will trigger |
| sendRequestCallback, and as handle is deleted, |
| cleanupSoupRequestOperation will be called automatically. |
| |
| No new tests yet, tests will be added with the patch in bug 74802. |
| |
| * platform/network/ResourceRequestBase.cpp: |
| (WebCore): |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::cleanupSoupRequestOperation): |
| (WebCore::ResourceHandle::platformSetDefersLoading): |
| (WebCore::requestTimeoutCallback): |
| |
| 2012-10-03 Adam Barth <abarth@webkit.org> |
| |
| Remove support for ENABLE(LEGACY_WEBKIT_BLOB_BUILDER) |
| https://bugs.webkit.org/show_bug.cgi?id=98301 |
| |
| Reviewed by Eric Seidel. |
| |
| According to anonymous usage statistics, the APIs guarded by |
| ENABLE(LEGACY_WEBKIT_BLOB_BUILDER) are used on approximately 0.006% of |
| web pages. Given that this feature is only enabled in GTK and Chromium, |
| it seems likely that we should remove it. |
| |
| * CMakeLists.txt: |
| * DerivedSources.make: |
| * DerivedSources.pri: |
| * GNUmakefile.features.am: |
| * GNUmakefile.list.am: |
| * WebCore.gypi: |
| * WebCore.xcodeproj/project.pbxproj: |
| * fileapi/WebKitBlobBuilder.idl: Removed. |
| * page/DOMWindow.idl: |
| |
| 2012-10-03 Beth Dakin <bdakin@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=98313 |
| ScrollingStateNode should keep a Vector of children instead of child |
| pointers |
| |
| Reviewed by Simon Fraser. |
| |
| This patch re-names ScrollingStateNode::cloneNode() to |
| ScrollingStateNode::cloneAndResetNode(). The new function resets the |
| change properties of the current node after cloning it, and it also |
| takes care of cloning children, which the old function did not do. |
| |
| m_firstChild and m_nextSibling are gone. Use the m_children Vector |
| instead. |
| * page/scrolling/ScrollingStateNode.cpp: |
| (WebCore::ScrollingStateNode::cloneAndResetChildNodes): |
| (WebCore::ScrollingStateNode::appendChild): |
| * page/scrolling/ScrollingStateNode.h: |
| (ScrollingStateNode): |
| (WebCore::ScrollingStateNode::parent): |
| (WebCore::ScrollingStateNode::setParent): |
| |
| Reset the change properties and clone children in cloneAndResetNode() |
| * page/scrolling/ScrollingStateScrollingNode.cpp: |
| (WebCore::ScrollingStateScrollingNode::cloneAndResetNode): |
| * page/scrolling/ScrollingStateScrollingNode.h: |
| |
| Yay, this function can be vastly simplified now that we don't have |
| those messy child and sibling pointers. |
| * page/scrolling/ScrollingStateTree.cpp: |
| (WebCore::ScrollingStateTree::commit): |
| |
| 2012-10-03 Ojan Vafai <ojan@chromium.org> |
| |
| Replace uses of -webkit-box-sizing with box-sizing |
| https://bugs.webkit.org/show_bug.cgi?id=98312 |
| |
| Reviewed by Tony Chang. |
| |
| No need to use the prefixed version when the unprefixed works the same. |
| No new tests since there's no change in behavior.. |
| |
| * css/html.css: |
| |
| 2012-10-03 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Don't do full commit for empty transactions |
| https://bugs.webkit.org/show_bug.cgi?id=89239 |
| |
| Reviewed by Tony Chang. |
| |
| Don't bother creating a leveldb write batch if there's nothing in the transaction |
| to commit. Note that a read-only transaction may still have index cleanup so may |
| not be an empty transaction. |
| |
| This cuts the Lookup2 benchmark in http://reyesr.github.com/html5-storage-benchmark/ |
| from 70s to 2s. |
| |
| Covered by existing tests, e.g. storage/indexeddb/transaction-basics.html |
| |
| * platform/leveldb/LevelDBTransaction.cpp: |
| (WebCore::LevelDBTransaction::commit): |
| |
| 2012-10-03 Adam Klein <adamk@chromium.org> |
| |
| Remove bogus FIXME from Document.idl |
| https://bugs.webkit.org/show_bug.cgi?id=98302 |
| |
| Reviewed by Adam Barth. |
| |
| The FIXME claimed that document.body throwing an exception was not |
| specced, but in fact it is: |
| http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#dom-document-body |
| |
| * dom/Document.idl: |
| |
| 2012-10-03 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Memory leak when deleting object stores with indexes |
| https://bugs.webkit.org/show_bug.cgi?id=98292 |
| |
| Reviewed by Tony Chang. |
| |
| Reference cycles between IDBObjectStore and IDBIndex instances are explicitly |
| broken when the transaction completes (and the spec allows traversal to fail). |
| Deleted stores need to have the reference cycle broken too. |
| |
| Caught by running valgrind over: storage/indexeddb/keypath-basics.html |
| |
| * Modules/indexeddb/IDBTransaction.cpp: |
| (WebCore::IDBTransaction::objectStoreDeleted): Add store to set. |
| (WebCore::IDBTransaction::dispatchEvent): Notify stores in set. |
| * Modules/indexeddb/IDBTransaction.h: Add set of deleted stores. |
| |
| 2012-10-03 Adam Barth <abarth@webkit.org> |
| |
| CSSNamespace.h is empty and should be deleted |
| https://bugs.webkit.org/show_bug.cgi?id=98304 |
| |
| Reviewed by Eric Seidel. |
| |
| There's no reason to have this file in the repository. |
| |
| * GNUmakefile.list.am: |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * WebCore.xcodeproj/project.pbxproj: |
| * css/CSSNamespace.h: Removed. |
| |
| 2012-10-03 Arnaud Renevier <a.renevier@sisa.samsung.com> |
| |
| Build failure with css filters enabled and accelerated compositing disabled |
| https://bugs.webkit.org/show_bug.cgi?id=95908 |
| |
| Reviewed by Tony Chang. |
| |
| Do not try to setBackingNeedsRepaint when building without accelerated |
| compositing. |
| |
| Also, allow painting with filter (paintsWithFilters returns true if |
| renderer has filter) when accelerated compositing is not enabled. |
| |
| No functional change, so no new tests. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::styleChanged): |
| |
| 2012-10-03 Emil A Eklund <eae@chromium.org> |
| |
| Round image sizes when zooming |
| https://bugs.webkit.org/show_bug.cgi?id=98205 |
| |
| Reviewed by Eric Seidel. |
| |
| We currently floor image sizes when zooming which can result in |
| images being rendered at one pixel less than the actual size. |
| This is especially likely to happen for very large images. |
| |
| Test: fast/sub-pixel/zoomed-image-tiles.html |
| |
| * loader/cache/CachedImage.cpp: |
| (WebCore::CachedImage::imageSizeForRenderer): |
| |
| 2012-10-03 Hugo Parente Lima <hugo.lima@openbossa.org> |
| |
| [WK2] PageViewportController.cpp is supposed to be a generic WebKit2 file but only works with Qt port. |
| https://bugs.webkit.org/show_bug.cgi?id=98186 |
| |
| Reviewed by Noam Rosenthal. |
| |
| Remove the implicit conversion from WebCore::FloatSize to QSize. |
| |
| * platform/graphics/FloatSize.h: |
| (FloatSize): |
| |
| 2012-10-03 Levi Weintraub <leviw@chromium.org> |
| |
| [Sub-pixel layout] incorrect rendering when painting sub-layers as their own root |
| https://bugs.webkit.org/show_bug.cgi?id=97484 |
| |
| Reviewed by Eric Seidel. |
| |
| When in compositing mode, layer painting can be triggered through the backing store. When this |
| happens, a non-top-level RenderLayer is called to paint as its own root. Normally, we attempt to preserve |
| the proper sub-pixel accumulation through layers to their children, but since we're not |
| starting with the top-level layer, we haven't properly accumulated one, and convertToLayerCoords, |
| another source of correctly getting the sub-pixel offset for a layer, also avoids crawling |
| past the listed root layer. |
| |
| When painting a root layer, we're aligned to the surface we're painting to, so we round our |
| offset to avoid moving objects around. |
| |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayerContents): |
| |
| 2012-10-03 Jeff Timanus <twiz@chromium.org> |
| |
| [chromium] Expose settings value to conditionally enable pinch-zoom scaling in the Chromium compositor. The |
| flag defaults to disabled, so this change should be a no-op for scaling/scrolling behaviour. |
| https://bugs.webkit.org/show_bug.cgi?id=93292 |
| |
| Reviewed by James Robinson. |
| |
| Tests: Existing page-scale layout tests. |
| |
| * page/Frame.cpp: |
| (WebCore::Frame::frameScaleFactor): |
| * page/Settings.cpp: |
| (WebCore::Settings::Settings): |
| * page/Settings.h: |
| (WebCore::Settings::setApplyPageScaleFactorInCompositor): |
| (WebCore::Settings::applyPageScaleFactorInCompositor): |
| (Settings): |
| |
| 2012-10-03 Stephen Chenney <schenney@chromium.org> |
| |
| Font data is purged while fonts are still using it |
| https://bugs.webkit.org/show_bug.cgi?id=93640 |
| |
| Reviewed by Eric Seidel. |
| |
| Move the handling of custom font pruning from Document to FontFallbackList. |
| The previous inplementation allowed fonts to be removed before all their |
| clients were done. This change moves handling of custom font purging to the |
| FontFallbackList class, which is the shared object that is only removed |
| when all clients of a font are done with it. This fixes a crash in Angry |
| Birds due to a seamless iframe and some failing tests in fast/frames/seamless. |
| |
| The specific element that causes problems is: |
| <iframe id="ingame_frame0" name="ingame_frame0" frameborder="0" seamless="true" |
| src="http://chrome.angrybirds.com/ingame_graphic.html" |
| onload="this.style.opacity = 1; parent.adLoaded();" scrolling="no" |
| style="opacity: 1; -webkit-transition: opacity 1s ease-in-out 0s; |
| position: absolute; border: 0px; width: 312px; height: 320px; z-index: |
| 300; overflow: hidden; visibility: visible;"></iframe> |
| The source document uses the same font as the embedding document. |
| |
| Tests: fast/frames/seamless/seamless-custom-font-pruning-crash.html |
| fast/frames/seamless/seamless-nested-crash.html |
| |
| * css/CSSFontFaceSource.cpp: |
| (WebCore::CSSFontFaceSource::getFontData): Remove code to register the font with the document. |
| * css/CSSSegmentedFontFace.cpp: |
| (WebCore::CSSSegmentedFontFace::getFontData): Remove code to register the font with the document. |
| * dom/Document.cpp: |
| (WebCore::Document::~Document): Remove code that records and purges custom fonts. |
| (WebCore): |
| (WebCore::Document::reportMemoryUsage): Remove reference to non-existent objects. |
| * dom/Document.h: |
| (WebCore): |
| (Document): Remove method declarations for custom font handling. |
| * platform/graphics/FontFallbackList.h: |
| (FontFallbackList): Moved some code around and made non-copyable. |
| (WebCore::FontFallbackList::setGlyphPageZero): Moved. |
| (WebCore::FontFallbackList::setGlyphPages): Moved. |
| * platform/graphics/GlyphPageTreeNode.cpp: |
| (WebCore::GlyphPageTreeNode::pruneFontData): Removed unnecessary null check. |
| * platform/graphics/SegmentedFontData.cpp: |
| (WebCore::SegmentedFontData::~SegmentedFontData): Added code to prune the Glyph pages when this is deleted. |
| * platform/graphics/SimpleFontData.cpp: |
| (WebCore::SimpleFontData::~SimpleFontData): Added code to prune the Glyph pages when this is deleted. |
| |
| 2012-10-03 Adam Barth <abarth@webkit.org> |
| |
| Crash when calling document.open during unload |
| https://bugs.webkit.org/show_bug.cgi?id=98287 |
| |
| Reviewed by Nate Chapin. |
| |
| Calling document.open results in us nulling out m_documentLoader. This |
| code doesn't properly handle that case and crashes. |
| |
| Test: fast/parser/document-open-in-unload.html |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::commitProvisionalLoad): |
| |
| 2012-10-03 Benjamin Poulain <bpoulain@apple.com> |
| |
| Element::computeInheritedLanguage: evaluate the while() condition after fetching the string |
| https://bugs.webkit.org/show_bug.cgi?id=98220 |
| |
| Reviewed by Andreas Kling. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::computeInheritedLanguage): |
| The condition is never false on the first execution. Move the condition to the |
| end of the loop for fun and profit. |
| |
| 2012-10-03 Hans Wennborg <hans@chromium.org> |
| |
| Speech JavaScript API: Add SpeechRecognition.interimResults attribute |
| https://bugs.webkit.org/show_bug.cgi?id=98279 |
| |
| Reviewed by Adam Barth. |
| |
| Add the interimResults attribute and pass it to the embedder. It was |
| added to the spec draft in |
| http://dvcs.w3.org/hg/speech-api/rev/d25fea0d029c |
| |
| Tested in fast/speech/scripted/basics.html |
| |
| * Modules/speech/SpeechRecognition.cpp: |
| (WebCore::SpeechRecognition::start): |
| (WebCore::SpeechRecognition::SpeechRecognition): |
| * Modules/speech/SpeechRecognition.h: |
| (WebCore::SpeechRecognition::interimResults): |
| (WebCore::SpeechRecognition::setInterimResults): |
| * Modules/speech/SpeechRecognition.idl: |
| * Modules/speech/SpeechRecognitionClient.h: |
| (SpeechRecognitionClient): |
| * Modules/speech/SpeechRecognitionController.h: |
| (WebCore::SpeechRecognitionController::start): |
| |
| 2012-10-03 Hans Wennborg <hans@chromium.org> |
| |
| Speech JavaScript API: Remove resultdeleted event |
| https://bugs.webkit.org/show_bug.cgi?id=98272 |
| |
| Reviewed by Adam Barth. |
| |
| Remove the resultdeleted event. This was never used, and was removed |
| from the spec draft in |
| http://dvcs.w3.org/hg/speech-api/rev/f9d53ab8b449 |
| |
| The fast/speech/scripted/basics.html test is updated to reflect this. |
| |
| * Modules/speech/SpeechRecognition.cpp: |
| * Modules/speech/SpeechRecognition.h: |
| (SpeechRecognition): |
| * Modules/speech/SpeechRecognition.idl: |
| * Modules/speech/SpeechRecognitionEvent.cpp: |
| * Modules/speech/SpeechRecognitionEvent.h: |
| (SpeechRecognitionEvent): |
| * dom/EventNames.h: |
| (WebCore): |
| |
| 2012-09-16 Mark Hahnenberg <mhahnenberg@apple.com> |
| |
| Delayed structure sweep can leak structures without bound |
| https://bugs.webkit.org/show_bug.cgi?id=96546 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This patch gets rid of the separate Structure allocator in the MarkedSpace and adds two new destructor-only |
| allocators. We now have separate allocators for our three types of objects: those objects with no destructors, |
| those objects with destructors and with immortal structures, and those objects with destructors that don't have |
| immortal structures. All of the objects of the third type (destructors without immortal structures) now |
| inherit from a new class named JSDestructibleObject (which in turn is a subclass of JSNonFinalObject), which stores |
| the ClassInfo for these classes at a fixed offset for safe retrieval during sweeping/destruction. |
| |
| No new tests. |
| |
| * ForwardingHeaders/runtime/JSDestructableObject.h: Added. |
| * bindings/js/JSDOMWrapper.h: Inherits from JSDestructibleObject. |
| (JSDOMWrapper): |
| (WebCore::JSDOMWrapper::JSDOMWrapper): |
| * bindings/scripts/CodeGeneratorJS.pm: Add finalizers to anything that inherits from JSGlobalObject, |
| e.g. JSDOMWindow and JSWorkerContexts. For those classes we also need to define needsDestruction as true. |
| (GenerateHeader): |
| * bridge/objc/objc_runtime.h: Inherit from JSDestructibleObject. |
| (ObjcFallbackObjectImp): |
| * bridge/objc/objc_runtime.mm: |
| (Bindings): |
| (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): |
| * bridge/runtime_array.cpp: Use a finalizer so that JSArray isn't forced to inherit from JSDestructibleObject. |
| (JSC): |
| (JSC::RuntimeArray::destroy): |
| * bridge/runtime_array.h: |
| (JSC::RuntimeArray::create): |
| (JSC): |
| * bridge/runtime_object.cpp: Inherit from JSDestructibleObject. |
| (Bindings): |
| (JSC::Bindings::RuntimeObject::RuntimeObject): |
| * bridge/runtime_object.h: |
| (RuntimeObject): |
| |
| 2012-10-02 Anders Carlsson <andersca@apple.com> |
| |
| Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory |
| https://bugs.webkit.org/show_bug.cgi?id=98217 |
| |
| Reviewed by Andreas Kling. |
| |
| * WebCore.exp.in: |
| * rendering/RenderLayerBacking.cpp: |
| (WebCore::RenderLayerBacking::createGraphicsLayer): |
| * rendering/RenderLayerCompositor.cpp: |
| (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): |
| (WebCore::RenderLayerCompositor::ensureRootLayer): |
| |
| 2012-10-03 Joshua Bell <jsbell@chromium.org> |
| |
| IndexedDB: Optimize encodeString/decodeString |
| https://bugs.webkit.org/show_bug.cgi?id=97794 |
| |
| Reviewed by Tony Chang. |
| |
| Optimize string encoding/decoding, which showed up as a CPU hot spot during profiling. |
| The backing store uses big-endian ordering of 16-bit code unit strings, so a memcopy |
| isn't sufficient, but the code used StringBuilder::append() character-by-character |
| and custom byte-swapping which was slow. |
| |
| Ran a test w/ DumpRenderTree (to avoid multiprocess overhead) taking a 10k character string |
| and putting it 20k times and getting it 20k times. On my test box, mean time before the |
| patch was 8.2s, mean time after the patch was 4.6s. |
| |
| Tested by Chromium's webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*String*' |
| |
| * Modules/indexeddb/IDBLevelDBCoding.cpp: |
| (WebCore::IDBLevelDBCoding::encodeString): |
| (WebCore::IDBLevelDBCoding::decodeString): |
| |
| 2012-10-03 Keishi Hattori <keishi@webkit.org> |
| |
| Implement DataList UI for input type time on chromium |
| https://bugs.webkit.org/show_bug.cgi?id=98240 |
| |
| Reviewed by Kent Tamura. |
| |
| This adds datalist UI for input type time. We add the picker indicator to |
| BaseMultipleFieldsDateAndTimeInputType. We enclose the dateTimeEdit element |
| and picker indicator inside a new div element so we can position the picker |
| indicator in the same place as input type=date. |
| |
| Tests: platform/chromium/fast/forms/time/time-suggestion-picker-appearance-rtl.html |
| platform/chromium/fast/forms/time/time-suggestion-picker-appearance-with-scroll-bar.html |
| platform/chromium/fast/forms/time/time-suggestion-picker-appearance.html |
| platform/chromium/fast/forms/time/time-suggestion-picker-key-operations.html |
| platform/chromium/fast/forms/time/time-suggestion-picker-mouse-operations.html |
| |
| * css/html.css: |
| (input::-webkit-date-and-time-container): |
| * html/BaseMultipleFieldsDateAndTimeInputType.cpp: |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType): |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree): Creates a picker indicator. |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleKeydownEvent): Open the picker on Alt+Down. |
| (WebCore): |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::listAttributeTargetChanged): Updates picker visibility. |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::updatePickerIndicatorVisibility): In the future, DateInputType can override |
| this so the picker indicator is always visible. |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::hidePickerIndicator): |
| (WebCore::BaseMultipleFieldsDateAndTimeInputType::showPickerIndicator): |
| * html/BaseMultipleFieldsDateAndTimeInputType.h: |
| (WebCore): |
| (BaseMultipleFieldsDateAndTimeInputType): |
| * html/shadow/DateTimeFieldElement.cpp: |
| (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Ignore Alt+down because it should trigger the picker to open. |
| * rendering/RenderThemeChromiumCommon.cpp: |
| (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Add time to the list. |
| |
| 2012-10-03 Andreas Kling <kling@webkit.org> |
| |
| Give CSSValueList backing vector an inline capacity. |
| <http://webkit.org/b/98266> |
| <rdar://problem/12421425> |
| |
| Reviewed by Anders Carlsson. |
| |
| Set an inline capacity of 4 on the CSSValue vector backing CSSValueList. This avoids an extra heap allocation |
| in the common case, and reduces total memory use across the board, since the majority of CSSValueLists have |
| at least 1 item, and the Vector will bump from 0 to 16 capacity on the first append. |
| |
| 394kB progression on Membuster3. |
| |
| * css/CSSValueList.h: |
| (CSSValueList): |
| |
| 2012-10-03 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: NMI: instrument NativeImageSkia. |
| https://bugs.webkit.org/show_bug.cgi?id=96277 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * platform/graphics/skia/NativeImageSkia.cpp: |
| (WebCore::NativeImageSkia::reportMemoryUsage): |
| (WebCore::reportMemoryUsage): |
| |
| 2012-10-03 Pavel Feldman <pfeldman@chromium.org> |
| |
| Web Inspector: remember the last dock option so that user could toggle between dock to bottom and right |
| https://bugs.webkit.org/show_bug.cgi?id=98255 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| - Introduced DockController.js that covers the dock mechanics |
| - Removed dock orientation from the settings |
| - Storing the last dock option to present it as default |
| - Simplified the multi-option status bar button |
| |
| * WebCore.gypi: |
| * WebCore.vcproj/WebCore.vcproj: |
| * inspector/compile-front-end.py: |
| * inspector/front-end/DockController.js: Added. |
| (WebInspector.DockController): |
| (WebInspector.DockController.prototype.get element): |
| (WebInspector.DockController.prototype.setDocked.set if): |
| (WebInspector.DockController.prototype.setDocked): |
| (WebInspector.DockController.prototype.setDockingUnavailable): |
| (WebInspector.DockController.prototype._updateUI.get states): |
| (WebInspector.DockController.prototype._updateUI): |
| (WebInspector.DockController.prototype._decorateButtonForTargetState): |
| (WebInspector.DockController.prototype._createDockOptions): |
| (WebInspector.DockController.prototype._toggleDockState): |
| (WebInspector.DockController.prototype.isCompactMode): |
| (WebInspector.DockController.prototype.setCompactMode): |
| * inspector/front-end/InspectorFrontendAPI.js: |
| (InspectorFrontendAPI.setAttachedWindow): |
| * inspector/front-end/InspectorFrontendHostStub.js: |
| (.WebInspector.InspectorFrontendHostStub.prototype.requestAttachWindow): |
| (.WebInspector.InspectorFrontendHostStub.prototype.requestDetachWindow): |
| * inspector/front-end/Settings.js: |
| * inspector/front-end/SettingsScreen.js: |
| (WebInspector.GenericSettingsTab): |
| * inspector/front-end/StatusBarButton.js: |
| (WebInspector.StatusBarButton): |
| * inspector/front-end/Toolbar.js: |
| (WebInspector.Toolbar): |
| (WebInspector.Toolbar.prototype.setCompactMode): |
| (WebInspector.Toolbar.prototype._toolbarDragStart): |
| (WebInspector.Toolbar.prototype._toolbarDrag): |
| * inspector/front-end/WebKit.qrc: |
| * inspector/front-end/externs.js: |
| (WebInspector.toggleSearchingForNode): |
| * inspector/front-end/inspector.css: |
| (body.undocked.platform-mac-snowleopard #toolbar): |
| (body.undocked.platform-mac-snowleopard #toolbar-dropdown): |
| * inspector/front-end/inspector.html: |
| * inspector/front-end/inspector.js: |
| (WebInspector._createGlobalStatusBarItems): |
| (windowLoaded): |
| (WebInspector.setDockingUnavailable): |
| * inspector/front-end/inspectorCommon.css: |
| (body.dock-to-right:not(.undocked)): |
| (body.dock-to-right.inactive:not(.undocked)): |
| |
| 2012-10-03 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: UISourceCode commitWorkingCopy should not fail when original script had syntax error. |
| https://bugs.webkit.org/show_bug.cgi?id=97272 |
| |
| Reviewed by Pavel Feldman. |
| |
| This patch is based on patch by John J. Barton. |
| |
| * inspector/front-end/JavaScriptSource.js: |
| (WebInspector.JavaScriptSource.prototype.workingCopyCommitted): added rawLocation null check. |
| |
| 2012-10-03 Alexander Pavlov <apavlov@chromium.org> |
| |
| Web Inspector: After "Edit as HTML", any click outside box should stop editing |
| https://bugs.webkit.org/show_bug.cgi?id=98258 |
| |
| Reviewed by Vsevolod Vlasov. |
| |
| Make the DOM tree OL span the entire height of its container in the Elements panel to catch mouse events. |
| |
| * inspector/front-end/elementsPanel.css: |
| (#elements-content > ol): |
| |
| 2012-10-03 Dongwoo Joshua Im <dw.im@samsung.com> |
| |
| [EFL] Skeleton code of File system API. |
| https://bugs.webkit.org/show_bug.cgi?id=91187 |
| |
| Reviewed by Gyuyoung Kim. |
| |
| Add skeleton code of File System API on EFL port. |
| Implementation patches will be created later. |
| |
| No new tests because this is just skeleton code. |
| |
| * CMakeLists.txt: Add new files which created by other patches in Modules/filesystem/ directory. |
| * PlatformEfl.cmake: Add AsyncFileSystemEfl.cpp. |
| * platform/AsyncFileSystem.cpp: |
| (WebCore): |
| * platform/efl/AsyncFileSystemEfl.cpp: Added. |
| * platform/efl/AsyncFileSystemEfl.h: Added. |
| |
| 2012-10-03 Andreas Kling <kling@webkit.org> |
| |
| Shrink ElementRareData by moving bool flags to NodeRareData. |
| <http://webkit.org/b/98225> |
| |
| Reviewed by Antti Koivisto. |
| |
| Move all bool flags from ElementRareData to the bitfield in its base class NodeRareData. |
| This shrinks ElementRareData by 8 bytes (on 64-bit) and saves a whopping 58kB on Membuster3. |
| Also removed some double raredata hash lookups. |
| |
| * dom/Element.cpp: |
| (WebCore::Element::detach): |
| (WebCore::Element::recalcStyle): |
| (WebCore::Element::ensureShadow): |
| (WebCore::Element::setStyleAffectedByEmpty): |
| (WebCore::Element::styleAffectedByEmpty): |
| (WebCore::Element::setIsInCanvasSubtree): |
| (WebCore::Element::isInCanvasSubtree): |
| (WebCore::Element::containsFullScreenElement): |
| (WebCore::Element::setContainsFullScreenElement): |
| * dom/ElementRareData.h: |
| (ElementRareData): |
| (WebCore::ElementRareData::ElementRareData): |
| * dom/NodeRareData.h: |
| (WebCore::NodeRareData::styleAffectedByEmpty): |
| (WebCore::NodeRareData::setStyleAffectedByEmpty): |
| (WebCore::NodeRareData::isInCanvasSubtree): |
| (WebCore::NodeRareData::setIsInCanvasSubtree): |
| (NodeRareData): |
| (WebCore::NodeRareData::containsFullScreenElement): |
| (WebCore::NodeRareData::setContainsFullScreenElement): |
| |
| 2012-10-03 Jussi Kukkonen <jussi.kukkonen@intel.com> |
| |
| getComputedStyle perspective-origin is based on the wrong bounding box |
| https://bugs.webkit.org/show_bug.cgi?id=98027 |
| |
| Reviewed by Simon Fraser. |
| |
| perspective-origin for ComputedStyleDeclaration is currently calculated using the |
| wrong bounding box (sizingBox() which ends up as the contentbox). |
| |
| Start using borderbox for ComputedStyleDeclaration perspective-origin, similar to |
| what transform-origin already does. |
| |
| Test: fast/css/getComputedStyle/getComputedStyle-origin-percentage.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): |
| |
| 2012-10-03 Patrick Gansterer <paroga@webkit.org> |
| |
| Build fix for WinCE after r130160. |
| |
| * platform/graphics/FontFastPath.cpp: |
| (WebCore::Font::glyphDataAndPageForCharacter): |
| |
| 2012-10-03 Tommy Widenflycht <tommyw@google.com> |
| |
| MediaStream API: RTCPeerConnection should send down its handler via the FrameLoaderClient directly after creation. |
| https://bugs.webkit.org/show_bug.cgi?id=98149 |
| |
| Reviewed by Adam Barth. |
| |
| The chromium implementation needs to know which Frame created a PeerConnection so |
| that the right housekeeping can take place correctly. |
| |
| Not testable in DRT, but have verified the change manually and with our pyautotests. |
| |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::RTCPeerConnection): |
| * loader/FrameLoaderClient.h: |
| (WebCore): |
| (FrameLoaderClient): |
| (WebCore::FrameLoaderClient::dispatchWillStartUsingPeerConnectionHandler): |
| * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: |
| (WebCore::RTCPeerConnectionHandlerChromium::toWebRTCPeerConnectionHandler): |
| (WebCore): |
| (WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium): |
| (WebCore::RTCPeerConnectionHandlerChromium::initialize): |
| * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: |
| (RTCPeerConnectionHandlerChromium): |
| |
| 2012-10-03 Eugene Klyuchnikov <eustas.bug@gmail.com> |
| |
| Web Inspector: Profiles: taking heap snapshot causes error message in console. |
| https://bugs.webkit.org/show_bug.cgi?id=97890 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Actual problem is that proxy loader is closed twice. |
| |
| "_snapshotReceived" should never try to close receiver, |
| because it is a callback fired by close. |
| |
| Also minor glitches fixed: |
| - taking snapshot shows "Loading..." status first, |
| and then "Saving xxx%"; |
| - after all chunks are sent "Parsing" status is set and |
| then is replaced with "Saving 100%"; |
| - removed dead code in proxy; |
| - proxy was ignoring callback parameter; |
| - "Loading %d\%" is not localized. |
| |
| * English.lproj/localizedStrings.js: Added missing "Loading %d%" string. |
| * inspector/front-end/HeapSnapshotProxy.js: Removed dead code. |
| (WebInspector.HeapSnapshotLoaderProxy): |
| (WebInspector.HeapSnapshotLoaderProxy.prototype.write): Make this method |
| interface-conformant. |
| * inspector/front-end/HeapSnapshotView.js: |
| (WebInspector.HeapProfileHeader): Fixed update-status and |
| finish-transfer logic. |
| |
| 2012-10-03 Jochen Eisinger <jochen@chromium.org> |
| |
| Make sure that user gestures can't be consumed twice |
| https://bugs.webkit.org/show_bug.cgi?id=97483 |
| |
| Reviewed by Adam Barth. |
| |
| Instead of a simple counter, use a ref counted token to track how many |
| user gestures happened and where consumed. When creating a timer that |
| is supposed to forward the user gesture, take a reference to this token |
| and reinstantiate the UserGestureIndicator with that token when the |
| timer is triggered. |
| |
| Tests: platform/chromium/fast/events/popup-forwarded-gesture-blocked.html |
| platform/chromium/fast/events/popup-forwarded-gesture.html |
| |
| * dom/UserGestureIndicator.cpp: |
| (WebCore): |
| (WebCore::UserGestureIndicator::UserGestureIndicator): |
| (WebCore::UserGestureIndicator::~UserGestureIndicator): |
| (WebCore::UserGestureIndicator::processingUserGesture): |
| (WebCore::UserGestureIndicator::consumeUserGesture): |
| (WebCore::UserGestureIndicator::currentToken): |
| * dom/UserGestureIndicator.h: |
| (Token): |
| (WebCore::UserGestureIndicator::Token::~Token): |
| (UserGestureIndicator): |
| * page/DOMTimer.cpp: |
| (WebCore::DOMTimer::DOMTimer): |
| (WebCore::DOMTimer::fired): |
| * page/DOMTimer.h: |
| (DOMTimer): |
| |
| 2012-10-03 Dominic Mazzoni <dmazzoni@google.com> |
| |
| AX: Heap-use-after-free when deleting a ContainerNode with an AX object |
| https://bugs.webkit.org/show_bug.cgi?id=98073 |
| |
| Reviewed by Hajime Morita. |
| |
| Calls axObjectCache()->remove(this) in ~ContainerNode so that the AX tree |
| doesn't try to access the container node while walking up the parent chain |
| from one of the container node's children. |
| |
| Test: accessibility/container-node-delete-causes-crash.html |
| |
| * dom/ContainerNode.cpp: |
| (WebCore::ContainerNode::~ContainerNode): |
| * dom/Node.cpp: |
| (WebCore::Node::~Node): |
| * dom/Node.h: |
| (WebCore::Node::document): |
| (WebCore::Node::documentInternal): |
| |
| 2012-10-03 Vsevolod Vlasov <vsevik@chromium.org> |
| |
| Web Inspector: SourceURL should be taken from debugger agent when possible. |
| https://bugs.webkit.org/show_bug.cgi?id=98239 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Removed a check that sourceURL coming from js engine is the same as the one parsed by debugger agent. |
| Alwys use the one from debugger agent now. |
| |
| * inspector/InspectorDebuggerAgent.cpp: |
| (WebCore::InspectorDebuggerAgent::didParseSource): |
| |
| 2012-10-03 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed. Touch FrameView.cpp file for fixing mac bot compilation. |
| |
| * page/FrameView.cpp: |
| (WebCore): |
| |
| 2012-10-02 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: "Load profile..." context menu item has to be shown only for left column with the list of profiles. |
| https://bugs.webkit.org/show_bug.cgi?id=98163 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| The text was changed to "Load Heap Snapshot..." |
| Also I changed "Save profile..." to "Save Heap Snapshot..." because other profiles don't support Save/Load operations yet. |
| The Load context menu item will appear only when the user clicked in sidebar the tree empty space or a profile. |
| |
| * English.lproj/localizedStrings.js: |
| * inspector/front-end/ProfilesPanel.js: |
| (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent): |
| (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent): |
| |
| 2012-10-03 Harald Alvestrand <hta@google.com> |
| |
| Add data passing to the GetStats interface of RTCPeerConnection |
| https://bugs.webkit.org/show_bug.cgi?id=98003 |
| |
| Reviewed by Adam Barth. |
| |
| Added an RTCStatsResponseBase interface to platform, and let the |
| RTCStatsRequestImpl class produce an implementation of it that's returned |
| to WebCore. |
| |
| Tested by extension of the RTCPeerConnection-stats.html test. |
| |
| * Modules/mediastream/RTCStatsElement.cpp: |
| (WebCore::RTCStatsElement::addStatistic): |
| (WebCore): |
| * Modules/mediastream/RTCStatsElement.h: |
| (RTCStatsElement): |
| * Modules/mediastream/RTCStatsReport.cpp: |
| (WebCore): |
| (WebCore::RTCStatsReport::addElement): |
| (WebCore::RTCStatsReport::addStatistic): |
| * Modules/mediastream/RTCStatsReport.h: |
| (RTCStatsReport): |
| * Modules/mediastream/RTCStatsRequestImpl.cpp: |
| (WebCore::RTCStatsRequestImpl::createResponse): |
| (WebCore): |
| (WebCore::RTCStatsRequestImpl::requestSucceeded): |
| * Modules/mediastream/RTCStatsRequestImpl.h: |
| (RTCStatsRequestImpl): |
| * Modules/mediastream/RTCStatsResponse.cpp: |
| (WebCore::RTCStatsResponse::create): |
| (WebCore::RTCStatsResponse::addReport): |
| (WebCore): |
| (WebCore::RTCStatsResponse::addElement): |
| (WebCore::RTCStatsResponse::addStatistic): |
| * Modules/mediastream/RTCStatsResponse.h: |
| (RTCStatsResponse): |
| * WebCore.gypi: |
| * platform/chromium/support/WebRTCStatsRequest.cpp: |
| (WebKit::WebRTCStatsRequest::response): |
| (WebKit): |
| (WebKit::WebRTCStatsRequest::requestSucceeded): |
| * platform/chromium/support/WebRTCStatsResponse.cpp: Added. |
| (WebKit): |
| (WebKit::WebRTCStatsResponse::WebRTCStatsResponse): |
| (WebKit::WebRTCStatsResponse::assign): |
| (WebKit::WebRTCStatsResponse::reset): |
| (WebKit::WebRTCStatsResponse::operator WTF::PassRefPtr<WebCore::RTCStatsResponseBase>): |
| (WebKit::WebRTCStatsResponse::addReport): |
| (WebKit::WebRTCStatsResponse::addElement): |
| (WebKit::WebRTCStatsResponse::addStatistic): |
| * platform/mediastream/RTCStatsRequest.h: |
| (WebCore): |
| (RTCStatsRequest): |
| * platform/mediastream/RTCStatsResponseBase.h: Added. |
| (WebCore): |
| (RTCStatsResponseBase): |
| (WebCore::RTCStatsResponseBase::~RTCStatsResponseBase): |
| |
| 2012-10-02 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Add API to get the web view that initiated a custom URI request to WebKit2 GTK+ |
| https://bugs.webkit.org/show_bug.cgi?id=97895 |
| |
| Reviewed by Martin Robinson. |
| |
| * platform/network/NetworkingContext.h: |
| (NetworkingContext): Add initiatingPageID(). |
| * platform/network/ResourceHandle.h: |
| (ResourceHandle): Add static method |
| getSoupRequestInitiaingPageID(). |
| * platform/network/ResourceHandleInternal.h: |
| (ResourceHandleInternal): Add initiatingPageID(). |
| * platform/network/soup/ResourceHandleSoup.cpp: |
| (WebCore::ResourceHandleInternal::initiatingPageID): Get the |
| initiating page ID of the resource handle networking context. |
| (WebCore::setSoupRequestInitiaingPageID): Helper function to |
| attach a page ID to a SoupRequest. |
| (WebCore::startHTTPRequest): Call setSoupRequestInitiaingPageID() |
| to attch the initiating page ID to the SoupRequest. |
| (WebCore::startNonHTTPRequest): Ditto. |
| (WebCore::ResourceHandle::getSoupRequestInitiaingPageID): Static |
| method to get the page ID attached to a SoupRequest. |
| |
| 2012-10-03 Kent Tamura <tkent@chromium.org> |
| |
| Introduce DateComponents::minimumYear and maximumYear |
| https://bugs.webkit.org/show_bug.cgi?id=98230 |
| |
| Reviewed by Kentaro Hara. |
| |
| Share same difinitions in DateComponents.cpp and DateTimeFieldElements.cpp. |
| |
| No new tests. This doesn't change any bahevior. |
| |
| * platform/DateComponents.h: |
| (WebCore::DateComponents::minimumYear): Moved from DateComponents.cpp. |
| (WebCore::DateComponents::maximumYear): ditto. |
| * platform/DateComponents.cpp: |
| (WebCore): Move out static minimumYear and maximumYear. |
| (WebCore::DateComponents::parseYear): Use DateCompnents::minimumYear and/or maximumYear. |
| (WebCore::withinHTMLDateLimits): ditto. |
| (WebCore::DateComponents::parseWeek): ditto. |
| (WebCore::DateComponents::setMonthsSinceEpoch): ditto. |
| (WebCore::DateComponents::setMillisecondsSinceEpochForWeek): ditto. |
| |
| * html/shadow/DateTimeFieldElements.cpp: |
| (WebCore): Remove minimumYear and maximumYear. |
| (WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement): |
| Use DateComponents::minimumYear and maximumYear. |
| |
| |
| 2012-10-02 Arko Saha <arko@motorola.com> |
| |
| Microdata: itemprop names must not override builtin properties. |
| https://bugs.webkit.org/show_bug.cgi?id=98025 |
| |
| Reviewed by Kentaro Hara. |
| |
| We should look in the prototype for functions before assuming it as |
| an item's name. Return false if the prototype of the object has a |
| property (function) with propertyName. |
| Named properties Spec: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties |
| Named property visibility algorithm: |
| http://dev.w3.org/2006/webapi/WebIDL/#indexed-and-named-properties |
| ... |
| 7. If the result of calling the [[HasProperty]] internal method on |
| prototype with property name P is true, then return false. |
| ... |
| Also [OverrideBuiltins] is not declared for any of the properties, |
| hence no overriding is allowed in this case. |
| |
| Test: fast/dom/MicroData/itemprop-names-override-builtin-properties.html |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateGetOwnPropertySlotBody): |
| (GenerateGetOwnPropertyDescriptorBody): |
| |
| 2012-10-02 Keishi Hattori <keishi@webkit.org> |
| |
| REGRESSION (r129738): Suggestion picker label is placed in the wrong location |
| https://bugs.webkit.org/show_bug.cgi?id=98094 |
| |
| Reviewed by Kent Tamura. |
| |
| We needed to reverse padding-left/right when rtl. |
| |
| No new tests. Covered by date-suggestion-picker-appearance.html. |
| |
| * Resources/pagepopups/suggestionPicker.css: |
| (.suggestion-list-entry .label): |
| (.rtl .suggestion-list-entry .label): |
| |
| 2012-10-02 Yury Semikhatsky <yurys@chromium.org> |
| |
| Provide memory instrumentation for HashCountedSet |
| https://bugs.webkit.org/show_bug.cgi?id=98138 |
| |
| Reviewed by Pavel Feldman. |
| |
| Replaced addHashCountedSet calls with addMember that now automatically |
| detects HashCountedSet and calls appropriate routine. |
| |
| * css/CSSImageGeneratorValue.cpp: |
| (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage): |
| * loader/cache/CachedResource.cpp: |
| |
| 2012-10-02 Nandor Huszka <hnandor@inf.u-szeged.hu> |
| |
| Buildfix after r130235. |
| |
| Reviewed by Csaba Osztrogonác. |
| |
| systemAllowsMultisamplingOnATICards was deleted from GraphicsContext3D, |
| but function body remained in GraphicsContext3DOpenGLES. Delete method body. |
| |
| * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: |
| |
| 2012-10-02 Kent Tamura <tkent@chromium.org> |
| |
| Fix assertion failures on Chromium Debug bots for datetime/datetime-local input types. |
| |
| * html/shadow/DateTimeFieldElements.cpp: |
| If a placeholder stirng is empty, use a sequence of "-". |
| (WebCore::DateTimeDayFieldElement::create): |
| (WebCore::DateTimeMonthFieldElement::create): |
| (WebCore::DateTimeYearFieldElement::create): |
| |
| 2012-10-02 MORITA Hajime <morrita@google.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=98134 |
| [Refactoring] StyleResolver::matchScopedAuthorRules() could be simpler. |
| |
| Reviewed by Dimitri Glazkov. |
| |
| matchScopedAuthorRules() did have some optimization which only |
| makes sense for heavily nested shadow tree. However, we don't see |
| such type of usage of Shadow DOM and this looks premature |
| optimization. This change unified its triple for loop into one, |
| which makes the code much simpler. |
| |
| No new tests. Covered by existing tests. |
| |
| * css/StyleResolver.cpp: |
| (WebCore::StyleResolver::matchScopedAuthorRules): |
| |
| 2012-10-02 Kent Tamura <tkent@chromium.org> |
| |
| Introduce Localizer::dateTimeFormatWithSecond and dateTimeFormatWithoutSecond |
| https://bugs.webkit.org/show_bug.cgi?id=98229 |
| |
| Reviewed by Kentaro Hara. |
| |
| Unify identical code in DateTimeInputType and DateTimeLocalInputType as |
| Localizer member functions. |
| They still have some common code. We'll address it later. |
| |
| No new tests. This doesn't change any behavior. |
| |
| * platform/text/Localizer.h: |
| (Localizer): Add dateTimeFormatWithSecond and dateTimeFormatWithoutSecond. |
| * platform/text/Localizer.cpp: |
| (WebCore::Localizer::dateTimeFormatWithSecond): |
| Implemented. Just concatenating dateFormat, a space, and timeFormat. |
| (WebCore::Localizer::dateTimeFormatWithoutSecond): |
| Implemented. Just concatenating dateFormat, a space, and shortTimeFormat. |
| |
| * html/DateTimeInputType.cpp: |
| (WebCore::DateTimeInputType::setupLayoutParameters): |
| Use dateTimeFormatWithSecond and dateTimeFormatWithoutSecond. |
| * html/DateTimeLocalInputType.cpp: |
| (WebCore::DateTimeLocalInputType::setupLayoutParameters): ditto. |
| |
| 2012-10-03 Kent Tamura <tkent@chromium.org> |
| |
| Refactoring: DateTimeEditBuilder had better hold LayoutParameters |
| https://bugs.webkit.org/show_bug.cgi?id=98228 |
| |
| Reviewed by Kentaro Hara. |
| |
| Stop copying multiple members of LayoutParameters in DateTimeEditBuilder |
| constructor. This change improves code size and runtime cost. |
| |
| No new tests. This doesn't change user-visible behavior. |
| |
| * html/shadow/DateTimeEditElement.cpp: |
| (DateTimeEditBuilder): Add a comment about lifetime of objects. |
| (WebCore::DateTimeEditBuilder::stepRange): |
| Added. A helper to access m_parameters.stepRange. |
| (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): |
| Remove m_stepRange, m_localizer, m_placeholderFor* members. |
| Add m_parameters. |
| (WebCore::DateTimeEditBuilder::needMillisecondField): |
| Use stepRange() instead of m_stepRange. |
| (WebCore::DateTimeEditBuilder::visitField): |
| Use m_parameters.placeholderFor*. |
| (WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly): |
| Use stepRange() instead of m_stepRange. |
| (WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly): ditto. |
| (WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly): ditto. |
| |
| 2012-10-02 Kent Tamura <tkent@chromium.org> |
| |
| Implement LocaleICU::dateFormat |
| https://bugs.webkit.org/show_bug.cgi?id=98118 |
| |
| Reviewed by Hajime Morita. |
| |
| http://trac.webkit.org/changeset/130127 introduced |
| Localizer::dateFormat, and this is its implementation for LocaleICU |
| classs. The code is going to be used when |
| ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled. |
| |
| No new tests. The function is not used yet. |
| |
| * platform/text/LocaleICU.cpp: |
| (WebCore::LocaleICU::dateFormat): |
| Implemented. Note that m_shortDateFormat is a UDateFormat object, which |
| knows various format information. |
| * platform/text/LocaleICU.h: |
| (LocaleICU): Add m_dateFormat to cache the format string. |
| |
| 2012-10-02 Kent Tamura <tkent@chromium.org> |
| |
| [Mac][Chromium-Mac] Implement LocaleMac::dateFormat |
| https://bugs.webkit.org/show_bug.cgi?id=98116 |
| |
| Reviewed by Hajime Morita. |
| |
| http://trac.webkit.org/changeset/130127 introduced |
| Localizer::dateFormat, and this is its implementation for LocaleICU |
| classs. The code is going to be used when |
| ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled. |
| |
| No new tests. The function is not used yet. |
| |
| * platform/text/mac/LocaleMac.h: |
| (LocaleMac): Declare m_dateFormat. |
| * platform/text/mac/LocaleMac.mm: |
| (WebCore::LocaleMac::dateFormat): Implemented. |
| |
| 2012-10-02 Kent Tamura <tkent@chromium.org> |
| |
| [Chromium-Win] Implement LocaleWin::dateFormat |
| https://bugs.webkit.org/show_bug.cgi?id=98117 |
| |
| Reviewed by Kentaro Hara. |
| |
| http://trac.webkit.org/changeset/130127 introduced |
| Localizer::dateFormat, and this is its implementation for LocaleICU |
| classs. The code is going to be used when |
| ENABLE_INPUT_MULTIPLE_FIELDS_UI is enabled. |
| |
| Tests: Added a new test to WebKit/chromium/tests/LocaleWinTest.cpp. |
| |
| * platform/text/LocaleWin.cpp: |
| (WebCore::parseDateFormat): |
| Fix a continuous apostrophes parsing bug; "abc''''def" produced "abc'''def" |
| (WebCore::appendAsLDMLLiteral): |
| A helper function to make a literal string for LDML. |
| (WebCore::convertWindowsDateFormatToLDML): |
| Creates an LDML format from a parsed date format tokens. |
| (WebCore::LocaleWin::dateFormat): |
| Implemented. This uses convertWindowsDateFormatToLDML. |
| (WebCore::LocaleWin::dateFormat): |
| Added for testing. The source windows format is specified as a function |
| argument. |
| * platform/text/LocaleWin.h: |
| (LocaleWin): Declare m_dateFormat and dateFormat(). |
| |
| 2012-10-02 Ian Vollick <vollick@chromium.org> |
| |
| [chromium] Fix spelling of isNVIDIA override in Extensions3DChromium |
| https://bugs.webkit.org/show_bug.cgi?id=98219 |
| |
| Reviewed by Dean Jackson. |
| |
| The override in Extensions3dChromium should have been spelled isNVIDIA, not isNVidia. |
| |
| No new tests. No change in functionality. |
| |
| * platform/graphics/chromium/Extensions3DChromium.h: |
| (WebCore::Extensions3DChromium::isNVIDIA): |
| |
| 2012-10-02 Anders Carlsson <andersca@apple.com> |
| |
| Try to fix the Snow Leopard build. |
| |
| * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp: |
| |
| 2012-10-02 Joshua Bell <jsbell@chromium.org> |
| |
| Add htons/htonl definitions and implementations |
| https://bugs.webkit.org/show_bug.cgi?id=98054 |
| |
| Reviewed by Darin Adler. |
| |
| Update users of htons and friends to use new wtf/ByteOrder.h header. |
| |
| No new tests - just refactoring. |
| |
| * platform/graphics/WOFFFileFormat.cpp: |
| * platform/graphics/chromium/VDMXParser.cpp: |
| |
| == Rolled over to ChangeLog-2012-10-02 == |