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

Unified Diff: Source/WebCore/ChangeLog

Issue 13470017: Merge 147389 "Hide non-coordinated scrollbars for Android M26" (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1410/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
« no previous file with comments | « no previous file | Source/WebCore/platform/ScrollView.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/ChangeLog
===================================================================
--- Source/WebCore/ChangeLog (revision 147451)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,18211 @@
+2013-04-01 Tien-Ren Chen <trchen@chromium.org>
+
+ Hide non-coordinated scrollbars for Android M26
+ https://bugs.webkit.org/show_bug.cgi?id=113738
+
+ Reviewed by Simon Fraser.
+
+ This patch will hide any non-coordinated scrollbars on Android.
+ Coordinated scrollbars won't be affected.
+
+ Currently all scrollbars are coordinated on Android. The sole purpose
+ of this patch is to be cherry-picked to the M26 branch.
+
+ No new tests. Please revert immediately after landed.
+
+ * platform/ScrollView.cpp:
+ (WebCore::positionScrollbarLayer):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
+
+2013-04-01 Chris Evans <cevans@google.com>
+
+ Crash in Node::enclosingBlockFlowElement()
+ https://bugs.webkit.org/show_bug.cgi?id=113712
+
+ Reviewed by Abhishek Arya.
+
+ Fix a bad Node assumption if we walk up to the document root.
+
+ Test: editing/execCommand/format-block-at-root.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::isBlockFlowElement): Check we found an Element Node and rename from isBlockFlow().
+ (WebCore::Node::enclosingBlockFlowElement): Use the new toElement().
+ * editing/FormatBlockCommand.cpp:
+ (WebCore::FormatBlockCommand::formatRange): Check for NULL.
+ * editing/InsertListCommand.cpp:
+ (WebCore::InsertListCommand::doApplyForSingleParagraph):
+ * editing/ReplaceSelectionCommand.cpp:
+ (WebCore::enclosingInline): Impact from method rename.
+
+2013-04-01 James Simonsen <simonjam@chromium.org>
+
+ [Resource Timing] Expose timing information for iframes
+ https://bugs.webkit.org/show_bug.cgi?id=103927
+
+ Reviewed by Nate Chapin.
+
+ The only catch with main documents is that we only want to record the load that was initiated by
+ adding the <iframe> to a document. We don't want any subsequent navigations within the iframe to
+ be reported.
+
+ Test: http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_iframe_self_navigation.html
+
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::revalidateResource):
+ (WebCore::CachedResourceLoader::loadResource):
+ (WebCore::CachedResourceLoader::loadDone): Make sure iframes are reported in the parent.
+
+2013-04-01 Konrad Piascik <kpiascik@blackberry.com>
+
+ [BlackBerry] Move Path into it's own header
+ https://bugs.webkit.org/show_bug.cgi?id=113724
+
+ Reviewed by Rob Buis.
+
+ No behavioural change.
+
+ * platform/graphics/blackberry/PathBlackBerry.cpp:
+
+2013-04-01 Konrad Piascik <kpiascik@blackberry.com>
+
+ [BlackBerry] canvas is not rendering correctly for www.html5-benchmark.com
+ https://bugs.webkit.org/show_bug.cgi?id=113716
+
+ Reviewed by Rob Buis.
+
+ PR 317205
+ Internally reivewed by: Mike Lattanzio, Jacky Jiang
+
+ This is a site issue where they detect physical pixels by multiplying
+ availWidth * devicePixelRatio. This gives us an invalid result since
+ we don't round the CSS pixels that are reported to availWidth and availHeight.
+
+ * platform/blackberry/PlatformScreenBlackBerry.cpp:
+ (WebCore::toUserSpace):
+
+2013-04-01 Hans Muller <hmuller@adobe.com>
+
+ [CSS Exclusions] shape-outside on floats fails to respect shape-margin's vertical extent
+ https://bugs.webkit.org/show_bug.cgi?id=113600
+
+ Reviewed by Dirk Schulze.
+
+ ExclusionShapeInsideInfo classes need to depend on the ExclusionShape's padded boundary and
+ ExclusionShapeOutsideInfo classes should depend on the ExclusionShape's margin boundary. Added
+ a virtual method to the ExclusionShapeInfo that returns the ExclusionShape's logical bounding box -
+ computedShapeLogicalBoundingBox() - and overrode that method in the subclasses to return the
+ value of the appropriate ExclusionShape method. Added shapeMarginLogicalBoundingBox() and
+ shapePaddingLogicalBoundingBox() methods to ExclusionShape and removed the shapeLogicalBoundingBox()
+ method, which did not take shape-margin or shape-padding into account.
+
+ Test: fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html
+
+ * rendering/ExclusionPolygon.h: Defined the padding and margin bounding box virtual methods.
+ * rendering/ExclusionRectangle.h: Defined the padding and margin bounding box virtual methods.
+ * rendering/ExclusionShape.h: Added the padding and margin bounding box virtual abstract methods. Removed shapeLogicalBoundingBox().
+ (ExclusionShape):
+ * rendering/ExclusionShapeInfo.h:
+ (WebCore::ExclusionShapeInfo::shapeLogicalTop): Now calls computedShapeLogicalBoundingBox().
+ (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
+ (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
+ (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
+ (WebCore::ExclusionShapeInfo::shapeLogicalWidth): Ditto.
+ (WebCore::ExclusionShapeInfo::shapeLogicalHeight): Ditto.
+ (ExclusionShapeInfo): Added computedShapeLogicalBoundingBox().
+ * rendering/ExclusionShapeInsideInfo.h:
+ (ExclusionShapeInsideInfo):
+ (WebCore::ExclusionShapeInsideInfo::computedShapeLogicalBoundingBox): Gets the padded shape's bounding box.
+ * rendering/ExclusionShapeOutsideInfo.h:
+ (ExclusionShapeOutsideInfo):
+ (WebCore::ExclusionShapeOutsideInfo::computedShapeLogicalBoundingBox): Gets the margin shape's bounding box.
+
+2013-04-01 Adam Barth <abarth@webkit.org>
+
+ Assertion failure !m_lastChunkBeforeScript in HTMLDocumentParser during inspector/debugger/pause-in-inline-script.html
+ https://bugs.webkit.org/show_bug.cgi?id=112369
+
+ Reviewed by Eric Seidel.
+
+ The threaded HTML parser wasn't correctly handling the nested event
+ loops that can arise from the JavaScript debugger and from
+ showModalDialog. When the parser received a chunk from the background
+ parser, it was always processing it immediately, which lead to
+ re-entrancy. Now, we'll queue the chunk in the speculation buffer and
+ process it once the stack unwinds.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
+ (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
+ (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
+ (WebCore::HTMLDocumentParser::insert):
+ * html/parser/HTMLParserScheduler.cpp:
+ (WebCore::PumpSession::PumpSession):
+ * html/parser/HTMLParserScheduler.h:
+
+2013-04-01 Michael Pruett <michael@68k.org>
+
+ [JSC] IndexedDB: Exceptions not thrown for non-cloneable values
+ https://bugs.webkit.org/show_bug.cgi?id=113689
+
+ Reviewed by Kentaro Hara.
+
+ ScriptValue::serialize() should not clear exceptions thrown during
+ serialization. This change is needed to match behavior in V8.
+
+ Tests: storage/indexeddb/clone-exception.html
+ storage/indexeddb/exceptions.html
+ storage/indexeddb/structured-clone.html
+
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::serialize):
+
+2013-04-01 Joshua Bell <jsbell@chromium.org>
+
+ [Chromium] IndexedDB: Turn "should only be true in unit tests" comments into ASSERTs
+ https://bugs.webkit.org/show_bug.cgi?id=113597
+
+ Reviewed by Adam Barth.
+
+ In the vein of wkbug.com/111233 and wkbug.com/110820 don't just comment that
+ some condition is true only in unit tests - ASSERT that Chromium's unitTestSupport()
+ is non-null to catch errors during development.
+
+ Exercised by Chromium's webkit_unit_tests.
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::openConnection):
+ (WebCore::IDBDatabaseBackendImpl::close):
+
+2013-04-01 Roger Fong <roger_fong@apple.com>
+
+ VS2010 WebCoreGenerated build scripts should use new feature-defines script.
+ https://bugs.webkit.org/show_bug.cgi?id=113737.
+
+ Reviewed by Timothy Horton.
+
+ * WebCore.vcxproj/build-generated-files.sh:
+
+2013-04-01 Tim Horton <timothy_horton@apple.com>
+
+ Autosize should use documentRect height instead of scrollHeight
+ https://bugs.webkit.org/show_bug.cgi?id=112770
+
+ Reviewed by David Levin.
+
+ Autosizing fails to compute the correct height if the root element is very
+ small but the document has significant overflow.
+
+ Also, unconditionally start laying out from the minimum height, so that the
+ documentRect can shrink below its previous height if needed.
+
+ No new tests; autosizing is not currently exposed in a testable way on Mac.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::autoSizeIfEnabled):
+
+2013-04-01 Hayato Ito <hayato@chromium.org>
+
+ [Shadow DOM] Change the order of event dispatching at AT_TARGET phase.
+ https://bugs.webkit.org/show_bug.cgi?id=113676
+
+ Reviewed by Dimitri Glazkov.
+
+ Change the order of event dispatching at AT_TARGET phase so that it mimics bubbling events.
+
+ The spec side bug is:
+ https://www.w3.org/Bugs/Public/show_bug.cgi?id=21404
+
+ Example:
+
+ Given the event path, from Node A (top-most) to Node G (target,
+ inner-most), where C and D are shadow hosts and G is the target,
+ the event dispatching order in the current WebKit implementation is:
+ (T: AT_TARGET, C: CAPTURING, B: BUBBLING)
+
+ For bubbling events:
+
+ A 1 (C) 11 (B)
+ B 2 (C) 10 (B)
+ C (SH) 3 (T)
+ D 4 (C) 9 (B)
+ E (SH) 5 (T)
+ F 6 (C) 8 (B)
+ G (Target) 7 (T)
+
+ For non-bubbling events:
+
+ A 1 (C)
+ B 2 (C)
+ C (SH) 3 (T)
+ D 4 (C)
+ E (SH) 5 (T)
+ F 6 (C)
+ G (Target) 7 (T)
+
+ This patch has changed the order of event dispatching as follows:
+
+ For bubbling events:
+
+ A 1 (C) 11 (B)
+ B 2 (C) 10 (B)
+ C (SH) 9 (T)
+ D 3 (C) 8 (B)
+ E (SH) 7 (T)
+ F 4 (C) 6 (B)
+ G (Target) 5 (T)
+
+ For non-bubbling events:
+
+ A 1 (C)
+ B 2 (C)
+ C (SH) 7 (T)
+ D 3 (C)
+ E (SH) 6 (T)
+ F 4 (C)
+ G (Target) 5 (T)
+
+ No new tests, updating existing layouts.
+
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::dispatchEventAtCapturing):
+ (WebCore::EventDispatcher::dispatchEventAtBubbling):
+ * dom/EventDispatcher.h:
+ (EventDispatcher):
+
+2013-04-01 Nate Chapin <japhet@chromium.org>
+
+ Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
+ https://bugs.webkit.org/show_bug.cgi?id=113531
+
+ Reviewed by Adam Barth.
+
+ No new tests, though this is intermittently reproducible with
+ http/tests/misc/delete-frame-during-readystatechange.html under ASAN.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
+ before the destructor exits. Clearing the media player may cancel a resource load,
+ which can trigger a readystatechange event. It's possible for the HTMLMediaElement
+ to attempt to fire an abort event within the readystatechange event, even though it is
+ now in an inconsistent state. Clearling the media player before finishing the destructor
+ ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
+ Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
+ attempt to fire events while destructing.
+
+2013-04-01 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146373.
+ http://trac.webkit.org/changeset/146373
+ https://bugs.webkit.org/show_bug.cgi?id=113731
+
+ broke autosizing shrinking past previous size (Requested by
+ thorton on #webkit).
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::autoSizeIfEnabled):
+
+2013-04-01 Timothy Hatcher <timothy@apple.com>
+
+ Allow changing Web Inspector dock sides without undocking first.
+
+ https://webkit.org/b/113661
+ rdar://problem/13543127
+
+ Reviewed by Joseph Pecoraro.
+
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): Initialize m_dockSide.
+
+ (WebCore::InspectorFrontendClientLocal::canAttachWindow): If we are already attached, allow
+ attaching again to allow switching sides.
+
+ (WebCore::InspectorFrontendClientLocal::setAttachedWindow): Set m_dockSide.
+
+ * inspector/InspectorFrontendClientLocal.h:
+ (InspectorFrontendClientLocal): Added m_dockSide.
+
+2013-04-01 Alexey Proskuryakov <ap@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=113721
+ <rdar://problem/13549181> REGRESSION (r146929): HTTP auth credentials not reused during session
+
+ Reviewed by Brady Eidson.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+ (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+ Added FIXMEs.
+
+2013-04-01 Timothy Hatcher <timothy@apple.com>
+
+ Make 'this' evaluate to the correct object when paused in the Debugger.
+
+ https://webkit.org/b/113607
+ rdar://problem/13538351
+
+ Reviewed by Joseph Pecoraro.
+
+ * inspector/InjectedScriptSource.js:
+ (InjectedScript.prototype._evaluateOn): Bind 'this' to the expression function.
+
+2013-04-01 Victor Carbune <vcarbune@chromium.org>
+
+ TextTrackCue Extension for WebVTT Regions
+ https://bugs.webkit.org/show_bug.cgi?id=109821
+
+ Reviewed by Eric Carlson.
+
+ The TextTrackCue gets a new attribute and setting, regionId, which specifies
+ to which region the cue belongs to. The attribute is guarded by WEBVTT_REGIONS
+ and is by default disabled in ports.
+
+ Test: media/track/regions-webvtt/text-track-cue-region-attribute.html
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::TextTrackCue): Added member variable for the regionId attribute.
+ (WebCore):
+ (WebCore::TextTrackCue::setRegionId): Setter for the regionId attribute.
+ (WebCore::TextTrackCue::settingName): Added RegionId setting name.
+ (WebCore::TextTrackCue::setCueSettings): Parsed the "region:" cue setting.
+ * html/track/TextTrackCue.h:
+ (TextTrackCue):
+ (WebCore::TextTrackCue::regionId): Getter for the regionId attribute.
+ * html/track/TextTrackCue.idl: Updated to match the WebVTT Regions Extension.
+
+2013-03-05 Anders Carlsson <andersca@apple.com>
+
+ Apply changes from storage events locally
+ https://bugs.webkit.org/show_bug.cgi?id=111502
+
+ Reviewed by Sam Weinig.
+
+ Add and export a helper function for setting an item without taking
+ into account the quota for the map. Also, reindent StorageMap.h
+
+ * WebCore.exp.in:
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::setItemIgnoringQuota):
+ (WebCore):
+ * storage/StorageMap.h:
+ (StorageMap):
+ (WebCore::StorageMap::quota):
+
+2013-04-01 Benjamin Poulain <benjamin@webkit.org>
+
+ Remove a couple of malloc from ExceptionBase construction
+ https://bugs.webkit.org/show_bug.cgi?id=113681
+
+ Reviewed by Darin Adler.
+
+ * dom/ExceptionBase.cpp:
+ (WebCore::ExceptionBase::ExceptionBase):
+ When the condition is true, we were creating a new String for
+ description.name. The constructor had already allocated a string for
+ that: m_name. Use that string instead of creating a new one.
+
+ When the condition is false, we were creating a String for typeName
+ just to use the string operators. This is a waste of time, we can use
+ makeString() to invoke the string concatenation functions directly.
+
+2013-04-01 Emil A Eklund <eae@chromium.org>
+
+ Move remaining marquee applying code to StyleBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=113298
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ Move applying logic for CSSPropertyWebkitMarqueeIncrement,
+ CSSPropertyWebkitMarqueeRepetition and CSSPropertyWebkitMarqueeSpeed
+ from StyleResolver::applyProperty.
+
+ No new tests, no change in functionality.
+
+ * css/StyleBuilder.cpp:
+ (ApplyPropertyMarqueeIncrement):
+ (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
+ (WebCore::ApplyPropertyMarqueeIncrement::createHandler):
+ (WebCore):
+ (ApplyPropertyMarqueeRepetition):
+ (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
+ (WebCore::ApplyPropertyMarqueeRepetition::createHandler):
+ (ApplyPropertyMarqueeSpeed):
+ (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
+ (WebCore::ApplyPropertyMarqueeSpeed::createHandler):
+ (WebCore::StyleBuilder::StyleBuilder):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::applyProperty):
+ Move marquee applying logic from StyleResolver to StyleBuilder.
+
+ * rendering/style/RenderStyle.h:
+ Change setMarqueeIncrement to pass Length by value instead of const
+ reference. This is consistent with other length setters and works with
+ the ApplyPropertyLength template.
+
+2013-04-01 Philip Rogers <pdr@google.com>
+
+ [SVG2] Add support for the buffered-rendering hint
+ https://bugs.webkit.org/show_bug.cgi?id=104207
+
+ Reviewed by Stephen Chenney.
+
+ This patch adds the SVG2 buffered-rendering property and implements it for the image
+ element. For reference, the spec can be found at:
+ https://svgwg.org/svg2-draft/single-page.html#painting-BufferedRendering
+
+ The buffered-rendering hint causes our implementation to create a temporary image buffer
+ for caching an element's foreground rendering. This behavior has been designed to support
+ other graphical and container elements in followup patches (such as the use and g elements).
+ This patch should not affect rendering, and a test has been added showing the image
+ results are unchanged.
+
+ The performance aspects of this patch can be tested using the following test:
+ http://philbit.com/bouncingTigers.html
+ Without the patch, rendering is below 1fps. With the patch, rendering is fluid.
+
+ Tests: svg/css/buffered-rendering.html
+ svg/repaint/buffered-rendering-dynamic-image.html
+ svg/repaint/buffered-rendering-static-image.html
+
+ Other than the changes to RenderSVGImage and SVGRenderingContext, the changes below are to
+ support the new buffered-rendering property:
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore):
+ (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/SVGCSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
+ * css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGValue):
+ * css/SVGCSSPropertyNames.in:
+ * css/SVGCSSStyleSelector.cpp:
+ (WebCore::StyleResolver::applySVGProperty):
+ * css/SVGCSSValueKeywords.in:
+ * rendering/style/SVGRenderStyle.cpp:
+ (WebCore::SVGRenderStyle::diff):
+ * rendering/style/SVGRenderStyle.h:
+ (WebCore::SVGRenderStyle::initialBufferedRendering):
+ (WebCore::SVGRenderStyle::setBufferedRendering):
+ (WebCore::SVGRenderStyle::bufferedRendering):
+ (WebCore::SVGRenderStyle::setBitDefaults):
+ * rendering/style/SVGRenderStyleDefs.h:
+ * rendering/svg/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::paint):
+
+ The foreground painting has been extracted out into a separate function. This has also
+ been changed so that if the buffered-rendering hint is present, bufferForeground
+ is used.
+
+ (WebCore::RenderSVGImage::paintForeground):
+ (WebCore):
+ (WebCore::RenderSVGImage::invalidateBufferedForeground):
+
+ This function could be replaced with "m_bufferedForeground.clear()" but other renderers
+ (such as container elements) will require more complex invalidation logic. To
+ maintain consistency with this future code, invalidateBufferedForeground has been used.
+
+ (WebCore::RenderSVGImage::imageChanged):
+ * rendering/svg/RenderSVGImage.h:
+ (RenderSVGImage):
+ * rendering/svg/SVGRenderingContext.cpp:
+ (WebCore::SVGRenderingContext::bufferForeground):
+ (WebCore):
+ * rendering/svg/SVGRenderingContext.h:
+ (SVGRenderingContext):
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
+ (WebCore::cssPropertyToTypeMap):
+ * svg/svgattrs.in:
+
+2013-04-01 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Remove 'type' parameter from CSPDirectiveList::checkSourceAndReportViolation.
+ https://bugs.webkit.org/show_bug.cgi?id=113502
+
+ Reviewed by Adam Barth.
+
+ Now that we're passing in 'effectiveDirective', we don't need the 'type'
+ parameter to generate the proper error message prefix when reporting
+ violations.
+
+ While I'm here, I'll slightly tweak the grammar for the error messages.
+ Changes are covered via rebaselines of existing tests.
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
+ Drop the 'type' parameter. We don't need to pass in a type since
+ we're now passing in the 'effectiveDirective'; we can use the latter
+ to generate the correct error message prefix.
+ (WebCore::CSPDirectiveList::allowScriptFromSource):
+ (WebCore::CSPDirectiveList::allowObjectFromSource):
+ (WebCore::CSPDirectiveList::allowChildFrameFromSource):
+ (WebCore::CSPDirectiveList::allowImageFromSource):
+ (WebCore::CSPDirectiveList::allowStyleFromSource):
+ (WebCore::CSPDirectiveList::allowFontFromSource):
+ (WebCore::CSPDirectiveList::allowMediaFromSource):
+ (WebCore::CSPDirectiveList::allowConnectToSource):
+ (WebCore::CSPDirectiveList::allowFormAction):
+ (WebCore::CSPDirectiveList::allowBaseURI):
+ Drop the 'type' parameter from the callsites, which has the lovely
+ property of allowing us to throw away a bunch of statically allocated
+ strings that we don't need anymore.
+
+2013-04-01 James Craig <james@cookiecrook.com>
+
+ AX: "video element controller" is an overly verbose default description for the playback controls; how about just "playback"
+ https://bugs.webkit.org/show_bug.cgi?id=113549
+
+ Reviewed by Chris Fleizach.
+
+ Existing test coverage.
+
+ Updating the video/audio element's default accessibility labels to be less verbose.
+ Also cleaned up some erroneous comments related to the sub-level controls on these elements.
+
+ * English.lproj/Localizable.strings:
+ * platform/LocalizedStrings.cpp:
+ (WebCore::localizedMediaControlElementString):
+ (WebCore::localizedMediaControlElementHelpText):
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ (WebCore::localizedMediaControlElementString):
+
+2013-04-01 Nate Chapin <japhet@chromium.org>
+
+ Make a bunch of DocumentLoader functions private
+ https://bugs.webkit.org/show_bug.cgi?id=113601
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests, cleanup only.
+
+ * loader/DocumentLoader.cpp:
+ * loader/DocumentLoader.h:
+
+2013-04-01 Kangil Han <kangil.han@samsung.com>
+
+ Minor code cleanup by removing duplicated null checks
+ https://bugs.webkit.org/show_bug.cgi?id=113701
+
+ Reviewed by Darin Adler.
+
+ Duplicated null check is code redundancy, so delete those.
+
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::setFocusedNodeIfNeeded):
+ * platform/Arena.cpp:
+ (WebCore::FreeArenaList):
+
+2013-04-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: follow up to r147323, popover is empty on network panel.
+ Not reviewed.
+
+ * inspector/front-end/DOMExtension.js:
+ (Element.prototype.measurePreferredSize):
+ * inspector/front-end/Popover.js:
+ (WebInspector.Popover.prototype._innerShow):
+
+2013-04-01 Dmitry Zvorygin <zvorygin@chromium.org>
+
+ Web Inspector: Exception in console on attempt to filter javascript messages.
+ https://bugs.webkit.org/show_bug.cgi?id=113327
+
+ Fixed non-css filtration if console message groups are present. Message groups elements are always shown and are
+ never filtered out.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype.updateRepeatCount):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.get this):
+ (WebInspector.ConsoleView.prototype._consoleMessageAdded):
+ (WebInspector.ConsoleView.prototype._appendConsoleMessage):
+ (WebInspector.ConsoleView.prototype._consoleCleared):
+ (WebInspector.ConsoleView.prototype._shouldBeVisible):
+ (WebInspector.ConsoleView.prototype._updateMessageList):
+ (WebInspector.ConsoleView.prototype._printResult):
+
+2013-04-01 Victor Carbune <vcarbune@chromium.org>
+
+ Parsing WebVTT Region Header Metadata
+ https://bugs.webkit.org/show_bug.cgi?id=109818
+
+ Reviewed by Eric Carlson.
+
+ This patch enables reading regions from the metadata section of
+ a WebVTT file. The work for defining generic metadata within the
+ WebVTT file header is still work in progress in the TextTrack CG.
+
+ As previous patches, everything is guarded by WEBVTT_REGIONS and
+ is by default disabled in all ports.
+
+ Test: media/track/regions-webvtt/text-track-region-parser.html
+
+ * html/track/LoadableTextTrack.cpp:
+ (WebCore):
+ (WebCore::LoadableTextTrack::newRegionsAvailable): Added method
+ to be called as soon as regions have finished parsing.
+ * html/track/LoadableTextTrack.h:
+ (LoadableTextTrack):
+ * html/track/TextTrack.h: Changed the access modifiers.
+ (TextTrack):
+ * html/track/TextTrackRegion.cpp:
+ (WebCore::TextTrackRegion::setRegionSettings): Entry point for
+ parsing the region settings from a string.
+ (WebCore):
+ (WebCore::TextTrackRegion::getSettingFromString): Maps a string
+ to a RegionSetting value.
+ (WebCore::TextTrackRegion::parseSettingValue): Parses the value
+ of a specific setting.
+ (WebCore::TextTrackRegion::parseSetting): Parses a setting string.
+ * html/track/TextTrackRegion.h:
+ * html/track/WebVTTParser.cpp:
+ (WebCore):
+ (WebCore::WebVTTParser::parseFloatPercentageValue): Helper method
+ to parse a float percentage value (e.g. "50.1%")
+ (WebCore::WebVTTParser::parseFloatPercentageValuePair): Helper method
+ to parse a float percentage value pair (e.g. "50.1%, 30.5%")
+ (WebCore::WebVTTParser::getNewRegions): Retrieves the new regions
+ available for processing.
+ (WebCore::WebVTTParser::parseBytes):
+ (WebCore::WebVTTParser::collectHeader): Generic function to collect
+ header in the metadata region.
+ (WebCore::WebVTTParser::createNewRegion): Creates new region using
+ the existing metadata header name and value.
+ * html/track/WebVTTParser.h:
+ (WebVTTParserClient):
+ (WebVTTParser):
+ * loader/TextTrackLoader.cpp:
+ (WebCore):
+ (WebCore::TextTrackLoader::newRegionsParsed): Called when the
+ regions have been succesfully parsed.
+ (WebCore::TextTrackLoader::getNewRegions): Gets the new regions.
+ * loader/TextTrackLoader.h:
+ (TextTrackLoaderClient): Added methods that need to be implemented.
+ (TextTrackLoader):
+
+2013-04-01 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: Go to line dialog has 0 height, viewport dialogs have empty gaps.
+ https://bugs.webkit.org/show_bug.cgi?id=113702
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/DOMExtension.js:
+ (Element.prototype.measurePreferredSize):
+ * inspector/front-end/Popover.js:
+ (WebInspector.Popover.prototype._innerShow):
+ * inspector/front-end/ViewportControl.js:
+ (WebInspector.ViewportControl.prototype.refresh):
+ * inspector/front-end/dialog.css:
+ (.dialog-contents):
+
+2013-04-01 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [DTE] Convertion between text and coordinates
+ https://bugs.webkit.org/show_bug.cgi?id=113389
+
+ Reviewed by Pavel Feldman.
+
+ Test: inspector/editor/text-editor-char-to-coordinates.html
+
+ Implement cursorPositionToCoordinates and coordinatesToCursorPosition
+ methods pair in DefaultTextEditor.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype.cursorPositionToCoordinates):
+ (WebInspector.DefaultTextEditor.prototype.coordinatesToCursorPosition):
+ (WebInspector.TextEditorMainPanel.prototype.cursorPositionToCoordinates):
+ (WebInspector.TextEditorMainPanel.prototype.coordinatesToCursorPosition):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.cursorPositionToCoordinates):
+ (WebInspector.TextEditor.prototype.coordinatesToCursorPosition):
+
+2013-04-01 Sergey Ryazanov <serya@chromium.org>
+
+ Web Inspector: Rename "Copy to Curl" menu item command to "Copy to cURL"
+ https://bugs.webkit.org/show_bug.cgi?id=113575
+
+ Reviewed by Pavel Feldman.
+
+ Fix the name to the offical way of capitalization.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._contextMenu):
+
+2013-04-01 Koji Ishii <kojiishi@gmail.com>
+
+ ASSERTION FAILED: m_purgePreventCount when clicking text with emphasis marks
+ https://bugs.webkit.org/show_bug.cgi?id=85266
+
+ Reviewed by Darin Adler.
+
+ Font::glyphDataAndPageForCharacter may call FontCache::getFontDataForCharacters
+ if system fallback occurs, which may return SimpleFontData with DoNotRetain,
+ so callers must prevent possible font cache purging.
+
+ Test: fast/text/emphasis-height-crash.html
+
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::Font::emphasisMarkAscent): Add FontCachePurgePreventer.
+ (WebCore::Font::emphasisMarkDescent): ditto.
+ (WebCore::Font::emphasisMarkHeight): ditto.
+ (WebCore::Font::drawEmphasisMarks): ditto.
+
+2013-04-01 Vladislav Kaznacheev <kaznacheev@chromium.org>
+
+ Web Inspector: Fixed DOM Breakpoint pane styles.
+ https://bugs.webkit.org/show_bug.cgi?id=113688
+
+ Reviewed by Pavel Feldman.
+
+ The required stylesheet (breakpointsList.css) was not loaded because of
+ the peculiar way DOMBreakpointsSidebarPane is included in two panels
+ (Sources and Elements) via a proxy pane. Since DOMBreakpointsSidebarPane
+ was never shown directly the registerRequiredCSS call in its base class
+ NativeBreakpointsSidebarPane constructor had no effect.
+ Addin a registerRequiredCSS call to the proxy pane constructor fixes the
+ problem.
+
+
+ * inspector/front-end/DOMBreakpointsSidebarPane.js:
+ (WebInspector.DOMBreakpointsSidebarPane.Proxy):
+
+2013-04-01 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Extract item to coordinates conversion into a separate function.
+ https://bugs.webkit.org/show_bug.cgi?id=113682
+
+ Reviewed by Yury Semikhatsky.
+
+ The calculation was extracted into entryToAnchorBox.
+
+ Drive by fixes: unnecessary members were removed.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.Entry):
+ (WebInspector.FlameChart.prototype._calculateTimelineData):
+ (WebInspector.FlameChart.prototype._calculateTimelineDataForSamples):
+ (WebInspector.FlameChart.prototype._getPopoverAnchor):
+ (WebInspector.FlameChart.prototype._entryToAnchorBox):
+ (WebInspector.FlameChart.prototype.draw):
+
+2013-03-31 Zalan Bujtas <zalan@apple.com>
+
+ Gradient background does not get repainted when child box is expanded.
+ https://bugs.webkit.org/show_bug.cgi?id=113644
+
+ Reviewed by Antti Koivisto.
+
+ The initial value for background-size is SizeNone and remains, unless it is
+ set explicitly. However, when the background shorthand is used,
+ the size property defaults to SizeLength. The repaint
+ logic in mustRepaintFillLayers expects to have this value set correctly.
+
+ Test: fast/repaint/background-shorthand-with-gradient-and-height-changes.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::mustRepaintFillLayers): code cleanup. no functionality change.
+ * rendering/style/FillLayer.cpp:
+ (WebCore::FillLayer::FillLayer):
+ * rendering/style/FillLayer.h: use SizeNone as initial value.
+ (WebCore::FillLayer::initialFillSizeType):
+ (WebCore::FillLayer::initialFillSize):
+
+2013-03-31 Hayato Ito <hayato@chromium.org>
+
+ Text representation of pseudo elements, '::-webkit-distributed', is wrong in CSSSelector::selectorText().
+ https://bugs.webkit.org/show_bug.cgi?id=113560
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix the text representation of distributed functional pseudo elements in CSSSelector::selectorText().
+
+ Test: fast/dom/shadow/distributed-pseudo-element-css-text.html
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::selectorText):
+ * css/CSSSelector.h:
+ (CSSSelector):
+
+2013-03-31 Adam Barth <abarth@webkit.org>
+
+ [Chromium] Yarr should build using a separate GYP file from JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=113652
+
+ Reviewed by Nico Weber.
+
+ * WebCore.gyp/WebCore.gyp:
+ - Update references to yarr.gyp.
+
+2013-03-31 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Remove unused stdio.h includes
+ https://bugs.webkit.org/show_bug.cgi?id=113655
+
+ Reviewed by Andreas Kling.
+
+ We do not have to include unused header file.
+
+ * platform/efl/CursorEfl.cpp:
+ * platform/efl/FileSystemEfl.cpp:
+ * platform/efl/PlatformKeyboardEventEfl.cpp:
+ * platform/efl/ScrollbarThemeEfl.cpp:
+
+2013-03-31 Rafael Weinstein <rafaelw@chromium.org>
+
+ HTMLLinkElement should resolve resource URLs when resources will be fetched
+ https://bugs.webkit.org/show_bug.cgi?id=113630
+
+ HTMLLinkElement was resolving its URL when the href attribute was processed and caching it without ever
+ invalidating the cached URL. This patch removes the cached URL and adds getURL() which resolve the
+ URL dynamically.
+
+ Reviewed by Eric Seidel.
+
+ Test: fast/dom/HTMLLinkElement/resolve-url-on-insertion.html
+
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::getURL):
+ (WebCore):
+ (WebCore::HTMLLinkElement::parseAttribute):
+ (WebCore::HTMLLinkElement::shouldLoadLink):
+ (WebCore::HTMLLinkElement::process):
+ * html/HTMLLinkElement.h:
+ (HTMLLinkElement):
+
+2013-03-31 Brady Eidson <beidson@apple.com>
+
+ NetworkProcess crashes in WebCoreResourceHandleAsOperationQueueDelegate callbacks.
+ <rdar://problem/13541868> and https://bugs.webkit.org/show_bug.cgi?id=113664
+
+ Reviewed by Dan Bernstein.
+
+ In the "two-part" callbacks that involve waiting on a semaphore for the async block to finish,
+ the delegate might have been destroyed by the time the wait completes.
+
+ A RetainPtr<> protector will fix that up nicely.
+
+ * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]):
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):
+
+2013-03-30 Adam Barth <abarth@webkit.org>
+
+ Remove unused include of RegularExpression.h
+ https://bugs.webkit.org/show_bug.cgi?id=113649
+
+ Reviewed by Dimitri Glazkov.
+
+ * Modules/filesystem/DOMFilePath.cpp:
+ - This include isn't used.
+
+2013-03-30 Tom Sepez <tsepez@chromium.org>
+
+ Cross-Origin copy&paste / drag&drop allowing XSS via srcdoc attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=113443
+
+ Reviewed by Adam Barth.
+
+ Tested by LayoutTests/editing/pasteboard/paste-noscript.html
+
+ * dom/Element.h:
+ (Element):
+ (WebCore::Element::isHTMLContentAttribute):
+ Adds an isHTMLContentAttribute() method to determine whether an attribute can contain
+ (potentially unsafe) HTML content. Currently, the iframe's srcdoc attribute is the only
+ such attribute, but clever folks might add more in the future.
+ Rename stripJavaScriptAttributes() method to stripScriptingAttributes(), to better reflect
+ the reality that scripting content may appear as above.
+ Adds missing consts and consolidate isJavaScriptAttribute() method.
+
+ * dom/Element.cpp:
+ (WebCore::Element::isJavaScriptURLAttribute):
+ (WebCore::Element::stripScriptingAttributes):
+ Consolidated methods.
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::isHTMLContentAttribute):
+ (WebCore):
+ * html/HTMLFrameElementBase.h:
+ (HTMLFrameElementBase):
+ Indicate that for frames, the srcdoc attribute contains HTML content.
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::setAttributes):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::setAttributes):
+ * xml/parser/XMLDocumentParserQt.cpp:
+ (WebCore::setAttributes):
+ Rename stripJavaScriptAttribute calls to match Element.h
+
+2013-03-30 Tom Sepez <tsepez@chromium.org>
+
+ View-source iframes are dangerous (and not very useful).
+ https://bugs.webkit.org/show_bug.cgi?id=113345
+
+ Reviewed by Adam Barth.
+
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseAttribute):
+ Conditionalize viewsource attribute on ENABLE(VIEWSOURCE_ATTRIBUTE).
+
+2013-03-30 Philippe Normand <pnormand@igalia.com>
+
+ [GTK] Should use GStreamer codec installation infrastructure
+ https://bugs.webkit.org/show_bug.cgi?id=34085
+
+ Reviewed by Martin Robinson.
+
+ Initial support for the GStreamer codec installer. The player will
+ handle missing-plugins messages and use the pbutils codec
+ installer facilities to install the missing GStreamer
+ plugins. Once the plugins are installed reset the pipeline state.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::mediaPlayerPrivatePluginInstallerResultFunction): This
+ method is used to notify the player that the missing plugins were installed.
+ (WebCore):
+ (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
+ (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Ignore
+ errors while installing plugins and handle the missing-plugin message.
+ (WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult):
+ This method is invoked after the installer finished its task.
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+ (MediaPlayerPrivateGStreamer):
+
+2013-03-30 Praveen R Jadhav <praveen.j@samsung.com>
+
+ g_slist_reverse() may not be required in webKitWebAudioSrcLoop
+ https://bugs.webkit.org/show_bug.cgi?id=113568
+
+ Reviewed by Philippe Normand.
+
+ Decremental 'for' loop logic implemented to avoid using g_slist_reverse().
+
+ Original code - 2.025230 micro seconds per loop
+ Original code + patch - 1.964759 micro seconds per loop
+
+ This patch is covered by existing webaudio tests.
+
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+ (webKitWebAudioSrcLoop):
+
+2013-03-30 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Fonts refactoring
+ https://bugs.webkit.org/show_bug.cgi?id=113047
+
+ Reviewed by Pavel Feldman.
+
+ Unify fonts usage across inspector.
+ Make inspector default font depend on platform.
+
+ * inspector/front-end/breakpointsList.css:
+ * inspector/front-end/dataGrid.css:
+ (.data-grid):
+ (.data-grid table):
+ (.data-grid td):
+ (.data-grid th.sort-ascending > div::after):
+ (.data-grid th.sort-descending > div::after):
+ (.data-grid button):
+ * inspector/front-end/heapProfiler.css:
+ (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
+ (.heap-snapshot-view .retainers-view-header):
+ * inspector/front-end/inspector.css:
+ (.toolbar-item):
+ (.toolbar-label):
+ (.console-message .bubble):
+ (.outline-disclosure > ol):
+ (.source-code):
+ (.scope-bar li):
+ (.sidebar-tree, .sidebar-tree .children):
+ (.sidebar-tree-section):
+ (li .status .bubble):
+ (.sidebar-tree-item.selected):
+ (.sidebar-tree-item .titles):
+ (.sidebar-tree-item .subtitle):
+ (.sidebar-tree-item.selected .subtitle):
+ (.source-frame-breakpoint-message):
+ (.soft-context-menu):
+ * inspector/front-end/inspectorCommon.css:
+ (body):
+ (.resources-divider-label):
+ * inspector/front-end/navigatorView.css:
+ (.navigator li):
+ (.navigator li.selected .selection):
+ (.navigator .base-navigator-tree-element-title):
+ * inspector/front-end/networkLogView.css:
+ (.network-log-grid.data-grid td):
+ (.network-log-grid.data-grid.small td):
+ (.network-log-grid.data-grid th):
+ (.network-log-grid.data-grid select):
+ (.network-graph-label):
+ (.network-timeline-grid .resources-divider-label):
+ (.network-log-grid.data-grid .network-summary-bar td):
+ * inspector/front-end/resourcesPanel.css:
+ (.resources.panel .sidebar li):
+ (.resources.panel .sidebar li.selected):
+ (.resources.panel .sidebar li.selected .selection):
+ * inspector/front-end/sidebarPane.css:
+ (.sidebar-pane > .body .info):
+ (.sidebar-pane-title):
+ (.sidebar-pane-toolbar):
+ (.sidebar-pane-subtitle):
+ * inspector/front-end/tabbedPane.css:
+ (.tabbed-pane-header-tab):
+ (.tabbed-pane-header-tab-close-button):
+ (select.tabbed-pane-header-tabs-drop-down-select):
+ * inspector/front-end/timelinePanel.css:
+ (.memory-counter-value):
+
+2013-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r147263.
+ http://trac.webkit.org/changeset/147263
+ https://bugs.webkit.org/show_bug.cgi?id=113632
+
+ Breaks test fast/loader/display-image-unset-allows-cached-
+ image-load.html (Requested by mlam on #webkit).
+
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::freshnessLifetime):
+
+2013-03-29 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed. AppleWin VS2010 build fix.
+
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+
+2013-03-29 Yongjun Zhang <yongjun_zhang@apple.com>
+
+ When releasing a CGImage, we should also remove it from the subimage cache.
+ https://bugs.webkit.org/show_bug.cgi?id=102453
+
+ Reviewed by Simon Fraser.
+
+ When we release an image(CGImageRef) from BitmapImage's cachedFrames, if the image was already
+ cached in subimage cache, it's ref count won't drop to 0 and the image won't be deleted. Usually,
+ the subimage cache will clear the whole cache in a timer with 1 sec delay. However, if WebCore has
+ to paint another subimage (not necessarily from the same CGImageRef) before this timer fires, we
+ will restart the timer and images inside the cache will stay longer than they should.
+
+ This patch does two things:
+ - move SubimageCacheWithTimer and related helper struct into a separate file.
+ - remove the image from subimage cache when we releasing the CGImageRef, this prevent subimage
+ cache holding the image after we released it.
+
+ No new tests, manually verified the CGImageRef is also removed from subimage cache
+ when we releasing the image from FrameData::clear.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/cg/BitmapImageCG.cpp:
+ (WebCore::FrameData::clear): remove the image from subimage cache before we releasing it.
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ (WebCore):
+ (WebCore::GraphicsContext::drawNativeImage):
+ * platform/graphics/cg/SubimageCacheWithTimer.cpp: Added.
+ (WebCore):
+ (SubimageRequest):
+ (WebCore::SubimageRequest::SubimageRequest):
+ (WebCore::SubimageCacheAdder::hash):
+ (SubimageCacheAdder):
+ (WebCore::SubimageCacheAdder::equal):
+ (WebCore::SubimageCacheAdder::translate):
+ (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):
+ (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):
+ (WebCore::SubimageCacheWithTimer::getSubimage):
+ (WebCore::SubimageCacheWithTimer::clearImage):
+ (WebCore::subimageCache):
+ * platform/graphics/cg/SubimageCacheWithTimer.h: Added.
+ (WebCore):
+ (SubimageCacheWithTimer): Added a data member m_images to record which image and its subimages are cached.
+ (SubimageCacheEntry):
+ (SubimageCacheEntryTraits):
+ (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::isEmptyValue):
+ (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::constructDeletedValue):
+ (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::isDeletedValue):
+ (WebCore::SubimageCacheWithTimer::SubimageCacheHash::hash):
+ (WebCore::SubimageCacheWithTimer::SubimageCacheHash::equal):
+ (SubimageCacheHash):
+
+2013-03-29 Andy Estes <aestes@apple.com>
+
+ Let cached resources from file: schemes expire immediately
+ https://bugs.webkit.org/show_bug.cgi?id=113626
+
+ Reviewed by Brady Eidson
+
+ When a CachedResource was loaded from a file: URL, we would give it an
+ indefinite freshness lifetime. This means that we would continue to
+ serve a stale resource from the memory cache even if the file was
+ changed on disk. With the introduction of main resource caching, this
+ behavior broke at least one third-party WebKit app (see <rdar://problem/13313769>).
+
+ We should instead let file resources expire immediately. Modern
+ filesystems implement their own caching, so we should get good
+ performance for multiple reads of unmodified files without doing our
+ own caching.
+
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::freshnessLifetime): file: URLs should have a
+ 0 freshness lifetime.
+
+2013-03-29 Ojan Vafai <ojan@chromium.org>
+
+ Flexitems no longer default min-width to min-content
+ https://bugs.webkit.org/show_bug.cgi?id=111790
+
+ Reviewed by Tony Chang.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ Disallow auto as a valid min-size value.
+
+ * css/html.css:
+ (input::-webkit-datetime-edit):
+ (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
+ (input[type="range"]::-webkit-slider-runnable-track):
+ Remove now unnecessary min-width: 0's.
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
+ (video::-webkit-media-controls-enclosure):
+ Set a flex-shrink: 0 to avoid shrinking these items below the designated height.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::constrainLogicalHeightByMinMax):
+ (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
+ (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
+ (WebCore::RenderBox::computeLogicalHeight):
+ (WebCore::RenderBox::computeLogicalHeightUsing):
+ (WebCore::RenderBox::computeContentLogicalHeight):
+ (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
+ (WebCore::RenderBox::computeReplacedLogicalWidth):
+ (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
+ (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
+ (WebCore::RenderBox::computeReplacedLogicalHeight):
+ (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
+ (WebCore::RenderBox::availableLogicalHeightUsing):
+ (WebCore::RenderBox::computePositionedLogicalWidth):
+ (WebCore::RenderBox::computePositionedLogicalWidthUsing):
+ (WebCore::RenderBox::computePositionedLogicalHeight):
+ (WebCore::RenderBox::computePositionedLogicalHeightUsing):
+ Remove all the unneeded SizeType arguments now that we don't need to
+ specially handle MinSize in all these functions.
+
+ * rendering/RenderBox.h:
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::styleWillChange):
+ (WebCore::RenderButton::setupInnerStyle):
+ No longer need to explicitly set min-width:0.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
+ (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
+ (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
+ Remove the code for specially handling auto.
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::maxPageLogicalHeight):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::computeReplacedLogicalWidth):
+ (WebCore::RenderReplaced::computeReplacedLogicalHeight):
+ Remove all the now unneeded SizeType arguments.
+
+ * rendering/style/RenderStyle.h:
+ Change the default min-size back to 0.
+
+2013-03-29 Alexey Proskuryakov <ap@apple.com>
+
+ Expose FeatureObserver data to WebKit clients
+ https://bugs.webkit.org/show_bug.cgi?id=113613
+
+ Reviewed by Sam Weinig.
+
+ FeatureObserver used to depend on chromium-only HistogramSupport, which is not
+ really usable on Mac at least.
+
+ Instead of adding parallel feature reporting machinery, I'm adding a way to
+ generically relay the data from FeatureObserver to port code.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadWithDocumentLoader):
+ (WebCore::FrameLoader::commitProvisionalLoad):
+ (WebCore::FrameLoader::reportMemoryUsage):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::previousURL):
+ Exposed m_previousURL, renaming it to follow WebKit style.
+
+ * page/FeatureObserver.cpp:
+ (WebCore::FeatureObserver::~FeatureObserver):
+ (WebCore::FeatureObserver::updateMeasurements):
+ * page/FeatureObserver.h:
+ (WebCore::FeatureObserver::accumulatedFeatureBits):
+ Exposed the data to clients, and made reporting through HistogramSupport
+ chromium only for clarity.
+
+2013-03-29 Bem Jones-Bey <bjonesbe@adobe.com>
+
+ [CSS Exclusions] shape outside segments not properly calculated for ellipses
+ https://bugs.webkit.org/show_bug.cgi?id=112587
+
+ Reviewed by Julien Chaffraix.
+
+ When converting the line top coordinates from the parent's coordinate
+ space to the coordinate space of the float, the offset given by the
+ shape was not being accounted for. This patch accounts for that
+ offset.
+
+ Test: fast/exclusions/shape-outside-floats/shape-outside-floats-non-zero-y.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::logicalLeftOffsetForLine): Fix the coordinate conversion.
+ (WebCore::RenderBlock::logicalRightOffsetForLine): Ditto.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Ditto.
+
+2013-03-29 Hans Muller <hmuller@adobe.com>
+
+ [CSS Exclusions] Incorrect margin corner radii formula
+ https://bugs.webkit.org/show_bug.cgi?id=111186
+
+ Reviewed by Dirk Schulze.
+
+ Corrected an error in the forumla for the margin ellipse's radii.
+
+ Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html
+ fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html
+
+ * rendering/ExclusionRectangle.cpp:
+ (WebCore::FloatRoundedRect::marginBounds):
+
+2013-03-19 Ojan Vafai <ojan@chromium.org>
+
+ min-width/max-width of min-content/max-content don't work correctly if width is specified
+ https://bugs.webkit.org/show_bug.cgi?id=106143
+
+ Reviewed by Tony Chang.
+
+ Test: fast/css-intrinsic-dimensions/intrinsic-sized-blocks.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
+ Expose this so that we don't use the preferred widths when calculating intrinsic width
+ values since the preferred width will be the regular width value if it is set.
+ Also, simplified the logic around table cells and scrollbar widths. The old code was
+ wrong and unnecessarily complicated.
+
+ (WebCore::RenderBlock::computePreferredLogicalWidths):
+ Use the new computeIntrinsicLogicalWidths method.
+
+ (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
+ (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
+ Pass in the min/max values as out params so they can be called from computeIntrinsicLogicalWidths.
+ Also, make computeBlockPreferredLogicalWidths const.
+
+ * rendering/RenderBlock.h:
+
+2013-03-29 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Use WTF::TemporaryChange rather than manually resetting a flag
+ https://bugs.webkit.org/show_bug.cgi?id=113594
+
+ Reviewed by Tony Chang.
+
+ Split out from another patch: rather than m_foo = true; ... m_foo = false; use
+ the handy WTF::TemporaryChange scoped variable change doohickey.
+
+ Test: http/tests/inspector/indexeddb/database-structure.html
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::close):
+
+2013-03-29 Joshua Bell <jsbell@chromium.org>
+
+ [V8] IndexedDB: Exceptions thrown inconsistently for non-cloneable values
+ https://bugs.webkit.org/show_bug.cgi?id=113091
+
+ Reviewed by Kentaro Hara.
+
+ The exception thrown by SerializedScriptValue into the JS engine is not
+ observable by ScriptState. (We should fix that, but it appears non-trivial.)
+ Ask the SerializedScriptValue directly if it failed to clone. If so, don't
+ set an exception - one was already set so let that be processed normally.
+
+ Test: storage/indexeddb/clone-exception.html
+
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::put):
+
+2013-03-29 Dean Jackson <dino@apple.com>
+
+ Snapshotted plugins must be able to restart on appropriate mouseup events
+ https://bugs.webkit.org/show_bug.cgi?id=113577
+
+ Reviewed by Tim Horton.
+
+ If the page content prevents the default behaviour of a mousedown event, then a snapshotted
+ plugin would never receive a click event, and thus be unable to restart. We have to also
+ look for a mouseup that happens with an associated mousedown, and trigger restart. This
+ won't call any page code - it's just behind the scenes.
+
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize new member variable.
+ (WebCore::RenderSnapshottedPlugIn::handleEvent): Track the state of mousedown and up pairs, and restart
+ if you see an appropriate mouseup.
+ * rendering/RenderSnapshottedPlugIn.h: New member variable to track mouse state.
+
+2013-03-29 Simon Fraser <simon.fraser@apple.com>
+
+ removeViewportConstrainedLayer() should remove the layer from m_viewportConstrainedLayersNeedingUpdate too
+ https://bugs.webkit.org/show_bug.cgi?id=113596
+
+ Reviewed by Tim Horton.
+
+ It's possible, with some combination of position:fixed and opacity transitions
+ in iframes, to end up with a RenderLayer in m_viewportConstrainedLayersNeedingUpdate
+ that has been removed from m_viewportConstrainedLayers, which leads to later assertions
+ and/or crashes.
+
+ Fix by removing a layer from m_viewportConstrainedLayersNeedingUpdate when we
+ remove it from m_viewportConstrainedLayers.
+
+ I was not able to come up with a testcase that reliably reproduces this.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::removeViewportConstrainedLayer):
+
+2013-03-29 Greg Hughes <ghughes@apple.com>
+
+ Allow multiple searchKeys to be passed to AXUIElementCopyParameterizedAttributeValue
+ https://bugs.webkit.org/show_bug.cgi?id=112276
+
+ Reviewed by Chris Fleizach.
+
+ Added support for accessibility search predicates to accept multiple search keys. The search will return the first item that matches any one of the provided search keys.
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
+ (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
+ (WebCore):
+ * accessibility/AccessibilityObject.h:
+ (AccessibilitySearchCriteria):
+ (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
+ (AccessibilityObject):
+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
+
+2013-03-29 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Bind lifetime of in-memory backing stores to IDBFactory backend
+ https://bugs.webkit.org/show_bug.cgi?id=110820
+
+ Reviewed by Tony Chang.
+
+ Backing stores are dropped as soon as all connections are closed. That makes sense for
+ disk-backed stores to free up memory (although there's a performance trade-off...). But
+ for memory-backed stores, the expected lifetime should match the lifetime of the factory
+ so that an open/write/close/re-open/read yields the written data.
+
+ Test: Chromium's webkit_unit_tests, IDBFactoryBackendTest.MemoryBackingStoreLifetime
+
+ * Modules/indexeddb/IDBBackingStore.cpp:
+ (WebCore::IDBBackingStore::IDBBackingStore): Pass comparator into constructor since it was always
+ assigned immediately afterwards anyway.
+ (WebCore::IDBBackingStore::open): Split into three parts - open() which is disk-backed...
+ (WebCore::IDBBackingStore::openInMemory): ...explit in-memory creation (previously: specified by empty path)
+ (WebCore::IDBBackingStore::create): ... and the common logic which calls the constructor.
+ * Modules/indexeddb/IDBBackingStore.h: Headers for the above.
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::openBackingStore): Add in-memory backing stores to dependent set.
+ * Modules/indexeddb/IDBFactoryBackendImpl.h: Add member to track dependent backing stores.
+
+2013-03-29 Nate Chapin <japhet@chromium.org>
+
+ ASSERT d->m_defersLoading != defers on detik.com and drive.google.com
+ https://bugs.webkit.org/show_bug.cgi?id=111902
+
+ Reviewed by Alexey Proskuryakov.
+
+ Test: http/tests/navigation/same-url-iframes-defer-crash.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::setDefersLoading): If multiple DocumentLoaders are
+ using loading the same main resource, ensure only one of them can call
+ ResourceLoader::setDefersLoading.
+
+2013-03-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Content should not be lost when uiSourceCode's file was removed externally on file system.
+ https://bugs.webkit.org/show_bug.cgi?id=113581
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/IsolatedFileSystem.js:
+ (WebInspector.IsolatedFileSystem.prototype.errorHandler):
+ (WebInspector.IsolatedFileSystem.prototype.requestFileContent):
+ (WebInspector.IsolatedFileSystem.prototype.fileSystemLoaded):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode.prototype.checkContentUpdated.contentLoaded):
+ (WebInspector.UISourceCode.prototype.checkContentUpdated):
+ (WebInspector.UISourceCode.prototype._commitContent):
+
+2013-03-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Prompt before closing dirty tab.
+ https://bugs.webkit.org/show_bug.cgi?id=113576
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer):
+ (WebInspector.TabbedEditorContainer.prototype._maybeCloseTab):
+ (WebInspector.TabbedEditorContainer.prototype._closeTabs):
+ (WebInspector.EditorContainerTabDelegate):
+ (WebInspector.EditorContainerTabDelegate.prototype.closeTabs):
+ * inspector/front-end/TabbedPane.js:
+ (WebInspector.TabbedPane.prototype.setTabDelegate):
+ (WebInspector.TabbedPane.prototype.appendTab):
+ (WebInspector.TabbedPane.prototype.allTabs):
+ (WebInspector.TabbedPane.prototype.otherTabs):
+ (WebInspector.TabbedPaneTab.prototype.setDelegate):
+ (WebInspector.TabbedPaneTab.prototype._tabClicked):
+ (WebInspector.TabbedPaneTab.prototype._closeTabs):
+ (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
+ (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeOthers):
+ (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeAll):
+ (WebInspector.TabbedPaneTabDelegate):
+ (WebInspector.TabbedPaneTabDelegate.prototype.closeTabs):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode.prototype.resetWorkingCopy):
+
+2013-03-29 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Remove hopping ancorElement and use anchorBox instead.
+ https://bugs.webkit.org/show_bug.cgi?id=113579
+
+ Reviewed by Pavel Feldman.
+
+ Initially I made a fake anchor element and moved it according to the highlighted element position.
+ It was a hack and after http://trac.webkit.org/changeset/147209 I'm able to remove it.
+
+ Drive by fix: the code was moved from onMouseMove to getPopoverAnchor.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.prototype._getPopoverAnchor):
+ -(WebInspector.FlameChart.prototype._onMouseMove)
+ * inspector/front-end/flameChart.css:
+
+2013-03-29 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][EGL] Add support for creating offscreen surface.
+ https://bugs.webkit.org/show_bug.cgi?id=113359
+
+ Reviewed by Noam Rosenthal.
+
+ This is in preparation for enabling EGL and GLES2
+ support for EFL port. This patch adds support for using
+ EGLPixmapSurface as an offscreensurface.
+
+ * PlatformEfl.cmake:
+ * platform/graphics/opengl/GLPlatformSurface.cpp:
+ (WebCore::GLPlatformSurface::createOffScreenSurface):
+ * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
+ (WebCore::GLTransportSurface::createTransportSurface):
+ * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
+ (WebCore::EGLConfigSelector::EGLConfigSelector):
+ (WebCore::EGLConfigSelector::pixmapContextConfig):
+ (WebCore::EGLConfigSelector::surfaceContextConfig):
+ (WebCore::EGLConfigSelector::nativeVisualId):
+ (WebCore::EGLConfigSelector::reset):
+ (WebCore::EGLConfigSelector::createConfig):
+ * platform/graphics/surfaces/egl/EGLConfigSelector.h:
+ (EGLConfigSelector):
+
+ Added logic to select EGLConfig supporting alpha and
+ opaque as needed. Moved Code related to display to
+ EGLHelper class.
+
+ * platform/graphics/surfaces/egl/EGLHelper.cpp: Added.
+ (WebCore):
+ (EGLDisplayConnection):
+ (WebCore::EGLDisplayConnection::EGLDisplayConnection):
+ (WebCore::EGLDisplayConnection::~EGLDisplayConnection):
+ (WebCore::EGLDisplayConnection::display):
+ (WebCore::EGLDisplayConnection::terminate):
+ (WebCore::EGLHelper::eglDisplay):
+ * platform/graphics/surfaces/egl/EGLHelper.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
+ (WebCore):
+ (EGLHelper):
+ * platform/graphics/surfaces/egl/EGLSurface.cpp:
+ (WebCore::EGLTransportSurface::createTransportSurface):
+ (WebCore::EGLTransportSurface::EGLTransportSurface):
+ (WebCore::EGLTransportSurface::attributes):
+ (WebCore::EGLTransportSurface::~EGLTransportSurface):
+ (WebCore::EGLTransportSurface::destroy):
+ (WebCore::EGLTransportSurface::configuration):
+ (WebCore::EGLOffScreenSurface::createOffScreenSurface):
+ (WebCore::EGLOffScreenSurface::EGLOffScreenSurface):
+ (WebCore::EGLOffScreenSurface::~EGLOffScreenSurface):
+ (WebCore::EGLOffScreenSurface::attributes):
+ (WebCore::EGLOffScreenSurface::configuration):
+ (WebCore::EGLOffScreenSurface::destroy):
+ * platform/graphics/surfaces/egl/EGLSurface.h:
+ (WebCore):
+ (EGLTransportSurface):
+ (EGLOffScreenSurface):
+ * platform/graphics/surfaces/egl/EGLXSurface.cpp: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.cpp.
+ (WebCore):
+ (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
+ (WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
+ (WebCore::EGLWindowTransportSurface::swapBuffers):
+ (WebCore::EGLWindowTransportSurface::destroy):
+ (WebCore::EGLPixmapSurface::EGLPixmapSurface):
+ (WebCore::EGLPixmapSurface::~EGLPixmapSurface):
+ (WebCore::EGLPixmapSurface::destroy):
+ * platform/graphics/surfaces/egl/EGLXSurface.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
+ (WebCore):
+ (EGLWindowTransportSurface):
+ (EGLPixmapSurface):
+
+ EGLPixmapSurface implementation.
+
+2013-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r147218.
+ http://trac.webkit.org/changeset/147218
+ https://bugs.webkit.org/show_bug.cgi?id=113585
+
+ We should rethink UI of this feature. (Requested by vsevik on
+ #webkit).
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.populateWithProperties):
+ * inspector/front-end/RemoteObject.js:
+ (WebInspector.RemoteObject.prototype.set else):
+ (WebInspector.RemoteObjectProperty):
+ * inspector/front-end/inspector.css:
+
+2013-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: extract common base for 3 timeline overview controls (Events/Frames/Memory)
+ https://bugs.webkit.org/show_bug.cgi?id=113572
+
+ Reviewed by Yury Semikhatsky.
+
+ Refactoring, covered by existing tests.
+
+ - introduce TimelineOverviewBase as a common base for 3 overview controls;
+ - make every overview control a view.
+
+ This does not yet take advantage of common base (subject of the next patch).
+
+ * inspector/front-end/OverviewGrid.js:
+ (WebInspector.OverviewGrid.prototype.gridElement):
+ (WebInspector.OverviewGrid.prototype.itemsGraphsElement):
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.TimelineOverviewPane.prototype.setMode):
+ (WebInspector.TimelineOverviewPane.prototype._update):
+ (WebInspector.TimelineOverviewBase):
+ (WebInspector.TimelineOverviewBase.prototype.update):
+ (WebInspector.TimelineMemoryOverview):
+ (WebInspector.TimelineEventOverview):
+ (WebInspector.TimelineEventOverview.prototype._renderBar):
+ (WebInspector.TimelineFrameOverview):
+ (WebInspector.TimelineFrameOverview.prototype.update):
+ (WebInspector.TimelineFrameOverview.prototype._renderBars):
+ (WebInspector.TimelineFrameOverview.prototype._drawFPSMarks):
+ (WebInspector.TimelineFrameOverview.prototype._renderBar):
+
+2013-03-29 Peter Rybin <prybin@chromium.org>
+
+ Web Inspector: gather accessor property getter and setter under a single tree node
+ https://bugs.webkit.org/show_bug.cgi?id=113357
+
+ Reviewed by Yury Semikhatsky.
+
+ A new tree element class AccessorPropertyTreeElemenet is added.
+ RemoteObjectProperty can now represent accessor property (if value is null).
+ New tree element is supported in CSS stylesheet.
+
+ Testing code is slightly modified for exploring new tree elements.
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.populateWithProperties):
+ (WebInspector.AccessorPropertyTreeElement):
+ (WebInspector.AccessorPropertyTreeElement.prototype.onattach):
+ (WebInspector.AccessorPropertyTreeElement.prototype.update):
+ (WebInspector.AccessorPropertyTreeElement.prototype.onpopulate):
+ * inspector/front-end/RemoteObject.js:
+ * inspector/front-end/inspector.css:
+ (.accessor-property-name):
+
+2013-03-29 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Developers will have more clue
+ if two different profiles will have same colors for same functions.
+ https://bugs.webkit.org/show_bug.cgi?id=113410
+
+ Reviewed by Pavel Feldman.
+
+ The code related to color generator was extracted into a separate class.
+ The instance of the class was stored as static private member of the FlameChart class,
+ so all the profiles will share the same instance and will use same colors.
+ The colors itself were slightly adjusted.
+
+ Drive by fix: coordinatesToNodeIndex was fixed. The error was introduced in the patch about left padding.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.ColorGenerator):
+ (WebInspector.FlameChart.ColorGenerator.prototype._colorPairForID):
+ (WebInspector.FlameChart.prototype._calculateTimelineData):
+ (WebInspector.FlameChart.prototype._calculateTimelineDataForSamples):
+ (WebInspector.FlameChart.prototype._coordinatesToNodeIndex):
+
+2013-03-29 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Cleanup the CONTEXT_MENUS in BlackBerry porting
+ https://bugs.webkit.org/show_bug.cgi?id=113562
+
+ Reviewed by George Staikos.
+ Internally reviewed by Mike Fenton and Gen Mak.
+
+ No new tests, just disable CONTEXT_MENUS for blackberry porting.
+
+ * platform/blackberry/ContextMenuBlackBerry.cpp:
+ * platform/blackberry/ContextMenuItemBlackBerry.cpp:
+
+2013-03-29 KwangYong Choi <ky0.choi@samsung.com>
+
+ Fix build warning after r147022
+ https://bugs.webkit.org/show_bug.cgi?id=113567
+
+ Reviewed by Kentaro Hara.
+
+ Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
+ No new tests, no change on behavior.
+
+ * page/EventHandler.cpp:
+ (WebCore::expandSelectionToRespectUserSelectAll):
+
+2013-03-29 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: ability to use AnchorBox as an anchor for Popover
+ https://bugs.webkit.org/show_bug.cgi?id=113563
+
+ Reviewed by Pavel Feldman.
+
+ No new test: no change in behaviour.
+
+ - Ability to pass AnchorBox instead of Element for popover anchor.
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.Popover.prototype._positionElement):
+ (WebInspector.PopoverHelper.prototype._eventInHoverElement):
+
+2013-03-29 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: assign Scroll events to rendering category (was painting)
+ https://bugs.webkit.org/show_bug.cgi?id=113564
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TimelinePresentationModel.js: /ScrollLayer.*category/s/painting/rendering/
+ (WebInspector.TimelinePresentationModel._initRecordStyles):
+
+2013-03-28 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer] playback gets bumpy sometimes when on-disk buffering is slow
+ https://bugs.webkit.org/show_bug.cgi?id=113512
+
+ Reviewed by Martin Robinson.
+
+ When the HTTP source element is slow downloading data for on-disk
+ buffering the playback position might reach an unbuffered region
+ and have bad consequences, pausing the pipeline beforehand
+ prevents this case to happen.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
+
+2013-03-29 Keishi Hattori <keishi@webkit.org>
+
+ Add the event handler content attributes that are defined in the spec to HTMLElement
+ https://bugs.webkit.org/show_bug.cgi?id=86363
+
+ Reviewed by Ryosuke Niwa.
+
+ Test: fast/events/event-attribute.html
+
+ We are missing some event handler content attributes from HTMLElement that are defined in the spec.
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#event-handlers-on-elements,-document-objects,-and-window-objects
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::eventNameForAttributeName): Returns event name for a given attribute name by looking it up on a HashMap.
+ (WebCore::HTMLElement::parseAttribute): Sets up event listeners for content attributes.
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::parseAttribute): Removed event listener content attributes that was added to HTMLElement.
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseAttribute): Ditto.
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::parseAttribute): Ditto.
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseAttribute): Ditto.
+ * html/HTMLScriptElement.cpp:
+ (WebCore::HTMLScriptElement::parseAttribute): Ditto.
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::parseAttribute): Ditto.
+ * html/HTMLStyleElement.cpp:
+ (WebCore::HTMLStyleElement::parseAttribute): Ditto.
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::parseAttribute): Ditto.
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::parseAttribute): Ditto.
+
+2013-03-22 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: timeline paint rectangles are off for transformed layers
+ https://bugs.webkit.org/show_bug.cgi?id=112919
+
+ Reviewed by Pavel Feldman.
+
+ - pass RenderObject instead of Frame to InspectorInstrumentation::didPaint;
+ - take transforms into account and convert paint clip rect into quad;
+ - emit quads, not rects as Paint and Layout record data;
+ - adjust client to using quads, compute width/height from quad coords.
+
+ * inspector/InspectorInstrumentation.cpp: Pass RenderObject, not frame to {will,did}Paint.
+ (WebCore):
+ (WebCore::InspectorInstrumentation::willPaintImpl):
+ (WebCore::InspectorInstrumentation::didPaintImpl):
+ (WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer): Added.
+ * inspector/InspectorInstrumentation.h:
+ (WebCore):
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::willPaint):
+ (WebCore::InspectorInstrumentation::didPaint):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didLayout):
+ (WebCore::InspectorTimelineAgent::didPaint):
+ (WebCore::InspectorTimelineAgent::localToPageQuad): Convert local clip rect to transformed quad.
+ (WebCore):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore):
+ (InspectorTimelineAgent):
+ * inspector/TimelineRecordFactory.cpp: Emit quads as Paint and Layout records data.
+ (WebCore::createQuad):
+ (WebCore):
+ (WebCore::TimelineRecordFactory::createPaintData):
+ (WebCore::TimelineRecordFactory::createLayoutData):
+ * inspector/TimelineRecordFactory.h:
+ (WebCore):
+ (TimelineRecordFactory):
+ * inspector/front-end/TimelinePanel.js: Highlight a quad iff formatted record has highlightQuad field.
+ (WebInspector.TimelinePanel.prototype._mouseOut):
+ (WebInspector.TimelinePanel.prototype._mouseMove):
+ (WebInspector.TimelinePanel.prototype._highlightQuad):
+ (WebInspector.TimelinePanel.prototype._hideQuadHighlight):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.Record): Set highlightQuad for Paint and Layout
+ (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
+ (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
+ (WebInspector.TimelinePresentationModel.quadWidth):
+ (WebInspector.TimelinePresentationModel.quadHeight):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintContents):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::paintContents):
+
+2013-03-21 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: generalize InspectorDOMAgent::highlightRect() to highlightQuad()
+ https://bugs.webkit.org/show_bug.cgi?id=112911
+
+ Reviewed by Pavel Feldman.
+
+ - added Quad type and DOMAgent.highlightQuad() to protocol;
+ - retained DOMAgent.highlightRect(), but implement it via highlightQuad.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::parseQuad):
+ (WebCore):
+ (WebCore::InspectorDOMAgent::highlightRect):
+ (WebCore::InspectorDOMAgent::highlightQuad):
+ (WebCore::InspectorDOMAgent::innerHighlightQuad):
+ * inspector/InspectorDOMAgent.h:
+ (InspectorDOMAgent):
+ * inspector/InspectorOverlay.cpp: Mostly just renames of rect to quad.
+ (WebCore::InspectorOverlay::paint):
+ (WebCore::InspectorOverlay::getHighlight):
+ (WebCore::InspectorOverlay::hideHighlight):
+ (WebCore::InspectorOverlay::highlightQuad):
+ (WebCore::InspectorOverlay::update):
+ (WebCore::InspectorOverlay::drawQuadHighlight):
+ (WebCore::InspectorOverlay::reportMemoryUsage):
+ * inspector/InspectorOverlay.h:
+ (InspectorOverlay):
+ * inspector/InspectorOverlayPage.html: Ditto.
+
+2013-03-29 Zalan Bujtas <zalan@apple.com>
+
+ REGRESSION(r143102): Ignore table cell's height attribute when checking if containing block has auto height.
+ https://bugs.webkit.org/show_bug.cgi?id=113526
+
+ It matches shipping Safari and Firefox behaviour.
+
+ Reviewed by Antti Koivisto.
+
+ Test: fast/replaced/iframe-with-percentage-height-within-table-with-table-cell-ignore-height.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
+
+2013-03-28 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Cookies] CookiesTable should integrate with DataGrid context menu.
+ https://bugs.webkit.org/show_bug.cgi?id=113496
+
+ Reviewed by Pavel Feldman.
+
+ Integrate CookiesTable with DataGrid context menu
+ instead of overriding it.
+
+ * inspector/front-end/CookiesTable.js:
+ Pass context menu callback to DataGrid constructor.
+ * inspector/front-end/DataGrid.js:
+ Added context menu callback constructor parameter. Fixed JSDoc.
+
+2013-03-28 Philip Rogers <pdr@google.com>
+
+ Fix compiler warning in IDBTransaction::modeToString
+ https://bugs.webkit.org/show_bug.cgi?id=113547
+
+ Reviewed by Darin Adler.
+
+ Not all compilers are smart enough to handle this switch. This patch refactors
+ modeToString to not return from the default case.
+
+ No new tests as this is just a compiler fix.
+
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::modeToString):
+
+2013-03-28 Simon Fraser <simon.fraser@apple.com>
+
+ GraphicsLayerCA::recomputeVisibleRects() shouldn't actually set the visible rect
+ https://bugs.webkit.org/show_bug.cgi?id=113544
+
+ Reviewed by Tim Horton.
+
+ The functions added in r147058 to update the visible rects of GraphicsLayerCAs
+ should not have actually set the m_visibleRect on the layer, because this
+ caused a later call to adjustTiledLayerVisibleRect() to think that the visible
+ rect had not changed, so it did no expansion.
+
+ Clarify the logic to ask the GraphicsLayer whether, given a new visible
+ rect, it would need to make new tiles (which happens later during a flush).
+
+ Add a function to RenderLayerCompositor to call this code (but which has
+ no callers yet).
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::visibleRectChangeRequiresFlush): Make private.
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
+ (WebCore::GraphicsLayerCA::visibleRectChangeRequiresFlush):
+ * platform/graphics/ca/GraphicsLayerCA.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::noteVisibleRectChanged):
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+
+2013-03-28 Rafael Weinstein <rafaelw@chromium.org>
+
+ [HTMLTemplateElement] <template> should be able to be a foster parent
+ https://bugs.webkit.org/show_bug.cgi?id=113541
+
+ Reviewed by Eric Seidel
+
+ This adds to the check in findFosterSite to include whether the parent is a DocumentFragment which is a template contents.
+
+ Tests added to html5lib suite.
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::findFosterSite):
+
+2013-03-28 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ [Chromium] Don't create SolidColorLayer for full transparent background
+ https://bugs.webkit.org/show_bug.cgi?id=113524
+
+ Reviewed by James Robinson.
+
+ Test: GraphicsLayerChromiumTest.setContentsToSolidColor
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setContentsToSolidColor):
+
+2013-03-28 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ use XMLHttpRequestResponseType enumeration in XMLHttpRequest.idl
+ https://bugs.webkit.org/show_bug.cgi?id=113518
+
+ Reviewed by Kentaro Hara.
+
+ Use enum XMLHttpRequestResponseType type instead of DOMString for
+ XMLHttpRequest responseType.
+
+ Argument validation now happens in the bindings.
+ XMLHttpRequest::setResponseType should then never receive invalid
+ arguments. So, replace console message with ASSERT_NOT_REACHED();
+
+ Test: fast/xmlhttprequest/xmlhttprequest-set-responsetype.html
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setResponseType):
+ * xml/XMLHttpRequest.idl:
+
+2013-03-28 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
+
+ [css3-text] Add platform support for "wavy" text decoration style
+ https://bugs.webkit.org/show_bug.cgi?id=92868
+
+ Reviewed by Benjamin Poulain.
+
+ This patch uses GraphicsContext::strokePath() to implement
+ wavy decoration for the CSS3 property "text-decoration-style".
+
+ No new tests as this is covered with existing tests.
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::textDecorationStyleToStrokeStyle): Remove obsolete comment.
+ (WebCore::adjustStepToDecorationLength): Add function to adjust
+ variables used to calculate the lenght of Bezier curves.
+ (WebCore::strokeWavyTextDecoration): Add function to stroke wavy
+ decoration based on cubic Bezier curve.
+ (WebCore::InlineTextBox::paintDecoration): Call
+ strokeWavyTextDecoration when necessary.
+
+2013-03-28 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ REGRESSION(r147149): breaks binding test on Mac. (Requested by mlam_ on #webkit).
+ https://bugs.webkit.org/show_bug.cgi?id=113538
+
+ Reviewed by Simon Fraser.
+
+ Run run-bindings-tests --reset-results to fix broken tests after
+ r147149.
+
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::shortAttrAttrSetter):
+ (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetter):
+ (WebCore::TestObjV8Internal::longAttrAttrSetter):
+ (WebCore::TestObjV8Internal::longLongAttrAttrSetter):
+ (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetter):
+ (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
+ (WebCore::TestObjV8Internal::createAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
+ (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::conditionalAttr1AttrSetter):
+ (WebCore::TestObjV8Internal::conditionalAttr2AttrSetter):
+ (WebCore::TestObjV8Internal::conditionalAttr3AttrSetter):
+ (WebCore::TestObjV8Internal::anyAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetter):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetter):
+ (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrSetter):
+ (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrSetter):
+ (WebCore::TestObjV8Internal::floatArrayAttrSetter):
+ (WebCore::TestObjV8Internal::doubleArrayAttrSetter):
+ (WebCore::TestObjV8Internal::mutablePointAttrSetter):
+ (WebCore::TestObjV8Internal::immutablePointAttrSetter):
+ (WebCore::TestObjV8Internal::strawberryAttrSetter):
+ (WebCore::TestObjV8Internal::strictFloatAttrSetter):
+ (WebCore::TestObjV8Internal::idAttrSetter):
+ (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::nullableStringValueAttrSetter):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterForMainWorld):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetter):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetter):
+ (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetter):
+ (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetter):
+ (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetter):
+
+2013-03-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r147130.
+ http://trac.webkit.org/changeset/147130
+ https://bugs.webkit.org/show_bug.cgi?id=113539
+
+ Not needed now that we do not sleep in preprocessor.pm
+ (Requested by jamesr on #webkit).
+
+ * WebCore.gyp/WebCore.gyp:
+ * bindings/scripts/CodeGenerator.pm:
+ (ParseInterface):
+ * bindings/scripts/IDLParser.pm:
+ (Parse):
+ * bindings/scripts/generate-bindings.pl:
+ * bindings/scripts/generate-preprocessed-idls.pl: Removed.
+ * bindings/scripts/preprocessor.pm:
+ (applyPreprocessor):
+
+2013-03-28 Nate Chapin <japhet@chromium.org>
+
+ Don't grant local content permissions for appcache loads.
+ https://bugs.webkit.org/show_bug.cgi?id=112542
+
+ Reviewed by Antti Koivisto.
+
+ No new tests, fixing http/tests/appcache/local-content.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::commitData): Don't grant local load permissions
+ to all SubstituteData loads, only give them to loads that were SubstituteData
+ loads at the time of DocumentLoader construction. This constitutes all
+ SubstituteData loads except those triggered by appcache.
+ * loader/DocumentLoader.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::didBeginDocument): Move granting local load
+ permissions for SubstituteData loads to DocumentLoader::commitData().
+
+2013-03-28 Mike West <mkwst@chromium.org>
+
+ X-Frame-Options: Blocked resources should fire load events.
+ https://bugs.webkit.org/show_bug.cgi?id=113192
+
+ Reviewed by Nate Chapin.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::responseReceived):
+ Fire a load event on the frame's owner element when denying access
+ due to X-Frame-Options header content. This brings us in-line with
+ Gecko and IE, which both trigger load events currently.
+
+2013-03-28 Tien-Ren Chen <trchen@chromium.org>
+
+ Support bottom-right anchored fixed-position elements during a pinch gesture
+ https://bugs.webkit.org/show_bug.cgi?id=111670
+
+ Reviewed by James Robinson.
+
+ This patch adds support to bottom-right fixed-position elements by
+ introducing WebLayerPositionConstraint to WebLayer.
+
+ No new tests. Can't test until chromium patch landed.
+
+ * page/scrolling/ScrollingCoordinator.h:
+ (WebCore::ScrollingCoordinator::updateLayerPositionConstraint):
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::clearPositionConstraintExceptForLayer):
+ (WebCore):
+ (WebCore::computePositionConstraint):
+ (WebCore::ScrollingCoordinatorChromium::updateLayerPositionConstraint):
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.h:
+ (ScrollingCoordinatorChromium):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::registerScrollingLayers):
+ * rendering/RenderLayerBacking.h:
+ (WebCore::RenderLayerBacking::contentsContainmentLayer):
+ (RenderLayerBacking):
+ * rendering/RenderLayerCompositor.cpp:
+ * rendering/RenderLayerCompositor.h:
+
+2013-03-28 James Robinson <jamesr@chromium.org>
+
+ Remove unnecessary 1 second sleep on windows from preprocessor.pm
+ https://bugs.webkit.org/show_bug.cgi?id=113536
+
+ Unreviewed, partial rollout of r146661.
+
+ This rolls out one line of 146661 that slows down the windows build significantly.
+
+ * bindings/scripts/preprocessor.pm:
+ (applyPreprocessor):
+
+2013-03-28 Levi Weintraub <leviw@chromium.org>
+
+ Enable font measurement optimization for Chromium-mac when there are no font-feature-settings.
+
+ Enable measure-once optimization on Chromium-Mac
+ https://bugs.webkit.org/show_bug.cgi?id=113243
+
+ Reviewed by Eric Seidel.
+
+ Bugs in Chromium-mac's -webkit-font-feature-settings support prevented us from enabling the
+ optimization when it was enabled for all other platforms. This was believed to be related to
+ kerning, but the bug shows up when there are any font-feature-settings specified. For now,
+ optimizing the common case and only turning off the optimization when there are font-feature-
+ settings in play.
+
+ Updated test fast/text/shaping/shaping-selection-rect.html to avoid breaking due to
+ https://bugs.webkit.org/show_bug.cgi?id=113418
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun):
+
+2013-03-28 Zoltan Horvath <zoltan@webkit.org>
+
+ [CSS Exclusions][CSS Regions] Block children do not layout inline content correctly in a region with shape-inside set
+ https://bugs.webkit.org/show_bug.cgi?id=112177
+
+ Reviewed by David Hyatt.
+
+ When we had two multiple regions and a shape-inside was applied on the second region, but not on the first region and the content contained
+ paragraphs, the content was pushed down almost to the bottom in the second region. In a flow thread this behavior caused by the lack of the
+ proper updating of absoluteLogicalTop in RenderBlock::layoutRunsAndFloatsInRange function.
+
+ Tests: fast/regions/shape-inside/shape-inside-on-additional-regions.html
+ fast/regions/shape-inside/shape-inside-on-regions.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Update the value of absoluteLogicalTop in every run when we are in a flow thread.
+
+2013-03-28 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ exceptions are not checked after toInt32 calls in bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=113218
+
+ Reviewed by Kentaro Hara.
+
+ In attribute setter, wrap JSValue to native value conversion in a try
+ catch block.
+
+ Define a new macro binding: V8TRYCATCH_VOID
+
+ No new tests: covered by fast/dom/exception-in-binding.html
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrSetter):
+ * bindings/v8/V8BindingMacros.h:
+ (WebCore):
+
+2013-03-28 ChangSeok Oh <changseok.oh@collabora.com>
+
+ [GTK][AC] Use transform property of ClutterActor
+ https://bugs.webkit.org/show_bug.cgi?id=113317
+
+ Reviewed by Gustavo Noronha Silva.
+
+ ClutterActor has a transform property to set transformation matrix directly
+ since version 1.12. So we don't need to keep and use the matrix property of GraphicsLayerActor.
+
+ No new tests because of no functionality change.
+
+ * platform/graphics/clutter/GraphicsLayerActor.cpp:
+ (_GraphicsLayerActorPrivate):
+ (graphicsLayerActorDispose):
+ (graphicsLayerActorApplyTransform):
+ * platform/graphics/clutter/GraphicsLayerActor.h:
+ * platform/graphics/clutter/GraphicsLayerClutter.cpp:
+ (WebCore::GraphicsLayerClutter::updateTransform):
+ * platform/graphics/clutter/PlatformClutterAnimation.cpp:
+ (WebCore::PlatformClutterAnimation::addTransformTransition):
+
+2013-03-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r143834.
+ http://trac.webkit.org/changeset/143834
+ https://bugs.webkit.org/show_bug.cgi?id=113530
+
+ Multiple use-after-free regressions on ClusterFuzz (Requested
+ by inferno-sec on #webkit).
+
+ * dom/Attr.cpp:
+ (WebCore::Attr::Attr):
+ (WebCore::Attr::setValue):
+ (WebCore::Attr::childrenChanged):
+ * dom/Attr.h:
+ (Attr):
+ * dom/Element.cpp:
+ (WebCore::Element::setAttributeInternal):
+ * dom/Element.h:
+ (Element):
+
+2013-03-28 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Before / start paddings and borders are not accounted for when placing the grid items
+ https://bugs.webkit.org/show_bug.cgi?id=113351
+
+ Reviewed by Tony Chang.
+
+ Tests: fast/css-grid-layout/grid-element-border-grid-item.html
+ fast/css-grid-layout/grid-element-border-padding-grid-item.html
+ fast/css-grid-layout/grid-element-padding-grid-item.html
+
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::borderAndPaddingBefore):
+ Added this helper function (we do have borderAndPaddingStart but didn't have this
+ one for some reason).
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::findChildLogicalPosition):
+ Shifted |offset| by the paddings and borders before / start.
+
+2013-03-28 Zan Dobersek <zdobersek@igalia.com>
+
+ [GTK] Build GTK-specific, non-layer-violating source code into WebCore-independent libPlatformGtk.la
+ https://bugs.webkit.org/show_bug.cgi?id=112546
+
+ Reviewed by Martin Robinson.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.am: Passing the DATA_DIR value through the cppflags is not required anymore as the affected source is now
+ built into libPlatformGtk.la.
+ * GNUmakefile.list.am: Build the GTK-specific source files that are already independent of WebCore into the
+ libPlatformGtk.la by assigning the build targets listing to the platformgtk_sources variable.
+ * platform/gtk/GtkVersioning.c: Renamed from Source/Platform/gtk/GtkVersioning.c.
+ * platform/gtk/GtkVersioning.h: Renamed from Source/Platform/gtk/GtkVersioning.h.
+
+2013-03-28 Matt Falkenhagen <falken@chromium.org>
+
+ Refactoring: Replace Element::disabled and isEnabledFormControl with isDisabledFormControl
+ https://bugs.webkit.org/show_bug.cgi?id=113273
+
+ Reviewed by Kent Tamura.
+
+ Element::disabled is about form controls and Element::isEnabledFormControl
+ is redundant with it, so replace them with a single function
+ Element::isDisabledFormControl.
+
+ No new tests, there should be no behavior change.
+
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
+ * accessibility/AccessibilityMenuList.cpp:
+ (WebCore::AccessibilityMenuList::canSetFocusAttribute):
+ * accessibility/AccessibilityMenuListOption.cpp:
+ (WebCore::AccessibilityMenuListOption::isEnabled):
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::isEnabled):
+ (WebCore::AccessibilityNodeObject::actionElement):
+ (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOne):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::canShareStyleWithControl):
+ * dom/Element.cpp:
+ (WebCore::Element::isDisabledFormControl):
+ * dom/Element.h:
+ (Element):
+ (WebCore::isDisabledFormControl): Add helper function for convenience.
+ (WebCore):
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::dispatchSimulatedClick):
+ * dom/GestureEvent.cpp:
+ (WebCore::GestureEventDispatchMediator::dispatchEvent):
+ * dom/MouseEvent.cpp:
+ (WebCore::MouseEventDispatchMediator::dispatchEvent):
+ * dom/Node.cpp:
+ (WebCore::Node::handleLocalEvents):
+ (WebCore::Node::willRespondToMouseMoveEvents):
+ (WebCore::Node::willRespondToMouseClickEvents):
+ (WebCore::Node::willRespondToTouchEvents):
+ * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled):
+ * html/DOMFormData.cpp:
+ (WebCore::DOMFormData::DOMFormData):
+ * html/FileInputType.cpp:
+ (WebCore::FileInputType::handleDOMActivateEvent):
+ (WebCore::FileInputType::disabledAttributeChanged):
+ * html/HTMLButtonElement.cpp:
+ (WebCore::HTMLButtonElement::defaultEventHandler):
+ (WebCore::HTMLButtonElement::willRespondToMouseClickEvents):
+ (WebCore::HTMLButtonElement::isSuccessfulSubmitButton):
+ * html/HTMLCollection.cpp:
+ (WebCore::isMatchingElement):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::updateAncestorDisabledState):
+ (WebCore::HTMLFormControlElement::isDisabledFormControl):
+ (WebCore::HTMLFormControlElement::supportsFocus):
+ * html/HTMLFormControlElement.h:
+ (HTMLFormControlElement):
+ (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::isSuccessfulSubmitButton):
+ (WebCore::HTMLInputElement::willRespondToMouseClickEvents):
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::isDisabledFormControl):
+ * html/HTMLOptGroupElement.h:
+ (HTMLOptGroupElement):
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::isDisabledFormControl):
+ * html/HTMLOptionElement.h:
+ (HTMLOptionElement):
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::nextValidIndex):
+ (WebCore::HTMLSelectElement::updateListBoxSelection):
+ (WebCore::HTMLSelectElement::recalcListItems):
+ (WebCore::HTMLSelectElement::appendFormData):
+ (WebCore::HTMLSelectElement::updateSelectedState):
+ (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
+ (WebCore::HTMLSelectElement::defaultEventHandler):
+ (WebCore::HTMLSelectElement::optionAtIndex):
+ * html/ImageInputType.cpp:
+ (WebCore::ImageInputType::handleDOMActivateEvent):
+ * html/ResetInputType.cpp:
+ (WebCore::ResetInputType::handleDOMActivateEvent):
+ * html/SubmitInputType.cpp:
+ (WebCore::SubmitInputType::handleDOMActivateEvent):
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::isDisabledFormControl):
+ (WebCore::SliderThumbElement::defaultEventHandler):
+ (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
+ (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
+ * html/shadow/SliderThumbElement.h:
+ (SliderThumbElement):
+ * html/shadow/SpinButtonElement.h:
+ * html/shadow/TextFieldDecorationElement.cpp:
+ (WebCore::TextFieldDecorationElement::updateImage):
+ * loader/FormSubmission.cpp:
+ (WebCore::FormSubmission::create):
+ * page/DragController.cpp:
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::concludeEditDrag):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::addFocusRingRects):
+ (WebCore::RenderListBox::paintItemForeground):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::itemIsEnabled):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::updateUserModifyProperty):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::isEnabled):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::getMediaUIPartStateFlags):
+ * rendering/RenderThemeMacShared.mm:
+ (WebCore::RenderThemeMacShared::adjustMenuListStyle):
+ (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::adjustMenuListStyle):
+
+2013-03-28 Brady Eidson <beidson@apple.com>
+
+ Remove workaround for <rdar://problem/5321972>.
+ <rdar://problem/12022862> and https://bugs.webkit.org/show_bug.cgi?id=113516
+
+ Reviewed by Sam Weinig.
+
+ No new tests (No point in testing the removal of bizarre behavior).
+
+ * platform/network/mac/WebCoreURLResponse.mm:
+ (WebCore::adjustMIMETypeIfNecessary): This workaround isn't needed on Lion+
+
+2013-03-28 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ use CanvasWindingRule enumeration in CanvasRenderingContext2D.idl
+ https://bugs.webkit.org/show_bug.cgi?id=113456
+
+ Reviewed by Kentaro Hara.
+
+ Use enum CanvasWindingRule type instead of DOMString for winding
+ arguments when needed. Changed methods are: fill, stroke and isPointInPath.
+
+ Test: fast/canvas/winding-enumeration.html
+
+ * html/canvas/CanvasRenderingContext2D.idl:
+
+2013-03-28 Scott Graham <scottmg@chromium.org>
+
+ Move preprocessing of idl to pre-pass for gyp
+ https://bugs.webkit.org/show_bug.cgi?id=113448
+
+ Reviewed by Tony Chang.
+
+ Moves the preprocessor invocations when parsing IDL files to a
+ pre-pass to avoid reinvocations when IDLs are referenced from others.
+ This reduces the number of invocations of the preprocessor from 20071
+ to 633, which reduces the runtime from 12m30 to 1m (on a Windows box).
+
+ No new tests, this is a build time improvement, and shouldn't have any
+ visible effect.
+
+ * WebCore.gyp/WebCore.gyp:
+ * bindings/scripts/CodeGenerator.pm:
+ (ParseInterface):
+ * bindings/scripts/IDLParser.pm:
+ (Parse):
+ * bindings/scripts/generate-bindings.pl:
+ * bindings/scripts/generate-preprocessed-idls.pl: Added.
+ * bindings/scripts/preprocessor.pm:
+ (applyPreprocessor):
+
+2013-03-28 Alok Priyadarshi <alokp@chromium.org>
+
+ RenderBox::backgroundIsKnownToBeOpaqueInRect may be wrong for theme-painted elements
+ https://bugs.webkit.org/show_bug.cgi?id=113419
+
+ Reviewed by Simon Fraser.
+
+ Do not consider control elements as opaque. They are typically theme painted, and we cannot assume opaqueness on the behalf of theme. It can be improved by asking the theme if it paints opaque.
+
+ Test: compositing/contents-opaque/control-layer.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
+
+2013-03-28 ChangSeok Oh <changseok.oh@collabora.com>
+
+ [GTK][AC] Animating layer disappears while running with clutter backend
+ https://bugs.webkit.org/show_bug.cgi?id=110470
+
+ Reviewed by Gustavo Noronha Silva.
+
+ The reason of this issue is that clutter_actor_remove_child leads to stopping animations
+ of child actor. ClutterActor's animation could be defined only when it has a parent actor.
+ So we should avoid the case calling the api as much as we can. At least we don't
+ need to reset a actor's parent at all if the current parent is same with new one.
+ If we can't avoid invoking clutter_actor_remove_child for an animating actor, we may apply
+ a more complicated way to keep the animation. But I haven't faced such a case yet.
+
+ Covered by existing animation tests.
+
+ * platform/graphics/clutter/GraphicsLayerActor.cpp:
+ (graphicsLayerActorSetSublayers):
+ * platform/graphics/clutter/GraphicsLayerClutter.cpp:
+ (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
+ (WebCore::GraphicsLayerClutter::updateSublayerList):
+
+2013-03-28 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Non-painting fixed elements should not cause repaints on scroll
+ https://bugs.webkit.org/show_bug.cgi?id=110430
+
+ Reviewed by Simon Fraser.
+
+ Test: compositing/repaint/scroll-fixed-layer-no-content.html
+ Test: compositing/repaint/scroll-fixed-layer-out-of-view.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollContentsFastPath): Check for no-content and out-of-view flag set by RLC.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Moved the check for no-content above out-of-view because it's faster.
+
+2013-03-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Unreviewed, revert accidentally added line committed in r147117.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+
+2013-03-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Elements] Syntax-highlight the "Edit as HTML" editor
+ https://bugs.webkit.org/show_bug.cgi?id=113306
+
+ Reviewed by Vsevolod Vlasov.
+
+ Use CodeMirror as the raw HTML editor for the "Edit as HTML" menu item
+ (and all multiline editors for WebInspector.startEditing()).
+ Drive-by fix for handling the editing when the editor has been invoked on the closing tag.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype.commit):
+ (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
+ * inspector/front-end/UIUtils.js:
+ (WebInspector.EditingConfig.prototype.setMultiline):
+ (WebInspector.startEditing):
+ (WebInspector.CodeMirrorCSSLoadView): A bogus view to load-unload CodeMirror-related CSS on demand.
+ * inspector/front-end/elementsPanel.css:
+ (#elements-content .CodeMirror):
+ (#elements-content .CodeMirror pre):
+ (#elements-content .CodeMirror-lines):
+ * inspector/front-end/elementsPanel.css: CodeMirror styles for the "Edit as HTML" editor.
+ * inspector/front-end/externs.js: Declare CodeMirror type with some members, as it is third-party code.
+ * inspector/front-end/inspector.html: Fix script order (UIUtils.js requires View.js).
+
+2013-03-28 Hajime Morrita <morrita@google.com>
+
+ Custom Elements: should support non-HTML namespaces.
+ https://bugs.webkit.org/show_bug.cgi?id=111693
+
+ Reviewed by Dimitri Glazkov.
+
+ Some existing code assumes that the element extends HTMLElements.
+ This change allow it to extend from Element. Note that the
+ namespace URI of a custom element is determined by given element
+ prototype: An element will have XHTML namespace if its prototype
+ chain includes HTMLElements, SVGElement leads SVG namespace and
+ null otherwise, respectively.
+
+ Test: fast/dom/custom/document-register-namespace.html
+
+ * bindings/v8/CustomElementHelpers.cpp:
+ (WebCore::hasValidPrototypeChainFor): Factored out from isValidPrototypeParameter()
+ (WebCore::CustomElementHelpers::isValidPrototypeParameter): Extend to support non HTMLElement prototype
+ (WebCore::CustomElementHelpers::findLocalName): Support non-HTML element names.
+ * bindings/v8/CustomElementHelpers.h:
+ (CustomElementHelpers):
+ * dom/CustomElementConstructor.cpp:
+ (WebCore::CustomElementConstructor::createElementInternal):
+ * dom/CustomElementRegistry.cpp:
+ (WebCore::CustomElementRegistry::registerElement): No longer hard-codes namespace and picks one based on the prototype value.
+ * dom/CustomElementRegistry.h:
+ (CustomElementRegistry):
+
+2013-03-28 Hans Muller <hmuller@adobe.com>
+
+ [CSS Exclusions] Add support for the simple case of padding a polygonal shape-inside
+ https://bugs.webkit.org/show_bug.cgi?id=112592
+
+ Reviewed by Dirk Schulze.
+
+ First pass at computing the padded or inset boundary of a polygon. This version does not handle
+ self-intersecting polygons, or values of shape-padding large enough to change the shape of the
+ original polygon. The implementation computes an offset edge for each polgon edge, where the offset
+ edge is parallel to the original edge and separated by shape-padding. The padded polygon's vertices
+ are the intersections of each pair of adjacent offset edges. When adjacent offset edges do not intersect,
+ because they share a reflex vertex in the original polygon, an approximation to a circular arc
+ connects the offset edges.
+
+ Tests: fast/exclusions/shape-inside/shape-inside-polygon-padding-001.html
+ fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html
+ fast/exclusions/shape-inside/shape-inside-polygon-padding-003.html
+
+ * rendering/ExclusionPolygon.cpp:
+ (WebCore::isReflexVertex): Just moved this function earlier in the file.
+ (WebCore::inwardEdgeNormal): Unit vector that's perpindicular to the edge and that points inwards.
+ (WebCore::outwardEdgeNormal): Unit vector that's perpindicular to the edge and that points outwards.
+ (WebCore::appendArc): Append a linear approximation to a circular arc to a vector of vertices.
+ (WebCore::computeShapePaddingBounds): Return a polygon whose edges are all inset by shape-padding from m_polygon.
+ (WebCore::computeShapeMarginBounds): Just a stub, see bug 112917.
+ (WebCore::ExclusionPolygon::shapePaddingBounds): Lazily use computeShapePaddingBounds() to initialize m_paddingBounds.
+ (WebCore::ExclusionPolygon::shapeMarginBounds): Lazily use computeShapeMarginBounds() to initialize m_marginBounds.
+ (WebCore::ExclusionPolygon::getIncludedIntervals): Now based on the value of shapePaddingBounds().
+ (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Now based on the value of shapePaddingBounds().
+ * rendering/ExclusionPolygon.h:
+ (WebCore::ExclusionPolygon::ExclusionPolygon):
+
+2013-03-28 Chris Hutten-Czapski <chutten@blackberry.com>
+
+ [BlackBerry] Handle EXIF orientation for ImageDocuments
+ https://bugs.webkit.org/show_bug.cgi?id=113423
+
+ Internal Bug: PR 293648
+ Informally Reviewed by Jeff Rogers
+ Reviewed by Rob Buis.
+
+ Support image orientation in our image draw calls, and advertise
+ the capability to the calling code. This allows us to respect EXIF
+ orientation data.
+
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/blackberry/ImageBlackBerry.cpp:
+ (WebCore::BitmapImage::draw):
+ (WebCore):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::shouldRespectImageOrientation):
+
+2013-03-28 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: name timeline overview controls consistently
+ https://bugs.webkit.org/show_bug.cgi?id=113503
+
+ Reviewed by Yury Semikhatsky.
+
+ Refactoring, covered by existing tests.
+
+ - rename HeapGraph to TimelineMemoryOverview;
+ - rename TimelineCategoryStrips to TimelineEventOvrview.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.TimelineOverviewPane.prototype.setMode):
+ (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
+ (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
+ (WebInspector.TimelineOverviewPane.prototype._update):
+ (WebInspector.TimelineOverviewPane.prototype.setMinimumRecordDuration):
+ (WebInspector.TimelineMemoryOverview):
+ (WebInspector.TimelineEventOverview):
+ (WebInspector.TimelineEventOverview.prototype._renderBar):
+
+2013-03-28 Eli Fidler <efidler@blackberry.com>
+
+ [BlackBerry] Correct glyph contour winding direction when fake-bolding
+ https://bugs.webkit.org/show_bug.cgi?id=113411
+
+ Reviewed by Rob Buis.
+
+ * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
+ (WebCore::FontPlatformData::applyState):
+
+2013-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Make JavaScriptSourceFrame work correctly with breakpoints when uiSourceCode does not have a scriptFile.
+ https://bugs.webkit.org/show_bug.cgi?id=113500
+
+ Reviewed by Pavel Feldman.
+
+ JavaScriptSourceFrame now listens for uiSourceCode working copy related events and supports muting breakpoints without script file.
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ (WebInspector.JavaScriptSourceFrame.prototype._workingCopyChanged):
+ (WebInspector.JavaScriptSourceFrame.prototype._workingCopyCommitted):
+ (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
+ (WebInspector.JavaScriptSourceFrame.prototype.dispose):
+
+2013-03-22 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: factor out node search controller from inspector.js
+ https://bugs.webkit.org/show_bug.cgi?id=112689
+
+ Reviewed by Pavel Feldman.
+
+ This just extracts the existing logic of toggling node search
+ from inspector.js into a class of its own, InspectElementModeController.
+ Drive-by: add CtrlOrMeta+Shift+C to help screen.
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/InspectElementModeController.js: Added.
+ (WebInspector.InspectElementModeController):
+ (WebInspector.InspectElementModeController.createShortcut):
+ (WebInspector.InspectElementModeController.prototype.enabled):
+ (WebInspector.InspectElementModeController.prototype.disable):
+ (WebInspector.InspectElementModeController.prototype.toggleSearch.callback):
+ (WebInspector.InspectElementModeController.prototype.toggleSearch):
+ (WebInspector.InspectElementModeController.prototype.handleShortcut):
+ * inspector/front-end/InspectorFrontendAPI.js:
+ (InspectorFrontendAPI.enterInspectElementMode):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._createGlobalStatusBarItems):
+ (WebInspector._registerShortcuts):
+ (WebInspector.documentKeyDown):
+ (WebInspector._updateFocusedNode):
+
+2013-03-28 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Settings] "previouslyViewedFiles" exceeds local storage quota.
+ https://bugs.webkit.org/show_bug.cgi?id=113375
+
+ Reviewed by Pavel Feldman.
+
+ Serialized "previouslyViewedFiles" may make local storage overflow.
+ Two fixed applied:
+ - limit number of history log items
+ - limit length of URIs that get serialized;
+ this would affect only data-url URIs.
+
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
+ Added length check.
+ (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
+ Added output array length limit.
+
+2013-03-28 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Heap snapshots retained size falls out of the grid if column is too narrow
+ https://bugs.webkit.org/show_bug.cgi?id=113497
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/HeapSnapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
+ * inspector/front-end/heapProfiler.css:
+ (.heap-snapshot-view .data-grid div.heap-snapshot-multiple-values):
+
+2013-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: ResourceScriptFile should check if resource content really matches VM script when determining hasDiverged state.
+ https://bugs.webkit.org/show_bug.cgi?id=113488
+
+ Reviewed by Pavel Feldman.
+
+ Enabled support for checking that file content matches VM script in ResourceScriptFile (For script resources only).
+ This check is never done before content is loaded in corresponding editor to avoid regressing performance.
+ File - script content matching is done bearing in mind sourceURLs.
+ Live edit keeps sourceURL in script content now even if it is not present in file's content.
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
+ (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
+ * inspector/front-end/LiveEditSupport.js:
+ (WebInspector.LiveEditScriptFile.prototype.checkMapping):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
+ (WebInspector.ScriptFile.prototype.checkMapping):
+ (WebInspector.ResourceScriptFile):
+ (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
+ (WebInspector.ResourceScriptFile.prototype._isDiverged):
+ (WebInspector.ResourceScriptFile.prototype._sourceMatchesScriptSource):
+ (WebInspector.ResourceScriptFile.prototype._sourceEndsWithSourceURL):
+ (WebInspector.ResourceScriptFile.prototype.checkMapping.callback):
+ (WebInspector.ResourceScriptFile.prototype.checkMapping):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.SnippetScriptFile.prototype.checkMapping):
+
+2013-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Simplify ResourceScriptFile so that it stores hasDiverged state in it.
+ https://bugs.webkit.org/show_bug.cgi?id=113489
+
+ Reviewed by Pavel Feldman.
+
+ ResourceScriptFile._hasDiverged is the one flag that shows whether we have diverged from VM.
+ It's values is based both on dirty flag on uiSourceCode and information about live edit failures stored in _lastLiveEditFailed field.
+ Removed willMerge/Diverge events from ScriptFile.
+ JavaScriptSourceFrame now uses isMergingToVM/DivergingFromVM methods on ScriptFile.
+ to determine whether breakpointAdded/Removed events should be ignored.
+ Introduced muted state on JavaScriptSourceFrame to determine whether it should ignore user attempts to set/remove breakpoints.
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ (WebInspector.JavaScriptSourceFrame.prototype._didMergeToVM):
+ (WebInspector.JavaScriptSourceFrame.prototype._didDivergeFromVM):
+ (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing):
+ (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
+ (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
+ (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
+ (WebInspector.JavaScriptSourceFrame.prototype._shouldIgnoreExternalBreakpointEvents):
+ (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
+ (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
+ (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
+ (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
+ * inspector/front-end/LiveEditSupport.js:
+ (WebInspector.LiveEditScriptFile.prototype.isMergingToVM):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ScriptFile.prototype.isMergingToVM):
+ (WebInspector.ResourceScriptFile):
+ (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
+ (WebInspector.ResourceScriptFile.prototype._isDiverged):
+ (WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
+ (WebInspector.ResourceScriptFile.prototype._update):
+ (WebInspector.ResourceScriptFile.prototype._divergeFromVM):
+ (WebInspector.ResourceScriptFile.prototype._mergeToVM):
+ (WebInspector.ResourceScriptFile.prototype.hasDivergedFromVM):
+ (WebInspector.ResourceScriptFile.prototype.isMergingToVM):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.SnippetScriptFile.prototype.isMergingToVM):
+
+2013-03-25 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: DOMContentLoaded event divider is not shown on Timeline's main view
+ https://bugs.webkit.org/show_bug.cgi?id=113196
+
+ Reviewed by Pavel Feldman.
+
+ - keep event divider records in TimelinePresentationModel, not in TimelinePanel;
+ - process event divider records on every level, not just on top.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._updateEventDividers):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.checkVisible):
+ (WebInspector.TimelinePanel.prototype._resetPanel):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.prototype.reset):
+ (WebInspector.TimelinePresentationModel.prototype._innerAddRecord):
+ (WebInspector.TimelinePresentationModel.prototype.eventDividerRecords):
+
+2013-03-28 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Unreviewed inspector front-end closure compilation fix.
+
+ * inspector/front-end/CookiesTable.js:
+
+2013-03-28 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [DTE] Paint overlay highlight over line background color
+ https://bugs.webkit.org/show_bug.cgi?id=113346
+
+ Reviewed by Pavel Feldman.
+
+ No new tests: no change in behaviour.
+
+ - Append spans instead of text nodes to lineRows.
+ - Set positioning of all spans inside of webkit-line-content as
+ relative
+ - Set z-index property so that overlay highlight is above line
+ background but under text.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
+ (WebInspector.TextEditorMainPanel.prototype._measureSpans):
+ (WebInspector.TextEditorMainPanel.prototype._renderRanges):
+ (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
+ * inspector/front-end/textEditor.css:
+ (.webkit-line-content > .text-editor-overlay-highlight):
+ (.webkit-line-content > *):
+
+2013-03-28 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [REGRESSION] [Styles] Pasting a property in the "name" field is broken
+ https://bugs.webkit.org/show_bug.cgi?id=113491
+
+ Reviewed by Pavel Feldman.
+
+ Update the CSSProperty name and value upon pasting properties into the Styles pane.
+ Drive-by: start editing the next/new property name after pasting.
+
+ Test: inspector/styles/paste-property.html
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (.selectElement):
+ (.moveDirection.alreadyNew):
+
+2013-03-28 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Auto expand retaining path until there are more than one retainer.
+ https://bugs.webkit.org/show_bug.cgi?id=112596
+
+ Reviewed by Yury Semikhatsky.
+
+ When retainers view gets opened automatically expand retaining path
+ for objects having just a single retainer.
+
+ Test: inspector/profiler/heap-snapshot-summary-retainers.html
+
+ * inspector/front-end/HeapSnapshotDataGrids.js:
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.populateComplete):
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.setDataSource):
+ * inspector/front-end/HeapSnapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGridNode.prototype.childrenRetrieved):
+ (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
+
+2013-03-28 Vladislav Kaznacheev <kaznacheev@chromium.org>
+
+ Web Inspector: Fixed property text indentation in Styles sidebar.
+ https://bugs.webkit.org/show_bug.cgi?id=113409
+
+ Reviewed by Alexander Pavlov.
+
+ When the sidebar is too narrow and the property text wraps around it breaks the indentation.
+ This was introduced in r143207 which spuriously modified DOM elements order.
+
+ * inspector/front-end/StylesSidebarPane.js:
+
+2013-03-28 Arpita Bahuguna <a.bah@samsung.com>
+
+ Regression: Crash when selecting Hebrew and numbers in a list
+ https://bugs.webkit.org/show_bug.cgi?id=111894
+
+ Reviewed by Ryosuke Niwa.
+
+ There is a crash when trying to click/select an anonymous
+ renderer.
+
+ This is a regression due to r143313 which tries to add border/padding
+ to the computed caret rect in RenderBox::localCaretRect().
+ The patch calls on the node() method for the corresponding
+ renderer. For an anonymous renderer though, node() returns
+ null. Since no check had been added for this, a crash occurs when
+ caret rect for an anonymous renderer is being computed.
+
+ Test: editing/selection/click-on-anonymous-content-crash.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+ Added a check for validating the return from the node() call.
+
+2013-03-28 Mike West <mkwst@chromium.org>
+
+ X-Frame-Options: Multiple headers are ignored completely.
+ https://bugs.webkit.org/show_bug.cgi?id=113387
+
+ Reviewed by Nate Chapin.
+
+ If a server sends multiple 'X-Frame-Options' headers, we end up with a
+ value like 'SAMEORIGIN, SAMEORIGIN'. Currently, we're treating that as
+ invalid, and ignoring the header. It would be safer to follow Gecko's
+ lead[1] by:
+
+ - Folding duplicated entries into their common value (that is:
+ 'sameorigin, sameorigin' -> 'sameorigin').
+
+ - Failing closed in the case of conflicts (that is:
+ 'sameorigin, allowall' -> 'deny').
+
+ [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=761655
+
+ Tests: http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict.html
+ http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow.html
+ http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
+ Call out to parseXFrameOptionsHeader to get the header's disposition
+ and deal with each case in a switch statement for clarity. Add a new
+ console warning for the conflict case described above.
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::parseXFrameOptionsHeader):
+ * platform/network/HTTPParsers.h:
+ Move X-Frame-Options parsing out into HTTPParsers, as it's getting
+ more and more complicated. To do this, the patch defines a new enum
+ to pass around the header's disposition.
+
+2013-03-28 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSSRegions] Consolidate use of RenderRegion::isValid
+ https://bugs.webkit.org/show_bug.cgi?id=113154
+
+ Reviewed by David Hyatt.
+
+ After https://bugs.webkit.org/show_bug.cgi?id=98752, the list of invalid regions is kept separately than the list of valid regions.
+ A valid region has always a valid flow thread attached. We can use isValid() throughout the RenderRegion code
+ instead of testing for both isValid() and m_flowThread.
+
+ No new tests since there is no change is functionality, just code refactoring.
+
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread): Added a new function to keep the code
+ used in addRegionToThread and checkInvalidRegions.
+ (WebCore::RenderNamedFlowThread::addRegionToThread):
+ (WebCore::RenderNamedFlowThread::checkInvalidRegions):
+ * rendering/RenderNamedFlowThread.h:
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
+ (WebCore::RenderRegion::isFirstRegion):
+ (WebCore::RenderRegion::isLastRegion):
+ (WebCore::RenderRegion::paintObject):
+ (WebCore::RenderRegion::nodeAtPoint):
+ (WebCore::RenderRegion::incrementAutoLogicalHeightCount):
+ (WebCore::RenderRegion::decrementAutoLogicalHeightCount):
+ (WebCore::RenderRegion::layoutBlock):
+ (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
+ (WebCore::RenderRegion::attachRegion):
+ (WebCore::RenderRegion::renderBoxRegionInfo):
+ (WebCore::RenderRegion::setRenderBoxRegionInfo):
+ (WebCore::RenderRegion::logicalTopOfFlowThreadContentRect):
+ (WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect):
+ (WebCore::RenderRegion::computePreferredLogicalWidths):
+
+2013-03-27 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Timeline. Refresh is slow when user drags the overview window.
+ https://bugs.webkit.org/show_bug.cgi?id=113371
+
+ Reviewed by Pavel Feldman.
+
+ The root of problem is the 300ms delay in scheduleRefresh method.
+ It was introduced for the case when we add a huge number of records per second.
+ The scheduleRefresh was written such a way that refresh happened immediately
+ only for the scrolling operations. Actually we would like to see fast
+ refresh every time when it is forced by an user action.
+
+ In this patch additional flag newRecordWasAdded was added to the
+ _invalidateAndScheduleRefresh. I made it mandatory because the function
+ is also used as a callback for an event and it is easy to make a mistake and
+ interpret the event as the flag.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
+ (WebInspector.TimelinePanel.prototype._durationFilterChanged):
+ (WebInspector.TimelinePanel.prototype._repopulateRecords):
+ (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
+ (WebInspector.TimelinePanel.prototype._onRecordsCleared):
+ (WebInspector.TimelinePanel.prototype._invalidateAndScheduleRefresh):
+ (WebInspector.TimelinePanel.prototype._scheduleRefresh):
+ (WebInspector.TimelinePanel.prototype._revealRecord):
+ (WebInspector.TimelinePanel.prototype._refreshRecords):
+ (WebInspector.TimelinePanel.prototype.performFilter):
+
+2013-03-27 Keishi Hattori <keishi@webkit.org>
+
+ Dragging to edge should always snap to min/max.
+ https://bugs.webkit.org/show_bug.cgi?id=113477
+
+ Reviewed by Kent Tamura.
+
+ Dragging to the edge of a slider should always snap to the min/max.
+
+ Test: fast/forms/range/range-slow-drag-to-edge.html
+
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::setPositionFromPoint):
+
+2013-03-27 Simon Fraser <simon.fraser@apple.com>
+
+ Add a way to update GraphicsLayerCA visibleRects without having to do a flush
+ https://bugs.webkit.org/show_bug.cgi?id=113459
+
+ Reviewed by Tim Horton.
+
+ Some platforms need to update TiledBacking visible rects from
+ outside of WebKit, for example if they use delegated scrolling.
+ They want to avoid forcing layout to be up-to-date when doing this.
+
+ Currently, updating the visibleRect happens when the GraphicsLayerCA
+ layer are being flushed, but that makes some assumptions about
+ layout being up-to-date.
+
+ To fix this, add a light-weight pass over the layer tree that
+ uses TransformState to compute the visibleRect for each
+ layer, and only if the visibleRect would cause a change in the
+ tiles in a TiledBacking trigger a layer flush.
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::recomputeVisibleRects):
+ * platform/graphics/TiledBacking.h:
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::recursiveComputeVisibleRect):
+ (WebCore::GraphicsLayerCA::recomputeVisibleRects):
+ (WebCore::GraphicsLayerCA::computeVisibleRect):
+ * platform/graphics/ca/GraphicsLayerCA.h:
+ * platform/graphics/ca/mac/TileController.h:
+ * platform/graphics/ca/mac/TileController.mm:
+ (WebCore::TileController::tilesWouldChangeForVisibleRect):
+ (WebCore::TileController::computeTileCoverageRect):
+ (WebCore::TileController::revalidateTiles):
+
+2013-03-27 Philip Rogers <pdr@google.com>
+
+ Rename toScriptElement -> toScriptElementIfPossible
+ https://bugs.webkit.org/show_bug.cgi?id=113473
+
+ Reviewed by Ryosuke Niwa.
+
+ Rename ScriptElement::toScriptElement to ScriptElement::toScriptElementIfPossible to
+ differentiate this function from other to*Element functions, and to better describe the
+ function's behavior. Other to*Element functions do not return null if the cast fails,
+ whereas toScriptElementIfPossible does.
+
+ No new tests as this is just a refactoring.
+
+ * dom/ScriptElement.cpp:
+ (WebCore::toScriptElementIfPossible):
+ * dom/ScriptElement.h:
+ (WebCore):
+ * dom/ScriptRunner.cpp:
+ (WebCore::ScriptRunner::timerFired):
+
+ This is the only unchecked return value but there isn't a security issue here.
+
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::collectOptionInnerText):
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::attachLater):
+ (WebCore::HTMLConstructionSite::insertForeignElement):
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ (WebCore::HTMLScriptRunner::requestPendingScript):
+ (WebCore::HTMLScriptRunner::runScript):
+ * xml/parser/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::notifyFinished):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::startElementNs):
+ (WebCore::XMLDocumentParser::endElementNs):
+ * xml/parser/XMLDocumentParserQt.cpp:
+ (WebCore::XMLDocumentParser::parseStartElement):
+ (WebCore::XMLDocumentParser::parseEndElement):
+
+2013-03-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Debug test fix after r147018.
+
+ toElement() asserts. What we want here is isElementNode().
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::attachLater):
+
+2013-03-27 Noel Gordon <noel.gordon@gmail.com>
+
+ Add webp image color profile support
+ https://bugs.webkit.org/show_bug.cgi?id=113184
+
+ Reviewed by Eric Seidel.
+
+ Requires libwebp version 0.3.0 (decoder ABI version 0x201). For images
+ with an ICC color profile chunk, poll the incremental decoder for the
+ current decoded height with the WebPIDecGetRGB() API and color correct
+ any newly decoded rows in-situ in the frame buffer.
+
+ Note: the ICC chunk appears before the encoded image frame in the webp
+ encoding (RIFF container) format. When the incremental decoder outputs
+ decoded pixels, enough encoded data has arrived to read the entire ICC
+ color profile data chunk.
+
+ Tests: fast/images/webp-color-profile-lossless.html
+ fast/images/webp-color-profile-lossy-alpha.html
+ fast/images/webp-color-profile-lossy.html
+
+ * platform/image-decoders/webp/WEBPImageDecoder.cpp:
+ (WebCore::WEBPImageDecoder::WEBPImageDecoder):
+ (WebCore::WEBPImageDecoder::~WEBPImageDecoder): Call clear().
+ (WebCore):
+ (WebCore::WEBPImageDecoder::clear):
+ Added. Helper to clean up the webp decoder and color transform members.
+ (WebCore::WEBPImageDecoder::createColorTransform):
+ Create m_transform using the supplied profile memory data. Note that
+ the |deviceProfile| is not owned, but the |inputProfile| temporary is
+ so release it here with qcms_release_profile().
+ (WebCore::WEBPImageDecoder::readColorProfile):
+ Called once only when the decoder begins to output decoded rows of an
+ image containing an ICC chunk, to read the ICC color profile data from
+ the encoded data stream, verify it, and use it to create m_transform.
+ (WebCore::WEBPImageDecoder::applyColorProfile):
+ Since there is no row callback in libwebp, poll for the decoded height
+ of the image so far. If new rows are decoded, color correct the pixels
+ of those new rows and re-write them back into the frame buffer using
+ buffer.setRGBA() to 1) alpha pre-multiply the pixels if needed, and 2)
+ shuffle the pixel bytes into the platform's RGBA pixel endian-ness.
+ (WebCore::WEBPImageDecoder::decode):
+ If the container format indicates the image has an ICC color profile,
+ decode the image to RGBA format for subsequent input to the QCMS color
+ correction library in applyColorProfile().
+ * platform/image-decoders/webp/WEBPImageDecoder.h:
+ (WEBPImageDecoder):
+ (WebCore::WEBPImageDecoder::colorTransform): m_transform getter.
+
+2013-03-27 Jun Jiang <jun.a.jiang@intel.com>
+
+ Refactor validation checks for texture uploads
+ https://bugs.webkit.org/show_bug.cgi?id=111012
+
+ Reviewed by Kenneth Russell.
+
+ Move the validation checks to the entry level of tex{Sub}Image2D, return early for invalid parameters and avoid duplicated checks.
+ Moreover, turn all the validation checks at the bottom level - tex{Sub}Image2DBase into assertions.
+
+ Already covered by current tests.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::copyTexSubImage2D):
+ (WebCore::WebGLRenderingContext::texImage2DBase):
+ (WebCore::WebGLRenderingContext::texImage2DImpl):
+ (WebCore::WebGLRenderingContext::validateTexFunc): A helper function for tex{Sub}Image2D to check input parameters.
+ (WebCore::WebGLRenderingContext::texImage2D):
+ (WebCore::WebGLRenderingContext::texSubImage2DBase):
+ (WebCore::WebGLRenderingContext::texSubImage2DImpl):
+ (WebCore::WebGLRenderingContext::texSubImage2D):
+ (WebCore::WebGLRenderingContext::validateHTMLImageElement):
+ (WebCore::WebGLRenderingContext::validateHTMLCanvasElement):
+ (WebCore::WebGLRenderingContext::validateHTMLVideoElement):
+ * html/canvas/WebGLRenderingContext.h:
+
+2013-03-27 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ remove parentsOnly variable in codeGenerator.pm
+ https://bugs.webkit.org/show_bug.cgi?id=113457
+
+ Reviewed by Kentaro Hara.
+
+ Remove unused variable parentsOnly.
+
+ No new tests: no change in behaviour.
+
+ * bindings/scripts/CodeGenerator.pm:
+ (ForAllParents):
+ (AddMethodsConstantsAndAttributesFromParentInterfaces):
+ (ParseInterface):
+ (InheritsInterface):
+ (InheritsExtendedAttribute):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (BaseInterfaceName):
+
+2013-03-27 Beth Dakin <bdakin@apple.com>
+
+ Need WK2 API to give a WebView a header and footer
+ https://bugs.webkit.org/show_bug.cgi?id=113352
+ -and corresponding-
+ <rdar://problem/13383835>
+
+ Reviewed by Simon Fraser.
+
+ This API will require RenderLayerCompositor to keep layers for the header and
+ footer when the exist. It also requires the scrolling machinery to know that the
+ size of the scrollable area will differ from the contentsSize when there is a
+ header or footer.
+
+ setWantsLayerForHeader() and setWantsLayerForFooter() return GraphicsLayers to
+ WK2. setHeaderHeight() and setFooterHeight() set the header and footer heights
+ respectively.
+ * WebCore.exp.in:
+ * page/FrameView.h:
+ (FrameView):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView):
+ (WebCore::FrameView::setWantsLayerForHeader):
+ (WebCore::FrameView::setWantsLayerForFooter):
+ (WebCore::FrameView::setHeaderHeight):
+ (WebCore::FrameView::setFooterHeight):
+
+ Should use totalContentsSize() instead of contentsSize().
+ (WebCore::FrameView::windowClipRect):
+ (WebCore::FrameView::isScrollable):
+ * page/SpatialNavigation.cpp:
+ (WebCore::canScrollInDirection):
+
+ This should also use totalContentsSize() instead of contentsSize(), and while
+ we're at it, re-name the variable and function names in the scrolling tree code
+ from contentsSize to totalContentsSize.
+ * page/scrolling/ScrollingStateScrollingNode.cpp:
+ (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
+ (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
+ (WebCore::ScrollingStateScrollingNode::dumpProperties):
+ * page/scrolling/ScrollingStateScrollingNode.h:
+ (WebCore::ScrollingStateScrollingNode::totalContentsSize):
+ (ScrollingStateScrollingNode):
+ * page/scrolling/ScrollingTreeScrollingNode.cpp:
+ (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
+ * page/scrolling/ScrollingTreeScrollingNode.h:
+ (WebCore::ScrollingTreeScrollingNode::totalContentsSize):
+ (ScrollingTreeScrollingNode):
+ * page/scrolling/mac/ScrollingCoordinatorMac.h:
+ (ScrollParameters):
+ * page/scrolling/mac/ScrollingCoordinatorMac.mm:
+ (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
+ (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
+ * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+ (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
+ (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
+ (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
+
+ Use totalContentsSize() instead of contentsSize().
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::maximumScrollPosition):
+ (WebCore::ScrollView::setScrollOffset):
+ (WebCore::ScrollView::overhangAmount):
+ (WebCore::ScrollView::updateScrollbars):
+ (WebCore::ScrollView::calculateOverhangAreasForPainting):
+
+ scrollOffset() represents the offset within the totalContentsSize, but that is
+ not what we need here. So subtract out the headerHeight() for the appropriate
+ value.
+ (WebCore::ScrollView::windowToContents):
+ (WebCore::ScrollView::contentsToWindow):
+
+ Use totalContentsSize() instead of contentsSize().
+ * platform/ScrollableArea.cpp:
+ (WebCore::ScrollableArea::maximumScrollPosition):
+ (WebCore):
+ (WebCore::ScrollableArea::totalContentsSize):
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::headerHeight):
+ (WebCore::ScrollableArea::footerHeight):
+ (ScrollableArea):
+ * platform/mac/ScrollAnimatorMac.mm:
+ (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
+ (WebCore::ScrollAnimatorMac::pinnedInDirection):
+ * platform/mac/ThemeMac.mm:
+ (WebCore::ThemeMac::ensuredView):
+
+ The rootContentLayer needs to be offset by the headerHeight().
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateRootLayerPosition):
+
+ New member variables m_layerForHeader and m_layerForFooter. This code properly
+ creates and manages them.
+ (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
+ (WebCore::RenderLayerCompositor::updateLayerForHeader):
+ (WebCore):
+ (WebCore::RenderLayerCompositor::updateLayerForFooter):
+ (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
+ (WebCore::RenderLayerCompositor::reportMemoryUsage):
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+
+ Test infrastructure.
+ * testing/Internals.cpp:
+ (WebCore::Internals::resetToConsistentState):
+ (WebCore::Internals::setHeaderHeight):
+ (WebCore):
+ (WebCore::Internals::setFooterHeight):
+ * testing/Internals.h:
+ * testing/Internals.idl:
+
+2013-03-27 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ javascriptcore bindings do not check exception after calling valueToStringWithNullCheck
+ https://bugs.webkit.org/show_bug.cgi?id=113219
+
+ Reviewed by Kentaro Hara.
+
+ When converting JSValue to native value in attribute setter, store the
+ native value in a temporary variable. After this variable assignment,
+ always check if an exception has been raised.
+
+ Update binding tests.
+
+ Test: fast/dom/exception-in-binding.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ (GetNativeType):
+ (JSValueToNative):
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
+ (WebCore::setJSTestInterfaceSupplementalStr2):
+ (WebCore::setJSTestInterfaceSupplementalNode):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjConstructorStaticStringAttr):
+ (WebCore::setJSTestObjEnumAttr):
+ (WebCore::setJSTestObjShortAttr):
+ (WebCore::setJSTestObjUnsignedShortAttr):
+ (WebCore::setJSTestObjLongAttr):
+ (WebCore::setJSTestObjLongLongAttr):
+ (WebCore::setJSTestObjUnsignedLongLongAttr):
+ (WebCore::setJSTestObjStringAttr):
+ (WebCore::setJSTestObjTestObjAttr):
+ (WebCore::setJSTestObjXMLObjAttr):
+ (WebCore::setJSTestObjCreate):
+ (WebCore::setJSTestObjReflectedStringAttr):
+ (WebCore::setJSTestObjReflectedIntegralAttr):
+ (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
+ (WebCore::setJSTestObjReflectedBooleanAttr):
+ (WebCore::setJSTestObjReflectedURLAttr):
+ (WebCore::setJSTestObjReflectedCustomIntegralAttr):
+ (WebCore::setJSTestObjReflectedCustomBooleanAttr):
+ (WebCore::setJSTestObjReflectedCustomURLAttr):
+ (WebCore::setJSTestObjTypedArrayAttr):
+ (WebCore::setJSTestObjAttrWithGetterException):
+ (WebCore::setJSTestObjAttrWithSetterException):
+ (WebCore::setJSTestObjStringAttrWithGetterException):
+ (WebCore::setJSTestObjStringAttrWithSetterException):
+ (WebCore::setJSTestObjWithScriptStateAttribute):
+ (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
+ (WebCore::setJSTestObjWithScriptStateAttributeRaises):
+ (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
+ (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
+ (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
+ (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
+ (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
+ (WebCore::setJSTestObjConditionalAttr1):
+ (WebCore::setJSTestObjConditionalAttr2):
+ (WebCore::setJSTestObjConditionalAttr3):
+ (WebCore::setJSTestObjAnyAttribute):
+ (WebCore::setJSTestObjMutablePoint):
+ (WebCore::setJSTestObjImmutablePoint):
+ (WebCore::setJSTestObjStrawberry):
+ (WebCore::setJSTestObjStrictFloat):
+ (WebCore::setJSTestObjId):
+ (WebCore::setJSTestObjNullableLongSettableAttribute):
+ (WebCore::setJSTestObjNullableStringValue):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore::setJSTestSerializedScriptValueInterfaceValue):
+ (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
+ (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
+ (WebCore::setJSTestTypedefsAttrWithGetterException):
+ (WebCore::setJSTestTypedefsAttrWithSetterException):
+ (WebCore::setJSTestTypedefsStringAttrWithGetterException):
+ (WebCore::setJSTestTypedefsStringAttrWithSetterException):
+
+2013-03-27 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ cache parsed interfaces in CodeGenerator.pm
+ https://bugs.webkit.org/show_bug.cgi?id=113446
+
+ Reviewed by Kentaro Hara.
+
+ When generating binding for an interface, informations about parent
+ interfaces are sometimes needed several times. This patch caches
+ those the parsed interface. When generating all WebCore bindings, this
+ results in a speedup of about 40% for JavaScriptCore and about 80% for
+ V8.
+
+ No new tests: no change in behaviour.
+
+ * bindings/scripts/CodeGenerator.pm:
+ (ParseInterface):
+
+2013-03-27 KyungTae Kim <ktf.kim@samsung.com> and Yongjun Zhang <yongjun_zhang@apple.com>
+
+ Add a settings to disallow initializing background-size if background shorthand doesn't include it.
+ https://bugs.webkit.org/show_bug.cgi?id=113363
+
+ Reviewed by David Kilzer.
+
+ This is based on KyungTae Kim's patch in https://bugs.webkit.org/show_bug.cgi?id=97761. Many legacy sites set
+ background-size first and then set background for setting background-image. For backward-compatibility
+ in some WebKit based clients, if 'background' shorthand have no 'background-size' attribute, we could add
+ a settings to let the css parser not initialize 'background-size'.
+
+ Test: fast/backgrounds/background-shorthand-after-set-backgroundSize.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParserContext::CSSParserContext): initialize useLegacyBackgroundSizeShorthandBehavior.
+ (WebCore::operator==):
+ (WebCore::CSSParser::useLegacyBackgroundSizeShorthandBehavior): add a method to return if we want background-size
+ to be initialized by background shorthand.
+ (WebCore):
+ (WebCore::CSSParser::parseFillShorthand): don't initialize background-size in background shorthand if we have
+ useLegacyBackgroundSizeShorthandBehavior set to true.
+ * css/CSSParser.h:
+ (CSSParser):
+ * css/CSSParserMode.h: add member useLegacyBackgroundSizeShorthandBehavior to CSSParserContext.
+ (CSSParserContext):
+ * page/Settings.in: initialize useLegacyBackgroundSizeShorthandBehavior to false.
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup): add the new settings useLegacyBackgroundSizeShorthandBehavior to Backup.
+ (WebCore::InternalSettings::Backup::restoreTo): restore useLegacyBackgroundSizeShorthandBehavior from Backup.
+ (WebCore::InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior):
+ (WebCore):
+ * testing/InternalSettings.h:
+ (Backup):
+ (InternalSettings):
+ * testing/InternalSettings.idl: add a JS testing API setUseLegacyBackgroundSizeShorthandBehavior to turn on/off
+ the new settings.
+
+2013-03-27 Florin Malita <fmalita@chromium.org>
+
+ Remove unused RenderLayer::renderBox{X,Y} methods
+ https://bugs.webkit.org/show_bug.cgi?id=113408
+
+ Reviewed by Simon Fraser.
+
+ Minor cleanup - renderBoxX() and renderBox() are no longer used.
+
+ No new tests: no functional changes.
+
+ * rendering/RenderLayer.h:
+
+2013-03-27 PhistucK <phistuck@chromium.org>
+
+ Web Inspector: Plumb and expose cookie clearing options throughout the Resources Cookies tree and views
+ https://bugs.webkit.org/show_bug.cgi?id=87140
+
+ Reviewed by Vsevolod Vlasov.
+
+ Added cookie clearing buttons and context menu options
+ throughout the tree and views.
+ Drive by -
+ - Made sure the delete button is only visible
+ when a cookie is selected.
+ - Fixed a wrong JSDoc comment.
+
+ * inspector/front-end/CookieItemsView.js:
+ (WebInspector.CookieItemsView):
+ (WebInspector.CookieItemsView.prototype.statusBarItems):
+ (WebInspector.CookieItemsView.prototype._updateWithCookies):
+ (WebInspector.CookieItemsView.prototype.clear):
+ Added. Clears the entire cookie view.
+ (WebInspector.CookieItemsView.prototype._clearButtonClicked):
+ Added. Ditto (when clicking on the button).
+ (WebInspector.CookieItemsView.prototype._showDeleteButton):
+ Added. Shows the delete button when selecting a cookie row.
+ * inspector/CookiesTable.js:
+ (WebInspector.CookiesTable):
+ (WebInspector.CookiesTable.prototype._clearAndRefresh):
+ Added. Clears the cookies of the current table and updates it.
+ (WebInspector.CookiesTable.prototype._handleContextMenuEvent):
+ Added. Manages the context menu within the table.
+ (WebInspector.CookiesTable.prototype.clear):
+ Added. Clears the cookies of the current table.
+ (WebInspector.CookiesTable.prototype.setCookies):
+ Fixed a wrong JSDoc comment structure.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.clearCookies):
+ Added. Clears the cookies of the given domain view.
+ (WebInspector.CookieTreeElement.prototype.onattach):
+ Added. Adds a contextmenu handler.
+ (WebInspector.CookieTreeElement.prototype._handleContextMenuEvent):
+ Added. Manages the context menu within cookie tree.
+ (WebInspector.CookieTreeElement.prototype._clearCookies):
+ Added. Clears the cookies of the view of the tree item.
+ * inspector/front-end/treeoutline.js:
+ (TreeOutline): Fixed a wrong JSDoc comment.
+
+ * English.lproj/localizedStrings.js:
+ Added strings for the context menu options.
+
+2013-03-27 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [DTE] implement "tokenAtTextPosition" method
+ https://bugs.webkit.org/show_bug.cgi?id=113390
+
+ Reviewed by Pavel Feldman.
+
+ Test: inspector/editor/text-editor-token-at-position.html
+
+ - Add TextEditor.tokenAtTextPosition method
+ - Implement tokenAtTextPosition method in DefaultTextEditor
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype.tokenAtTextPosition):
+ (WebInspector.TextEditorMainPanel.prototype.compare):
+ (WebInspector.TextEditorMainPanel.prototype.tokenAtTextPosition):
+ (WebInspector.TextEditorMainPanel.prototype._tokenAtUnhighlightedLine):
+ (WebInspector.TextEditorMainPanel.prototype.set mimeType):
+ (WebInspector.TextEditorMainPanel.prototype.get mimeType):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.tokenAtTextPosition):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter):
+ (WebInspector.TextEditorHighlighter.prototype.get mimeType):
+ (WebInspector.TextEditorHighlighter.prototype.set mimeType):
+
+2013-03-27 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ Remove build warning for unused function parameters in indexeddb.
+ https://bugs.webkit.org/show_bug.cgi?id=113043
+
+ Reviewed by Tony Chang.
+
+ No new tests, just remove build warning.
+
+ * Modules/indexeddb/IDBCallbacks.h:
+ (WebCore::IDBCallbacks::onBlocked):
+ (WebCore::IDBCallbacks::onUpgradeNeeded):
+ * Modules/indexeddb/IDBCursor.cpp:
+ (WebCore::IDBCursor::stringToDirection):
+ * Modules/indexeddb/IDBCursor.h:
+ (IDBCursor):
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::prefetchReset):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::transaction):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
+ * Modules/indexeddb/IDBIndex.cpp:
+ (WebCore::IDBIndex::openCursor):
+ (WebCore::IDBIndex::openKeyCursor):
+ * Modules/indexeddb/IDBLevelDBCoding.cpp:
+ (IDBLevelDBCoding):
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore):
+ (WebCore::IDBObjectStore::openCursor):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::stringToMode):
+ * Modules/indexeddb/IDBTransaction.h:
+ (IDBTransaction):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+
+2013-03-27 Sergey Ryazanov <serya@chromium.org>
+
+ REGRESSION (r146588): Cannot correctly display Chinese SNS Renren
+ https://bugs.webkit.org/show_bug.cgi?id=113142
+
+ Reviewed by Pavel Feldman.
+
+ Changed CSS grammar to be equivalent to pre-r146588.
+ CSS error reporting disabled to prevent message overflow.
+
+ * css/CSSGrammar.y.in:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::isLoggingErrors):
+
+2013-03-27 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: enhance Popover.js to rely on hover element coordinates
+ https://bugs.webkit.org/show_bug.cgi?id=113340
+
+ Reviewed by Pavel Feldman.
+
+ No new tests: no change in behaviour.
+
+ Introduce a coordinates-based method that checks if mouse is inside hover
+ element and use it in PopoverHelper instead of DOM hierarchy.
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.PopoverHelper.prototype._eventInHoverElement): Added.
+ (WebInspector.PopoverHelper.prototype._mouseDown):
+ (WebInspector.PopoverHelper.prototype._mouseMove):
+ (WebInspector.PopoverHelper.prototype._mouseOut):
+
+2013-03-27 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [CodeMirror] fix webinspector-css theme for CodeMirror
+ https://bugs.webkit.org/show_bug.cgi?id=113399
+
+ Reviewed by Alexander Pavlov.
+
+ Add style rule to highlight css properties for CodeMirror
+ webinspector-css theme.
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/cm/cmdevtools.css:
+ (.cm-s-web-inspector-css span.cm-property):
+
+2013-03-27 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [DTE] paint overlay highlight for unhighlighted lines
+ https://bugs.webkit.org/show_bug.cgi?id=113344
+
+ Reviewed by Pavel Feldman.
+
+ No new tests.
+
+ Remove fast-return condition from paintLine method that checked for
+ highlight existence.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorMainPanel.prototype._paintLine):
+
+2013-03-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Shift clicking on an element with -webkit-user-select: all doesn't extend selection
+ https://bugs.webkit.org/show_bug.cgi?id=113270
+
+ Reviewed by Enrica Casucci.
+
+ The bug was caused by updateSelectionForMouseDownDispatchingSelectStart always replacing selection whenever
+ the target node was inside an element with -webkit-suer-select even when we were attemping to extend selection
+ in handleMousePressEventSingleClick.
+
+ Fixed the bug by extracting this logic as a separate function (expandSelectionToRespectUserSelectAll) and deploying
+ it in handleMousePressEventSingleClick to extend selection as needed.
+
+ Test: editing/selection/user-select-all-with-shift.html
+
+ * page/EventHandler.cpp:
+ (WebCore::expandSelectionToRespectUserSelectAll): Extracted from updateSelectionForMouseDownDispatchingSelectStart.
+ (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
+ (WebCore::EventHandler::selectClosestWordFromHitTestResult):
+ (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
+ (WebCore::EventHandler::handleMousePressEventTripleClick):
+ (WebCore::EventHandler::handleMousePressEventSingleClick): Adjust "pos" as needed when extending selection.
+ Also use shouldConsiderSelectionAsDirectional() instead of manually peeking editingBehaviorType while we're at it.
+
+2013-03-27 Zalan Bujtas <zalan@apple.com>
+
+ REGRESSION(r143102): iframe with percentage height within table with anonymous cell fails.
+ https://bugs.webkit.org/show_bug.cgi?id=113077
+
+ Reviewed by Antti Koivisto.
+
+ http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level
+ "Anonymous block boxes are ignored when resolving percentage values that would refer to it:
+ the closest non-anonymous ancestor box is used instead."
+ When figuring out whether auto height needs to be applied on the current box, ignore anonymous
+ ancestors until the first non-anonymous containing block is found. This matches both
+ Firefox and Opera behaviour.
+
+ Test: fast/replaced/iframe-with-percentage-height-within-table-with-anonymous-table-cell.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight): Switch from
+ isAnonymousBlock() to isAnonymous() to make sure all anonymous boxes are ignored.
+ Remove isTableCell() check which is a noop as table cell isn't an anonymous block.
+
+2013-03-27 Pierre Rossi <pierre.rossi@gmail.com>
+
+ [Qt] Add WOFF support when using zlib
+ https://bugs.webkit.org/show_bug.cgi?id=112805
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ Covered by existing test:
+ fast/css/font-face-woff.html
+
+ * Target.pri: Conditional inclusion of WOFFFileFormat
+ * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
+ (WebCore::createFontCustomPlatformData): Try to unpack WOFF data, otherwise spit out a warning and bail.
+ (WebCore::FontCustomPlatformData::supportsFormat): accept WOFF webfonts if USE(ZLIB).
+
+2013-03-27 Robert Hogan <robert@webkit.org>
+
+ Growing a position:absolute element in a position:relative one in a table does not update scrollHeight
+ https://bugs.webkit.org/show_bug.cgi?id=111977
+
+ Reviewed by David Hyatt.
+
+ During simplified layout tables still need to know about overflow from positioned objects in any of
+ their cells.
+
+ Test: fast/table/cell-overflow-simplified-layout.html
+
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::simplifiedNormalFlowLayout):
+ (WebCore):
+ * rendering/RenderTable.h:
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::layoutRows):
+ (WebCore):
+ (WebCore::RenderTableSection::computeOverflowFromCells):
+ * rendering/RenderTableSection.h:
+ (RenderTableSection):
+
+2013-03-22 Geoffrey Garen <ggaren@apple.com>
+
+ Honor the setting for whether JavaScript markup is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=113122
+
+ Reviewed by Ryosuke Niwa.
+
+ * dom/ScriptableDocumentParser.cpp:
+ (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Applied the
+ setting here, so all document parsing would be covered. This is similar
+ to what we do for plug-in stripping.
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::insertForeignElement): Fixed a bug where
+ we would insert an SVG script element into the document even in script
+ markup disabled mode.
+
+ (This bug has existed for copy/paste for a long time, but other bugs and
+ quirks in SVG copy/paste papered over it. It's a serious issue now
+ that non-paste clients will rely on this mode.)
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Fixed the same
+ bug -- this time in the part of the parser that executes scripts as they
+ parse.
+
+ I adopted the toScriptElement() convention for testing for a script
+ element to match the XML parser.
+
+2013-03-27 Dean Jackson <dino@apple.com>
+
+ Chromium Mac fails to build after r146995 because the new NSFont category
+ may conflict with the system. Add the WebCoreTheme category to the whitelist.
+
+ Unreviewed.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2013-03-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Selection code spends a lot of time in InlineTextBox::localSelectionRect
+ https://bugs.webkit.org/show_bug.cgi?id=113364
+
+ Reviewed by Enrica Casucci.
+
+ Avoid computing the font width when we're selecting the entire line box.
+
+ This appears to be 25-26% improvement on Interactive/SelectAll:Time.
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::localSelectionRect):
+
+2013-03-26 Timothy Hatcher <timothy@apple.com>
+
+ Add support for dock-to-right of the Web Inspector in the Mac port.
+
+ Unfortunately this requires Safari changes, so it is disabled in the nightly builds.
+
+ https://webkit.org/b/113341
+ rdar://problem/10368152
+
+ Reviewed by Joseph Pecoraro.
+
+ * WebCore.exp.in:
+ * inspector/InspectorFrontendClient.h:
+ (InspectorFrontendClient):
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore):
+ (WebCore::InspectorFrontendClientLocal::frontendLoaded):
+ (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
+ (WebCore::InspectorFrontendClientLocal::canAttachWindow):
+ (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
+ (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
+ (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowWidth):
+ * inspector/InspectorFrontendClientLocal.h:
+ (InspectorFrontendClientLocal):
+ * inspector/InspectorFrontendHost.cpp:
+ (WebCore::InspectorFrontendHost::setAttachedWindowWidth):
+ (WebCore):
+ * inspector/InspectorFrontendHost.h:
+ (InspectorFrontendHost):
+ * inspector/InspectorFrontendHost.idl:
+ * inspector/front-end/InspectorFrontendHostStub.js:
+ (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowWidth):
+ * inspector/front-end/externs.js:
+ (InspectorFrontendHostAPI.prototype.setAttachedWindowWidth):
+ * testing/Internals.cpp:
+
+2013-03-27 Eric Carlson <eric.carlson@apple.com>
+
+ [Mac] webkitClosedCaptionsVisible doesn't work
+ https://bugs.webkit.org/show_bug.cgi?id=113417
+
+ Reviewed by Jer Noble.
+
+ Test: media/track/track-in-band-legacy-api.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): Delete m_disableCaptions, it is no longer used.
+ (WebCore::HTMLMediaElement::configureTextTrackGroup): Pass this to textTrackSelectionScore.
+ (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Delete m_disableCaptions, it is no longer used.
+ * html/HTMLMediaElement.h: Ditto.
+
+ * page/CaptionUserPreferences.cpp:
+ (WebCore::CaptionUserPreferences::textTrackSelectionScore): Add an HTMLMediaElement parameter.
+ * page/CaptionUserPreferences.h:
+
+ * page/CaptionUserPreferencesMac.h:
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Return a score if the media element
+ is showing captions, even if the preference says captions are disabled.
+
+2013-03-27 Eric Carlson <eric.carlson@apple.com>
+
+ [Mac] Text track menu items sometimes labeled incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=113406
+
+ Reviewed by Jer Noble.
+
+ media/video-controls-captions-trackmenu-localized.html was updated to test this.
+
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::trackDisplayName): Use the 'label' attribute for the menu text when necessary.
+
+2013-03-27 Sergio Villar Senin <svillar@igalia.com>
+
+ Inserting a blank (" ") at the end of a line does not insert anything in Overtype mode
+ https://bugs.webkit.org/show_bug.cgi?id=113413
+
+ Reviewed by Ryosuke Niwa.
+
+ Perform a "normal" insert instead of a replace when there is
+ nothing to replace (like at the end of a line) as this case is not
+ supported by the replacing code path. This will allow us to
+ properly rebalance whitespaces in those cases.
+
+ Updated the editing/execCommand/overtype.html test to check also
+ this use case.
+
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::setEndingSelectionWithoutValidation):
+ (WebCore::InsertTextCommand::performTrivialReplace):
+ (WebCore::InsertTextCommand::performOverwrite):
+ (WebCore::InsertTextCommand::doApply): use the recently added
+ setEndingSelectionWithoutValidation() to avoid code duplication.
+ * editing/InsertTextCommand.h:
+ (InsertTextCommand):
+
+2013-03-27 Dean Jackson <dino@apple.com>
+
+ [Mac] Use fontName rather than familyName for internal fonts
+ https://bugs.webkit.org/show_bug.cgi?id=113392
+ <rdar://problem/13474743>
+
+ Reviewed by Enrica Casucci.
+
+ Some internal fonts on OS X have a family name that
+ isn't listed in availableFontFamilies. In this case
+ we should use the font name rather than the family
+ name when looking for a match.
+
+ * platform/mac/ThemeMac.h: NSFont category to provide a web-friendly family name.
+ * platform/mac/ThemeMac.mm:
+ (-[NSFont webCoreFamilyName]): Returns the font name for internal fonts, otherwise the family name.
+ (WebCore::ThemeMac::controlFont):
+ * rendering/RenderThemeMacShared.mm: Use the webCoreFamilyName.
+ (WebCore::RenderThemeMacShared::systemFont): Ditto.
+ (WebCore::RenderThemeMacShared::setFontFromControlSize): Ditto.
+
+2013-03-26 Jer Noble <jer.noble@apple.com>
+
+ Mac: Media Controls always hide time display elements
+ https://bugs.webkit.org/show_bug.cgi?id=113355
+
+ Reviewed by Eric Carlson.
+
+ No new tests; rebaselined existing tests against correct behavior.
+
+ A prior commit set the "min-width:0" property on the time display elements, which, combined
+ with the "-webkit-flex-box:0 0" setting, caused the flex-box container to collapse the width
+ of the elements to zero. To achieve the desired effect of hiding the time display elements,
+ first set the elements' min-width to the desired width, as the new flex-box spec treats the
+ default value of "min-width:auto" as the intrinsic width, and will collapse the text display
+ elements to the intrinsic width of its contained text node.
+
+ The above allows the timeline container to collapse beyond the sum of its childrens'
+ intrinsic width. Create a custom renderer that detects when this happens, and hide the time
+ display controls.
+
+ * css/mediaControls.css:
+ * css/mediaControlsQuickTime.css:
+ (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
+ Set the "min-width:" property to equal the "width:" property.
+ (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
+ Ditto.
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
+ Chromium assumes the time display controls are flex-boxes, so make that explicit.
+ * html/shadow/MediaControlElementTypes.cpp: Removed MediaControlTimeDisplayElement::createRenderer().
+ * html/shadow/MediaControlElementTypes.h:
+ (MediaControlTimeDisplayElement): Ditto.
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlTimelineContainerElement::setTimeDisplaysHidden): Added, walks through the
+ container's children and shows or hides time display elements.
+ (WebCore::MediaControlTimelineContainerElement::createRenderer): Added, creates a RenderMediaControlTimelineContainer.
+ (WebCore::getMediaControlTimeRemainingDisplayElementShadowPseudoId): Added, allow setTimeDisplaysHidden to
+ query against children's shadowPseudoId().
+ (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Moved contents to getMediaControlTimeRemainingDisplayElementShadowPseudoId.
+ (WebCore::getMediaControlCurrentTimeDisplayElementShadowPseudoId): Added, allow setTimeDisplaysHidden to
+ query against children's shadowPseudoId().
+ (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Moved contents to getMediaControlCurrentTimeDisplayElementShadowPseudoId.
+ * html/shadow/MediaControlElements.h:
+ (MediaControlTimelineContainerElement):
+ * rendering/RenderMediaControlElements.cpp:
+ (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): Added, simple constructor.
+ (WebCore::RenderMediaControlTimelineContainer::layout): Detect when the controller's width is greater than
+ a certain value, and show or hide the time display elements in response.
+ * rendering/RenderMediaControlElements.h:
+ (RenderMediaControlTimelineContainer):
+
+2013-03-27 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: CPU profiler. Swap FlameChart with Data Grid.
+ https://bugs.webkit.org/show_bug.cgi?id=113395
+
+ Reviewed by Pavel Feldman.
+
+ Looks like FlameChart is more powerful and flexible instrument
+ than plain old ProfileTree in DataGrid. The same action like
+ 'look for the most expensive function in a frame' could be easily
+ done with FlameChart and need number of clicks in DataGrid.
+ So in an offline discussion we decided to place FlameChart on top of DataGrid.
+
+ * inspector/front-end/CPUProfileView.js:
+
+2013-03-27 Chris Fleizach <cfleizach@apple.com>
+
+ Regression in tests due to https://bugs.webkit.org/show_bug.cgi?id=113339
+ https://bugs.webkit.org/show_bug.cgi?id=113361
+
+ Fix the red bots. No review.
+
+ Ensure only pop-up buttons get the AXRequired attribute instead of all buttons.
+
+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+ (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
+
+2013-03-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Breakpoint manager should restore breakpoints when uiSourceCode is added.
+ https://bugs.webkit.org/show_bug.cgi?id=113381
+
+ Reviewed by Pavel Feldman.
+
+ Breakpoint manager now restores breakpoints on UISourceCodeAdded event.
+ Breakpoint manager now only resets breakpoints in debugger when source mapping is changed to/from non identity one.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.prototype._uiSourceCodeAdded):
+ (WebInspector.BreakpointManager.prototype._resetBreakpoints):
+ (WebInspector.BreakpointManager.prototype._uiSourceCodeMappingChanged):
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping.prototype.get isIdentity):
+ * inspector/front-end/DefaultScriptMapping.js:
+ (WebInspector.DefaultScriptMapping.prototype.isIdentity):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.isIdentity):
+ * inspector/front-end/SASSSourceMapping.js:
+ (WebInspector.SASSSourceMapping.prototype.isIdentity):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.SnippetScriptMapping.prototype.isIdentity):
+ * inspector/front-end/SourceMapping.js:
+ (WebInspector.SourceMapping.prototype.isIdentity):
+ * inspector/front-end/StylesSourceMapping.js:
+ (WebInspector.StylesSourceMapping.prototype.isIdentity):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode.prototype.setSourceMapping):
+
+2013-03-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: update Timeline.TimelineEvent definition to include DOM counters and native memory stats
+ https://bugs.webkit.org/show_bug.cgi?id=113376
+
+ Reviewed by Vsevolod Vlasov.
+
+ Fixed assertion failure in debug mode after r146975.
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
+
+2013-03-27 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: FlameChart. Provide 15px padding left for the chart so developers will see the first divider with '0' title.
+ https://bugs.webkit.org/show_bug.cgi?id=113404
+
+ Reviewed by Pavel Feldman.
+
+ 15px paddingLeft was added to the code for the chart.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
+ (WebInspector.FlameChart.Calculator.prototype.computePosition):
+ (WebInspector.FlameChart.prototype.draw):
+
+2013-03-27 Kent Tamura <tkent@chromium.org>
+
+ Rename HTMLFormControlElement::readOnly to isReadOnly
+ https://bugs.webkit.org/show_bug.cgi?id=113297
+
+ Reviewed by Alexey Proskuryakov.
+
+ HTMLFormControlElement::readOnly is not an implementation of
+ 'readOnly' IDL attribute. It's confusing and we don't need to
+ violate our naming convention.
+
+ No new tests. Just a refactoring.
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::isReadOnly):
+ * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly):
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::HTMLFormControlElement):
+ (WebCore::HTMLFormControlElement::parseAttribute):
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::isReadOnly):
+ (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass):
+ (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass):
+ (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::defaultEventHandler):
+ (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
+ (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
+ (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
+ * html/shadow/TextFieldDecorationElement.cpp:
+ (WebCore::TextFieldDecorationElement::updateImage):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::updateUserModifyProperty):
+ * rendering/RenderThemeMacShared.mm:
+ (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):
+
+2013-03-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: update Timeline.TimelineEvent definition to include DOM counters and native memory stats
+ https://bugs.webkit.org/show_bug.cgi?id=113376
+
+ Reviewed by Vsevolod Vlasov.
+
+ Added missing fields to Timeline.TimelineEvent type definition in Inspector.json
+
+ * inspector/Inspector.json:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
+ (WebCore::InspectorTimelineAgent::setDOMCounters):
+ Switched InspectorTimelineAgent to the new typed event builders.
+ (WebCore::InspectorTimelineAgent::setNativeHeapStatistics):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+
+2013-03-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Follow-up to r146898: test that uiSourceCodes are not leaking in breakpoint manager.
+ https://bugs.webkit.org/show_bug.cgi?id=113368
+
+ Reviewed by Pavel Feldman.
+
+ Added a missed line and a test.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.prototype._projectWillReset):
+
+2013-03-27 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [CodeMirror] CodeMirrorTextEditor.highlightRange has bugs
+ https://bugs.webkit.org/show_bug.cgi?id=113348
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests.
+
+ - Append additional "<class>-start" class to the first highlighted span
+ and "<class>-end" class to the last highlighted span to provide a way
+ to set up a css classes with borders.
+ - Increment end column of the markup range to simulate inclusive range.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor.prototype.highlightRange):
+
+2013-03-27 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: Add isClean/markClean method pair to textEditor.js
+ https://bugs.webkit.org/show_bug.cgi?id=112815
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests: no change in behaviour.
+
+ - Add TextEditor.isClean and TextEditor.markClean methods
+ - Implement these methods in DefaultTextEditor
+ - Implement these methods in CodeMirrorTextEditor
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor.prototype.isClean):
+ (WebInspector.CodeMirrorTextEditor.prototype.markClean):
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype.isClean):
+ (WebInspector.DefaultTextEditor.prototype.markClean):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.isClean):
+ (WebInspector.TextEditor.prototype.markClean):
+ * inspector/front-end/TextEditorModel.js:
+ (WebInspector.TextEditorModel.endsWithBracketRegex.):
+
+2013-03-27 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed. Web Inspector. rename method Timeline.Calculator.grandMinimumBoundary to Timeline.Calculator.zeroTime
+
+ No changes in behaviour.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.Calculator.prototype.zeroTime):
+ (WebInspector.FlameChart.OverviewCalculator.prototype.zeroTime):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkBaseCalculator.prototype.zeroTime):
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.updateDividers):
+ (WebInspector.TimelineGrid.Calculator.prototype.zeroTime):
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewCalculator.prototype.zeroTime):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelineCalculator.prototype.zeroTime):
+
+2013-03-26 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Timeline. Scroll dividers with the underlying events.
+ https://bugs.webkit.org/show_bug.cgi?id=113315
+
+ Reviewed by Pavel Feldman.
+
+ Now when TimelineGrid is able to draw dividers with any offset
+ we could cut away paddingLeft member of Timeline.Calculator
+ and clear the code of TimelineGrid.
+
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.updateDividers):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._refresh):
+ (WebInspector.TimelineCalculator.prototype.computePosition):
+ (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
+ (WebInspector.TimelineCalculator.prototype.grandMinimumBoundary):
+ * inspector/front-end/inspectorCommon.css:
+ (.resources-dividers-label-bar):
+
+2013-03-27 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [CoordGfx] Support to share GraphicsSurface flags with client.
+ https://bugs.webkit.org/show_bug.cgi?id=112982
+
+ Reviewed by Noam Rosenthal.
+
+ Covered by existing WebGL tests.
+
+ This patch adds support to pass GraphicsSurface flags during it's client creation.
+ This would be helpful to determine cases when blending can be disabled on client
+ side i.e When AlphaSupport is disabled during Graphics Surface creation.
+ With GLX, we rely on Window to provide us with necessary information on client side.
+ This might not be the case on other platforms or when not using Window on X.
+ This patch doesn't change original behaviour of creating GraphicsSurface client
+ with default flags GraphicsSurface::SupportsTextureTarget and GraphicsSurface::SupportsSharing.
+
+ * platform/graphics/texmap/TextureMapperPlatformLayer.h:
+ (WebCore::TextureMapperPlatformLayer::graphicsSurfaceFlags):
+ * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
+ (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
+ * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
+ (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
+ * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
+ (CoordinatedGraphicsLayerState):
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
+ (WebCore):
+ (WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):
+ * platform/graphics/efl/GraphicsContext3DPrivate.h:
+ (GraphicsContext3DPrivate):
+ * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::initializeClient):
+
+2013-03-26 Takashi Sakamoto <tasak@google.com>
+
+ [shadow] styleForText should consider the case where parent node has no style
+ https://bugs.webkit.org/show_bug.cgi?id=113275
+
+ If a text node is distributed, its parent node for rendering and
+ styling might have no style. In the case, styleForText should return
+ default style.
+
+ Reviewed by Hajime Morrita.
+
+ Test: fast/dom/shadow/text-node-distributed-crash.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::styleForText):
+ Check whether a parent node has any style or not. If not, return
+ default style. This is the same behavior as styleForElement.
+
+2013-03-26 Takeshi Yoshino <tyoshino@chromium.org>
+
+ Make SocketStreamHandle (Chromium port) fully use IPC window in send()
+ https://bugs.webkit.org/show_bug.cgi?id=113304
+
+ Reviewed by Kent Tamura.
+
+ socket_stream of Chromium buffers send data up to 32KiB (exact) bytes.
+
+ However, SocketStreamHandleInternal::send() method now keeps in-flight
+ send data not greater than m_maxPendingSendAllowed - 1 that is
+ 32KiB - 1. This means that SocketStreamHandleInternal consumes the
+ buffered data in SocketStreamHandleBase by 32KiB - 1. It makes memory
+ copy operations unaligned unnecessarily. It should just use the
+ allowed size fully.
+
+ * platform/network/chromium/SocketStreamHandle.cpp:
+ (WebCore::SocketStreamHandleInternal::send):
+ (WebCore):
+
+2013-03-26 Hayato Ito <hayato@chromium.org>
+
+ Allow ShadowContents in HitTests by default.
+ https://bugs.webkit.org/show_bug.cgi?id=113171
+
+ Reviewed by Dimitri Glazkov.
+
+ HitTestRequest is widely used in WebCore, but AllowShadowContents
+ flag is not turned on by default. In most places, we can set the
+ flag on.
+
+ This change makes HitTests allow shadow contents by default.
+
+ To track all existing HitTests which do not allow shadow contents,
+ and discourage such a HitTest in the future, I've introduced
+ disallowShadowContenet flag so that callers must turn on this flag
+ explicitly if they want to disallow shadow contents in their HitTests.
+
+ This change should be refactoring and should not include any
+ behavior changes. After this change, we'll investigate each place
+ where disallowShadowContents is used step by step and get rid of
+ the flag if it is okay to remove.
+
+ No new tests, no behavior change.
+
+ * dom/Document.h:
+ (Document):
+ * dom/TreeScope.cpp:
+ (WebCore::nodeFromPoint):
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::contains):
+ * page/DragController.cpp:
+ (WebCore::elementUnderMouse):
+ (WebCore::DragController::canProcessDrag):
+ (WebCore::DragController::startDrag):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDraggedEvent):
+ (WebCore::EventHandler::eventMayStartDrag):
+ (WebCore::EventHandler::updateSelectionForMouseDrag):
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+ (WebCore::EventHandler::updateDragAndDrop):
+ (WebCore::EventHandler::isInsideScrollbar):
+ (WebCore::EventHandler::handleWheelEvent):
+ (WebCore::EventHandler::handleGestureEvent):
+ (WebCore::EventHandler::handleGestureLongPress):
+ (WebCore::EventHandler::handleGestureScrollBegin):
+ (WebCore::EventHandler::bestClickableNodeForTouchPoint):
+ (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
+ (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
+ (WebCore::EventHandler::sendContextMenuEvent):
+ (WebCore::EventHandler::sendContextMenuEventForKey):
+ (WebCore::EventHandler::hoverTimerFired):
+ (WebCore::EventHandler::dragSourceEndedAt):
+ (WebCore::EventHandler::handleDrag):
+ (WebCore::EventHandler::handleTouchEvent):
+ (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
+ * page/EventHandler.h:
+ (EventHandler):
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfNeeded):
+ * page/Frame.cpp:
+ (WebCore::Frame::visiblePositionForPoint):
+ * page/TouchDisambiguation.cpp:
+ (WebCore::findGoodTouchTargets):
+ * rendering/HitTestRequest.h:
+ (WebCore::HitTestRequest::disallowsShadowContent):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::addNodeToRectBasedTestResult):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
+ * rendering/svg/RenderSVGResourceClipper.cpp:
+ (WebCore::RenderSVGResourceClipper::hitTestClipContent):
+ * testing/Internals.cpp:
+ (WebCore::Internals::nodesFromRect):
+
+2013-03-26 Tim Horton <timothy_horton@apple.com>
+
+ [ca] Tell CA to clean up unused resources if a given WebProcess won't be drawing
+ https://bugs.webkit.org/show_bug.cgi?id=107539
+ <rdar://problem/13032692>
+
+ Reviewed by Simon Fraser.
+
+ Update WebCoreSystemInterface.
+
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2013-03-26 Antti Koivisto <antti@apple.com>
+
+ Test if non-immediate descendants obscure background
+ https://bugs.webkit.org/show_bug.cgi?id=113137
+
+ Reviewed by Simon Fraser.
+
+ The current obscuration test only covers immediate children. We can find more cases by looking deeper into descendants.
+
+ The patch makes the test sufficiently smart to stop a heavy fully obscured gif animation on micrsoft.com.
+
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::animationAdvanced):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleDidChange):
+
+ Invalidate parents to max test depth.
+
+ (WebCore::RenderBox::backgroundPaintedExtent):
+
+ Background painting is pixel snapped.
+
+ (WebCore::isCandidateForOpaquenessTest):
+ (WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect):
+
+ Separate foreground testing and make it recursive.
+ Add fast bailout for common static positioned case.
+ Remove maximum child count, the fast bailouts should prevent long tests.
+ Add maximum depth so we know how deep we need to invalidate in styleDidChange.
+
+ (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
+ (WebCore):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
+ (WebCore):
+ (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):
+
+ * rendering/RenderImage.h:
+ (RenderImage):
+
+2013-03-26 Benjamin Poulain <bpoulain@apple.com>
+
+ Regression (r145601): out-of-bounds read in line breaking / new width cache
+ https://bugs.webkit.org/show_bug.cgi?id=113347
+
+ Reviewed by Geoffrey Garen.
+
+ The values zero and 0xffff have special values with the default HashTraits. Those values
+ are also valid values for UChar.
+
+ To avoid any table inconsitency, switch from UChar to uint32_t as the key type for
+ the WidthCache's single char map. The traits is also changed to allow zero as a normal
+ value.
+
+ This makes no space or time change over the previous code because:
+ -The struct KeyValuePair was already 64bits due to the ABI alignment restrictions on floats.
+ -The two hashes take the same number of instructions.
+
+ * platform/graphics/WidthCache.h:
+ (WidthCache):
+
+2013-03-26 Kent Tamura <tkent@chromium.org>
+
+ Make HTMLProgressElement::isDeterminate private
+ https://bugs.webkit.org/show_bug.cgi?id=113299
+
+ Reviewed by Kentaro Hara.
+
+ The only callsite of isDeterminate outside of HTMLProgressElement
+ is in StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes,
+ and we can replace it with Element::shouldAppearIndeterminate.
+
+ No new tests. Just a refactoring.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
+ Use Element::shouldAppearIndeterminate.
+ * html/HTMLProgressElement.h:
+ (HTMLProgressElement): Make isDeterminate private.
+
+2013-03-26 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Histogram cause of LevelDB write errors
+ https://bugs.webkit.org/show_bug.cgi?id=113350
+
+ Reviewed by Tony Chang.
+
+ Add histogram for source of LevelDB errors on Write in addition to
+ Open.
+
+ No new tests - no good way to test histogram code.
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::histogramLevelDBError):
+ (WebCore):
+ (WebCore::LevelDBDatabase::open):
+ (WebCore::LevelDBDatabase::write):
+
+2013-03-26 Chris Fleizach <cfleizach@apple.com>
+
+ WebKit does not expose @required or @aria-required as AXRequired on select elements
+ https://bugs.webkit.org/show_bug.cgi?id=113339
+
+ Reviewed by Tim Horton.
+
+ Make sure button types can return the AXRequired attribute.
+
+ Tests: platform/mac/accessibility/aria-required-popup-button.html
+
+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
+
+2013-03-26 Dean Jackson <dino@apple.com>
+
+ When a primary plugin is restarted, also start similar plugins
+ https://bugs.webkit.org/show_bug.cgi?id=113265
+
+ Reviewed by Tim Horton.
+
+ If we detect a primary plugin that is snapshotted, we immediately restart it.
+ When this happens, we should also restart any other plugins that
+ match the same origin and type. This allows sites with a lot of
+ (geometrically) nearby plugins to behave as if they are a single big plugin.
+
+ Tests: plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html
+ plugins/snapshotting/autoplay-similar-to-dominant.html
+
+ * WebCore.exp.in: Export mimeTypeFromURL.
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Use loadedMimeType helper.
+ (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): New method, which copied the
+ existing code from userDidClickSnapshot.
+ (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Move the similar plugin detection
+ out into another function and call it.
+ (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Call restartSimilarPlugIns.
+ (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Use loadedMimeType helper.
+ * html/HTMLPlugInImageElement.h: Declaration of restartSimilarPlugIns.
+ (WebCore::HTMLPlugInImageElement::loadedMimeType): New helper method since this
+ code was being often duplicated.
+
+2013-03-26 Brent Fulgham <bfulgham@webkit.org>
+
+ [Windows, WinCairo] Scroll offset being applied to plugins during print operations.
+ https://bugs.webkit.org/show_bug.cgi?id=39889
+
+ Reviewed by Anders Carlsson.
+
+ This must be tested manually. See the issue for details.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paintWindowedPluginIntoContext):
+ Revise the Windows implementation of the PluginView class
+ paintWindowedPluginIntoContext to use the containing window
+ position when computing the plugin's position for printing.
+
+2013-03-26 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Non-paintsContent fixed position layer should not cause slow scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=113238
+
+ Reviewed by James Robinson.
+
+ Added NotCompositedForNoVisibleContent in ViewportConstrainedNotCompositedReason and set it in RLC.
+
+ Test: compositing/layer-creation/fixed-position-no-content-scroll-reason.html
+
+ * rendering/RenderLayer.h: Add NotCompositedForNoVisibleContent.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Set NotCompositedForNoVisibleContent reason when the fixed position layer has no visible content.
+
+2013-03-26 Zoltan Horvath <zoltan@webkit.org>
+
+ [CSS Exclusions] The radius of a circle should be computed based on the shorter available dimension
+ https://bugs.webkit.org/show_bug.cgi?id=113255
+
+ Reviewed by Julien Chaffraix.
+
+ When we decide what should be the radius of a circle, we should choose the smallest available space. For instance when the
+ width or height is not resolvable for the circle we should not have a radius for it. This change modifies the behavior to
+ use the smaller available space, so we won't render unnecessary circle shapes.
+
+ Test: fast/exclusions/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html
+
+ * rendering/ExclusionShape.cpp:
+ (WebCore::ExclusionShape::createExclusionShape):
+
+2013-03-26 Timothy Hatcher <timothy@apple.com>
+
+ Make the Web Inspector console work in strict mode with JavaScriptCore.
+
+ https://webkit.org/b/65829
+ rdar://problem/11271238
+
+ Reviewed by Joseph Pecoraro.
+
+ * inspector/InjectedScriptSource.js:
+ (InjectedScript.prototype._evaluateOn): Don't use 'eval' parameter (it isn't
+ allowed in strict mode). Swap window.eval with our known eval instead.
+
+2013-03-26 Ryosuke Niwa <rniwa@webkit.org>
+
+ Heap-use-after-free regression
+ https://bugs.webkit.org/show_bug.cgi?id=113337
+
+ Reviewed by Abhishek Arya and Alexey Proskuryakov.
+
+ Use RefPtr instead of raw pointer in m_associatedFormControls.
+
+ * dom/Document.cpp:
+ (WebCore::Document::didAssociateFormControlsTimerFired):
+ * dom/Document.h:
+ (Document):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::didAssociateFormControls):
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::didAssociateFormControls):
+
+2013-03-26 Alexey Proskuryakov <ap@apple.com>
+
+ <rdar://problem/13194263> Crashes in NetworkProcess due to threading issues
+ https://bugs.webkit.org/show_bug.cgi?id=113256
+
+ Reviewed by Brady Eidson.
+
+ Added a new code path in ResourceHandle/ResourceHandleClient that doesn't need
+ blocking calls. Implemented it for NSURLConnection by changing NSOperationQueue
+ version to forward calls to main thread.
+
+ * WebCore.exp.in: Export new methods.
+ * WebCore.xcodeproj/project.pbxproj: Added WebCoreResourceHandleAsOperationQueueDelegate.
+
+ * platform/network/CredentialStorage.cpp: Assert that unprotected global map operations
+ happen on main thread.
+
+ * platform/network/ResourceHandle.cpp: Added default implementations of functions
+ that handle async responses.
+
+ * platform/network/chromium/ResourceHandle.cpp: Ditto.
+
+ * platform/network/ResourceHandle.h: Added functions that are called in response
+ to new async functions in ResourceHandleClient. Changed Mac delegate type to id,
+ ast can now be either WebCoreResourceHandleAsDelegate or WebCoreResourceHandleAsOperationQueueDelegate.
+
+ * platform/network/ResourceHandleClient.cpp:
+ (WebCore::ResourceHandleClient::willSendRequestAsync):
+ (WebCore::ResourceHandleClient::shouldUseCredentialStorageAsync):
+ (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpaceAsync):
+ (WebCore::ResourceHandleClient::willCacheResponseAsync):
+ Default implementations of async client functions. These match default behavior of
+ sync versions.
+
+ * platform/network/ResourceHandleClient.h: Added async functions. A ResourceHandle
+ should use these when the client returns true from usesAsyncCallbacks().
+
+ * platform/network/ResourceHandleInternal.h: Changed to use id for delegate type
+ here, too.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::delegate): Create an appropriate delegate for the client.
+ (WebCore::ResourceHandle::willSendRequest): Since this function has a lot of common
+ behavior in sync and async cases, implement the new code path as a branch inside
+ it, not as a new function.
+ (WebCore::ResourceHandle::continueWillSendRequest): Unblock the connection when
+ response is known.
+ (WebCore::ResourceHandle::shouldUseCredentialStorage): Branched here too, for consistency.
+ Perhaps we'll want to break this into separate functions though.
+ (WebCore::ResourceHandle::continueShouldUseCredentialStorage): Unblock the connection.
+ (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Same change as above.
+ (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace): Ditto.
+ (WebCore::ResourceHandle::continueWillCacheResponse): Ditto. Currently, delegate
+ calls the client directly, so we only have a "continue" function, and no "willCacheResponse".
+
+ * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Removed some
+ nonsense code.
+
+ * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h: Copied from Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.h.
+ This delegate is responsible for forwarding calls to main thread. Unfortunately,
+ this adds some code duplication, which I tried to rectify somewhat in previous patches
+ by moving more logic to ResourceHandle.
+
+ * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm: Copied from Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate detachHandle]): Unblock waiting
+ threads if we don't expect a response any more.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate dealloc]): Release the semaphore.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]): Unblock
+ a waiting thread with a response.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate continueShouldUseCredentialStorage:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate continueCanAuthenticateAgainstProtectionSpace:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillCacheResponse:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
+ Run code that uses WebCore objects on main thread.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveDataArray:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]): Ditto.
+ (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]): Ditto.
+
+2013-03-26 Tony Chang <tony@chromium.org>
+
+ Autogenerate the scrollAnimatorEnabled setting in Settings.in
+ https://bugs.webkit.org/show_bug.cgi?id=113253
+
+ Reviewed by James Robinson.
+
+ Convert scrollAnimatorEnabled into an autogenerated setting. This involves renaming
+ the setter from setEnableScrollAnimator(bool) to setScrollAnimatorEnabled(bool) and
+ updating the callers. I didn't change any WebKit API methods.
+
+ Also remove the code in InternalSettings since it's never used and will now be
+ autogenerated with proper resetting code.
+
+ No new tests, this is a refactor and should compile.
+
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Remove code that is now autogenerated.
+ * page/Settings.h:
+ (Settings): Remove code that is now autogenerated.
+ * page/Settings.in: Add entry for scrollAnimatorEnabled.
+ * testing/InternalSettings.cpp: Remove unused code.
+ * testing/InternalSettings.h: Remove unused code.
+ * testing/InternalSettings.idl: Remove unused code.
+
+2013-03-26 Joe Mason <jmason@blackberry.com>
+
+ [BlackBerry] In RSSFilterStream, don't swallow headers when there's no body
+ https://bugs.webkit.org/show_bug.cgi?id=113334
+
+ Reviewed by Rob Buis.
+
+ RIM PR 316345
+
+ When receiving an HTTP response that has a Content-Type header such as text/xml, but no
+ body, RSSFilterStream::notifyHeadersReceived reads the Content-Type as "potential RSS", and
+ calls saveHeaders. It expects to sniff the body in notifyDataReceived to see if it's RSS,
+ and then call sendSavedHeaders to pass on the headers. But since there is no body,
+ notifyDataReceived is never called. So call sendSavedHeaders in notifyClose too (it will not
+ send them again if they were already sent.)
+
+ * platform/network/blackberry/rss/RSSFilterStream.cpp:
+ (WebCore::RSSFilterStream::notifyClose):
+
+2013-03-26 Dmitry Zvorygin <zvorygin@chromium.org>
+
+ Web Inspector: Faster drawer animation.
+ https://bugs.webkit.org/show_bug.cgi?id=113330
+
+ 250ms -> 100ms
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/inspector.css:
+ (.animate #main):
+ (.animate #floating-status-bar-container):
+ (.animate #drawer):
+ (.animate #bottom-status-bar-container > *):
+
+2013-03-26 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] Unreviewed Build fix.
+
+ * platform/graphics/win/FontCustomPlatformDataCairo.h:
+ (FontCustomPlatformData): Correct signature in header to match
+ required implementation.
+
+2013-03-26 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Scrolling up and down can cause the screen to flash black
+ https://bugs.webkit.org/show_bug.cgi?id=113269
+
+ Reviewed by Rob Buis.
+
+ PR 296106
+
+ The LayerRenderer should never clear before drawing the layers, from
+ now on that's the responsibility of the caller.
+
+ Only manually testable.
+
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::setViewport):
+ * platform/graphics/blackberry/LayerRendererClient.h:
+ (LayerRendererClient):
+
+2013-03-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] editing/pasteboard/can-read-in-dragstart-event.html and /can-read-in-copy-and-cut-events.html are crashing
+ https://bugs.webkit.org/show_bug.cgi?id=113126
+
+ Reviewed by Jocelyn Turcotte.
+
+ Make it possible to read from a writable Clipboard.
+
+ Test: editing/pasteboard/can-read-in-copy-and-cut-events.html
+
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::getData):
+ (WebCore::ClipboardQt::types):
+ (WebCore::ClipboardQt::files):
+ (WebCore::ClipboardQt::readClipboardData):
+ (WebCore::ClipboardQt::hasData):
+ (WebCore::ClipboardQt::items):
+ * platform/qt/ClipboardQt.h:
+ (ClipboardQt):
+
+2013-03-26 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] Unreviewed build correction.
+
+ * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
+ (WebCore::FontCustomPlatformData::fontPlatformData): Update
+ method signature to match CG variant.
+
+2013-03-26 Christophe Dumez <ch.dumez@sisa.samsung.com>
+
+ Code duplication between HTTPParsers and HTTPValidation
+ https://bugs.webkit.org/show_bug.cgi?id=113283
+
+ Reviewed by Alexey Proskuryakov.
+
+ Merged isValidHTTPToken() from HTTPValidation.h and isRFC2616Token() from
+ HTTPParsers.h. They were doing exactly the same thing and their
+ implementation was almost the same.
+
+ Removed HTTPValidation.* and moved remaining code to HTTPParsers.* as this
+ seems like the proper place and it seems odd to keep HTTPValidation for
+ just one function.
+
+ No new tests, no behavior change for layout tests.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/network/HTTPParsers.cpp:
+ (WebCore::isValidHTTPHeaderValue):
+ (WebCore):
+ (WebCore::isValidHTTPToken): Implementation is slightly simplified based on
+ isValidHTTPToken() from HTTPValidation.cpp. (c >= 0x80 || c == 0x7F) is
+ replaced by (c >= 0x7F). (c <= 0x1F || c == ' ' || c == '\t') is replaced
+ by (c <= 0x20). Those expressions are shorter but equivalent.
+ (WebCore::contentDispositionType):
+ * platform/network/HTTPParsers.h:
+ * platform/network/HTTPValidation.cpp: Removed.
+ * platform/network/HTTPValidation.h: Removed.
+ * xml/XMLHttpRequest.cpp: Stop including HTTPValidation.h.
+
+2013-03-26 Sergio Villar Senin <svillar@igalia.com>
+
+ Implement overtype mode for editable content
+ https://bugs.webkit.org/show_bug.cgi?id=112126
+
+ Reviewed by Ryosuke Niwa.
+
+ Tests: editing/execCommand/overtype-support.html
+ editing/execCommand/overtype.html
+
+ Add a new Overwrite command to the editor. This command will
+ perform overtype operations when enabled instead of "normal" text
+ insertions. As IE does, we maintain a single toggle state in the
+ editor (enabled/disabled) for all the editable content in the
+ page.
+
+ This new command will be only available for richly editable
+ content via keybindings or the context menu. For testing purposes
+ it is also accessible via internals.
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::replaceTextInNode): Use RefPtr for
+ local variables.
+ * editing/Editor.cpp:
+ (WebCore::Editor::Editor):
+ * editing/Editor.h:
+ (WebCore::Editor::isOverwriteModeEnabled):
+ (WebCore::Editor::toggleOverwriteModeEnabled):
+ (Editor): Added two new functions and a new attribute.
+ * editing/EditorCommand.cpp:
+ (WebCore::executeToggleOverwrite): Enables/disables overwrite mode.
+ (WebCore):
+ (WebCore::createCommandMap): New OverWrite command.
+ * editing/InsertTextCommand.cpp:
+ (WebCore::InsertTextCommand::setEndingSelectionWithoutValidation):
+ Refactored from performTrivialReplace(), shared by
+ performOverwrite().
+ (WebCore):
+ (WebCore::InsertTextCommand::performTrivialReplace):
+ (WebCore::InsertTextCommand::performOverwrite):
+ (WebCore::InsertTextCommand::doApply): Perform overwrite if enabled.
+ * editing/InsertTextCommand.h:
+ (InsertTextCommand):
+ * testing/Internals.cpp:
+ (WebCore::Internals::resetToConsistentState): Reset OverWrite mode
+ to false.
+ (WebCore::Internals::isOverwriteModeEnabled):
+ (WebCore):
+ (WebCore::Internals::toggleOverwriteModeEnabled): Provide access
+ to overwrite functionality in Editor for testing purposes.
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2013-03-26 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] WebOverlay::pixelViewportRect() should return pixel viewport coordinates
+ https://bugs.webkit.org/show_bug.cgi?id=113263
+
+ Reviewed by Rob Buis.
+
+ PR 312404
+
+ Fix WebOverlay::pixelViewportRect() to return the pixel viewport rect
+ instead of the window rect. These are different if the web page is
+ rendered starting at a window coordinate other than 0,0. The clip rect
+ encodes the position we're rendered at, and can be used to translate
+ the rect expressed in window coordinates to the pixel viewport
+ coordinate system.
+
+ Also perform some cleanup of related code.
+
+ Only manually testable.
+
+ * platform/graphics/blackberry/LayerCompositingThread.cpp:
+ (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
+ (WebCore::LayerCompositingThread::drawTextures):
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::toPixelCoordinates):
+ (WebCore):
+ (WebCore::LayerRenderer::toWindowCoordinates):
+ (WebCore::LayerRenderer::toPixelViewportCoordinates):
+ (WebCore::LayerRenderer::toDocumentViewportCoordinates):
+ (WebCore::LayerRenderer::updateLayersRecursive):
+ * platform/graphics/blackberry/LayerRenderer.h:
+ (LayerRenderer):
+
+2013-03-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146901.
+ http://trac.webkit.org/changeset/146901
+ https://bugs.webkit.org/show_bug.cgi?id=113321
+
+ Was landed to soon (Requested by pfeldman on #webkit).
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.):
+ (WebInspector.ConsoleView.prototype.filter):
+ (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
+ (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
+ (WebInspector.ConsoleView.prototype._consoleMessageAdded):
+ (WebInspector.ConsoleView.prototype._appendConsoleMessage):
+ (WebInspector.ConsoleView.prototype._consoleCleared):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get preserveLogItemAction):
+ (WebInspector.ConsoleView.prototype._shouldBeVisible):
+ (WebInspector.ConsoleView.prototype._updateMessageList):
+ (WebInspector.ConsoleView.prototype._promptKeyDown):
+ (WebInspector.ConsoleView.prototype._printResult):
+ (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
+ * inspector/front-end/inspector.css:
+ (.console-warning-level, .console-error-level, .console-log-level, .console-debug-level):
+ (.filter-all .console-debug-level, .filter-debug .console-debug-level):
+ (.filter-all .console-debug-level.repeated-message, .filter-debug .console-debug-level.repeated-message):
+
+2013-03-26 Rafael Weinstein <rafaelw@chromium.org>
+
+ HTMLStackItem should include <template> as a special tag
+ https://bugs.webkit.org/show_bug.cgi?id=113016
+
+ Reviewed by Eric Seidel.
+
+ New test added to html5lib suite.
+
+ * html/parser/HTMLStackItem.h:
+ (WebCore::HTMLStackItem::isSpecialNode):
+
+2013-03-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Distinguish breakpoints and breakpoint locations in BreakpointManager API
+ https://bugs.webkit.org/show_bug.cgi?id=113311
+
+ Reviewed by Pavel Feldman.
+
+ Made independent handling of breakpoints and breakpoint location in breakpoint manager consistent.
+ JavaScriptSourceFrame now removes breakpoints originally set in it based on primary UI location.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
+ (WebInspector.BreakpointManager.prototype.allBreakpoints):
+ (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
+ (WebInspector.BreakpointManager.prototype.allBreakpointLocations):
+ (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
+ (WebInspector.BreakpointManager.prototype._projectWillReset):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype.onUISourceCodeContentChanged):
+ (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
+ (WebInspector.JavaScriptSourceFrame.prototype._removeAllBreakpoints):
+
+2013-03-26 Dmitry Zvorygin <zvorygin@chromium.org>
+
+ Web Inspector: Remove remainings of CSS-based console message filtering.
+ https://bugs.webkit.org/show_bug.cgi?id=112710
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.get this):
+ (WebInspector.ConsoleView.prototype.):
+ (WebInspector.ConsoleView.prototype.filter):
+ (WebInspector.ConsoleView.prototype._consoleMessageAdded):
+ (WebInspector.ConsoleView.prototype._appendConsoleMessage):
+ (WebInspector.ConsoleView.prototype._consoleCleared):
+ (WebInspector.ConsoleView.prototype._shouldBeVisible):
+ (WebInspector.ConsoleView.prototype._updateMessageList):
+ (WebInspector.ConsoleView.prototype._promptKeyDown):
+ (WebInspector.ConsoleView.prototype._printResult):
+ (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
+ * inspector/front-end/inspector.css:
+ (.console-debug-level.repeated-message):
+
+2013-03-26 Peter Rybin <prybin@chromium.org>
+
+ Web Inspector: refactor code duplication: WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements
+ https://bugs.webkit.org/show_bug.cgi?id=113211
+
+ Reviewed by Yury Semikhatsky.
+
+ A new method WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements is added and used
+ from 2 sites.
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertiesSection.prototype.update.callback):
+ (WebInspector.ObjectPropertiesSection.prototype.update):
+ (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
+ (.callback):
+ (WebInspector.ObjectPropertyTreeElement.populate):
+ (WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements):
+ * inspector/front-end/WatchExpressionsSidebarPane.js:
+ (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
+ (WebInspector.WatchExpressionsSection.prototype.update):
+
+2013-03-26 Christophe Dumez <ch.dumez@sisa.samsung.com>
+
+ HTTPHeaderMap::copyData() could call uncheckedAppend()
+ https://bugs.webkit.org/show_bug.cgi?id=113279
+
+ Reviewed by Alexey Proskuryakov.
+
+ HTTPHeaderMap::copyData() calls reserveInitialCapacity() on the Vector
+ but then appends items using append() function. Since we already know
+ the capacity is sufficient, it is more efficient to call uncheckedAppend()
+ instead to bypass capacity checks.
+
+ No new tests, no behavior change for layout tests.
+
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::copyData):
+
+2013-03-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: UISourceCodes are leaking on reload sometimes.
+ https://bugs.webkit.org/show_bug.cgi?id=113310
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
+ (WebInspector.BreakpointManager.prototype._projectWillReset):
+ * inspector/front-end/ConsoleModel.js:
+ (WebInspector.ConsoleModel.prototype.clearMessages):
+
+2013-03-26 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Elements] Unable to "Edit as HTML" XHTML/SVG documents.
+ https://bugs.webkit.org/show_bug.cgi?id=113290
+
+ Reviewed by Pavel Feldman.
+
+ DOMPatchSupport has been slightly augmented to handle XML (XHTML and SVG) documents.
+
+ Test: inspector/elements/set-outer-html-for-xhtml.xhtml
+
+ * inspector/DOMPatchSupport.cpp:
+ (WebCore::DOMPatchSupport::patchDocument):
+ (WebCore::DOMPatchSupport::patchNode):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::setOuterHTML): Let HTML, XHTML, and SVG documents through.
+
+2013-03-26 Hajime Morrita <morrita@google.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=113164
+ Custom Elements: readyCallback should be called for outerHTML and insertAdjecentHTML
+
+ These APIs also create new elements thus should have V8DeliverCustomElementCallbacks attribute.
+
+ Reviewed by Dimitri Glazkov.
+
+ Test: Updated lifecycle-ready-creation-api.html.
+
+ * html/HTMLElement.idl:
+
+2013-03-26 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed. WebInspector: remove unnecessary method.
+
+ * inspector/front-end/OverviewGrid.js:
+ (WebInspector.OverviewGrid.Window):
+
+2013-03-22 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Scroll dividers together with underlying chart.
+ http://bugs.webkit.org/show_bug.cgi?id=113080
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.Calculator.prototype.grandMinimumBoundary):
+ (WebInspector.FlameChart.prototype._canvasDragging):
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.updateDividers):
+
+2013-03-26 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Scroll dividers together with underlying chart.
+ http://bugs.webkit.org/show_bug.cgi?id=113080
+
+ Reviewed by Pavel Feldman.
+
+ The only thing we need to do for this feature is to automatically adjust
+ the initial offset for the dividers. I measured the speed of scrolling and found
+ no difference. The speed is about 16ms so we have 60fps on dragging.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.Calculator.prototype.grandMinimumBoundary):
+ (WebInspector.FlameChart.OverviewCalculator.prototype.grandMinimumBoundary):
+ (WebInspector.FlameChart.prototype._canvasDragging):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkBaseCalculator.prototype.grandMinimumBoundary):
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.updateDividers):
+ (WebInspector.TimelineGrid.Calculator.prototype.grandMinimumBoundary):
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewCalculator.prototype.grandMinimumBoundary):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelineCalculator.prototype.grandMinimumBoundary):
+
+2013-03-26 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Experiment with 'base-uri' directive.
+ https://bugs.webkit.org/show_bug.cgi?id=113307
+
+ Reviewed by Jochen Eisinger.
+
+ The 'base-uri' directive was introduced[1] as an experimental directive
+ in CSP 1.1 after a bit of discussion[2][3]. The exact semantics will
+ likely change, but it would be good for us to get some implementation
+ experience with the API as currently specified, and to allow folks to
+ play with the implementation to determine whether it meets the
+ requirements the way we think it might.
+
+ This patch is a first pass at that implementation: it will have no
+ effect on ports that haven't enabled the CSP_NEXT flag.
+
+ [1]: https://dvcs.w3.org/hg/content-security-policy/rev/4b89c246ea16
+ [2]: http://lists.w3.org/Archives/Public/public-webappsec/2012Oct/0022.html
+ [3]: http://lists.w3.org/Archives/Public/public-webappsec/2013Feb/0074.html
+
+ Tests: http/tests/security/contentSecurityPolicy/1.1/base-uri-allow.html
+ http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::processBaseElement):
+ Check that the new base URI is allowed by CSP before using it as
+ the document's base URI.
+ * page/ContentSecurityPolicy.cpp:
+ Add a constant for the new directive name (and, as a drive-by, split
+ the list into CSP 1.0 and CSP 1.1 for clarity).
+ (CSPDirectiveList):
+ Add a property to hold the base URI policy directive value.
+ (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
+ Customize the error message iff we're dealing with 'base-uri'.
+ (WebCore::CSPDirectiveList::allowBaseURI):
+ Check the given URI against the 'base-uri' directive's value,
+ exactly as we do for every other source-list type of directive.
+ (WebCore::CSPDirectiveList::addDirective):
+ Accept 'base-uri' as a valid directive iff CSP_NEXT is set, and
+ the embedder has opted-in via the runtime flag.
+ (WebCore::ContentSecurityPolicy::allowBaseURI):
+ Expose an API method on ContentSecurityPolicy to check URIs against
+ the 'base-uri' directive's value.
+
+2013-03-26 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Main frame fixed divs not positioned correctly
+ https://bugs.webkit.org/show_bug.cgi?id=112889
+
+ Reviewed by Carlos Garcia Campos.
+
+ PR 283363
+
+ This was a regression from bug #112806. It caused main frame fixed
+ handling to enter the iframe/scrollable div code path in LayerRenderer.
+
+ Fixed by not setting the container for fixed flag on the main frame,
+ the LayerRenderer expects this flag to be set only on non-mainframe
+ containers.
+
+ Only manually testable.
+
+ * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:
+ (WebCore::scrollLayerForFrame):
+ (WebCore):
+ (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsContainerForFixedPositionLayers):
+ (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsFixedToContainerLayer):
+
+2013-03-26 Christophe Dumez <ch.dumez@sisa.samsung.com>
+
+ FormData::deepCopy() could use Vector::uncheckedAppend()
+ https://bugs.webkit.org/show_bug.cgi?id=113309
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ FormData::deepCopy() calls reserveInitialCapacity() on the Vector but then uses the
+ regular append() method. This patch switches to using uncheckedAppend() method
+ instead to bypass capacity checks as we already know it is sufficient.
+
+ No new tests, no behavior change.
+
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::deepCopy):
+
+2013-03-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146879.
+ http://trac.webkit.org/changeset/146879
+ https://bugs.webkit.org/show_bug.cgi?id=113312
+
+ Multiple layout test crashes in
+ WebCore::RenderListItem::updateListMarkerNumbers (Requested by
+ yurys on #webkit).
+
+ * dom/Node.cpp:
+ * dom/Node.h:
+ (Node):
+ * dom/NodeTraversal.cpp:
+ * dom/NodeTraversal.h:
+ (ElementTraversal):
+ (NodeTraversal):
+ * html/HTMLLIElement.cpp:
+ (WebCore::HTMLLIElement::attach):
+ * html/HTMLOListElement.cpp:
+ (WebCore::HTMLOListElement::updateItemValues):
+ (WebCore::HTMLOListElement::recalculateItemCount):
+ * rendering/RenderCounter.cpp:
+ (WebCore::previousInPreOrder):
+ (WebCore::previousSiblingOrParent):
+ (WebCore::parentElement):
+ (WebCore::nextInPreOrder):
+ * rendering/RenderListItem.cpp:
+ (WebCore::enclosingList):
+ (WebCore::RenderListItem::nextListItem):
+ (WebCore::previousListItem):
+ (WebCore::RenderListItem::calcValue):
+ (WebCore::RenderListItem::explicitValueChanged):
+ (WebCore::previousOrNextItem):
+ (WebCore::RenderListItem::updateListMarkerNumbers):
+ * rendering/RenderListItem.h:
+ (RenderListItem):
+
+2013-03-26 Hajime Morrita <morrita@google.com>
+
+ remoeveAllEventListeners() should be called to shadow trees
+ https://bugs.webkit.org/show_bug.cgi?id=113037
+
+ Reviewed by Dimitri Glazkov.
+
+ Document::removeAllEventListeners() doesn't traverse shadow tree, but we should.
+ This change override Element::removeAllEventListeners() so that it cleans its shadow trees up.
+
+ Test: fast/dom/shadow/shadow-tree-listener-clearance.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::removeAllEventListeners):
+ (WebCore):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementShadow.cpp:
+ (WebCore::ElementShadow::removeAllEventListeners): Added.
+ (WebCore):
+ * dom/ElementShadow.h:
+ (ElementShadow):
+
+2013-03-26 Andrei Bucur <abucur@adobe.com>
+
+ Use DOM ordering for list counts
+ https://bugs.webkit.org/show_bug.cgi?id=110352
+
+ Reviewed by Elliott Sprehn.
+
+ Currently the list items ordering is made by traversing the render tree. This gives bad results for:
+ - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
+ - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
+ list so the numbering gets broken.
+
+ To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
+ so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
+ namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
+ for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
+ pre-order traversal methods aware of the pseudo-elements.
+ An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
+ no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
+ first parent of the <li> or the shadow root if there is no ancestor.
+ The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
+ To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
+ of this method. The CSS counters and the list items now have the same traversal algorithm.
+
+ In later patches I'll add tests that should cover the regions and shadow DOM use cases.
+ Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
+ Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975
+
+ Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
+ and fast/dom/shadow/shadow-and-list-elements.html
+
+ * dom/Node.cpp:
+ (WebCore::Node::pseudoAwarePreviousSibling):
+ (WebCore):
+ (WebCore::Node::pseudoAwareNextSibling):
+ (WebCore::Node::pseudoAwareFirstChild):
+ (WebCore::Node::pseudoAwareLastChild):
+ * dom/Node.h:
+ (Node):
+ * dom/NodeTraversal.cpp:
+ (WebCore):
+ (WebCore::NodeTraversal::previousIncludingPseudo):
+ (NodeTraversal):
+ (WebCore::NodeTraversal::nextIncludingPseudo):
+ (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
+ * dom/NodeTraversal.h:
+ (ElementTraversal):
+ (NodeTraversal):
+ (WebCore::ElementTraversal::previousIncludingPseudo):
+ (WebCore::ElementTraversal::nextIncludingPseudo):
+ (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
+ (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
+ * html/HTMLLIElement.cpp:
+ (WebCore::HTMLLIElement::attach):
+ * html/HTMLOListElement.cpp:
+ (WebCore::HTMLOListElement::updateItemValues):
+ (WebCore::HTMLOListElement::recalculateItemCount):
+ * rendering/RenderCounter.cpp:
+ (WebCore::previousInPreOrder):
+ (WebCore::previousSiblingOrParent):
+ (WebCore::parentElement):
+ (WebCore::nextInPreOrder):
+ * rendering/RenderListItem.cpp:
+ (WebCore):
+ (WebCore::enclosingList):
+ (WebCore::RenderListItem::nextListItem):
+ (WebCore::previousListItem):
+ (WebCore::RenderListItem::calcValue):
+ (WebCore::RenderListItem::explicitValueChanged):
+ (WebCore::previousOrNextItem):
+ (WebCore::RenderListItem::updateListMarkerNumbers):
+ * rendering/RenderListItem.h:
+ (RenderListItem):
+
+2013-03-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Poor rounding in GraphicsContext::drawLineForText
+ https://bugs.webkit.org/show_bug.cgi?id=113301
+
+ Reviewed by Jocelyn Turcotte.
+
+ Round the position of the line decoration, so lines on subpixel
+ coordinates are not always rounded up.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::drawLineForText):
+
+2013-03-26 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Decorations in several consecutive lines are not moved correctly in DTE.
+ https://bugs.webkit.org/show_bug.cgi?id=113296
+
+ Reviewed by Pavel Feldman.
+
+ Separated removing and adding decorations so that moved decorations are not removed when next line is processed.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorGutterPanel.prototype.textChanged):
+
+2013-03-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Remove references to non-chromium entries from WebCore.gypi (part 2)
+ https://bugs.webkit.org/show_bug.cgi?id=103124
+
+ Reviewed by Pavel Feldman.
+
+ * WebCore.gypi: removed unused references to gtk, cf, win and mac
+
+2013-03-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146767.
+ http://trac.webkit.org/changeset/146767
+ https://bugs.webkit.org/show_bug.cgi?id=113295
+
+ Rolling out until nicer fonts / sizes are chosen (Requested by
+ pfeldman on #webkit).
+
+ * inspector/front-end/dataGrid.css:
+ (.data-grid table):
+ (.data-grid td):
+ * inspector/front-end/inspector.css:
+ (.toolbar-label):
+ (body.show-toolbar-icons .toolbar-label):
+ (.console-message .bubble):
+ (li .status .bubble):
+ (.source-frame-breakpoint-message):
+ (.soft-context-menu):
+ (.drawer-header-close-button):
+ * inspector/front-end/inspectorCommon.css:
+ (body):
+ * inspector/front-end/networkLogView.css:
+ (.network-log-grid.data-grid td):
+ (.network-log-grid.data-grid.small td):
+ * inspector/front-end/tabbedPane.css:
+ (.tabbed-pane-header-tab):
+ (.tabbed-pane-header-tab-close-button):
+ * inspector/front-end/timelinePanel.css:
+ (.timeline-tree-item .count):
+ (.timeline-records-stats, .storage-application-cache-status, .storage-application-cache-connectivity):
+ (.memory-counter-sidebar-info):
+ (.memory-counter-value):
+
+2013-03-26 Arpita Bahuguna <a.bah@samsung.com>
+
+ Unable to insert a paragraph in between some text whose previous sibling is a non-editable block.
+ https://bugs.webkit.org/show_bug.cgi?id=113007
+
+ Reviewed by Ryosuke Niwa.
+
+ Unable to insert a line break in between a text that follows a
+ non-editable block but is itself contained within an editable
+ block.
+
+ While comparing the positions from the start block till the
+ insertion position, we should ignore the nodes that do not
+ generate a visiblePosition for the position before the node.
+ This ultimately results in an assert within comparePositions().
+
+ For this case, the firstChild of the start block is a text
+ node with no renderer which would thus not generate a candidate
+ position for itself.
+ There is also no candidate previous to it, and since
+ the position after it lies within a different editable element (root),
+ no candidate after it as well.
+ Such a point will thus return a null visiblePosition.
+
+ Test: editing/inserting/insert-paragraph-between-text.html
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+ Added a check to verify the generated visiblePosition (for the
+ position before the node) prior to carrying out a comparison with
+ the insertion point.
+
+2013-03-26 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: OverviewGrid. Dragged window may change its width due to accumulating rounding error.
+ https://bugs.webkit.org/show_bug.cgi?id=113138
+
+ Reviewed by Pavel Feldman.
+
+ The old version had problem with rounding because it recalculates the window size on each event.
+ The new version just calculates the dragging delta and moves the window
+ to the new position based on the initial values and the delta.
+
+ * inspector/front-end/OverviewGrid.js:
+ (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
+ (WebInspector.OverviewGrid.Window.prototype._windowDragging):
+ (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
+
+2013-03-26 Kent Tamura <tkent@chromium.org>
+
+ Rename HTMLInputElement::isIndeterminate to Element::shouldAppearIndeterminate
+ https://bugs.webkit.org/show_bug.cgi?id=113264
+
+ Reviewed by Kentaro Hara.
+
+ HTMLInputElement had indeterminate() and isIndeterminate(). It's very
+ confusing.
+
+ Because indeterminate is a public DOM function and isIndeterminate is
+ for CSS and rendering, we rename isIndetermiante to
+ shouldAppearIndeterminate. Also, HTMLProgressElement, which support
+ :indeterminate pseudo class, should follow it. We add
+ shouldAppearIndeterminate to Element.
+
+ No new tests. Just a refactoring.
+
+ * dom/Element.cpp:
+ (WebCore::Element::shouldAppearIndeterminate): Added. Returns false.
+ * dom/Element.h:
+ (Element): Declare shouldAppearIndeterminate.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::shouldAppearIndeterminate):
+ Renamed from isIndeterminate.
+ * html/HTMLInputElement.h:
+ (HTMLInputElement): Rename isIndeterminate to shouldAppearIndeterminate,
+ and overrides Element::shouldAppearIndeterminate.
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::shouldAppearIndeterminate): Added.
+ * html/HTMLProgressElement.h: Add shouldAppearIndeterminate.
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::isIndeterminate):
+ Use shouldAppearIndeterminate.
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOne): Ditto.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::canShareStyleWithControl): Ditto.
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::isIndeterminate): Ditto.
+
+2013-03-26 Pan Deng <pan.deng@intel.com>
+
+ Web Inspector: [FlameChart] Make function bar highlighted consistent with cursor.
+ https://bugs.webkit.org/show_bug.cgi?id=113266.
+
+ Reviewed by Vsevolod Vlasov.
+
+ In Flamechart, the highlighted function bar is not consistent with cursor sometimes,
+ reason is that time range that converted from cursor position is truncated by floor.
+ Actually float value is expected to compare with function startTime and duration.
+
+ No new tests.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.prototype._coordinatesToNodeIndex): Remove floor
+
+2013-03-26 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSSRegions]: Crash accessing offsetParent for contentNodes inside a flow thread
+ https://bugs.webkit.org/show_bug.cgi?id=112730
+
+ Reviewed by Levi Weintraub.
+
+ When computing the offsetParent for an element inside a flow thread, do not
+ let the algorithm process past the flow thread boundaries, until we figure out
+ the proper behavior. When reaching the flow thread, offsetParent will return 0,
+ thus preventing the assert while calling toElement inside Element::offsetParent.
+
+ The attached test sets the ground work and will be changed to match the right behavior.
+ For now, it makes sure we do not crash or return HTMLDocument as offsetParent for
+ elements inside the flow thread.
+
+ Test: fast/regions/offsetParent-in-flow-thread.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::offsetParent):
+
+2013-03-26 Dominik Röttsches <dominik.rottsches@intel.com>
+
+ Remove HarfBuzzShaperBase
+ https://bugs.webkit.org/show_bug.cgi?id=112087
+
+ Reviewed by Martin Robinson.
+
+ Folding HarfBuzzShaperBase into HarfBuzzShaper since
+ there is no harfbuzz-old vs. harfbuzz-ng distinction anymore.
+
+ No new tests, no change in behavior.
+
+ * GNUmakefile.list.am: Removing HarfBuzzShaperBase.*
+ * PlatformEfl.cmake: Removing HarfBuzzShaperBase.*
+ * WebCore.gypi: Removing HarfBuzzShaperBase.*
+ * platform/graphics/harfbuzz/HarfBuzzShaper.cpp: Folding base class members and methods into HarfBuzzShaper.
+ (WebCore::HarfBuzzShaper::HarfBuzzShaper):
+ (WebCore::normalizeSpacesAndMirrorChars):
+ (WebCore):
+ (WebCore::HarfBuzzShaper::setNormalizedBuffer):
+ (WebCore::HarfBuzzShaper::isWordEnd):
+ (WebCore::HarfBuzzShaper::determineWordBreakSpacing):
+ (WebCore::HarfBuzzShaper::setPadding):
+ * platform/graphics/harfbuzz/HarfBuzzShaper.h: Folding base class members and methods into HarfBuzzShaper.
+ (HarfBuzzShaper):
+ (WebCore::HarfBuzzShaper::isCodepointSpace):
+ * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: Removed.
+ * platform/graphics/harfbuzz/HarfBuzzShaperBase.h: Removed.
+
+2013-03-22 Hajime Morrita <morrita@google.com>
+
+ Listening touch events on ShadowRoot can crash.
+ https://bugs.webkit.org/show_bug.cgi?id=113035
+
+ Reviewed by Kentaro Hara.
+
+ TreeScope destructor clears a document reference on ShadowRoot but
+ destructors of ContainerNode and Node assumed it being available
+ and tried to access it for some cleanup purposes.
+
+ This change extracts such cleanup to Node::willBeDeletedFrom() and
+ calls it from ShadowRoot dtor before the document reference gets cleared.
+
+ Test: fast/dom/shadow/shadow-root-touch-listener-crash.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::~ContainerNode): Adopted willBeDeletedFrom()
+ * dom/Node.cpp:
+ (WebCore::Node::~Node): Adopted willBeDeletedFrom()
+ (WebCore::Node::willBeDeletedFrom): Extracted from Node and ContainerNode
+ (WebCore):
+ * dom/Node.h:
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::~ShadowRoot): Adopted willBeDeletedFrom()
+
+2013-03-25 Hajime Morrita <morrita@google.com>
+
+ Custom Elements Refactoring: The name V8CustomElement is confusing.
+ https://bugs.webkit.org/show_bug.cgi?id=113165
+
+ Reviewed by Kent Tamura.
+
+ This change moves functions from V8CustomElement to CustomElementHelpers and
+ removes V8CustomElement. V8CustomElement is just a heritage of old design
+ and no longer makes sense.
+
+ No new tests. No behavior change.
+
+ * WebCore.gypi:
+ * bindings/v8/CustomElementHelpers.cpp:
+ (WebCore::CustomElementHelpers::createWrapper):
+ (WebCore):
+ * bindings/v8/CustomElementHelpers.h:
+ (CustomElementHelpers):
+ (WebCore::CustomElementHelpers::wrap):
+ (WebCore):
+ (WebCore::CustomElementHelpers::constructorOf):
+ * bindings/v8/V8CustomElement.cpp: Removed.
+ * bindings/v8/V8CustomElement.h: Removed.
+ * bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
+ (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
+ * dom/make_names.pl:
+ (printWrapperFactoryCppFile):
+
+2013-03-25 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Timeline] Records sidebar is clipped.
+ https://bugs.webkit.org/show_bug.cgi?id=113177
+
+ Reviewed by Pavel Feldman.
+
+ Analysis: depending on CSS injection order sidebar rule that overwrites
+ "bottom" property may win.
+
+ Fix: make timeline-specific rule "important".
+
+ * inspector/front-end/timelinePanel.css:
+ (.timeline .sidebar): Make "bottom" value "important".
+
+2013-03-25 Kent Tamura <tkent@chromium.org>
+
+ Rename ENABLE_INPUT_TYPE_DATETIME
+ https://bugs.webkit.org/show_bug.cgi?id=113254
+
+ Reviewed by Kentaro Hara.
+
+ Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
+ Actually I'd like to remove the code, but we shouldn't remove it yet
+ because we shipped products with it on some platforms.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (RuntimeEnabledFeatures):
+ * css/html.css:
+ * html/DateTimeInputType.cpp:
+ * html/DateTimeInputType.h:
+ * html/InputType.cpp:
+ (WebCore::createInputTypeFactoryMap):
+
+2013-03-25 Timothy Hatcher <timothy@apple.com>
+
+ Make the Web Inspector console work in strict mode with JavaScriptCore.
+
+ https://webkit.org/b/65829
+ rdar://problem/11271238
+
+ Reviewed by Oliver Hunt.
+
+ * bindings/js/JSInjectedScriptHostCustom.cpp:
+ (WebCore::JSInjectedScriptHost::evaluate):
+ Return the evalFunction directly.
+
+ * inspector/InjectedScriptHost.h:
+ (WebCore::InjectedScriptHost::evaluateReturnsEvalFunction):
+ Added. Return true on JSC and false on V8.
+
+ * inspector/InjectedScriptHost.idl:
+ Added evaluateReturnsEvalFunction and change evaluate to an attribute on JSC.
+
+ * inspector/InjectedScriptSource.js:
+ (InjectedScript.prototype._evaluateOn): Change from using 'with' statements to creating
+ a closure that evaluates the expression. The command line APIs are passed as parameters
+ to the closure so they are in scope but not injected. This allows the code evaluated in
+ the console to stay in strict mode (if is was already set), or to get strict mode by
+ prefixing expressions with 'use strict';.
+
+2013-03-25 Tony Chang <tony@chromium.org>
+
+ Image alt text not included in plain-text version when copying
+ https://bugs.webkit.org/show_bug.cgi?id=11200
+
+ Reviewed by Ryosuke Niwa.
+
+ Add a setting to enable copying image alt text to the clipboard and drag and drop pasteboard.
+ This setting is disabled by default, so each port can enable if they want to match IE10 and
+ Firefox's behavior.
+
+ Test: editing/pasteboard/copy-image-with-alt-text.html
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::cut): Explicitly ask that the selection on the pasteboard as being for the clipboard.
+ (WebCore::Editor::copy): Explicitly ask that the selection on the pasteboard as being for the clipboard.
+ (WebCore::Editor::selectedText): Add a private version of selectedText() that can choose between having image alt text or not.
+ (WebCore::Editor::selectedTextForClipboard): Ask for image alt text if the setting is enabled.
+ * editing/Editor.h:
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::TextIterator): Add a bool to keep track of whether or not to emit image alt text.
+ (WebCore::TextIterator::handleReplacedElement): If there's alt text, point the iterator to it.
+ * editing/TextIterator.h:
+ (TextIterator):
+ * editing/mac/EditorMac.mm:
+ (WebCore::Editor::takeFindStringFromSelection): Use the same text as on the clipboard.
+ (WebCore::Editor::writeSelectionToPasteboard): Don't include image alt text since this is
+ used by Services.
+ (WebCore::Editor::stringSelectionForPasteboard): Don't include image alt text since this is
+ used by Services.
+ * page/DragController.cpp:
+ (WebCore::DragController::startDrag): Use image alt text (matches Firefox).
+ * page/Settings.in: Add a setting that disables image alt text by default.
+ * platform/Pasteboard.h:
+ * platform/blackberry/PasteboardBlackBerry.cpp:
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::writeRange): Use clipboard text when writing ranges (used by d&d).
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * platform/efl/PasteboardEfl.cpp:
+ (WebCore::Pasteboard::writeSelection): Update function param.
+ * platform/gtk/ClipboardGtk.cpp:
+ (WebCore::ClipboardGtk::writeRange): Use clipboard text when writing ranges (used by d&d).
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::ClipboardMac::writeRange): Use clipboard text when writing ranges (used by d&d).
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::Pasteboard::getStringSelection): Use ShouldSerializeSelectedTextForClipboard to determine whether the selected
+ text is for the clipboard or not.
+ (WebCore::Pasteboard::writeSelectionForTypes): Pass ShouldSerializeSelectedTextForClipboard through.
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::writeRange): Use clipboard text when writing ranges (used by d&d).
+ * platform/qt/PasteboardQt.cpp:
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::writeRange): Use clipboard text when writing ranges (used by d&d).
+ * platform/win/PasteboardWin.cpp:
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * platform/wince/PasteboardWinCE.cpp:
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * platform/wx/PasteboardWx.cpp:
+ (WebCore::Pasteboard::writeSelection): Add ShouldSerializeSelectedTextForClipboard parameter.
+ * rendering/RenderImage.h:
+ (WebCore::RenderImage::altText): Add a getter for the alt text.
+
+2013-03-25 Dean Jackson <dino@apple.com>
+
+ Remove autostart hashing code from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=113242
+
+ Reviewed by Tim Horton.
+
+ Remove PlugInOriginHash and all the related build entries.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTMLPlugInImageElement.cpp:
+ * plugins/PlugInOriginHash.cpp: Removed.
+ * plugins/PlugInOriginHash.h: Removed.
+
+2013-03-25 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed. Wrong place to enable RuntimeEnabledFeature for Windows.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+
+2013-03-25 James Robinson <jamesr@chromium.org>
+
+ [chromium] Support GraphicsLayer::setContentsToSolidColor
+ https://bugs.webkit.org/show_bug.cgi?id=104396
+
+ Reviewed by Adrienne Walker.
+
+ This enables and implements the GraphicsLayer::setContentsToSolidColor
+ path for Chromium.
+
+ Tested by reftests in compositing/background-color/ and several other
+ compositing/ tests.
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::supportsBackgroundColorContent):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setContentsToSolidColor):
+ (WebCore):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ (WebKit):
+ (GraphicsLayerChromium):
+
+2013-03-25 Victor Carbune <vcarbune@chromium.org>
+
+ TextTrack Extension for WebVTT Regions
+ https://bugs.webkit.org/show_bug.cgi?id=109820
+
+ Reviewed by Eric Carlson.
+
+ Implemented the TextTrackRegionList and extended TextTrack with
+ methods required for proper interaction with TextTrackRegion objects.
+
+ Test: media/track/regions-webvtt/text-track-region-list.html
+
+ * WebCore.gypi: Added files for proper building of TextTrackRegionList.
+ * html/track/TextTrack.cpp:
+ (WebCore::TextTrack::TextTrack):
+ (WebCore):
+ (WebCore::TextTrack::ensureTextTrackRegionList): Method for creating a
+ TextTrackRegionList associated with the current track, if it does exist
+ already.
+ (WebCore::TextTrack::regions): Getter for the regions object.
+ (WebCore::TextTrack::addRegion): Method for adding a region.
+ (WebCore::TextTrack::removeRegion): Method for removing a region.
+ * html/track/TextTrack.h:
+ (WebCore):
+ (TextTrack):
+ * html/track/TextTrack.idl: Added methods specific for region handling.
+ * html/track/TextTrackRegion.cpp:
+ (WebCore::TextTrackRegion::TextTrackRegion): Initialized the track member variable.
+ (WebCore::TextTrackRegion::setTrack): Added internal setter for the track attribute.
+ (WebCore):
+ (WebCore::TextTrackRegion::updateParametersFromRegion): Method to copy the parameters
+ from a different region object.
+ * html/track/TextTrackRegion.h: Added track member variable and copy method.
+ (WebCore::TextTrackRegion::track): Getter retrieves now the member variable.
+ (TextTrackRegion):
+ * html/track/TextTrackRegionList.cpp: Implemented methods required by the IDL.
+ (WebCore):
+ (WebCore::TextTrackRegionList::TextTrackRegionList):
+ (WebCore::TextTrackRegionList::length):
+ (WebCore::TextTrackRegionList::item):
+ (WebCore::TextTrackRegionList::getRegionById):
+ (WebCore::TextTrackRegionList::add):
+ (WebCore::TextTrackRegionList::remove):
+ (WebCore::TextTrackRegionList::clear):
+ * html/track/TextTrackRegionList.h:
+ (WebCore):
+ (TextTrackRegionList):
+ (WebCore::TextTrackRegionList::create):
+ (WebCore::TextTrackRegionList::~TextTrackRegionList):
+ * html/track/TextTrackRegionList.idl: IDL defined by the specification.
+
+2013-03-25 Dean Jackson <dino@apple.com>
+
+ Cleanup plugin snapshotting autostart decision making
+ https://bugs.webkit.org/show_bug.cgi?id=113231
+
+ Reviewed by Tim Horton.
+
+ Move the code that creates a hash of plugin origin info
+ out of WebCore. All WebCore needs to do now is simply ask its
+ host layer whether or not a tuple of (pluginOrigin, pageOrigin, mimeType)
+ should autostart or not.
+
+ As a drive-by, the code in subframeLoaderWillCreatePlugIn was not quite
+ restarting properly when the displayState was Restarting or
+ RestartingWithPendingMouseClick. It still worked most of the time, but usually
+ because the code ran soon after a mouse click. Now it should be explicit and
+ also allowed us to be more clear about snapshotting at the end of the method.
+
+ * html/HTMLPlugInElement.h: No more pluginOriginHash().
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Change signature to accept the tuple
+ described above, and compare strings rather than hashes.
+ (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Tell host layer the origin
+ info rather than hash info.
+ (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Remember the url that
+ the plugin was loaded from. Make some of the logging messages more clear. Test for
+ plugin and page origin rather than hash.
+ * html/HTMLPlugInImageElement.h:
+ (WebCore::HTMLPlugInImageElement::loadedUrl): New loadedURL member function.
+ * page/PlugInClient.h:
+ (PlugInClient): Change signature of virtual class to accept origin and mimeType info
+ rather than hash.
+
+2013-03-25 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146793.
+ http://trac.webkit.org/changeset/146793
+ https://bugs.webkit.org/show_bug.cgi?id=113248
+
+ Fix did not work (Requested by rfong on #webkit).
+
+ * bindings/scripts/preprocessor.pm:
+ (applyPreprocessor):
+
+2013-03-25 Brandon Jones <bajones@google.com>
+
+ WEBGL_compressed_texture_pvrtc needs implementation
+ https://bugs.webkit.org/show_bug.cgi?id=110497
+
+ Reviewed by Kenneth Russell.
+
+ Test: webgl/conformance/extensions/webgl-compressed-texture-pvrtc.html
+
+ Exposes the WEBGL_compressed_texture_pvrtc extension, but is unverified since no desktop hardware supports
+ the format that I am aware of. Should enable mobile ports to expose the format, however.
+
+ * 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/WebGLCompressedTexturePVRTC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
+ (WebCore):
+ (WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
+ (WebCore::WebGLCompressedTexturePVRTC::~WebGLCompressedTexturePVRTC):
+ (WebCore::WebGLCompressedTexturePVRTC::getName):
+ (WebCore::WebGLCompressedTexturePVRTC::create):
+ (WebCore::WebGLCompressedTexturePVRTC::supported):
+ * html/canvas/WebGLCompressedTexturePVRTC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
+ (WebCore):
+ (WebGLCompressedTexturePVRTC):
+ * html/canvas/WebGLCompressedTexturePVRTC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
+ * html/canvas/WebGLExtension.h:
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
+ (WebCore::WebGLRenderingContext::getExtension):
+ (WebCore::WebGLRenderingContext::getSupportedExtensions):
+ (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
+ * html/canvas/WebGLRenderingContext.h:
+ (WebCore):
+ (WebGLRenderingContext):
+
+2013-03-25 Roger Fong <roger_fong@apple.com>
+
+ Enable CSS_REGIONS and CSS_EXCLUSIONS.
+ https://bugs.webkit.org/show_bug.cgi?id=87519
+
+ Reviewed by Timothy Horton.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+
+2013-03-25 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Remove unused code from Frame class destructor
+ https://bugs.webkit.org/show_bug.cgi?id=113181
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests. No new functionality.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::~Frame):
+
+ Removed the code which could never have been executed
+ as m_view had been set to '0'.
+
+2013-03-25 Eric Seidel <eric@webkit.org>
+
+ Incorrect parsing due to hash collision
+ https://bugs.webkit.org/show_bug.cgi?id=113235
+
+ Reviewed by Adam Barth.
+
+ Test: fast/parser/tag-hash-collision.html
+
+ * html/parser/HTMLIdentifier.cpp:
+ (WebCore::HTMLIdentifier::findIndex):
+
+2013-03-25 Adenilson Cavalcanti <cavalcantii@gmail.com>
+
+ Compile without SVG will fail
+ https://bugs.webkit.org/show_bug.cgi?id=113234
+
+ Reviewed by Timothy Hatcher.
+
+ Only make the cast to SVGStyleElement if we have SVG support built.
+
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
+
+2013-03-25 Patrick Gansterer <paroga@webkit.org>
+
+ Enable STORE_FONT_CUSTOM_PLATFORM_DATA for all platforms
+ https://bugs.webkit.org/show_bug.cgi?id=108438
+
+ Reviewed by Andreas Kling.
+
+ Remove the conditional code so it is turned on for all platforms.
+
+ * loader/cache/CachedFont.cpp:
+ (WebCore::CachedFont::~CachedFont):
+ (WebCore::CachedFont::ensureCustomFontData):
+ (WebCore::CachedFont::platformDataFromCustomData):
+ (WebCore::CachedFont::allClientsRemoved):
+ (WebCore::CachedFont::reportMemoryUsage):
+
+2013-03-25 Eric Carlson <eric.carlson@apple.com>
+
+ REGRESSION(r146380): media/track/track-user-preferences.html
+ https://bugs.webkit.org/show_bug.cgi?id=113083
+
+ Reviewed by Jer Noble.
+
+ Ignore track change notifications triggered by automatic track selection so the
+ configuration is not changed.
+
+ No new tests, this fixes an existing test.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::configureTextTrackGroup): Clear m_processingPreferenceChange after all
+ track configuration is finished.
+ (WebCore::HTMLMediaElement::configureTextTrackDisplay): Do nothing if m_processingPreferenceChange
+ is true.
+
+2013-03-25 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] [gyp] Build the final piece of WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=113216
+
+ Reviewed by Nico Weber.
+
+ * WebCore.gyp/WebCoreGTK.gyp: Add the rest of the WebCore source files to the WebCore build target.
+
+2013-03-25 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] [gyp] Adding support for building WebCore rendering
+ https://bugs.webkit.org/show_bug.cgi?id=113213
+
+ Reviewed by Gustavo Noronha Silva.
+
+ * WebCore.gyp/WebCoreGTK.gyp: Build the rendering directory into a shared library.
+
+2013-03-25 Tony Chang <tony@chromium.org>
+
+ Remove TextIterator argumentless constructor
+ https://bugs.webkit.org/show_bug.cgi?id=113226
+
+ Reviewed by Ryosuke Niwa.
+
+ The TextIterator argumentless constructors are never used and wouldn't be useful
+ since you can't specify a range.
+
+ No new tests, removing dead code. There should be no behavior change.
+
+ * editing/TextIterator.cpp: Remove constructors.
+ * editing/TextIterator.h:
+ (TextIterator):
+ (SimplifiedBackwardsTextIterator):
+ (CharacterIterator):
+ (BackwardsCharacterIterator):
+ (WordAwareIterator):
+
+2013-03-25 Brandon Jones <bajones@chromium.org>
+
+ Enabled canvas.getContext("webgl") on Desktop Chrome
+ https://bugs.webkit.org/show_bug.cgi?id=113079
+
+ Reviewed by Dean Jackson.
+
+ Test: fast/canvas/webgl/webgl-unprefixed-context-id.html
+
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextMethodCustom):
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext):
+
+2013-03-25 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed. Remove some suspicious looking code in an attempt to fix EWS bots.
+
+ * bindings/scripts/preprocessor.pm:
+ (applyPreprocessor):
+
+2013-03-25 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] [gyp] Add support for building the platform directory
+ https://bugs.webkit.org/show_bug.cgi?id=113212
+
+ Reviewed by Nico Weber.
+
+ * WebCore.gyp/WebCoreGTK.gyp: Add support for building the platform directory including
+ two libraries, one for platform and one for geometry files. This follows the approach
+ of Chromium.
+
+2013-03-25 Jochen Eisinger <jochen@chromium.org>
+
+ Swap both the error and change event queue before processing fullscreen events
+ https://bugs.webkit.org/show_bug.cgi?id=113194
+
+ Reviewed by Jer Noble.
+
+ While processing the change events, not only new change events but
+ also new error events might get generated. However, for the timer, we
+ should only process preexisting events.
+
+ This is covered by fullscreen/full-screen-restrictions.html which times
+ out depending on the delay between requesting fullscreen and granting
+ fullscreen.
+
+ * dom/Document.cpp:
+ (WebCore::Document::fullScreenChangeDelayTimerFired):
+
+2013-03-25 Marja Hölttä <marja@chromium.org>
+
+ [V8] Generate specialized callbacks for the main world
+ https://bugs.webkit.org/show_bug.cgi?id=112430
+
+ Reviewed by Kentaro Hara.
+
+ The new specialized bindings will be faster, because they don't need to
+ do the "main world, isolated world or a worker" check, but can right
+ away assume that we're in the main world.
+
+ This patch generates main world bindings for getters and setters for a
+ small amount of frequently used functions / functions used by Dromaeo.
+
+ Added tests to TestObj.idl and updated bindings tests.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateOverloadedFunction):
+ (GenerateFunctionCallback):
+ (GenerateFunction):
+ (GenerateParametersCheck):
+ (GenerateSingleConstructorCallback):
+ (GenerateNonStandardFunction):
+ (GenerateImplementation):
+ (GenerateFunctionCallString):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetter):
+ (TestObjV8Internal):
+ (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterCallback):
+ (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::perWorldReadOnlyAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrGetterCallback):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterCallback):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::perWorldMethodMethod):
+ (WebCore::TestObjV8Internal::perWorldMethodMethodForMainWorld):
+ (WebCore::TestObjV8Internal::perWorldMethodMethodCallback):
+ (WebCore::TestObjV8Internal::perWorldMethodMethodCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethod1Method):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethod1MethodForMainWorld):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethod2Method):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethod2MethodForMainWorld):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethod):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodForMainWorld):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodCallback):
+ (WebCore::TestObjV8Internal::overloadedPerWorldMethodMethodCallbackForMainWorld):
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore):
+ * bindings/v8/V8DOMConfiguration.cpp:
+ (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
+ (WebCore::V8DOMConfiguration::configureTemplate):
+ * bindings/v8/V8DOMConfiguration.h:
+ (BatchedMethod):
+ (V8DOMConfiguration):
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * dom/Node.idl:
+ * page/DOMWindow.idl:
+
+2013-03-25 Daniel Cheng <dcheng@chromium.org>
+
+ Don't allow drags to start after a mouse press that creates a context menu
+ https://bugs.webkit.org/show_bug.cgi?id=112079
+
+ Reviewed by Tony Chang.
+
+ This appears to be the intent of the original code anyway (the comments in the corresponding
+ context menu handlers indicate that they set m_mousePressed to false in order to suppress
+ drags from starting). Since exact platform behavior differs quite a bit in this area, this
+ will also make the behavior more consistent across different WebKit implementations.
+
+ Manually testable using context-menu-during-drag-selection.html.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDraggedEvent):
+
+2013-03-25 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [Regression] Provisional breakpoints are not shown on reload.
+ https://bugs.webkit.org/show_bug.cgi?id=113210
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.prototype._restoreBreakpoints):
+ (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
+ (WebInspector.BreakpointManager.prototype._projectWillReset):
+ (WebInspector.BreakpointManager.prototype._breakpointResolved):
+ * inspector/front-end/utilities.js:
+
+2013-03-25 Sergey Ryazanov <serya@chromium.org>
+
+ Web Inspector: Remove console warnings for *_ prefixed CSS styles
+ https://bugs.webkit.org/show_bug.cgi?id=113175
+
+ Reviewed by Pavel Feldman.
+
+ Added separate error message for syntax CSS error in declaration list when no property detected.
+ Added filter for messages starting with '*'.
+
+ * css/CSSGrammar.y.in:
+
+2013-03-25 Alexis Hetu <sugoi@chromium.org>
+
+ Integration of the Skia displacement mapping into WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=112927
+
+ Reviewed by Stephen White.
+
+ Added displacement mapping to effect-reference.html and
+ effect-reference-hw.html
+
+ * WebCore.gypi:
+ * platform/graphics/filters/FEDisplacementMap.h:
+ (FEDisplacementMap):
+ Adding Skia specific declarations
+ * platform/graphics/filters/skia/FEDisplacementMapSkia.cpp: Added.
+ (WebCore):
+ (WebCore::toSkiaMode):
+ Provides conversion between the WebKit displacement mapping mode and
+ the Skia displacement mapping mode
+ (WebCore::FEDisplacementMap::platformApplySkia):
+ Displacement through the Skia API. (Accelerated only for now)
+ (WebCore::FEDisplacementMap::createImageFilter):
+ Displacement image filter creation through the Skia API.
+
+2013-03-25 Vladislav Kaznacheev <kaznacheev@chromium.org>
+
+ Web Inspector: Graduate some new Inspector APIs to public
+ https://bugs.webkit.org/show_bug.cgi?id=113176
+
+ Reviewed by Pavel Feldman.
+
+ Summary of changes:
+ DOM.highlightNode.nodeId: required parameter is now optional
+ Input: domain has been added
+ Runtime.enable: command has been added
+ Runtime.executionContextCreated: event has been added
+ Page.clearGeolocationOverride: command has been added
+ Page.setGeolocationOverride: command has been added
+ Page.captureScreenshot: command has been added
+ Debugger.setBreakpointByUrl.locations: optional response parameter is now required
+
+
+ * inspector/Inspector.json:
+
+2013-03-25 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: [Timeline] set glue records mode off by default
+ https://bugs.webkit.org/show_bug.cgi?id=113189
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/TimelinePanel.js: /glueRecordsSetting/s/true/false/
+
+2013-03-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ [EFL] Fix build break when media source is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=113143
+
+ Unreviewed. Build error needs to be fixed in order to start to implement
+ media source functionality.
+
+ * CMakeLists.txt:
+ * platform/efl/MIMETypeRegistryEfl.cpp:
+ (WebCore):
+ (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore):
+ (WebCore::MediaPlayerPrivateGStreamer::load):
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+ (MediaPlayerPrivateGStreamer):
+
+2013-03-25 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Toggling breakpoint with shortcut should be freezed as well while editing.
+ https://bugs.webkit.org/show_bug.cgi?id=113188
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame.prototype.toggleBreakpointOnCurrentLine):
+
+2013-03-25 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Remove unneeded code from JavaScriptSourceFrame.
+ https://bugs.webkit.org/show_bug.cgi?id=113182
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+
+2013-03-25 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Fonts refactoring
+ https://bugs.webkit.org/show_bug.cgi?id=113047
+
+ Reviewed by Pavel Feldman.
+
+ Unify fonts usage across inspector.
+ Make inspector default font depend on platform.
+
+ * inspector/front-end/dataGrid.css:
+ (.data-grid table):
+ (.data-grid td):
+ * inspector/front-end/inspector.css:
+ (.toolbar-label):
+ (body.show-toolbar-icons .toolbar-label):
+ (.console-message .bubble):
+ (li .status .bubble):
+ (.source-frame-breakpoint-message):
+ (.soft-context-menu):
+ * inspector/front-end/inspectorCommon.css:
+ (body):
+ * inspector/front-end/networkLogView.css:
+ (.network-log-grid.data-grid td):
+ (.network-log-grid.data-grid.small td):
+ * inspector/front-end/tabbedPane.css:
+ (.tabbed-pane-header-tab):
+ (select.tabbed-pane-header-tabs-drop-down-select):
+ * inspector/front-end/timelinePanel.css:
+ (.memory-counter-value):
+
+2013-03-25 Vladislav Kaznacheev <kaznacheev@chromium.org>
+
+ Web Inspector: Use generate-inspector-protocol-version to list valid public API changes
+ https://bugs.webkit.org/show_bug.cgi?id=113148
+
+ Added --show-changes command line option.
+ Used existing compare_schemas method to do a reverse compare.
+ Fixed a number of small problems (missing domain name in the message,
+ incorrect error messages for command parameters).
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/generate-inspector-protocol-version:
+ (named_list_to_map):
+ (removed):
+ (required):
+ (compare_schemas):
+ (compare_domains):
+ (compare_commands):
+ (compare_events):
+ (compare_params_list):
+ (compare_types):
+ (self_test):
+ (self_test.create_test_schema_1):
+ (self_test.create_test_schema_2):
+ (self_test.is_subset):
+ (self_test.errors_match):
+ (main):
+
+2013-03-25 Alec Flett <alecflett@chromium.org>
+
+ Support Quota API in Workers
+ https://bugs.webkit.org/show_bug.cgi?id=112972
+
+ Reviewed by Adam Barth.
+
+ Tests: fast/workers/shared-worker-storagequota-query-usage.html
+ fast/workers/worker-storagequota-query-usage.html
+
+ * Modules/quota/WorkerNavigatorStorageQuota.cpp: Added.
+ * Modules/quota/WorkerNavigatorStorageQuota.h: Added.
+ * Modules/quota/WorkerNavigatorStorageQuota.idl: Added.
+ * WebCore.gypi: Add entries for WorkerNavigatorStorageQuota.
+ * page/WorkerNavigator.h: Add a Navigator supplement that extends the worker navigator.
+
+2013-03-25 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Rename SecurityPolicyViolationEvent::sourceURL to ::sourceFile.
+ https://bugs.webkit.org/show_bug.cgi?id=113033
+
+ Reviewed by Jochen Eisinger.
+
+ Bringing our experimental implementation into line with the spec, which
+ has landed on the de facto standard name Gecko has been sending out for
+ years and years.
+
+ Spec: https://dvcs.w3.org/hg/content-security-policy/rev/e44f4003e158
+ Thread: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0087.html
+
+ * dom/SecurityPolicyViolationEvent.h:
+ (SecurityPolicyViolationEventInit):
+ (WebCore::SecurityPolicyViolationEvent::sourceFile):
+ (WebCore::SecurityPolicyViolationEvent::SecurityPolicyViolationEvent):
+ (SecurityPolicyViolationEvent):
+ * dom/SecurityPolicyViolationEvent.idl:
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::gatherSecurityPolicyViolationEventData):
+ s/sourceURL/sourceFile/
+
+2013-03-25 Michelangelo De Simone <michelangelo@webkit.org>
+
+ [CSS Filters] Using negative drop-shadow radius values has slow performance
+ https://bugs.webkit.org/show_bug.cgi?id=107848
+
+ Setting negative blur radius values in drop-shadow() and box-shadow() led to
+ significant rendering performance loss. The invalid value overflowed and the
+ embedder became unresponsive for few seconds.
+ This impacted SVG too (SVGFEDropShadow and SVGFEGaussianBlur).
+
+ Reviewed by Dirk Schulze.
+
+ Tests: css3/filters/effect-drop-shadow-negative-radius.html
+ fast/box-shadow/box-shadow-parsing-invalid.html
+ svg/filters/feDropShadow-negative-deviation-expected.svg
+ svg/filters/feDropShadow-negative-deviation.svg
+ svg/filters/feDropShadow-zero-deviation.svg
+ svg/filters/feGaussianBlur-negative-deviation-expected.svg
+ svg/filters/feGaussianBlur-negative-deviation.svg
+ svg/filters/feGaussianBlur-zero-deviation.svg
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseShadow): Negative values are skipped during parsing: as per
+ CSS Background and Borders specs, negative values shall not be allowed.
+ * platform/graphics/filters/FEGaussianBlur.cpp:
+ (WebCore::FEGaussianBlur::calculateUnscaledKernelSize): Added "non-negative" assertion for
+ negative deviations.
+ * svg/SVGFEDropShadowElement.cpp:
+ (WebCore::SVGFEDropShadowElement::build): If a negative standard deviation is encountered, don't
+ build the filter and returns earlier, this avoids unnecessary calls: FEGaussianBlur is not being
+ created with wrong and potentially overflowing values.
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::build): Ditto.
+
+2013-03-25 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] REGRESSION(r146630): 8 text related test asserts on debug builds
+ https://bugs.webkit.org/show_bug.cgi?id=113179
+
+ Reviewed by Jocelyn Turcotte.
+
+ Test if range.start is within the valid range before testing the value at that point.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::initFormatForTextLayout):
+
+2013-03-25 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Properly handle the rule addition to an XML or SVG document.
+ https://bugs.webkit.org/show_bug.cgi?id=113185
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
+
+2013-03-25 Peter Rybin <prybin@chromium.org>
+
+ Web Inspector: support changing local variables in frontend
+ https://bugs.webkit.org/show_bug.cgi?id=112470
+
+ Reviewed by Yury Semikhatsky.
+
+ ScopeRef type is added to RemoteObject and setPropertyValue is patched accordingly.
+
+ Test: inspector/debugger/debugger-change-variable.html
+
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerModel.CallFrame.prototype.get id):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate.didGetDetails):
+ (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
+ * inspector/front-end/RemoteObject.js:
+ (WebInspector.RemoteObject):
+ (WebInspector.RemoteObject.fromScopePayload):
+ (WebInspector.RemoteObject.prototype.):
+ (WebInspector.RemoteObject.prototype.setPropertyValue):
+ (WebInspector.RemoteObject.prototype.setVariableValueCallback):
+ (WebInspector.RemoteObject.prototype._setDeclarativeVariableValue):
+ (WebInspector.ScopeRef):
+ * inspector/front-end/ScopeChainSidebarPane.js:
+ (WebInspector.ScopeChainSidebarPane.prototype.update):
+
+2013-03-25 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Strip URLs in SecurityPolicyViolationEvents, just as we do for POSTed violation reports.
+ https://bugs.webkit.org/show_bug.cgi?id=113039
+
+ Reviewed by Jochen Eisinger.
+
+ I'd originally assumed that we didn't need to be quite so careful when
+ handing URLs to JavaScript via SecurityPolicyViolationEvents. This was
+ a mistake. Cross-origin URLs aren't accessible to JavaScript currently
+ and there's no reason that we should begin exposing them via an event.
+
+ This patch extracts the stripping logic from the existing reports into
+ stripURLForUseInReport(), and uses that new method when populating the
+ event and report objects.
+
+ Relatedly, we were doing the wrong thing with 'file:' URLs, which this
+ patch made clear. Now they're treated the same as 'data:' et al.
+
+ Spec: https://dvcs.w3.org/hg/content-security-policy/rev/45f6ccaba0ef
+
+ Tests: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image-from-script.html
+ http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-cross-origin-image.html
+ http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image-from-script.html
+ http/tests/security/contentSecurityPolicy/report-blocked-file-uri.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::stripURLForUseInReport):
+ Extract the logic from blockedURI out into a reusable method:
+ cross-origin URLs are stripped down to the ASCII serialization of
+ their origin, and non-heirarchical (and 'file:') URLs are stripped
+ down to the ASCII serialization of their protocol.
+ (WebCore::gatherSecurityPolicyViolationEventData):
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ Use ::stripURLForUseInReport for blockedURL and sourceFile
+ attributes in these two methods.
+
+2013-03-25 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: Fix JSDocs.
+ https://bugs.webkit.org/show_bug.cgi?id=113025
+
+ Reviewed by Pavel Feldman.
+
+ Next version of JS compiler finds more inconsistencies
+ and ambiguous declarations.
+ Some of them are resolved in this patch.
+
+ * inspector/InjectedScriptSource.js: Fix JSDocs.
+ * inspector/front-end/ConsoleModel.js: Ditto.
+ * inspector/front-end/CookieParser.js: Ditto.
+ * inspector/front-end/FileContentView.js: Ditto.
+ * inspector/front-end/HeapSnapshotView.js: Ditto.
+ * inspector/front-end/IndexedDBModel.js: Ditto.
+ * inspector/front-end/ProfilesPanelDescriptor.js: Ditto.
+ * inspector/front-end/utilities.js: Ditto.
+
+2013-03-25 Mike West <mkwst@chromium.org>
+
+ Cleanup: Tiny nits in ContentSecurityPolicy::reportViolation.
+ https://bugs.webkit.org/show_bug.cgi?id=112784
+
+ Reviewed by Jochen Eisinger.
+
+ Just cleanup of three tiny nits I ran across in
+ ContentSecurityPolicy::reportViolation while doing other work.
+
+ - 'directiveText' and 'effectiveDirective' can't be empty; we pass in
+ values at every callsite. We can safely remove the 'isEmpty()' checks.
+ Moreover, even if they could possibly somehow be empty, we should
+ still include those empty strings in the report, rather than
+ dropping the values entirely.
+
+ - We don't need to hold 'document->referrer()' in a temp variable.
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::reportViolation):
+
+2013-03-25 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Overview] Make "drag-to-move" feature more discoverable.
+ https://bugs.webkit.org/show_bug.cgi?id=113032
+
+ Reviewed by Pavel Feldman.
+
+ To move overview window user could drag-n-drop over
+ time "ribbon" on OverviewGrid.
+
+ This feature is hard to discover.
+
+ Setting "move" cursor will make this feature more discoverable.
+
+ * inspector/front-end/inspectorCommon.css:
+ Set "move" cursor to draggable area.
+ * inspector/front-end/OverviewGrid.js: Ditto.
+
+2013-03-25 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Profiles] Remove unused private member.
+ https://bugs.webkit.org/show_bug.cgi?id=113015
+
+ Reviewed by Pavel Feldman.
+
+ _profileGroupsForLinks is not used anymore.
+
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._reset): Removed unused member.
+
+2013-03-25 PhistucK <phistuck@chromium.org>
+
+ Web Inspector: Exception when turning on pretty print without any displayed source in the editor
+ https://bugs.webkit.org/show_bug.cgi?id=113136
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests.
+ Added a check for the existence of currently edited document.
+
+ * inspector/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
+
+2013-03-25 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSSRegions] Remove RenderRegion::printRegionObjectsStyles
+ https://bugs.webkit.org/show_bug.cgi?id=113081
+
+ Reviewed by Tony Chang.
+
+ No change in functionality, remove unused function..
+
+ * rendering/RenderRegion.h:
+
+2013-03-25 Hurnjoo Lee <hurnjoo.lee@samsung.com>
+
+ [Texmap] Memory leak when closing a tab
+ https://bugs.webkit.org/show_bug.cgi?id=112127
+
+ Reviewed by Noam Rosenthal.
+
+ When closing a tab, if there are any updates pending in CoordinatedGraphicsScene's
+ render queue, the scene is not freed because reference count of m_scene is not zero.
+
+ No new tests.
+
+ * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
+ (WebCore::CoordinatedGraphicsScene::detach): When bind updates in CoordinatedGraphicsScene,
+ the reference count of m_scene is increasing, if m_renderQueue is not empty
+ before closing tab, then m_scene is never freed.
+ Hence, when closing tab, need to clear m_renderQueue explicitly in order to
+ destroy m_scene.
+
+2013-03-25 Keishi Hattori <keishi@webkit.org>
+
+ Clear button visibility is not updated when restoring form state
+ https://bugs.webkit.org/show_bug.cgi?id=113172
+
+ Clear button wasn't showing up when restoring form state.
+
+ Reviewed by Kent Tamura.
+
+ Tests: fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-visibility-after-restore.html
+ fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-visibility-after-restore.html
+ fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-visibility-after-restore.html
+ fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-visibility-after-restore.html
+ fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-visibility-after-restore.html
+
+ * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
+
+2013-03-25 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Settings] Use registry to track settings objects.
+ https://bugs.webkit.org/show_bug.cgi?id=113008
+
+ Reviewed by Pavel Feldman.
+
+ Currently .createSetting creates new instance any time it is invoked.
+ When one instance saves value, the other instance do not know about it.
+
+ To resolve this issue we can use registry to make .createSetting return
+ same object for specific key.
+
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings.prototype.createSetting): Use registry.
+
+2013-03-24 Matt Falkenhagen <falken@chromium.org>
+
+ Refactoring: Pull Node::disabled() and Node::isInert() down to Element.
+ https://bugs.webkit.org/show_bug.cgi?id=112085
+
+ Reviewed by Hajime Morrita.
+
+ Node is too low a level for these methods. The plan is to rename
+ Element::disabled to isDisabledFormControl and to remove
+ Element::isEnabledFormControl.
+
+ No new tests, just refactoring.
+
+ * dom/Element.cpp:
+ (WebCore::Element::disabled):
+ (WebCore):
+ (WebCore::Element::isInert):
+ * dom/Element.h:
+ (Element):
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::dispatchSimulatedClick):
+ * dom/GestureEvent.cpp:
+ (WebCore::GestureEventDispatchMediator::dispatchEvent):
+ * dom/MouseEvent.cpp:
+ (WebCore::MouseEventDispatchMediator::dispatchEvent):
+ * dom/Node.cpp:
+ (WebCore::Node::handleLocalEvents):
+ (WebCore::Node::willRespondToMouseMoveEvents):
+ (WebCore::Node::willRespondToMouseClickEvents):
+ (WebCore::Node::willRespondToTouchEvents):
+ * dom/Node.h:
+ (Node):
+
+2013-03-24 Alpha Lam <hclam@chromium.org>
+
+ GIFImageReader should reports parsing error to client
+ https://bugs.webkit.org/show_bug.cgi?id=113141
+
+ Reviewed by Stephen White.
+
+ GIFImageReader nows reports parsing error to client (GIFImageDecoder) such that errors can be handled.
+ In the case of corrupted GIF images GIFImageReader will be deleted and decoding will fail.
+
+ Unit test is updated to reflect change in behavior.
+ Tested with a local corpus which showed better handling of corrupted GIF images.
+
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFImageReader::decode):
+
+2013-03-24 KondapallyKalyan <kalyan.kondapally@intel.com>
+
+ [EFL] Add support to check for current Drawable.
+ https://bugs.webkit.org/show_bug.cgi?id=113103
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Covered by existing WebGL tests.
+
+ In MakeCurrent we do an early return if it is
+ the current GL context but ignore Surface. This
+ patch fixes the issue, we now check for both
+ context and surface before doing an early return
+ in MakeCurrent.
+
+ * platform/graphics/opengl/GLPlatformContext.cpp:
+ (WebCore::GLPlatformContext::makeCurrent):
+ (WebCore::GLPlatformContext::releaseCurrent):
+ (WebCore::GLPlatformContext::destroy):
+ * platform/graphics/opengl/GLPlatformSurface.cpp:
+ (WebCore):
+ (WebCore::GLPlatformSurface::isCurrentDrawable):
+ (WebCore::GLPlatformSurface::onMakeCurrent):
+ * platform/graphics/opengl/GLPlatformSurface.h:
+
+2013-03-24 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r146704): Settings::setHiddenPageDOMTimerThrottlingEnabled() isn't always built
+ <http://webkit.org/b/112308>
+
+ * WebCore.exp.in: Export
+ Settings::setHiddenPageDOMTimerThrottlingEnabled()
+ conditionally based on ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING).
+
+2013-03-24 Christophe Dumez <ch.dumez@sisa.samsung.com>
+
+ [EFL] NetworkStateNotifier::updateState() is called too often
+ https://bugs.webkit.org/show_bug.cgi?id=113152
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Wait until we have read all the data on the Netlink socket before
+ reporting a possible network interface change. This way, we make
+ sure we don't call NetworkStateNotifier::updateState() several
+ times in a row for no reason.
+
+ We also call NetworkStateNotifier::updateState() only if we get a
+ RTM_NEWADDR event and we are currently offline, or if we get a
+ RTM_DELADDR and we are currently online. This avoids calling
+ NetworkStateNotifier::updateState() uselessly as there is no way
+ the online state can change otherwise.
+
+ No new tests, no behavior change for layout tests.
+
+ * platform/network/efl/NetworkStateNotifierEfl.cpp:
+ (WebCore::NetworkStateNotifier::readSocketCallback):
+
+2013-03-24 Chris Fleizach <cfleizach@apple.com>
+
+ AX: Crash in WebCore::AccessibilitySpinButton::incrementButton()
+ https://bugs.webkit.org/show_bug.cgi?id=111582
+
+ Reviewed by Tim Horton.
+
+ There are two ways to create a spin button: from a textfield counter or from ARIA.
+ If an ARIA spin button is created, it was returning true for isSpinButton, so we were
+ casting to the other kind of spin button, leading to a crash.
+
+ We need to be more specific about our class types.
+
+ Test: platform/mac/accessibility/aria-spinbutton-crash.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isNativeSpinButton):
+ * accessibility/AccessibilitySpinButton.h:
+ (WebCore::AccessibilitySpinButton::isNativeSpinButton):
+ (WebCore::toAccessibilitySpinButton):
+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2013-03-24 Chris Fleizach <cfleizach@apple.com>
+
+ AXObjectCache gets recreated during document tear-down.
+ https://bugs.webkit.org/show_bug.cgi?id=112525
+
+ Reviewed by Simon Fraser.
+
+ In many cases, a document's AXObjectCache was being created after the
+ document had detached, which is wasteful and could potentially lead to
+ crashes because the AXObjectCache has a timer and relies on its document
+ to exist.
+
+ This patch provides a way to get the existing AX object cache, instead of
+ always creating a new one.
+ It moves the accessibilityEnabled() checks into the axObjectCache retrieval
+ for easier readability.
+ It adds a number of ASSERTs to vieryf that only the correct (top) document is used
+ for cache manipulation.
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::stopCachingComputedObjectAttributes):
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::~ContainerNode):
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::clearAXObjectCache):
+ (WebCore::Document::existingAXObjectCache):
+ (WebCore::Document::axObjectCache):
+ (WebCore::Document::setFocusedNode):
+ * dom/Document.h:
+ (Document):
+ * dom/Element.cpp:
+ (WebCore::Element::attributeChanged):
+ * dom/Node.cpp:
+ (WebCore::Node::~Node):
+ (WebCore::Node::isEditableToAccessibility):
+ (WebCore::Node::attach):
+ (WebCore::Node::rootEditableElement):
+ (WebCore::Node::didMoveToNewDocument):
+ * editing/AppendNodeCommand.cpp:
+ (WebCore::sendAXTextChangedIgnoringLineBreaks):
+ * editing/DeleteFromTextNodeCommand.cpp:
+ (WebCore::DeleteFromTextNodeCommand::doApply):
+ (WebCore::DeleteFromTextNodeCommand::doUnapply):
+ * editing/Editor.cpp:
+ (WebCore::Editor::respondToChangedContents):
+ (WebCore::Editor::markAndReplaceFor):
+ * editing/InsertIntoTextNodeCommand.cpp:
+ (WebCore::InsertIntoTextNodeCommand::doApply):
+ (WebCore::InsertIntoTextNodeCommand::doUnapply):
+ * editing/InsertNodeBeforeCommand.cpp:
+ (WebCore::InsertNodeBeforeCommand::doApply):
+ (WebCore::InsertNodeBeforeCommand::doUnapply):
+ * editing/atk/FrameSelectionAtk.cpp:
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * editing/chromium/FrameSelectionChromium.cpp:
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * editing/mac/FrameSelectionMac.mm:
+ (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setChecked):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::optionElementChildrenChanged):
+ (WebCore::HTMLSelectElement::setRecalcListItems):
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::setInnerTextValue):
+ * html/InputType.cpp:
+ (WebCore::InputType::applyStep):
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::handleKeydownEvent):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::prepareForLoadStart):
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setInitialFocus):
+ * page/Frame.cpp:
+ (WebCore::Frame::disconnectOwnerElement):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::removeFromAXObjectCache):
+ (WebCore::FrameView::layout):
+ (WebCore::FrameView::scrollToAnchor):
+ (WebCore::FrameView::axObjectCache):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::~Scrollbar):
+ (WebCore):
+ (WebCore::Scrollbar::existingAXObjectCache):
+ * platform/Scrollbar.h:
+ (Scrollbar):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::deleteLineBoxTree):
+ (WebCore::RenderBlock::createRootInlineBox):
+ (WebCore::RenderBlock::createAndAppendRootInlineBox):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::selectionChanged):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::addChild):
+ (WebCore::RenderMenuList::didUpdateActiveOption):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+ (WebCore::RenderObject::willBeDestroyed):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ (WebCore::RenderObjectChildList::insertChildNode):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::setText):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::willBeDestroyed):
+
+2013-03-23 Mike West <mkwst@chromium.org>
+
+ Drop full URLs from cross-origin access errors caused by sandboxing.
+ https://bugs.webkit.org/show_bug.cgi?id=113029
+
+ Reviewed by Timothy Hatcher.
+
+ Following up on http://wkbug.com/112042, this patch brings cross-origin
+ access error messages into line with the newly origin-only default
+ message, and changes the error message text to explicitly refer to the
+ missing 'allow-same-origin' sandbox flag that's the root cause of the
+ error.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::crossDomainAccessErrorMessage):
+ Note that we're using the origin of the frames' URLs rather than
+ their actual origin in these messages. This seems like a reasonable
+ thing to do, since we know that at least one of the two origins will
+ be "null" in this scenario.
+
+2013-03-23 Dominic Mazzoni <dmazzoni@google.com>
+
+ Implement Web Speech Synthesis for Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=111695
+
+ Reviewed by Adam Barth.
+
+ Straightforward implementation of speech synthesis
+ for Chromium by exposing interfaces for the platform
+ to implement.
+
+ * Modules/speech/SpeechSynthesis.cpp:
+ (WebCore::SpeechSynthesis::boundaryEventOccurred):
+ (WebCore::SpeechSynthesis::didStartSpeaking):
+ (WebCore::SpeechSynthesis::didPauseSpeaking):
+ (WebCore::SpeechSynthesis::didResumeSpeaking):
+ (WebCore::SpeechSynthesis::didFinishSpeaking):
+ (WebCore::SpeechSynthesis::speakingErrorOccurred):
+ (WebCore):
+ * Modules/speech/SpeechSynthesis.h:
+ (SpeechSynthesis):
+ * Modules/speech/SpeechSynthesisUtterance.cpp:
+ (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
+ (WebCore):
+ (WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::setVoice):
+ * Modules/speech/SpeechSynthesisUtterance.h:
+ (SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::text):
+ (WebCore::SpeechSynthesisUtterance::setText):
+ (WebCore::SpeechSynthesisUtterance::lang):
+ (WebCore::SpeechSynthesisUtterance::setLang):
+ (WebCore::SpeechSynthesisUtterance::volume):
+ (WebCore::SpeechSynthesisUtterance::setVolume):
+ (WebCore::SpeechSynthesisUtterance::rate):
+ (WebCore::SpeechSynthesisUtterance::setRate):
+ (WebCore::SpeechSynthesisUtterance::pitch):
+ (WebCore::SpeechSynthesisUtterance::setPitch):
+ (WebCore::SpeechSynthesisUtterance::startTime):
+ (WebCore::SpeechSynthesisUtterance::setStartTime):
+ (WebCore::SpeechSynthesisUtterance::platformUtterance):
+ * Modules/speech/SpeechSynthesisVoice.h:
+ (WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * platform/PlatformSpeechSynthesis.h:
+ (PlatformSpeechSynthesis):
+ * platform/PlatformSpeechSynthesisUtterance.cpp:
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesisUtterance::create):
+ * platform/PlatformSpeechSynthesisUtterance.h:
+ (PlatformSpeechSynthesisUtterance):
+ (WebCore::PlatformSpeechSynthesisUtterance::setClient):
+ * platform/PlatformSpeechSynthesisVoice.cpp:
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesisVoice::create):
+ (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
+ * platform/PlatformSpeechSynthesisVoice.h:
+ (PlatformSpeechSynthesisVoice):
+ (WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
+ (WebCore::PlatformSpeechSynthesisVoice::setName):
+ (WebCore::PlatformSpeechSynthesisVoice::setLang):
+ (WebCore::PlatformSpeechSynthesisVoice::setLocalService):
+ (WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
+ * platform/PlatformSpeechSynthesizer.cpp:
+ (WebCore::PlatformSpeechSynthesizer::create):
+ (WebCore::PlatformSpeechSynthesizer::setVoiceList):
+ (WebCore):
+ * platform/PlatformSpeechSynthesizer.h:
+ (WebKit):
+ (PlatformSpeechSynthesizerClient):
+ (PlatformSpeechSynthesizer):
+ * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ (WebCore::PlatformSpeechSynthesizer::pause):
+ (WebCore::PlatformSpeechSynthesizer::resume):
+ (WebCore::PlatformSpeechSynthesizer::cancel):
+ * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
+ (WebKit):
+ (WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
+ (WebKit::WebSpeechSynthesisUtterance::operator=):
+ (WebKit::WebSpeechSynthesisUtterance::assign):
+ (WebKit::WebSpeechSynthesisUtterance::reset):
+ (WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
+ (WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
+ (WebKit::WebSpeechSynthesisUtterance::text):
+ (WebKit::WebSpeechSynthesisUtterance::lang):
+ (WebKit::WebSpeechSynthesisUtterance::voice):
+ (WebKit::WebSpeechSynthesisUtterance::volume):
+ (WebKit::WebSpeechSynthesisUtterance::rate):
+ (WebKit::WebSpeechSynthesisUtterance::pitch):
+ (WebKit::WebSpeechSynthesisUtterance::startTime):
+ * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
+ (WebKit):
+ (WebKit::WebSpeechSynthesisVoice::assign):
+ (WebKit::WebSpeechSynthesisVoice::reset):
+ (WebKit::WebSpeechSynthesisVoice::setVoiceURI):
+ (WebKit::WebSpeechSynthesisVoice::setName):
+ (WebKit::WebSpeechSynthesisVoice::setLanguage):
+ (WebKit::WebSpeechSynthesisVoice::setIsLocalService):
+ (WebKit::WebSpeechSynthesisVoice::setIsDefault):
+ (WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
+ (WebCore):
+ (WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
+ (WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
+ (WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
+ (WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
+ (WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
+ (WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
+ (WebCore):
+ (WebSpeechSynthesizerClientImpl):
+ * platform/mac/PlatformSpeechSynthesizerMac.mm:
+ (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
+ (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.cpp:
+ (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
+ (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
+ (WebCore::PlatformSpeechSynthesizerMock::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.h:
+ (PlatformSpeechSynthesizerMock):
+
+2013-03-23 Daniel Cheng <dcheng@chromium.org>
+
+ [Qt] editing/pasteboard/can-read-in-dragstart-event.html and /can-read-in-copy-and-cut-events.html are crashing
+ https://bugs.webkit.org/show_bug.cgi?id=113126
+
+ Reviewed by Ryosuke Niwa.
+
+ The ClipboardQt implementation only allows reading or writing, not both. Attempting to read
+ when the clipboard is only writable will lead to a crash since the corresponding member will
+ be null. To prevent crashes, change the asserts to early returns. In the long term, the
+ correct fix is to unify the m_readableData and m_writableData members.
+
+ No new tests since no functionality in Qt port should change.
+
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::getData):
+ (WebCore::ClipboardQt::types):
+ (WebCore::ClipboardQt::files):
+
+2013-03-23 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK][Regression] webkit_dom_html_table_element_insert_row returns value that doesn't pass WEBKIT_DOM_IS_HTML_TABLE_ROW_ELEMENT macro
+ https://bugs.webkit.org/show_bug.cgi?id=111714
+
+ Reviewed by Martin Robinson.
+
+ Add custom kit implementation for HTMLElements so that the HTML
+ wrappers are used in that case instead of wrapHTMLElement.
+
+ * bindings/gobject/WebKitDOMBinding.cpp:
+ (WebKit::kit):
+ (WebKit):
+ * bindings/gobject/WebKitDOMBinding.h:
+ (WebCore):
+ (WebKit):
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ (UsesManualKitImplementation):
+
+2013-03-23 David Kilzer <ddkilzer@apple.com>
+
+ Revert "BUILD FIX (r146667): ResourceRequest constructor in SynchronousLoaderClient.cpp is ambiguous on iOS"
+
+ This is platform-agnositic code, so the previous solution won't work.
+
+ * platform/network/SynchronousLoaderClient.cpp:
+ (WebCore::SynchronousLoaderClient::willSendRequest):
+
+2013-03-23 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r146667): ResourceRequest constructor in SynchronousLoaderClient.cpp is ambiguous on iOS
+
+ Fixes the following build failure:
+
+ Source/WebCore/platform/network/SynchronousLoaderClient.cpp:52:15: error: conversion from 'int' to 'const WebCore::ResourceRequest' is ambiguous
+ request = 0;
+ ^
+ In file included from Source/WebCore/platform/network/SynchronousLoaderClient.cpp:30:
+ In file included from Source/WebCore/platform/network/ResourceHandle.h:37:
+ In file included from Source/WebCore/platform/network/ios/QuickLook.h:13:
+ Source/WebCore/platform/network/cf/ResourceRequest.h:79:9: note: candidate constructor
+ ResourceRequest(NSURLRequest *);
+ ^
+ Source/WebCore/platform/network/cf/ResourceRequest.h:83:9: note: candidate constructor
+ ResourceRequest(CFURLRequestRef cfRequest)
+ ^
+ 1 error generated.
+
+ * platform/network/SynchronousLoaderClient.cpp:
+ (WebCore::SynchronousLoaderClient::willSendRequest): If
+ USE(CFNETWORK) is defined, use static_cast<CFURLRequestRef>(0),
+ otherwise use static_cast<NSURLRequest *>(0).
+
+2013-03-23 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r146687): setDefaultMIMEType() is unused in ResourceHandleCFNet.cpp on iOS
+
+ Fixes the following build failure:
+
+ Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp:98:13: error: unused function 'setDefaultMIMEType' [-Werror,-Wunused-function]
+ static void setDefaultMIMEType(CFURLResponseRef response)
+ ^
+ 1 error generated.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::setDefaultMIMEType): Add #if !PLATFORM(MAC)/#endif
+ guard.
+
+2013-03-21 Kiran Muppala <cmuppala@apple.com>
+
+ Add runtime setting for hidden page DOM timer throttling and CSS animation suspension
+ https://bugs.webkit.org/show_bug.cgi?id=112308
+
+ Reviewed by Gavin Barraclough.
+
+ No new tests. Only adding settings to enable/disable existing features
+ and hence existing tests suffice.
+
+ * WebCore.exp.in:
+ * page/Page.cpp:
+ (WebCore::Page::setVisibilityState): Check if DOM timer throttling
+ and CSS animation suspension are enabled before turning them on.
+ (WebCore::Page::hiddenPageDOMTimerThrottlingStateChanged): Start or stop
+ DOM timer throttling based on page visibility and the new setting state.
+ (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged): Ditto
+ for CSS animation suspension.
+ * page/Page.h:
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Initialize the flags for enabling hidden
+ page DOM timer throttling and CSS animation suspension to false.
+ (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled): Update flag
+ and notify page that the state of the setting has changed.
+ (WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled): Ditto.
+ * page/Settings.h:
+ (WebCore::Settings::hiddenPageDOMTimerThrottlingEnabled):
+ (WebCore::Settings::hiddenPageCSSAnimationSuspensionEnabled):
+
+2013-03-22 Benjamin Poulain <bpoulain@apple.com>
+
+ Remove 2 bad branches from StringHash::equal() and CaseFoldingHash::equal()
+ https://bugs.webkit.org/show_bug.cgi?id=113003
+
+ Reviewed by Eric Seidel.
+
+ Fix two unfortunate use of StringHash and use the correct StringImpl function.
+
+ * html/parser/HTMLParserIdioms.cpp:
+ (WebCore::threadSafeEqual):
+ * html/parser/HTMLTreeBuilderSimulator.cpp:
+ (WebCore::tokenExitsSVG):
+
+2013-03-22 Andy Estes <aestes@apple.com>
+
+ Set the cache partition property on CFURLRequests
+ https://bugs.webkit.org/show_bug.cgi?id=113116
+
+ Patch by Jeffrey Pfau
+ Reviewed by David Kilzer.
+
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+
+2013-03-22 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] content-sized row tracks with percentage logical height grid items don't resolve properly
+ https://bugs.webkit.org/show_bug.cgi?id=113085
+
+ Reviewed by Tony Chang.
+
+ The core issue is that because overrideContainingBlockLogicalHeight() is unset in
+ logicalContentHeightForChild, RenderBox::computePercentageLogicalHeight would try to
+ resolve percentage logical height against the grid element (wrong containing block
+ as a grid item's containing block is the grid area).
+
+ Tests: fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html
+ fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::logicalContentHeightForChild):
+ Set our override logical height to -1, so that we don't try to constrain a grid item's logical height
+ based on resolving (badly) its percentage.
+
+2013-03-19 Zhenyao Mo <zmo@google.com>
+
+ Check WEBGL_draw_buffers requirements before exposing the extension
+ https://bugs.webkit.org/show_bug.cgi?id=112359
+
+ Reviewed by Kenneth Russell.
+
+ * html/canvas/EXTDrawBuffers.cpp:
+ (WebCore::EXTDrawBuffers::supported): call satisfies*().
+ (WebCore::EXTDrawBuffers::drawBuffersEXT):
+ (WebCore):
+ (WebCore::EXTDrawBuffers::satisfiesWebGLRequirements): check WebGL requirements.
+ * html/canvas/EXTDrawBuffers.h:
+ (EXTDrawBuffers):
+ * html/canvas/WebGLFramebuffer.cpp:
+ (WebCore::WebGLFramebuffer::getDrawBuffer):
+ (WebCore):
+ * html/canvas/WebGLFramebuffer.h:
+ (WebGLFramebuffer):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::initializeNewContext):
+ (WebCore::WebGLRenderingContext::getExtension):
+ (WebCore::WebGLRenderingContext::getParameter):
+ (WebCore::WebGLRenderingContext::getSupportedExtensions):
+ (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
+ (WebCore::WebGLRenderingContext::getMaxDrawBuffers):
+ (WebCore::WebGLRenderingContext::getMaxColorAttachments):
+ (WebCore::WebGLRenderingContext::setBackDrawBuffer):
+ (WebCore::WebGLRenderingContext::restoreCurrentFramebuffer):
+ (WebCore::WebGLRenderingContext::restoreCurrentTexture2D):
+ (WebCore::WebGLRenderingContext::supportsDrawBuffers): a cached version of EXTDrawBuffers::supports()
+ * html/canvas/WebGLRenderingContext.h:
+ (WebGLRenderingContext):
+
+2013-03-22 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed. Fix AppleWin port following https://bugs.webkit.org/show_bug.cgi?id=113100.
+ Patch by Alexey Proskuryakov.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+
+2013-03-22 Tony Chang <tony@chromium.org>
+
+ REGRESSION (r146272): layout issues for flex boxes that have -webkit-flex-wrap: wrap
+ https://bugs.webkit.org/show_bug.cgi?id=113071
+
+ Reviewed by Ojan Vafai.
+
+ The refactor in r139535 introduced this bug, where a variable name wasn't updated properly.
+ In combination with r146272, this bug became more visible when nesting multiline flexboxen.
+
+ Test: css3/flexbox/multiline-min-preferred-width.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths): We want the width of the widest
+ flexitem, the value in m_minPreferredWidth isn't relevant. Also update the comment for max
+ preferred width.
+
+2013-03-22 Max Vujovic <mvujovic@adobe.com>
+
+ [CSS Shaders] Clamp css_MixColor before the blending and compositing steps
+ https://bugs.webkit.org/show_bug.cgi?id=113088
+
+ Reviewed by Dean Jackson.
+
+ The blending and compositing operations from the spec [1] expect that they are operating on
+ valid color inputs, in the range [0.0, 1.0]. Thus, we should clamp the css_MixColor input to
+ this range to avoid implementation-dependent behavior for invalid color inputs.
+
+ [1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blending
+
+ Tests: css3/filters/custom/custom-filter-clamp-css-mix-color-negative.html
+ css3/filters/custom/custom-filter-clamp-css-mix-color.html
+
+ * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
+ (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
+ Clamp css_MixColor as clampedMixColor before using it in the blending and compositing
+ steps.
+
+2013-03-19 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Add WebCoreDOM to the gyp build
+ https://bugs.webkit.org/show_bug.cgi?id=112737
+
+ Reviewed by Nico Weber.
+
+ * WebCore.gyp/WebCoreGTK.gyp: Add WebCoreDOM to the gyp build.
+
+2013-03-19 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Add WebCoreHTML to the gyp build
+ https://bugs.webkit.org/show_bug.cgi?id=112727
+
+ Reviewed by Nico Weber.
+
+ * WebCore.gyp/WebCoreGTK.gyp: Add support for building all files under
+ the HTML directory. This includes splitting off common WebCore dependencies
+ into an aggregate target and adding a top-level WebCore target.
+
+2013-03-22 Tim Horton <timothy_horton@apple.com>
+
+ Plugin Snapshotting: Auto-start dominant plugins
+ https://bugs.webkit.org/show_bug.cgi?id=113111
+ <rdar://problem/13475726>
+
+ Reviewed by Dean Jackson.
+
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::defaultEventHandler):
+ Acknowledge the new "Restarting" DisplayState.
+ * html/HTMLPlugInElement.h:
+ Rename PlayingWithPendingMouseClick to RestartingWithPendingMouseClick for accuracy.
+ Add "Restarting" DisplayState, so we can be aware that the plugin is intentionally restarting and not re-snapshot it.
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remove m_isPrimarySnapshottedPlugIn.
+ (WebCore::classNameForShadowRoot): Remove m_isPrimarySnapshottedPlugIn.
+ (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Restart the plugin when it becomes primary.
+ (WebCore::HTMLPlugInImageElement::updateSnapshotInfo): Remove m_isPrimarySnapshottedPlugIn.
+ (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
+ Move the plugin to Restarting unless it's already marked as PendingMouseClick.
+ (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired): Match the PlayingWithPendingMouseClick rename.
+ (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Don't snapshot if we're restarting.
+ * html/HTMLPlugInImageElement.h: Remove m_isPrimarySnapshottedPlugIn.
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore::RenderSnapshottedPlugIn::paint): Acknowledge the new "Restarting" DisplayState.
+ (WebCore::RenderSnapshottedPlugIn::getCursor): Acknowledge the new "Restarting" DisplayState.
+ (WebCore::RenderSnapshottedPlugIn::handleEvent): Match the PlayingWithPendingMouseClick rename.
+
+2013-03-19 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Add support for building the WebCore bindings to the gyp build
+ https://bugs.webkit.org/show_bug.cgi?id=112638
+
+ Reviewed by Nico Weber.
+
+ Add targets, actions, and rules for building the WebCore bindings. This is
+ the first part of the WebCoreGTK build.
+
+ * WebCore.gyp/ConvertFileToHeaderWithCharacterArray.gypi: Added.
+ * WebCore.gyp/MakeNames.gypi: Added.
+ * WebCore.gyp/WebCoreGTK.gyp: Added WebCore bindings build. This has been adapted
+ from the Chromium build.
+ * WebCore.gypi: Updated list of derived sources files and added a parameter
+ for adjusting the location of the built files. We don't want to force the
+ Mac build to change, but we'd still like to reuse the scripts that the
+ Chromium build uses.
+
+2013-03-22 Dane Wallinga <dgwallinga@chromium.org>
+
+ Add client callbacks to notify of changes of associated from controls
+ https://bugs.webkit.org/show_bug.cgi?id=110375
+
+ Reviewed by Ryosuke Niwa.
+
+ Hook FormAssociatedElement, HTMLFormElement to notify EditorClient of form changes after a page has loaded.
+ Will be used to add autofill support for ajax-y webpages. e.g if while filling out a form, new fields
+ are dynamically created, autofill can know to re-query the autofill server and keep going.
+ https://bugs.webkit.org/show_bug.cgi?id=110375
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::didAssociateFormControl):
+ (WebCore):
+ (WebCore::Document::didAssociateFormControlsTimerFired):
+ * dom/Document.h:
+ (Document):
+ added method didAssociateFormControl, which batches form changes
+ and calls out to ChromeClient on a timer.
+ * html/FormAssociatedElement.cpp:
+ (WebCore::FormAssociatedElement::resetFormOwner):
+ (WebCore::FormAssociatedElement::formAttributeChanged):
+ (WebCore):
+ * html/FormAssociatedElement.h:
+ (FormAssociatedElement):
+ add calls to Document::didAssociateFormControl when form changes
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::insertedInto):
+ (WebCore):
+ * html/HTMLFormElement.h:
+ add call to Document::didAssociateFormControl
+ * loader/EmptyClients.h:
+ (EmptyChromeClient):
+ (WebCore::EmptyChromeClient::didAssociateFormControls):
+ (WebCore::EmptyChromeClient::shouldNotifyOnFormChanges):
+ * page/ChromeClient.h:
+ (ChromeClient):
+ add new method didAssociateFormControls
+
+2013-03-22 Alexey Proskuryakov <ap@apple.com>
+
+ Split ResourceHandleMac into multiple files
+ https://bugs.webkit.org/show_bug.cgi?id=113100
+
+ Reviewed by Geoff Garen.
+
+ It's grown too big to navigate, and I'm going to make WebCoreResourceHandleAsDelegate
+ substantially more complicated yet.
+
+ 1. Mechanically moved WebCoreResourceHandleAsDelegate into separate files.
+ 2. Refactored WebCoreSynchronousLoaderClient to be cross-platform, and moved it into
+ separate files.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/network/SynchronousLoaderClient.cpp: Added.
+ * platform/network/SynchronousLoaderClient.h: Added.
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ * platform/network/mac/SynchronousLoaderClient.mm: Added.
+ * platform/network/mac/WebCoreResourceHandleAsDelegate.h: Added.
+ * platform/network/mac/WebCoreResourceHandleAsDelegate.mm: Added.
+
+2013-03-21 Geoffrey Garen <ggaren@apple.com>
+
+ Added a setting for whether JavaScript markup is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=112999
+
+ Reviewed by Maciej Stachowiak.
+
+ This setting is useful for clients that want protection from script
+ injection attacks.
+
+ * page/Settings.h:
+ (Settings): Clarified which clients should call canExecuteScripts().
+
+ * page/Settings.in: Added the new setting.
+
+2013-03-22 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed build fix.
+
+ * bindings/scripts/preprocessor.pm:
+ (applyPreprocessor):
+
+2013-03-22 Roger Fong <roger_fong@apple.com>
+
+ Unreviewed. Force kill gcc-3.exe during bindings generation tests to avoid process hangs.
+
+ This problem is occuring on the WinEWS bots where there are somehow multiple gcc-3 processes existing at the same time.
+ This is a speculative fix. There should only be 1 gcc-3.exe process running at a time ever.
+
+ * bindings/scripts/preprocessor.pm:
+ (applyPreprocessor):
+
+2013-03-22 Eric Carlson <eric.carlson@apple.com>
+
+ Cleanup text track selection logic
+ https://bugs.webkit.org/show_bug.cgi?id=113062
+
+ Reviewed by Jer Noble.
+
+ No new tests, covered by existing tests.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Remove.
+ (WebCore::HTMLMediaElement::configureTextTrackGroup): Don't look at track attributes directly,
+ use captionPreferences->textTrackSelectionScore to calculate track rank.
+ (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Set m_processingPreferenceChange here
+ instead of in captionPreferencesChanged.
+ (WebCore::HTMLMediaElement::captionPreferencesChanged): Don't suppress calls to setClosedCaptionsVisible,
+ existing code already makes sure we don't do unnecessary work.
+ * html/HTMLMediaElement.h:
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Drive by cleanup, don't
+ process inactive cues.
+
+ * html/shadow/MediaControlsApple.cpp:
+ (WebCore::MediaControlsApple::changedClosedCaptionsVisibility): Call resetTrackListMenu instead
+ of updateDisplay so we only mark the menu as needing a recalculation and do the work when
+ it is displayed.
+
+ * page/CaptionUserPreferences.cpp:
+ (WebCore::CaptionUserPreferences::shouldShowCaptions): When in testing mode, return true if
+ the caption or subtitle preference has been set.
+ (WebCore::CaptionUserPreferences::setShouldShowCaptions): In testing mode, clear the caption
+ and subtitle preference when passed false.
+ (WebCore::CaptionUserPreferences::textTrackSelectionScore): Calculate the track score based on
+ track type preference and preferred language.
+ (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Score a track according to
+ the language presence and position in the preferred languages list.
+ * page/CaptionUserPreferences.h:
+
+ * page/CaptionUserPreferencesMac.h:
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Calculate track language score
+ according to user preferences.
+
+ * platform/Language.cpp:
+ (WebCore::indexOfBestMatchingLanguageInList): Repurposed the static bestMatchingLanguage
+ function to return the location of a language in a Vector.
+ (WebCore::preferredLanguageFromList): Removed.
+ * platform/Language.h:
+
+2013-03-22 ChangSeok Oh <changseok.oh@collabora.com>
+
+ Build fix for TransformationMatrix
+ https://bugs.webkit.org/show_bug.cgi?id=113087
+
+ Reviewed by Martin Robinson.
+
+ This is a trivial build fix for clutter ac backend. Clutter AC backend doesn't use
+ TextureMapper so there is nowhere including TransformationMatrix.h.
+ For the reason, we include it explicitly.
+
+ No new tests because of no functionality change.
+
+ * platform/graphics/clutter/GraphicsContext3DPrivate.cpp:
+ * platform/graphics/clutter/GraphicsContext3DPrivate.h:
+ (WebCore):
+
+2013-03-22 Steve Block <steveblock@chromium.org>
+
+ Coordinates.idl lacks Conditional=GEOLOCATION
+ https://bugs.webkit.org/show_bug.cgi?id=112949
+
+ Reviewed by Steve Block.
+
+ No new tests, build optimization only.
+
+ * page/Coordinates.idl: Added GEOLOCATION conditional guard.
+
+2013-03-22 Daniel Cheng <dcheng@chromium.org>
+
+ Data store should be readable in dragstart/copy/cut events
+ https://bugs.webkit.org/show_bug.cgi?id=23695
+
+ Reviewed by Tony Chang.
+
+ There were several events where data could be written but not read back due to the fact that
+ different Clipboard method implementations checked permissions inconsistently. This patch
+ adds helper methods to check if an operation is permitted on a Clipboard and refactors all
+ direct comparisons against Clipboard::m_policy to use the new helpers instead. This fixes
+ several bugs where Clipboard::types and Clipboard::getData are not usable inside the
+ aforementioned events.
+
+ Tests: editing/pasteboard/can-read-in-copy-and-cut-events.html
+ editing/pasteboard/can-read-in-dragstart-event.html
+
+ * dom/Clipboard.cpp:
+ (WebCore::Clipboard::canReadTypes): Formerly restricted to ClipboardReadable and
+ ClipboardTypesReadable; now allows ClipboardWritable as
+ well.
+ (WebCore::Clipboard::canReadData): Formerly restricted to ClipboardReadable; now allows
+ ClipboardWritable as well.
+ (WebCore::Clipboard::canWriteData):
+ (WebCore::Clipboard::canSetDragImage):
+ (WebCore::Clipboard::hasFileOfType):
+ (WebCore::Clipboard::hasStringOfType):
+ (WebCore::Clipboard::setDropEffect):
+ (WebCore::Clipboard::setEffectAllowed):
+ * dom/Clipboard.h:
+ (Clipboard):
+ * platform/blackberry/ClipboardBlackBerry.cpp:
+ (WebCore::ClipboardBlackBerry::clearData):
+ (WebCore::ClipboardBlackBerry::clearAllData):
+ (WebCore::ClipboardBlackBerry::getData):
+ (WebCore::ClipboardBlackBerry::setData):
+ (WebCore::ClipboardBlackBerry::types):
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::DataTransferItemPolicyWrapper::kind):
+ (WebCore::DataTransferItemPolicyWrapper::type):
+ (WebCore::DataTransferItemPolicyWrapper::getAsString):
+ (WebCore::DataTransferItemPolicyWrapper::getAsFile):
+ (WebCore::ClipboardChromium::clearData):
+ (WebCore::ClipboardChromium::clearAllData):
+ (WebCore::ClipboardChromium::getData):
+ (WebCore::ClipboardChromium::setData):
+ (WebCore::ClipboardChromium::types):
+ (WebCore::ClipboardChromium::files):
+ (WebCore::ClipboardChromium::setDragImage):
+ * platform/gtk/ClipboardGtk.cpp:
+ (WebCore::ClipboardGtk::clearData):
+ (WebCore::ClipboardGtk::clearAllData):
+ (WebCore::ClipboardGtk::getData):
+ (WebCore::ClipboardGtk::setData):
+ (WebCore::ClipboardGtk::types):
+ (WebCore::ClipboardGtk::files):
+ (WebCore::ClipboardGtk::setDragImage):
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::ClipboardMac::clearData):
+ (WebCore::ClipboardMac::clearAllData):
+ (WebCore::ClipboardMac::getData):
+ (WebCore::ClipboardMac::setData):
+ (WebCore::ClipboardMac::types):
+ (WebCore::ClipboardMac::files):
+ (WebCore::ClipboardMac::setDragImage):
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::clearData):
+ (WebCore::ClipboardQt::clearAllData):
+ (WebCore::ClipboardQt::getData):
+ (WebCore::ClipboardQt::setData):
+ (WebCore::ClipboardQt::types):
+ (WebCore::ClipboardQt::files):
+ (WebCore::ClipboardQt::setDragImage):
+ (WebCore::ClipboardQt::items):
+ * platform/qt/DataTransferItemListQt.cpp:
+ (WebCore::DataTransferItemListQt::length):
+ (WebCore::DataTransferItemListQt::item):
+ (WebCore::DataTransferItemListQt::deleteItem):
+ (WebCore::DataTransferItemListQt::clear):
+ (WebCore::DataTransferItemListQt::add):
+ * platform/qt/DataTransferItemQt.cpp:
+ (WebCore::DataTransferItemQt::getAsString):
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::clearData):
+ (WebCore::ClipboardWin::clearAllData):
+ (WebCore::ClipboardWin::getData):
+ (WebCore::ClipboardWin::setData):
+ (WebCore::ClipboardWin::types):
+ (WebCore::ClipboardWin::files):
+ (WebCore::ClipboardWin::setDragImage):
+
+2013-03-22 Andrei Bucur <abucur@adobe.com>
+
+ [CSS Regions] Remove pushLayoutState(RenderFlowThread*) from RenderView
+ https://bugs.webkit.org/show_bug.cgi?id=113084
+
+ Reviewed by Dirk Schulze.
+
+ Remove void pushLayoutState(RenderFlowThread*, bool regionsChanged) from RenderView.h because it's not used.
+
+ Tests: Code cleanup. No tests needed.
+
+ * rendering/RenderView.h:
+ (RenderView):
+
+2013-03-22 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL] Fix build issues to enable CSS Filter and Shaders support.
+ https://bugs.webkit.org/show_bug.cgi?id=111274
+
+ Reviewed by Noam Rosenthal.
+
+ This is in preperation to enable CSS Filter and Shaders support.
+ This patch fixes related build issues to enable the support.
+
+ * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
+ * platform/graphics/texmap/TextureMapper.cpp:
+ * platform/graphics/texmap/TextureMapper.h:
+ (WebCore):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (WebCore):
+ * platform/graphics/texmap/TextureMapperShaderProgram.h:
+
+2013-03-22 Matt Falkenhagen <falken@chromium.org>
+
+ Implement isEnabledFormControl() for SliderThumbElement and SpinButtonElement in terms of disabled()
+ https://bugs.webkit.org/show_bug.cgi?id=112993
+
+ Reviewed by Kent Tamura.
+
+ This is an intermediate step for refactoring Node::disabled and
+ Element::isEnabledFormControl. All classes that override
+ isEnabledFormControl just return !disabled(), except for
+ SliderThumbElement and SpinButtonElement. This patch changes those two
+ classes to do so, which shows that the two functions are redundant and
+ easy to refactor into a single function in a subsequent patch.
+
+ No new tests, there should be no behavior change.
+
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::disabled):
+ (WebCore):
+ (WebCore::SliderThumbElement::isEnabledFormControl):
+ * html/shadow/SliderThumbElement.h:
+ (SliderThumbElement):
+ * html/shadow/SpinButtonElement.h: The check of shadowHost() is
+ necessary because it can be detached by JavaScript that runs during
+ event handling (see r76566)
+
+2013-03-22 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] New fast/text/word-space-with-kerning-3.html fails on Qt.
+ https://bugs.webkit.org/show_bug.cgi?id=112668
+
+ Reviewed by Jocelyn Turcotte.
+
+ Qt adds word-spacing to leading spaces, but WebCore only expects
+ us to add for trailing spaces. We only corrected for this in width
+ calculation but do need to also do it for drawing.
+
+ Instead of subtracting the extra word-spacing we now configure the
+ FormatRange not to apply to leading spaces. This means this behavior
+ will be applied everywhere reliably.
+
+ * platform/graphics/Font.h:
+ (Font):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ (WebCore::Font::initFormatForTextLayout):
+
+2013-03-22 Joshua Bell <jsbell@chromium.org>
+
+ REGRESSION (r146540?): Crashes in storage/indexeddb/factory-basics-workers.html, storage/indexeddb/transaction-error.html
+ https://bugs.webkit.org/show_bug.cgi?id=113019
+
+ Reviewed by Tony Chang.
+
+ Also manifesting flakily under Chromium's content_shell. It's an ASSERT being hit in
+ the IDBTransaction destructor. The cause was r146540 which allows a stopped context
+ to reclaim script wrappers. This allows the IDBTransaction to be deref'd at times where
+ it previously would have just leaked. Modulate the destructor assertions to account
+ for this case.
+
+ No new tests; failures already manifest as flaky crashes in some ports.
+
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::~IDBTransaction): If context is stopped, expected state
+ transitions/cleanup may not have occurred before destructor runs.
+
+2013-03-22 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Histogram available disk space on attempt to open database
+ https://bugs.webkit.org/show_bug.cgi?id=112862
+
+ Reviewed by Tony Chang.
+
+ ChromeOS suspects they might be hitting disk corruption when the disks
+ are nearly full. This patch logs the available space to either the
+ "success" or the "fail" histogram as appropriate so that the
+ distributions can be compared.
+
+ No new tests - I don't know of a good way to test histograms. Local
+ printf testing didn't turn up any bugs.
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::HistogramFreeSpace):
+ (WebCore):
+ (WebCore::LevelDBDatabase::open):
+
+2013-03-22 Nate Chapin <japhet@chromium.org>
+
+ REGRESSION (r146239): Reproducible crash in WebCore::DocumentLoader::responseReceived.
+ https://bugs.webkit.org/show_bug.cgi?id=112811
+
+ Reviewed by Brady Eidson.
+
+ Test: http/tests/cache/x-frame-options-304.html
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::responseReceived):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
+ * loader/cache/CachedRawResource.h:
+
+2013-03-22 Jer Noble <jer.noble@apple.com>
+
+ REGRESSION: -webkit-box-reflect does not show on video elements
+ https://bugs.webkit.org/show_bug.cgi?id=112397
+
+ Reviewed by Eric Carlson.
+
+ Work around the ASSERTs generated when setting an AVPlayerLayer's player property
+ during a CA flush by setting the player property during the next runloop, outside
+ of a CA flush.
+
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ (PlatformCALayer::clone):
+
+2013-03-22 peavo@outlook.com <peavo@outlook.com>
+
+ [Curl] Performance fix, avoid loading cookie file on every request.
+ https://bugs.webkit.org/show_bug.cgi?id=113023
+
+ Reviewed by Brent Fulgham.
+
+ We currently load the cookie file on every request, and when setting cookies from JavaScript, by using the option CURLOPT_COOKIEFILE.
+ This is very inefficient as the cookie file can get quite large, and file I/O is slow.
+ It is sufficient to load the cookie file on startup, as we use a shared cookie database between the requests.
+
+ * platform/network/curl/CookieJarCurl.cpp:
+ (WebCore::setCookiesFromDOM): Avoid loading cookie file when setting cookies from JavaScript.
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::initializeHandle): Avoid loading cookie file on every request.
+ (WebCore::ResourceHandleManager::initCookieSession): Load the cookie file to shared database on startup.
+
+2013-03-22 Tiancheng Jiang <tijiang@rim.com>
+
+ [BlackBerry] Update Input field Background Color
+ https://bugs.webkit.org/show_bug.cgi?id=113063
+
+ Reviewed by George Staikos.
+
+ RIM PR 307463.
+ Internally reviewed by Ed Baker.
+
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::paintTextFieldOrTextAreaOrSearchField):
+
+2013-03-22 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: FlameChart. Draw function names over flame chart bar if they fit into the bar.
+ https://bugs.webkit.org/show_bug.cgi?id=113052
+
+ Reviewed by Vsevolod Vlasov.
+
+ The draw function will draw the bar title if the text is less than bar width.
+ Unfortunately almost all the projects which need to be profiled
+ use long function names with dots. So if the function name has dots and
+ doesn't fit into the space then prepareTitle will try to drop the prefix before dot.
+ If the title has no dots then the function will strip the tail of the title.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.prototype.draw):
+ (WebInspector.FlameChart.prototype._prepareTitle):
+
+2013-03-22 Vladislav Kaznacheev <kaznacheev@chromium.org>
+
+ Web Inspector: Add "hidden" attribute to the recently added APIs in Inspector.json
+ https://bugs.webkit.org/show_bug.cgi?id=113061
+
+ Added "hidden": true to the APIs introduced since version 1.0.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/Inspector.json:
+
+2013-03-22 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Correctly implement scrollToLine, revealLine and setSelection on CodeMirror editor.
+ https://bugs.webkit.org/show_bug.cgi?id=113028
+
+ Reviewed by Pavel Feldman.
+
+ Added focus event handler to CodeMirror editor view elememnt to support inspector's focus model.
+ Added selection and scroll listeners to correctly save editor scroll and selection in history.
+ Implemented revealLine, scrollToLine and setSelection.
+ Note: CodeMirror's coordsChar method does not work correctly in "local" mode, implemented as binary search
+ as a temporary workaround.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor):
+ (WebInspector.CodeMirrorTextEditor.prototype.defaultFocusedElement):
+ (WebInspector.CodeMirrorTextEditor.prototype._handleElementFocus):
+ (WebInspector.CodeMirrorTextEditor.prototype.revealLine):
+ (WebInspector.CodeMirrorTextEditor.prototype._coordsChar):
+ (WebInspector.CodeMirrorTextEditor.prototype._topScrolledLine):
+ (WebInspector.CodeMirrorTextEditor.prototype._bottomScrolledLine):
+ (WebInspector.CodeMirrorTextEditor.prototype._scroll):
+ (WebInspector.CodeMirrorTextEditor.prototype._selectionChange):
+ (WebInspector.CodeMirrorTextEditor.prototype.scrollToLine):
+ (WebInspector.CodeMirrorTextEditor.prototype.setSelection):
+ (WebInspector.CodeMirrorTextEditor.prototype.copyRange):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditor.prototype.copyRange):
+
+2013-03-22 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [Regression] Editor scroll is not restored after inspector reload.
+ https://bugs.webkit.org/show_bug.cgi?id=113027
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.wasShown):
+ (WebInspector.SourceFrame.prototype._isEditorShowing):
+ (WebInspector.SourceFrame.prototype._innerHighlightLineIfNeeded):
+ (WebInspector.SourceFrame.prototype._innerRevealLineIfNeeded):
+ (WebInspector.SourceFrame.prototype._innerScrollToLineIfNeeded):
+ (WebInspector.SourceFrame.prototype._innerSetSelectionIfNeeded):
+
+2013-03-22 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Fix build with OPENCL 1.2
+ https://bugs.webkit.org/show_bug.cgi?id=113056
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Switch qmake checks to the modern style which means we can enable OpenCL with
+ WEBKIT_CONFIG+=opencl.
+
+ Upgrade OpenCL 1.1 clCreateImage2D to OpenCL 1.2 clCreateImage calls.
+
+ * Target.pri:
+ * WebCore.pri:
+ * platform/graphics/filters/FilterEffect.cpp:
+ (WebCore::FilterEffect::createOpenCLImageResult):
+ * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp:
+ (WebCore::FilterContextOpenCL::createOpenCLImage):
+
+2013-03-22 ChangSeok Oh <changseok.oh@collabora.com>
+
+ [GTK][AC] Opacity animation doesn't work with clutter backend
+ https://bugs.webkit.org/show_bug.cgi?id=110347
+
+ Reviewed by Gustavo Noronha Silva.
+
+ The static casting in ternary operator doesn't change actual inputted argument type.
+ So I replaced it with if-else statement.
+
+ Covered by existing animation tests.
+
+ * platform/graphics/clutter/PlatformClutterAnimation.cpp:
+ (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
+ (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
+
+2013-03-22 ChangSeok Oh <changseok.oh@collabora.com>
+
+ [GTK][AC] Add removing animations procedure with clutter ac backend
+ https://bugs.webkit.org/show_bug.cgi?id=110607
+
+ Reviewed by Gustavo Noronha Silva.
+
+ This changes is based on mac port implementation. The only different thing is
+ that updateAnimations is called explicitly in destructor of GraphicsLayerClutter
+ to remove uncommitted animations. Because even though we call notifyFlushRequired
+ to remove existing animations in removeAnimation(), removeClutterAnimationFromLayer
+ has been never reached since the root layer is destroyed before. It means
+ that we haven't lost a change to remove actual animations from clutterActor.
+
+ Covered by existing animation tests.
+
+ * platform/graphics/clutter/GraphicsLayerClutter.cpp:
+ (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
+ (WebCore::GraphicsLayerClutter::removeAnimation):
+ (WebCore):
+ (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
+ * platform/graphics/clutter/GraphicsLayerClutter.h:
+ (WebCore::GraphicsLayerClutter::animationIsRunning):
+ (GraphicsLayerClutter):
+
+2013-03-22 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Optimize AlphaOp for HTMLVideoElement input.
+ https://bugs.webkit.org/show_bug.cgi?id=113049
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Covered by existing tests.
+
+ Changeset 137397 implemented optimisation to avoid any
+ unnecessary Unmultiply or Premultiply operation in unpack/pack
+ provided the Image source is from HTMLVideoElement. This patch
+ enables the same for EFL port.
+
+ * platform/graphics/efl/GraphicsContext3DEfl.cpp:
+ (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
+
+2013-03-22 Tommy Widenflycht <tommyw@google.com>
+
+ Clean up the speech recognintion API
+ https://bugs.webkit.org/show_bug.cgi?id=112916
+
+ Reviewed by Adam Barth.
+
+ This patch cleans away deprecated parts, fixes so that stop() can be called more than once and adds
+ the missing emma attribute on SpeechRecognitionEvent (which is always null).
+
+ Patch covered by existing tests.
+
+ * Modules/speech/SpeechRecognition.cpp:
+ (WebCore::SpeechRecognition::stopFunction):
+ (WebCore::SpeechRecognition::abort):
+ (WebCore::SpeechRecognition::didEnd):
+ (WebCore::SpeechRecognition::SpeechRecognition):
+ * Modules/speech/SpeechRecognition.h:
+ (SpeechRecognition):
+ * Modules/speech/SpeechRecognitionEvent.cpp:
+ (WebCore::SpeechRecognitionEvent::createResult):
+ (WebCore::SpeechRecognitionEvent::createNoMatch):
+ (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
+ * Modules/speech/SpeechRecognitionEvent.h:
+ (WebCore):
+ (SpeechRecognitionEventInit):
+ (SpeechRecognitionEvent):
+ (WebCore::SpeechRecognitionEvent::emma):
+ * Modules/speech/SpeechRecognitionEvent.idl:
+
+2013-03-22 Emil A Eklund <eae@chromium.org>
+
+ Floor cell widths in AutoTableLayout::recalcColumn
+ https://bugs.webkit.org/show_bug.cgi?id=112922
+
+ Reviewed by Levi Weintraub.
+
+ Table cells widths are floored to ensure even distribution of available
+ space across columns. The code path that computes the width of the
+ _table_ failed to take this into account and thus can over report the
+ total width of the table.
+
+ Test: fast/sub-pixel/table-with-subpixel-cell-size.html
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn): Floor width to match column sizing logic.
+
+2013-03-22 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r146208): Export shouldPrintExceptions methods for iOS
+
+ Fixes the following build failure:
+
+ Undefined symbols for architecture i386:
+ "__ZN7WebCore11PageConsole24setShouldPrintExceptionsEb", referenced from:
+ +[WebCoreStatistics setShouldPrintExceptions:] in WebCoreStatistics.o
+ "__ZN7WebCore11PageConsole21shouldPrintExceptionsEv", referenced from:
+ +[WebCoreStatistics shouldPrintExceptions] in WebCoreStatistics.o
+ ld: symbol(s) not found for architecture i386
+ clang: error: linker command failed with exit code 1 (use -v to see invocation)
+
+ * WebCore.exp.in: Move symbols so they're exported for iOS as
+ well.
+
+2013-03-22 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Fix Chromium Win compilation after r146583.
+
+ * bindings/v8/CustomElementHelpers.cpp:
+ (WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
+
+2013-03-22 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Chart has to be zoomed around the mouse pointer.
+ https://bugs.webkit.org/show_bug.cgi?id=113031
+
+ Reviewed by Yury Semikhatsky.
+
+ Overview grid is able to zoom around the mouse pointer.
+ So the simplest way is to translate x coordinate of the mouse pointer hovered over the chart
+ to x coordinate in term of overview window and pass it to the zoom function.
+
+ Minor unrelated fix: draw small border at bottom of the overview grid.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.prototype._onMouseWheel):
+ * inspector/front-end/OverviewGrid.js:
+ (WebInspector.OverviewGrid.prototype.zoom):
+ * inspector/front-end/flameChart.css:
+ (#flame-chart-overview-container):
+
+2013-03-22 No'am Rosenthal <noam@webkit.org>
+
+ [Texmap] TextureMapperImageBuffer should not use rendering code for filters.
+ https://bugs.webkit.org/show_bug.cgi?id=113040
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Disable TextureMapperImageBuffer filters, until they can be done the right way.
+ This should only disrupt accelerated filters in fallback mode, which is a very rare
+ use case.
+
+ No new testable functionality.
+
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
+ (WebCore::BitmapTextureImageBuffer::applyFilters):
+
+2013-03-22 Sergey Ryazanov <serya@chromium.org>
+
+ Web Inspector: Report more CSS errors
+ https://bugs.webkit.org/show_bug.cgi?id=113022
+
+ Reviewed by Pavel Feldman.
+
+ Reporting next few CSS syntax errors in declaration_list.
+
+ * css/CSSGrammar.y.in:
+
+2013-03-18 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: use individual samples to construct CPU profile flame chart
+ https://bugs.webkit.org/show_bug.cgi?id=112569
+
+ Reviewed by Pavel Feldman.
+
+ Added an optional array of samples to the CPU profile returned over the
+ protocol. Each sample is id of the profile node corresponding to the top frame
+ of the sample's stack trace. The array of samples if present is used to draw
+ the flame chart on the CPU profile panel, otherwise flame chart is drawn based
+ on the aggregated profile data.
+
+ * bindings/js/ScriptProfile.cpp:
+ (WebCore::ScriptProfile::buildInspectorObjectForSamples):
+ * bindings/js/ScriptProfile.h:
+ (ScriptProfile):
+ * bindings/v8/ScriptProfile.cpp:
+ (WebCore::buildInspectorObjectFor):
+ (WebCore):
+ (WebCore::ScriptProfile::buildInspectorObjectForSamples):
+ * bindings/v8/ScriptProfile.h:
+ (ScriptProfile):
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::start):
+ * inspector/Inspector.json:
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::getCPUProfile):
+ * inspector/front-end/CPUProfileView.js:
+ (WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
+ (WebInspector.CPUProfileView.prototype._buildIdToNodeMap):
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.prototype._calculateTimelineData):
+
+2013-03-22 Steve Block <steveblock@chromium.org>
+
+ Use generated bindings for the Coordinates type used by Geolocation
+ https://bugs.webkit.org/show_bug.cgi?id=112975
+
+ Reviewed by Kentaro Hara.
+
+ No new tests, refactoring only.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/geolocation/Coordinates.cpp: Renamed from Source/WebCore/bindings/js/JSCoordinatesCustom.cpp.
+ (WebCore):
+ (WebCore::Coordinates::altitude):
+ (WebCore::Coordinates::altitudeAccuracy):
+ (WebCore::Coordinates::heading):
+ (WebCore::Coordinates::speed):
+ * Modules/geolocation/Coordinates.h:
+ (Coordinates):
+ * Modules/geolocation/Coordinates.idl:
+ * Target.pri:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBindingsAllInOne.cpp:
+ * bindings/v8/custom/V8CoordinatesCustom.cpp: Removed.
+
+2013-03-22 Kunihiko Sakamoto <ksakamoto@chromium.org>
+
+ INPUT_MULTIPLE_FIELDS_UI: Incomplete datetime format should fallback to default
+ https://bugs.webkit.org/show_bug.cgi?id=113005
+
+ Reviewed by Kent Tamura.
+
+ Use fallback format when datetime format from locale is not complete.
+
+ Tests: fast/forms/date-multiple-fields/date-multiple-fields-fallback-format.html
+ fast/forms/datetime-multiple-fields/datetime-multiple-fields-fallback-format.html
+ fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-fallback-format.html
+ fast/forms/month-multiple-fields/month-multiple-fields-fallback-format.html
+ fast/forms/time-multiple-fields/time-multiple-fields-fallback-format.html
+ fast/forms/week-multiple-fields/week-multiple-fields-fallback-format.html
+
+ * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+ (DateTimeFormatValidator): A helper class that parses datetime format and tests existence of fields.
+ (WebCore::DateTimeFormatValidator::DateTimeFormatValidator):
+ (WebCore::DateTimeFormatValidator::visitField):
+ (WebCore::DateTimeFormatValidator::validateFormat): Parses datetime format and validates by calling BaseMultipleFieldsDateAndTimeInputType::isValidFormat.
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Checks if dateTimeFormat is valid, and uses fallback format if not.
+ * html/BaseMultipleFieldsDateAndTimeInputType.h:
+ (BaseMultipleFieldsDateAndTimeInputType): Declare isValidFormat.
+ * html/DateInputType.cpp:
+ (WebCore::DateInputType::isValidFormat): Added.
+ * html/DateInputType.h:
+ (DateInputType):
+ * html/DateTimeInputType.cpp:
+ (WebCore::DateTimeInputType::isValidFormat): Added.
+ * html/DateTimeInputType.h:
+ (DateTimeInputType):
+ * html/DateTimeLocalInputType.cpp:
+ (WebCore::DateTimeLocalInputType::isValidFormat): Added.
+ * html/DateTimeLocalInputType.h:
+ (DateTimeLocalInputType):
+ * html/MonthInputType.cpp:
+ (WebCore::MonthInputType::isValidFormat): Added.
+ * html/MonthInputType.h:
+ (MonthInputType):
+ * html/TimeInputType.cpp:
+ (WebCore::TimeInputType::isValidFormat): Added.
+ * html/TimeInputType.h:
+ (TimeInputType):
+ * html/WeekInputType.cpp:
+ (WebCore::WeekInputType::isValidFormat): Added.
+ * html/WeekInputType.h:
+ (WeekInputType):
+
+2013-03-22 Hajime Morrita <morrita@google.com>
+
+ Custom Elements: "readyCallback" lifecycle callback should be called.
+ https://bugs.webkit.org/show_bug.cgi?id=112538
+
+ Reviewed by Elliott Sprehn.
+
+ This change allows each custom element definition to hook up its instantiation,
+ namely "readyCallback" lifecycle callback.
+
+ The change has two parts:
+ - 1. Tracking which Element objects to be created.
+ - 2. Invoking appropriate JavaScript functions, which are readyCallback(),
+ before the Element object is visible from page script.
+
+ For 1, CustomElementRegistry maintains list of "callback
+ invocaions". Each list item ("invocation") tracks the element
+ which has a lifecycle callback to be invoked. Each invocation is
+ registered when - Any custom element C++ object is instantiated.
+ See changes on CustomElementConstructor.cpp.
+
+ This also happens when @is attribute is set by the parser or node
+ cloning routine, which can turn a non-custom element into a
+ type-extended custom element. See changes on Element.cpp.
+
+ For 2, CustomElementRegistry basically follows what
+ MutationObserver is doing, and introduces a method called
+ deliverLifecycleCallbacks(). This function flushes all pending
+ callback invocations. You can think it as a dual of
+ MutationObserver::deliverAllMutations().
+
+ The delivery function is called places where MutationObserver's
+ deliverAllMutations() is called. In addition, it is also called
+ just before returning from a set of DOM APIs. For example, it is
+ called just before createElement() returns, so that possibly
+ created custom element becomes ready through its readyCallback().
+ Such APIs get "V8DeliverCustomElementCallbacks" IDL attribute. In
+ principle, APIs which can create new custom element instnaces are
+ marked. See CustomElementRegistry::CallbackDeliveryScope and
+ changes on CodeGeneratorV8.pm.
+
+ We need this extra work because the readyCallback() needs to give
+ an illusion so that JavaScript programmers feel like the
+ readyCallback() callback being called just after it is created,
+ instead of called on arbitrary late timing like MutationObserver
+ notifications.
+
+ Tests: fast/dom/custom/lifecycle-ready-createElement-recursion.html
+ fast/dom/custom/lifecycle-ready-createElement-reentrancy.html
+ fast/dom/custom/lifecycle-ready-creation-api.html
+ fast/dom/custom/lifecycle-ready-innerHTML.html
+ fast/dom/custom/lifecycle-ready-parser-only.html
+ fast/dom/custom/lifecycle-ready-parser-script.html
+ fast/dom/custom/lifecycle-ready-paste.html
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ - Hooked up CallbackDeliveryScope through V8DeliverCustomElementCallbacks attriute.
+ (GenerateCustomElementInvocationScopeIfNeeded):
+ (GenerateNormalAttrSetter):
+ (GenerateFunction):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/v8/CustomElementHelpers.cpp:
+ (WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
+ (WebCore::CustomElementHelpers::invokeReadyCallbacksIfNeeded):
+ * bindings/v8/CustomElementHelpers.h:
+ (CustomElementHelpers):
+ * bindings/v8/V8RecursionScope.cpp: Added deliverAllLifecycleCallbacks()
+ (WebCore::V8RecursionScope::didLeaveScriptContext):
+ * dom/CustomElementConstructor.cpp:
+ (WebCore::CustomElementConstructor::createElement):
+ (WebCore::CustomElementConstructor::createElementInternal):
+ * dom/CustomElementConstructor.h:
+ (WebCore::CustomElementConstructor::isExtended):
+ (CustomElementConstructor):
+ * dom/CustomElementRegistry.cpp: Adding element tracking and invocation execution.
+ (WebCore::CustomElementInvocation::CustomElementInvocation):
+ (WebCore::CustomElementInvocation::~CustomElementInvocation):
+ (WebCore::activeCustomElementRegistries):
+ (WebCore::CustomElementRegistry::~CustomElementRegistry):
+ (WebCore::CustomElementRegistry::didGiveTypeExtension):
+ (WebCore::CustomElementRegistry::didCreateElement):
+ (WebCore::CustomElementRegistry::activate):
+ (WebCore::CustomElementRegistry::deactivate):
+ (WebCore::CustomElementRegistry::deliverLifecycleCallbacks):
+ (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacks):
+ * dom/CustomElementRegistry.h:
+ (CustomElementInvocation):
+ (WebCore::CustomElementInvocation::element):
+ (CallbackDeliveryScope):
+ (WebCore::CustomElementRegistry::CallbackDeliveryScope::CallbackDeliveryScope):
+ (WebCore::CustomElementRegistry::CallbackDeliveryScope::~CallbackDeliveryScope):
+ (CustomElementRegistry):
+ (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacksIfNeeded):
+ * dom/Document.cpp:
+ (WebCore::Document::createElement):
+ (WebCore::Document::didCreateCustomElement):
+ * dom/Document.h:
+ (Document):
+ * dom/Document.idl:
+ * dom/Element.cpp:
+ (WebCore::Element::attributeChangedFromParserOrByCloning): Added to catch @is attribute
+ (WebCore::Element::parserSetAttributes):
+ (WebCore::Element::cloneAttributesFromElement):
+ * dom/Element.h:
+ * dom/Node.idl:
+ * dom/ShadowRoot.idl:
+ * html/HTMLElement.idl:
+ * html/parser/HTMLScriptRunner.cpp: Added deliverAllLifecycleCallbacks()
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ (WebCore::HTMLScriptRunner::runScript):
+
+2013-03-22 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Finalize the RTCPeerConnection states
+ https://bugs.webkit.org/show_bug.cgi?id=112792
+
+ Reviewed by Adam Barth.
+
+ This patch finalized the RTCPeerConnection state and events. These changes
+ have not yet pushed out to the editors draft; but they are uncontroversial
+ and agreed upon.
+
+ readyState will be deleted; please use the replacement signalingState which is already available.
+ onstatechange -> onsignalingstatechange
+ onicechange -> oniceconnectionstatechange
+ ongatheringchange will be deleted since oniceconnectionstatechange can be used for the same purpose.
+ RTCIceConnectionState::"starting" -> RTCIceConnectionState::"new"
+
+ Patch covered by modified tests.
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::RTCPeerConnection):
+ (WebCore::RTCPeerConnection::iceConnectionState):
+ (WebCore::RTCPeerConnection::changeSignalingState):
+ (WebCore::RTCPeerConnection::changeIceGatheringState):
+ (WebCore::RTCPeerConnection::changeIceConnectionState):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * dom/EventNames.h:
+ (WebCore):
+ * platform/mediastream/RTCPeerConnectionHandlerClient.h:
+
+2013-03-22 Mike West <mkwst@chromium.org>
+
+ Prefer 'KURL(ParsedURLString, String)' when dealing with known-good data.
+ https://bugs.webkit.org/show_bug.cgi?id=112965
+
+ Reviewed by Alexey Proskuryakov.
+
+ In https://bugs.webkit.org/show_bug.cgi?id=112783#c6, Adam noted that
+ it would be possible to use 'KURL(ParsedURLString, [url])' rather than
+ 'KURL(KURL(), [url])', since we knew that the URL in question is a
+ value and absolute URL. This patch fixes the obvious instances of this
+ pattern; there are several more 'KURL(KURL(), String)' calls in
+ WebCore but these were the only places I was reasonably sure that bad
+ data couldn't creep in.
+
+ * dom/Document.cpp:
+ (WebCore::Document::updateBaseURL):
+ 'documentURI' is pulled from 'url()->string()'. It's safe.
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::gatherSecurityPolicyViolationEventData):
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ 'CallFrame::sourceURL()' is a known valid/absolute URL.
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
+ (WebCore::SecurityOrigin::create):
+ The strings constructed here are certainly valid.
+
+2013-03-22 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. move overview window when user scrolls the chart.
+ https://bugs.webkit.org/show_bug.cgi?id=113014
+
+ Reviewed by Yury Semikhatsky.
+
+ I found that I could use scaling mechanics in OverviewGrid for scaling the chart.
+ But the dragging part was not so simple due to the different approaches in
+ OverviewGrid and FlameChart. OverviewGrid used _windowLeft and _windowRight
+ when FlameChart used _xOffset and _xScaleFactor and width.
+ It was not practical and I rewrote the FlameChart mechanics
+ and now it also uses _windowLeft _windowRight.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
+ (WebInspector.FlameChart.Calculator.prototype.computePosition):
+ (WebInspector.FlameChart.prototype._onWindowChanged):
+ (WebInspector.FlameChart.prototype._startCanvasDragging):
+ (WebInspector.FlameChart.prototype._canvasDragging):
+ (WebInspector.FlameChart.prototype._onMouseMove):
+ (WebInspector.FlameChart.prototype._onMouseWheel):
+ (WebInspector.FlameChart.prototype._coordinatesToNodeIndex):
+ (WebInspector.FlameChart.prototype._drawOverviewCanvas):
+ (WebInspector.FlameChart.prototype.draw):
+ (WebInspector.FlameChart.prototype._updateBoundaries):
+ (WebInspector.FlameChart.prototype.update):
+ * inspector/front-end/OverviewGrid.js:
+ (WebInspector.OverviewGrid.prototype.setWindowPosition):
+ (WebInspector.OverviewGrid.prototype.setWindow):
+ (WebInspector.OverviewGrid.prototype.addEventListener):
+ (WebInspector.OverviewGrid.prototype.zoom):
+ (WebInspector.OverviewGrid.Window.prototype._zoom):
+ * inspector/front-end/inspectorCommon.css:
+ (.overview-grid-window-rulers):
+
+2013-03-22 Steve Block <steveblock@chromium.org>
+
+ Move GeolocationClient.h to Modules/geolocation/
+ https://bugs.webkit.org/show_bug.cgi?id=112997
+
+ Reviewed by Kentaro Hara.
+
+ No new tests, no functional change.
+
+ * GNUmakefile.list.am:
+ * Modules/geolocation/GeolocationClient.h: Renamed from Source/WebCore/page/GeolocationClient.h.
+ (WebCore):
+ (GeolocationClient):
+ (WebCore::GeolocationClient::~GeolocationClient):
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-03-22 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146534 and r146565.
+ http://trac.webkit.org/changeset/146534
+ http://trac.webkit.org/changeset/146565
+ https://bugs.webkit.org/show_bug.cgi?id=113017
+
+ "r146534 caused perf regression on Chromium Linux x64"
+ (Requested by yurys on #webkit).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrSetter):
+ (GenerateOverloadedFunction):
+ (GenerateFunctionCallback):
+ (GenerateFunction):
+ (GenerateParametersCheck):
+ (GenerateSingleConstructorCallback):
+ (GenerateNonStandardFunction):
+ (GenerateImplementation):
+ (GenerateFunctionCallString):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore):
+ * bindings/v8/CustomElementHelpers.cpp:
+ * bindings/v8/CustomElementHelpers.h:
+ (WebCore):
+ (CustomElementHelpers):
+ * bindings/v8/V8DOMConfiguration.cpp:
+ (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
+ (WebCore::V8DOMConfiguration::configureTemplate):
+ * bindings/v8/V8DOMConfiguration.h:
+ (BatchedMethod):
+ (V8DOMConfiguration):
+ * bindings/v8/V8RecursionScope.cpp:
+ (WebCore::V8RecursionScope::didLeaveScriptContext):
+ * dom/CustomElementConstructor.cpp:
+ (WebCore::CustomElementConstructor::createElement):
+ * dom/CustomElementConstructor.h:
+ (CustomElementConstructor):
+ * dom/CustomElementRegistry.cpp:
+ (WebCore::CustomElementRegistry::~CustomElementRegistry):
+ * dom/CustomElementRegistry.h:
+ (WebCore):
+ (CustomElementRegistry):
+ * dom/Document.cpp:
+ (WebCore::Document::createElement):
+ (WebCore::Document::registerElement):
+ * dom/Document.h:
+ * dom/Document.idl:
+ * dom/Element.cpp:
+ (WebCore::Element::parserSetAttributes):
+ (WebCore::Element::cloneAttributesFromElement):
+ * dom/Element.h:
+ * dom/Element.idl:
+ * dom/Node.idl:
+ * dom/ShadowRoot.idl:
+ * html/HTMLElement.idl:
+ * html/parser/HTMLScriptRunner.cpp:
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ (WebCore::HTMLScriptRunner::runScript):
+
+2013-03-22 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
+
+ [GStreamer] Memory leak in AudioFileReader::createBus()
+ https://bugs.webkit.org/show_bug.cgi?id=112925
+
+ Reviewed by Martin Robinson.
+
+ Adopt the reference returned by g_timeout_source_new()
+ to fix a memory leak.
+
+ No new tests. No change in behavior.
+
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
+ (WebCore::AudioFileReader::createBus):
+
+2013-03-22 Steve Block <steveblock@chromium.org>
+
+ Move page/Coordinates.[h|idl] to Modules/geolocation/
+ https://bugs.webkit.org/show_bug.cgi?id=112945
+
+ Reviewed by Kentaro Hara.
+
+ No new tests, no functional change.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Modules/geolocation/Coordinates.h: Renamed from Source/WebCore/page/Coordinates.h.
+ (WebCore):
+ (Coordinates):
+ (WebCore::Coordinates::create):
+ (WebCore::Coordinates::isolatedCopy):
+ (WebCore::Coordinates::latitude):
+ (WebCore::Coordinates::longitude):
+ (WebCore::Coordinates::altitude):
+ (WebCore::Coordinates::accuracy):
+ (WebCore::Coordinates::altitudeAccuracy):
+ (WebCore::Coordinates::heading):
+ (WebCore::Coordinates::speed):
+ (WebCore::Coordinates::canProvideAltitude):
+ (WebCore::Coordinates::canProvideAltitudeAccuracy):
+ (WebCore::Coordinates::canProvideHeading):
+ (WebCore::Coordinates::canProvideSpeed):
+ (WebCore::Coordinates::Coordinates):
+ * Modules/geolocation/Coordinates.idl: Renamed from Source/WebCore/page/Coordinates.idl.
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-03-21 Hajime Morrita <morrita@google.com>
+
+ Custom Elements: "readyCallback" lifecycle callback should be called.
+ https://bugs.webkit.org/show_bug.cgi?id=112538
+
+ Reviewed by Elliott Sprehn.
+
+ This change allows each custom element definition to hook up its instantiation,
+ namely "readyCallback" lifecycle callback.
+
+ The change has two parts:
+ - 1. Tracking which Element objects to be created.
+ - 2. Invoking appropriate JavaScript functions, which are readyCallback(),
+ before the Element object is visible from page script.
+
+ For 1, CustomElementRegistry maintains list of "callback
+ invocaions". Each list item ("invocation") tracks the element
+ which has a lifecycle callback to be invoked. Each invocation is
+ registered when - Any custom element C++ object is instantiated.
+ See changes on CustomElementConstructor.cpp.
+
+ This also happens when @is attribute is set by the parser or node
+ cloning routine, which can turn a non-custom element into a
+ type-extended custom element. See changes on Element.cpp.
+
+ For 2, CustomElementRegistry basically follows what
+ MutationObserver is doing, and introduces a method called
+ deliverLifecycleCallbacks(). This function flushes all pending
+ callback invocations. You can think it as a dual of
+ MutationObserver::deliverAllMutations().
+
+ The delivery function is called places where MutationObserver's
+ deliverAllMutations() is called. In addition, it is also called
+ just before returning from a set of DOM APIs. For example, it is
+ called just before createElement() returns, so that possibly
+ created custom element becomes ready through its readyCallback().
+ Such APIs get "V8DeliverCustomElementCallbacks" IDL attribute. In
+ principle, APIs which can create new custom element instnaces are
+ marked. See CustomElementRegistry::CallbackDeliveryScope and
+ changes on CodeGeneratorV8.pm.
+
+ We need this extra work because the readyCallback() needs to give
+ an illusion so that JavaScript programmers feel like the
+ readyCallback() callback being called just after it is created,
+ instead of called on arbitrary late timing like MutationObserver
+ notifications.
+
+ Tests: fast/dom/custom/lifecycle-ready-createElement-recursion.html
+ fast/dom/custom/lifecycle-ready-createElement-reentrancy.html
+ fast/dom/custom/lifecycle-ready-creation-api.html
+ fast/dom/custom/lifecycle-ready-innerHTML.html
+ fast/dom/custom/lifecycle-ready-parser-only.html
+ fast/dom/custom/lifecycle-ready-parser-script.html
+ fast/dom/custom/lifecycle-ready-paste.html
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ - Hooked up CallbackDeliveryScope through V8DeliverCustomElementCallbacks attriute.
+ (GenerateCustomElementInvocationScopeIfNeeded):
+ (GenerateNormalAttrSetter):
+ (GenerateFunction):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/v8/CustomElementHelpers.cpp:
+ (WebCore::CustomElementHelpers::invokeReadyCallbackIfNeeded):
+ (WebCore::CustomElementHelpers::invokeReadyCallbacksIfNeeded):
+ * bindings/v8/CustomElementHelpers.h:
+ (CustomElementHelpers):
+ * bindings/v8/V8RecursionScope.cpp: Added deliverAllLifecycleCallbacks()
+ (WebCore::V8RecursionScope::didLeaveScriptContext):
+ * dom/CustomElementConstructor.cpp:
+ (WebCore::CustomElementConstructor::createElement):
+ (WebCore::CustomElementConstructor::createElementInternal):
+ * dom/CustomElementConstructor.h:
+ (WebCore::CustomElementConstructor::isExtended):
+ (CustomElementConstructor):
+ * dom/CustomElementRegistry.cpp: Adding element tracking and invocation execution.
+ (WebCore::CustomElementInvocation::CustomElementInvocation):
+ (WebCore::CustomElementInvocation::~CustomElementInvocation):
+ (WebCore::activeCustomElementRegistries):
+ (WebCore::CustomElementRegistry::~CustomElementRegistry):
+ (WebCore::CustomElementRegistry::didGiveTypeExtension):
+ (WebCore::CustomElementRegistry::didCreateElement):
+ (WebCore::CustomElementRegistry::activate):
+ (WebCore::CustomElementRegistry::deactivate):
+ (WebCore::CustomElementRegistry::deliverLifecycleCallbacks):
+ (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacks):
+ * dom/CustomElementRegistry.h:
+ (CustomElementInvocation):
+ (WebCore::CustomElementInvocation::element):
+ (CallbackDeliveryScope):
+ (WebCore::CustomElementRegistry::CallbackDeliveryScope::CallbackDeliveryScope):
+ (WebCore::CustomElementRegistry::CallbackDeliveryScope::~CallbackDeliveryScope):
+ (CustomElementRegistry):
+ (WebCore::CustomElementRegistry::deliverAllLifecycleCallbacksIfNeeded):
+ * dom/Document.cpp:
+ (WebCore::Document::createElement):
+ (WebCore::Document::didCreateCustomElement):
+ * dom/Document.h:
+ (Document):
+ * dom/Document.idl:
+ * dom/Element.cpp:
+ (WebCore::Element::attributeChangedFromParserOrByCloning): Added to catch @is attribute
+ (WebCore::Element::parserSetAttributes):
+ (WebCore::Element::cloneAttributesFromElement):
+ * dom/Element.h:
+ * dom/Node.idl:
+ * dom/ShadowRoot.idl:
+ * html/HTMLElement.idl:
+ * html/parser/HTMLScriptRunner.cpp: Added deliverAllLifecycleCallbacks()
+ (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
+ (WebCore::HTMLScriptRunner::runScript):
+
+2013-03-21 Jer Noble <jer.noble@apple.com>
+
+ Crash in WebCore::MediaPlayer::cachedResourceLoader + 4
+ https://bugs.webkit.org/show_bug.cgi?id=112977
+
+ Reviewed by Geoffrey Garen.
+
+ Speculative fix for a NULL-dereference crash. MediaPlayerPrivateAVFoundationObjC is the
+ sole owner of a WebCoreAVFLoaderDelegate instance. It releases this instance in its destructor,
+ but it is possible that, on another thread, the AVAssetResourceLoader has already begun
+ using the delegate and in so doing has retained it. By the time the delegate method is fired
+ on the main thread, the MediaPlayerPrivateAVFoundationObjC owner of the delegate has already
+ been deleted, and the delegate's m_callback pointer is now pointing at freed memory.
+
+ In addition to calling -[AVAssetResourceLoader setDelegate:queue:] to avoid any not-yet-started
+ delegate callbacks, MediaPlayerPrivateAVFoundationObjC should clear the WebCoreAVFLoaderDelegate
+ m_callback ivar, to avoid calling into freed memory for already queued delegate callbacks.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the m_loaderDelegate's callback pointer.
+ (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]): Check the value of m_callback before continuing.
+ (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]): Ditto.
+ (-[WebCoreAVFLoaderDelegate setCallback:]): Added simple setter.
+
+2013-03-21 Takashi Sakamoto <tasak@google.com>
+
+ XMLDocumentParser doesn't parse <template> correctly.
+ https://bugs.webkit.org/show_bug.cgi?id=112328
+
+ Reviewed by Hajime Morrita.
+
+ XMLDocumentParser should check whether a parent node is attached or not
+ when a new element is appended.
+
+ Test: fast/dom/HTMLTemplateElement/xhtml-with-titleElement-parsing-crash.xhtml
+
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::startElementNs):
+ m_currentNode is a parent node of newElement, but it is updated by
+ pushCurrentNode. So firstly stored copied m_curretNode's value into
+ local currentNode and used the currentNode to check whether
+ newElement's parent is attached or not.
+
+2013-03-21 David Grogan <dgrogan@chromium.org>
+
+ Unreviewed, rolling out r146560.
+ http://trac.webkit.org/changeset/146560
+ https://bugs.webkit.org/show_bug.cgi?id=112862
+
+ invalid parameter to histogram
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::open):
+
+2013-03-21 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Histogram available disk space on attempt to open database
+ https://bugs.webkit.org/show_bug.cgi?id=112862
+
+ Reviewed by Adam Barth.
+
+ ChromeOS suspects they might be hitting disk corruption when the disks
+ are nearly full. This patch logs the available space to either the
+ "success" or the "fail" histogram as appropriate so that the
+ distributions can be compared.
+
+ No new tests - I don't know of a good way to test histograms. Local
+ printf testing didn't turn up any bugs.
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::HistogramFreeSpace):
+ (WebCore):
+ (WebCore::LevelDBDatabase::open):
+
+2013-03-21 Li Yin <li.yin@intel.com>
+
+ FileAPI: Remove deprecation warning when ArrayBuffer is in Blob constructor.
+ https://bugs.webkit.org/show_bug.cgi?id=88389
+
+ Reviewed by Kenneth Russell.
+
+ Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob
+ Both ArrayBuffer and ArrayBufferView should be supported for Blob constructor.
+
+ Test: fast/files/blob-constructor.html.
+
+ * bindings/js/JSBlobCustom.cpp:
+ (WebCore::JSBlobConstructor::constructJSBlob):
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::V8Blob::constructorCustom):
+ * fileapi/WebKitBlobBuilder.cpp:
+ (WebCore::BlobBuilder::append): Remove the deprecated warning.
+ * fileapi/WebKitBlobBuilder.h:
+ (WebCore):
+ (BlobBuilder):
+
+2013-03-21 Takashi Sakamoto <tasak@google.com>
+
+ [Shadow]: @host styles are not applied dynamically
+ https://bugs.webkit.org/show_bug.cgi?id=112869
+
+ Reviewed by Elliott Sprehn.
+
+ Need to add features of @host @-rules to rule feature set.
+
+ Test: fast/dom/shadow/athost-apply-dynamically.html
+
+ * css/StyleScopeResolver.cpp:
+ (WebCore::StyleScopeResolver::collectFeaturesTo):
+
+2013-03-21 Hayato Ito <hayato@chromium.org>
+
+ [Shadow] Provide an api of insertionParent().
+ https://bugs.webkit.org/show_bug.cgi?id=112866
+
+ Add insertinParent binding to Element and Text.
+ It's prefixed (webkitInsertionParent) and guarded by SHADOW_DOM flag.
+
+ The bug in the Shadow DOM spec is here:
+ https://www.w3.org/Bugs/Public/show_bug.cgi?id=21067
+
+ Reviewed by Dimitri Glazkov.
+
+ Test: fast/dom/shadow/insertion-parent.html
+
+ * dom/Element.idl:
+ * dom/Node.cpp:
+ (WebCore::Node::insertionParentForBinding):
+ (WebCore):
+ * dom/Node.h:
+ (Node):
+ * dom/Text.idl:
+
+2013-03-21 Tom Sepez <tsepez@chromium.org>
+
+ Bypass XSSAuditor for asp.net servers.
+ https://bugs.webkit.org/show_bug.cgi?id=112235
+
+ Reviewed by Adam Barth.
+
+ Similar to https://bugs.webkit.org/show_bug.cgi?id=81283, but the
+ fix to that bug failed to cover this particular comma-splicing case.
+
+ Test: http/tests/security/xssAuditor/img-tag-with-comma.html
+
+ * html/parser/XSSAuditor.cpp:
+ (WebCore::isTerminatingCharacter):
+ Beware of comma-splicing tricks by stopping at commas.
+
+2013-03-21 Brady Eidson <beidson@apple.com>
+
+ If a previously loaded resource is later stored to the disk cache, replace the buffer with MMAP'ed memory.
+ <rdar://problem/13414154> and https://bugs.webkit.org/show_bug.cgi?id=112943
+
+ Reviewed by Geoff Garen.
+
+ No new tests (No change in behavior.)
+
+ Give SharedBuffer the ability to replace its contents from another SharedBuffer:
+ * platform/SharedBuffer.h:
+ * platform/cf/SharedBufferCF.cpp:
+ (WebCore::SharedBuffer:: tryReplaceContentsWithPlatformBuffer):
+
+ Forward along SharedBuffer's new ability to ResourceBuffer:
+ * loader/mac/ResourceBuffer.mm:
+ (WebCore::ResourceBuffer:: tryReplaceSharedBufferContents):
+ * loader/ResourceBuffer.h:
+
+ Give CachedResource the ability to replace its encoded data buffer if appropriate:
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource:: tryReplaceEncodedData):
+ * loader/cache/CachedResource.h:
+
+ * WebCore.exp.in:
+
+2013-03-21 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Ensure script wrappers can be collected after context is stopped
+ https://bugs.webkit.org/show_bug.cgi?id=112976
+
+ Reviewed by Adam Barth.
+
+ ActiveDOMObject::hasPendingActivity is called to see if script wrappers
+ can be disposed of. Once the script execution context has stopped they
+ should be free to go - include this in the checks.
+
+ No new tests - suggestions welcome.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::hasPendingActivity): Return false if stopped.
+ (WebCore::IDBDatabase::stop): Don't bother calling empty super impl.
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::hasPendingActivity): Return false if stopped.
+ (WebCore::IDBRequest::stop): Don't bother calling empty super impl.
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::hasPendingActivity): Return false if stopped.
+ (WebCore::IDBTransaction::stop): Don't bother calling empty super impl.
+
+2013-03-21 Russell McClellan <russell.mcclellan@gmail.com>
+
+ Remove upcastPointer from ActiveDOMObject constructor
+ https://bugs.webkit.org/show_bug.cgi?id=112858
+
+ Reviewed by Alexey Proskuryakov.
+
+ Removed pesky argument to ActiveDOMObject constructor that is no longer
+ used.
+
+ No new tests (no change in behavior).
+
+ * Modules/battery/BatteryManager.cpp:
+ (WebCore::BatteryManager::BatteryManager):
+ * Modules/filesystem/DOMFileSystem.cpp:
+ (WebCore::DOMFileSystem::DOMFileSystem):
+ * Modules/filesystem/FileWriter.cpp:
+ (WebCore::FileWriter::FileWriter):
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::Geolocation):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::IDBDatabase):
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::IDBRequest):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::IDBTransaction):
+ * Modules/mediasource/MediaSource.cpp:
+ (WebCore::MediaSource::MediaSource):
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::MediaStreamTrack):
+ * Modules/mediastream/RTCDTMFSender.cpp:
+ (WebCore::RTCDTMFSender::RTCDTMFSender):
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::RTCPeerConnection):
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
+ (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
+ * Modules/mediastream/RTCStatsRequestImpl.cpp:
+ (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
+ * Modules/mediastream/RTCVoidRequestImpl.cpp:
+ (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
+ * Modules/networkinfo/NetworkInfoConnection.cpp:
+ (WebCore::NetworkInfoConnection::NetworkInfoConnection):
+ * Modules/notifications/Notification.cpp:
+ (WebCore::Notification::Notification):
+ * Modules/notifications/NotificationCenter.cpp:
+ (WebCore::NotificationCenter::NotificationCenter):
+ * Modules/speech/SpeechRecognition.cpp:
+ (WebCore::SpeechRecognition::SpeechRecognition):
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::AudioContext):
+ * Modules/webdatabase/DatabaseContext.cpp:
+ (WebCore::DatabaseContext::DatabaseContext):
+ * Modules/websockets/WebSocket.cpp:
+ (WebCore::WebSocket::WebSocket):
+ * css/FontLoader.cpp:
+ (WebCore::FontLoader::FontLoader):
+ * dom/ActiveDOMObject.cpp:
+ (WebCore::ActiveDOMObject::ActiveDOMObject):
+ * dom/ActiveDOMObject.h:
+ (ActiveDOMObject):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
+ * dom/ScriptExecutionContext.h:
+ (ScriptExecutionContext):
+ (WebCore::ScriptExecutionContext::activeDOMObjects):
+ * fileapi/FileReader.cpp:
+ (WebCore::FileReader::FileReader):
+ * html/HTMLMarqueeElement.cpp:
+ (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::WebGLRenderingContext):
+ * loader/Prerenderer.cpp:
+ (WebCore::Prerenderer::Prerenderer):
+ * page/EventSource.cpp:
+ (WebCore::EventSource::EventSource):
+ * page/SuspendableTimer.cpp:
+ (WebCore::SuspendableTimer::SuspendableTimer):
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::AbstractWorker):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+
+2013-03-21 Alexey Proskuryakov <ap@apple.com>
+
+ [Mac] Move NSOperationQueue out of NetworkingContext
+ https://bugs.webkit.org/show_bug.cgi?id=112970
+
+ Reviewed by Brady Eidson.
+
+ WebCore clients do not need explicit control over what queue ResourceHandle works on,
+ they just want to avoid blocking main thread.
+
+ * platform/network/ResourceHandleClient.h:
+ (WebCore::ResourceHandleClient::usesAsyncCallbacks): Added. The name doesn't quite
+ match what ResourceHandleMac currently does, but it will very soon.
+
+ * platform/network/NetworkingContext.h:
+ (WebCore::NetworkingContext::scheduledRunLoopPairs):
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::operationQueueForAsyncClients):
+ (WebCore::ResourceHandle::start):
+
+2013-03-21 Marja Hölttä <marja@chromium.org>
+
+ [V8] Generate specialized callbacks for the main world
+ https://bugs.webkit.org/show_bug.cgi?id=112430
+
+ Reviewed by Jochen Eisinger.
+
+ The new specialized bindings will be faster, because they don't need to
+ do the "main world, isolated world or a worker" check, but can right
+ away assume that we're in the main world.
+
+ This patch generates main world bindings for getters and setters of Node,
+ Element and Document.
+
+ No new tests (updated existing binding tests).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateOverloadedFunction):
+ (GenerateFunctionCallback):
+ (GenerateFunction):
+ (GenerateParametersCheck):
+ (GenerateSingleConstructorCallback):
+ (GenerateNonStandardFunction):
+ (GenerateImplementation):
+ (GenerateFunctionCallString):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore):
+ * bindings/v8/V8DOMConfiguration.cpp:
+ (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
+ (WebCore::V8DOMConfiguration::configureTemplate):
+ * bindings/v8/V8DOMConfiguration.h:
+ (BatchedMethod):
+ (V8DOMConfiguration):
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * dom/Node.idl:
+
+2013-03-21 Elliott Sprehn <esprehn@chromium.org>
+
+ Remove RenderObject::canHaveRegionStyle since nothing uses it
+ https://bugs.webkit.org/show_bug.cgi?id=112973
+
+ Reviewed by Eric Seidel.
+
+ Nothing uses canHaveRegionStyle so we can remove it.
+
+ * rendering/RenderObject.h:
+
+2013-03-21 Alok Priyadarshi <alokp@chromium.org>
+
+ Mark GraphicsLayers as opaque when possible
+ https://bugs.webkit.org/show_bug.cgi?id=70634
+
+ Reviewed by Simon Fraser.
+
+ Mark layers as opaque in a very simple case - any child renderer has an opaque background and covers the entire composited bounds. It is important to note that since we only consider the background, the only layer that can be marked opaque is the primary GraphicsLayer of a RenderLayer.
+
+ Tests: compositing/contents-opaque/background-clip.html
+ compositing/contents-opaque/background-color.html
+ compositing/contents-opaque/body-background-painted.html
+ compositing/contents-opaque/body-background-skipped.html
+ compositing/contents-opaque/layer-opacity.html
+ compositing/contents-opaque/layer-transform.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::skipBodyBackground):
+ (WebCore):
+ (WebCore::RenderBox::paintBackground):
+ (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
+ (WebCore):
+ (WebCore::RenderLayer::listBackgroundIsKnownToBeOpaqueInRect):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ * rendering/RenderLayerModelObject.h:
+ (RenderLayerModelObject):
+ (WebCore::RenderLayerModelObject::backgroundIsKnownToBeOpaqueInRect):
+
+2013-03-21 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Shaders] Implement a StyleCustomFilterProgram cache
+ https://bugs.webkit.org/show_bug.cgi?id=112602
+
+ Reviewed by Dean Jackson.
+
+ When the style is recalculated, the new computed RenderStyle is saved as the m_style of the
+ RenderObject, even if the style was not different.
+
+ In the case of Custom Filters, a new StyleCustomFilterProgram was created at all times, but the
+ actual equality check was done by comparing the pair of cached shaders from inside the StyleCustomFilterProgram.
+
+ Because of that the RenderLayer::styleChanged was not called when the new StyleCustomFilterProgram was created, so it
+ will end up still knowing only about the previous StyleCustomFilterProgram.
+
+ The RenderLayer sets itself as a client of the StyleCustomFilterProgram, so that it can repaint itself
+ when the program is loaded, but because RenderLayer::styleChanged is not called, it will not add itself as a client of the new
+ StyleCustomFilterProgram.
+
+ StyleCustomFilterProgram waits until the first client to load the programs, so in this case it will just remain unloaded.
+
+ There was no crash, but just an assert in debug mode. Also, as a visible side-effect some frames were rendered using blank shaders,
+ resulting in a pass-through filter.
+
+ The fix would be to actually make the RenderStyle::diff detect the change of the StyleCustomFilterProgram
+ using the pointer value and not the values. However, that will always invalidate the "filter" property because
+ of the StyleCustomFilterProgram that always gets created during the recalculation time.
+
+ I've added StyleCustomFilterProgramCache to cache all the instances of the StyleCustomFilterPrograms that a
+ StyleResolver allocates. This way, next time it will try to reuse previously allocated StyleCustomFilterPrograms.
+ The key of the cache is the CustomFilterProgramInfo, that combines the URLs to the shaders and a couple of other program settings.
+
+ StyleCustomFilterProgramCache is owned by the StyleResovler and StyleCustomFilterPrograms are responsible with
+ removing themselves from the cache when the last reference goes away.
+
+ This change makes the previous "platform level" program cache obsolete and I will remove that in a future patch.
+ https://bugs.webkit.org/show_bug.cgi?id=112844
+
+ Test: css3/filters/custom/custom-filter-reload.html
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::lookupCustomFilterProgram): Lookup any similar programs in the cache. It will create a new pending
+ StyleCustomFilterProgram if there is no pre-cached version of the program.
+ if no program is found. loadPendingShaders is responsible for adding the program in the cache if it is actually going to be used.
+ (WebCore::StyleResolver::loadPendingShaders): At this point the program is final, so it's safe to add it to the cache.
+ (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
+ * css/StyleResolver.h:
+ (StyleResolver):
+ * css/WebKitCSSShaderValue.cpp:
+ (WebCore::WebKitCSSShaderValue::completeURL): Factored out the function to compute the complete URL of the resource.
+ (WebCore::WebKitCSSShaderValue::cachedShader):
+ * css/WebKitCSSShaderValue.h:
+ (WebCore::toWebKitCSSShaderValue):
+ (WebKitCSSShaderValue):
+ * platform/graphics/filters/CustomFilterOperation.cpp:
+ (WebCore::CustomFilterOperation::blend):
+ * platform/graphics/filters/CustomFilterOperation.h:
+ (WebCore::CustomFilterOperation::operator==): Removed. Programs should now compare by pointer. Kept it as
+ private to catch any potential use of it.
+ * rendering/style/StyleCustomFilterProgram.cpp: Copied from Source/WebCore/css/WebKitCSSShaderValue.h.
+ (WebCore::StyleCustomFilterProgram::~StyleCustomFilterProgram): Destructor removes the program from the cache.
+ * rendering/style/StyleCustomFilterProgram.h:
+ (WebCore::StyleCustomFilterProgram::setVertexShader): Added an assert to check that the shader is not in the
+ cache while the mutation happens. Otherwise the cache might have the wrong key.
+ (WebCore::StyleCustomFilterProgram::setFragmentShader): Ditto.
+ (WebCore::StyleCustomFilterProgram::isLoaded): Added more asserts to catch cases when the program is used with no clients.
+ (StyleCustomFilterProgram):
+ (WebCore::StyleCustomFilterProgram::hasPendingShaders):
+ (WebCore::StyleCustomFilterProgram::inCache):
+ (WebCore::StyleCustomFilterProgram::setCache): Function called when a program is added to / removed from the cache.
+ (WebCore::StyleCustomFilterProgram::vertexShaderURL): Added methods to store the KURL that we used as keys in the cache.
+ The same KURLs will be used to lookup and remove the filter at the end.
+ (WebCore::StyleCustomFilterProgram::setVertexShaderURL):
+ (WebCore::StyleCustomFilterProgram::fragmentShaderURL):
+ (WebCore::StyleCustomFilterProgram::setFragmentShaderURL):
+ (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
+ * rendering/style/StyleCustomFilterProgramCache.cpp: Added.
+ (WebCore::StyleCustomFilterProgramCache::programCacheKey):
+ (WebCore::StyleCustomFilterProgramCache::StyleCustomFilterProgramCache):
+ (WebCore::StyleCustomFilterProgramCache::~StyleCustomFilterProgramCache): Destructor removes itself from all the
+ referenced StyleCustomFilterPrograms. This is to avoid issues with different destruction orders.
+ (WebCore::StyleCustomFilterProgramCache::lookup):
+ (WebCore::StyleCustomFilterProgramCache::add):
+ (WebCore::StyleCustomFilterProgramCache::remove):
+ * rendering/style/StyleCustomFilterProgramCache.h:
+ (StyleCustomFilterProgramCache):
+ * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h:
+ (WebCore::CoordinatedCustomFilterProgram::operator==: Removed. Programs should now compare by pointer.
+
+2013-03-21 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Ensure all API methods have IDB_TRACE macros
+ https://bugs.webkit.org/show_bug.cgi?id=112963
+
+ Reviewed by Tony Chang.
+
+ Anntotate methods and callbacks that weren't already annotated
+ with IDB_TRACE macros to assist in debugging, e.g. when using
+ the chromium port's chrome://tracing visualization.
+
+ No new tests - just harmless diagnostic sprinkles.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::createObjectStore): Added IDB_TRACE macro call here.
+ (WebCore::IDBDatabase::deleteObjectStore): ...and here.
+ (WebCore::IDBDatabase::transaction): ...etc.
+ (WebCore::IDBDatabase::close):
+ (WebCore::IDBDatabase::onVersionChange):
+ * Modules/indexeddb/IDBFactory.cpp:
+ (WebCore::IDBFactory::getDatabaseNames):
+ (WebCore::IDBFactory::open):
+ (WebCore::IDBFactory::deleteDatabase):
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
+ (WebCore::IDBFactoryBackendImpl::deleteDatabase):
+ (WebCore::IDBFactoryBackendImpl::open):
+ * Modules/indexeddb/IDBOpenDBRequest.cpp:
+ (WebCore::IDBOpenDBRequest::onBlocked):
+
+2013-03-21 Christian Biesinger <cbiesinger@chromium.org>
+
+ http://trac.webkit.org/changeset/146375 causing CrOS crashes
+ https://bugs.webkit.org/show_bug.cgi?id=112958
+
+ Reviewed by Adam Barth.
+
+ Test: fast/flexbox/crash-anonymous-box.html
+
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
+ Anonymous renderers don't have a node in their constructor, so
+ don't get document() in there.
+
+2013-03-21 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Fire a SecurityPolicyViolationEvent when violations occur.
+ https://bugs.webkit.org/show_bug.cgi?id=112783
+
+ Reviewed by Adam Barth.
+
+ A new event type for Content Security Policy violations landed in
+ http://wkrev.com/146305; this patch takes that stub, and wires it up to
+ ContentSecurityPolicy::reportViolation such that violation events fire
+ when resources are blocked.
+
+ This should bring WebKit up to date with the current description of
+ CSP's event model in sections 3.3[1] and 3.4.1.3[2] of the editor's
+ draft.
+
+ [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#processing-model
+ [2]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#firing-events-using-the-securitypolicyviolationevent-interface
+
+ Test: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-block-image.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::gatherSecurityPolicyViolationEventData):
+ Populate a SecurityPolicyViolationEventInit object with the various
+ bits of data that should be passed into the event constructor.
+
+ This static method is strictly an implementation detail; it's not
+ part of ContentSecurityPolicy's public API.
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ Regardless of whether the policy has set a 'report-uri' directive
+ or not, gather together all the data we'll need to fire an event,
+ create the event, and queue it up for dispatching on the Document.
+
+2013-03-21 Terry Anderson <tdanderson@chromium.org>
+
+ [chromium] Remove SK_SUPPORT_HINTING_SCALE_FACTOR flag and code
+ https://bugs.webkit.org/show_bug.cgi?id=112928
+
+ Reviewed by Stephen White.
+
+ This flag was only for ChromeOS builds with HighDPI. It is no longer needed and can be removed.
+ See http://crbug.com/17550
+
+ No new tests needed since this is just removing unused code.
+
+ * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
+ (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::PlatformContextSkia):
+ (WebCore::PlatformContextSkia::setupPaintCommon):
+ * platform/graphics/skia/PlatformContextSkia.h:
+
+2013-03-21 Mike West <mkwst@chromium.org>
+
+ Drop full URLs from cross-origin access errors caused by protocol mismatches.
+ https://bugs.webkit.org/show_bug.cgi?id=112894
+
+ Reviewed by Timothy Hatcher.
+
+ Following up on http://wkbug.com/112813, this patch brings protocol
+ mismatch errors into line with the new origin-only hotness. The message
+ is also changed to display the URL's protocol rather than the origin's
+ protocol: it makes a big difference for 'data:' URLs, for instance.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::crossDomainAccessErrorMessage):
+
+2013-03-21 Stephen Chenney <schenney@chromium.org>
+
+ SVG text path referencing parent text infinite loops
+ https://bugs.webkit.org/show_bug.cgi?id=112078
+
+ Reviewed by Philip Rogers.
+
+ We do not check the target type when adding a resource reference for
+ SVG Text Path's URI. This goes horribly wrong when the target is the
+ text path's parent text element. In this patch we check that the target
+ element of the text path is indeed a path element, as the spec
+ requires. No other element type is allowed.
+
+ Note that RenderSVGTextPath enforces this check in the renderer code
+ also, so if we get past this check via pending resources, it doesn't
+ matter. You can't get into this situation with a pending reference
+ because, by definition, the parent must be defined before the text
+ path child.
+
+ Test: svg/text/textpath-referencing-text-crash.svg
+
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::buildPendingResource):
+
+2013-03-21 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Remove onVersionChange(string) plumbing
+ https://bugs.webkit.org/show_bug.cgi?id=112712
+
+ Reviewed by Adam Barth.
+
+ Delete unused onVersionChange(string) overload.
+
+ No new tests - just deleting dead code.
+
+ * Modules/indexeddb/IDBDatabase.cpp: Delete onVersionChange(string) overload.
+ * Modules/indexeddb/IDBDatabase.h: Ditto.
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Ditto.
+ * Modules/indexeddb/IDBDatabaseCallbacks.h: Ditto.
+ * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Ditto.
+ * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Ditto.
+
+2013-03-21 Philip Rogers <pdr@google.com>
+
+ Correct bisector angle calculation for markers
+ https://bugs.webkit.org/show_bug.cgi?id=112054
+
+ Reviewed by Stephen Chenney.
+
+ The SVG marker spec states that mid markers with orient=auto should be aligned with their
+ x-axis along the bisector of the incoming (in) and outgoing (out) angles. Previously we
+ calculated this bisector angle as:
+ bisector = (in + out) / 2;
+ Angles cannot be averaged this way! Consider in=90deg and out=-180deg: the bisector should
+ be 135deg but a naive average gives -45deg. This patch corrects for the discontinuity in
+ angle values with:
+ bisector = (in + out + 360) / 2 // if |in - out| > 180
+ bisector = (in + out) / 2 // otherwise
+ This patch includes an exhaustive test of angle values.
+
+ Test: svg/custom/marker-orient-auto.html
+
+ * rendering/svg/SVGMarkerData.h:
+ (WebCore::SVGMarkerData::currentAngle):
+
+2013-03-21 Harald Alvestrand <hta@google.com>
+
+ Expose the Type field of an RTCStatsReport
+ https://bugs.webkit.org/show_bug.cgi?id=112951
+
+ Reviewed by Adam Barth.
+
+ Covered by an extension of an existing test.
+
+ * Modules/mediastream/RTCStatsReport.h:
+ (WebCore::RTCStatsReport::type):
+ * Modules/mediastream/RTCStatsReport.idl:
+
+2013-03-21 Alexey Proskuryakov <ap@apple.com>
+
+ Move non-trivial virtual functions out of ResourceHandleClient.h
+ https://bugs.webkit.org/show_bug.cgi?id=112950
+
+ Reviewed by Brady Eidson.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/network/ResourceHandleClient.cpp: Added.
+ (WebCore::ResourceHandleClient::ResourceHandleClient):
+ (WebCore::ResourceHandleClient::~ResourceHandleClient):
+ (WebCore::ResourceHandleClient::didReceiveBuffer):
+ (WebCore::ResourceHandleClient::getBuffer):
+ * platform/network/ResourceHandleClient.h:
+
+2013-03-21 Florin Malita <fmalita@chromium.org>
+
+ [SVG] Remove explicit LightSource dispatchers
+ https://bugs.webkit.org/show_bug.cgi?id=112827
+
+ Reviewed by Stephen Chenney.
+
+ Convert LightSource setters to dynamic dispatch. This allows us to remove LightSource.cpp
+ altogether.
+
+ No new tests: refactoring only.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/DistantLightSource.h:
+ (DistantLightSource):
+ * platform/graphics/filters/LightSource.cpp: Removed.
+ * platform/graphics/filters/LightSource.h:
+ (WebCore::LightSource::setAzimuth):
+ (WebCore::LightSource::setElevation):
+ (WebCore::LightSource::setX):
+ (WebCore::LightSource::setY):
+ (WebCore::LightSource::setZ):
+ (WebCore::LightSource::setPointsAtX):
+ (WebCore::LightSource::setPointsAtY):
+ (WebCore::LightSource::setPointsAtZ):
+ (WebCore::LightSource::setSpecularExponent):
+ (WebCore::LightSource::setLimitingConeAngle):
+ * platform/graphics/filters/PointLightSource.h:
+ (PointLightSource):
+ * platform/graphics/filters/SpotLightSource.h:
+ (SpotLightSource):
+
+2013-03-21 Igor Oliveira <igor.o@sisa.samsung.com>
+
+ [Texmap] Implement support for OpenGLES EXT_unpack_subimage extension
+ https://bugs.webkit.org/show_bug.cgi?id=108716
+
+ If the extension GL_EXT_unpack_subimage is supported, it adds GL_UNPACK_ROW_LENGTH,
+ GL_UNPACK_SKIP_ROWS and GL_UNPACK_SKIP_PIXELS as valid enums to PixelStore.
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::driverSupportsSubImage):
+ (WebCore::BitmapTextureGL::updateContentsNoSwizzle):
+ (WebCore::BitmapTextureGL::updateContents):
+
+2013-03-21 Dmitry Zvorygin <zvorygin@chromium.org>
+
+ Web Inspector: Regression: drawer resizes slowly with animation.
+ https://bugs.webkit.org/show_bug.cgi?id=112920
+
+ Drawer status bar opacity wasn't set to zero on inialization, so no transition event
+ was fired on first time drawer appeared,thus animation styles wasn't removed properly.
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/Drawer.js:
+ (WebInspector.Drawer):
+
+2013-03-21 Alberto Garcia <agarcia@igalia.com>
+
+ [BlackBerry] GraphicsLayer: fix code that was accidentally reverted
+ https://bugs.webkit.org/show_bug.cgi?id=112143
+
+ Reviewed by Rob Buis.
+
+ Several changes were accidentally reverted in r144465 due to the
+ upstreaming of some new code:
+
+ - clearBackgroundColor() and m_contentsLayerHasBackgroundColor had
+ been removed in r137798.
+
+ - showDebugBorders() had been renamed to isShowingDebugBorder() in
+ r133517.
+
+ - A new GraphicsLayer::create() overload had been introduced in
+ r130185.
+
+ This patch fixes them all.
+
+ * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
+ (WebCore::GraphicsLayer::create):
+ (WebCore):
+ (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
+ (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
+ (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
+ (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
+ * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
+ (GraphicsLayerBlackBerry):
+
+2013-03-21 Zan Dobersek <zdobersek@igalia.com>
+
+ [GTK] Move libLevelDB.la setup into a separate GNUmakefile.am
+ https://bugs.webkit.org/show_bug.cgi?id=112947
+
+ Reviewed by Martin Robinson.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.am: Move the libLevelDD.la setup into the new GNUmakefile.am that's placed in
+ the third-party leveldb source directory.
+ * GNUmakefile.list.am: Move the LevelDB sources listing there as well.
+
+2013-03-21 Alberto Garcia <agarcia@igalia.com>
+
+ [BlackBerry] DrawingBuffer: add clearPlatformLayer() implementation
+ https://bugs.webkit.org/show_bug.cgi?id=112696
+
+ Reviewed by Rob Buis.
+
+ DrawingBuffer::clearPlatformLayer() was added in r139142.
+
+ This is not needed in the BlackBerry port, so this patch only
+ contains a dummy implementation.
+
+ * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
+ (WebCore):
+ (WebCore::DrawingBuffer::clearPlatformLayer):
+
+2013-03-21 Florin Malita <fmalita@chromium.org>
+
+ [SVG] Suppress painting when an empty viewBox is specified
+ https://bugs.webkit.org/show_bug.cgi?id=112623
+
+ Reviewed by Philip Rogers.
+
+ Per spec, elements with an empty viewBox should not be rendered:
+ http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute.
+
+ This patch adds the missing viewBox checks to RenderSVGRoot, RenderSVGViewPortContainer,
+ RenderSVGResourceMarker and RenderSVGResourceMarker's paint methods.
+
+ In order to detect the case of "viewBox present but invalid", the patch also introduces
+ SVGAnimatedProperty plumbing for tracking property validity: the baseVal setter now takes
+ an additional optional 'validValue' boolean parameter, which can later be queried via a
+ macroed getter (LowerProperty##IsValid()).
+
+ Test: svg/custom/viewBox-empty.html
+
+ * rendering/svg/RenderSVGResourceMarker.cpp:
+ (WebCore::RenderSVGResourceMarker::draw):
+ * rendering/svg/RenderSVGResourcePattern.cpp:
+ (WebCore::RenderSVGResourcePattern::buildPattern):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::paintReplaced):
+ * rendering/svg/RenderSVGViewportContainer.cpp:
+ (WebCore::RenderSVGViewportContainer::paint):
+ (WebCore):
+ * rendering/svg/RenderSVGViewportContainer.h:
+ (RenderSVGViewportContainer):
+ * svg/SVGPatternElement.cpp:
+ (WebCore::SVGPatternElement::collectPatternAttributes):
+ * svg/SVGSVGElement.h:
+ (WebCore::SVGSVGElement::hasEmptyViewBox):
+ (SVGSVGElement):
+ Suppress painting if a valid empty viewBox is found.
+
+ * svg/SVGFitToViewBox.h:
+ (WebCore::SVGFitToViewBox::parseAttribute):
+ Mark the viewBox property as invalid if not successfully parsed.
+
+ * svg/SVGExternalResourcesRequired.h:
+ (SVGExternalResourcesRequired):
+ * svg/SVGURIReference.h:
+ (SVGURIReference):
+ * svg/properties/SVGAnimatedPropertyMacros.h:
+ (WebCore::SVGSynchronizableAnimatedProperty::SVGSynchronizableAnimatedProperty):
+ (SVGSynchronizableAnimatedProperty):
+ (WebCore):
+ Plumbing for tracking property value validation.
+
+2013-03-21 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Hide toolbar customization experimental setting
+ https://bugs.webkit.org/show_bug.cgi?id=112942
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/Settings.js:
+ (WebInspector.ExperimentsSettings):
+ * inspector/front-end/Toolbar.js:
+ (WebInspector.Toolbar):
+ (WebInspector.Toolbar.prototype._isToolbarCustomizable):
+
+2013-03-21 Anton Muhin <antonm@chromium.org>
+
+ Unreviewed, rolling out r146483.
+ http://trac.webkit.org/changeset/146483
+ https://bugs.webkit.org/show_bug.cgi?id=111695
+
+ Breaks
+
+ * Modules/speech/SpeechSynthesis.cpp:
+ (WebCore::SpeechSynthesis::boundaryEventOccurred):
+ (WebCore::SpeechSynthesis::didStartSpeaking):
+ (WebCore::SpeechSynthesis::didPauseSpeaking):
+ (WebCore::SpeechSynthesis::didResumeSpeaking):
+ (WebCore::SpeechSynthesis::didFinishSpeaking):
+ (WebCore::SpeechSynthesis::speakingErrorOccurred):
+ (WebCore):
+ * Modules/speech/SpeechSynthesis.h:
+ (SpeechSynthesis):
+ * Modules/speech/SpeechSynthesisUtterance.cpp:
+ (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::setVoice):
+ * Modules/speech/SpeechSynthesisUtterance.h:
+ (WebCore::SpeechSynthesisUtterance::text):
+ (WebCore::SpeechSynthesisUtterance::setText):
+ (WebCore::SpeechSynthesisUtterance::lang):
+ (WebCore::SpeechSynthesisUtterance::setLang):
+ (WebCore::SpeechSynthesisUtterance::volume):
+ (WebCore::SpeechSynthesisUtterance::setVolume):
+ (WebCore::SpeechSynthesisUtterance::rate):
+ (WebCore::SpeechSynthesisUtterance::setRate):
+ (WebCore::SpeechSynthesisUtterance::pitch):
+ (WebCore::SpeechSynthesisUtterance::setPitch):
+ (WebCore::SpeechSynthesisUtterance::startTime):
+ (WebCore::SpeechSynthesisUtterance::setStartTime):
+ (WebCore::SpeechSynthesisUtterance::platformUtterance):
+ (SpeechSynthesisUtterance):
+ * Modules/speech/SpeechSynthesisVoice.h:
+ (SpeechSynthesisVoice):
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * platform/PlatformSpeechSynthesis.h:
+ (PlatformSpeechSynthesis):
+ * platform/PlatformSpeechSynthesisUtterance.cpp:
+ * platform/PlatformSpeechSynthesisUtterance.h:
+ (PlatformSpeechSynthesisUtterance):
+ (WebCore::PlatformSpeechSynthesisUtterance::client):
+ * platform/PlatformSpeechSynthesisVoice.cpp:
+ (WebCore::PlatformSpeechSynthesisVoice::create):
+ (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
+ * platform/PlatformSpeechSynthesisVoice.h:
+ (PlatformSpeechSynthesisVoice):
+ (WebCore::PlatformSpeechSynthesisVoice::voiceURI):
+ (WebCore::PlatformSpeechSynthesisVoice::name):
+ (WebCore::PlatformSpeechSynthesisVoice::lang):
+ (WebCore::PlatformSpeechSynthesisVoice::localService):
+ * platform/PlatformSpeechSynthesizer.cpp:
+ (WebCore::PlatformSpeechSynthesizer::create):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore):
+ * platform/PlatformSpeechSynthesizer.h:
+ (PlatformSpeechSynthesizerClient):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (PlatformSpeechSynthesizer):
+ * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Removed.
+ * platform/mac/PlatformSpeechSynthesizerMac.mm:
+ (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
+ (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.cpp:
+ (WebCore::PlatformSpeechSynthesizerMock::create):
+ (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
+ (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
+ (WebCore::PlatformSpeechSynthesizerMock::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.h:
+ (PlatformSpeechSynthesizerMock):
+
+2013-03-21 Alexey Proskuryakov <ap@apple.com>
+
+ [Mac] Consolidate bits of willSendRequest implementation
+ https://bugs.webkit.org/show_bug.cgi?id=112932
+
+ Reviewed by Brady Eidson.
+
+ Moved some logic from WebCoreResourceHandleAsDelegate to ResourceHandle for clarity.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::willSendRequest):
+ (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
+
+2013-03-21 Praveen R Jadhav <praveen.j@samsung.com>
+
+ Remove AudioGain.idl from compilation.
+ https://bugs.webkit.org/show_bug.cgi?id=112650
+
+ Reviewed by Chris Rogers.
+
+ Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#GainNode
+ https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode
+
+ AudioParam serves the same purpose as AudioGain. Infact, AudioGain inherits
+ AudioParam class and doesn't have its own member functions/parameters. Also,
+ AudioGain is not part of WebAudio W3C specifications.
+
+ Test: webaudio/gain-basic.html
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Modules/webaudio/AudioBufferSourceNode.cpp:
+ (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
+ * Modules/webaudio/AudioBufferSourceNode.h:
+ (AudioBufferSourceNode):
+ (WebCore::AudioBufferSourceNode::gain):
+ * Modules/webaudio/AudioBufferSourceNode.idl:
+ * Modules/webaudio/AudioGain.h: Removed.
+ * Modules/webaudio/AudioGain.idl: Removed.
+ * Modules/webaudio/GainNode.cpp:
+ (WebCore::GainNode::GainNode):
+ * Modules/webaudio/GainNode.h:
+ (WebCore):
+ (WebCore::GainNode::create):
+ (GainNode):
+ (WebCore::GainNode::gain):
+ * Modules/webaudio/GainNode.idl:
+ * Modules/webaudio/PannerNode.cpp:
+ (WebCore::PannerNode::PannerNode):
+ * Modules/webaudio/PannerNode.h:
+ (WebCore::PannerNode::distanceGain):
+ (WebCore::PannerNode::coneGain):
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-03-21 Dominic Mazzoni <dmazzoni@google.com>
+
+ Implement Web Speech Synthesis for Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=111695
+
+ Reviewed by Adam Barth.
+
+ Straightforward implementation of speech synthesis
+ for Chromium by exposing interfaces for the platform
+ to implement.
+
+ * Modules/speech/SpeechSynthesis.cpp:
+ (WebCore::SpeechSynthesis::boundaryEventOccurred):
+ (WebCore::SpeechSynthesis::didStartSpeaking):
+ (WebCore::SpeechSynthesis::didPauseSpeaking):
+ (WebCore::SpeechSynthesis::didResumeSpeaking):
+ (WebCore::SpeechSynthesis::didFinishSpeaking):
+ (WebCore::SpeechSynthesis::speakingErrorOccurred):
+ (WebCore):
+ * Modules/speech/SpeechSynthesis.h:
+ (SpeechSynthesis):
+ * Modules/speech/SpeechSynthesisUtterance.cpp:
+ (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
+ (WebCore):
+ (WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::setVoice):
+ * Modules/speech/SpeechSynthesisUtterance.h:
+ (SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::text):
+ (WebCore::SpeechSynthesisUtterance::setText):
+ (WebCore::SpeechSynthesisUtterance::lang):
+ (WebCore::SpeechSynthesisUtterance::setLang):
+ (WebCore::SpeechSynthesisUtterance::volume):
+ (WebCore::SpeechSynthesisUtterance::setVolume):
+ (WebCore::SpeechSynthesisUtterance::rate):
+ (WebCore::SpeechSynthesisUtterance::setRate):
+ (WebCore::SpeechSynthesisUtterance::pitch):
+ (WebCore::SpeechSynthesisUtterance::setPitch):
+ (WebCore::SpeechSynthesisUtterance::startTime):
+ (WebCore::SpeechSynthesisUtterance::setStartTime):
+ (WebCore::SpeechSynthesisUtterance::platformUtterance):
+ * Modules/speech/SpeechSynthesisVoice.h:
+ (WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * platform/PlatformSpeechSynthesis.h:
+ (PlatformSpeechSynthesis):
+ * platform/PlatformSpeechSynthesisUtterance.cpp:
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesisUtterance::create):
+ * platform/PlatformSpeechSynthesisUtterance.h:
+ (PlatformSpeechSynthesisUtterance):
+ (WebCore::PlatformSpeechSynthesisUtterance::setClient):
+ * platform/PlatformSpeechSynthesisVoice.cpp:
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesisVoice::create):
+ (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
+ * platform/PlatformSpeechSynthesisVoice.h:
+ (PlatformSpeechSynthesisVoice):
+ (WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
+ (WebCore::PlatformSpeechSynthesisVoice::setName):
+ (WebCore::PlatformSpeechSynthesisVoice::setLang):
+ (WebCore::PlatformSpeechSynthesisVoice::setLocalService):
+ (WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
+ * platform/PlatformSpeechSynthesizer.cpp:
+ (WebCore::PlatformSpeechSynthesizer::create):
+ (WebCore::PlatformSpeechSynthesizer::setVoiceList):
+ (WebCore):
+ * platform/PlatformSpeechSynthesizer.h:
+ (WebKit):
+ (PlatformSpeechSynthesizerClient):
+ (PlatformSpeechSynthesizer):
+ * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ (WebCore::PlatformSpeechSynthesizer::pause):
+ (WebCore::PlatformSpeechSynthesizer::resume):
+ (WebCore::PlatformSpeechSynthesizer::cancel):
+ * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
+ (WebKit):
+ (WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
+ (WebKit::WebSpeechSynthesisUtterance::operator=):
+ (WebKit::WebSpeechSynthesisUtterance::assign):
+ (WebKit::WebSpeechSynthesisUtterance::reset):
+ (WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
+ (WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
+ (WebKit::WebSpeechSynthesisUtterance::text):
+ (WebKit::WebSpeechSynthesisUtterance::lang):
+ (WebKit::WebSpeechSynthesisUtterance::voice):
+ (WebKit::WebSpeechSynthesisUtterance::volume):
+ (WebKit::WebSpeechSynthesisUtterance::rate):
+ (WebKit::WebSpeechSynthesisUtterance::pitch):
+ (WebKit::WebSpeechSynthesisUtterance::startTime):
+ * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
+ (WebKit):
+ (WebKit::WebSpeechSynthesisVoice::assign):
+ (WebKit::WebSpeechSynthesisVoice::reset):
+ (WebKit::WebSpeechSynthesisVoice::setVoiceURI):
+ (WebKit::WebSpeechSynthesisVoice::setName):
+ (WebKit::WebSpeechSynthesisVoice::setLanguage):
+ (WebKit::WebSpeechSynthesisVoice::setIsLocalService):
+ (WebKit::WebSpeechSynthesisVoice::setIsDefault):
+ (WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
+ (WebCore):
+ (WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
+ (WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
+ (WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
+ (WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
+ (WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
+ (WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
+ (WebCore):
+ (WebSpeechSynthesizerClientImpl):
+ * platform/mac/PlatformSpeechSynthesizerMac.mm:
+ (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
+ (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.cpp:
+ (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
+ (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
+ (WebCore::PlatformSpeechSynthesizerMock::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.h:
+ (PlatformSpeechSynthesizerMock):
+
+2013-03-21 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Properly layout spanning grid items with minmax grid tracks
+ https://bugs.webkit.org/show_bug.cgi?id=112389
+
+ Reviewed by Tony Chang.
+
+ This change updates our core minmax resolution function to be spanning grid
+ items aware. The new implementation of the algorithm doesn't totally match
+ the specification but it is fairly close that it's a good first pass. The
+ extra complexity in the specification needs to be carefully examinated
+ first (not to mention the probable change in the core layout algorithm).
+
+ Tests: fast/css-grid-layout/minmax-spanning-resolution-columns.html
+ fast/css-grid-layout/minmax-spanning-resolution-rows.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
+ Updated this function to account for spanning grid items by:
+ - iterating over all spanned grid tracks.
+ - removing any used breadth from all spanned grid tracks.
+
+2013-03-21 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
+
+ [GStreamer] New reference returned by g_main_context_new() must be freed
+ https://bugs.webkit.org/show_bug.cgi?id=112899
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix a memory leak by adopting the new reference returned
+ by g_main_context_new().
+
+ No new tests. No change in behavior.
+
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
+ (WebCore::AudioFileReader::createBus):
+
+2013-03-21 Carlos Garcia Campos <cargarcia@rim.com>
+
+ [BlackBerry] Add ScrollingCoordinatorBlackBerry implementation
+ https://bugs.webkit.org/show_bug.cgi?id=112915
+
+ Reviewed by Rob Buis.
+
+ * PlatformBlackBerry.cmake: Add page/scrolling/blackberry to the
+ indlude dir list.
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::create): Create a
+ ScrollingCoordinatorBlackBerry for the BlackBerry platform.
+ * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp: Added.
+ (WebCore):
+ (WebCore::ScrollingCoordinatorBlackBerry::ScrollingCoordinatorBlackBerry):
+ (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsContainerForFixedPositionLayers):
+ (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsFixedToContainerLayer):
+ (WebCore::ScrollingCoordinatorBlackBerry::setLayerFixedToContainerLayerEdge):
+ (WebCore::ScrollingCoordinatorBlackBerry::frameViewFrameRectDidChange):
+ (WebCore::ScrollingCoordinatorBlackBerry::frameViewContentsSizeDidChange):
+ * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.h: Added.
+ (WebCore):
+ (ScrollingCoordinatorBlackBerry):
+ (WebCore::ScrollingCoordinatorBlackBerry::supportsFixedPositionLayers):
+ * platform/graphics/PlatformLayer.h:
+ (WebCore): Add PlatformLayer definition for BlackBerry.
+
+2013-03-18 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: Paint rectangles shown on hover over Timeline's paint records occasionally have wrong offsets
+ https://bugs.webkit.org/show_bug.cgi?id=112371
+
+ Reviewed by Pavel Feldman.
+
+ - pass frame to InspectorTimelineAgent::didPaint();
+ - convert paint coordinates to root view.
+
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::willPaintImpl):
+ (WebCore::InspectorInstrumentation::didPaintImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::willPaint):
+ (WebCore::InspectorInstrumentation::didPaint):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::didPaint):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+
+2013-03-20 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: do not use inspector cookie in InspectorInstrumentation::{will,did}Paint
+ https://bugs.webkit.org/show_bug.cgi?id=112787
+
+ Reviewed by Pavel Feldman.
+
+ - pass frame, not inspector cookie to InspectorInstrumentation::didPaint;
+ - use frame to determine timeline agent in InspectorInstrumentation::didPaint.
+
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::willPaintImpl):
+ (WebCore::InspectorInstrumentation::didPaintImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::willPaint):
+ (WebCore::InspectorInstrumentation::didPaint):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::paintContents):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::paintContents):
+
+2013-03-21 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] OOB access in RenderGrid with a grid item with negative position index
+ https://bugs.webkit.org/show_bug.cgi?id=112853
+
+ Reviewed by Tony Chang.
+
+ This issue was caused by us casting a negative int to a size_t by mistake. This
+ would make us not size the grid properly thus yielding to OOB access during the
+ rest of the layout.
+
+ Test: fast/css-grid-layout/grid-item-negative-indexes.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::estimatedGridSizeForPosition):
+ Added this helper function to do the proper estimation and checks that our
+ position can be represented by a size_t.
+
+ (WebCore::RenderGrid::maximumIndexInDirection):
+ Updated to use estimatedGridSizeForPosition.
+
+2013-03-21 Stephen White <senorblanco@chromium.org>
+
+ [skia] feConvolveMatrix should use accelerated path
+ https://bugs.webkit.org/show_bug.cgi?id=112828
+
+ Reviewed by James Robinson.
+
+ Covered by layout tests css3/filters/effect-reference*.html.
+
+ * WebCore.gypi:
+ Add FEConvolveMatrixSkia.cpp to the build.
+ * platform/graphics/filters/FEConvolveMatrix.h:
+ Enable the skia accelerated path for feConvolveMatrix.
+ * platform/graphics/filters/skia/FEConvolveMatrixSkia.cpp:
+ (WebCore::FEConvolveMatrix::createImageFilter):
+ Implement building/conversion from FEConvolveMatrix to
+ SkMatrixConvolutionImageFilter.
+
+2013-03-21 Martin Robinson <mrobinson@igalia.com>
+
+ Source/ThirdParty/leveldb/db/builder.cc does not build on systems without <endian.h>
+ https://bugs.webkit.org/show_bug.cgi?id=111817
+
+ Reviewed by Gustavo Noronha Silva.
+
+ * GNUmakefile.am: Add the appropriate flags to the LevelDB build if we are on FreeBSD
+ or OS X.
+
+2013-03-21 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Support default grid items sizing
+ https://bugs.webkit.org/show_bug.cgi?id=103333
+
+ Reviewed by Tony Chang.
+
+ Tests: fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html
+ fast/css-grid-layout/grid-auto-columns-rows-resolution.html
+ fast/css-grid-layout/grid-auto-columns-rows-update.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::gridTrackSize):
+ Core of the change: return the grid-auto-{rows|columns} instead of a pre-defined value.
+
+ (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
+ Fixed a latent bug: we need to iterate over the internal grid representation instead of the
+ style's rows / columns as the latter doesn't account for implicit rows / columns.
+
+2013-03-21 Adam Barth <abarth@webkit.org>
+
+ HTMLNames should construct strings at compile time
+ https://bugs.webkit.org/show_bug.cgi?id=112831
+
+ Reviewed by Darin Adler.
+
+ This patch teaches make_names how to construct strings at compile time,
+ eliminating a large number of startup mallocs.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gyp/scripts/action_makenames.py:
+ - Teach the Chromium build how to deal with Perl modules.
+ * bindings/scripts/StaticString.pm: Added.
+ - A Perl module for constructing static strings.
+ (GenerateStrings):
+ (GenerateValidateStrings):
+ * dom/QualifiedName.cpp:
+ (WebCore::createQualifiedName):
+ - createQualifiedName now takes an already-constructed StringImpl
+ object.
+ * dom/QualifiedName.h:
+ * dom/make_names.pl:
+ (valueForName):
+ (namesToStrings):
+ (printNamesCppFile):
+ (printDefinitions):
+ - Teach make_names how to use StaticString.pm.
+
+2013-03-21 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Implement a common GraphicsSurface Implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=111759
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Covered by existing WebGL tests.
+
+ This is in preparation to add transport surface support for GLES2.
+ This patch makes it easy to share the core logic of using
+ Transport Surface and client on GLX and GLES2 backends without
+ any code duplication.
+
+ * PlatformEfl.cmake:
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::initialize):
+ (WebCore::GraphicsContext3DPrivate::releaseResources):
+ (WebCore::GraphicsContext3DPrivate::prepareBuffer):
+ (WebCore::GraphicsContext3DPrivate::createGraphicsSurface):
+ (WebCore::GraphicsContext3DPrivate::didResizeCanvas):
+ (WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
+ * platform/graphics/efl/GraphicsContext3DPrivate.h:
+ (GraphicsContext3DPrivate):
+
+ TransportSurface related code is moved to GraphicsSurfaceCommon.
+ As GraphicsSurface is deleted on resize, added logic to ensure that
+ current buffer is not deleted before having the shared buffer
+ with correct size. This would avoid any flashing during resize.
+
+ * platform/graphics/opengl/GLPlatformSurface.cpp:
+ (WebCore::GLPlatformSurface::createTransportSurface):
+ * platform/graphics/opengl/GLPlatformSurface.h:
+ * platform/graphics/surfaces/efl/GLTransportSurface.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/GLTransportSurface.cpp.
+ (WebCore):
+ (WebCore::GLTransportSurface::GLTransportSurface):
+ (WebCore::GLTransportSurface::~GLTransportSurface):
+ (WebCore::GLTransportSurface::updateContents):
+ (WebCore::GLTransportSurface::setGeometry):
+ (WebCore::GLTransportSurface::destroy):
+ (WebCore::GLTransportSurface::draw):
+ (WebCore::GLTransportSurface::bindArrayBuffer):
+ (WebCore::GLTransportSurface::updateTransformationMatrix):
+ (WebCore::GLTransportSurface::initializeShaderProgram):
+ (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
+ (WebCore::GLTransportSurfaceClient::GLTransportSurfaceClient):
+ (WebCore::GLTransportSurfaceClient::~GLTransportSurfaceClient):
+ (WebCore::GLTransportSurfaceClient::destroy):
+ (WebCore::GLTransportSurfaceClient::prepareTexture):
+ (WebCore::GLTransportSurfaceClient::createTexture):
+ * platform/graphics/surfaces/efl/GLTransportSurface.h: Renamed from Source/WebCore/platform/graphics/surfaces/GLTransportSurface.h.
+ (WebCore):
+ (GLTransportSurface):
+ (GLTransportSurfaceClient):
+ (WebCore::GLTransportSurfaceClient::texture):
+ (WebCore::GLTransportSurfaceClient::hasAlpha):
+
+ Moved TransportSurface to EFL folder as this is being used by EFL port only.
+ Added a base class for TransportSurfaceClient.
+
+ * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Added.
+ (WebCore):
+ (GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::destroy):
+ (WebCore::GraphicsSurfacePrivate::initializeTransportSurface):
+ (WebCore::GraphicsSurfacePrivate::makeContextCurrent):
+ (WebCore::GraphicsSurfacePrivate::copyFromTexture):
+ (WebCore::GraphicsSurfacePrivate::handle):
+ (WebCore::GraphicsSurfacePrivate::updateClientBuffer):
+ (WebCore::GraphicsSurfacePrivate::flags):
+ (WebCore::GraphicsSurfacePrivate::rect):
+ (WebCore::GraphicsSurfacePrivate::size):
+ (WebCore::GraphicsSurfacePrivate::textureId):
+ (WebCore::GraphicsSurfacePrivate::initializeClient):
+ (WebCore::GraphicsSurface::platformExport):
+ (WebCore::GraphicsSurface::platformGetTextureID):
+ (WebCore::GraphicsSurface::platformCopyToGLTexture):
+ (WebCore::GraphicsSurface::platformCopyFromTexture):
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ (WebCore::GraphicsSurface::platformFrontBuffer):
+ (WebCore::GraphicsSurface::platformSwapBuffers):
+ (WebCore::GraphicsSurface::platformSize):
+ (WebCore::GraphicsSurface::platformCreate):
+ (WebCore::GraphicsSurface::platformImport):
+ (WebCore::GraphicsSurface::platformLock):
+ (WebCore::GraphicsSurface::platformUnlock):
+ (WebCore::GraphicsSurface::platformDestroy):
+ (WebCore::GraphicsSurface::platformBeginPaint):
+ (WebCore::GraphicsSurface::createReadOnlyImage):
+
+ GraphicsSurface implementation to be shared by both GLX and GLES2.
+
+ * platform/graphics/surfaces/egl/EGLSurface.cpp:
+ (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
+ * platform/graphics/surfaces/egl/EGLSurface.h:
+ (EGLWindowTransportSurface):
+ * platform/graphics/surfaces/glx/GLXSurface.cpp:
+ (WebCore):
+ (WebCore::resolveGLMethods):
+ (WebCore::isMesaGLX):
+ (WebCore::GLXTransportSurface::GLXTransportSurface):
+ (WebCore::GLXTransportSurfaceClient::GLXTransportSurfaceClient):
+ (WebCore::GLXTransportSurfaceClient::~GLXTransportSurfaceClient):
+ (WebCore::GLXTransportSurfaceClient::destroy):
+ (WebCore::GLXTransportSurfaceClient::prepareTexture):
+ * platform/graphics/surfaces/glx/GLXSurface.h:
+ (GLXTransportSurface):
+ (GLXTransportSurfaceClient):
+ (WebCore):
+ GLXTransportSurfaceClient implementation.
+
+2013-03-21 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146454.
+ http://trac.webkit.org/changeset/146454
+ https://bugs.webkit.org/show_bug.cgi?id=112906
+
+ compile failures (Requested by antonm on #webkit).
+
+ * WebCore.gypi:
+ * platform/graphics/filters/FEConvolveMatrix.h:
+ (FEConvolveMatrix):
+ * platform/graphics/filters/skia/FEConvolveMatrixSkia.cpp: Removed.
+
+2013-03-21 Mike Reed <reed@google.com>
+
+ Remove obsolete conditionals around calling SkTypeface::getUnitsPerEm()
+ https://bugs.webkit.org/show_bug.cgi?id=112846
+
+ Reviewed by Stephen White.
+
+ Existing complex-text layouttests exercise this code.
+
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
+ (WebCore::FontPlatformData::emSizeInFontUnits):
+
+2013-03-21 Stephen White <senorblanco@chromium.org>
+
+ [skia] feConvolveMatrix should use accelerated path
+ https://bugs.webkit.org/show_bug.cgi?id=112828
+
+ Reviewed by James Robinson.
+
+ Covered by layout tests css3/filters/effect-reference*.html.
+
+ * WebCore.gypi:
+ Add FEConvolveMatrixSkia.cpp to the build.
+ * platform/graphics/filters/FEConvolveMatrix.h:
+ Enable the skia accelerated path for feConvolveMatrix.
+ * platform/graphics/filters/skia/FEConvolveMatrixSkia.cpp:
+ (WebCore::FEConvolveMatrix::createImageFilter):
+ Implement building/conversion from FEConvolveMatrix to
+ SkMatrixConvolutionImageFilter.
+
+2013-03-21 Kunihiko Sakamoto <ksakamoto@chromium.org>
+
+ Refactoring: Reorganize datetime field element parameters
+ https://bugs.webkit.org/show_bug.cgi?id=112877
+
+ Reviewed by Kent Tamura.
+
+ Before this patch, the field element constructors took minimum/maximum
+ as a pair of integers, and step/stepbase as a DateTimeNumericFieldElement::Parameters.
+ This patch makes these constructors to take a Range (for minimum/maximum)
+ and a Step (for step/stepbase).
+
+ No new tests. Just refactoring.
+
+ * html/shadow/DateTimeEditElement.cpp:
+ (DateTimeEditBuilder): Replaced min/max data members by Ranges.
+ (WebCore::DateTimeEditBuilder::DateTimeEditBuilder):
+ (WebCore::DateTimeEditBuilder::visitField):
+ (WebCore::DateTimeEditBuilder::shouldAMPMFieldDisabled):
+ (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
+ (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
+ (WebCore::DateTimeEditBuilder::shouldMillisecondFieldDisabled):
+ (WebCore::DateTimeEditBuilder::shouldMinuteFieldDisabled):
+ (WebCore::DateTimeEditBuilder::shouldSecondFieldDisabled):
+ (WebCore::DateTimeEditBuilder::createStep):
+ * html/shadow/DateTimeFieldElements.cpp:
+ (WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement):
+ (WebCore::DateTimeDayFieldElement::create):
+ (WebCore::DateTimeHourFieldElementBase::DateTimeHourFieldElementBase):
+ (WebCore::DateTimeHour11FieldElement::DateTimeHour11FieldElement):
+ (WebCore::DateTimeHour11FieldElement::create):
+ (WebCore::DateTimeHour12FieldElement::DateTimeHour12FieldElement):
+ (WebCore::DateTimeHour12FieldElement::create):
+ (WebCore::DateTimeHour23FieldElement::DateTimeHour23FieldElement):
+ (WebCore::DateTimeHour23FieldElement::create):
+ (WebCore::DateTimeHour24FieldElement::DateTimeHour24FieldElement):
+ (WebCore::DateTimeHour24FieldElement::create):
+ (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
+ (WebCore::DateTimeMillisecondFieldElement::create):
+ (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
+ (WebCore::DateTimeMinuteFieldElement::create):
+ (WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement):
+ (WebCore::DateTimeMonthFieldElement::create):
+ (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
+ (WebCore::DateTimeSecondFieldElement::create):
+ (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement):
+ (WebCore::DateTimeWeekFieldElement::create):
+ * html/shadow/DateTimeFieldElements.h:
+ (DateTimeDayFieldElement):
+ (DateTimeHourFieldElementBase):
+ (DateTimeHour11FieldElement):
+ (DateTimeHour12FieldElement):
+ (DateTimeHour23FieldElement):
+ (DateTimeHour24FieldElement):
+ (DateTimeMillisecondFieldElement):
+ (DateTimeMinuteFieldElement):
+ (DateTimeMonthFieldElement):
+ (DateTimeSecondFieldElement):
+ (DateTimeWeekFieldElement):
+ * html/shadow/DateTimeNumericFieldElement.cpp:
+ (WebCore):
+ (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
+ (WebCore::DateTimeNumericFieldElement::roundDown):
+ (WebCore::DateTimeNumericFieldElement::roundUp):
+ * html/shadow/DateTimeNumericFieldElement.h:
+ (WebCore::DateTimeNumericFieldElement::Step::Step): Renamed from Parameters.
+ (WebCore::DateTimeNumericFieldElement::Range::Range):
+ (WebCore::DateTimeNumericFieldElement::Range::isSingleton): Returns true if the range is a singleton range (i.e. contains exactly one value).
+ (Range): Now it's parameter type, hence public.
+ (DateTimeNumericFieldElement): Replaced two int members (m_step and m_stepBase) by a Range.
+
+2013-03-21 Sergey Ryazanov <serya@chromium.org>
+
+ Web Inspector: Track CSS error location information.
+ https://bugs.webkit.org/show_bug.cgi?id=111314
+
+ Added CSS syntax error reporting to some (other rules will be covered later) error recovery grammar rules.
+ Added code to CSSParser to allow track error location information.
+ Added empty rule to declaration_list. Needed to not report error about declarations like "body {}".
+ Added helper grammar rule "errors: error | errors error". Handles the same grammar as "error" but simplifies error location tracking.
+
+ Reviewed by Pavel Feldman.
+
+ Test: inspector/console/console-css-warnings.html
+
+ * css/CSSGrammar.y.in:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::currentLocation):
+ (WebCore):
+ (WebCore::CSSParser::realLex):
+ * css/CSSParser.h:
+ (CSSParser):
+
+2013-03-21 Sergey Ryazanov <serya@chromium.org>
+
+ Changing "#define YYDEBUG 0" to 1 causing compilation error
+ https://bugs.webkit.org/show_bug.cgi?id=111178
+
+ Reviewed by Pavel Feldman.
+
+ Code that reference tokens can't be placed into CSSGrammar.yy.include because it's included before tokens defined.
+ YYDEBUG can't be used in CSSGrammar.yy.in because the #define is only defined in CSSGrammar.yy.include. This
+ change simplifies CSS debugging letting manipulate only #define YYDEBUG in CSSGrammar.yy.include and/or in CSSParser.cpp.
+
+ * css/CSSGrammar.y.in:
+ * css/CSSGrammar.y.includes:
+
+2013-03-21 Nate Chapin <japhet@chromium.org>
+
+ Merge MainResourceLoader into DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=104969
+
+ Reviewed by Adam Barth.
+
+ No new tests, refactor only.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::mainResourceLoader):
+ (WebCore::DocumentLoader::~DocumentLoader): Move main resource clearing from
+ ~MainResourceLoader.
+ (WebCore::DocumentLoader::mainResourceData):
+ (WebCore::DocumentLoader::stopLoading):
+ (WebCore::DocumentLoader::notifyFinished): Moved from MainResourceLoader::notifyFinished.
+ (WebCore):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
+ (WebCore::DocumentLoader::redirectReceived):
+ (WebCore::DocumentLoader::continueAfterNavigationPolicy):
+ (WebCore::DocumentLoader::responseReceived):
+ (WebCore::DocumentLoader::continueAfterContentPolicy):
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ (WebCore::DocumentLoader::dataReceived):
+ (WebCore::DocumentLoader::clearMainResourceLoader):
+ (WebCore::DocumentLoader::setDefersLoading):
+ (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
+ (WebCore::DocumentLoader::addSubresourceLoader):
+ (WebCore::DocumentLoader::maybeLoadEmpty):
+ (WebCore::DocumentLoader::startLoadingMainResource): Don't keep separate checks
+ for normal and empty loads, just use a single boolean.
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::isLoadingMainResource):
+ * loader/MainResourceLoader.cpp: Removed.
+ * loader/MainResourceLoader.h: Removed.
+ * loader/mac/DocumentLoaderMac.cpp:
+ (WebCore::DocumentLoader::schedule):
+ (WebCore::DocumentLoader::unschedule):
+
+2013-03-20 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. draw background for the FlameChart overview pane with the CPU aggregated data.
+ https://bugs.webkit.org/show_bug.cgi?id=112823
+
+ Reviewed by Yury Semikhatsky.
+
+ The idea of the patch is to collect the data about stack depth for the each X
+ and draw a line with help of this data.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.prototype.onResize):
+ (WebInspector.FlameChart.prototype._drawOverviewCanvas):
+ (WebInspector.FlameChart.prototype.update):
+
+2013-03-21 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Settings] Fix JS compiler warnings.
+ https://bugs.webkit.org/show_bug.cgi?id=112879
+
+ Reviewed by Pavel Feldman.
+
+ Removed erroneous JSDoc.
+
+ * inspector/front-end/Settings.js: Removed erroneous JSDoc.
+
+2013-03-20 Simon Fraser <simon.fraser@apple.com>
+
+ Make GraphicsLayerCA::backingStoreMemoryEstimate() give a better estimate for tiled layers
+ https://bugs.webkit.org/show_bug.cgi?id=112864
+
+ Reviewed by Tim Horton.
+
+ If a GraphicsLayerCA has TiledBacking, ask the TiledBacking how
+ much memory it's using for tiles, rather than just using
+ height * width * 4.
+
+ Implement retainedTileBackingStoreMemory() in the TileController,
+ summing the memory used by parented tiles.
+
+ The original code was incorrectly multiplying by contentsScale
+ only once rather than twice (2x contents scale uses 4x as much memory).
+
+ * platform/graphics/TiledBacking.h:
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):
+ * platform/graphics/ca/mac/TileController.h:
+ * platform/graphics/ca/mac/TileController.mm:
+ (WebCore::TileController::retainedTileBackingStoreMemory):
+
+2013-03-20 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146419.
+ http://trac.webkit.org/changeset/146419
+ https://bugs.webkit.org/show_bug.cgi?id=112870
+
+ Broke many tests on debug builds (Requested by rniwa_ on
+ #webkit).
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gyp/scripts/action_makenames.py:
+ (main):
+ * bindings/scripts/StaticString.pm: Removed.
+ * dom/QualifiedName.cpp:
+ (WebCore::createQualifiedName):
+ * dom/QualifiedName.h:
+ (WebCore):
+ * dom/make_names.pl:
+ (printNamesCppFile):
+ (printDefinitions):
+
+2013-03-20 Michael Pruett <michael@68k.org>
+
+ [JSC] Implement EnforceRange IDL attribute for integer conversions
+ https://bugs.webkit.org/show_bug.cgi?id=112506
+
+ Reviewed by Kentaro Hara.
+
+ Implement the EnforceRange attribute for JSC bindings.
+
+ The EnforceRange attribute requires a type error to be thrown when
+ converting an ECMAScript number which is beyond the representable
+ range of the IDL integer type.
+
+ Tests: fast/js/webidl-type-mapping.html
+ storage/indexeddb/cursor-advance-workers.html
+ storage/indexeddb/cursor-advance.html
+ storage/indexeddb/intversion-bad-parameters.html
+
+ * WebCore.exp.in:
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore):
+ (WebCore::enforceRange):
+ (WebCore::toInt32EnforceRange):
+ (WebCore::toUInt32EnforceRange):
+ (WebCore::toInt64):
+ (WebCore::toUInt64):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::toInt32):
+ (WebCore):
+ (WebCore::toUInt32):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (JSValueToNative):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::jsTestEventTargetPrototypeFunctionItem):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjShortAttr):
+ (WebCore::setJSTestObjUnsignedShortAttr):
+ (WebCore::setJSTestObjLongAttr):
+ (WebCore::setJSTestObjLongLongAttr):
+ (WebCore::setJSTestObjUnsignedLongLongAttr):
+ (WebCore::setJSTestObjReflectedIntegralAttr):
+ (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
+ (WebCore::setJSTestObjReflectedCustomIntegralAttr):
+ (WebCore::setJSTestObjAttrWithGetterException):
+ (WebCore::setJSTestObjAttrWithSetterException):
+ (WebCore::setJSTestObjWithScriptStateAttribute):
+ (WebCore::setJSTestObjConditionalAttr1):
+ (WebCore::setJSTestObjConditionalAttr2):
+ (WebCore::setJSTestObjConditionalAttr3):
+ (WebCore::setJSTestObjStrawberry):
+ (WebCore::setJSTestObjId):
+ (WebCore::setJSTestObjNullableLongSettableAttribute):
+ (WebCore::setJSTestObjNullableStringValue):
+ (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
+ (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
+ (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
+ (WebCore::jsTestObjPrototypeFunctionStrictFunction):
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
+ (WebCore::setJSTestTypedefsAttrWithGetterException):
+ (WebCore::setJSTestTypedefsAttrWithSetterException):
+
+2013-03-20 Hayato Ito <hayato@chromium.org>
+
+ Gesture events should include AllowShadowContent in hit testing
+ https://bugs.webkit.org/show_bug.cgi?id=112073
+
+ Reviewed by Dimitri Glazkov.
+
+ Support gesture events for Shadow DOM.
+ Now 'gesturetap' events can be correctly dispatched in shadow trees.
+
+ Test: fast/dom/shadow/gesture-tap.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+
+2013-03-20 Adam Barth <abarth@webkit.org>
+
+ HTMLNames should construct strings at compile time
+ https://bugs.webkit.org/show_bug.cgi?id=112831
+
+ Reviewed by Darin Adler.
+
+ This patch teaches make_names how to construct strings at compile time,
+ eliminating a large number of startup mallocs.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gyp/scripts/action_makenames.py:
+ - Teach the Chromium build how to deal with Perl modules.
+ * bindings/scripts/StaticString.pm: Added.
+ - A Perl module for constructing static strings.
+ (GenerateStrings):
+ (GenerateValidateStrings):
+ * dom/QualifiedName.cpp:
+ (WebCore::createQualifiedName):
+ - createQualifiedName now takes an already-constructed StringImpl
+ object.
+ * dom/QualifiedName.h:
+ * dom/make_names.pl:
+ (valueForName):
+ (namesToStrings):
+ (printNamesCppFile):
+ (printDefinitions):
+ - Teach make_names how to use StaticString.pm.
+
+2013-03-20 Matt Falkenhagen <falken@chromium.org>
+
+ Remove unnecessary calls to Node::disabled for <meter>, <progress>, and <output>
+ https://bugs.webkit.org/show_bug.cgi?id=112767
+
+ Reviewed by Kent Tamura.
+
+ This is part of a refactoring to move Node::disabled to HTMLFormControlElement::disabled.
+ The concept of disabled is just a form control element one.
+
+ HTMLMeterElement, HTMLOutputElement, and HTMLProgressElement never
+ have disabled() return true, so we can remove the call. In addition,
+ HTMLMeterElement and HTMLProgressElement no longer inherit from
+ HTMLFormControlElement, so we don't need to override supportsFocus.
+
+ No new tests because no behavior change.
+
+ * html/HTMLMeterElement.cpp:
+ * html/HTMLMeterElement.h:
+ * html/HTMLOutputElement.cpp:
+ (WebCore::HTMLOutputElement::supportsFocus):
+ * html/HTMLProgressElement.cpp:
+ * html/HTMLProgressElement.h:
+
+2013-03-20 Jaehun Lim <ljaehun.lim@samsung.com>
+
+ [css3-text] Parsing -webkit-each-line value for text-indent from css3-text
+ https://bugs.webkit.org/show_bug.cgi?id=109021
+
+ Reviewed by Julien Chaffraix.
+
+ "each-line" is added for text-indent in CSS3.
+ http://dev.w3.org/csswg/css3-text/#each-line
+
+ This patch is the parsing part to support each-line value for text-indent.
+
+ "each-line" means "Indentation affects the first line of the block
+ container as well as each line after a forced line break, but does
+ not affect lines after a soft wrap break."
+
+ It's prefixed and guarded by CSS3_TEXT flag.
+
+ Tests: fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent-inherited.html
+ fast/css3-text/css3-text-indent/getComputedStyle/getComputedStyle-text-indent.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ style.getPropertyCSSValue(text-indent) returns CSSPrimitiveValue when text-indent has only <length>
+ or <percentage> value, but returns CSSValueList when text-indent also has -webkit-each-line.
+
+ * css/CSSParser.cpp:
+ (WebCore::isSimpleLengthPropertyID): Removed CSSPropertyTextIndent case.
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseTextIndent): Added.
+ * css/CSSParser.h:
+ Parsed <length> or <percentage> with -webkit-each-line for text-indent.
+
+ * css/CSSValueKeywords.in: Added new -webkit-each-line keyword.
+ * css/StyleBuilder.cpp:
+ (ApplyPropertyTextIndent): Added.
+ (WebCore::ApplyPropertyTextIndent::applyInheritValue):
+ (WebCore::ApplyPropertyTextIndent::applyInitialValue):
+ (WebCore::ApplyPropertyTextIndent::applyValue):
+ (WebCore::ApplyPropertyTextIndent::createHandler):
+ (WebCore::StyleBuilder::StyleBuilder):
+ Added codes to handle applying text-indent offset and -webkit-each-line option to our style.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RenderStyleConstants.h: Added enum TextIndentLine.
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::operator==):
+ * rendering/style/StyleRareInheritedData.h: Added m_textIndentLine.
+ (StyleRareInheritedData):
+ Added the usual getter / setter / initial methods for m_textIndentLine.
+
+2013-03-20 Tien-Ren Chen <trchen@chromium.org>
+
+ Correct coordinated scrolling for RTL iframe and overflow:scroll
+ https://bugs.webkit.org/show_bug.cgi?id=112088
+
+ Reviewed by James Robinson.
+
+ This patch adds appropriate offset in ScrollingCoordinatorChromium to
+ adjust impl-side scroll position to the range [0, maxPos - minPos].
+
+ This also corrects RenderLayer to return correct scroll position for RTL,
+ explained below:
+
+ There are 2 commonly used scroll offset coordinate systems in WebCore.
+
+ 1. The scroll offset is the amount that needs to be translated when painting
+ child elements in a RenderBox. The value can be negative when there is
+ negative overflow (for RTL). The range will be within
+ [overflow_top_left_corner, overflow_bottom_right_corner - client_size].
+ This system is mainly used for painting and layer positioning.
+
+ 2. The scroll offset will be always non-negative, and the range will be within
+ [0, content_size - client_size]. This system is mainly used for scrollbars.
+
+ scrollOrigin is defined to convert between the two systems. scrollOrigin is always
+ non-negative, and equivalent to -overflow_top_left_corner.
+
+ The first system is used for ScrollableArea::scrollPosition/minimumScrollPosition/
+ maximumScrollPosition function family. So is it implemented in ScrollView/Frameview.
+ RenderLayer errorneously implemented scrollPosition in the second system,
+ and worse, returned minimumScrollPosition/maximumScrollPosition were totally non-sense.
+ This patch corrects RenderLayer to use the first coordinate system.
+
+ Test: compositing/rtl/rtl-overflow-scrolling.html
+ ScrollingCoordinatorChromiumTest.rtlIframe
+
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollLayerDidChange):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollPosition):
+ (WebCore::RenderLayer::minimumScrollPosition):
+ (WebCore::RenderLayer::maximumScrollPosition):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+
+2013-03-20 Jessie Berlin <jberlin@apple.com>
+
+ REGRESSION(r145592): AutodrainedPool.h. RunLoopTimer.h, SchedulePair.h are being copied into
+ the wrong location
+ https://bugs.webkit.org/show_bug.cgi?id=112833
+
+ Reviewed by Darin Adler.
+
+ Fix an incorrect include path.
+
+ * loader/DocumentLoader.h:
+ RunLoopTimer.h lives in wtf as of r145592.
+
+2013-03-20 Kent Tamura <tkent@chromium.org>
+
+ Crash in Document::setFocusedNode if the frame of new focused node is detached in 'change' event handler
+ https://bugs.webkit.org/show_bug.cgi?id=112653
+
+ Reviewed by Dimitri Glazkov.
+
+ Test: fast/frames/detach-frame-during-focus.html
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setFocusedNode):
+ A oldDocument->setFocusedNode call might dispatch a 'change' event for
+ an old focused node, and an event handler code might detach the
+ newFocusedFrame. So we should check it. Without the check, the following
+ newDocument->setFocusedNode call would crash because of null
+ Frame::page().
+
+2013-03-20 Ryosuke Niwa <rniwa@webkit.org>
+
+ Assertion in LegacyWebArchive::create() in editing tests
+ https://bugs.webkit.org/show_bug.cgi?id=112642
+
+ Reviewed by Simon Fraser.
+
+ Address Simon's review comment. Don't convert String to MIMEType just to convert it back to String.
+
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::fragmentFromWebArchive):
+
+2013-03-20 Zan Dobersek <zdobersek@igalia.com>
+
+ [GTK] Build ANGLE sources into a separate library from libWebCore.la
+ https://bugs.webkit.org/show_bug.cgi?id=112778
+
+ Reviewed by Martin Robinson.
+
+ No new tests - no change in functionality.
+
+ * GNUmakefile.list.am: Remove the ANGLE sources listing, it's now placed in the ANGLE-specific GNUmakefile.am.
+
+2011-03-20 Ryosuke Niwa <rniwa@webkit.org>
+
+ Assertion in LegacyWebArchive::create() in editing tests
+ https://bugs.webkit.org/show_bug.cgi?id=112642
+
+ Reviewed by Enrica Casucci.
+
+ It's possible for clipboard to be overriden between the time we retrieve clipboard types and the time
+ we actually retrieve the Web archive buffer. Add a null check to take this into account.
+
+ Also extracted fragmentFromWebArchive for clarity.
+
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::fragmentFromWebArchive): Extracted.
+ (WebCore::Pasteboard::documentFragment):
+
+2013-03-20 Chris Fleizach <cfleizach@apple.com>
+
+ WebSpeech: Crash in WebCore::PlatformSpeechSynthesisUtterance::client / WebCore::SpeechSynthesis::didResumeSpeaking
+ https://bugs.webkit.org/show_bug.cgi?id=112728
+
+ Reviewed by Tim Horton.
+
+ When cancel() is called, there was a delay in the platform returning and saying speech was finished, which caused
+ the m_currentSpeechUtterance variable to get deallocated but not cleared.
+
+ This patch fixes up the management of the utterances in SpeechSynthesis and the Mac platform given that
+ we can't rely on the platform to return immediately on a stop speaking job.
+
+ Test: platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html
+
+ * Modules/speech/SpeechSynthesis.cpp:
+ (WebCore::SpeechSynthesis::cancel):
+ (WebCore::SpeechSynthesis::resume):
+ * platform/mac/PlatformSpeechSynthesizerMac.mm:
+ (-[WebSpeechSynthesisWrapper cancel]):
+ (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
+ (-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakWord:ofString:]):
+
+2013-03-20 Eric Carlson <eric.carlson@apple.com>
+
+ Unreviewed, fix Mac release build.
+
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::languageIdentifier):
+
+2013-03-20 Eric Carlson <eric.carlson@apple.com>
+
+ Allow ports specific text track menu
+ https://bugs.webkit.org/show_bug.cgi?id=112800
+
+ Reviewed by Dean Jackson.
+
+ No new tests, existing tests updated for changes.
+
+ * English.lproj/Localizable.strings: Add localizable strings for text track names.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement): userPrefersCaptions -> shouldShowCaptions.
+ (WebCore::HTMLMediaElement::setSelectedTextTrack): toggleTrackAtIndex -> setSelectedTextTrack.
+ (WebCore::HTMLMediaElement::userPrefersCaptions): userPrefersCaptions -> shouldShowCaptions.
+ (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Get preferences from CaptionUserPreferences
+ instead of from Settings.
+ (WebCore::HTMLMediaElement::setSelectedTextTrack): Renamed from toggleTrackAtIndex. Now takes
+ a TextTrack* instead of an int.
+ (WebCore::HTMLMediaElement::captionPreferencesChanged): Don't force a recalculation unless
+ captions are enabled/disabled to avoid unnecessary thrash.
+ * html/HTMLMediaElement.h:
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Use the menu to track
+ map instead of just the track index.
+ (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Build and configure the
+ menu from the menu to track map.
+ (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Start with a list
+ of tracks already sorted according to platform specific rules. Build a menu to track map
+ so tracks are retained while the menu is visible.
+ * html/shadow/MediaControlElements.h:
+
+ * html/shadow/MediaControls.cpp:
+ (WebCore::MediaControls::textTrackPreferencesChanged): Call closedCaptionTracksChanged so the
+ track menu will be rebuilt before it is shown again.
+
+ * html/track/InbandTextTrack.cpp:
+ (WebCore::InbandTextTrack::containsOnlyForcedSubtitles): New, passthrough to the private track.
+ (WebCore::InbandTextTrack::isMainProgramContent): Ditto.
+ (WebCore::InbandTextTrack::isEasyToRead): Ditto.
+ * html/track/InbandTextTrack.h:
+ * html/track/TextTrack.h:
+
+ * html/track/TextTrackList.cpp:
+ (WebCore::TextTrackList::contains): New.
+ * html/track/TextTrackList.h:
+
+ * page/CaptionUserPreferences.cpp:
+ (WebCore::CaptionUserPreferences::CaptionUserPreferences): Pull in from .h ditto.
+ (WebCore::CaptionUserPreferences::~CaptionUserPreferences): Ditto.
+ (WebCore::CaptionUserPreferences::shouldShowCaptions): Renamed from userPrefersCaptions.
+ (WebCore::CaptionUserPreferences::setShouldShowCaptions): New.
+ (WebCore::CaptionUserPreferences::userPrefersCaptions): Ditto.
+ (WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
+ (WebCore::CaptionUserPreferences::userPrefersSubtitles): Ditto.
+ (WebCore::CaptionUserPreferences::setUserPrefersSubtitles): Ditto.
+ (WebCore::CaptionUserPreferences::userPrefersTextDescriptions): Ditto.
+ (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions): Ditto.
+ (WebCore::CaptionUserPreferences::displayNameForTrack): Ditto.
+ (WebCore::CaptionUserPreferences::sortedTrackListForMenu): Ditto.
+ * page/CaptionUserPreferences.h:
+
+ * page/CaptionUserPreferencesMac.h:
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::CaptionUserPreferencesMac::shouldShowCaptions): Renamed from userPrefersCaptions.
+ (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): New.
+ (WebCore::CaptionUserPreferences::userPrefersSubtitles): Ditto.
+ (WebCore::trackDisplayName): Update logic used to build track title.
+ (WebCore::CaptionUserPreferencesMac::displayNameForTrack): Call trackDisplayName.
+ (WebCore::textTrackCompare): Text track title sort comparison function.
+ (WebCore::CaptionUserPreferencesMac::sortedTrackListForMenu): New. Sort the list of tracks
+ according to title, language, and user preferences.
+
+ * platform/Language.cpp:
+ (WebCore::displayNameForLanguageLocale): Don't leak the CFLocale.
+
+ * platform/LocalizedStrings.cpp:
+ (WebCore::textTrackCountryAndLanguageMenuItemText): New.
+ (WebCore::textTrackLanguageMenuItemText): Ditto.
+ (WebCore::closedCaptionTrackMenuItemText): Ditto.
+ (WebCore::sdhTrackMenuItemText): Ditto.
+ (WebCore::easyReaderTrackMenuItemText): Ditto.
+ * platform/LocalizedStrings.h:
+
+ * platform/graphics/InbandTextTrackPrivate.h:
+ * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
+ * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
+ (WebCore::InbandTextTrackPrivateAVFObjC::containsOnlyForcedSubtitles): New, return AVFoundation property.
+ (WebCore::InbandTextTrackPrivateAVFObjC::isMainProgramContent): Ditto.
+ (WebCore::InbandTextTrackPrivateAVFObjC::isEasyToRead): Ditto.
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::setShouldDisplayTrackKind): Set setting via CaptionUserPreferences
+ instead of from Settings.
+ (WebCore::InternalSettings::shouldDisplayTrackKind): Get setting from CaptionUserPreferences
+ instead of from Settings.
+
+2013-03-20 Zan Dobersek <zdobersek@igalia.com>
+
+ [GTK] Clean up TemporaryLinkStubs.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=112820
+
+ Reviewed by Philippe Normand.
+
+ Clean up the TemporaryLinkStubs.cpp file, removing unnecessary includes and prettifying the code.
+
+ No new tests - no new functionality.
+
+ * platform/gtk/TemporaryLinkStubs.cpp:
+ (WebCore):
+ (WebCore::getSupportedKeySizes):
+ (WebCore::signedPublicKeyAndChallengeString):
+ (WebCore::userIdleTime):
+
+2013-03-20 Yufeng Shen <miletus@chromium.org>
+
+ Remove PlatformEvent::GestureDoubleTap
+ https://bugs.webkit.org/show_bug.cgi?id=93045
+
+ Reviewed by Antonio Gomes.
+
+ PlatformEvent::GestureDoubleTap is not currently
+ used in WebCore and replaced by GestureTap with
+ tap count 2, so remove it.
+
+ Test: We are removing something that is not used, so
+ no new test. All existing tests pass.
+
+ * dom/GestureEvent.cpp:
+ (WebCore::GestureEvent::create):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+ * platform/PlatformEvent.h:
+ * platform/chromium/PopupContainer.cpp:
+ (WebCore::PopupContainer::handleGestureEvent):
+
+2013-03-20 Ojan Vafai <ojan@chromium.org>
+
+ Move repaint methods from RenderObject to RenderBox
+ https://bugs.webkit.org/show_bug.cgi?id=112773
+
+ Reviewed by Julien Chaffraix.
+
+ repaintOverhangingFloats and repaintDuringLayoutIfMoved are only ever called
+ on RenderBoxes, so don't need to be on RenderObject. This also lets us
+ devirtualize repaintDuringLayoutIfMoved.
+
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::repaintOverhangingFloats):
+ * rendering/RenderObject.cpp:
+ * rendering/RenderObject.h:
+
+2013-03-20 Christian Biesinger <cbiesinger@chromium.org>
+
+ Add a feature observer for RenderDeprecatedFlexibleBox
+ https://bugs.webkit.org/show_bug.cgi?id=112740
+
+ Reviewed by Tony Chang.
+
+ No new tests - only adding measurements.
+
+ * page/FeatureObserver.h:
+ Add constants for RenderDeprecatedFlexibleBox, and add separate
+ constants for its use in the UI and in extensions.
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
+ Call FeatureObserver. Check the document()->url() to see which
+ constant to use.
+
+2013-03-20 Tim Horton <timothy_horton@apple.com>
+
+ Autosize should use documentRect height instead of scrollHeight
+ https://bugs.webkit.org/show_bug.cgi?id=112770
+
+ Reviewed by David Levin.
+
+ Autosizing fails to compute the correct height if the root element is very
+ small but the document has significant overflow.
+
+ No new tests; autosizing is not currently exposed in a testable way on Mac.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::autoSizeIfEnabled):
+
+2013-03-20 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Improper repainting when grid item change their position
+ https://bugs.webkit.org/show_bug.cgi?id=112749
+
+ Reviewed by Ojan Vafai.
+
+ Tests: fast/css-grid-layout/grid-element-change-columns-repaint.html
+ fast/css-grid-layout/grid-element-change-rows-repaint.html
+ fast/css-grid-layout/grid-item-change-column-repaint.html
+ fast/css-grid-layout/grid-item-change-row-repaint.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::layoutGridItems):
+ Added a call to repaintDuringLayoutIfMoved to repaint moving grid items.
+
+2013-03-20 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] compositing/iframes/scroll-fixed-transformed-element.html fails in manual testing
+ https://bugs.webkit.org/show_bug.cgi?id=112806
+
+ Reviewed by Antonio Gomes.
+
+ PR 283363
+
+ When scrolling the iframe, the position: fixed element is correctly
+ positioned, that is, as if it was fixed with respect to the iframe's
+ viewport. When scrolling the main frame however, the fixed pos element
+ was positioned as if it was fixed with respect to the main frame's
+ viewport.
+
+ Fixed by falling back to using the WebKit-thread scroll position for
+ fixed positioning in LayerRenderer, if the override doesn't have a
+ position currently set, i.e. if we are not currently scrolling the
+ iframe.
+
+ The effects of the bug are only visual, i.e. not detectable by DRT.
+
+ Manually testable using compositing/iframes/scroll-fixed-transformed-element.html
+
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::updateLayersRecursive):
+
+2013-03-20 Michael Pruett <michael@68k.org>
+
+ [V8] Simplify implementation of EnforceRange conversions
+ https://bugs.webkit.org/show_bug.cgi?id=112758
+
+ Reviewed by Kentaro Hara.
+
+ Factor out EnforceRange conversion into a helper function.
+ Simplify calculation for truncation.
+
+ Tests: fast/js/webidl-type-mapping.html
+ storage/indexeddb/cursor-advance.html
+ storage/indexeddb/cursor-advance-workers.html
+ storage/indexeddb/intversion-bad-parameters.html
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::enforceRange):
+ (WebCore):
+ (WebCore::toInt32):
+ (WebCore::toUInt32):
+ (WebCore::toInt64):
+ (WebCore::toUInt64):
+
+2013-03-20 Harald Alvestrand <hta@google.com>
+
+ Remove Local/Remote and RTCStatsElement from WebRTCStats API
+ https://bugs.webkit.org/show_bug.cgi?id=112678
+
+ Reviewed by Adam Barth.
+
+ Pure removal, remaining functionality covered by existing test.
+
+ * Modules/mediastream/RTCStatsReport.cpp:
+ * Modules/mediastream/RTCStatsReport.h:
+ (RTCStatsReport):
+ * Modules/mediastream/RTCStatsResponse.cpp:
+ * Modules/mediastream/RTCStatsResponse.h:
+ (RTCStatsResponse):
+ * platform/chromium/support/WebRTCStatsResponse.cpp:
+ * platform/mediastream/RTCStatsResponseBase.h:
+ (RTCStatsResponseBase):
+
+2013-03-20 Xingnan Wang <xingnan.wang@intel.com>
+
+ ASSERTION FAILED: !m_renderingAutomaticPullNodes.size()
+ https://bugs.webkit.org/show_bug.cgi?id=112777
+
+ Reviewed by Chris Rogers.
+
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::~AudioContext):
+
+2013-03-20 Rouslan Solomakhin <rouslan@chromium.org>
+
+ Copy-paste should not spellcheck when continuous spellcheck is turned off
+ https://bugs.webkit.org/show_bug.cgi?id=112464
+
+ Reviewed by Ryosuke Niwa.
+
+ Test: editing/spelling/spellcheck-paste-continuous-disabled.html
+
+ * WebCore.exp.in: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
+ * WebCore.order: Export WebCore::Editor::isContinuousSpellCheckingEnabled() and WebCore::Editor::toggleContinuousSpellChecking() for use by internals.
+ * editing/Editor.cpp:
+ (WebCore::Editor::replaceSelectionWithFragment): Do not spellcheck if continuous spellcheck is turned off.
+ * testing/Internals.cpp:
+ (WebCore::Internals::resetToConsistentState): Leave continuous spellcheck turned on after a test.
+ (WebCore::Internals::setContinuousSpellCheckingEnabled): Let tests enable and disable continuous spellcheck.
+ (WebCore):
+ * testing/Internals.h: Let tests enable and disable continuous spellcheck.
+ (Internals):
+ * testing/Internals.idl: Let tests enable and disable continuous spellcheck.
+
+2013-03-20 Aaron Colwell <acolwell@chromium.org>
+
+ Add support for MediaSource::isTypeSupported()
+ https://bugs.webkit.org/show_bug.cgi?id=112301
+
+ Reviewed by Darin Fisher.
+
+ Test: http/tests/media/media-source/video-media-source-is-type-supported.html
+
+ * Modules/mediasource/MediaSource.cpp:
+ (WebCore::MediaSource::addSourceBuffer): Added isTypeSupported() call to verify parameters
+ pass into this method.
+ (WebCore::MediaSource::isTypeSupported):
+ (WebCore):
+ * Modules/mediasource/MediaSource.h:
+ (MediaSource):
+ * Modules/mediasource/MediaSource.idl: Added isTypeSupported().
+ * platform/MIMETypeRegistry.h:
+ (MIMETypeRegistry): Added isSupportedMediaSourceMIMEType().
+ * platform/chromium/MIMETypeRegistryChromium.cpp:
+ (WebCore):
+ (WebCore::MIMETypeRegistry::isSupportedMediaSourceMIMEType): Implemented in terms of WebMimeRegistry::isSupportedMediaSourceMIMEType.
+
+2013-03-20 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] Unreviewed VS2010 build correction.
+
+ * WebCore.vcxproj/WebCore.vcxproj: Enable build of NetworkStorageSessionStub.cpp
+ for WinCairo port.
+ * WebCore.vcxproj/WebCore.vcxproj.filters: Correct build type of
+ CookieJarCurl from 'custom' to 'C++ source file'
+
+2013-03-20 Marja Hölttä <marja@chromium.org>
+
+ [V8] Rename DOMDataStore::isMainWorldObject
+ https://bugs.webkit.org/show_bug.cgi?id=112817
+
+ Reviewed by Jochen Eisinger.
+
+ No new tests (no changes in functionality).
+
+ * bindings/v8/DOMDataStore.h:
+ (WebCore::DOMDataStore::getWrapperFast):
+ (WebCore::DOMDataStore::getWrapper):
+ (WebCore::DOMDataStore::getWrapperForMainWorld):
+ (WebCore::DOMDataStore::setWrapper):
+ (WebCore::DOMDataStore::canExistInWorker):
+
+2013-03-20 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Provide Overview pane for better user expirience.
+ https://bugs.webkit.org/show_bug.cgi?id=112496
+
+ Reviewed by Yury Semikhatsky.
+
+ This patch implements basic part of Overview Pane in FlameChart.
+ The idea of the patch is to move everything into chart-container element.
+ And put OverviewGrid into new overview-container element.
+
+ Drive by change: fix the layout of the flame chart elements.
+ Drive by change: fix the drag window & drag resizer mechanics
+ for the case when the parent element has zero offsetLeft.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.OverviewCalculator):
+ (WebInspector.FlameChart.OverviewCalculator.prototype._updateBoundaries):
+ (WebInspector.FlameChart.OverviewCalculator.prototype.computePosition):
+ (WebInspector.FlameChart.OverviewCalculator.prototype.formatTime):
+ (WebInspector.FlameChart.OverviewCalculator.prototype.maximumBoundary):
+ (WebInspector.FlameChart.OverviewCalculator.prototype.minimumBoundary):
+ (WebInspector.FlameChart.OverviewCalculator.prototype.boundarySpan):
+ (WebInspector.FlameChart.prototype._onWindowChanged):
+ (WebInspector.FlameChart.prototype._adjustXScale):
+ (WebInspector.FlameChart.prototype.update):
+ * inspector/front-end/OverviewGrid.js:
+ (WebInspector.OverviewGrid.Window):
+ (WebInspector.OverviewGrid.Window.prototype._resizerElementStartDragging):
+ (WebInspector.OverviewGrid.Window.prototype._leftResizeElementDragging):
+ (WebInspector.OverviewGrid.Window.prototype._rightResizeElementDragging):
+ (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._windowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
+ (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
+ (WebInspector.OverviewGrid.WindowSelector):
+ * inspector/front-end/TimelineOverviewPane.js:
+ * inspector/front-end/flameChart.css:
+ (.chart-container .item-anchor):
+ (.overview-container):
+ (.chart-container):
+ (#flame-chart-overview-grid .resources-dividers-label-bar):
+ * inspector/front-end/inspectorCommon.css:
+ (.resources-divider-label):
+
+2013-03-20 Sergey Ryazanov <serya@chromium.org>
+
+ Web Inspector: Plumbing CSS warnings
+ https://bugs.webkit.org/show_bug.cgi?id=111334
+
+ Reviewed by Pavel Feldman.
+
+ Adding a framework for plumbing CSS warnings from CSSParser/grammar to the Inspector console.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::CSSParser):
+ (WebCore::CSSParser::parseSheet):
+ (WebCore::CSSParser::syntaxError):
+ (WebCore):
+ (WebCore::CSSParser::isLoggingErrors):
+ (WebCore::CSSParser::logError):
+ * css/CSSParser.h:
+ (CSSParser):
+ (CSSParser::Location):
+ (WebCore):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::parseAuthorStyleSheet):
+ (WebCore::StyleSheetContents::parseString):
+ (WebCore::StyleSheetContents::parseStringAtLine):
+ * css/StyleSheetContents.h:
+ (StyleSheetContents):
+ * dom/StyleElement.cpp:
+ (WebCore::StyleElement::createSheet):
+ * page/PageConsole.cpp:
+ (WebCore::PageConsole::addMessage):
+
+2013-03-20 Justin Novosad <junov@google.com>
+
+ [Chromium] Code cleanup: removing support for non-deferred 2d canvas rendering
+ https://bugs.webkit.org/show_bug.cgi?id=112605
+
+ Reviewed by James Robinson.
+
+ Deleting all the code that was used for propagating and supporting
+ the Chromium setting for disabling deferred 2d canvas rendering.
+
+ No new tests: Affected code paths covered by existing tests.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+ * html/HTMLCanvasElement.h:
+ * page/Settings.in:
+ * platform/graphics/ImageBuffer.h:
+ (WebCore::ImageBuffer::create):
+ (ImageBuffer):
+ * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::prepareForDraw):
+ (WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged):
+ (WebCore::Canvas2DLayerBridge::storageAllocatedForRecording):
+ (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible):
+ (WebCore::Canvas2DLayerBridge::flush):
+ (WebCore::Canvas2DLayerBridge::skCanvas):
+ (WebCore::Canvas2DLayerBridge::prepareTexture):
+ (WebCore::Canvas2DLayerBridge::contextAcquired):
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+ (WebCore::Canvas2DLayerBridge::create):
+ (Canvas2DLayerBridge):
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::createAcceleratedCanvas):
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/wince/ImageBufferWinCE.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/wx/ImageBufferWx.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+
+2013-03-20 Mike West <mkwst@chromium.org>
+
+ Drop full URLs from cross-domain access errors caused by 'document.domain' mismatches.
+ https://bugs.webkit.org/show_bug.cgi?id=112813
+
+ Reviewed by Timothy Hatcher.
+
+ Following up on http://wkbug.com/112042, this patch brings 'document.domain'
+ mismatch error messages into line with the newly origin-only default
+ message. There will probably be two or three more patches in this series
+ just to keep the rebaselines down to something managably reviewable.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::crossDomainAccessErrorMessage):
+ Move the default message redefinition up out of the final 'return' so
+ that 'document.domain' mismatch errors grab the new text.
+
+2013-03-20 Ken Kania <kkania@chromium.org>
+
+ Web Inspector: Add promptText param to Page.handleJavaScriptDialog
+ https://bugs.webkit.org/show_bug.cgi?id=112706
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorClient.h:
+ (WebCore::InspectorClient::handleJavaScriptDialog):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::handleJavaScriptDialog):
+ * inspector/InspectorPageAgent.h:
+
+2013-03-20 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: fix SourceFrame.js compilation warning
+ https://bugs.webkit.org/show_bug.cgi?id=112804
+
+ Reviewed by Yury Semikhatsky.
+
+ No new tests: no change in behavior.
+
+ - Explicitly parse lineNumber from object property name.
+ - Add type annotations to ensure addMessageToSource is monomorphic.
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.clearMessages):
+
+2013-03-20 Dan Carney <dcarney@google.com>
+
+ [v8] unsafe persistent access in V8LazyEventListener
+ https://bugs.webkit.org/show_bug.cgi?id=112807
+
+ Reviewed by Kentaro Hara.
+
+ No new tests.
+
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::toObjectWrapper):
+
+2013-03-20 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Enable appropriate vertex attribute arrays in LayerRenderer::useProgram()
+ https://bugs.webkit.org/show_bug.cgi?id=112757
+
+ Reviewed by Rob Buis.
+
+ PR 306465
+
+ Make the LayerRenderer and associated code more bullet-proof when it
+ comes to enabling vertex attribute arrays, by enabling them already
+ when LayerRenderer::useProgram() is called. This fixes a bug where the
+ video hole punch rectangle wasn't punched when preceding rendering
+ caused the vertex attribute array at index 0 to be disabled, such as
+ when rendering the text selection overlay immediately before video.
+
+ A number of places where the position attribute index was hard-coded
+ to 0 were also fixed. This causes no change in behavior, the position
+ attribute was really at 0, but nonetheless that shouldn't be hardcoded.
+
+ The effects of this patch are only manually testable.
+
+ * platform/graphics/blackberry/LayerCompositingThread.cpp:
+ (WebCore::LayerCompositingThread::drawTextures):
+ (WebCore::LayerCompositingThread::drawSurface):
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::compositeBuffer):
+ (WebCore::LayerRenderer::drawColor):
+ (WebCore::LayerRenderer::drawDebugBorder):
+ (WebCore::LayerRenderer::drawHolePunchRect):
+ (WebCore::LayerRenderer::compositeLayersRecursive):
+ (WebCore::LayerRenderer::useProgram):
+
+2013-03-20 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [CodeMirror] implement highlightRange method
+ https://bugs.webkit.org/show_bug.cgi?id=112802
+
+ Reviewed by Vsevolod Vlasov.
+
+ - Implement highlightRange/removeHighlight methods in
+ CodeMirrorTextEditor.
+ - Update TextEditor interface closure annotations.
+
+ No new tests.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor.prototype.removeHighlight):
+ (WebInspector.CodeMirrorTextEditor.prototype.highlightRange):
+ * inspector/front-end/DefaultTextEditor.js:
+ * inspector/front-end/TextEditor.js:
+
+2013-03-20 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [CodeMirror] show source location for codemirror text editor
+ https://bugs.webkit.org/show_bug.cgi?id=112798
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests.
+
+ - Implement CodeMirrorTextEditor.copyRange method
+ - Fire "selectionChange" event for text editor delegate from
+ CodeMirrorTextEditor.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor):
+ (WebInspector.CodeMirrorTextEditor.prototype.copyRange):
+ (WebInspector.CodeMirrorTextEditor.prototype._cursorActivity):
+
+2013-03-20 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146331.
+ http://trac.webkit.org/changeset/146331
+ https://bugs.webkit.org/show_bug.cgi?id=112795
+
+ Does not work as expected (Requested by carewolf on #webkit).
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::initFormatForTextLayout):
+
+2013-03-20 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Resources] Local Storage: "Add item" row height doesn't match underlying grid.
+ https://bugs.webkit.org/show_bug.cgi?id=112433
+
+ Reviewed by Pavel Feldman.
+
+ Fixed cell height to correspond grid step.
+
+ * inspector/front-end/dataGrid.css:
+ (.data-grid td): Fixed cell height to correspond grid step.
+
+2013-03-20 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] New fast/text/word-space-with-kerning-3.html fails on Qt
+ https://bugs.webkit.org/show_bug.cgi?id=112668
+
+ Reviewed by Jocelyn Turcotte.
+
+ Kerning is on by default in Qt. This means we need to disable it
+ when WebCore does not request it.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::initFormatForTextLayout):
+
+2013-03-20 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: OverviewGrid rename classes according to names of js classes.
+ https://bugs.webkit.org/show_bug.cgi?id=112786
+
+ Reviewed by Yury Semikhatsky.
+
+ It is a part of meta bug 'extract OverviewGrid from TimelineOverviewPane'.
+ As the last step it renames timeline-...... classes to overview-grid-...... classes
+ and moves them to inspectorCommon.css
+
+ * inspector/front-end/OverviewGrid.js:
+ (WebInspector.OverviewGrid):
+ (WebInspector.OverviewGrid.Window):
+ (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
+ (WebInspector.OverviewGrid.WindowSelector):
+ (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
+ * inspector/front-end/inspectorCommon.css:
+ (.overview-grid-window-selector):
+ (.overview-grid-window):
+ (.overview-grid-dividers-background):
+ (.overview-grid-window-rulers):
+ (.overview-grid-window-resizer):
+ * inspector/front-end/timelinePanel.css:
+ (.timeline-frame-overview .overview-grid-window):
+ (.timeline-frame-overview .overview-grid-dividers-background):
+
+2013-03-20 Dmitry Zvorygin <zvorygin@chromium.org>
+
+ Web Inspector: Switch Drawer animation from JavaScript to CSS transitions.
+ https://bugs.webkit.org/show_bug.cgi?id=112586
+
+ This is prerequisite to make Drawer work in overlay mode.
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/Drawer.js:
+ (WebInspector.Drawer):
+ (WebInspector.Drawer.prototype.show):
+ (WebInspector.Drawer.prototype.hide.this.animationFinished):
+ (WebInspector.Drawer.prototype.hide):
+ (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
+ (WebInspector.Drawer.prototype._getAnimationStyles):
+ * inspector/front-end/UIUtils.js:
+ * inspector/front-end/inspector.css:
+ (.animate-slow *):
+ (.animate #main):
+ (.animate #floating-status-bar-container):
+ (.animate #drawer):
+ (.animate #bottom-status-bar-container > *):
+
+2013-03-19 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [DataGrid] Refactorings.
+ https://bugs.webkit.org/show_bug.cgi?id=112690
+
+ Reviewed by Pavel Feldman.
+
+ 1. Avoid using string literals;
+ 2. Remove unused notifications; turn "populate" to method invocation;
+ 3. Replace some getters with regular functions.
+
+ * inspector/front-end/DataGrid.js: Applied refactorings.
+ * inspector/front-end/ApplicationCacheItemsView.js: Adopted changes.
+ * inspector/front-end/BottomUpProfileDataGridTree.js: Ditto.
+ * inspector/front-end/CPUProfileView.js: Ditto.
+ * inspector/front-end/CSSSelectorProfileView.js: Ditto.
+ * inspector/front-end/CookiesTable.js: Ditto.
+ * inspector/front-end/DirectoryContentView.js: Ditto.
+ * inspector/front-end/HeapSnapshotDataGrids.js: Ditto.
+ * inspector/front-end/HeapSnapshotGridNodes.js: Ditto.
+ * inspector/front-end/NativeMemorySnapshotView.js: Ditto.
+ * inspector/front-end/NetworkPanel.js: Ditto.
+ * inspector/front-end/ProfileDataGridTree.js: Ditto.
+ * inspector/front-end/ResourceWebSocketFrameView.js: Ditto.
+ * inspector/front-end/TopDownProfileDataGridTree.js: Ditto.
+ * inspector/front-end/dataGrid.css: Ditto.
+
+2013-03-19 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Support -webkit-font-smoothing
+ https://bugs.webkit.org/show_bug.cgi?id=106009
+
+ Reviewed by Jocelyn Turcotte.
+
+ Set QFont antialiasing settings based on the font smoothing settings in FontDescription.
+
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2013-03-20 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Allow toolbar customization
+ https://bugs.webkit.org/show_bug.cgi?id=112440
+
+ Adds a tools menu item that allows the user to show/hide
+ inspector panels on the toolbar.
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/InspectorView.js:
+ * inspector/front-end/Settings.js:
+ (WebInspector.Settings):
+ (WebInspector.ExperimentsSettings):
+ * inspector/front-end/Toolbar.js:
+ (WebInspector.Toolbar):
+ (WebInspector.Toolbar.prototype.addPanel):
+ (WebInspector.Toolbar.prototype._isPanelVisibleByDefault):
+ (WebInspector.Toolbar.prototype.set _hidePanel):
+ (WebInspector.Toolbar.prototype._showPanel):
+ (WebInspector.Toolbar.prototype._togglePanelsMenu):
+ * inspector/front-end/inspector.css:
+ (#toolbar-panels-menu):
+ (#toolbar-panels-menu:hover):
+ (#toolbar-panels-menu:active):
+ * inspector/front-end/inspector.html:
+
+2013-03-20 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Settings] Add "storage" parameter to WebInspector.Setting
+ https://bugs.webkit.org/show_bug.cgi?id=112667
+
+ Reviewed by Pavel Feldman.
+
+ New parameter will allow more options on how long setting will persist.
+ Possible options are: localStorage, sessionStorage and no-storage.
+
+ Additional change: use delete instead of .removeItem to make it possible
+ use any object as storage.
+
+ * inspector/front-end/Settings.js:
+ Added "storage" parameter and used is instead of "window.localStorage".
+
+2013-03-20 Pan Deng <pan.deng@intel.com>
+
+ Web Inspector: [Network] Fix the bug of WebSocketFrameView crash.
+ https://bugs.webkit.org/show_bug.cgi?id=112771.
+
+ Reviewed by Pavel Feldman.
+
+ WebSocketFrameView crashes when websocket receives an error message, this
+ patch fixes this problem, and error message will be shown in dataGrid as expected.
+
+ No new tests.
+
+ * inspector/front-end/ResourceWebSocketFrameView.js:
+ (WebInspector.ResourceWebSocketFrameView): Handle the errorMessage case.
+
+2013-03-20 Dmitry Zvorygin <zvorygin@chromium.org>
+
+ Remove remainings of obsolete LogLevels and MessageSources from inspector JS part.
+ https://bugs.webkit.org/show_bug.cgi?id=112709
+
+ By the way tuned messagesources in ApplicationCacheGroup.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
+ (WebInspector.ConsoleMessageImpl.prototype.toString):
+ * inspector/front-end/ConsoleModel.js:
+ * inspector/front-end/ExtensionAPI.js:
+ (defineCommonExtensionSymbols):
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
+ (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didReceiveResponse):
+ (WebCore::ApplicationCacheGroup::didFinishLoading):
+ (WebCore::ApplicationCacheGroup::didFail):
+
+2013-03-20 Krzysztof Czech <k.czech@samsung.com>
+
+ [GTK] accessibility/aria-scrollbar-role.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=98358
+
+ Reviewed by Martin Robinson.
+
+ Adds support for checking an orientation attribute of accessibility object.
+ AccessibilityObject that represents ScrollBar element should be ATK_VALUE type.
+ ScrollBar element can be considered as a Range Widget that is able to expose some
+ range values.
+
+ Test: accessibility/aria-scrollbar-role.html
+
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
+ (setAtkStateSetFromCoreObject):
+ (getInterfaceMaskFromObject):
+
+2013-03-20 Zan Dobersek <zdobersek@igalia.com>
+
+ Unreviewed. Fixing a typo in libLevelDB_la_CFLAGS assignment - cxflags -> cflags.
+
+ * GNUmakefile.am:
+
+2013-03-20 Robert Hogan <robert@webkit.org>
+
+ Absolute position div without width specified does not reflow its text when it is moved (and computed width changes)
+ https://bugs.webkit.org/show_bug.cgi?id=112052
+
+ Reviewed by Emil A Eklund.
+
+ If a positioned block has auto width then any movement means the block needs to be resized.
+
+ Test: fast/block/positioned-block-auto-width-movement.html
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::positionedObjectMoved):
+ (WebCore::RenderStyle::diff):
+
+2013-03-19 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146301.
+ http://trac.webkit.org/changeset/146301
+ https://bugs.webkit.org/show_bug.cgi?id=112776
+
+ Caused hundreds of tests to hit assertions on Windows debug
+ bots (Requested by rniwa on #webkit).
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::mainResourceLoader):
+ (WebCore::DocumentLoader::~DocumentLoader):
+ (WebCore::DocumentLoader::mainResourceData):
+ (WebCore::DocumentLoader::stopLoading):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
+ (WebCore::DocumentLoader::continueAfterNavigationPolicy):
+ (WebCore::DocumentLoader::responseReceived):
+ (WebCore::DocumentLoader::continueAfterContentPolicy):
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ (WebCore::DocumentLoader::receivedData):
+ (WebCore::DocumentLoader::clearMainResourceLoader):
+ (WebCore::DocumentLoader::setDefersLoading):
+ (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
+ (WebCore::DocumentLoader::addSubresourceLoader):
+ (WebCore::DocumentLoader::isLoadingMainResource):
+ (WebCore):
+ (WebCore::DocumentLoader::maybeLoadEmpty):
+ (WebCore::DocumentLoader::startLoadingMainResource):
+ * loader/DocumentLoader.h:
+ (WebCore):
+ (DocumentLoader):
+ * loader/MainResourceLoader.cpp: Added.
+ (WebCore):
+ (WebCore::MainResourceLoader::MainResourceLoader):
+ (WebCore::MainResourceLoader::~MainResourceLoader):
+ (WebCore::MainResourceLoader::create):
+ (WebCore::MainResourceLoader::clearResource):
+ (WebCore::MainResourceLoader::frameLoader):
+ (WebCore::MainResourceLoader::request):
+ (WebCore::MainResourceLoader::resourceData):
+ (WebCore::MainResourceLoader::redirectReceived):
+ (WebCore::MainResourceLoader::responseReceived):
+ (WebCore::MainResourceLoader::dataReceived):
+ (WebCore::MainResourceLoader::notifyFinished):
+ (WebCore::MainResourceLoader::reportMemoryUsage):
+ (WebCore::MainResourceLoader::load):
+ (WebCore::MainResourceLoader::setDefersLoading):
+ (WebCore::MainResourceLoader::defersLoading):
+ (WebCore::MainResourceLoader::setDataBufferingPolicy):
+ (WebCore::MainResourceLoader::loader):
+ (WebCore::MainResourceLoader::identifier):
+ * loader/MainResourceLoader.h: Added.
+ (WebCore):
+ (MainResourceLoader):
+ (WebCore::MainResourceLoader::cachedMainResource):
+ (WebCore::MainResourceLoader::documentLoader):
+ * loader/mac/DocumentLoaderMac.cpp:
+ (WebCore::DocumentLoader::schedule):
+ (WebCore::DocumentLoader::unschedule):
+
+2013-03-19 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Stub out SecurityPolicyViolationEvent interface.
+ https://bugs.webkit.org/show_bug.cgi?id=112681
+
+ Reviewed by Adam Barth.
+
+ A first pass at a SecurityPolicyViolationEvent interface is defined in
+ CSP 1.1's editor's draft[1]. This patch puts the big components into
+ place so that we can start getting some implementation experience with
+ the new event interface as it's defined, and feed that back into the
+ working group.
+
+ Here, we're only defining the interface, and creating a listener on the
+ Document. Events aren't yet being fired when Content Security Policy
+ violations occur. I'll tackle that in a future patch; adding files is
+ a big enough annoyance to do it separately.
+
+ This patch has only two web-visible impacts:
+
+ - Document objects now have an 'onsecuritypolicyviolation' attribute.
+ - A SecurityPolicyViolationEvent constructor is accessible on the Window object.
+
+ Ports that have not enabled the CSP_NEXT flag should experience no change.
+
+ [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicyviolationevent-events
+
+ Test: http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-basics.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Wow! A new file! This is so exciting! I'm going to tell ALL my build
+ systems about this!
+ * dom/Document.h:
+ * dom/Document.idl:
+ Define an 'onsecuritypolicyviolation' event handler on Document objects.
+ * dom/EventNames.h:
+ * dom/EventNames.in:
+ Define a 'securitypolicyviolation' event type.
+ * dom/SecurityPolicyViolationEvent.h: Added.
+ (WebCore::SecurityPolicyViolationEventInit::SecurityPolicyViolationEventInit):
+ (SecurityPolicyViolationEventInit):
+ (SecurityPolicyViolationEvent):
+ (WebCore::SecurityPolicyViolationEvent::create):
+ (WebCore::SecurityPolicyViolationEvent::documentURI):
+ (WebCore::SecurityPolicyViolationEvent::referrer):
+ (WebCore::SecurityPolicyViolationEvent::blockedURI):
+ (WebCore::SecurityPolicyViolationEvent::violatedDirective):
+ (WebCore::SecurityPolicyViolationEvent::effectiveDirective):
+ (WebCore::SecurityPolicyViolationEvent::originalPolicy):
+ (WebCore::SecurityPolicyViolationEvent::sourceURL):
+ (WebCore::SecurityPolicyViolationEvent::lineNumber):
+ (WebCore::SecurityPolicyViolationEvent::interfaceName):
+ (WebCore::SecurityPolicyViolationEvent::SecurityPolicyViolationEvent):
+ * dom/SecurityPolicyViolationEvent.idl: Added.
+ Define the SecurityPolicyViolationEvent's IDL, and then create all the
+ boilerplate necessary to properly initialize a SecurityPolicyViolationEvent
+ object with the relevant properties.
+ * page/DOMWindow.idl:
+ Add the new SecurityPolicyViolationEvent constructor to the Window object
+ so it's available on a page.
+
+2013-03-19 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Timeline] Tune status bar UI for limited-width window.
+ https://bugs.webkit.org/show_bug.cgi?id=112702
+
+ Reviewed by Pavel Feldman.
+
+ Reduce filter titles when there is not enough space.
+
+ * inspector/front-end/TimelinePanel.js: Add classnames to elements.
+ * inspector/front-end/timelinePanel.css: Specify "flex" behaviour.
+
+2013-03-19 Nate Chapin <japhet@chromium.org>
+
+ Merge MainResourceLoader into DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=104969
+
+ Reviewed by Adam Barth.
+
+ No new tests, refactor only.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::mainResourceLoader):
+ (WebCore::DocumentLoader::~DocumentLoader): Move main resource clearing from
+ ~MainResourceLoader.
+ (WebCore::DocumentLoader::mainResourceData):
+ (WebCore::DocumentLoader::stopLoading):
+ (WebCore::DocumentLoader::notifyFinished): Moved from MainResourceLoader::notifyFinished.
+ (WebCore):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
+ (WebCore::DocumentLoader::redirectReceived):
+ (WebCore::DocumentLoader::continueAfterNavigationPolicy):
+ (WebCore::DocumentLoader::responseReceived):
+ (WebCore::DocumentLoader::continueAfterContentPolicy):
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ (WebCore::DocumentLoader::dataReceived):
+ (WebCore::DocumentLoader::clearMainResourceLoader):
+ (WebCore::DocumentLoader::setDefersLoading):
+ (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
+ (WebCore::DocumentLoader::addSubresourceLoader):
+ (WebCore::DocumentLoader::maybeLoadEmpty):
+ (WebCore::DocumentLoader::startLoadingMainResource): Don't keep separate checks
+ for normal and empty loads, just use a single boolean.
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::isLoadingMainResource):
+ * loader/MainResourceLoader.cpp: Removed.
+ * loader/MainResourceLoader.h: Removed.
+ * loader/mac/DocumentLoaderMac.cpp:
+ (WebCore::DocumentLoader::schedule):
+ (WebCore::DocumentLoader::unschedule):
+
+2013-03-19 Ankur Taly <ataly@google.com>
+
+ Cache a pointer to V8DOMActivityLogger in PerContextData.
+ https://bugs.webkit.org/show_bug.cgi?id=112719
+
+ Reviewed by Kentaro Hara.
+
+ Adds a data member (and getter, setter methods) to V8PerContextData
+ that holds a pointer to a V8DOMActivityLogger. This member is set while
+ initializing the context for a V8DOMWindowShell. Ownership of the pointer
+ is still retained by the HashMap in DOMWrapperWorld.
+ As a result of this patch, subsequent patches that will implement logging
+ for DOM API access (See bug 107207) will be able to obtain a reference to
+ the logger directly from PerContextData. This will benefit performance as it
+ will be faster than looking up the logger in the DOMActivityLoggerMap in
+ DOMWrapperWorld.
+
+ There are no new tests as there is no change in behavior.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::initializeIfNeeded):
+ * bindings/v8/V8PerContextData.h:
+ (WebCore::V8PerContextData::activityLogger):
+ (V8PerContextData):
+ (WebCore::V8PerContextData::setActivityLogger):
+
+2013-03-19 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ do not use string reference for enum support in CodeGeneratorJS.pm
+ https://bugs.webkit.org/show_bug.cgi?id=112760
+
+ Reviewed by Kentaro Hara.
+
+ Do use string references in generated JS bindings for enum values.
+
+ Test: bindings/scripts/test/TestObj.idl
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ (GenerateParametersCheck):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjEnumAttr):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
+
+2013-03-19 Simon Fraser <simon.fraser@apple.com>
+
+ Make RLC::haveNonMainLayersWithTiledBacking() public and fix the name
+ https://bugs.webkit.org/show_bug.cgi?id=112763
+
+ Reviewed by Tim Horton.
+
+ Downstream code needs to call hasNonMainLayersWithTiledBacking().
+
+ * rendering/RenderLayerCompositor.h:
+ (WebCore::RenderLayerCompositor::hasNonMainLayersWithTiledBacking):
+ (RenderLayerCompositor):
+
+2013-03-19 David Levin <levin@chromium.org>
+
+ FrameLoader::didChangeIcons isn't called when the favicon is changed.
+ https://bugs.webkit.org/show_bug.cgi?id=112080
+
+ Reviewed by Dmitry Titov.
+
+ Test: fast/dom/icon-url-property.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::addIconURL): Made the callback for didChangeIcons
+ happen whenever there are favicon changes instead of filtering it
+ and have to be in sync about what hosts care about. As far as I could
+ tell no hosts rely on this callback except for Chromium, so in general
+ doing less work here may potentially help a small amount for other
+ ports.
+
+2013-03-19 Michael Pruett <michael@68k.org>
+
+ Don't throw on infinity or NaN index in HTMLOptionsCollection.add()
+ https://bugs.webkit.org/show_bug.cgi?id=112612
+
+ Reviewed by Kentaro Hara.
+
+ HTMLOptionsCollection.add() should not throw a type error when
+ its optional index argument is infinity or NaN. Such values
+ should instead be converted to 0 with no error.
+
+ Tests: fast/dom/non-numeric-values-numeric-parameters.html
+ fast/js/select-options-add.html
+
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::add):
+
+2013-03-19 Dominic Mazzoni <dmazzoni@google.com>
+
+ Security: Heap-use-after-free in WebCore::AXObjectCache::getOrCreate
+ https://bugs.webkit.org/show_bug.cgi?id=112044
+
+ Reviewed by Chris Fleizach.
+
+ Always call recalcSectionsIfNeeded before accessing
+ table sections.
+
+ Test: accessibility/table-remove-cell-crash.html
+
+ * accessibility/AccessibilityTable.cpp:
+ (WebCore::AccessibilityTable::addChildren):
+
+2013-03-19 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ [v8] add IDL 'enum' in DOM methods
+ https://bugs.webkit.org/show_bug.cgi?id=112644
+
+ Reviewed by Kentaro Hara.
+
+ This adds V8 support for enumerations in method parameters.
+
+ Test: bindings/scripts/test/TestObj.idl
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateParametersCheck):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::methodWithEnumArgMethod):
+
+2013-03-19 Kenneth Russell <kbr@google.com>
+
+ Unreviewed, rolling out r146277.
+ http://trac.webkit.org/changeset/146277
+ https://bugs.webkit.org/show_bug.cgi?id=111695
+
+ Broke Chromium Android build
+
+ * Modules/speech/SpeechSynthesis.cpp:
+ (WebCore::SpeechSynthesis::boundaryEventOccurred):
+ (WebCore::SpeechSynthesis::didStartSpeaking):
+ (WebCore::SpeechSynthesis::didPauseSpeaking):
+ (WebCore::SpeechSynthesis::didResumeSpeaking):
+ (WebCore::SpeechSynthesis::didFinishSpeaking):
+ (WebCore::SpeechSynthesis::speakingErrorOccurred):
+ (WebCore):
+ * Modules/speech/SpeechSynthesis.h:
+ (SpeechSynthesis):
+ * Modules/speech/SpeechSynthesisUtterance.cpp:
+ (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::setVoice):
+ * Modules/speech/SpeechSynthesisUtterance.h:
+ (WebCore::SpeechSynthesisUtterance::text):
+ (WebCore::SpeechSynthesisUtterance::setText):
+ (WebCore::SpeechSynthesisUtterance::lang):
+ (WebCore::SpeechSynthesisUtterance::setLang):
+ (WebCore::SpeechSynthesisUtterance::volume):
+ (WebCore::SpeechSynthesisUtterance::setVolume):
+ (WebCore::SpeechSynthesisUtterance::rate):
+ (WebCore::SpeechSynthesisUtterance::setRate):
+ (WebCore::SpeechSynthesisUtterance::pitch):
+ (WebCore::SpeechSynthesisUtterance::setPitch):
+ (WebCore::SpeechSynthesisUtterance::startTime):
+ (WebCore::SpeechSynthesisUtterance::setStartTime):
+ (WebCore::SpeechSynthesisUtterance::platformUtterance):
+ (SpeechSynthesisUtterance):
+ * Modules/speech/SpeechSynthesisVoice.h:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * platform/PlatformSpeechSynthesis.h:
+ (PlatformSpeechSynthesis):
+ * platform/PlatformSpeechSynthesisUtterance.cpp:
+ * platform/PlatformSpeechSynthesisUtterance.h:
+ (PlatformSpeechSynthesisUtterance):
+ * platform/PlatformSpeechSynthesisVoice.cpp:
+ (WebCore::PlatformSpeechSynthesisVoice::create):
+ * platform/PlatformSpeechSynthesisVoice.h:
+ (PlatformSpeechSynthesisVoice):
+ * platform/PlatformSpeechSynthesizer.cpp:
+ (WebCore::PlatformSpeechSynthesizer::create):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore):
+ * platform/PlatformSpeechSynthesizer.h:
+ (PlatformSpeechSynthesizerClient):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (PlatformSpeechSynthesizer):
+ * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Removed.
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Removed.
+ * platform/mac/PlatformSpeechSynthesizerMac.mm:
+ (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
+ (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.cpp:
+ (WebCore::PlatformSpeechSynthesizerMock::create):
+ (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
+ (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
+ (WebCore::PlatformSpeechSynthesizerMock::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.h:
+ (PlatformSpeechSynthesizerMock):
+
+2013-03-19 Antti Koivisto <antti@apple.com>
+
+ Don't compute background obscuration on every repaint
+ https://bugs.webkit.org/show_bug.cgi?id=112457
+
+ Reviewed by Simon Fraser.
+
+ Test: fast/backgrounds/obscured-background-child-style-change.html
+
+ It is generally enough to compute background obscuration status once per layout rather than doing it on every repaint.
+ Since there are fewer layouts than repaints this will allow more expensive checks in the future.
+
+ With this patch adds caching and invalidation of the obscuration status.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layout):
+
+ Invalidate the obscuration status on layout.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleDidChange):
+
+ Invalidate the parent obscuration status if there is repaint-only style change (often background related).
+ Tested by the new fast/css/obscured-background-child-style-change.html.
+
+ (WebCore::RenderBox::layout):
+ (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
+ * rendering/RenderBox.h:
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::imageChanged):
+ (WebCore::RenderImage::notifyFinished):
+ (WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
+ (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):
+
+ Use CachedImage::currentFrameKnownToBeOpaque which ensures that the frame is decoded and we get the real status.
+ Tested by an additional case in fast/css/obscured-background-child-style-change.html.
+
+ * rendering/RenderImage.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::hasBoxDecorations):
+ (WebCore::RenderObject::computeBackgroundIsKnownToBeObscured):
+ (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
+ (RenderObjectBitfields):
+ (WebCore::RenderObject::RenderObjectBitfields::boxDecorationState):
+ (WebCore::RenderObject::RenderObjectBitfields::setBoxDecorationState):
+
+ Combine box decoration bit and the obscuration status so we only need one extra bit.
+
+ (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
+ (WebCore::RenderObject::setHasBoxDecorations):
+ (WebCore::RenderObject::invalidateBackgroundObscurationStatus):
+ (WebCore::RenderObject::backgroundIsKnownToBeObscured):
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::layout):
+
+2013-03-19 Dominic Mazzoni <dmazzoni@google.com>
+
+ Implement Web Speech Synthesis for Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=111695
+
+ Reviewed by Adam Barth.
+
+ Straightforward implementation of speech synthesis
+ for Chromium by exposing interfaces for the platform
+ to implement.
+
+ * Modules/speech/SpeechSynthesis.cpp:
+ (WebCore::SpeechSynthesis::boundaryEventOccurred):
+ (WebCore::SpeechSynthesis::didStartSpeaking):
+ (WebCore::SpeechSynthesis::didPauseSpeaking):
+ (WebCore::SpeechSynthesis::didResumeSpeaking):
+ (WebCore::SpeechSynthesis::didFinishSpeaking):
+ (WebCore::SpeechSynthesis::speakingErrorOccurred):
+ (WebCore):
+ * Modules/speech/SpeechSynthesis.h:
+ (SpeechSynthesis):
+ * Modules/speech/SpeechSynthesisUtterance.cpp:
+ (WebCore::SpeechSynthesisUtterance::SpeechSynthesisUtterance):
+ (WebCore):
+ (WebCore::SpeechSynthesisUtterance::~SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::setVoice):
+ * Modules/speech/SpeechSynthesisUtterance.h:
+ (SpeechSynthesisUtterance):
+ (WebCore::SpeechSynthesisUtterance::text):
+ (WebCore::SpeechSynthesisUtterance::setText):
+ (WebCore::SpeechSynthesisUtterance::lang):
+ (WebCore::SpeechSynthesisUtterance::setLang):
+ (WebCore::SpeechSynthesisUtterance::volume):
+ (WebCore::SpeechSynthesisUtterance::setVolume):
+ (WebCore::SpeechSynthesisUtterance::rate):
+ (WebCore::SpeechSynthesisUtterance::setRate):
+ (WebCore::SpeechSynthesisUtterance::pitch):
+ (WebCore::SpeechSynthesisUtterance::setPitch):
+ (WebCore::SpeechSynthesisUtterance::startTime):
+ (WebCore::SpeechSynthesisUtterance::setStartTime):
+ (WebCore::SpeechSynthesisUtterance::platformUtterance):
+ * Modules/speech/SpeechSynthesisVoice.h:
+ (WebCore::SpeechSynthesisVoice::~SpeechSynthesisVoice):
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * platform/PlatformSpeechSynthesis.h:
+ (PlatformSpeechSynthesis):
+ * platform/PlatformSpeechSynthesisUtterance.cpp:
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesisUtterance::create):
+ * platform/PlatformSpeechSynthesisUtterance.h:
+ (PlatformSpeechSynthesisUtterance):
+ (WebCore::PlatformSpeechSynthesisUtterance::setClient):
+ * platform/PlatformSpeechSynthesisVoice.cpp:
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesisVoice::create):
+ (WebCore::PlatformSpeechSynthesisVoice::PlatformSpeechSynthesisVoice):
+ * platform/PlatformSpeechSynthesisVoice.h:
+ (PlatformSpeechSynthesisVoice):
+ (WebCore::PlatformSpeechSynthesisVoice::setVoiceURI):
+ (WebCore::PlatformSpeechSynthesisVoice::setName):
+ (WebCore::PlatformSpeechSynthesisVoice::setLang):
+ (WebCore::PlatformSpeechSynthesisVoice::setLocalService):
+ (WebCore::PlatformSpeechSynthesisVoice::setIsDefault):
+ * platform/PlatformSpeechSynthesizer.cpp:
+ (WebCore::PlatformSpeechSynthesizer::create):
+ (WebCore::PlatformSpeechSynthesizer::setVoiceList):
+ (WebCore):
+ * platform/PlatformSpeechSynthesizer.h:
+ (WebKit):
+ (PlatformSpeechSynthesizerClient):
+ (PlatformSpeechSynthesizer):
+ * platform/chromium/PlatformSpeechSynthesizerChromium.cpp: Added.
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ (WebCore::PlatformSpeechSynthesizer::pause):
+ (WebCore::PlatformSpeechSynthesizer::resume):
+ (WebCore::PlatformSpeechSynthesizer::cancel):
+ * platform/chromium/support/WebSpeechSynthesisUtterance.cpp: Added.
+ (WebKit):
+ (WebKit::WebSpeechSynthesisUtterance::WebSpeechSynthesisUtterance):
+ (WebKit::WebSpeechSynthesisUtterance::operator=):
+ (WebKit::WebSpeechSynthesisUtterance::assign):
+ (WebKit::WebSpeechSynthesisUtterance::reset):
+ (WebKit::WebSpeechSynthesisUtterance::operator PassRefPtr<PlatformSpeechSynthesisUtterance>):
+ (WebKit::WebSpeechSynthesisUtterance::operator PlatformSpeechSynthesisUtterance*):
+ (WebKit::WebSpeechSynthesisUtterance::text):
+ (WebKit::WebSpeechSynthesisUtterance::lang):
+ (WebKit::WebSpeechSynthesisUtterance::voice):
+ (WebKit::WebSpeechSynthesisUtterance::volume):
+ (WebKit::WebSpeechSynthesisUtterance::rate):
+ (WebKit::WebSpeechSynthesisUtterance::pitch):
+ (WebKit::WebSpeechSynthesisUtterance::startTime):
+ * platform/chromium/support/WebSpeechSynthesisVoice.cpp: Added.
+ (WebKit):
+ (WebKit::WebSpeechSynthesisVoice::assign):
+ (WebKit::WebSpeechSynthesisVoice::reset):
+ (WebKit::WebSpeechSynthesisVoice::setVoiceURI):
+ (WebKit::WebSpeechSynthesisVoice::setName):
+ (WebKit::WebSpeechSynthesisVoice::setLanguage):
+ (WebKit::WebSpeechSynthesisVoice::setIsLocalService):
+ (WebKit::WebSpeechSynthesisVoice::setIsDefault):
+ (WebKit::WebSpeechSynthesisVoice::operator PassRefPtr<WebCore::PlatformSpeechSynthesisVoice>):
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.cpp: Added.
+ (WebCore):
+ (WebCore::WebSpeechSynthesizerClientImpl::WebSpeechSynthesizerClientImpl):
+ (WebCore::WebSpeechSynthesizerClientImpl::~WebSpeechSynthesizerClientImpl):
+ (WebCore::WebSpeechSynthesizerClientImpl::setVoiceList):
+ (WebCore::WebSpeechSynthesizerClientImpl::didStartSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didFinishSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didPauseSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::didResumeSpeaking):
+ (WebCore::WebSpeechSynthesizerClientImpl::speakingErrorOccurred):
+ (WebCore::WebSpeechSynthesizerClientImpl::wordBoundaryEventOccurred):
+ (WebCore::WebSpeechSynthesizerClientImpl::sentenceBoundaryEventOccurred):
+ * platform/chromium/support/WebSpeechSynthesizerClientImpl.h: Added.
+ (WebCore):
+ (WebSpeechSynthesizerClientImpl):
+ * platform/mac/PlatformSpeechSynthesizerMac.mm:
+ (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
+ (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
+ (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
+ (WebCore):
+ (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
+ (WebCore::PlatformSpeechSynthesizer::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.cpp:
+ (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
+ (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
+ (WebCore::PlatformSpeechSynthesizerMock::speak):
+ * platform/mock/PlatformSpeechSynthesizerMock.h:
+ (PlatformSpeechSynthesizerMock):
+
+2013-03-19 Ryosuke Niwa <rniwa@webkit.org>
+
+ Another build fix after r146220.
+
+ * English.lproj/localizedStrings.js:
+
+2013-03-19 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Add parsing for grid-auto-{row|column}
+ https://bugs.webkit.org/show_bug.cgi?id=112724
+
+ Reviewed by Tony Chang.
+
+ This change is a first step towards handling grid-auto-{row|column}.
+ For now, only the parsing, storing and getComputedStyle bits are implemented.
+ In order to do so without duplicating code, the functions handling <track-size>
+ (named <track-minmax> in the code based on a previous version of the grammar)
+ have been tweaked to be called in a standalone fashion. The code was also
+ updated to match the grammar more closely:
+ - <track-minmax> is now <track-size>.
+ - <track-group> was renmoved, folded into <track-list>.
+
+ Test: fast/css-grid-layout/grid-auto-columns-rows-get-set.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForGridTrackSize):
+ Renamed from valueForGridTrackMinMax.
+
+ (WebCore::valueForGridTrackList):
+ Folded valueForGridTrackGroup here.
+
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ Added the parsing for grid-auto-{rows|columns}.
+
+ (WebCore::CSSParser::parseGridTrackSize):
+ Renamed from parseGridTrackMinMax. Changed to return the parsed value (or 0 in case of
+ error). This enables us to reuse it in parseValue. Note that this function now moves
+ the parser value list instead of the caller.
+
+ (WebCore::CSSParser::parseGridTrackList):
+ Updated after parseGridTrackSize changes and parseGridTrackGroup removal.
+
+ * css/CSSParser.h: Updated the names.
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/CSSPropertyNames.in:
+ Added the 2 new non-inherited properties.
+
+ * css/StyleResolver.cpp:
+ (WebCore::createGridTrackSize):
+ Renamed from createGridTrackMinMax. Also simplified to ensure code reuse (applyProperty hands
+ down a CSSValue) and consistency (the state wasn't consistently the last argument).
+
+ (WebCore::createGridTrackList):
+ Folded createGridTrackGroup into this function.
+
+ (WebCore::StyleResolver::applyProperty):
+ Added the code for the new properties.
+
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleGridData.cpp:
+ (WebCore::StyleGridData::StyleGridData):
+ * rendering/style/StyleGridData.h:
+ (WebCore::StyleGridData::operator==):
+ Added the storage and boiler-plate code for the new properties.
+
+2013-03-19 Geoffrey Garen <ggaren@apple.com>
+
+ Removed a using declaration to avoid name conflicts
+ https://bugs.webkit.org/show_bug.cgi?id=112752
+
+ Reviewed by Ryosuke Niwa.
+
+ * html/ClassList.cpp: Put the using declaration here instead.
+
+ * html/ClassList.h: Don't put a using declaration in this header because
+ it can cause name conflicts with SVGNames.
+
+2013-03-18 Ojan Vafai <ojan@chromium.org>
+
+ Make intrinsic size keywords on flexboxes work
+ https://bugs.webkit.org/show_bug.cgi?id=112652
+
+ Reviewed by Tony Chang.
+
+ Tests: fast/css-intrinsic-dimensions/intrinsic-sized-column-flex-items.html
+ fast/css-intrinsic-dimensions/intrinsic-sized-flex-items.html
+
+ * platform/Length.h:
+ (WebCore::Length::isSpecifiedOrIntrinsic):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
+ (WebCore::RenderBox::computeLogicalWidthInRegion):
+ (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
+ Pass in the Length so that RenderFlexibleBox can call this method and avoid
+ doing a bunch of code duplication.
+
+ * rendering/RenderBox.h:
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
+ Instead of just calling valueForLength, call computeLogicalWidthInRegionUsing so that
+ we properly resolve intrinsic Length types. Incidentally, this should also make viewport
+ percentage units work.
+
+ (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
+ Resolve intrinsic min/max Lengths. Also, instead of calling minPreferredLogicalWidth for the
+ min-width: auto case, call computeMainAxisExtentForChild to correctly compute the min intrinsic size.
+
+2013-03-19 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Windows build.
+
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::hasValidAttributeType): Qualify the
+ namespace to avoid conflicts.
+
+2013-03-19 Ryosuke Niwa <rniwa@webkit.org>
+
+ Windows build fix after r146264.
+
+ * svg/SVGAnimateMotionElement.cpp:
+ (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
+
+2013-03-19 Nate Chapin <japhet@chromium.org>
+
+ REGRESSION(r146223): chromium asserts/crashes in DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=112745
+
+ Reviewed by Kenneth Russell.
+
+ Fixes layout tests on chromium debug
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::mainReceivedError): Frame might be detached, get
+ defersLoading() from mainResourceLoader().
+ (WebCore::DocumentLoader::responseReceived): RefPtr got dropped, it's really needed.
+ (WebCore::DocumentLoader::receivedData): Frame might be detached, get
+ defersLoading() from mainResourceLoader().
+ (WebCore::DocumentLoader::cancelMainResourceLoad): The ResourceError parameter
+ can be null if coming from the WebKit layer, we should have a default just in case.
+
+2013-03-19 Geoffrey Garen <ggaren@apple.com>
+
+ Refactored script content removal in the fragment parser for clarity and speed
+ https://bugs.webkit.org/show_bug.cgi?id=112734
+
+ Reviewed by Enrica Casucci.
+
+ * WebCore.exp.in: Export!
+
+ * dom/DocumentFragment.cpp:
+ (WebCore::DocumentFragment::parseHTML):
+ (WebCore::DocumentFragment::parseXML):
+ * dom/DocumentFragment.h:
+ (DocumentFragment): Updated for rename of FragmentScriptingPermission to
+ ParserContentPolicy.
+
+ * dom/Element.cpp:
+ (WebCore::isEventHandlerAttribute):
+ (WebCore::Element::isJavaScriptURLAttribute):
+ (WebCore::Element::isJavaScriptAttribute): Fixed a FIXME by factoring
+ out some helper functions that reuse isURLAttribute(). This makes our
+ attribute removal slightly more precise, as reflected in test changes.
+
+ (WebCore::Element::stripJavaScriptAttributes): Factored this function out
+ of parserSetAttributes to clarify that the parser is responsible for
+ fully removing scripts before inserting anything into the DOM.
+
+ Now that this is a helper function, we can avoid doing any work in the
+ common case, where script content is allowed. Also, when we do have to
+ strip attributes, we use "two finger compaction" to avoid copying the
+ vector, and to avoid O(N) vector removal operations when there is
+ something to remove.
+
+ (WebCore::Element::parserSetAttributes):
+ * dom/Element.h:
+
+ * dom/FragmentScriptingPermission.h:
+ (WebCore::scriptingContentIsAllowed):
+ (WebCore::disallowScriptingContent):
+ (WebCore::pluginContentIsAllowed):
+ (WebCore::allowPluginContent): Renamed for clarity, and added some helper
+ functions for reading values out of this enum.
+
+ * dom/ScriptableDocumentParser.cpp:
+ (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Moved
+ a settings check into the parser constructor so we're sure that all
+ clients get the right behavior.
+
+ * dom/ScriptableDocumentParser.h:
+ (WebCore::ScriptableDocumentParser::parserContentPolicy):
+ (ScriptableDocumentParser):
+ * editing/markup.cpp:
+ (WebCore::createFragmentFromMarkup):
+ (WebCore::createFragmentFromMarkupWithContext):
+ (WebCore::createFragmentForInnerOuterHTML):
+ (WebCore::createContextualFragment):
+ * editing/markup.h: Updated for renames.
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::isURLAttribute): Fixed a bug where
+ isURLAttribute would ignore href attributes in other namespaces, like
+ xlink:href.
+
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::isURLAttribute): Same bug.
+
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::isURLAttribute): Fixed a logic error where HTMLElement
+ wouldn't call through to its base class.
+
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::isURLAttribute): Same isURLAttribute namespace
+ bug as above.
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::setAttributes): Helper function for optionally stripping
+ disallowed attributes before setting them on an element. This helps all
+ clients get the right behavior without sprinkling checks everywhere.
+
+ (WebCore::HTMLConstructionSite::HTMLConstructionSite):
+ (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
+
+ (WebCore::HTMLConstructionSite::insertScriptElement): Don't schedule the
+ element for insertion into the document if the element is forbidden. This
+ is slightly clearer than leaving an empty forbidden element in the document.
+
+ (WebCore::HTMLConstructionSite::createElement):
+ (WebCore::HTMLConstructionSite::createHTMLElement):
+ * html/parser/HTMLConstructionSite.h:
+ (HTMLConstructionSite):
+ (WebCore::HTMLConstructionSite::parserContentPolicy):
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
+ (WebCore::HTMLDocumentParser::parseDocumentFragment):
+ * html/parser/HTMLDocumentParser.h:
+ (HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::create):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
+ Updated for renames and interface changes above.
+
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+ (WebCore::HTMLTreeBuilder::processEndTag): Removed isParsingFragment()
+ checks to make it possible to use ParserContentPolicy in more places.
+
+ Removed call to removeChildren() because, if an element is forbidden,
+ we fully remove the element now. This brings behavior for <script>
+ elements in line with behavior for plug-in elements. It also brings
+ behavior of the HTML parser in line with behavior of the XML parser.
+
+ * html/parser/HTMLTreeBuilder.h:
+ (WebCore::HTMLTreeBuilder::create):
+ (FragmentParsingContext):
+ (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement):
+ * platform/blackberry/PasteboardBlackBerry.cpp:
+ (WebCore::Pasteboard::documentFragment):
+ * platform/chromium/DragDataChromium.cpp:
+ (WebCore::DragData::asFragment):
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::documentFragment):
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::documentFragment):
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::Pasteboard::documentFragment):
+ * platform/qt/DragDataQt.cpp:
+ (WebCore::DragData::asFragment):
+ * platform/qt/PasteboardQt.cpp:
+ (WebCore::Pasteboard::documentFragment):
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::fragmentFromCFHTML):
+ (WebCore::fragmentFromHTML):
+ * platform/wx/PasteboardWx.cpp:
+ (WebCore::Pasteboard::documentFragment): Updated for renames and interface
+ changes.
+
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::isURLAttribute): Fixed a bug where SVG anchor
+ elements didn't identify their URL attributes.
+
+ * svg/SVGAElement.h:
+ (SVGAElement):
+
+ * xml/XMLErrors.cpp:
+ (WebCore::createXHTMLParserErrorHeader):
+ (WebCore::XMLErrors::insertErrorMessageBlock): No need to disallow
+ scripting attributes here because we're creating the attributes
+ ourselves and we know they're not scripting attributes.
+
+ * xml/parser/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::parseDocumentFragment):
+ * xml/parser/XMLDocumentParser.h:
+ (WebCore::XMLDocumentParser::create):
+ (XMLDocumentParser): Updated for renames and interface changes above.
+
+ Removed the 8 inline capacity in the attribute vector so we could share
+ helper functions with the HTML parser, which didn't have it.
+
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::setAttributes):
+ (WebCore):
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+ (WebCore::handleNamespaceAttributes):
+ (WebCore::handleElementAttributes):
+ (WebCore::XMLDocumentParser::startElementNs):
+ (WebCore::XMLDocumentParser::endElementNs):
+ * xml/parser/XMLDocumentParserQt.cpp:
+ (WebCore::setAttributes):
+ (WebCore):
+ (WebCore::XMLDocumentParser::XMLDocumentParser):
+ (WebCore::handleNamespaceAttributes):
+ (WebCore::handleElementAttributes):
+ (WebCore::XMLDocumentParser::parseStartElement):
+ (WebCore::XMLDocumentParser::parseEndElement): Same changes as for the
+ HTML parser.
+
+2013-03-19 Philip Rogers <pdr@google.com>
+
+ Clean up static_casts for SVG renderers
+ https://bugs.webkit.org/show_bug.cgi?id=111651
+
+ Reviewed by Abhishek Arya.
+
+ toRenderSVGPath and toRenderSVGFilter are preferred over static_casts because bad casts can
+ be caught on our testing infrastructure. This patch replaces all static_casts for
+ RenderSVGPath and RenderSVGFilter with toRenderSVGPath and toRenderSVGFilter, respectively.
+
+ This patch also adds FIXME to the remaining toRenderSVG* instances that are missing.
+
+ No new tests as this is covered with existing tests.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayerContents):
+
+ This call is currently safe due to the element->hasTagName(SVGNames::clipPathTag) check.
+
+ * rendering/svg/RenderSVGPath.h:
+ (WebCore):
+ (WebCore::toRenderSVGPath):
+ * rendering/svg/RenderSVGResourceFilter.h:
+ (WebCore):
+ (WebCore::toRenderSVGFilter):
+ * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
+ (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
+ * rendering/svg/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderSupport::repaintRectForRendererInLocalCoordinatesExcludingSVGShadow):
+ (WebCore::SVGRenderSupport::rendererHasSVGShadow):
+ (WebCore::SVGRenderSupport::setRendererHasSVGShadow):
+ * rendering/svg/SVGRenderingContext.cpp:
+ (WebCore::SVGRenderingContext::~SVGRenderingContext):
+
+ This cast was not correct! Thankfully it was not required anyway.
+
+ * svg/SVGCircleElement.cpp:
+ (WebCore::SVGCircleElement::svgAttributeChanged):
+
+ This cast was not correct!
+
+ * svg/SVGEllipseElement.cpp:
+ (WebCore::SVGEllipseElement::svgAttributeChanged):
+
+ This cast was not correct!
+
+ * svg/SVGLineElement.cpp:
+ (WebCore::SVGLineElement::svgAttributeChanged):
+ * svg/SVGPathElement.cpp:
+ (WebCore::SVGPathElement::svgAttributeChanged):
+ (WebCore::SVGPathElement::pathSegListChanged):
+ (WebCore::SVGPathElement::getBBox):
+ * svg/SVGPolyElement.cpp:
+ (WebCore::SVGPolyElement::svgAttributeChanged):
+ * svg/SVGRectElement.cpp:
+ (WebCore::SVGRectElement::svgAttributeChanged):
+
+2013-03-19 Beth Dakin <bdakin@apple.com>
+
+ RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
+ https://bugs.webkit.org/show_bug.cgi?id=110673
+
+ Reviewed by Simon Fraser.
+
+ FrameLoaderClient::didChangeScrollOffset() should be called whenever something is
+ actually being scrolled.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollTo):
+
+2013-03-19 Marja Hölttä <marja@chromium.org>
+
+ [V8] Add machinery for generating specialized bindings for the main world
+ https://bugs.webkit.org/show_bug.cgi?id=111417
+
+ Reviewed by Jochen Eisinger.
+
+ The new specialized bindings will be faster, because they don't need to
+ do the "main world, isolated world or a worker" check, but can right
+ away assume that we're in the main world.
+
+ Added an IDL attribute (V8PerWorldBindings) to define which
+ attribute getters / setters to specialize.
+
+ This patch generates main world bindings for getters and setters of Node
+ and Element. (The possibility to generate bindings for callbacks will be
+ added later.)
+
+ No new tests (updated existing bindings tests).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateNormalAttrGetterCallback):
+ (GenerateNormalAttrGetter):
+ (GenerateNormalAttrSetterCallback):
+ (GenerateNormalAttrSetter):
+ (GenerateNamedConstructor):
+ (GenerateSingleBatchedAttribute):
+ (GenerateImplementation):
+ (GenerateCallbackImplementation):
+ (GenerateFunctionCallString):
+ (CreateCustomSignature):
+ (NativeToJSValue):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::ConfigureV8Float64ArrayTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ (WebCore::V8Float64Array::HasInstance):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ (WebCore::V8TestActiveDOMObject::HasInstance):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ (WebCore::V8TestCustomNamedGetter::HasInstance):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestEventConstructorTemplate):
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ (WebCore::V8TestEventConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::ConfigureV8TestEventTargetTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ (WebCore::V8TestEventTarget::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestExceptionTemplate):
+ (WebCore::V8TestException::GetTemplate):
+ (WebCore::V8TestException::HasInstance):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestInterfaceTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ (WebCore::V8TestInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ (WebCore::V8TestMediaQueryListListener::HasInstance):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
+ (WebCore::ConfigureV8TestNamedConstructorTemplate):
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ (WebCore::V8TestNamedConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::ConfigureV8TestNodeTemplate):
+ (WebCore::V8TestNode::GetTemplate):
+ (WebCore::V8TestNode::HasInstance):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestObjTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ (WebCore::V8TestObj::HasInstance):
+ (WebCore::V8TestObj::installPerContextProperties):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
+ (WebCore::V8TestOverloadedConstructors::GetTemplate):
+ (WebCore::V8TestOverloadedConstructors::HasInstance):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestTypedefsTemplate):
+ (WebCore::V8TestTypedefs::GetTemplate):
+ (WebCore::V8TestTypedefs::HasInstance):
+ * bindings/scripts/test/V8/V8TestTypedefs.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/v8/DOMDataStore.h:
+ (WebCore::DOMDataStore::getWrapperForMainWorld):
+ (DOMDataStore):
+ * bindings/v8/V8DOMConfiguration.cpp:
+ (WebCore::V8DOMConfiguration::batchConfigureAttributes):
+ (WebCore::V8DOMConfiguration::configureTemplate):
+ * bindings/v8/V8DOMConfiguration.h:
+ (BatchedAttribute):
+ (V8DOMConfiguration):
+ (WebCore::V8DOMConfiguration::configureAttribute):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8EventTargetCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * dom/Element.idl:
+ * dom/Node.idl:
+
+2013-03-19 Mike West <mkwst@chromium.org>
+
+ FeatureObserver: Measure X-Frame-Options usage.
+ https://bugs.webkit.org/show_bug.cgi?id=112670
+
+ Reviewed by Adam Barth.
+
+ This patch adds three FeatureObserver entries to gather information
+ about 'X-Frame-Options' usage in general, and in particular usage
+ and potential misunderstanding of the 'SAMEORIGIN' value.
+
+ Three entries are added:
+
+ - XFrameOptions measures the raw number of 'X-Frame-Options' headers.
+
+ - XFrameOptionsSameOrigin measures the number of those headers that
+ set the value to 'SAMEORIGIN'.
+
+ - XFrameOptionsSameOriginWithBadAncestorChain measures the number of
+ occasions in which the frame passed the "top-only" origin check we're
+ currently performing, but would have failed a more strict check
+ against poisoned ancestor chains (that is, an ancestor chain that
+ looks like 'example.com' -> 'evil.com' -> 'example.com').
+
+ Mozilla is considering changing 'SAMEORIGIN's behavior to block the
+ latter loophole[1], and the UI Safety spec is considering dropping
+ 'top-only' entirely[2]. This data will inform those decisions.
+
+ [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=725490
+ [2]: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0007.html
+
+ This doesn't change web-visible behavior; it only adds histograms
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
+ When processing an 'X-Frame-Options' header's value, call out to
+ FeatureObserver when relevant to increment the correct histogram
+ entries.
+ * page/FeatureObserver.h:
+ Added three entries to the FeatureObserver enum: XFrameOptions,
+ XFrameOptionsSameOrigin, and XFrameOptionsSameOriginWithBadAncestorChain.
+ Each is explained above.
+
+2013-03-19 Adam Barth <abarth@webkit.org>
+
+ GenerateHashValue should be usable outside CodeGeneratorJS.pm
+ https://bugs.webkit.org/show_bug.cgi?id=112736
+
+ Reviewed by Benjamin Poulain.
+
+ GenerateHashValue is not specific to CodeGeneratorJS.pm. Instead, the
+ function matches the StringHash used in WTF. This patch moves the
+ function into a separate Perl module so that it can be used by other
+ Perl scripts. For example, I plan to use this function to compute the
+ hash value for HTMLNames at compile time rather than at startup.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateHashTable):
+ * bindings/scripts/Hash.pm: Added.
+ (leftShift):
+ (GenerateHashValue):
+
+2013-03-19 Dean Jackson <dino@apple.com>
+
+ Allow PlugIn Snapshotting to be tested
+ https://bugs.webkit.org/show_bug.cgi?id=98696
+
+ Reviewed by Tim Horton.
+
+ Expose a new setting maximumPlugInSnapshotAttempts that can
+ be set by testing scripts.
+
+ Tests: plugins/snapshotting/restart.html
+ plugins/snapshotting/simple.html
+
+ * page/Settings.in:
+
+2013-03-19 Dean Jackson <dino@apple.com>
+
+ Restarting a snapshotted plugin should restart all plugins from the same domain on the page
+ https://bugs.webkit.org/show_bug.cgi?id=112725
+
+ Reviewed by Tim Horton.
+
+ If the user restarts a snapshotted plugin, then typically they will
+ want to restart all similar plugins on the page, where similarity
+ is defined by the domain of the content. Or in other words, since clients
+ will typically add a restarted plugin to the list of autostarting
+ domain hashes, we should start the other plugins that would autostart
+ on reload.
+
+ When a snapshotted plugin gets the user click telling it to restart, it iterates
+ over every frame in the document looking for domain hashes similar to its own.
+ It then manually restarts each of the paused plugins.
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::addPlugInsFromNodeListMatchingOriginHash): Static helper function
+ that builds a list of plugins to restart.
+ (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): After restarting itself,
+ the plugin looks for all other similar snapshotted plugins in the page.
+ (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn): Splits out the actual
+ restart functionality, to make it separate from plugins that were manually
+ restarted and thus probably want to forward a delayed click event.
+ * html/HTMLPlugInImageElement.h:
+ (HTMLPlugInImageElement): New method restartSnapshottedPlugIn.
+
+2013-03-19 Nate Chapin <japhet@chromium.org>
+
+ Merge MainResourceLoader's SubstituteData loading + others into DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=112722
+
+ Part of the ongoing effort to merge MainResourceLoader entirely
+ into DocumentLoader.
+
+ Reviewed by Antti Koivisto.
+
+ No new tests, refactor only.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::mainReceivedError): Moved from MainResourceLoader::receivedError
+ and the failure case in MainResourceLoader::notifyFinished.
+ (WebCore::DocumentLoader::stopLoading):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::handleSubstituteDataLoadNow): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::startDataLoadTimer): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::willSendRequest):
+ (WebCore::DocumentLoader::continueAfterNavigationPolicy):
+ (WebCore::DocumentLoader::responseReceived):
+ (WebCore::DocumentLoader::receivedData):
+ (WebCore::DocumentLoader::startLoadingMainResource): Most of MainResourceLoader::load
+ moved here.
+ (WebCore::DocumentLoader::cancelMainResourceLoad): MainResourceLoader::cancel
+ moved here.
+ * loader/DocumentLoader.h:
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::notifyFinished):
+ (WebCore::MainResourceLoader::reportMemoryUsage):
+ (WebCore::MainResourceLoader::load):
+ (WebCore::MainResourceLoader::identifier):
+ * loader/MainResourceLoader.h:
+
+2013-03-19 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed build fix after r146220. Add the missing ]'s.
+
+ * English.lproj/localizedStrings.js:
+
+2013-03-19 Alpha Lam <hclam@chromium.org>
+
+ GIFImageReader to count frames and decode in one pass
+ https://bugs.webkit.org/show_bug.cgi?id=111144
+
+ Reviewed by Stephen White.
+
+ OBJECTIVE
+
+ This change has the objective of improving performance reading GIF
+ files. This implementation can parse the entire GIF file in one pass
+ and saves information about each frame, such that decoding in a later
+ pass does not need to parse the file again.
+
+ This change fixes the performance problem of decoding GIF files when
+ they are received very slowly. Existing implementation creates a new
+ GIFImageReader for counting frames for every time it is notified that
+ new data has been received, this has O(n^2) behavior when data is
+ received very slowly.
+
+ ALGORITHM
+
+ This implementation divides the decoding process into two separate
+ steps: parse and LZW decoding.
+
+ In the parse step, the state machine is similar to the existing
+ implementation. However this algorithm does not perform any decoding
+ while scanning through the file. Intead it creates a new data structure
+ for caching all frame information and the corresponding LZW blocks.
+
+ If a full decode is requested then LZW decoding is performed. This
+ implementation looks through all frame information saved and decodes
+ each frame sequentially until the target frame is reached.
+
+ Because of the separation of parse and decode, each frame can be
+ decoded separately. This paves the way to support seeking in GIF files.
+
+ TESTING
+
+ Added a new unit test to cover progressively decoding a GIF image.
+ There are already GIF unit tests for functional testing.
+ Exhaustive testing was done locally with a corpus of 60k images.
+ I mixed the corpus with some generated bad data and truncated files.
+ The results was bit-identical when compared to the previous
+ implementation.
+
+ These was also no crashing when decoding the entire corpus.
+
+ * platform/image-decoders/gif/GIFImageDecoder.cpp:
+ (WebCore::GIFImageDecoder::GIFImageDecoder):
+ (WebCore::GIFImageDecoder::setData):
+ (WebCore::GIFImageDecoder::frameCount):
+ (WebCore::GIFImageDecoder::repetitionCount):
+ (WebCore::GIFImageDecoder::decode):
+ * platform/image-decoders/gif/GIFImageDecoder.h:
+ (GIFImageDecoder):
+ * platform/image-decoders/gif/GIFImageReader.cpp:
+ (GIFLZWContext::outputRow):
+ (GIFLZWContext::doLZW):
+ (GIFFrameContext::decode):
+ (GIFImageReader::decode):
+ (GIFImageReader::parse):
+ (GIFImageReader::addFrameIfNecessary):
+ (GIFLZWContext::prepareToDecode):
+ * platform/image-decoders/gif/GIFImageReader.h:
+ There is a lot of reshuffling in GIFLZWContext and GIFFrameContext.
+ These changes has the goal of having GIFLZWContext be a pure decoding
+ state machine. GIFFrameContext is mostly a read-only container for
+ frame information. With all these changes we can decode each
+ GIFFrameContext independently.
+
+ The ownership pattern is:
+ GIFImageReader owns GIFFrameContext owns GIFLZWContext.
+
+ (GIFLZWContext::GIFLZWContext):
+ (GIFLZWContext):
+ (GIFLZWContext::hasRemainingRows):
+ GIFLZWContext is moved to the top of file.
+ (GIFLZWBlock):
+ (GIFLZWBlock::GIFLZWBlock):
+ New data structure to save block position and size.
+ (GIFFrameContext):
+ (GIFFrameContext::GIFFrameContext):
+ (GIFFrameContext::~GIFFrameContext):
+ (GIFFrameContext::addLzwBlock):
+ (GIFFrameContext::isComplete):
+ (GIFFrameContext::isHeaderDefined):
+ (GIFFrameContext::isDataSizeDefined):
+ (GIFFrameContext::setComplete):
+ (GIFFrameContext::setHeaderDefined):
+ (GIFFrameContext::setDataSize):
+ Now owns GIFLZWContext for decoding.
+ (GIFImageReader::GIFImageReader):
+ (GIFImageReader::~GIFImageReader):
+ (GIFImageReader::imagesCount):
+ (GIFImageReader::frameContext):
+ (GIFImageReader):
+ (GIFImageReader::parseFailed):
+ (GIFImageReader::isFirstFrame):
+ Owns a list of GIFFrameContxt.
+
+2013-03-19 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] Unreviewed build correction for WebCore library.
+
+ * WebCore.vcxproj/WebCore.vcxproj: Exclude CG-specific frame source
+ from WinCairo build.
+ * WebCore.vcxproj/WebCoreGeneratedWinCairo.make: Pass correct
+ parameter to build-generated-files.sh for WinCairo build.
+
+2013-03-19 Leon Scroggins <scroggo@chromium.org>
+
+ Implement onRefEncodedData for lazy pixel refs.
+ This allows printToSkPicture to write the original
+ encoded data to the stream.
+ Add a method to ImageFrameGenerator to copy its
+ data, which is used by onRefEncodedData.
+ https://bugs.webkit.org/show_bug.cgi?id=110759
+
+ Reviewed by Stephen White.
+
+ No new tests. New functionality is for testing purposes
+ (creating SKP files).
+
+ * platform/graphics/chromium/ImageFrameGenerator.cpp:
+ (WebCore::ImageFrameGenerator::data):
+ (WebCore):
+ * platform/graphics/chromium/ImageFrameGenerator.h:
+ (ImageFrameGenerator):
+ * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
+ (WebCore::LazyDecodingPixelRef::isClipped):
+ (WebCore):
+ (WebCore::LazyDecodingPixelRef::onRefEncodedData):
+ * platform/graphics/chromium/LazyDecodingPixelRef.h:
+ (LazyDecodingPixelRef):
+
+2013-03-19 Philip Rogers <pdr@google.com>
+
+ Separate SVG image size and container size
+ https://bugs.webkit.org/show_bug.cgi?id=112651
+
+ Reviewed by Stephen Chenney.
+
+ Previously, SVG images could retain their cached size between reloads due to a bug where an
+ old container size would be re-used if the image's new container size was not available yet.
+
+ This patch changes SVGImage::size() to return the intrinsic size of the image before a
+ container size has been set. SVGImageCache::imageSizeForRenderer will now return the
+ image's intrinsic size instead of a cached value if the container size cannot be looked up.
+ In javascript, querying [SVGImage].width will now return either the image's intrinsic size
+ or the size of 'imageForContainer'.
+
+ Test: svg/as-image/svg-container-size-after-reload.html
+
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::setContainerSize):
+ (WebCore::SVGImage::containerSize):
+ (WebCore::SVGImage::draw):
+ (WebCore::SVGImage::dataChanged):
+ * svg/graphics/SVGImage.h:
+
+ The member variable 'm_intrinsicSize' has been added to track the image's intrinsic
+ size. This term can be found in: http://www.w3.org/TR/css3-images/#default-sizing
+
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::imageSizeForRenderer):
+ (WebCore::SVGImageCache::imageForRenderer):
+
+ In both of these functions, image has been renamed to imageForContainer here to clarify
+ that the cached container size is being returned, not the image's intrinsic size.
+
+2013-03-19 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Use integer plumbing for deleteDatabase onVersionChange calls
+ https://bugs.webkit.org/show_bug.cgi?id=112715
+
+ Reviewed by Tony Chang.
+
+ When deleteDatabase on the back-end needs to send the front-end an
+ onVersionChange notification it does so using the string overload. That's
+ the only remaining use of that overload and we'd like to delete it. Switch
+ to using the integer overload, with an already defined special value.
+ This will unblock http://wkbug.com/112712 to delete the dead code.
+
+ No new tests - no functional change.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::onVersionChange): Map NoIntVersion to null.
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Call integer overload.
+
+2013-03-19 Terry Anderson <tdanderson@chromium.org>
+
+ Hover effects from a GestureTapDown are dismissed by a GestureTap on the hover element
+ https://bugs.webkit.org/show_bug.cgi?id=103283
+
+ Reviewed by Antonio Gomes.
+
+ On a GestureTap event over an element that was made visible as a hover effect, the
+ GestureTap should be applied to that element and the hover effects should not be dismissed.
+ A GestureTap or a mouse move to a location outside of the element should still dismiss the
+ hover effects.
+
+ Tests: fast/events/touch/gesture/gesture-tap-hover-clear.html
+ fast/events/touch/gesture/gesture-tap-on-hover-element.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureEvent):
+
+2013-03-19 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Fix menu items capitalization.
+ https://bugs.webkit.org/show_bug.cgi?id=112553
+
+ The context menu items should be correctly capitalized.
+
+ Reviewed by Pavel Feldman.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._emptyElementContextMenu):
+ (WebInspector.XHRBreakpointsSidebarPane.prototype._emptyElementContextMenu):
+ (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get var):
+ (WebInspector.ConsoleView.prototype._handleContextMenuEvent.set get contextMenu):
+ * inspector/front-end/DOMBreakpointsSidebarPane.js:
+ (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid.prototype._contextMenuInDataTable):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
+ (WebInspector.ElementsPanel.prototype.appendApplicableItems):
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
+ (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
+ * inspector/front-end/HeapSnapshotDataGrids.js:
+ (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkPanel.prototype.appendApplicableItems):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
+ (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
+ (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._appendUISourceCodeMappingItems):
+ (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
+ (WebInspector.ScriptsPanel.prototype._appendFunctionItems):
+ * inspector/front-end/TabbedPane.js:
+ (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._contextMenu):
+ * inspector/front-end/WatchExpressionsSidebarPane.js:
+ (WebInspector.WatchExpressionsSection.prototype._emptyElementContextMenu):
+ (WebInspector.WatchExpressionTreeElement.prototype.populateContextMenu):
+
+2013-03-19 Alec Flett <alecflett@chromium.org>
+
+ Inspector: IndexedDB clear button and menu item
+ https://bugs.webkit.org/show_bug.cgi?id=112066
+
+ Reviewed by Vsevolod Vlasov.
+
+ Adds a button that can clear the contents of an objectStore from
+ the IDBDataView, and a context menu from the ResourcesPanel that
+ can do the same.
+
+ This also disables the Refresh button from the IDBDataView, so there
+ is at least some visual feedback that the refresh button is working.
+
+ Tests: http/tests/inspector/indexeddb/database-data.html
+
+ * inspector/Inspector.json: New API clearObjectStore.
+ * inspector/InspectorIndexedDBAgent.cpp: Implementation of clearObjectStore
+ (WebCore):
+ (ClearObjectStoreListener): Calls the original closure after the objectStore is cleared.
+ (ClearObjectStore): Initiates the clear operation after the DB opens.
+ * inspector/front-end/IndexedDBModel.js: Exposes clearObjectStore to the Model API.
+ (WebInspector.IDBDataView): Add clear button and enable/disable clear and refresh buttons appropriately.
+ * inspector/front-end/ResourcesPanel.js: Add a menu item and refresh the displayed data after the clear.
+ * inspector/front-end/inspector.css: Add a style to show the right button for clear.
+
+2013-03-19 Nate Chapin <japhet@chromium.org>
+
+ Merge MainResourceLoader::responseReceived into DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=112593
+
+ Part of the ongoing effort to merge MainResourceLoader entirely
+ into DocumentLoader.
+
+ Reviewed by Adam Barth.
+
+ No new tests, refactor only.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::DocumentLoader):
+ (WebCore::DocumentLoader::stopLoading):
+ (WebCore::DocumentLoader::finishedLoading): The only thing left in
+ MainResourceLoader related to this function was a RefPtr which indirectly
+ protected DocumentLoader. Move the RefPtr here and protect DocumentLoader directly.
+ (WebCore::DocumentLoader::responseReceived): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::callContinueAfterContentPolicy): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::continueAfterContentPolicy): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::interruptedForPolicyChangeError): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::stopLoadingForPolicyChange): Moved from MainResourceLoader.
+ (WebCore::DocumentLoader::receivedData):
+ (WebCore::DocumentLoader::cancelMainResourceLoad):
+ * loader/DocumentLoader.h:
+ (WebCore::DocumentLoader::isLoadingMultipartContent): Store multipart bit here.
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::MainResourceLoader):
+ (WebCore::MainResourceLoader::cancel):
+ (WebCore::MainResourceLoader::responseReceived):
+ (WebCore::MainResourceLoader::notifyFinished):
+ * loader/MainResourceLoader.h:
+
+2013-03-19 Tony Chang <tony@chromium.org>
+
+ Cleanup defaultUnifiedTextCheckerEnabled type
+ https://bugs.webkit.org/show_bug.cgi?id=112640
+
+ Reviewed by Adam Barth.
+
+ It's a bool setting. I accidentally declared the default value as a double
+ in r139202.
+
+ No new tests, this is a refactor/code cleanup.
+
+ * page/Settings.cpp:
+ (WebCore): Switch from double to a bool.
+
+2013-03-19 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: Increase DataGrid default font size.
+ https://bugs.webkit.org/show_bug.cgi?id=112692
+
+ Reviewed by Pavel Feldman.
+
+ The default font of 10px is too small. Most instances of DataGrid set
+ font to 11px.
+
+ * inspector/front-end/dataGrid.css:
+ (.data-grid table):
+
+2013-03-19 Max Vujovic <mvujovic@adobe.com>
+
+ Refactor conditions for setCompositingLayersNeedRebuild in RenderLayer::styleChanged
+ https://bugs.webkit.org/show_bug.cgi?id=112606
+
+ Reviewed by Simon Fraser.
+
+ To fix bug 109098 [1], we will need to add more conditions for calling
+ RenderLayerCompositor::setCompositingLayersNeedRebuild in RenderLayer::styleChanged.
+ Adding more non-trivial conditions will make this block of code even harder to follow.
+ This patch refactors the current conditions into functions:
+ needsCompositingLayersRebuiltForClip
+ needsCompositingLayersRebuiltForOverflow
+
+ In bug 109098 [1], I'm planning to add:
+ needsCompositingLayersRebuiltForFilters
+
+ [1]: https://bugs.webkit.org/show_bug.cgi?id=109098
+
+ No new tests. Just refactoring.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore):
+ (WebCore::RenderLayer::needsCompositingLayersRebuiltForClip):
+ (WebCore::RenderLayer::needsCompositingLayersRebuiltForOverflow):
+ This is a method and not a file static function because it needs to look at the
+ RenderLayer's stackingContainer(), which is a private method.
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+
+2013-03-19 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Support kerning in fast path font rendering
+ https://bugs.webkit.org/show_bug.cgi?id=106013
+
+ Reviewed by Jocelyn Turcotte.
+
+ To support kerning in the fast font path we need to implement SimpleFontData::applyTransforms.
+
+ This patch changes the types used by the fast path GlyphBuffer to match those used by Qt,
+ and implements SimpleFontData::applyTransforms using QRawFont::advancesForGlyphIndexes.
+
+ * platform/graphics/GlyphBuffer.h:
+ (GlyphBufferAdvance):
+ (WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
+ (WebCore::GlyphBufferAdvance::setWidth):
+ (WebCore::GlyphBufferAdvance::width):
+ (WebCore::GlyphBufferAdvance::height):
+ (WebCore::GlyphBuffer::add):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::applyTransforms):
+ * platform/graphics/WidthIterator.h:
+ (WebCore::WidthIterator::supportsTypesettingFeatures):
+
+2013-03-19 Sergey Ryazanov <serya@chromium.org>
+
+ Web Inspector: split Console into two entities, a web-facing bound object and page console.
+ https://bugs.webkit.org/show_bug.cgi?id=111578
+
+ Reviewed by Vsevolod Vlasov.
+
+ Otherwise, a lot of logging in WebCore needs to go through the DOMWindow which is unnecessary.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.order:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
+ * dom/Document.cpp:
+ (WebCore::Document::addConsoleMessage):
+ (WebCore::Document::addMessage):
+ * inspector/PageDebuggerAgent.cpp:
+ (WebCore::PageDebuggerAgent::muteConsole):
+ (WebCore::PageDebuggerAgent::unmuteConsole):
+ * inspector/PageRuntimeAgent.cpp:
+ (WebCore::PageRuntimeAgent::muteConsole):
+ (WebCore::PageRuntimeAgent::unmuteConsole):
+ * page/Console.cpp:
+ (WebCore::internalAddMessage):
+ * page/Console.h:
+ (WebCore):
+ (Console):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::pageConsole):
+ (WebCore):
+ (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
+ (WebCore::DOMWindow::printErrorMessage):
+ * page/DOMWindow.h:
+ (WebCore):
+ (DOMWindow):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * page/Page.h:
+ (WebCore):
+ (WebCore::Page::console):
+ (Page):
+ * page/PageConsole.cpp: Added.
+ (WebCore::PageConsole::PageConsole):
+ (WebCore):
+ (WebCore::PageConsole::~PageConsole):
+ (WebCore::PageConsole::printSourceURLAndLine):
+ (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
+ (WebCore::PageConsole::addMessage):
+ (WebCore::PageConsole::mute):
+ (WebCore::PageConsole::unmute):
+ (WebCore::PageConsole::shouldPrintExceptions):
+ (WebCore::PageConsole::setShouldPrintExceptions):
+ * page/PageConsole.h: Copied from Source/WebCore/page/Console.h.
+ (WebCore):
+ (PageConsole):
+ (WebCore::PageConsole::create):
+ (WebCore::PageConsole::page):
+ * xml/XSLStyleSheetLibxslt.cpp:
+ (WebCore::XSLStyleSheet::parseString):
+ * xml/XSLTProcessorLibxslt.cpp:
+ (WebCore::XSLTProcessor::parseErrorFunc):
+ (WebCore::docLoaderFunc):
+
+2013-03-19 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: move OverviewGrid and OverviewWindow into separate file.
+ https://bugs.webkit.org/show_bug.cgi?id=112693
+
+ Reviewed by Yury Semikhatsky.
+
+ It is the third patch for the meta bug "Web Inspector: meta bug: extract OverviewGrid from TimelineOverviewPane"
+ It just moves the OverviewGrid and the related classes into its own file.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/OverviewGrid.js: Added.
+ (WebInspector.OverviewGrid):
+ (WebInspector.OverviewGrid.prototype.itemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.insertBeforeItemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.clientWidth):
+ (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.updateDividers):
+ (WebInspector.OverviewGrid.prototype.addEventDividers):
+ (WebInspector.OverviewGrid.prototype.removeEventDividers):
+ (WebInspector.OverviewGrid.prototype.setWindowPosition):
+ (WebInspector.OverviewGrid.prototype.reset):
+ (WebInspector.OverviewGrid.prototype.windowLeft):
+ (WebInspector.OverviewGrid.prototype.windowRight):
+ (WebInspector.OverviewGrid.prototype.setWindow):
+ (WebInspector.OverviewGrid.prototype.addEventListener):
+ (WebInspector.OverviewGrid.Window):
+ (WebInspector.OverviewGrid.Window.prototype.reset):
+ (WebInspector.OverviewGrid.Window.prototype._leftResizeElementDragging):
+ (WebInspector.OverviewGrid.Window.prototype._rightResizeElementDragging):
+ (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._windowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
+ (WebInspector.OverviewGrid.Window.prototype._windowDragging):
+ (WebInspector.OverviewGrid.Window.prototype._endWindowDragging):
+ (WebInspector.OverviewGrid.Window.prototype._moveWindow):
+ (WebInspector.OverviewGrid.Window.prototype._resizeWindowLeft):
+ (WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
+ (WebInspector.OverviewGrid.Window.prototype._resizeWindowMaximum):
+ (WebInspector.OverviewGrid.Window.prototype._setWindow):
+ (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
+ (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
+ (WebInspector.OverviewGrid.Window.prototype._zoom):
+ (WebInspector.OverviewGrid.WindowSelector):
+ (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
+ (WebInspector.OverviewGrid.WindowSelector.prototype._close):
+ (WebInspector.OverviewGrid.WindowSelector.prototype._updatePosition):
+ * inspector/front-end/TimelineOverviewPane.js:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2013-03-19 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Monospace font does not render in proper sizes
+ https://bugs.webkit.org/show_bug.cgi?id=93263
+
+ Reviewed by Jocelyn Turcotte.
+
+ Do not force fonts to use integer metrics. This was necessary when the fast font path
+ only worked in integer but is now hindering accurate metrics. This is also required to
+ make kerning in the fast-path look acceptable
+
+ Only enabled for Qt 5.1+ to avoid changing all the baselines for 5.0.
+
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2013-03-19 John J. Barton <johnjbarton@chromium.org>
+
+ Web Inspector: Add iframe option to inspectedWindow.eval() extension API
+ https://bugs.webkit.org/show_bug.cgi?id=106811
+
+ Reviewed by Vsevolod Vlasov.
+
+ Add a new case to the options processing in inspectedWindow.eval(), look
+ for option.frameURL <string> and/or option.scriptExecutionContext: <string>, find the
+ matching JS context in the runtimeModel, and call evaluate() in that
+ context; or error if the context is not found.
+
+ Test: http/tests/inspector/extensions-iframe-eval.html
+
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
+ (WebInspector.ExtensionServer.prototype.):
+ (WebInspector.ExtensionServer.prototype.evaluate):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype.frames):
+ Added read access to _frames
+ * inspector/front-end/RuntimeModel.js:
+ (WebInspector.RuntimeModel.prototype.contextListByFrame):
+ Added access to a frame's contextList, removed contextByFrameAndSecurityOrigin()
+ (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
+ Added access to frame's mainWorldContext, rather than implicit first context.
+ Now we can go from ResourceTreeModel -> frame -> contextList then either
+ mainWorldContext() or contextBySecurityOrigin() to access contexts.
+
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype.):
+ (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
+ (WebInspector.ExtensionServer.prototype.evaluate):
+ * inspector/front-end/ResourceTreeModel.js:
+ * inspector/front-end/RuntimeModel.js:
+ (WebInspector.RuntimeModel.prototype.contextListByFrame):
+ (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
+
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype._onReload):
+ (WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
+ (WebInspector.ExtensionServer.prototype.):
+ (WebInspector.ExtensionServer.prototype.evaluate):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype.frames):
+ * inspector/front-end/RuntimeModel.js:
+ (WebInspector.RuntimeModel.prototype.contextListByFrame):
+ (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
+
+ * inspector/front-end/ExtensionServer.js:
+ (WebInspector.ExtensionServer.prototype.resolveURLToFrame.hasMatchingURL):
+ (WebInspector.ExtensionServer.prototype.):
+ (WebInspector.ExtensionServer.prototype.evaluate):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype.frames):
+ * inspector/front-end/RuntimeModel.js:
+ (WebInspector.RuntimeModel.prototype.contextListByFrame):
+ (WebInspector.FrameExecutionContextList.prototype.mainWorldContext):
+
+2013-03-19 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: rename TimelineOverviewWindow to OverviewGrid.Window and fix names for constants.
+ https://bugs.webkit.org/show_bug.cgi?id=112685
+
+ Reviewed by Yury Semikhatsky.
+
+ It is the second patch which extracts OverviewGrid from TimelineOverviewPane.
+ It renames internal components of OverviewGrid.
+ WebInspector.TimelineOverviewWindow -> WebInspector.OverviewGrid.Window
+ WebInspector.TimelineOverviewWindow.WindowSelector -> WebInspector.OverviewGrid.WindowSelector
+
+ and moves constants from WebInspector.TimelineOverviewWindow namespace to WebInspector.OverviewGrid namespace
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.OverviewGrid):
+ (WebInspector.OverviewGrid.Window):
+ (WebInspector.OverviewGrid.Window.prototype._startWindowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._endWindowSelectorDragging):
+ (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
+ (WebInspector.OverviewGrid.Window.prototype._windowDragging):
+ (WebInspector.OverviewGrid.Window.prototype._moveWindow):
+ (WebInspector.OverviewGrid.Window.prototype._resizeWindowRight):
+ (WebInspector.OverviewGrid.Window.prototype._setWindowPosition):
+ (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):
+ (WebInspector.OverviewGrid.Window.prototype._zoom):
+ (WebInspector.OverviewGrid.WindowSelector):
+ (WebInspector.OverviewGrid.WindowSelector.prototype._createSelectorElement):
+
+2013-03-19 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPane into a new class OverviewGrid.
+ https://bugs.webkit.org/show_bug.cgi?id=112584
+
+ Reviewed by Pavel Feldman.
+
+ It is the first path in the set.
+ The end goal is to extract OverviewGrid with window selectors
+ into a separate class in separate file and reuse it in CPU FlameChart.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.OverviewGrid):
+ (WebInspector.OverviewGrid.prototype.get grid):
+ (WebInspector.OverviewGrid.prototype.get clientWidth):
+ (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.updateDividers):
+ (WebInspector.OverviewGrid.prototype.addEventDividers):
+ (WebInspector.OverviewGrid.prototype.removeEventDividers):
+ (WebInspector.OverviewGrid.prototype.setWindowPosition):
+ (WebInspector.OverviewGrid.prototype.reset):
+ (WebInspector.OverviewGrid.prototype.get windowLeft):
+ (WebInspector.OverviewGrid.prototype.get windowRight):
+ (WebInspector.OverviewGrid.prototype.setWindow):
+ (WebInspector.OverviewGrid.prototype.addEventListener):
+ (WebInspector.TimelineOverviewPane.prototype.setMode):
+ (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
+ (WebInspector.TimelineOverviewPane.prototype._update):
+ (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
+ (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
+ (WebInspector.TimelineOverviewPane.prototype._reset):
+ (WebInspector.TimelineOverviewPane.prototype.windowLeft):
+ (WebInspector.TimelineOverviewPane.prototype.windowRight):
+ (WebInspector.TimelineOverviewPane.prototype._updateWindow):
+
+2013-03-19 Vladislav Kaznacheev <kaznacheev@chromium.org>
+
+ Web Inspector: Add Inspector.targetCrashed event to Inspector protocol.
+ https://bugs.webkit.org/show_bug.cgi?id=112669
+
+ Added Inspector.targetCrashed event and handled it on the front end.
+ Showing a modal dialog similar to the one displayed when the remote
+ debugging target is disconnected.
+
+ Reviewed by Pavel Feldman.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/Inspector.json:
+ * inspector/front-end/HelpScreen.js:
+ (WebInspector.HelpScreenUntilReload):
+ (WebInspector.HelpScreenUntilReload.prototype.willHide):
+ * inspector/front-end/inspector.js:
+ (WebInspector.targetCrashed):
+
+2013-03-19 Mario Sanchez Prada <mario.prada@samsung.com>
+
+ [GTK] Wrong guard USE(GLX) in RedirectedXCompositeWindow
+ https://bugs.webkit.org/show_bug.cgi?id=112600
+
+ Reviewed by Martin Robinson.
+
+ Replace USE(GLX) condition with USE(OPENGL) && PLATFORM(X11).
+
+ * platform/gtk/RedirectedXCompositeWindow.cpp: Updated guard.
+ * platform/gtk/RedirectedXCompositeWindow.h: Ditto.
+
+2013-03-19 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSSRegions] Crash reflowing content in variable width regions
+ https://bugs.webkit.org/show_bug.cgi?id=112515
+
+ Reviewed by David Hyatt.
+
+ When removing floats during relayout of a line in a paginated context,
+ we have to make sure that the floats collection actually has elements before
+ accessing the last float from the collection.
+ This situation arises when a block had floats in a previous layout and after
+ they were removed, m_floatingObjects is not destroyed, only emptied.
+
+ Test: fast/regions/crash-reflow-inline-content-in-variable-width-regions.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::removeFloatingObjectsBelow):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::layoutRunsAndFloats):
+ (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
+
+2013-03-18 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Debugger scripts should visually differ from network/filesystem files in workspace.
+ https://bugs.webkit.org/show_bug.cgi?id=112552
+
+ Reviewed by Pavel Feldman.
+
+ Extracted ContentProviderBasedProjectDelegate from SimpleProjectDelegate.
+ Implemented DebuggerProjectDelegate for DefaultScriptMapping.
+ Debugger scripts are now added to workspace with a name starting with [VM] and ending with scriptId.
+ Added yellow background to debugger scripts editor.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/ContentProviderBasedProjectDelegate.js: Added.
+ * inspector/front-end/DefaultScriptMapping.js:
+ (WebInspector.DefaultScriptMapping):
+ (WebInspector.DefaultScriptMapping.prototype.addScript):
+ (WebInspector.DefaultScriptMapping.prototype._debuggerReset):
+ (WebInspector.DebuggerProjectDelegate):
+ (WebInspector.DebuggerProjectDelegate.prototype.id):
+ (WebInspector.DebuggerProjectDelegate.prototype.type):
+ (WebInspector.DebuggerProjectDelegate.prototype.displayName):
+ (WebInspector.DebuggerProjectDelegate.prototype.addScript):
+ * inspector/front-end/JavaScriptSourceFrame.js:
+ (WebInspector.JavaScriptSourceFrame):
+ * inspector/front-end/ParsedURL.js:
+ (WebInspector.ParsedURL.splitURL):
+ * inspector/front-end/SimpleWorkspaceProvider.js:
+ (WebInspector.SimpleProjectDelegate):
+ (WebInspector.SimpleProjectDelegate.prototype.addFile):
+ (WebInspector.SimpleProjectDelegate.prototype._ensureUniquePath):
+ (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/Workspace.js:
+ (WebInspector.Workspace.prototype.uiSourceCodeForURL):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/javaScriptSourceFrame.css: Added.
+ (.source-frame-debugger-script):
+
+2013-03-19 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [CodeMirror] add smart braces functionality
+ https://bugs.webkit.org/show_bug.cgi?id=112138
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests.
+
+ Add closebrackets add-on to codemirror which implements smart braces
+ functionality and guard this setting with the "Text Editor smart
+ braces" experiment.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/cm/closebrackets.js: Added.
+ (.):
+
+2013-03-19 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: Avoid forcing text editor resize
+ https://bugs.webkit.org/show_bug.cgi?id=112581
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests.
+
+ Avoid unnecessary text editor resizing by removing line decoration
+ via removeDecoration method instead of DOM remove operation.
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype.clearMessages):
+ (WebInspector.SourceFrame.prototype._setTextEditorDecorations):
+
+2013-03-19 Andrey Lushnikov <lushnikov@chromium.org>
+
+ Web Inspector: [CodeMirror] fix cursor movements
+ https://bugs.webkit.org/show_bug.cgi?id=112555
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests.
+
+ - Update CodeMirror to ToT to include its improved cursor movement
+ - Add a small keymap to force cursor stop on both line endings and line
+ starts.
+
+ * inspector/front-end/CodeMirrorTextEditor.js:
+ (WebInspector.CodeMirrorTextEditor):
+ (WebInspector.CodeMirrorTextEditor.FixWordMovement):
+ (WebInspector.CodeMirrorTextEditor.FixWordMovement.moveRight):
+ * inspector/front-end/cm/codemirror.css:
+ (.CodeMirror div.CodeMirror-cursor):
+ (.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor):
+ (.CodeMirror):
+ * inspector/front-end/cm/codemirror.js:
+ (window.CodeMirror):
+ (window.CodeMirror.):
+
+2013-03-19 Adam Barth <abarth@webkit.org>
+
+ [chromium] Regression(143825): select elements don't open when there is a marquee on the page
+ https://bugs.webkit.org/show_bug.cgi?id=111278
+
+ Unreviewed.
+
+ This patch is a rollout of http://trac.webkit.org/changeset/143825. The
+ original patch caused a regression in the Chromium port.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollTo):
+
+2013-03-19 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Styles] Matching @host rule children are not displayed
+ https://bugs.webkit.org/show_bug.cgi?id=112664
+
+ Reviewed by Vsevolod Vlasov.
+
+ Process host rules' contents akin to media rules' when handling the CSS model and source data.
+
+ Test: platform/chromium/inspector/styles/host-rules.html
+
+ * inspector/InspectorStyleSheet.cpp:
+ (flattenSourceData):
+ (WebCore::asCSSRuleList):
+
+2013-03-18 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Styles] The "inherit" property value should be suggested for all properties
+ https://bugs.webkit.org/show_bug.cgi?id=112662
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/front-end/CSSMetadata.js:
+ (WebInspector.CSSMetadata.keywordsForProperty):
+
+2013-03-18 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r146088): ResourceRequest::cfURLRequest() is defined twice on iOS
+ <http://webkit.org/b/112387>
+
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::cfURLRequest): Move method into
+ !USE(CFNETWORK) section since it's also defined in
+ cf/ResourceRequestCFNet.cpp on iOS.
+
+2013-03-18 Alpha Lam <hclam@chromium.org>
+
+ [chromium] More tracing in deferred image decoding
+ https://bugs.webkit.org/show_bug.cgi?id=112648
+
+ Reviewed by James Robinson.
+
+ Adding more trace events for a couple things in deferred image decoding path:
+ - Time span for each lock pixels of SkPixelRef.
+ - Time spent on decoding, scaling and pruning. Also the stack trace for these events.
+ - Memory usage and number of cached entries.
+ - Number of decode & scale operations done per image.
+
+ No test as this just add tracing information and no behavior change.
+
+ * platform/graphics/chromium/ImageDecodingStore.cpp:
+ (WebCore::ImageDecodingStore::prune):
+ (WebCore::ImageDecodingStore::insertCacheInternal):
+ (WebCore::ImageDecodingStore::removeFromCacheInternal):
+ * platform/graphics/chromium/ImageFrameGenerator.cpp:
+ (WebCore::ImageFrameGenerator::ImageFrameGenerator):
+ (WebCore::ImageFrameGenerator::decodeAndScale):
+ (WebCore::ImageFrameGenerator::tryToScale):
+ (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
+ (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
+ (WebCore::ImageFrameGenerator::decode):
+ * platform/graphics/chromium/ImageFrameGenerator.h:
+ (ImageFrameGenerator):
+ * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
+ (WebCore::LazyDecodingPixelRef::onLockPixels):
+ (WebCore::LazyDecodingPixelRef::onUnlockPixels):
+ (WebCore::LazyDecodingPixelRef::PrepareToDecode):
+
+2013-03-18 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed. Rebaselined run-bindings-tests after r146161.
+
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjEnumAttr):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::ConfigureV8TestObjTemplate):
+
+2013-03-18 Robert Flack <flackr@chromium.org>
+
+ [chromium] Small pixel differences in scroll bars after r145844
+ https://bugs.webkit.org/show_bug.cgi?id=112384
+
+ Reviewed by Kenneth Russell.
+
+ Tests: fast/forms/basic-textareas-quirks.html
+ fast/forms/basic-textareas.html
+ fast/overflow/overflow-x-y.html
+ fast/parser/open-comment-in-textarea.html
+ fast/replaced/width100percent-textarea.html
+
+ * platform/chromium/ScrollbarThemeChromium.cpp:
+ (WebCore::ScrollbarThemeChromium::trackRect):
+
+2013-03-18 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] Unreviewed build correction.
+
+ The "ImageDecoder.h" file was improperly tagged as a source file to
+ build, causing a build failure on initial build attempts. Subsequent
+ or incremental builds would work.
+
+ * WebCore.vcxproj/WebCore.vcxproj: Exclude CG-specific font files.
+ Switch 'ImageDecoder.h' to proper source file type.
+ * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
+
+2013-03-18 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove unused type WebTransformationMatrix
+ https://bugs.webkit.org/show_bug.cgi?id=112634
+
+ Reviewed by Adam Barth.
+
+ * WebCore.gypi:
+ * platform/chromium/support/WebTransformationMatrix.cpp: Removed.
+
+2013-03-18 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ Add IDL 'enum' support to CodeGeneratorJS.pm
+ https://bugs.webkit.org/show_bug.cgi?id=112475
+
+ Reviewed by Kentaro Hara.
+
+ This adds support for enumerations in JS, adding validation checking
+ to setters.
+ It also does validation checking to methods, and a new method
+ methodWithEnumArg in TestObj.idl
+
+ Test: bindings/scripts/test/TestObj.idl
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ (GenerateParametersCheck):
+ (NativeToJSValue):
+ * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
+ (WebDOMTestObj::methodWithEnumArg):
+ * bindings/scripts/test/CPP/WebDOMTestObj.h:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_method_with_enum_arg):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore):
+ (WebCore::jsTestObjEnumAttr):
+ (WebCore::setJSTestObjEnumAttr):
+ (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ (WebCore):
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj methodWithEnumArg:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::methodWithEnumArgMethod):
+ (TestObjV8Internal):
+ (WebCore::TestObjV8Internal::methodWithEnumArgMethodCallback):
+ (WebCore::ConfigureV8TestObjTemplate):
+
+2013-03-18 Sam Weinig <sam@webkit.org>
+
+ Need a bundle SPI to generate a snapshot of a specific DOM node (like [DOMNode renderedImage])
+ <rdar://problem/13148631>
+ https://bugs.webkit.org/show_bug.cgi?id=110034
+
+ Reviewed by Tim Horton.
+
+ * WebCore.exp.in:
+ Add some necessary exports.
+
+2013-03-18 Brent Fulgham <bfulgham@webkit.org>
+
+ [WinCairo] Build WebCore under VS2010
+ https://bugs.webkit.org/show_bug.cgi?id=112637
+
+ Reviewed by Tim Horton.
+
+ * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Extend project
+ with WinCairo-specific build targets.
+ * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props: Added.
+ * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props: Added.
+ * WebCore.vcxproj/WebCore.vcxproj: Update to build WinCairo version
+ of code.
+ * WebCore.vcxproj/WebCoreCURL.props: Added.
+ * WebCore.vcxproj/WebCoreCairo.props: Added.
+ * WebCore.vcxproj/WebCoreDebugWinCairo.props: Added.
+ * WebCore.vcxproj/WebCoreGenerated.vcxproj:
+ * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props: Added.
+ * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props: Added.
+ * WebCore.vcxproj/WebCoreGeneratedWinCairo.make: Added.
+ * WebCore.vcxproj/WebCoreGeneratedWinCairoCommon.props: Added.
+ * WebCore.vcxproj/WebCoreReleaseWinCairo.props: Added.
+ * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
+ * WebCorePrefix.h: Update header to not include Apple-specific
+ headers during WinCairo build.
+
+2013-03-18 Joshua Bell <jsbell@chromium.org>
+
+ IDB Cursor continue moves one item at a time
+ https://bugs.webkit.org/show_bug.cgi?id=109972
+
+ Reviewed by Tony Chang.
+
+ IndexedDB: Use seek on the underlying levelDB iterator to implement the continue operation
+ on a cursor, instead of advancing one item at a time. On a simple test in Chrome - open a
+ key cursor on an index w/ 100 items, then do continue(50), rinse and repeat - this cuts the
+ time 50% (850c/s to 1700c/s). (Original patch c/o Pankaj Kakkar <pankaj@google.com>)
+
+ Covered by existing storage/indexeddb cursor tests; just a performance optimization.
+
+ * Modules/indexeddb/IDBBackingStore.cpp:
+ (WebCore::IDBBackingStore::Cursor::continueFunction): Special case first iteration w/ key
+ to use leveldb seek (forward cursors only, since reverse seek isn't exposed).
+ (WebCore::ObjectStoreKeyCursorImpl::encodeKey): Helper for encoding key to seek to.
+ (WebCore::ObjectStoreCursorImpl::encodeKey): Ditto.
+ (WebCore::IndexKeyCursorImpl::encodeKey): Ditto.
+ (WebCore::IndexCursorImpl::encodeKey): Ditto.
+ (WebCore::objectStoreCursorOptions): Store IDs for encodeKey() to use.
+ (WebCore::indexCursorOptions): Ditto.
+ * Modules/indexeddb/IDBBackingStore.h:
+ (CursorOptions): Storage for IDs.
+ (Cursor): Add encodeKey() to interface.
+
+2013-03-18 Alexey Proskuryakov <ap@apple.com>
+
+ MessagePortChannel::EventData should not be exposed
+ https://bugs.webkit.org/show_bug.cgi?id=112635
+
+ Reviewed by Geoff Garen.
+
+ MessagePortChannel::EventData is an implementation detail that's only needed to
+ store events in MessageQueue. Other existing code already gets away without it,
+ just passing message and ports separately.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::postMessage):
+ (WebCore::MessagePort::dispatchMessages):
+ * dom/MessagePortChannel.cpp:
+ * dom/MessagePortChannel.h:
+ * dom/default/PlatformMessagePortChannel.cpp:
+ (WebCore::PlatformMessagePortChannel::EventData::create):
+ (WebCore::PlatformMessagePortChannel::EventData::EventData):
+ (WebCore::MessagePortChannel::postMessageToRemote):
+ (WebCore::MessagePortChannel::tryGetMessageFromRemote):
+ * dom/default/PlatformMessagePortChannel.h:
+ (WebCore::PlatformMessagePortChannel::EventData::message):
+ (WebCore::PlatformMessagePortChannel::EventData::channels):
+ (PlatformMessagePortChannel):
+ (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
+ (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
+ * dom/default/chromium/PlatformMessagePortChannelChromium.cpp:
+ (WebCore::MessagePortChannel::postMessageToRemote):
+ (WebCore::MessagePortChannel::tryGetMessageFromRemote):
+ (WebCore::PlatformMessagePortChannel::postMessageToRemote):
+ (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
+ * dom/default/chromium/PlatformMessagePortChannelChromium.h:
+
+2013-03-18 Tom Sepez <tsepez@chromium.org>
+
+ [v8] Suppress binding integrity check of HTMLContentElement.
+ https://bugs.webkit.org/show_bug.cgi?id=112613
+
+ Reviewed by Adam Barth.
+
+ Patch is correct so long as fast/dom/shadow/content-element-user-agent-shadow.html
+ continues to pass.
+
+ * html/shadow/HTMLContentElement.idl:
+
+2013-03-18 Dominic Mazzoni <dmazzoni@google.com>
+
+ Support Windows HTMLSelectElement keystrokes on Chromium win
+ https://bugs.webkit.org/show_bug.cgi?id=112460
+
+ Reviewed by Kent Tamura.
+
+ Compile in the windows-specific variant of
+ HTMLSelectElement::platformHandleKeydownEvent
+ on Chromium win, in addition to PLATFORM(WIN).
+
+ * WebCore.gypi:
+ Add html/HTMLSelectElementWin.cpp.
+ * html/HTMLSelectElement.cpp:
+ Don't compile generic platformHandleKeydownEvent on
+ Chromium win.
+ * html/HTMLSelectElementWin.cpp:
+ Only compile platformHandleKeydownEvent on Windows.
+ Fix compile error in assertion.
+ (WebCore):
+
+2013-03-18 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Schemeless source expressions match HTTPS resources on HTTP sites.
+ https://bugs.webkit.org/show_bug.cgi?id=112573
+
+ Reviewed by Adam Barth.
+
+ Currently, the directive 'script-src example.com' would match only
+ scripts served from 'http://example.com' when served on an HTTP site,
+ and only scripts served from 'https://example.com' when served on an
+ HTTPS site. This patch changes the matching behavior for ports that
+ have enabled CSP_NEXT in order to encourage use of HTTPS resources by
+ allow schemeless source expressions to match HTTPS origins when on
+ HTTP sites.
+
+ Thread: http://lists.w3.org/Archives/Public/public-webappsec/2013Mar/0013.html
+ Spec change: https://dvcs.w3.org/hg/content-security-policy/rev/a7dc8820946e
+
+ Test: http/tests/security/contentSecurityPolicy/source-list-parsing-10.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPSource::CSPSource):
+ Pass the current policy into CSPSource so that we can check the
+ protected resource's scheme inside schemeMatches, rather than
+ overwriting the source expression's scheme before creating the
+ CSPSource.
+ (WebCore::CSPSource::schemeMatches):
+ If CSP_NEXT is enabled, ensure that HTTPS resources match the
+ HTTP scheme when loaded on HTTP pages with schemaless source
+ expressions.
+ (WebCore::CSPSource::portMatches):
+ Check the port against the URL's scheme: if m_scheme isn't
+ empty, this will match it. If m_scheme is empty, we can't
+ do a strict match against it, nor can we do a strict match
+ against the protected resource's port. Checking the URL's
+ port against the default port for its scheme solves this
+ problem elegantly.
+ (WebCore::CSPSourceList::parse):
+ (WebCore::CSPSourceList::addSourceSelf):
+ Pass in the policy when creating a CSPSource object.
+
+2013-03-15 Jer Noble <jer.noble@apple.com>
+
+ Text track cues do not update sizes when entering or exiting full screen.
+ https://bugs.webkit.org/show_bug.cgi?id=112472
+
+ Reviewed by Eric Carlson.
+
+ The style properties of the TextCueBoxes were not being updated after the size of the video bounds changed.
+ Because getDisplayTree() will not do it when the cue itself has not changed, explicitly call videoSizeDidChange()
+ from updateSizes().
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlTextTrackContainerElement::updateSizes): call videoSizeDidChange() on every active cue.
+ * html/track/TextTrackCue.h:
+ (WebCore::TextTrackCue::hasDisplayTree): returns whether or not the cue has created a display tree without side effects.
+ (WebCore::TextTrackCue::videoSizeDidChange): Overridable empty method.
+ * html/track/TextTrackCueGeneric.cpp:
+ (WebCore::TextTrackCueGeneric::videoSizeDidChange): Update the CSS height attribute of the cue box using the new video size.
+ * html/track/TextTrackCueGeneric.h:
+
+2013-03-18 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Add 'effective-directive' to violation reports.
+ https://bugs.webkit.org/show_bug.cgi?id=112568
+
+ Reviewed by Adam Barth.
+
+ https://dvcs.w3.org/hg/content-security-policy/rev/bc2bb0e5072a
+ introduced an 'effective-directive' field on CSP violation reports,
+ which allows developers to distinguish between resource types when
+ 'default-src' is the violated directive.
+
+ This patch implements the new field behind the CSP_NEXT flag.
+
+ Test: http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
+ (WebCore::CSPDirectiveList::reportViolation):
+ These methods now accept an additional parameter to pipe the
+ effective directive from the initial callsite down into
+ ContentSecurityPolicy::reportViolation.
+ (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
+ (WebCore::CSPDirectiveList::checkNonceAndReportViolation):
+ (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
+ (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
+ (WebCore::CSPDirectiveList::allowScriptFromSource):
+ (WebCore::CSPDirectiveList::allowObjectFromSource):
+ (WebCore::CSPDirectiveList::allowChildFrameFromSource):
+ (WebCore::CSPDirectiveList::allowImageFromSource):
+ (WebCore::CSPDirectiveList::allowStyleFromSource):
+ (WebCore::CSPDirectiveList::allowFontFromSource):
+ (WebCore::CSPDirectiveList::allowMediaFromSource):
+ (WebCore::CSPDirectiveList::allowConnectToSource):
+ (WebCore::CSPDirectiveList::allowFormAction):
+ These methods now pass the effective directive name down
+ into checkSourceAndReportViolation or reportViolation.
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ * page/ContentSecurityPolicy.h:
+ This method now accepts a new parameter that carries
+ the effective directive name. If CSP_NEXT is enabled,
+ the field is added to the violation report before it's
+ sent out into the world.
+
+2013-03-18 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Remove NCCH code that relies on boundsContainsPageScale().
+ https://bugs.webkit.org/show_bug.cgi?id=112465
+
+ Reviewed by James Robinson.
+
+ The boundsContainsPageScale() API is going away, remove code that
+ depends on it. Uses existing tests as no behaviour change.
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::setAppliesPageScale):
+ (WebCore::GraphicsLayerChromium::appliesPageScale):
+
+2013-03-18 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Protect against key prefix overflows
+ https://bugs.webkit.org/show_bug.cgi?id=111138
+
+ Reviewed by Tony Chang.
+
+ This reworks the boundary checking for all databaseId,
+ objectStoreId, and indexId, including negative and
+ zero-based ids. All entrypoints into IDBLevelDBCoding
+ are protected with explicit checks and all internal
+ uses of KeyPrefix are protected with ASSERTs in the
+ various constructors.
+
+ Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
+
+ * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
+ * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
+
+2013-03-18 Roger Fong <roger_fong@apple.com>
+
+ AppleWin VS2010 Debug configuration build fix.
+
+ * WebCore.vcxproj/WebCore.vcxproj:
+
+2013-03-18 Alexey Proskuryakov <ap@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=112627
+ MessagePort::disentangle() takes an ExceptionCode argument without any need
+
+ Reviewed by Geoffrey Garen.
+
+ MessagePort::disentangle() is called in two places. One has ASSERT_NO_EXCEPTION,
+ and another fails to check the exception, but clearly cannot get one.
+
+ This function is also not exposed to bindings.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::disentangle):
+ (WebCore::MessagePort::disentanglePorts):
+ * dom/MessagePort.h:
+ * workers/SharedWorker.cpp:
+ (WebCore::SharedWorker::create):
+ Also removed some unhelpful comments.
+
+2013-03-18 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Variant of non-primary fell-back SVGFont causes crash.
+ https://bugs.webkit.org/show_bug.cgi?id=112367
+
+ Reviewed by Stephen Chenney.
+
+ Don't go to PlatformFontData path for SimpleFontData::createScaledFontData()
+ for SVG fonts.
+
+ Test: svg/css/font-face-variant-crash.html
+
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::~SimpleFontData):
+ (WebCore::SimpleFontData::createScaledFontData): Don't go to PlatformFontData path for SVG fonts.
+ (WebCore):
+ * platform/graphics/SimpleFontData.h:
+ (SimpleFontData): Added createScaledFontData and renamed the original createScaledFontData to platformCreateScaledFontData.
+ BTW, Removed unreferenced commonInit.
+ * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Renamed from createScaledFontData.
+ * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+ * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+ * platform/graphics/skia/SimpleFontDataSkia.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+ * platform/graphics/win/SimpleFontDataWin.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+ * platform/graphics/wince/SimpleFontDataWinCE.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+ * platform/graphics/wx/SimpleFontDataWx.cpp:
+ (WebCore::SimpleFontData::platformCreateScaledFontData): Ditto.
+
+2013-03-18 Victor Carbune <vcarbune@chromium.org>
+
+ Determine text direction for rendering a TextTrackCue
+ https://bugs.webkit.org/show_bug.cgi?id=79749
+
+ Reviewed by Levi Weintraub.
+
+ The rendering rules for WebVTT cues are slightly different
+ depending on the directionality determined from the characters
+ of the cue text. This patch implements the preliminary step
+ to be able to take directionality into account.
+
+ It iterates through the cue characters and setting the CSS
+ directionality to the one of the first strong directional character.
+
+ Test: media/track/track-cue-rendering-rtl.html
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCueBox::applyCSSProperties): Applies the determined
+ direction.
+ (WebCore::TextTrackCue::TextTrackCue): Sets the default value for the
+ display direction.
+ (WebCore::isCueParagraphSeparator): Tests for explicit unicode characters
+ that are paragraph separators.
+ (WebCore):
+ (WebCore::TextTrackCue::determineTextDirection): Determined the direction
+ by the first strong directional character found.
+ (WebCore::TextTrackCue::calculateDisplayParameters): Updated.
+ (WebCore::TextTrackCue::getCSSWritingDirection): Return the determined CSS
+ writing direction.
+ * html/track/TextTrackCue.h:
+ (TextTrackCue):
+
+2013-03-18 Hans Wennborg <hans@chromium.org>
+
+ Fix GridTrackSize::operator==
+ https://bugs.webkit.org/show_bug.cgi?id=112501
+
+ Reviewed by Eric Seidel.
+
+ There was a missing "other." in the function.
+
+ This was found by experimenting with a potential new Clang warning.
+
+ Test: fast/css-grid-layout/grid-dynamic-updates-relayout.html
+
+ * rendering/style/GridTrackSize.h:
+ (WebCore::GridTrackSize::operator==):
+
+2013-03-18 Alec Flett <alecflett@chromium.org>
+
+ Inspector: [Chromium] http/tests/inspector/indexeddb/database-data.html ASSERT on Win7 following r133855
+ https://bugs.webkit.org/show_bug.cgi?id=101618
+
+ Deactivate transactions created by the inspector, before
+ they are reactivated by IndexedDB. This puts transactions
+ in an identical state as when they are created by scripts.
+
+ Reviewed by Vsevolod Vlasov.
+
+ Test: http/tests/inspector/indexeddb/database-data.html
+
+ * inspector/InspectorIndexedDBAgent.cpp: Make transactions inactive upon leaving the inspector code.
+
+2013-03-15 Jeffrey Pfau <jpfau@apple.com>
+
+ Allow blocking of application cache in third-party contexts
+ https://bugs.webkit.org/show_bug.cgi?id=112288
+
+ Reviewed by Adam Barth.
+
+ Return early if we can't access the application cache due to security
+ restrictions.
+
+ Tests: http/tests/security/cross-origin-appcache-allowed.html
+ http/tests/security/cross-origin-appcache.html
+ http/tests/security/same-origin-appcache-blocked.html
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::selectCache):
+ (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
+ * page/SecurityOrigin.h:
+ (WebCore::SecurityOrigin::canAccessApplicationCache):
+
+2013-03-18 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Script should know nothing about disabled source mappings.
+ https://bugs.webkit.org/show_bug.cgi?id=112580
+
+ Reviewed by Pavel Feldman.
+
+ ResourceScriptMapping handles diverged uiSourceCodes internally now.
+
+ Tested in inspector/debugger/live-edit-breakpoints.html already.
+
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
+ (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
+ * inspector/front-end/Script.js:
+ (WebInspector.Script.prototype.rawLocationToUILocation):
+
+2013-03-18 Alexey Proskuryakov <ap@apple.com>
+
+ Update MessagePort terminology to match HTML5
+ https://bugs.webkit.org/show_bug.cgi?id=112611
+
+ Reviewed by Anders Carlsson.
+
+ Transferable objects are "neutered" when transfered. Cloning is a different operation.
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::disentanglePorts):
+ * dom/MessagePort.h:
+ (WebCore::MessagePort::isEntangled):
+ (WebCore::MessagePort::isNeutered):
+
+2013-03-18 Roger Fong <roger_fong@apple.com>
+
+ AppleWin VS2010 build fix.
+
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+
+2013-03-18 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
+
+ [css3-text] Add rendering support for -webkit-text-underline-position
+ https://bugs.webkit.org/show_bug.cgi?id=102795
+
+ Reviewed by Levi Weintraub.
+
+ This patch implements rendering support for values [ auto | alphabetic | under ]
+ of CSS3 property text-underline-position. We don't fully match the specification
+ as we don't support [ left | right ] and this is left for another implementation
+ as the rendering will need to be added.
+
+ Tests: fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-all.html
+ fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-alphabetic.html
+ fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-auto.html
+ fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under-out-of-flow.html
+ fast/css3-text/css3-text-decoration/text-underline-position/text-underline-position-under.html
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::computeMaxLogicalTop): Added method to compute maximal logical top among all chidren of
+ this InlineTextBox.
+ * rendering/InlineFlowBox.h:
+ (InlineFlowBox):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::computeUnderlineOffset): Added method to compute offset for text-underline-position property.
+ (WebCore::InlineTextBox::paintDecoration): Paint decoration at position calculated using computeUnderlineOffset().
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::RootInlineBox):
+ (WebCore::RootInlineBox::alignBoxesInBlockDirection): Call method to compute maximal logical top among all
+ children of this RootInlineBox.
+ * rendering/RootInlineBox.h:
+ (RootInlineBox):
+ (WebCore::RootInlineBox::maxLogicalTop): Added getter for m_maxLogicalTop class member.
+ * rendering/style/RenderStyle.h: Added the usual getter / setter / initial methods for text-underline-position
+ property
+
+2013-03-18 Christian Biesinger <cbiesinger@chromium.org>
+
+ Convert old flexbox uses in html.css to new flexbox (non-<select>)
+ https://bugs.webkit.org/show_bug.cgi?id=110837
+
+ Reviewed by Ojan Vafai.
+
+ No new tests (No change in behaviour)
+
+ * css/html.css:
+ (input::-webkit-clear-button):
+ Missed this one in the original patch.
+
+2013-03-18 Wei James <james.wei@intel.com>
+
+ AudioBasicProcessorNode need to check for deferred updating of output channels
+ https://bugs.webkit.org/show_bug.cgi?id=112544
+
+ There can in rare cases be a slight delay before the output
+ bus is updated to the new number of channels because of tryLocks() in the
+ context's updating system but the processor already updated to the new
+ number of channels, so need to check the channel number before processing.
+
+ Reviewed by Chris Rogers.
+
+ * Modules/webaudio/AudioBasicProcessorNode.cpp:
+ (WebCore::AudioBasicProcessorNode::process):
+ * Modules/webaudio/WaveShaperProcessor.cpp:
+ (WebCore::WaveShaperProcessor::process):
+ * platform/audio/AudioDSPKernelProcessor.cpp:
+ (WebCore::AudioDSPKernelProcessor::AudioDSPKernelProcessor):
+ * platform/audio/AudioDSPKernelProcessor.h:
+ (WebCore::AudioDSPKernelProcessor::numberOfChannels):
+ (AudioDSPKernelProcessor):
+ * platform/audio/AudioProcessor.h:
+ (WebCore::AudioProcessor::AudioProcessor):
+ (AudioProcessor):
+
+2013-03-18 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Fix StyleGridData::operator==
+ https://bugs.webkit.org/show_bug.cgi?id=112574
+
+ Reviewed by Ojan Vafai.
+
+ Test: fast/css-grid-layout/grid-auto-flow-update.html
+
+ * rendering/style/StyleGridData.h:
+ (WebCore::StyleGridData::operator==):
+ Fixed a bad comparison that would make us ignore grid-auto-flow changes.
+
+2013-03-18 Rafael Weinstein <rafaelw@chromium.org>
+
+ [HTMLTemplateElement] parseError check in processTemplateEndTag should use hasTagName, not hasLocalName
+ https://bugs.webkit.org/show_bug.cgi?id=112591
+
+ Reviewed by Adam Barth.
+
+ No tests needed, change is unobservable.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processTemplateEndTag):
+
+2013-03-18 Brady Eidson <beidson@apple.com>
+
+ NetworkProcess should send vm_copied, mmap'ed memory to WebProcesses when a
+ resource is already in the disk cache.
+ <rdar://problem/13414153> and https://bugs.webkit.org/show_bug.cgi?id=112387
+
+ Reviewed by Geoff Garen.
+
+ No new tests (No change in behavior).
+
+ * WebCore.exp.in:
+
+ Add a CFURLRequestRef accessor even in the mac NSURL-based loader:
+ * platform/network/cf/ResourceRequest.h:
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::cfURLRequest):
+
+2013-03-18 Dean Jackson <dino@apple.com>
+
+ Only add wordspacing when kerning to actual word ends
+ https://bugs.webkit.org/show_bug.cgi?id=112507
+ <rdar://problem/12945869>
+
+ Reviewed by Enrica Casucci.
+
+ When measuring text, we currently include any word spacing in
+ the result (it's removed later). When kerning is active, we
+ were adding the word spacing to every wordMeasurement instance
+ whether or not it is a separate word. For example, a nested
+ <span> element would get a wordMeasurement, even though it
+ should not always get word spacing.
+
+ Test: fast/text/word-space-with-kerning-3.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun): Test if the current character
+ referenced by the wordMeasurement is a space character, and add word
+ spacing only then.
+
+2013-03-18 Tony Chang <tony@chromium.org>
+
+ [chromium] Default background color of listboxes should be white
+ https://bugs.webkit.org/show_bug.cgi?id=112480
+
+ Reviewed by Ojan Vafai.
+
+ I think it was an accident that list boxes got the grey background color as a
+ side effect of trying to get the button styling. In the default GTK+ theme on
+ Ubuntu, list boxes get a white background. Win and OS X also use white as the
+ default color.
+
+ No new tests, covered by existing pixel tests.
+
+ * css/themeChromiumLinux.css:
+ Narrow the CSS rule that overrides the background color specified in html.css.
+ We only want to use the button color when a select is using button styling.
+
+2013-03-18 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146079.
+ http://trac.webkit.org/changeset/146079
+ https://bugs.webkit.org/show_bug.cgi?id=112594
+
+ many timeline tests failed. (Requested by loislo on #webkit).
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.TimelineOverviewPane.prototype.setMode):
+ (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
+ (WebInspector.TimelineOverviewPane.prototype._update):
+ (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
+ (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
+ (WebInspector.TimelineOverviewPane.prototype._reset):
+ (WebInspector.TimelineOverviewPane.prototype.windowLeft):
+ (WebInspector.TimelineOverviewPane.prototype.windowRight):
+ (WebInspector.TimelineOverviewPane.prototype._updateWindow):
+
+2013-03-18 Peter Beverloo <peter@chromium.org>
+
+ [Chromium] The <select> element on Android should also switch to new-flexbox
+ https://bugs.webkit.org/show_bug.cgi?id=112559
+
+ Reviewed by Ojan Vafai.
+
+ Following r145959, also update themeChromiumAndroid.css to use the new
+ flexible box CSS properties. Covered by existing tests.
+
+ * css/themeChromiumAndroid.css:
+ (select[size][multiple]):
+
+2013-03-18 Renata Hodovan <reni@webkit.org>
+
+ Assertion faulire in SVGAnimatedPath.
+ https://bugs.webkit.org/show_bug.cgi?id=106428
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ The asserts are too restricted. The size must be greater or equal to 1.
+
+ Test: svg/animations/animated-path-via-use-debug-crash.svg
+
+ * svg/SVGAnimatedPath.cpp:
+ (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
+ (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
+
+2013-03-18 Simon Fraser <simon.fraser@apple.com>
+
+ [Mac] Some tests intermittently asserts in SharedBuffer::releasePurgeableBuffer()
+ https://bugs.webkit.org/show_bug.cgi?id=105986
+
+ Reviewed by Brady Eidson.
+
+ A ResourceBuffer's SharedBuffer can be vended out to other clients,
+ for example Images, so there's no guarantee that when the
+ ResourceBuffer only has one ref its SharedBuffer will also have just one.
+ When this assumption was broken, SharedBuffer::releasePurgeableBuffer()
+ would assert.
+
+ Ideally SharedBuffer would be entirely encapsulated by ResourceBuffer to
+ avoid this problem, but ResourceBuffer can't be used by code in platform/.
+
+ Fix by having ResourceBuffer::createPurgeableBuffer() refuse to make
+ a purgeable buffer if the sharedBuffer has more than one ref.
+
+ Tested by existing tests.
+
+ * loader/ResourceBuffer.cpp:
+ (WebCore::ResourceBuffer::createPurgeableBuffer):
+
+2013-03-18 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPane into a new class OverviewGrid.
+ https://bugs.webkit.org/show_bug.cgi?id=112584
+
+ Reviewed by Pavel Feldman.
+
+ It is the first path in the set.
+ The end goal is to extract OverviewGrid with window selectors
+ into a separate class in separate file and reuse it in CPU FlameChart.
+
+ * inspector/front-end/TimelineOverviewPane.js:
+ (WebInspector.TimelineOverviewPane):
+ (WebInspector.OverviewGrid):
+ (WebInspector.OverviewGrid.prototype.get grid):
+ (WebInspector.OverviewGrid.prototype.get clientWidth):
+ (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
+ (WebInspector.OverviewGrid.prototype.updateDividers):
+ (WebInspector.OverviewGrid.prototype.addEventDividers):
+ (WebInspector.OverviewGrid.prototype.removeEventDividers):
+ (WebInspector.OverviewGrid.prototype.setWindowPosition):
+ (WebInspector.OverviewGrid.prototype.reset):
+ (WebInspector.OverviewGrid.prototype.get windowLeft):
+ (WebInspector.OverviewGrid.prototype.get windowRight):
+ (WebInspector.OverviewGrid.prototype.setWindow):
+ (WebInspector.OverviewGrid.prototype.addEventListener):
+ (WebInspector.TimelineOverviewPane.prototype.setMode):
+ (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
+ (WebInspector.TimelineOverviewPane.prototype._update):
+ (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
+ (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
+ (WebInspector.TimelineOverviewPane.prototype._reset):
+ (WebInspector.TimelineOverviewPane.prototype.windowLeft):
+ (WebInspector.TimelineOverviewPane.prototype.windowRight):
+ (WebInspector.TimelineOverviewPane.prototype._updateWindow):
+
+2013-03-18 Adam Barth <abarth@webkit.org>
+
+ [V8] Crash when accessing onclick attribute of document from XMLHttpRequest
+ https://bugs.webkit.org/show_bug.cgi?id=112585
+
+ Reviewed by Eric Seidel.
+
+ This ASSERT was bogus. The frame can be 0 for frameless documents, like
+ those created by XMLHttpRequest. When there is no frame, we act as if
+ JavaScript was disabled, which it is.
+
+ Test: fast/events/xhr-onclick-crash.html
+
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::prepareListenerObject):
+
+2013-03-18 Hans Muller <hmuller@adobe.com>
+
+ [CSS Exclusions] Specifying polygonal -webkit-shape-inside value can crash browser (debug mode)
+ https://bugs.webkit.org/show_bug.cgi?id=112157
+
+ Reviewed by David Hyatt.
+
+ Corrected the code which maps exclusion segments to pairs of InlineIterators. We now handle the
+ cases where the end of the line occurs within an exclusion segment or when it occurs before
+ the last exclusion segment has been reached. This can occur when a non-convex polygonal shape-inside
+ breaks a line up into two segments, but the shape-inside element's content only fills (or partially
+ fills) the first exclusion shape segment.
+
+ Tests: fast/exclusions/shape-inside/shape-inside-partial-fill-001.html
+ fast/exclusions/shape-inside/shape-inside-partial-fill-002.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak):
+
+2013-03-18 Emil A Eklund <eae@chromium.org>
+
+ Change RenderTableCell to use pixelSnappedSize when painting
+ https://bugs.webkit.org/show_bug.cgi?id=112562
+
+ Reviewed by Eric Seidel.
+
+ Change the paining code in RenderTableCell to use the pixel snapped size
+ to ensure consistent rounding given that the location was rounded during
+ layout.
+
+ It is currently constructing a paint rect by taking the rounded location
+ and the precise size and then pixel snapping it. This causes the size to
+ be rounded incorrectly. By instead using the pixel snapped size the
+ rounding problem can be avoided.
+
+ Test: fast/sub-pixel/table-cell-background.html
+
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintCollapsedBorders):
+ (WebCore::RenderTableCell::paintBackgroundsBehindCell):
+ (WebCore::RenderTableCell::paintBoxDecorations):
+ (WebCore::RenderTableCell::paintMask):
+
+2013-03-18 Tao Bai <michaelbai@chromium.org>
+
+ Need to use const String in HTMLVideoElement::posterImageURL
+ https://bugs.webkit.org/show_bug.cgi?id=112317
+
+ Reviewed by Andreas Kling.
+
+ No behavioral changes.
+
+ This is the followup of https://bugs.webkit.org/show_bug.cgi?id=110263
+ Need to use String instead of const AtomicString& which means we will do an extra hash lookup
+
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::posterImageURL): Change to use String for url
+
+2013-03-18 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Settings] Register "?" shortcut.
+ https://bugs.webkit.org/show_bug.cgi?id=112545
+
+ Reviewed by Vsevolod Vlasov.
+
+ F1 and "?" (show shortcuts page) are not mentioned on shortcuts page.
+
+ * English.lproj/localizedStrings.js: Added string.
+ * inspector/front-end/inspector.js: Registered F1 / "?" shortcut.
+
+2013-03-18 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Add USE(PLATFORM_STRATEGIES) ifdefs to StorageNamespace.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=112004
+
+ Reviewed by Rob Buis.
+
+ Check if platform strategies is enabled before using it, falling
+ back to StorageNamespaceImpl if it isn't.
+
+ * storage/StorageNamespace.cpp:
+ (WebCore::StorageNamespace::localStorageNamespace):
+ (WebCore::StorageNamespace::sessionStorageNamespace):
+
+2013-03-18 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: TabbedEditorContainer does not restore last shown file on reload sometimes.
+ https://bugs.webkit.org/show_bug.cgi?id=112561
+
+ Reviewed by Alexander Pavlov.
+
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer.prototype.addUISourceCode):
+
+2013-03-18 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Detach overlays from page when compositor is detached
+ https://bugs.webkit.org/show_bug.cgi?id=112424
+
+ Reviewed by Rob Buis.
+
+ PR 309160
+
+ Expose a method to retrieve a compositing thread layer's client.
+
+ No change in behavior, no new tests.
+
+ * platform/graphics/blackberry/LayerCompositingThread.h:
+ (WebCore::LayerCompositingThread::client):
+
+2013-03-18 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Resources] Local Storage: duplicate keys are processed inappropriately.
+ https://bugs.webkit.org/show_bug.cgi?id=112402
+
+ Reviewed by Alexander Pavlov.
+
+ When user creates new items or renames existing one some existing item
+ may be overriden. If value is changed, then frontend will receive
+ notification and update record appropriately.
+
+ If item value hasn't been changed, then no notification comes.
+ But UI still expect / rely on this notification.
+
+ With this patch the "no notification" scenario is fixed:
+ duplicate items are removed.
+
+ Another scenario is when update notification comes when we started
+ editing value (after entering / renaming key). In this case
+ selected node should not be changed to leave user in editing mode.
+
+ * inspector/front-end/DOMStorageItemsView.js:
+ Added workarounds for "no notification" and "useless notification".
+
+2013-03-18 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ Clean up RenderFrameSet::nodeAtPoint
+ https://bugs.webkit.org/show_bug.cgi?id=112450
+
+ Reviewed by Eric Seidel.
+
+ Remove handling of resizing framesets from RenderFrameSet::nodeAtPoint.
+ The code has been incorrect since a mistake in r18333 (December 2006),
+ but has been dead code since r17770 (November 2006) where the then new
+ EventHandler started taking care of routing events to resizing FrameSets.
+
+ Since this was the only special feature of RenderFrameSet::nodeAtPoint,
+ the method has been removed.
+
+ * rendering/RenderFrameSet.cpp:
+ * rendering/RenderFrameSet.h:
+ (RenderFrameSet):
+
+2013-03-18 Kunihiko Sakamoto <ksakamoto@chromium.org>
+
+ The 'formnovalidate' attribute doesn't work correctly on button elements with child elements
+ https://bugs.webkit.org/show_bug.cgi?id=112541
+
+ Reviewed by Kent Tamura.
+
+ Fix a bug where formnovalidate attribute of <button> is not honored
+ if the target of the click event is an element nested within the button.
+
+ Test: fast/forms/interactive-validation-formnovalidate-child.html
+
+ * html/HTMLFormElement.cpp:
+ (WebCore::submitElementFromEvent): Looks for the nearest FormControlElement ancestor of the event target.
+
+2013-03-18 Keishi Hattori <keishi@webkit.org>
+
+ Add touch support to the calendar picker
+ https://bugs.webkit.org/show_bug.cgi?id=112256
+
+ Reviewed by Kent Tamura.
+
+ This patch increases the hit target sizes for touch and adds touch event
+ support to the scroll view, scroll bar and navigation button.
+
+ Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-touch-operations.html
+ platform/chromium/fast/forms/calendar-picker/month-picker-touch-operations.html
+ platform/chromium/fast/forms/calendar-picker/week-picker-touch-operations.html
+
+ * Resources/pagepopups/calendarPicker.js:
+ (hasInaccuratePointingDevice):
+ (Animator): Super class for TransitionAnimator and FlingGestureAnimator.
+ (Animator.prototype.start):
+ (Animator.prototype.stop):
+ (Animator.prototype.onAnimationFrame):
+ (TransitionAnimator): Same as the old Animator. Transition from one value to another.
+ (TransitionAnimator.prototype.setFrom):
+ (TransitionAnimator.prototype.start):
+ (TransitionAnimator.prototype.stop):
+ (TransitionAnimator.prototype.setTo):
+ (TransitionAnimator.prototype.onAnimationFrame):
+ (FlingGestureAnimator):Animates the fling scroll.
+ (FlingGestureAnimator.prototype._valueAtTime): Returns the value at the given time.
+ (FlingGestureAnimator.prototype._velocityAtTime): Returns the value change velocity at the given time.
+ (FlingGestureAnimator.prototype._timeAtVelocity): Returns the time when the value is changing at the given velocity.
+ (FlingGestureAnimator.prototype.start):
+ (FlingGestureAnimator.prototype.onAnimationFrame):
+ (ScrollView): Added support for touch gesture scrolling.
+ (ScrollView.prototype.onTouchStart):
+ (ScrollView.prototype.onWindowTouchMove):
+ (ScrollView.prototype.onWindowTouchEnd):
+ (ScrollView.prototype.onFlingGestureAnimatorStep):
+ (ScrollView.prototype.scrollTo):
+ (ScrubbyScrollBar): Added support for touch.
+ (ScrubbyScrollBar.prototype.onTouchStart):
+ (ScrubbyScrollBar.prototype.onWindowTouchMove):
+ (ScrubbyScrollBar.prototype.onWindowTouchEnd):
+ (ScrubbyScrollBar.prototype._setThumbPositionFromEventPosition): Accept MouseEvent or Touch.
+ (ScrubbyScrollBar.prototype.onMouseDown):
+ (ScrubbyScrollBar.prototype.onWindowMouseMove):
+ (ScrubbyScrollBar.prototype.onWindowMouseUp):
+ (YearListCell):
+ (YearListView):
+ (YearListView.prototype.onTouchStart):
+ (YearListView.prototype._animateRow):
+ (CalendarNavigationButton): Add touch support for long press.
+ (CalendarNavigationButton.prototype.onTouchStart):
+ (CalendarNavigationButton.prototype.onWindowTouchEnd):
+ (CalendarNavigationButton.prototype.onMouseDown):
+ (CalendarNavigationButton.prototype.onWindowMouseUp):
+ (CalendarTableView): Disable touch gesture scrolling in the calendar table.
+
+2013-03-18 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ [EFL] Cancel mark on search field is not displayed
+ https://bugs.webkit.org/show_bug.cgi?id=94880
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ adjustSearchFieldCancelButtonStyle() doesn't set style width and height for search cancel button.
+ So, the button isn't showing up in search input field. Besides the button size should be scaled based
+ on the font size as chromium, qt, and blackberry ports.
+
+ Tests: fast/forms/search-cancel-button-style-sharing.html
+ fast/forms/search-rtl.html
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore):
+ (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
+
+2013-03-15 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: Native Memory Timeline affects the performace even if was switched off.
+ https://bugs.webkit.org/show_bug.cgi?id=112428
+
+ Reviewed by Pavel Feldman.
+
+ Whether to include DOM counters and native memory statistics is now
+ configured using Timeline.start parameters instead of sending separate
+ commands Timeline.setIncludeDomCounters and Timeline.setIncludeNativeMemoryStatistics.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::restore):
+ (WebCore::InspectorTimelineAgent::start):
+ * inspector/InspectorTimelineAgent.h:
+ (InspectorTimelineAgent):
+ * inspector/front-end/DOMCountersGraph.js:
+ (WebInspector.DOMCountersGraph):
+ * inspector/front-end/NativeMemoryGraph.js:
+ (WebInspector.NativeMemoryGraph):
+ * inspector/front-end/TimelineManager.js:
+ (WebInspector.TimelineManager.prototype.start):
+ * inspector/front-end/TimelineModel.js:
+ (WebInspector.TimelineModel.prototype.startRecord):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.get _toggleTimelineButtonClicked):
+
+2013-03-18 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: Exception in timeline DOMCounters
+ https://bugs.webkit.org/show_bug.cgi?id=112427
+
+ Reviewed by Pavel Feldman.
+
+ Do not update marker on DOM counters graph if the graphs haven't been
+ drawn yet.
+
+ * inspector/front-end/MemoryStatistics.js:
+ (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
+
+2013-03-18 Li Yin <li.yin@intel.com>
+
+ Mediastream.ended should return true when all tracks were removed.
+ https://bugs.webkit.org/show_bug.cgi?id=112528
+
+ Reviewed by Kentaro Hara.
+
+ Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStream-ended
+ When all tracks have been removed, it should return true as well as all the tracks
+ were ended.
+
+ Test: fast/mediastream/MediaStream-add-remove-tracks.html
+
+ * Modules/mediastream/MediaStream.cpp:
+ (WebCore::MediaStream::removeTrack):
+
+2013-02-22 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: make number of stack frames to capture in Timeline a setting
+ https://bugs.webkit.org/show_bug.cgi?id=110619
+
+ Reviewed by Pavel Feldman.
+
+ - factor out creation of input type="text" control for better reuse;
+ - add timelineLimitStackFramesFlag & timelineStackFramesToCapture settings;
+
+ * English.lproj/localizedStrings.js: add "Frames to capture" and "Limit number of captured JS stack frames"
+ * inspector/front-end/Settings.js: add 2 settings;
+ (WebInspector.Settings):
+ * inspector/front-end/SettingsScreen.js: UI for the setting;
+ (WebInspector.GenericSettingsTab):
+ (WebInspector.GenericSettingsTab.prototype.get _createCSSAutoReloadControls.validateReloadTimeout):
+ * inspector/front-end/TimelineModel.js: pass the setting value to back-end.
+
+2013-03-18 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r146035.
+ http://trac.webkit.org/changeset/146035
+ https://bugs.webkit.org/show_bug.cgi?id=112540
+
+ fails to build on Windows: singned/unsigned mismatch at ln. 53
+ of html\HTMLSelectElementWin.cpp (Requested by antonm on
+ #webkit).
+
+ * WebCore.gypi:
+ * html/HTMLSelectElement.cpp:
+ (WebCore):
+ * html/HTMLSelectElementWin.cpp:
+
+2013-03-18 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rolling out r146033.
+ http://trac.webkit.org/changeset/146033
+ https://bugs.webkit.org/show_bug.cgi?id=112521
+
+ web audio tests are broken
+
+ * Modules/webaudio/AudioNode.cpp:
+ (WebCore::AudioNode::AudioNode):
+ * Modules/webaudio/AudioNode.h:
+ * Modules/webaudio/AudioScheduledSourceNode.h:
+ * Modules/webaudio/ScriptProcessorNode.idl:
+
+2013-03-18 Dominic Cooney <dominicc@chromium.org>
+
+ A placeholder renderer should not be taken to imply the existence of a text renderer in single line text controls
+ https://bugs.webkit.org/show_bug.cgi?id=112410
+
+ Reviewed by Tony Chang.
+
+ The assumption that if a text control had a placeholder renderer
+ then it also had a text renderer is not valid. If
+ ::-webkit-textfield-decoration-controller is set to display: none;
+ a single line text control's decoration container renderer and
+ hence text renderer are not created. This change handles this
+ corner case where a text control has a placeholder renderer but
+ not a text renderer.
+
+ Tests: fast/forms/search/search-hide-decoration-container-crash.html (Updated)
+
+ * html/HTMLTextFormControlElement.cpp:
+ (WebCore::HTMLTextFormControlElement::fixPlaceholderRenderer):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+
+2013-03-18 Dominic Cooney <dominicc@chromium.org>
+
+ [Shadow] offsetParent should never return nodes in user agent Shadow DOM to script
+ https://bugs.webkit.org/show_bug.cgi?id=112530
+
+ Reviewed by Elliott Sprehn.
+
+ Test: fast/dom/shadow/offset-parent-does-not-leak-ua-shadow.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::bindingsOffsetParent): Filter nodes in UA shadows.
+ * dom/Element.h:
+ (Element): Add bindingsOffsetParent.
+ * dom/Element.idl: bindingsOffsetParent is the implementation of offsetParent.
+
+2013-03-17 Dominic Mazzoni <dmazzoni@google.com>
+
+ Support Windows HTMLSelectElement keystrokes on Chromium win
+ https://bugs.webkit.org/show_bug.cgi?id=112460
+
+ Reviewed by Kent Tamura.
+
+ Compile in the windows-specific variant of
+ HTMLSelectElement::platformHandleKeydownEvent
+ on Chromium win, in addition to PLATFORM(WIN).
+
+ * WebCore.gypi:
+ Add html/HTMLSelectElementWin.cpp.
+ * html/HTMLSelectElement.cpp:
+ Don't compile generic platformHandleKeydownEvent on
+ Chromium win.
+ * html/HTMLSelectElementWin.cpp:
+ Only compile platformHandleKeydownEvent on Windows.
+ (WebCore):
+
+2013-03-17 Russell McClellan <russell.mcclellan@gmail.com>
+
+ ScriptProcessorNode is garbage collected while still active if unreachable
+ https://bugs.webkit.org/show_bug.cgi?id=112521
+
+ Reviewed by Kentaro Hara.
+
+ Fix for issue where ScriptProcessorNodes (and AudioNode js wrappers generally)
+ would be garbage collected before their time. Made AudioNode an ActiveDOMElement
+ marked pending if there are any open audio connections.
+
+ Test: webaudio/javascriptaudionode.html
+
+ * Modules/webaudio/AudioNode.cpp:
+ (WebCore::AudioNode::AudioNode):
+ (WebCore::AudioNode::hasPendingActivity): it's pending (and thus not GCed)
+ if it has open audio connections.
+ * Modules/webaudio/AudioNode.h: AudioNode is now an ActiveDOMElement
+ * Modules/webaudio/AudioScheduledSourceNode.h: added a using declaration
+ to avoid function name hiding.
+ * Modules/webaudio/ScriptProcessorNode.idl: AudioNode is an ActiveDOMElement
+
+2013-03-17 Kunihiko Sakamoto <ksakamoto@chromium.org>
+
+ INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of minute/second/millisecond fields should respect min/max attributes
+ https://bugs.webkit.org/show_bug.cgi?id=112527
+
+ Reviewed by Kent Tamura.
+
+ Make step-up/-down of the minute, second, and millisecond field
+ respect the min/max attributes of the element.
+ Note that it still accepts any keyboard inputs (the element
+ becomes 'invalid' state when out-of-range values entered).
+ Also, disable these fields when there is only single possible value.
+
+ Tests: fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
+ fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
+
+ * html/shadow/DateTimeEditElement.cpp:
+ (DateTimeEditBuilder): Add fields for min/max of minute/second/millisecond.
+ (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Set min/max for the fields.
+ (WebCore::DateTimeEditBuilder::visitField): Pass min/max parameters to the field constructors.
+ (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled): Does not disable if minute, second, millisecond fields are all disabled, because we need at least one editable field.
+ (WebCore::DateTimeEditBuilder::shouldMillisecondFieldDisabled): Disables if min, max, and value are equal.
+ (WebCore::DateTimeEditBuilder::shouldMinuteFieldDisabled): Ditto.
+ (WebCore::DateTimeEditBuilder::shouldSecondFieldDisabled): Ditto.
+ * html/shadow/DateTimeFieldElements.cpp:
+ (WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement):
+ (WebCore::DateTimeHourFieldElementBase::DateTimeHourFieldElementBase):
+ (WebCore::DateTimeHour11FieldElement::DateTimeHour11FieldElement):
+ (WebCore::DateTimeHour12FieldElement::DateTimeHour12FieldElement):
+ (WebCore::DateTimeHour23FieldElement::DateTimeHour23FieldElement):
+ (WebCore::DateTimeHour24FieldElement::DateTimeHour24FieldElement):
+ (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
+ (WebCore::DateTimeMillisecondFieldElement::create):
+ (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
+ (WebCore::DateTimeMinuteFieldElement::create):
+ (WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement):
+ (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
+ (WebCore::DateTimeSecondFieldElement::create):
+ (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement):
+ (WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement):
+ * html/shadow/DateTimeFieldElements.h:
+ (DateTimeDayFieldElement):
+ (DateTimeHourFieldElementBase):
+ (DateTimeHour11FieldElement):
+ (DateTimeHour12FieldElement):
+ (DateTimeHour23FieldElement):
+ (DateTimeHour24FieldElement):
+ (DateTimeMillisecondFieldElement): Add minimum/maximum parameters.
+ (DateTimeMinuteFieldElement): Add minimum/maximum parameters.
+ (DateTimeMonthFieldElement):
+ (DateTimeSecondFieldElement): Add minimum/maximum parameters.
+ (DateTimeWeekFieldElement):
+ (DateTimeYearFieldElement):
+ * html/shadow/DateTimeNumericFieldElement.cpp:
+ (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
+ (WebCore::DateTimeNumericFieldElement::formatValue): Use hard-limit value instead of m_range.maximum, because millisecond field with max<100 will be displayed in two digits otherwise.
+ (WebCore::DateTimeNumericFieldElement::setValueAsInteger):
+ * html/shadow/DateTimeNumericFieldElement.h:
+ (DateTimeNumericFieldElement): Changed to have hard limits as a data member.
+
+2013-03-17 Alexey Proskuryakov <ap@apple.com>
+
+ Encapsulate PlatformMessagePortChannel a little better yet
+ https://bugs.webkit.org/show_bug.cgi?id=112479
+
+ Reviewed by Sam Weinig.
+
+ * dom/MessagePortChannel.h: We no longer expose PlatformMessagePortChannel in
+ public functions in cross-platform code.
+
+ * dom/default/PlatformMessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::createChannel): Tweaked the factory method to avoid
+ using the old create() function.
+ (WebCore::MessagePortChannel::~MessagePortChannel): Removed an unhelpful comment.
+
+2013-03-17 Kent Tamura <tkent@chromium.org>
+
+ INPUT_MULTIPLE_FIELDS_UI: Don't update shadow tree by updating any attribute
+ https://bugs.webkit.org/show_bug.cgi?id=111990
+
+ Reviewed by Hajime Morrita.
+
+ Bug detail:
+ Typing '1' then '1' into an hour field doesn't set the field to
+ '11' if an attribute is updated during these two keyboard inputs
+ because we always re-construct a shadow DOM tree by updating any
+ attributes and a shadow node records keyboard input state.
+
+ How to fix:
+ We should not re-construct a shadow DOM tree by updating
+ unaffected attributes. For example, we should re-construct it by
+ updating 'min' attribute, but we should not by updating 'class'
+ attribute.
+ We have InputType::updateInnerTextValue call in parseAttribute for
+ text field input types. The multiple fields input types
+ re-construct shadow DOM tree in updateInnerTextValue. The
+ updateInnerTextValue call is unnecessary for the multiple fields
+ input types, and we should call it when it is necessary. So, we
+ add InputType::attributeChange and text field input types call
+ updateInnerTextValue in it, and other input types don't.
+ Also, multiple fields input types need to call
+ updateInnerTextValue by 'value' attribute change. We add
+ InputType::valueAttributeChanged.
+
+ Tests: Update
+ fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html. The
+ value attribute change behavior is covered by
+ time-multiple-fields-change-layout-by-value.html and
+ time-multiple-fields-spinbutton-change-and-input-events.html.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::parseAttribute):
+ - Add a valueAttributeChanged call.
+ - Calls InputType::attributeChanged
+ * html/InputType.cpp:
+ (WebCore::InputType::attributeChanged): Added an empty implementation.
+ (WebCore::InputType::valueAttributeChanged): Ditto.
+ * html/InputType.h:
+ (InputType): Declare attributeChanged and valueAttributeChanged.
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::attributeChanged):
+ Added. Always call updateInnerTextValue.
+ * html/TextFieldInputType.h:
+ (TextFieldInputType): Declare attributeChanged.
+ * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+ (WebCore::BaseMultipleFieldsDateAndTimeInputType::valueAttributeChanged):
+ Added. Re-construct shadow DOM tree if the input has no dirty value.
+ * html/BaseMultipleFieldsDateAndTimeInputType.h:
+ (BaseMultipleFieldsDateAndTimeInputType): Declare valueAttributeChanged.
+
+2013-03-17 Rafael Weinstein <rafaelw@chromium.org>
+
+ [HTMLTemplateElement] prevent </template> from matching "template" in a non-HTML tags on the stack of open elements
+ https://bugs.webkit.org/show_bug.cgi?id=112487
+
+ Reviewed by Adam Barth.
+
+ When processing an end template tag, the parser now pops until a "template" tag is parsed, but now ensures that
+ the "template" it pops is in the HTML namespace.
+
+ Tests added to the html5lib test suite.
+
+ * html/parser/HTMLElementStack.cpp:
+ (WebCore::HTMLElementStack::popUntil):
+ (WebCore):
+ (WebCore::HTMLElementStack::popUntilPopped):
+ * html/parser/HTMLElementStack.h:
+ (HTMLElementStack):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processTemplateEndTag):
+
+2013-03-17 Adam Barth <abarth@webkit.org>
+
+ Legacy CSS vendor prefixes should only work for Dashboard
+ https://bugs.webkit.org/show_bug.cgi?id=111890
+
+ Reviewed by Eric Seidel.
+
+ Our experience with the Chromium port is that these legacy CSS vendor
+ prefixes (-apple- and -khtml-) are not needed for web compatibility.
+ There is reason to believe, however, that they are needed for
+ compatibility with Mac OS X Dashboard widgets.
+
+ This patch makes the code for these legacy CSS vendor prefixes
+ enabled at runtime and only enables them when running in Dashboard
+ compatibility mode. This is the first step towards the plan outlined in
+ https://lists.webkit.org/pipermail/webkit-dev/2013-March/024085.html.
+
+ This patch also removes support for ENABLE(LEGACY_CSS_VENDOR_PREFIXES)
+ from the V8 bindings because V8 is never used with Dashboard.
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (RuntimeEnabledFeatures):
+ (WebCore::RuntimeEnabledFeatures::setLegacyCSSVendorPrefixesEnabled):
+ (WebCore::RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled):
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::getCSSPropertyNamePrefix):
+ (WebCore::cssPropertyIDForJSCSSPropertyName):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::cssPropertyInfo):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::rewriteSpecifiers):
+
+2013-03-17 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX (r145592): AutodrainedPool.h moved to WTF
+ <http://webkit.org/b/112171>
+
+ Fixes the following build failure:
+
+ Source/WebCore/platform/audio/mac/AudioBusMac.mm:32:9: fatal error: 'AutodrainedPool.h' file not found
+ #import "AutodrainedPool.h"
+ ^
+ 1 error generated.
+
+ * platform/audio/mac/AudioBusMac.mm: Fix include.
+
+2013-03-17 Gustavo Noronha Silva <gns@gnome.org>
+
+ [GTK] Fix and improve dist hooks for translations
+ https://bugs.webkit.org/show_bug.cgi?id=112519
+
+ Reviewed by Carlos Garcia Campos.
+
+ * GNUmakefile.am: move translation-related rules and lists to the po directory's
+ GNUmakefile.am.
+
+2013-03-17 Emil A Eklund <eae@chromium.org>
+
+ Move font-family applying code to StyleBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=112441
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ Many of the font related properties were moved to StyleBuilder in r87362
+ two years ago. Move font-family as well so that all font properties are
+ handled the same way.
+
+ No new tests, no change in functionality.
+
+ * css/StyleBuilder.cpp:
+ (ApplyPropertyFontFamily):
+ (WebCore::ApplyPropertyFontFamily::applyInheritValue):
+ (WebCore::ApplyPropertyFontFamily::applyInitialValue):
+ (WebCore::ApplyPropertyFontFamily::applyValue):
+ (WebCore::ApplyPropertyFontFamily::createHandler):
+ (WebCore::StyleBuilder::StyleBuilder):
+ Add ApplyPropertyFontFamily for CSSPropertyFontFamily.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::applyProperty):
+ Remove CSSPropertyFontFamily from the giant switch statement.
+
+2013-03-17 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [ENCHANT] Invalid charset encoding used for spelling guess context menu items
+ https://bugs.webkit.org/show_bug.cgi?id=112516
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Convert spelling guesses returned by enchant to UTF-16 before
+ passing them to WebCore.
+
+ * platform/text/enchant/TextCheckerEnchant.cpp:
+ (WebCore::TextCheckerEnchant::getGuessesForWord): Use
+ String::fromUTF8().
+
+2013-03-17 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Provide default cursor groups as cursor.edc
+ https://bugs.webkit.org/show_bug.cgi?id=112403
+
+ Reviewed by Gyuyoung Kim.
+
+ This patch provides a cursor.edc to use the CSS cursor images files in the
+ WebCore/Resources directory. cursor.edc is included in the default.edc
+ so that views can use it by default.
+
+ * platform/efl/DefaultTheme/CMakeLists.txt:
+ * platform/efl/DefaultTheme/default.edc:
+ * platform/efl/DefaultTheme/widget/cursor/cursor.edc: Added.
+
+2013-03-16 Pratik Solanki <psolanki@apple.com>
+
+ Disable High DPI Canvas on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=112511
+
+ Reviewed by Joseph Pecoraro.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2013-03-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reflected video elements hit assertion
+ https://bugs.webkit.org/show_bug.cgi?id=112490
+
+ Disable reflections on video again, since there's some bad behavior
+ caused by an underlying system framework.
+
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ (PlatformCALayer::clone):
+
+2013-03-16 Tom Sepez <tsepez@chromium.org>
+
+ [v8] Disable binding integrity check for WebCore::Text
+ https://bugs.webkit.org/show_bug.cgi?id=112462
+
+ Reviewed by Kentaro Hara.
+
+ Test: fast/dom/split-cdata.xml
+
+ * dom/Text.idl:
+
+2013-03-16 Chris Fleizach <cfleizach@apple.com>
+
+ AX: aria-hidden on container does not hide descendant popup buttons
+ https://bugs.webkit.org/show_bug.cgi?id=112373
+
+ Reviewed by Ryosuke Niwa.
+
+ There are a number of subclass AX objects that implement accessibilityIsIgnored()
+ to always return false. This means that even if their parent is aria-hidden=true
+ they still show up in the tree.
+
+ This re-organizes this base case of aria-hidden into AccessibilityObject so that
+ it can be re-used by these special subclasses where appropriate.
+
+ Test: accessibility/aria-hidden-hides-all-elements.html
+
+ * accessibility/AccessibilityImageMapLink.h:
+ (WebCore::AccessibilityImageMapLink::isImageMapLink):
+ * accessibility/AccessibilityList.cpp:
+ (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityListBox.cpp:
+ (WebCore):
+ * accessibility/AccessibilityListBox.h:
+ (AccessibilityListBox):
+ * accessibility/AccessibilityListBoxOption.cpp:
+ (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMediaControls.cpp:
+ (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
+ (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
+ (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMediaControls.h:
+ (AccessibilityMediaControlsContainer):
+ * accessibility/AccessibilityMenuList.h:
+ (WebCore::AccessibilityMenuList::roleValue):
+ * accessibility/AccessibilityMenuListOption.cpp:
+ (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMenuListPopup.cpp:
+ (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityMockObject.cpp:
+ (WebCore::AccessibilityMockObject::computeAccessibilityIsIgnored):
+ (WebCore):
+ * accessibility/AccessibilityMockObject.h:
+ (AccessibilityMockObject):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::accessibilityIsIgnoredDefaultForObject):
+ (WebCore):
+ (WebCore::AccessibilityObject::ariaIsHidden):
+ (WebCore::AccessibilityObject::accessibilityIsIgnoredBase):
+ * accessibility/AccessibilityObject.h:
+ (AccessibilityObject):
+ * accessibility/AccessibilityProgressIndicator.cpp:
+ (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
+ (WebCore::AccessibilityRenderObject::addImageMapChildren):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/AccessibilityScrollbar.h:
+ (AccessibilityScrollbar):
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore):
+ (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
+ * accessibility/AccessibilitySlider.h:
+ (AccessibilitySlider):
+ * accessibility/AccessibilitySpinButton.h:
+ (WebCore::AccessibilitySpinButton::roleValue):
+ (AccessibilitySpinButtonPart):
+
+2013-03-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reflected video elements hit assertion on Lion
+ https://bugs.webkit.org/show_bug.cgi?id=112490
+
+ Disable the new reflected video functionality added in r145915
+ on Lion because of a nasty re-entrancy problem. Tracked by bug 112490.
+
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ (PlatformCALayer::clone):
+
+2013-03-15 Bem Jones-Bey <bjonesbe@adobe.com>
+
+ [CSS Exclusions] shape-outside on floats for circle and ellipse shapes
+ https://bugs.webkit.org/show_bug.cgi?id=98673
+
+ Reviewed by Dirk Schulze.
+
+ Enable circles and ellipses for shape-outside on floats. Most of the
+ code already supports them, just needed to turn them on and add tests.
+
+ Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-circle.html
+ fast/exclusions/shape-outside-floats/shape-outside-floats-simple-ellipse.html
+
+ * rendering/ExclusionShapeOutsideInfo.cpp:
+ (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Enable circles and
+ ellipses. Also add a check for if the RenderBox is floating, since
+ that test should have been there all along, as shape outside is
+ only supported on floats for now.
+
+2013-03-15 Christian Biesinger <cbiesinger@chromium.org>
+
+ Convert old flexbox uses in html.css to new flexbox (non-<select>)
+ https://bugs.webkit.org/show_bug.cgi?id=110837
+
+ Reviewed by Ojan Vafai.
+
+ Covered by existing tests.
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+ After we set our descendants' heights, we need to mark them for
+ layout.
+ (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
+ Use new-flexbox style setters.
+
+ * css/html.css:
+ (input::-webkit-textfield-decoration-container):
+ (input[type="search"]::-webkit-search-cancel-button):
+ (input[type="search"]::-webkit-search-decoration):
+ (input[type="search"]::-webkit-search-results-decoration):
+ (input[type="search"]::-webkit-search-results-button):
+ (input::-webkit-inner-spin-button):
+ (input::-webkit-input-speech-button):
+ (textarea):
+ (input[type="file"]):
+ (input[type="color"]::-webkit-color-swatch-wrapper):
+ (input[type="color"]::-webkit-color-swatch):
+ (::-webkit-validation-bubble-message):
+ (::-webkit-validation-bubble-text-block):
+ * css/themeWin.css:
+ (input[type="search"]::-webkit-search-results-decoration):
+ (input[type="search"]::-webkit-search-results-button):
+ Convert -webkit-box to -webkit-flex and adjust related properties.
+ Notably switch to auto margins for centering the speech button as well
+ as the search result and cancel buttons to stay compatible with the
+ previous centering behaviour. This does not produce visible
+ differences but eliminates the render tree dump changes.
+ * html/TextFieldInputType.cpp:
+ (WebCore::TextFieldInputType::createShadowSubtree):
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::TextControlInnerContainer::TextControlInnerContainer):
+ (WebCore):
+ (WebCore::TextControlInnerContainer::create):
+ (WebCore::TextControlInnerContainer::createRenderer):
+ * html/shadow/TextControlInnerElements.h:
+ (TextControlInnerContainer):
+ (WebCore):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControlInnerContainer::RenderTextControlInnerContainer):
+ (WebCore):
+ (WebCore::RenderTextControlInnerContainer::~RenderTextControlInnerContainer):
+ * rendering/RenderTextControl.h:
+ (WebCore):
+ (RenderTextControlInnerContainer):
+ Create a new DOM element & renderer type for the textfield-decoration
+ div (the direct child of the <input> in the shadow dom if we have a
+ special input field). This is necessary because new-flexbox uses a
+ different algorithm for calculating the baseline, which would
+ otherwise cause an <input> and an <input type=search> to not be
+ aligned with each other.
+ The new renderer just calls back to RenderBlock for calculating the
+ baseline.
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+ Make sure to mark renderers as needing layout when we change their
+ style. This didn't use to be necessary because old-flexbox relayouts
+ children even when they are not marked for needing layout.
+ (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
+ Use new-flexbox CSS properties.
+ * html/shadow/TextFieldDecorationElement.cpp:
+ (WebCore::TextFieldDecorationElement::decorate):
+ Use new-flexbox CSS properties.
+
+2013-03-15 Kenneth Russell <kbr@google.com>
+
+ Unreviewed attempted build fix for Chromium Windows after r145929.
+ Verified this fix builds and works on Linux.
+ https://bugs.webkit.org/show_bug.cgi?id=96798
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore):
+
+2013-03-15 Nate Chapin <japhet@chromium.org>
+
+ Merge MainResourceLoader::willSendRequest into DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=109757
+
+ This is one of the steps to merging MainResourceLoader entirely into
+ DocumentLoader, given the lack of clear division of responsibility
+ between the two.
+
+ Reviewed by Antti Koivisto.
+
+ No new tests, refactor only.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::mainResourceData):
+ (WebCore::DocumentLoader::isPostOrRedirectAfterPost):
+ (WebCore::DocumentLoader::willSendRequest):
+ (WebCore::DocumentLoader::callContinueAfterNavigationPolicy):
+ (WebCore::DocumentLoader::continueAfterNavigationPolicy):
+ (WebCore::DocumentLoader::startLoadingMainResource):
+ * loader/DocumentLoader.h:
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::resourceData):
+ (WebCore::MainResourceLoader::redirectReceived):
+ (WebCore::MainResourceLoader::continueAfterContentPolicy):
+ (WebCore::MainResourceLoader::reportMemoryUsage):
+ (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
+ (WebCore::MainResourceLoader::load):
+ * loader/MainResourceLoader.h:
+ (WebCore::MainResourceLoader::takeIdentifierFromResourceLoader): Temporarily
+ exposed for moving from a normal load to SubstituteData load on redirect.
+
+2013-03-15 Zhenyao Mo <zmo@google.com>
+
+ Disable EXT_draw_buffers WebGL extension on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=112486
+
+ Reviewed by Kenneth Russell.
+
+ * html/canvas/EXTDrawBuffers.cpp:
+ (WebCore::EXTDrawBuffers::supported):
+
+2013-03-15 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Remove the background filter blur layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=112372
+
+ Reviewed by James Robinson.
+
+ Remove the now-unused hacks to regression test the background
+ filter blur compositor feature.
+
+ * testing/Internals.cpp:
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2013-03-15 Alexey Proskuryakov <ap@apple.com>
+
+ Reduce amount of platform specific code in MessagePortChannel
+ https://bugs.webkit.org/show_bug.cgi?id=112469
+
+ Reviewed by Sam Weinig.
+
+ * dom/MessagePortChannel.h: Ifdefed out an unused channel() function, except for
+ Chromium, where it is used. We certainly don't want to expose this implementation
+ detail as a public function.
+
+ * dom/default/PlatformMessagePortChannel.h: Removed functions that are no longer
+ delegated. Made class contents all public, as it's now basically a data storage
+ for MessagePortChannel.
+
+ * dom/default/PlatformMessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::createChannel):
+ (WebCore::MessagePortChannel::~MessagePortChannel):
+ (WebCore::MessagePortChannel::entangleIfOpen):
+ (WebCore::MessagePortChannel::disentangle):
+ (WebCore::MessagePortChannel::postMessageToRemote):
+ (WebCore::MessagePortChannel::tryGetMessageFromRemote):
+ (WebCore::MessagePortChannel::close):
+ (WebCore::MessagePortChannel::isConnectedTo):
+ (WebCore::MessagePortChannel::hasPendingActivity):
+ (WebCore::MessagePortChannel::locallyEntangledPort):
+ (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
+ (WebCore::PlatformMessagePortChannel::entangledChannel):
+ Moved code from PlatformMessagePortChannel to MessagePortChannel. Added some
+ FIXMEs.
+
+2013-03-15 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Expose the compositing thread layer's draw rectangle to aid hit testing
+ https://bugs.webkit.org/show_bug.cgi?id=112255
+
+ Reviewed by Rob Buis.
+
+ PR 308284.
+ Reviewed internally by Yongxin Dai.
+
+ Add a getter for the layer renderer of a compositing thread layer.
+
+ No change in behavior, no new tests.
+
+ * platform/graphics/blackberry/LayerCompositingThread.h:
+ (WebCore::LayerCompositingThread::layerRenderer):
+
+2013-03-15 Christian Biesinger <cbiesinger@chromium.org>
+
+ Convert <select> to new-flexbox
+ https://bugs.webkit.org/show_bug.cgi?id=112395
+
+ Reviewed by Ojan Vafai.
+
+ Covered by existing tests.
+
+ * css/html.css:
+ (select):
+ (select[size][multiple]):
+ (select[size="1"]):
+ Use new-style flexbox properties.
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::RenderMenuList):
+ (WebCore::RenderMenuList::createInnerBlock):
+ (WebCore::RenderMenuList::adjustInnerStyle):
+ (WebCore::RenderMenuList::removeChild):
+ RenderDeprecatedFlexibleBox -> RenderFlexibleBox, and use the
+ new-style flexbox properties. Use margin:auto for centering to get
+ the old safe-centering behavior.
+ * rendering/RenderMenuList.h:
+ (RenderMenuList):
+ Inherit from RenderFlexibleBox. Override baseline methods to call the
+ RenderBlock methods
+
+2013-03-15 Andy Estes <aestes@apple.com>
+
+ REGRESSION (r145820): Stop over-retaining CFDataRefs in SharedBuffer::maybeTransferPlatformData()
+ https://bugs.webkit.org/show_bug.cgi?id=112474
+
+ Reviewed by Simon Fraser.
+
+ Transfer ownership of m_cfData to the local variable rather than leaking a reference.
+
+ * platform/cf/SharedBufferCF.cpp:
+ (WebCore::SharedBuffer::maybeTransferPlatformData):
+
+2013-03-15 Rajeev Sarvaria <rsarvaria@blackberry.com>
+
+ New context extensions restored improperly
+ https://bugs.webkit.org/show_bug.cgi?id=112156
+
+ Reviewed by Rob Buis.
+
+ Sets up extensions after new context is created for restoration.
+ Previous extensions set up is lost when context is initially lost.
+
+ Cannot create a test as change is not visible from the web. When a context
+ is lost, WebGLRenderingContext drops m_context. Upon restoration a new context
+ object is created without available extensions initialized. Calling isEnabled
+ within setupFlags leads to the eventual initialization of extensions for the
+ new context.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::maybeRestoreContext):
+
+2013-03-15 Aurimas Liutikas <aurimas@chromium.org>
+
+ TextIterator emits LF for a br element inside an empty input element
+ https://bugs.webkit.org/show_bug.cgi?id=112275
+
+ Reviewed by Ryosuke Niwa.
+
+ Adding a check to avoid emiting LF for br elements inside a shadow tree
+ of an input element.
+
+ Test: editing/text-iterator/basic-iteration.html
+ editing/text-iterator/basic-iteration-shadowdom.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::shouldEmitNewlineForNode):
+ (WebCore::TextIterator::handleNonTextNode):
+ (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
+ (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
+ (WebCore::SimplifiedBackwardsTextIterator::exitNode):
+ * editing/TextIterator.h:
+ (SimplifiedBackwardsTextIterator):
+
+2013-03-15 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Allow an embedder to position child windows using window coordinates
+ https://bugs.webkit.org/show_bug.cgi?id=112236
+
+ Reviewed by Rob Buis.
+
+ PR 232752
+
+ The LayerCompositingThread can now position the video window using
+ either document or window coordinates.
+
+ The LayerRenderer class gets a new client interface. This allows us to
+ avoid state duplication by delegating decisions directly to the client,
+ which can then be in charge of the (one and only) state.
+
+ The context is moved over to the client, as well as delegation of the
+ decision on whether to clear the surface every frame.
+
+ Also, the decision on which coordinate system to use for positioning
+ child windows is delegated to the client interface.
+
+ No new tests, not testable using DRT.
+
+ * platform/graphics/blackberry/LayerCompositingThread.cpp:
+ (WebCore::LayerCompositingThread::drawTextures):
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::create):
+ (WebCore::LayerRenderer::LayerRenderer):
+ (WebCore::LayerRenderer::setViewport):
+ (WebCore::LayerRenderer::compositeLayers):
+ (WebCore::LayerRenderer::toWebKitWindowCoordinates):
+ (WebCore::LayerRenderer::makeContextCurrent):
+ * platform/graphics/blackberry/LayerRenderer.h:
+ (WebCore):
+ (LayerRenderer):
+ (WebCore::LayerRenderer::client):
+ * platform/graphics/blackberry/LayerRendererClient.h: Added.
+ (Graphics):
+ (WebCore):
+ (LayerRendererClient):
+ (WebCore::LayerRendererClient::~LayerRendererClient):
+
+2013-03-15 Jochen Eisinger <jochen@chromium.org>
+
+ Expose whether a UserGestureToken still has gestures via WebKit API
+ https://bugs.webkit.org/show_bug.cgi?id=112342
+
+ Reviewed by Adam Barth.
+
+ * dom/UserGestureIndicator.cpp:
+ * dom/UserGestureIndicator.h:
+ (UserGestureToken):
+
+2013-03-15 Christian Biesinger <cbiesinger@chromium.org>
+
+ Convert inspector to new-flexbox
+ https://bugs.webkit.org/show_bug.cgi?id=112399
+
+ Reviewed by Ojan Vafai.
+
+ No new tests, refactoring.
+
+ * inspector/front-end/auditsPanel.css:
+ (.audit-launcher-view .audit-launcher-view-content):
+ (.audit-launcher-view div.button-container):
+ (.audit-launcher-view div.button-container > button):
+ * inspector/front-end/dialog.css:
+ (.dialog):
+ * inspector/front-end/elementsPanel.css:
+ (.sidebar-pane.composite .metrics):
+ * inspector/front-end/helpScreen.css:
+ (.help-window-main):
+ (.help-content):
+ * inspector/front-end/inspector.css:
+ (#toolbar):
+ (#toolbar-controls):
+ (#toolbar-dropdown .scrollable-content):
+ (#toolbar-dropdown .toolbar-item):
+ (.toolbar-item.close-left, .toolbar-item.close-right):
+ * inspector/front-end/nativeMemoryProfiler.css:
+ (.memory-pie-chart-container):
+ (.memory-pie-chart):
+ * inspector/front-end/networkPanel.css:
+ (.network-item-view.visible):
+ * inspector/front-end/panelEnablerView.css:
+ (.panel-enabler-view .flexible-space):
+ * inspector/front-end/profilesPanel.css:
+ (.profile-launcher-view-content):
+ (.control-profiling):
+ * inspector/front-end/splitView.css:
+ (.sidebar-overlay):
+ * inspector/front-end/tabbedPane.css:
+ (.tabbed-pane):
+ (.tabbed-pane-content):
+ Replace -webkit-box with -webkit-flex, -webkit-box-orient with
+ -webkit-flex-direction, etc.
+
+2013-03-15 Rouslan Solomakhin <rouslan@chromium.org>
+
+ Remove unused unified textchecker variable
+ https://bugs.webkit.org/show_bug.cgi?id=112362
+
+ Reviewed by Tony Chang.
+
+ The variable m_originalUnifiedSpellCheckerEnabled is never used. The generated
+ code from Settings.in already backs up and restores unified textchecker setting.
+
+ * testing/InternalSettings.h: Remove unusued m_originalUnifiedSpellCheckerEnabled variable.
+
+2013-03-14 Ojan Vafai <ojan@chromium.org>
+
+ Auto height column flexboxes with border and padding are too short
+ https://bugs.webkit.org/show_bug.cgi?id=112398
+
+ Reviewed by Tony Chang.
+
+ Test: css3/flexbox/auto-height-column-with-border-and-padding.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::mainAxisContentExtent):
+ computeLogicalHeight expects that you pass in the border-box logicalHeight, not
+ the contentLogicalHeight. Since we subtract the border, padding and scrollbar height from
+ the returned m_extent, if we pass in the contentLogicalHeight and the flexbox is auto-sized
+ then we end up incorrectly subtracting border, padding and scrollbar height from the
+ contentLogicalHeight.
+
+2013-03-15 Tim Horton <timothy_horton@apple.com>
+
+ RenderSnapshottedPlugIn can't be a RenderBlock (what if it's display: inline?)
+ https://bugs.webkit.org/show_bug.cgi?id=112432
+ <rdar://problem/13187211>
+
+ Reviewed by Simon Fraser and Dean Jackson.
+
+ Re-use code from PLUGIN_PROXY_FOR_VIDEO to allow RenderEmbeddedObject to lay out its children,
+ and make RenderSnapshottedPlugIn a RenderEmbeddedObject subclass once again. This will ensure that
+ RenderSnapshottedPlugIn lays itself out in the page the same as the RenderEmbeddedObject it replaces did,
+ preventing snapshotted plug-ins from breaking the layout when they are display: inline.
+
+ * html/HTMLPlugInElement.cpp:
+ (WebCore::HTMLPlugInElement::defaultEventHandler):
+ RenderSnapshottedPlugIn is a RenderEmbeddedObject subclass again, so we need to check
+ for it when we have a RenderEmbeddedObject, instead of when we don't.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateWidget):
+ Ditto.
+
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::layout):
+ (WebCore::RenderEmbeddedObject::canHaveChildren):
+ Allow RenderEmbeddedObject to have and lay out children if it is a RenderSnapshottedPlugIn.
+ Also, preserve the code that allows children if it is a media element and PLUGIN_PROXY_FOR_VIDEO is enabled.
+ Don't call addWidgetToUpdate for instances which will never have a widget, like RenderSnapshottedPlugIn.
+
+ * rendering/RenderEmbeddedObject.h:
+ (RenderEmbeddedObject):
+ We need canHaveChildren() and children() and m_children now.
+ Add canHaveWidget(), which returns true. Subclasses can override if need be.
+
+ * rendering/RenderSnapshottedPlugIn.h: Add canHaveWidget(), which is false for RenderSnapshottedPlugIn.
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
+ (WebCore::RenderSnapshottedPlugIn::layout):
+ (WebCore::RenderSnapshottedPlugIn::getCursor):
+ Make RenderSnapshottedPlugIn a RenderEmbeddedObject.
+
+ (WebCore::RenderSnapshottedPlugIn::paint):
+ Paint our children.
+
+2013-03-15 Hajime Morrita <morrita@google.com>
+
+ [Custom Elements] Any HTMLElement subclass should become a superclass of custom element
+ https://bugs.webkit.org/show_bug.cgi?id=110436
+
+ Reviewed by Dimitri Glazkov.
+
+ This change introduces "type extension" concept of custom elements.
+ With the type extension, each custom elements are able to inherit
+ from not only HTMLElement, but also any HTML element. To make it work,
+ this change extends the plumbing.
+
+ This change does following changes:
+
+ = Data structure:
+
+ - Let CustomElementConstructor objects being keyed by pair of (element
+ name, local name) as the standard requries, instead of just using
+ single name. See CustomElementRegistry::ConstructorMap and CustomElementRegistry::find().
+
+ - Creates mapping from WrapperTypeInfo to element name. This map
+ can be looked-up by generated functions like
+ findHTMLTagNameOfV8Type(). With this table, WebKit can determine
+ the custom element local name of given prototype object. See make_names.pl.
+ Note that V8 prototype object knows associated WrapperTypeInfo. See r144865.
+
+ = Hooking up element lifecyle:
+
+ - Create appropriate C++ instance for each custom element. Before
+ this change, the C++ backend of custom elements were always
+ HTMLUnknownElements or HTMLElement. See
+ CustomElementConstructor::createElement() and ElementFactories in
+ make_names.pl.
+
+ - Hooks up element construction and element wrapper creation for
+ custom element "before" non-custom case instead of "after"
+ that. We do this because custom element needs to
+ override non-custom case when @is attribute is given for
+ otherwise-non-custom elements like <div is=x-bar>.
+ See make_names.pl.
+
+ - Gives @is attributes to elements if needed. See setTypeExtension() call sites
+ like Document::createElement(), Document::createElementtNS() and CustomElementConstructor::createElementt()
+
+ Test: fast/dom/custom/document-register-type-extensions.html
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ * bindings/scripts/test/V8/V8TestException.h:
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ * bindings/scripts/test/V8/V8TestNode.h:
+ * bindings/scripts/test/V8/V8TestObj.h:
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ * bindings/scripts/test/V8/V8TestTypedefs.h:
+ * bindings/v8/CustomElementHelpers.cpp:
+ (WebCore::hasValidPrototypeChain):
+ (WebCore::CustomElementHelpers::isValidPrototypeParameter):
+ (WebCore::CustomElementHelpers::findLocalName):
+ (WebCore):
+ (WebCore::CustomElementHelpers::findWrapperType):
+ * bindings/v8/CustomElementHelpers.h:
+ (CustomElementHelpers):
+ * bindings/v8/V8CustomElement.cpp:
+ (WebCore::V8CustomElement::createWrapper):
+ * bindings/v8/V8CustomElement.h:
+ (V8CustomElement):
+ (WebCore::V8CustomElement::wrap):
+ (WebCore::V8CustomElement::constructorOf):
+ * bindings/v8/WrapperTypeInfo.h:
+ (WrapperTypeTraits): Added.
+ * bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
+ (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
+ * dom/CustomElementConstructor.cpp:
+ (WebCore::CustomElementConstructor::create):
+ (WebCore::CustomElementConstructor::CustomElementConstructor):
+ (WebCore::CustomElementConstructor::createElement):
+ (WebCore::setTypeExtension):
+ * dom/CustomElementConstructor.h:
+ (CustomElementConstructor):
+ (WebCore::CustomElementConstructor::document):
+ (WebCore::CustomElementConstructor::typeName):
+ (WebCore::CustomElementConstructor::localName):
+ * dom/CustomElementRegistry.cpp:
+ (WebCore::nameIncludesHyphen):
+ (WebCore::CustomElementRegistry::isValidName):
+ (WebCore::CustomElementRegistry::registerElement):
+ (WebCore::CustomElementRegistry::findFor):
+ (WebCore::CustomElementRegistry::find):
+ (WebCore::CustomElementRegistry::createElement):
+ * dom/CustomElementRegistry.h:
+ (CustomElementRegistry):
+ * dom/Document.cpp:
+ (WebCore::Document::createElement):
+ (WebCore::Document::createElementNS):
+ (WebCore::Document::registerElement):
+ * dom/Document.h:
+ (Document):
+ (WebCore::Document::registry): Moved from Document.cpp to be inlined.
+ * dom/Document.idl:
+ * dom/make_names.pl:
+ (printFactoryCppFile):
+ (printWrapperFactoryCppFile):
+ (printWrapperFactoryHeaderFile):
+ * html/HTMLAttributeNames.in: Added @is attribute
+
+2013-03-15 Alexey Proskuryakov <ap@apple.com>
+
+ Minor cleanup in worker code
+ https://bugs.webkit.org/show_bug.cgi?id=112455
+
+ Reviewed by Anders Carlsson.
+
+ - Added OVERRIDE keywords.
+ - Toned down FIXMEs about single MessagePort versions of functions. It's not a given
+ that we'll want to get rid of them even when implementing array versions.
+ - Explicitly marked virtual destructors as virtual.
+
+ * dom/MessageEvent.cpp:
+ * dom/MessageEvent.h:
+ * workers/Worker.cpp:
+ * workers/Worker.h:
+ Removed an unused version of postMessage() that took no MessagePorts. This makes
+ it less confusing why MessagePortArray is passed by pointer, and not by reference.
+
+ * workers/DedicatedWorkerContext.cpp:
+ (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
+ * workers/DedicatedWorkerContext.h:
+ Added a destructor instead of an implicit one.
+ Removed an unused version of postMessage() that took no MessagePorts.
+
+ * workers/SharedWorker.h: Removed an unused virtual function (thank you OVERRIDE!)
+
+ * dom/MessagePort.cpp:
+ * dom/MessagePort.h:
+ * loader/WorkerThreadableLoader.h:
+ * page/DOMWindow.h:
+ * workers/AbstractWorker.h:
+ * workers/DedicatedWorkerThread.h:
+ * workers/SharedWorkerContext.h:
+ * workers/SharedWorkerThread.h:
+ * workers/WorkerContext.h:
+ * workers/WorkerMessagingProxy.h:
+ * workers/WorkerObjectProxy.h:
+ * workers/WorkerScriptLoader.h:
+
+2013-03-15 Joshua Bell <jsbell@chromium.org>
+
+ [V8] Binding: Implement EnforceRange IDL Attribute for long long conversions
+ https://bugs.webkit.org/show_bug.cgi?id=96798
+
+ Reviewed by Kentaro Hara.
+
+ Implement [EnforceRange] attribute for V8 bindings, which specifies throwing behavior
+ on conversions outside int/uint 32/64 ranges and edge cases like NaNs and Infinities.
+ Conversely, conversions without this attribute should *not* throw.
+
+ Tests: fast/js/webidl-type-mapping.html:
+ fast/dom/non-numeric-values-numeric-parameters.html
+ fast/js/script-tests/select-options-add.html
+ storage/indexeddb/intversion-bad-parameters.html
+
+ * Modules/indexeddb/IDBCursor.cpp: Remove custom range enforcement for advance()
+ * Modules/indexeddb/IDBCursor.h: Adjust type to match WebIDL.
+ * Modules/indexeddb/IDBCursor.idl: Specify [EnforceRange] and type matches spec WebIDL.
+ * Modules/indexeddb/IDBFactory.cpp: Remove custom range enforcement for open()
+ * Modules/indexeddb/IDBFactory.h: Adjust type to match WebIDL.
+ * Modules/indexeddb/IDBFactory.idl: Specify [EnforceRange] and type matches spec WebIDL.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (JSValueToNative): Add FIXME to support [EnforceRange]
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrSetter): Handle [EnforceRange] in attribute setters
+ (GenerateParametersCheck): Handle [EnforceRange] in parameters.
+ (JSValueToNative): Pass EnforceRange to toInt() functions as appropriate.
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/TestObj.idl: Tests w/ [EnforceRange]
+ * bindings/scripts/test/V8/V8TestObj.cpp: Updated expectations
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp: Updated expectations.
+ * bindings/v8/V8Binding.cpp: Overloads for toInt() variants that handle constraints.
+ (WebCore::toInt32):
+ (WebCore::toUInt32):
+ (WebCore::toInt64):
+ (WebCore::toUInt64):
+ * bindings/v8/V8Binding.h: Ditto, plus helpers for callers not expecting errors.
+ (WebCore::toInt32):
+ (WebCore::toUInt32):
+ (WebCore::toInt64):
+ (WebCore::toUInt64):
+ * bindings/v8/V8BindingMacros.h: Helper macros for type conversions that may throw.
+ * testing/TypeConversions.h: Added new members with EnforceRange constraint.
+ * testing/TypeConversions.idl: Ditto.
+
+2013-03-15 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] Refine JSDocs in NetworkRequest.js
+ https://bugs.webkit.org/show_bug.cgi?id=112412
+
+ Reviewed by Vsevolod Vlasov.
+
+ Return types for some members are confusing (Object).
+
+ * inspector/front-end/NetworkManager.js: Fixed JSDocs.
+ * inspector/front-end/NetworkRequest.js: Ditto. Plus minor refactorings.
+
+2013-03-15 Andy Estes <aestes@apple.com>
+
+ REGRESSION (r127277): CSS URIs with multi-byte Unicode escape sequences fail to parse
+ https://bugs.webkit.org/show_bug.cgi?id=112436
+
+ Reviewed by Michael Saboff.
+
+ r127277 modified the CSS parser to use 8-bit strings when possible.
+ However, it failed to handle URIs that contain Unicode escape sequences
+ that expand to multi-byte characters. Not only would the URI fail to
+ parse, but so would the remainder of the input string.
+
+ Fix this by producing a 16-bit result when we detect a URI with a
+ multi-byte Unicode escape, like we do for identifiers and other strings.
+
+ Test: fast/css/url-with-multi-byte-unicode-escape.html
+
+ * css/CSSParser.cpp:
+ (WebCore::checkAndSkipString): Changed to be a free function since it
+ doesn't access CSSParser's internal state.
+ (WebCore::CSSParser::findURI): Added a function that consolidates the
+ logic of finding the start and end pointers of the URI and the quote
+ character (if encountered), starting at the current character.
+ (WebCore::CSSParser::parseURIInternal): Removed duplicated logic for
+ finding the URI bounds (this now lives in findURI()) and logic for
+ setting the token type and updating the current character (this now
+ lives in parseURI()).
+ (WebCore::CSSParser::parseURI): Find the URI and parse it. If a
+ multi-byte Unicode escape is encountered, rewind to the beginning of
+ the URI and re-parse with a 16-bit string as the destination.
+ * css/CSSParser.h:
+
+2013-03-15 Andreas Kling <akling@apple.com>
+
+ [JSC] Remove custom WebAudio mark functions that we can generate instead.
+ <http://webkit.org/b/110976>
+
+ Reviewed by Eric Carlson.
+
+ Remove custom JSC mark functions for AudioContext and ScriptProcessorNode since they
+ are trivial to generate.
+
+ * Modules/webaudio/AudioContext.idl:
+ * Modules/webaudio/ScriptProcessorNode.idl:
+ * GNUmakefile.list.am:
+ * UseJSC.cmake:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSAudioContextCustom.cpp:
+ * bindings/js/JSScriptProcessorNodeCustom.cpp: Removed.
+
+2013-03-15 Jer Noble <jer.noble@apple.com>
+
+ Unreviewed build fix. Rename local variable which was colliding with class method.
+
+ * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+ (PlatformCALayer::clone):
+
+2013-03-15 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Handle success events arriving after context stopped
+ https://bugs.webkit.org/show_bug.cgi?id=112451
+
+ Reviewed by Tony Chang.
+
+ In multiprocess ports, events from the back-end can arrive in the form of
+ onXXX() calls after the script execution context has stopped. These need to
+ be ignored. This was already done in most cases, but missing for two overloads
+ of IDBRequest::onSuccess() - void and int64_t.
+
+ Test: webkit_unit_test IDBRequestTest.EventsAfterStopping
+
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::onSuccess): Early return if context has stopped.
+ (WebCore::IDBRequest::onSuccessInternal): ASSERT() that callers have checked context.
+
+2013-03-14 Jer Noble <jer.noble@apple.com>
+
+ REGRESSION: -webkit-box-reflect does not show on video elements
+ https://bugs.webkit.org/show_bug.cgi?id=112397
+
+ Reviewed by Simon Fraser.
+
+ Test: compositing/video/video-reflection.html
+
+ Support cloning specific CALayer subtypes in PlatformCALayer,
+ which allows reflections to work correctly for those layer types.
+ Specifically, add support for cloning AVPlayerLayer layers.
+
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::cloneLayer): Moved most of the
+ implementation to PlatformCALayer::clone().
+ * platform/graphics/ca/PlatformCALayer.h:
+ * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+ (PlatformCALayer::PlatformCALayer): Set the layerType to
+ LayerTypeAVPlayerLayer if the PlatformLayer parameter is an
+ AVPlayerLayer.
+ (PlatformCALayer::clone): Moved from GraphicsLayerCA::cloneLayer().
+ Copy the player value to the new layer, if the current layer is
+ a LayerTypeAVPlayerLayer.
+ (PlatformCALayer::playerLayer):
+ * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+ (PlatformCALayer::clone): Moved from GraphicsLayerCA::cloneLayer().
+ May want to add support for AVCFPlayerLayers in the future.
+
+2013-03-15 Nate Chapin <japhet@chromium.org>
+
+ Hide MainResourceLoader from the outside world
+ https://bugs.webkit.org/show_bug.cgi?id=109971
+
+ Reviewed by Adam Barth.
+
+ No new tests, refactor only.
+
+ * WebCore.exp.in:
+ * dom/Document.cpp:
+ * html/HTMLEmbedElement.cpp:
+ * html/MediaDocument.cpp:
+ * html/PluginDocument.cpp:
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::mainResourceLoader):
+ (WebCore::DocumentLoader::finishedLoading):
+ (WebCore::DocumentLoader::receivedData):
+ (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
+ * loader/DocumentLoader.h:
+ * loader/EmptyClients.h:
+ * loader/FrameLoader.cpp:
+ * loader/FrameLoaderClient.h:
+ * loader/MainResourceLoader.cpp:
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ * loader/appcache/ApplicationCacheHost.cpp:
+
+2013-03-15 Abhishek Arya <inferno@chromium.org>
+
+ Replace static_casts with to* helper functions.
+ https://bugs.webkit.org/show_bug.cgi?id=112401
+
+ Reviewed by Stephen Chenney.
+
+ to* helper functions are preferred over static_cast calls since they
+ help to catch bad casts easily on the testing infrastructure.
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::appendAccessibilityObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
+ * accessibility/AccessibilityScrollView.cpp:
+ (WebCore::AccessibilityScrollView::webAreaObject):
+ (WebCore::AccessibilityScrollView::documentFrameView):
+ (WebCore::AccessibilityScrollView::parentObject):
+ (WebCore::AccessibilityScrollView::parentObjectIfExists):
+ * accessibility/chromium/AXObjectCacheChromium.cpp:
+ (WebCore::AXObjectCache::postPlatformNotification):
+ * bindings/js/JSPluginElementFunctions.cpp:
+ (WebCore::pluginScriptObjectFromPluginViewBase):
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::setJavaScriptPaused):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/js/ScriptControllerQt.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::appendFormData):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::subframeForTargetNode):
+ (WebCore::EventHandler::passGestureEventToWidget):
+ * page/Frame.cpp:
+ (WebCore::Frame::frameForWidget):
+ * page/FrameView.cpp:
+ (WebCore::collectFrameViewChildren):
+ (WebCore::FrameView::hasCustomScrollbars):
+ (WebCore::FrameView::convertToContainingView):
+ (WebCore::FrameView::convertFromContainingView):
+ (WebCore::FrameView::removeChild):
+ * page/FrameView.h:
+ (WebCore::toFrameView):
+ (WebCore):
+ * page/Page.cpp:
+ (WebCore::Page::collectPluginViews):
+ * page/chromium/EventHandlerChromium.cpp:
+ (WebCore::EventHandler::passWheelEventToWidget):
+ * page/efl/EventHandlerEfl.cpp:
+ (WebCore::EventHandler::passWheelEventToWidget):
+ * page/gtk/EventHandlerGtk.cpp:
+ (WebCore::EventHandler::passWheelEventToWidget):
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passWheelEventToWidget):
+ * page/qt/EventHandlerQt.cpp:
+ (WebCore::EventHandler::passWheelEventToWidget):
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
+ * page/win/EventHandlerWin.cpp:
+ (WebCore::EventHandler::passWheelEventToWidget):
+ * page/wx/EventHandlerWx.cpp:
+ (WebCore::EventHandler::passWheelEventToWidget):
+ * platform/ScrollView.h:
+ (WebCore::toScrollView):
+ (WebCore):
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::isScrollViewScrollbar):
+ (WebCore::Scrollbar::mouseUp):
+ (WebCore::Scrollbar::axObjectCache):
+ * platform/Widget.h:
+ (WebCore::Widget::isScrollView):
+ * platform/blackberry/PlatformScreenBlackBerry.cpp:
+ (WebCore::toUserSpace):
+ * platform/efl/ScrollbarEfl.cpp:
+ (ScrollbarEfl::setParent):
+ * platform/qt/PlatformSupportQt.cpp:
+ (WebCore::PlatformSupport::popupsAllowed):
+ (WebCore::PlatformSupport::pluginScriptableObject):
+ * plugins/IFrameShimSupport.cpp:
+ (WebCore::getPluginOcclusions):
+ * plugins/PluginView.h:
+ (WebCore::toPluginView):
+ (WebCore):
+ * plugins/PluginViewBase.h:
+ (WebCore::PluginViewBase::isPluginViewBase):
+ (PluginViewBase):
+ (WebCore::toPluginViewBase):
+ (WebCore):
+ * plugins/blackberry/PluginViewBlackBerry.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::updateBuffer):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::handleScrollEvent):
+ (WebCore::PluginView::calculateClipRect):
+ (WebCore::PluginView::handleFullScreenAllowedEvent):
+ (WebCore::PluginView::handleFullScreenExitEvent):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::platformGetValue):
+ (WebCore::PluginView::platformStart):
+ (WebCore::PluginView::platformDestroy):
+ (WebCore::PluginView::setBackgroundPlay):
+ * plugins/blackberry/PluginViewPrivateBlackBerry.cpp:
+ (WebCore::PluginViewPrivate::setVisibleRects):
+ (WebCore::PluginViewPrivate::showKeyboard):
+ (WebCore::PluginViewPrivate::requestFullScreen):
+ (WebCore::PluginViewPrivate::requestCenterFitZoom):
+ (WebCore::PluginViewPrivate::lockOrientation):
+ (WebCore::PluginViewPrivate::unlockOrientation):
+ (WebCore::PluginViewPrivate::preventIdle):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/mac/PluginViewMac.mm:
+ (WebCore::PluginView::platformStart):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paintIntoTransformedContext):
+ (WebCore::PluginView::paintWindowedPluginIntoContext):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::snapshot):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::addLayoutOverflow):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
+ (WebCore::RenderEmbeddedObject::viewCleared):
+ (WebCore::RenderEmbeddedObject::nodeAtPoint):
+ (WebCore::RenderEmbeddedObject::scroll):
+ * rendering/RenderFlexibleBox.h:
+ (WebCore::toRenderFlexibleBox):
+ (WebCore):
+ * rendering/RenderFrame.cpp:
+ (WebCore::RenderFrame::viewCleared):
+ * rendering/RenderFrameBase.cpp:
+ (WebCore::RenderFrameBase::layoutWithFlattening):
+ * rendering/RenderIFrame.cpp:
+ (WebCore::RenderIFrame::contentRootRenderer):
+ (WebCore::RenderIFrame::layoutSeamlessly):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::requiresAcceleratedCompositing):
+ (WebCore::RenderPart::embeddedContentBox):
+ (WebCore::RenderPart::nodeAtPoint):
+ * rendering/RenderRuby.cpp:
+ (WebCore::rubyBeforeBlock):
+ (WebCore::rubyAfterBlock):
+ (WebCore::lastRubyRun):
+ (WebCore::findRubyRunParent):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::write):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paintContents):
+ (WebCore::RenderWidget::setOverlapTestResult):
+ (WebCore::RenderWidget::updateWidgetPosition):
+
+2013-03-15 No'am Rosenthal <noam@webkit.org>
+
+ [Texmap] REGRESSION (r144190): Failure at style with preserve-3d and opacity
+ https://bugs.webkit.org/show_bug.cgi?id=112370
+
+ According to spec, we avoid masking and clipping when preserves-3d is enabled.
+ However, opacity should still work.
+ Allowing opacity when preserves-3d is on.
+
+ Reviewed by Caio Marcelo de Oliveira Filho.
+
+ Test: compositing/overlap-blending/preserves3d-opacity.html
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::paintRecursive):
+
+2013-03-15 Konrad Piascik <kpiascik@blackberry.com>
+
+ Get rid of useless forward declaration.
+ https://bugs.webkit.org/show_bug.cgi?id=112449
+
+ Reviewed by Stephen Chenney.
+
+ No behavioural change
+
+ * svg/SVGRectElement.cpp:
+
+2013-03-15 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: make CPU profiler show timings using the same time unit [ms]
+ https://bugs.webkit.org/show_bug.cgi?id=112356
+
+ That makes it much easier to compare values when looking at the data.
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/front-end/ProfileDataGridTree.js:
+ (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
+
+2013-03-15 Peter Beverloo <peter@chromium.org>
+
+ Implement support for nullable types in the bindings generator
+ https://bugs.webkit.org/show_bug.cgi?id=111728
+
+ Reviewed by Kentaro Hara.
+
+ This patch adds support for nullable types in the bindings
+ generator, as described in section 3.10.22 of WebIDL:
+ http://dev.w3.org/2006/webapi/WebIDL/#idl-nullable-type
+
+ interface MyInterface {
+ readonly attribute boolean? value; // true, false or null.
+ };
+
+ The IDL Parser has been modified to record whether attributes are
+ nullable. Question marks from the type will always be stripped
+ from the domAttribute->signature->type field. Once support for
+ this has been completely implemented, we'll be able to remove a
+ bunch of custom bindings, i.e. those of Device Orientation.
+
+ Any getter for an attribute which returns a nullable type will be
+ called with an additional attribute (passed by reference) named
+ "isNull". This will be the last argument passed to the method,
+ unless an exception code (ec) argument will be passed as well.
+
+ The CPP, GObject and ObjC bindings will not change behavior following
+ this patch, although they have been modified to call the WebCore
+ methods for nullable attributes with the correct signature. The
+ V8 and JS binding generators do have modified behavior, in that they
+ will actually return v8Null/jsNull when isNull == true.
+
+ Tested by existing binding tests and the new nullable attribute
+ tests in the bindings/scripts/test/ directory.
+
+ * bindings/scripts/CodeGeneratorCPP.pm:
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ (GenerateProperty):
+ (GenerateFunction):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ (GenerateImplementation):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateNormalAttrGetter):
+ * bindings/scripts/IDLParser.pm:
+ (typeHasNullableSuffix):
+ (typeRemoveNullableSuffix):
+ (parseAttributeRest):
+ (parseOptionalOrRequiredArgument):
+ (parseAttributeRestOld):
+ * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
+ (WebDOMTestObj::nullableDoubleAttribute):
+ (WebDOMTestObj::nullableLongAttribute):
+ (WebDOMTestObj::nullableBooleanAttribute):
+ (WebDOMTestObj::nullableStringAttribute):
+ (WebDOMTestObj::nullableLongSettableAttribute):
+ (WebDOMTestObj::setNullableLongSettableAttribute):
+ (WebDOMTestObj::nullableStringValue):
+ (WebDOMTestObj::setNullableStringValue):
+ * bindings/scripts/test/CPP/WebDOMTestObj.h:
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
+ (webkit_dom_test_obj_set_property):
+ (webkit_dom_test_obj_get_property):
+ (webkit_dom_test_obj_class_init):
+ (webkit_dom_test_obj_get_nullable_double_attribute):
+ (webkit_dom_test_obj_get_nullable_long_attribute):
+ (webkit_dom_test_obj_get_nullable_boolean_attribute):
+ (webkit_dom_test_obj_get_nullable_string_attribute):
+ (webkit_dom_test_obj_get_nullable_long_settable_attribute):
+ (webkit_dom_test_obj_set_nullable_long_settable_attribute):
+ (webkit_dom_test_obj_get_nullable_string_value):
+ (webkit_dom_test_obj_set_nullable_string_value):
+ * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore):
+ (WebCore::jsTestObjNullableDoubleAttribute):
+ (WebCore::jsTestObjNullableLongAttribute):
+ (WebCore::jsTestObjNullableBooleanAttribute):
+ (WebCore::jsTestObjNullableStringAttribute):
+ (WebCore::jsTestObjNullableLongSettableAttribute):
+ (WebCore::jsTestObjNullableStringValue):
+ (WebCore::setJSTestObjNullableLongSettableAttribute):
+ (WebCore::setJSTestObjNullableStringValue):
+ * bindings/scripts/test/JS/JSTestObj.h:
+ (WebCore):
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ * bindings/scripts/test/ObjC/DOMTestObj.mm:
+ (-[DOMTestObj nullableDoubleAttribute]):
+ (-[DOMTestObj nullableLongAttribute]):
+ (-[DOMTestObj nullableBooleanAttribute]):
+ (-[DOMTestObj nullableStringAttribute]):
+ (-[DOMTestObj nullableLongSettableAttribute]):
+ (-[DOMTestObj setNullableLongSettableAttribute:]):
+ (-[DOMTestObj nullableStringValue]):
+ (-[DOMTestObj setNullableStringValue:]):
+ * bindings/scripts/test/TestObj.idl:
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::nullableDoubleAttributeAttrGetter):
+ (TestObjV8Internal):
+ (WebCore::TestObjV8Internal::nullableDoubleAttributeAttrGetterCallback):
+ (WebCore::TestObjV8Internal::nullableLongAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::nullableLongAttributeAttrGetterCallback):
+ (WebCore::TestObjV8Internal::nullableBooleanAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::nullableBooleanAttributeAttrGetterCallback):
+ (WebCore::TestObjV8Internal::nullableStringAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::nullableStringAttributeAttrGetterCallback):
+ (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrGetterCallback):
+ (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrSetterCallback):
+ (WebCore::TestObjV8Internal::nullableStringValueAttrGetter):
+ (WebCore::TestObjV8Internal::nullableStringValueAttrGetterCallback):
+ (WebCore::TestObjV8Internal::nullableStringValueAttrSetter):
+ (WebCore::TestObjV8Internal::nullableStringValueAttrSetterCallback):
+ (WebCore):
+
+2013-03-15 Marja Hölttä <marja@chromium.org>
+
+ [V8] Store main world and non-main world templates separately.
+ https://bugs.webkit.org/show_bug.cgi?id=111724
+
+ Reviewed by Jochen Eisinger.
+
+ This is needed for generating specialized bindings for the main
+ world (bug 110874).
+
+ No new tests (updated existing bindings tests).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateDomainSafeFunctionGetter):
+ (GenerateNormalAttrSetter):
+ (GenerateParametersCheckExpression):
+ (GenerateParametersCheck):
+ (GenerateImplementation):
+ (JSValueToNative):
+ (CreateCustomSignature):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooMethod):
+ (WebCore::ConfigureV8Float64ArrayTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ (WebCore::V8Float64Array::HasInstance):
+ (WebCore):
+ (WebCore::V8Float64Array::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
+ (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
+ (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ (WebCore::V8TestActiveDOMObject::HasInstance):
+ (WebCore):
+ (WebCore::V8TestActiveDOMObject::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ (WebCore::V8TestCustomNamedGetter::HasInstance):
+ (WebCore):
+ (WebCore::V8TestCustomNamedGetter::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ (WebCore::V8TestEventConstructor::HasInstance):
+ (WebCore):
+ (WebCore::V8TestEventConstructor::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
+ (WebCore::ConfigureV8TestEventTargetTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ (WebCore::V8TestEventTarget::HasInstance):
+ (WebCore):
+ (WebCore::V8TestEventTarget::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::GetTemplate):
+ (WebCore::V8TestException::HasInstance):
+ (WebCore):
+ (WebCore::V8TestException::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (V8TestException):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
+ (WebCore::ConfigureV8TestInterfaceTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ (WebCore::V8TestInterface::HasInstance):
+ (WebCore):
+ (WebCore::V8TestInterface::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ (WebCore::V8TestMediaQueryListListener::HasInstance):
+ (WebCore):
+ (WebCore::V8TestMediaQueryListListener::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ (WebCore::V8TestNamedConstructor::HasInstance):
+ (WebCore):
+ (WebCore::V8TestNamedConstructor::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::GetTemplate):
+ (WebCore::V8TestNode::HasInstance):
+ (WebCore):
+ (WebCore::V8TestNode::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (V8TestNode):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::mutablePointAttrSetter):
+ (WebCore::TestObjV8Internal::immutablePointAttrSetter):
+ (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
+ (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
+ (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
+ (WebCore::TestObjV8Internal::overloadedMethod1Method):
+ (WebCore::TestObjV8Internal::overloadedMethod2Method):
+ (WebCore::TestObjV8Internal::overloadedMethod8Method):
+ (WebCore::TestObjV8Internal::overloadedMethodMethod):
+ (WebCore::TestObjV8Internal::convert1Method):
+ (WebCore::TestObjV8Internal::convert2Method):
+ (WebCore::TestObjV8Internal::convert4Method):
+ (WebCore::TestObjV8Internal::convert5Method):
+ (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
+ (WebCore::ConfigureV8TestObjTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ (WebCore::V8TestObj::HasInstance):
+ (WebCore):
+ (WebCore::V8TestObj::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor1):
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor2):
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor3):
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor):
+ (WebCore::V8TestOverloadedConstructors::GetTemplate):
+ (WebCore::V8TestOverloadedConstructors::HasInstance):
+ (WebCore):
+ (WebCore::V8TestOverloadedConstructors::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ (V8TestOverloadedConstructors):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
+ (WebCore):
+ (WebCore::V8TestSerializedScriptValueInterface::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore::TestTypedefsV8Internal::funcMethod):
+ (WebCore::ConfigureV8TestTypedefsTemplate):
+ (WebCore::V8TestTypedefs::GetTemplate):
+ (WebCore::V8TestTypedefs::HasInstance):
+ (WebCore):
+ (WebCore::V8TestTypedefs::HasInstanceInAnyWorld):
+ * bindings/scripts/test/V8/V8TestTypedefs.h:
+ (V8TestTypedefs):
+ * bindings/v8/Dictionary.cpp:
+ (WebCore::Dictionary::get):
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::visitNodeWrappers):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8AdaptorFunction.cpp:
+ (WebCore::V8AdaptorFunction::getTemplate):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toDOMStringList):
+ (WebCore::toXPathNSResolver):
+ * bindings/v8/V8Binding.h:
+ (WebCore):
+ (WebCore::toRefPtrNativeArray):
+ * bindings/v8/V8Collection.cpp:
+ (WebCore::toOptionsCollectionSetter):
+ * bindings/v8/V8GCController.cpp:
+ * bindings/v8/V8NPObject.cpp:
+ (WebCore::npObjectInvokeImpl):
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::reportMemoryUsage):
+ (WebCore::V8PerIsolateData::hasPrivateTemplate):
+ (WebCore::V8PerIsolateData::privateTemplate):
+ (WebCore::V8PerIsolateData::rawTemplate):
+ (WebCore::V8PerIsolateData::hasInstance):
+ * bindings/v8/V8PerIsolateData.h:
+ (WebCore::V8PerIsolateData::rawTemplateMap):
+ (V8PerIsolateData):
+ (WebCore::V8PerIsolateData::templateMap):
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::extractTransferables):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::constructWebGLArray):
+ (WebCore::setWebGLArrayHelper):
+ * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
+ (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::V8Blob::constructorCustom):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toCanvasStyle):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::V8Clipboard::setDragImageMethodCustom):
+ * bindings/v8/custom/V8CryptoCustom.cpp:
+ (WebCore::V8Crypto::getRandomValuesMethodCustom):
+ * bindings/v8/custom/V8DOMFormDataCustom.cpp:
+ (WebCore::V8DOMFormData::constructorCustom):
+ (WebCore::V8DOMFormData::appendMethodCustom):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::V8DataView::constructorCustom):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateMethodCustom):
+ * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
+ (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::addMethodCustom):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
+ (WebCore::V8InjectedScriptHost::typeMethodCustom):
+ (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::V8Location::reloadAttrGetterCustom):
+ (WebCore::V8Location::replaceAttrGetterCustom):
+ (WebCore::V8Location::assignAttrGetterCustom):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::V8Node::insertBeforeMethodCustom):
+ (WebCore::V8Node::replaceChildMethodCustom):
+ (WebCore::V8Node::removeChildMethodCustom):
+ (WebCore::V8Node::appendChildMethodCustom):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::opaqueRootForGC):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::toWebGLUniformLocation):
+ (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
+ (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
+ (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
+ (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
+ (WebCore::vertexAttribAndUniformHelperf):
+ (WebCore::uniformHelperi):
+ (WebCore::uniformMatrixHelper):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::isDocumentType):
+ (WebCore::V8XMLHttpRequest::sendMethodCustom):
+
+2013-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r145802.
+ http://trac.webkit.org/changeset/145802
+ https://bugs.webkit.org/show_bug.cgi?id=112444
+
+ This broke Chrome. (Requested by marja____ on #webkit).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateDomainSafeFunctionGetter):
+ (GenerateNormalAttrSetter):
+ (GenerateParametersCheckExpression):
+ (GenerateParametersCheck):
+ (GenerateImplementation):
+ (JSValueToNative):
+ (CreateCustomSignature):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooMethod):
+ (WebCore::ConfigureV8Float64ArrayTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ (WebCore::V8Float64Array::HasInstance):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
+ (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
+ (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ (WebCore::V8TestActiveDOMObject::HasInstance):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ (WebCore::V8TestCustomNamedGetter::HasInstance):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ (WebCore::V8TestEventConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
+ (WebCore::ConfigureV8TestEventTargetTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ (WebCore::V8TestEventTarget::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::GetTemplate):
+ (WebCore::V8TestException::HasInstance):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (V8TestException):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
+ (WebCore::ConfigureV8TestInterfaceTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ (WebCore::V8TestInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ (WebCore::V8TestMediaQueryListListener::HasInstance):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ (WebCore::V8TestNamedConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::GetTemplate):
+ (WebCore::V8TestNode::HasInstance):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (V8TestNode):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
+ (WebCore::TestObjV8Internal::mutablePointAttrSetter):
+ (WebCore::TestObjV8Internal::immutablePointAttrSetter):
+ (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
+ (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
+ (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
+ (WebCore::TestObjV8Internal::overloadedMethod1Method):
+ (WebCore::TestObjV8Internal::overloadedMethod2Method):
+ (WebCore::TestObjV8Internal::overloadedMethod8Method):
+ (WebCore::TestObjV8Internal::overloadedMethodMethod):
+ (WebCore::TestObjV8Internal::convert1Method):
+ (WebCore::TestObjV8Internal::convert2Method):
+ (WebCore::TestObjV8Internal::convert4Method):
+ (WebCore::TestObjV8Internal::convert5Method):
+ (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
+ (WebCore::ConfigureV8TestObjTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ (WebCore::V8TestObj::HasInstance):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor1):
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor2):
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor3):
+ (WebCore::TestOverloadedConstructorsV8Internal::constructor):
+ (WebCore::V8TestOverloadedConstructors::GetTemplate):
+ (WebCore::V8TestOverloadedConstructors::HasInstance):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ (V8TestOverloadedConstructors):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore::TestTypedefsV8Internal::funcMethod):
+ (WebCore::ConfigureV8TestTypedefsTemplate):
+ (WebCore::V8TestTypedefs::GetTemplate):
+ (WebCore::V8TestTypedefs::HasInstance):
+ * bindings/scripts/test/V8/V8TestTypedefs.h:
+ (V8TestTypedefs):
+ * bindings/v8/Dictionary.cpp:
+ (WebCore::Dictionary::get):
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::visitNodeWrappers):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8AdaptorFunction.cpp:
+ (WebCore::V8AdaptorFunction::getTemplate):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::toDOMStringList):
+ (WebCore::toXPathNSResolver):
+ * bindings/v8/V8Binding.h:
+ (WebCore::toRefPtrNativeArray):
+ (WebCore):
+ * bindings/v8/V8Collection.cpp:
+ (WebCore::toOptionsCollectionSetter):
+ * bindings/v8/V8GCController.cpp:
+ * bindings/v8/V8NPObject.cpp:
+ (WebCore::npObjectInvokeImpl):
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::reportMemoryUsage):
+ (WebCore::V8PerIsolateData::hasPrivateTemplate):
+ (WebCore::V8PerIsolateData::privateTemplate):
+ (WebCore::V8PerIsolateData::rawTemplate):
+ (WebCore::V8PerIsolateData::hasInstance):
+ * bindings/v8/V8PerIsolateData.h:
+ (WebCore::V8PerIsolateData::rawTemplateMap):
+ (WebCore::V8PerIsolateData::templateMap):
+ (V8PerIsolateData):
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::extractTransferables):
+ * bindings/v8/custom/V8ArrayBufferViewCustom.h:
+ (WebCore::constructWebGLArray):
+ (WebCore::setWebGLArrayHelper):
+ * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
+ (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::V8Blob::constructorCustom):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toCanvasStyle):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::V8Clipboard::setDragImageMethodCustom):
+ * bindings/v8/custom/V8CryptoCustom.cpp:
+ (WebCore::V8Crypto::getRandomValuesMethodCustom):
+ * bindings/v8/custom/V8DOMFormDataCustom.cpp:
+ (WebCore::V8DOMFormData::constructorCustom):
+ (WebCore::V8DOMFormData::appendMethodCustom):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::V8DataView::constructorCustom):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateMethodCustom):
+ * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
+ (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::addMethodCustom):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+ (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
+ (WebCore::V8InjectedScriptHost::typeMethodCustom):
+ (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::V8Location::reloadAttrGetterCustom):
+ (WebCore::V8Location::replaceAttrGetterCustom):
+ (WebCore::V8Location::assignAttrGetterCustom):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::V8Node::insertBeforeMethodCustom):
+ (WebCore::V8Node::replaceChildMethodCustom):
+ (WebCore::V8Node::removeChildMethodCustom):
+ (WebCore::V8Node::appendChildMethodCustom):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::opaqueRootForGC):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::toWebGLUniformLocation):
+ (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
+ (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
+ (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
+ (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
+ (WebCore::vertexAttribAndUniformHelperf):
+ (WebCore::uniformHelperi):
+ (WebCore::uniformMatrixHelper):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::isDocumentType):
+ (WebCore::V8XMLHttpRequest::sendMethodCustom):
+
+2013-03-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r145896.
+ http://trac.webkit.org/changeset/145896
+ https://bugs.webkit.org/show_bug.cgi?id=112443
+
+ Chrome broken by r145802 and this builds on top of it.
+ (Requested by marja____ on #webkit).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateNormalAttrGetterCallback):
+ (GenerateNormalAttrGetter):
+ (GenerateNormalAttrSetterCallback):
+ (GenerateNormalAttrSetter):
+ (GenerateNamedConstructor):
+ (GenerateBatchedAttributeData):
+ (GenerateSingleBatchedAttribute):
+ (GenerateImplementation):
+ (GenerateCallbackImplementation):
+ (GenerateFunctionCallString):
+ (CreateCustomSignature):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::ConfigureV8Float64ArrayTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ (WebCore::V8Float64Array::HasInstance):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ (WebCore::V8TestActiveDOMObject::HasInstance):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ (WebCore::V8TestCustomNamedGetter::HasInstance):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestEventConstructorTemplate):
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ (WebCore::V8TestEventConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::ConfigureV8TestEventTargetTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ (WebCore::V8TestEventTarget::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::ConfigureV8TestExceptionTemplate):
+ (WebCore::V8TestException::GetTemplate):
+ (WebCore::V8TestException::HasInstance):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (TestInterfaceV8Internal):
+ (WebCore):
+ (WebCore::ConfigureV8TestInterfaceTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ (WebCore::V8TestInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ (WebCore::V8TestMediaQueryListListener::HasInstance):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
+ (WebCore::ConfigureV8TestNamedConstructorTemplate):
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ (WebCore::V8TestNamedConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::ConfigureV8TestNodeTemplate):
+ (WebCore::V8TestNode::GetTemplate):
+ (WebCore::V8TestNode::HasInstance):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (TestObjV8Internal):
+ (WebCore):
+ (WebCore::ConfigureV8TestObjTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ (WebCore::V8TestObj::HasInstance):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
+ (WebCore::V8TestOverloadedConstructors::GetTemplate):
+ (WebCore::V8TestOverloadedConstructors::HasInstance):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (WebCore):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore):
+ (WebCore::ConfigureV8TestTypedefsTemplate):
+ (WebCore::V8TestTypedefs::GetTemplate):
+ (WebCore::V8TestTypedefs::HasInstance):
+ * bindings/scripts/test/V8/V8TestTypedefs.h:
+ (WebCore):
+ * bindings/v8/DOMDataStore.h:
+ (DOMDataStore):
+ * bindings/v8/V8DOMConfiguration.cpp:
+ * bindings/v8/V8DOMConfiguration.h:
+ (V8DOMConfiguration):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ * bindings/v8/custom/V8EventTargetCustom.cpp:
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
+ * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+
+2013-03-15 Alberto Garcia <agarcia@igalia.com>
+
+ [BlackBerry] Remove PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=112438
+
+ Reviewed by Rob Buis.
+
+ This class only contains getFontFamilyForCharacters(), which was
+ moved from PlatformSupport to FontCache in r129257.
+
+ This patch does the same for the BlackBerry port.
+
+ * platform/graphics/FontCache.h:
+ (FontCache):
+ * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
+ (WebCore::FontCache::getFontFamilyForCharacters):
+ (WebCore):
+ (WebCore::FontCache::getFontDataForCharacters):
+ * platform/graphics/blackberry/PlatformSupport.cpp: Removed.
+ * platform/graphics/blackberry/PlatformSupport.h: Removed.
+
+2013-03-15 Alberto Garcia <agarcia@igalia.com>
+
+ [BlackBerry] FontPlatformData: remove TextOrientation parameter
+ https://bugs.webkit.org/show_bug.cgi?id=112135
+
+ Reviewed by Rob Buis.
+
+ I forgot to remove the #include "TextOrientation.h" line as
+ well. This file no longer exists.
+
+ * platform/graphics/blackberry/FontCustomPlatformData.h:
+
+2013-03-15 Sankeerth V S <sankeerth.vs@samsung.com>
+
+ DataGrid should reveal and select next/previous DataGridNode upon deletion of selected node
+ https://bugs.webkit.org/show_bug.cgi?id=112404
+
+ Reviewed by Vsevolod Vlasov.
+
+ No new tests as this is a UI related change.
+
+ While deleting the entries of the data grid by clicking on 'Delete'
+ status bar button, deletion of selected node should trigger selection of
+ next possible (backward/forward) DataGridNode.
+
+ * inspector/front-end/DOMStorageItemsView.js:
+ (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
+ * inspector/front-end/DataGrid.js:
+ (WebInspector.DataGrid.prototype._keyDown):
+ (WebInspector.DataGrid.prototype.changeNodeAfterDeletion):
+
+2013-03-15 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Draw timeline grid over flame chart items.
+ https://bugs.webkit.org/show_bug.cgi?id=112439
+
+ Reviewed by Pavel Feldman.
+
+ I've used WebInspector.TimelineGrid
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.Calculator):
+ (WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
+ (WebInspector.FlameChart.Calculator.prototype.computePosition):
+ (WebInspector.FlameChart.Calculator.prototype.formatTime):
+ (WebInspector.FlameChart.Calculator.prototype.maximumBoundary):
+ (WebInspector.FlameChart.Calculator.prototype.minimumBoundary):
+ (WebInspector.FlameChart.Calculator.prototype.boundarySpan):
+ (WebInspector.FlameChart.prototype.update):
+
+2013-03-15 Marja Hölttä <marja@chromium.org>
+
+ [V8] Add machinery for generating specialized bindings for the main world
+ https://bugs.webkit.org/show_bug.cgi?id=111417
+
+ Reviewed by Kentaro Hara.
+
+ The new specialized bindings will be faster, because they don't need to
+ do the "main world, isolated world or a worker" check, but can right
+ away assume that we're in the main world.
+
+ This patch generates main world bindings for getters and setters.
+
+ No new tests (updated existing bindings tests).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateNormalAttrGetterCallback):
+ (GenerateNormalAttrGetter):
+ (GenerateNormalAttrSetterCallback):
+ (GenerateNormalAttrSetter):
+ (GenerateNamedConstructor):
+ (GenerateBatchedAttributeData):
+ (GenerateSingleBatchedAttribute):
+ (GenerateImplementation):
+ (GenerateCallbackImplementation):
+ (GenerateFunctionCallString):
+ (CreateCustomSignature):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::ConfigureV8Float64ArrayTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ (WebCore::V8Float64Array::HasInstance):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetterForMainWorld):
+ (TestActiveDOMObjectV8Internal):
+ (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetterCallbackForMainWorld):
+ (WebCore):
+ (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ (WebCore::V8TestActiveDOMObject::HasInstance):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ (WebCore::V8TestCustomNamedGetter::HasInstance):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::TestEventConstructorV8Internal::attr1AttrGetterForMainWorld):
+ (TestEventConstructorV8Internal):
+ (WebCore::TestEventConstructorV8Internal::attr1AttrGetterCallbackForMainWorld):
+ (WebCore::TestEventConstructorV8Internal::attr2AttrGetterForMainWorld):
+ (WebCore::TestEventConstructorV8Internal::attr2AttrGetterCallbackForMainWorld):
+ (WebCore):
+ (WebCore::ConfigureV8TestEventConstructorTemplate):
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ (WebCore::V8TestEventConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::ConfigureV8TestEventTargetTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ (WebCore::V8TestEventTarget::HasInstance):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::TestExceptionV8Internal::nameAttrGetterForMainWorld):
+ (TestExceptionV8Internal):
+ (WebCore::TestExceptionV8Internal::nameAttrGetterCallbackForMainWorld):
+ (WebCore):
+ (WebCore::ConfigureV8TestExceptionTemplate):
+ (WebCore::V8TestException::GetTemplate):
+ (WebCore::V8TestException::HasInstance):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetterForMainWorld):
+ (TestInterfaceV8Internal):
+ (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetterForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetterForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetterForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetterForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetterCallbackForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterForMainWorld):
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterCallbackForMainWorld):
+ (WebCore):
+ (WebCore::ConfigureV8TestInterfaceTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ (WebCore::V8TestInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ (WebCore::V8TestMediaQueryListListener::HasInstance):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
+ (WebCore::ConfigureV8TestNamedConstructorTemplate):
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ (WebCore::V8TestNamedConstructor::HasInstance):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::ConfigureV8TestNodeTemplate):
+ (WebCore::V8TestNode::GetTemplate):
+ (WebCore::V8TestNode::HasInstance):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetterForMainWorld):
+ (TestObjV8Internal):
+ (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::staticStringAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::staticStringAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::staticStringAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::staticStringAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::enumAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::enumAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::enumAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::enumAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::shortAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::shortAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::shortAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::shortAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::longAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::longAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::longAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::longAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::longLongAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::longLongAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::longLongAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::longLongAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::testObjAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::testObjAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::testObjAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::testObjAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::createAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::createAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::createAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::createAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetter):
+ (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::customAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::customAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr1AttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr1AttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr1AttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr1AttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr2AttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr2AttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr2AttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr2AttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr3AttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr3AttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr3AttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::conditionalAttr3AttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::cachedAttribute1AttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::cachedAttribute1AttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::cachedAttribute2AttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::cachedAttribute2AttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::anyAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::anyAttributeAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::anyAttributeAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::anyAttributeAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::floatArrayAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::floatArrayAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::floatArrayAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::floatArrayAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::doubleArrayAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::doubleArrayAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::doubleArrayAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::doubleArrayAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::mutablePointAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::mutablePointAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::mutablePointAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::mutablePointAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::immutablePointAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::immutablePointAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::immutablePointAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::immutablePointAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::strawberryAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::strawberryAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::strawberryAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::strawberryAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::strictFloatAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::strictFloatAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::strictFloatAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::strictFloatAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::descriptionAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::descriptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::idAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::idAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::idAttrSetterForMainWorld):
+ (WebCore::TestObjV8Internal::idAttrSetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::hashAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::hashAttrGetterCallbackForMainWorld):
+ (WebCore::TestObjV8Internal::replaceableAttributeAttrGetterForMainWorld):
+ (WebCore::TestObjV8Internal::replaceableAttributeAttrGetterCallbackForMainWorld):
+ (WebCore):
+ (WebCore::ConfigureV8TestObjTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ (WebCore::V8TestObj::HasInstance):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
+ (WebCore::V8TestOverloadedConstructors::GetTemplate):
+ (WebCore::V8TestOverloadedConstructors::HasInstance):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetterForMainWorld):
+ (TestSerializedScriptValueInterfaceV8Internal):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetterCallbackForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterCallbackForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetterForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetterCallbackForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetterForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetterCallbackForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterCallbackForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetterForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetterCallbackForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetterForMainWorld):
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetterCallbackForMainWorld):
+ (WebCore):
+ (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/scripts/test/V8/V8TestTypedefs.cpp:
+ (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetterForMainWorld):
+ (TestTypedefsV8Internal):
+ (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrGetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrGetterCallbackForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterForMainWorld):
+ (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterCallbackForMainWorld):
+ (WebCore):
+ (WebCore::ConfigureV8TestTypedefsTemplate):
+ (WebCore::V8TestTypedefs::GetTemplate):
+ (WebCore::V8TestTypedefs::HasInstance):
+ * bindings/scripts/test/V8/V8TestTypedefs.h:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ (WebCore::toV8FastForMainWorld):
+ * bindings/v8/DOMDataStore.h:
+ (WebCore::DOMDataStore::getWrapperForMainWorld):
+ (DOMDataStore):
+ * bindings/v8/V8DOMConfiguration.cpp:
+ (WebCore::V8DOMConfiguration::addToTemplate):
+ (WebCore):
+ * bindings/v8/V8DOMConfiguration.h:
+ (V8DOMConfiguration):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8EventTargetCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::toV8ForMainWorld):
+ (WebCore):
+
+2013-03-15 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. xOffset calculates incorrectly when chart width less that canvas.width.
+ https://bugs.webkit.org/show_bug.cgi?id=112423
+
+ Reviewed by Yury Semikhatsky.
+
+ I extracted xOffset assigment procedure into a separate function.
+
+ Drive by fix: size and posion of anchor element was adjusted.
+ Drive by fix: we will not paint item if it is not visible.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.prototype._maxXOffset):
+ (WebInspector.FlameChart.prototype._setXOffset):
+ (WebInspector.FlameChart.prototype._canvasDragging):
+ (WebInspector.FlameChart.prototype._onMouseMove):
+ (WebInspector.FlameChart.prototype._adjustXOffset):
+ (WebInspector.FlameChart.prototype._adjustXScale):
+ (WebInspector.FlameChart.prototype.draw):
+
+2013-03-15 Noam Rosenthal <noam@webkit.org>
+
+ [Texmap] Change brightness filter to match new spec
+ https://bugs.webkit.org/show_bug.cgi?id=112422
+
+ New filters spec specifies an intercept of 0 instead of 1.
+ This is already done for the software version in http://trac.webkit.org/changeset/139770.
+ This patch adjusts the value for the accelerated version.
+
+ Reviewed by Allan Sandfeld Jensen.
+
+ Filter tests are currently disabled on Qt/GTK/EFL, but they would need to be rebaselined once enabled.
+
+ * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
+
+2013-03-15 Jaehun Lim <ljaehun.lim@samsung.com>
+
+ Call release() when a RefPtr is returned.
+ https://bugs.webkit.org/show_bug.cgi?id=112420
+
+ Reviewed by Eric Seidel.
+
+ release() should be called on a RefPtr to convert it to a PassRefPtr.
+
+ No new tests needed, no behavior changes.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseImageResolution):
+ (WebCore::CSSParser::parseImageSet):
+
+2013-03-15 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] InitiatorComparator is not reflexive/antisymmetric.
+ https://bugs.webkit.org/show_bug.cgi?id=112341
+
+ Reviewed by Vsevolod Vlasov.
+
+ When both objects do not have initiator: f(a, b) = f(b, a) = -1
+ Furthermore: redirected responses are mixed with "other".
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
+ Remember "displayed" initiator type.
+ (WebInspector.NetworkDataGridNode.InitiatorComparator):
+ Recall "diaplayed" initiator type for more precise comparison.
+
+2013-03-15 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: show image decode performed off main thread on timeline
+ https://bugs.webkit.org/show_bug.cgi?id=111159
+
+ Reviewed by Pavel Feldman.
+
+ - add handling of Decode Image event to TimelineTraceEventProcessorr;
+ - only log platform events for the main thread;
+ - extract constants for trace events produced by platform instrumentation.
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (TimelineRecordType):
+ * inspector/InspectorTimelineAgent.h:
+ (TimelineRecordType):
+ * inspector/TimelineTraceEventProcessor.cpp:
+ (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
+ (WebCore::TimelineTraceEventProcessor::onImageDecodeBegin):
+ (WebCore):
+ (WebCore::TimelineTraceEventProcessor::onImageDecodeEnd):
+ * inspector/TimelineTraceEventProcessor.h:
+ (TimelineTraceEventProcessor):
+ * platform/PlatformInstrumentation.cpp:
+ (WebCore):
+ * platform/PlatformInstrumentation.h:
+ (PlatformInstrumentation):
+ (WebCore):
+ (WebCore::PlatformInstrumentation::willDecodeImage):
+ (WebCore::PlatformInstrumentation::didDecodeImage):
+ (WebCore::PlatformInstrumentation::willResizeImage):
+ (WebCore::PlatformInstrumentation::didResizeImage):
+
+2013-03-15 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. When user zooms the chart, the point under cursor has to be the zooming center.
+ https://bugs.webkit.org/show_bug.cgi?id=112417
+
+ Reviewed by Yury Semikhatsky.
+
+ It converts the cursor position into time,
+ changes the scale factor and calculates the new offset for the canvas.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart.prototype._adjustXScale):
+ (WebInspector.FlameChart.prototype._onMouseWheel):
+
+2013-03-13 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] Sort columns context menu items alphabetically.
+ https://bugs.webkit.org/show_bug.cgi?id=112321
+
+ Reviewed by Pavel Feldman.
+
+ Problem: columns are presented in "natural" order,
+ so it is hard to find specific item.
+
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkLogView.prototype._getConfigurableColumnIDs):
+ Generate list of column IDs sorted alphabetically.
+ (WebInspector.NetworkLogView.prototype._contextMenu):
+ Use alphabetically sorted list of column IDs.
+
+2013-03-15 Takashi Sakamoto <tasak@google.com>
+
+ Crash at RenderStyle::inheritFrom reported by fuzzer
+ https://bugs.webkit.org/show_bug.cgi?id=112322
+
+ Reviewed by Hajime Morrita.
+
+ pseudoStyleForElement should check whether a parent style of a given
+ element is available or not. If a given element's parent is
+ an insertion point whose reset-style-inheritance is true, the parent
+ style is not available. Need to use defaultStyleForElement.
+
+ Test: fast/dom/shadow/insertion-point-resetStyleInheritance-with-pseudo-element-crash.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::styleForElement):
+ Removed cloneForParent. Instead, made m_state own parentStyle, i.e.
+ changed m_parentStyle in class State from RenderStyle* to
+ RefPtr<RenderStyle>.
+ (WebCore::StyleResolver::pseudoStyleForElement):
+ If an actual parent style of a given element is not available, use
+ defaultStyleForElement. This is the same logic as styleForElement.
+ * css/StyleResolver.h:
+ (WebCore::StyleResolver::State::setParentStyle):
+ Modified the parameter to use PassRefPtr<RenderStyle>.
+ (WebCore::StyleResolver::State::parentStyle):
+ (State):
+
+2013-03-15 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSS Regions] Selecting text inside an empty region causes selection outside the region area
+ https://bugs.webkit.org/show_bug.cgi?id=107752
+
+ Reviewed by David Hyatt.
+
+ When performing hit testing inside a flow thread, we need to make sure that
+ we actually hit some node from the flow thread content and not the flow thread
+ itself (which would set the hit test result node to the document node, allowing
+ wrong selection of content outside the empty region).
+
+ Test: fast/regions/selecting-text-in-empty-region.html
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
+
+2013-03-15 Luiz Agostini <luiz.agostini@nokia.com>
+
+ [Texmap] layerRect should be used instead of contents rect for scrollable layer hit tests.
+ https://bugs.webkit.org/show_bug.cgi?id=112413
+
+ Reviewed by Noam Rosenthal.
+
+ Using layerRect() instead of m_state.contentsRect for scrollable layer hit test.
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::scrollableLayerHitTestCondition):
+
+2013-03-14 Dominic Cooney <dominicc@chromium.org>
+
+ Redundant if statement in RenderTextControlSingleLine::layout should be removed
+ https://bugs.webkit.org/show_bug.cgi?id=112406
+
+ Reviewed by Andreas Kling.
+
+ Covered by existing tests added in r145239.
+
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::layout):
+
+2013-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r145864.
+ http://trac.webkit.org/changeset/145864
+ https://bugs.webkit.org/show_bug.cgi?id=112408
+
+ should fix XMLDocumentParser instead of CSSDefaultStyleSheet
+ (Requested by tasak on #webkit).
+
+ * css/CSSDefaultStyleSheets.cpp:
+ (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
+
+2013-03-14 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [DataGrid] Specify columns with array of descriptors.
+ https://bugs.webkit.org/show_bug.cgi?id=112338
+
+ Reviewed by Pavel Feldman.
+
+ Currently columns are specified by Object that maps
+ column identifiers to column descriptors. Iteration order over
+ Object keys is not guaranteed.
+
+ Array should be used to specify column order.
+
+ * inspector/front-end/DataGrid.js: Change consrtructor parameter type.
+ * inspector/front-end/ApplicationCacheItemsView.js: Adopt changes.
+ * inspector/front-end/CPUProfileView.js: Ditto.
+ * inspector/front-end/CSSSelectorProfileView.js: Ditto.
+ * inspector/front-end/CanvasProfileView.js: Ditto.
+ * inspector/front-end/CookieItemsView.js: Ditto.
+ * inspector/front-end/CookiesTable.js: Ditto.
+ * inspector/front-end/DOMStorageItemsView.js: Ditto.
+ * inspector/front-end/DirectoryContentView.js: Ditto.
+ * inspector/front-end/HeapSnapshot.js: Ditto.
+ * inspector/front-end/HeapSnapshotDataGrids.js: Ditto.
+ * inspector/front-end/IndexedDBViews.js: Ditto.
+ * inspector/front-end/NativeMemorySnapshotView.js: Ditto.
+ * inspector/front-end/NetworkPanel.js: Ditto.
+ * inspector/front-end/ResourceWebSocketFrameView.js: Ditto.
+
+2013-03-14 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Flame Chart. Support scrolling by dragging.
+ https://bugs.webkit.org/show_bug.cgi?id=112346
+
+ Reviewed by Yury Semikhatsky.
+
+ Drag hander was added. It seems that simple repaint works well.
+ When the user starts dragging we hide the popover, change offset
+ and do update for the new canvas image.
+ Drive by change: Due to new way of scrolling the canvas I changed
+ the behaiviour of the wheel events. Now wheel scrolls if Shift key pressed
+ and zooms if not.
+
+ * inspector/front-end/FlameChart.js:
+ (WebInspector.FlameChart):
+ (WebInspector.FlameChart.prototype._startCanvasDragging):
+ (WebInspector.FlameChart.prototype._canvasDragging):
+ (WebInspector.FlameChart.prototype._endCanvasDragging):
+ (WebInspector.FlameChart.prototype._onMouseWheel):
+
+2013-03-14 Hayato Ito <hayato@chromium.org>
+
+ [Shadow Dom]: Non Bubbling events in ShadowDOM dispatch in an incorrect order
+ https://bugs.webkit.org/show_bug.cgi?id=112214
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix the order of event dispatching for Shadow DOM.
+
+ So far, an event whose event phase should be set to AT_TARGET,
+ e.g. event at shadow hosts, is dispatched in bubbling phase in the
+ whole event path. This patch fixed the order of event dispatching
+ so that an event whose event phase must be set to AT_TARGET phase
+ is dispatched in capturing phase rather than bubbling phase.
+
+ The spec is here:
+ https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#event-dispatch
+
+ 5.5 Event Dispatch says:
+
+ - When capturing, which entails processing step 3 of the event
+ dispatch algorithm, the Event eventPhase attribute must return
+ AT_TARGET if the relative target is same as the node on which
+ event listeners are invoked
+ - When bubbling, which entails
+ processing step 6 of the event dispatch algorithm, the event
+ listeners must not be invoked on a node if it is the same as its
+ relative target
+
+ No new tests. Update existing layout tests.
+
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventDispatcher::dispatchEventAtCapturing):
+ (WebCore::EventDispatcher::dispatchEventAtBubbling):
+
+2013-03-14 Shezan Baig <sbaig1@bloomberg.net>
+
+ Backspace/delete at start of table cell shouldn't step out of cell
+ https://bugs.webkit.org/show_bug.cgi?id=35372
+
+ Reviewed by Ryosuke Niwa.
+
+ Make Delete and ForwardDelete commands be no-ops if we are at the first
+ position or last position of a table cell respectively.
+
+ Tests: editing/deleting/backspace-at-table-cell-beginning.html
+ editing/deleting/forward-delete-at-table-cell-ending.html
+
+ * editing/TypingCommand.cpp:
+ (WebCore::TypingCommand::deleteKeyPressed):
+ (WebCore::TypingCommand::forwardDeleteKeyPressed):
+
+2013-03-14 Xidorn Quan <quanxunzhen@gmail.com>
+
+ Clickable area is incorrect for elements with border-radius
+ https://bugs.webkit.org/show_bug.cgi?id=95373
+
+ Reviewed by Simon Fraser.
+
+ As RenderBlock doesn't see rounded rect which comes from border-radius
+ in nodeAtPoint, the rounded corner seems to have an 'invisible' square
+ box which catches hits. So we added check on whether hitTestPoint also
+ intersects the rounded rect when hasBorderRadius is set.
+
+ This patch is based on Takashi Sakamoto's work in
+ https://bugs.webkit.org/show_bug.cgi?id=95373
+
+ Test: fast/borders/border-radius-position.html
+
+ * platform/graphics/FloatQuad.cpp:
+ (WebCore):
+ (WebCore::lineIntersectsCircle):
+ (WebCore::FloatQuad::intersectsCircle):
+ (WebCore::FloatQuad::intersectsEllipse):
+ * platform/graphics/FloatQuad.h:
+ (FloatQuad):
+ * platform/graphics/RoundedRect.cpp:
+ (WebCore::RoundedRect::intersectsQuad):
+ (WebCore):
+ * platform/graphics/RoundedRect.h:
+ (RoundedRect):
+ * rendering/HitTestLocation.cpp:
+ (WebCore::HitTestLocation::intersects):
+ (WebCore):
+ * rendering/HitTestLocation.h:
+ (HitTestLocation):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::nodeAtPoint):
+
+2013-03-14 Chris Fleizach <cfleizach@apple.com>
+
+ AX: Crash when removing aria-menu item from DOM
+ https://bugs.webkit.org/show_bug.cgi?id=112396
+
+ Reviewed by Tim Horton.
+
+ Prevent nil access to items in the ARIA menu flow when deleting
+ objects from the DOM.
+
+ Test: accessibility/menu-item-crash.html
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::siblingWithAriaRole):
+ (WebCore::AccessibilityNodeObject::menuButtonForMenu):
+
+2013-03-14 Hayato Ito <hayato@chromium.org>
+
+ [Shadow]: left side of ::-webkit-distributed selector not working as expected
+ https://bugs.webkit.org/show_bug.cgi?id=110825
+
+ Reviewed by Dimitri Glazkov.
+
+ Make functional pseudo distributed elements work even when a left side element has specifiers.
+
+ Test: fast/dom/shadow/distributed-pseudo-element-specifiers-in-left-side.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded):
+ Make it call rewriteSpecifiersForShadowDistributed() if required.
+
+ (WebCore::CSSParser::rewriteSpecifiersWithElementName):
+ Updated so that it can generate a correct chain of
+ CSSParserSelectors even when '::distributed()' is used with an
+ element, which might be empty, with specifiers.
+
+ e.g. When parsing a selector of 'content.content-class::-webkit-distributed(div)', the following happens:
+
+ 1. rewriteSpecifiersWithElementName(...) is called with:
+
+ elementName is: "content"
+ specifiers is: [.content-class] -> [::-webkit-distributed]
+
+ 2. Looking for a distributed pseudo element in the specifiers and
+ found it at the end of tagHistory chain of the specifiers.
+
+ 3. The result of calling specifiers->prependTagSelector(tag) is:
+
+ specifiers is: [content] -> [.content-class] -> [::-webkit-distributed]
+
+ 4. rewriteSpecifiersForShadowDistributed() is called with:
+
+ specifiers is: [content] -> [.content-class] -> [::-webkit-distributed]
+ distributedPseudoElementSelector is: [::-webkit-distributed]
+
+ 5. An argumentSelector of the distributedPseudoElementSelector is:
+
+ argumentSelector is: [div]
+
+ 6. Remove the distributed pseudo element selector from the specifiers.
+
+ specifiers is: [content] -> [.content-class]
+
+ Note that one pseudo-element may appear per complex selector
+ and the pseudo-element may appear only if the subject of the
+ selector is the last compound selector in the selector.
+
+ 7. Append specifiers to the end of the argument selector with a relation of ShadowDistributed:
+
+ argumentSelector is: [div] -(ShadowDistributed)-> [content] -> [.content-class]
+
+ 8. Returns the argument selector as a return value.
+
+ (WebCore::CSSParser::rewriteSpecifiersForShadowDistributed): As explained.
+ * css/CSSParserValues.cpp:
+ (WebCore):
+ (WebCore::CSSParserSelector::findDistributedPseudoElementSelector):
+ * css/CSSParserValues.h:
+ (CSSParserSelector):
+ (WebCore::CSSParserSelector::clearTagHistory):
+
+2013-03-14 Takashi Sakamoto <tasak@google.com>
+
+ Crash at CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement reported by fuzzer
+ https://bugs.webkit.org/show_bug.cgi?id=112328
+
+ Reviewed by Dimitri Glazkov.
+
+ ensureDefaultStyleSheets should check whether page() is null or not.
+
+ Test: fast/css/ensure-default-style-sheets-crash.xhtml
+
+ * css/CSSDefaultStyleSheets.cpp:
+ (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
+
2013-03-14 Brandon Jones <bajones@google.com>
Check to ensure MultisampleRenderbuffer creation succeeds
« no previous file with comments | « no previous file | Source/WebCore/platform/ScrollView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698