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

Unified Diff: Source/WebCore/ChangeLog

Side-by-side diff isn't available for this file because of its large size.
Issue 11862015: Merge 139356 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 years, 11 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/page/Settings.in » ('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 139470)
+++ Source/WebCore/ChangeLog (working copy)
@@ -1,3 +1,9953 @@
+2013-01-10 John Mellor <johnme@chromium.org>
+
+ Fix scale of screen.width, window.outerWidth and @media device-width when page scale not applied in compositor.
+ https://bugs.webkit.org/show_bug.cgi?id=106460
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ screen.width, window.outerWidth and @media device-width should be in
+ density independent (UI) pixels, not physical screen pixels.
+
+ This already works on most ports (including iOS). However Chrome for
+ Android currently internally sizes its windows in physical screen pixels
+ instead of density independent pixels, and this leaks through in the
+ sizes provided to WebCore.
+
+ This patch scales these sizes appropriately before they reach JavaScript,
+ on platforms where the applyPageScaleFactorInCompositor setting is false
+ (i.e. just Chrome for Android). Once Chrome for Android switches over to
+ the same coordinate space, the applyPageScaleFactorInCompositor setting
+ will be removed, along with any code (such as this) that depends on it.
+
+ The effect of this patch on Chrome for Android when viewing a page with
+ a width=device-width viewport on a Galaxy Nexus (720x1280 @ dPR 2) is:
+ @media device-width changes from 720 to 360
+ screen.width changes from 720 to 360
+ screen.availWidth changes from 720 to 360
+ window.outerWidth changes from 720 to 360
+ window.innerWidth remains 360 (at overview zoom)
+ @media width remains 360
+ document.documentElement.clientWidth remains 360
+ document.documentElement.offsetWidth remains 360
+ document.documentElement.scrollWidth remains 360
+ document.body.clientWidth remains 360
+ document.body.offsetWidth remains 360
+ document.body.scrollWidth remains 360
+ And similarly for heights (though they are slightly less than 640, since
+ toolbars etc. get subtracted from the available height).
+
+ No new tests, as applyDeviceScaleFactorInCompositor appears to always be
+ true in DumpRenderTree, so this situation cannot occur there.
+
+ * page/Settings.in:
+ Added applyDeviceScaleFactorInCompositor setting, which allows
+ detecting whether we need to normalize the scale.
+ * platform/chromium/PlatformScreenChromium.cpp:
+ (WebCore::toUserSpace):
+ Static function for normalizing screen rect scale.
+ (WebCore::screenRect):
+ Uses toUserSpace.
+ (WebCore::screenAvailableRect):
+ Uses toUserSpace.
+ * rendering/TextAutosizer.cpp:
+ (WebCore::TextAutosizer::processSubtree):
+ Use applyDeviceScaleFactorInCompositor instead of
+ applyPageScaleFactorInCompositor, to scale the window rect correctly
+ on platforms other than Chrome for Android.
+
+2013-01-10 Florin Malita <fmalita@chromium.org>
+
+ Rename GraphicsContext::addRoundedRectClip
+ https://bugs.webkit.org/show_bug.cgi?id=106581
+
+ Reviewed by Simon Fraser.
+
+ This patch renames GraphicsContext::addRoundedRectClip to clipRoundedRect for consistency
+ with the other GC clipping methods.
+
+ No new tests: no functional changes.
+
+ * WebCore.order:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::clipRoundedRect):
+ * platform/graphics/GraphicsContext.h:
+ (GraphicsContext):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::clipRoundedRect):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBoxDecorations):
+ (WebCore::RenderBox::pushContentsClip):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::clipRoundedInnerRect):
+ (WebCore::RenderBoxModelObject::paintBorder):
+ (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::clipToRect):
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore):
+ (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
+ * rendering/RenderThemeMacShared.mm:
+ (WebCore::RenderThemeMacShared::paintMenuListButtonGradients):
+ (WebCore::RenderThemeMacShared::paintSliderTrack):
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
+ (WebCore::RenderThemeSafari::paintSliderTrack):
+ * rendering/RenderThemeWinCE.cpp:
+ (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
+
+2013-01-10 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Adding the new id attribute to MediaStream and MediaStreamTrack
+ https://bugs.webkit.org/show_bug.cgi?id=106564
+
+ Reviewed by Adam Barth.
+
+ Specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
+ MediaStream looses its label attribute and instead gets an id attribute.
+ MediaStreamTrack gets an id attribute.
+
+ Not testable yet, will add tests in a followup patch.
+
+ * Modules/mediastream/MediaStream.h:
+ (WebCore::MediaStream::label):
+ (MediaStream):
+ (WebCore::MediaStream::id):
+ * Modules/mediastream/MediaStream.idl:
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::id):
+ (WebCore):
+ * Modules/mediastream/MediaStreamTrack.h:
+ * Modules/mediastream/MediaStreamTrack.idl:
+ * platform/chromium/support/WebMediaStreamComponent.cpp:
+ (WebKit::WebMediaStreamComponent::initialize):
+ (WebKit):
+ (WebKit::WebMediaStreamComponent::isEnabled):
+ (WebKit::WebMediaStreamComponent::id):
+ (WebKit::WebMediaStreamComponent::source):
+ * platform/chromium/support/WebMediaStreamDescriptor.cpp:
+ (WebKit::WebMediaStreamDescriptor::label):
+ (WebKit):
+ (WebKit::WebMediaStreamDescriptor::id):
+ * platform/mediastream/MediaStreamComponent.h:
+ (WebCore::MediaStreamComponent::id):
+ (WebCore::MediaStreamComponent::MediaStreamComponent):
+ (MediaStreamComponent):
+ * platform/mediastream/MediaStreamDescriptor.h:
+ (WebCore::MediaStreamDescriptor::create):
+ (WebCore::MediaStreamDescriptor::id):
+ (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
+ (MediaStreamDescriptor):
+
+2013-01-10 Ojan Vafai <ojan@chromium.org>
+
+ Flexboxes incorrectly add the scrollbar width to the intrinsic width of fixed-width items
+ https://bugs.webkit.org/show_bug.cgi?id=106591
+
+ Reviewed by Levi Weintraub.
+
+ The scrollbar width should only be added if the width of the flex item
+ is not fixed.
+
+ Test: fast/css/fixed-width-intrinsic-width-excludes-scrollbars.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computePreferredLogicalWidths):
+ Use shared helper method. This also happens to fix the vertical
+ writing-mode case.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::instrinsicScrollbarLogicalWidth):
+ (WebCore):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ Add a method for determining the scrollbar's contribution to the boxes
+ intrinsic width.
+
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
+ Use shared code for determining the scrollbar width and only add the
+ width when computing the intrinsic widths.
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::computePreferredLogicalWidths):\
+ Just adding a FIXME to account for scrollbar width.
+
+2013-01-10 Nate Chapin <japhet@chromium.org>
+
+ Replace unnecessary null-checks with an assert in MainResourceLoader::continueAfterNavigationPolicy.
+ https://bugs.webkit.org/show_bug.cgi?id=106476
+
+ Reviewed by Alexey Proskuryakov.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::continueAfterNavigationPolicy): Null-checks for resourceLoader were
+ added in an abundance of caution in r139150. Given that we know the load hasn't been cancelled,
+ resourceLoader can only be null if continueAfterNavigationPolicy() has already been called
+ before when m_substituteData is valid. continueAfterNavigationPolicy() is only called for redirects,
+ and SubstituteData doesn't support redirects, so it is correct to assert that resourceLoader is non-null.
+
+2013-01-10 Levi Weintraub <leviw@chromium.org>
+
+ ScrollingCoordinator touch event hit rects aren't converted to proper coordinates when in nested views
+ https://bugs.webkit.org/show_bug.cgi?id=106383
+
+ Reviewed by James Robinson.
+
+ ScrollingCoordinator uses clippedOverflowRectForRepaint(0) to generate the bounds for a renderer's hit
+ testing rect. The rect this returns is in the coordinates of its document. This change converts the
+ rect to the outermost view's coordinate system using convertToContainingView.
+
+ Tests: platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::accumulateRendererTouchEventTargetRects):
+
+2013-01-10 Levi Weintraub <leviw@chromium.org>
+
+ Regression(r137939): Heap-use-after-free in WebCore::accumulateDocumentEventTargetRects
+ https://bugs.webkit.org/show_bug.cgi?id=106454
+
+ Reviewed by James Robinson.
+
+ Correctly removing child Documents from their parent's tracked touch handler maps when detaching and
+ when their last touch event handler is removed.
+
+ Test: fast/events/touch/nested-document-with-touch-handler-detached-crash.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::detach):
+ (WebCore::Document::didRemoveEventTargetNode):
+
+2013-01-10 Nate Chapin <japhet@chromium.org>
+
+ REGRESSION(r138222): WebDocumentLoaderMac-related leaks seen on Leaks bot
+ https://bugs.webkit.org/show_bug.cgi?id=106137
+
+ Reviewed by Brady Eidson.
+
+ Tested manually by comparing before and after leaks output for WK1-mac.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::receivedError): Call dispatchDidFailLoading() if
+ a SubstituteData load fails or is cancelled. Without this call, load counts
+ are not balanced on WebDocumentLoaderMac and it is retained forever.
+ (WebCore::MainResourceLoader::didFinishLoading):
+
+2013-01-10 Robert Kroeger <rjkroege@chromium.org>
+
+ Manually revert http://trac.webkit.org/changeset/136012
+ https://bugs.webkit.org/show_bug.cgi?id=106580
+
+ Reviewed by Dimitri Glazkov.
+
+ 136012 broke touch-scrolling of an overflow div in an iframe. Revert manually
+ to work around conflicts.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleWheelEvent):
+
+2013-01-10 Robert Hogan <robert@webkit.org>
+
+ REGRESSION(r136967): margin-top + overflow:hidden causes incorrect layout for internal floated elements
+ https://bugs.webkit.org/show_bug.cgi?id=106374
+
+ Reviewed by David Hyatt.
+
+ r136397 treated any self-collapsing block that had a clearance delta as though it was clearing a float, but
+ blocks that avoid floats can get a clearance delta too. So just ensure there is clearance on the block when deciding
+ whether we need to add the margin back in before placing the float.
+
+ Test: fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-and-float-child.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
+
+2013-01-10 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Color picker in Styles pane shows wrong initial color
+ https://bugs.webkit.org/show_bug.cgi?id=106567
+
+ Reviewed by Pavel Feldman.
+
+ The RGB's G value for "crimson" was wrong.
+
+ * inspector/front-end/Color.js:
+
+2013-01-10 Tony Chang <tony@chromium.org>
+
+ Speed up supplemental dependency computation
+ https://bugs.webkit.org/show_bug.cgi?id=106503
+
+ Reviewed by Adam Barth.
+
+ On my machine, generating supplemental IDL dependencies was taking about 18s
+ because it has to run the C preprocessor on each IDL file. Avoid this by using
+ a regular expression to find the Supplemental= value in each IDL file rather than
+ doing a full parse. Now generating supplemental IDL dependencies is less than a
+ second.
+
+ preprocess-idls.pl used to also check IDL attributes against IDLAttributes.txt.
+ Move this code to run in generate-bindings.pl. This change revealed that
+ TestRunner.idl uses PassContext so add that to IDLAttributes.txt.
+
+ No new tests, this is a build refactor. EWS bots should be green.
+
+ * DerivedSources.make: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
+ * DerivedSources.pri: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
+ * GNUmakefile.am: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
+ * UseJSC.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
+ * UseV8.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
+ * WebCore.gyp/WebCore.gyp: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
+ * bindings/scripts/IDLAttributes.txt: Add PassContext needed by TestRunner.idl.
+ * bindings/scripts/generate-bindings.pl:
+ (loadIDLAttributes): Moved from preprocess-idls.pl.
+ (checkIDLAttributes): Moved from preprocess-idls.pl.
+ (checkIfIDLAttributesExists): Moved from preprocess-idls.pl.
+ * bindings/scripts/preprocess-idls.pl:
+ (getSupplementalFromIDLFile): Helper method to get Supplemental=* quickly.
+
+2013-01-10 Max Vujovic <mvujovic@adobe.com>
+
+ [CSS Filters] RenderLayerCompositor::addToOverlapMap should take into account the filters outsets (ie. blur and drop-shadow)
+ https://bugs.webkit.org/show_bug.cgi?id=94022
+
+ Reviewed by Simon Fraser.
+
+ When a layer has a filter that moves pixels, we need to add its entire bounds, including its
+ outsets and children, to the overlap map. The filter can move the children's pixels
+ anywhere in the layer, so we can't rely on the children's bounds.
+
+ Eventually, we should avoid adding children to the overlap map if the parent's bounds used
+ for overlap testing already include the children. I've added a FIXME for this optimization.
+
+ Tests: compositing/filters/sw-layer-overlaps-hw-shadow.html
+ compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html
+ compositing/filters/sw-shadow-overlaps-hw-layer.html
+ compositing/filters/sw-shadow-overlaps-hw-shadow.html
+
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::overlapBounds):
+ If necessary, return the calculated layer bounds, including the children. Otherwise,
+ return the localBoundingBox.
+ (RenderLayer):
+ (WebCore::RenderLayer::overlapBoundsIncludeChildren):
+ If the layer has a filter that moves pixels, return true.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::addToOverlapMap):
+ Add the overlapBounds instead of the localBoundingBox to the overlap map.
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+ Use the overlapBounds instead of the localBoundingBox for overlap testing.
+
+2013-01-09 Ojan Vafai <ojan@chromium.org>
+
+ intrinsic min-widths don't override width for file upload controls
+ https://bugs.webkit.org/show_bug.cgi?id=106517
+
+ Reviewed by Tony Chang.
+
+ Separate out computing intrinsic width from perferred width so that
+ we can use the intrinsic width correctly when applying min-width/max-width.
+ The preferred width is the width used in its container's computation
+ of its intrinsic width.
+
+ This is the first in a series of patches making this work across
+ the render tree.
+
+ Test: fast/forms/file/intrinsic-min-width-overrides-width.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::minIntrinsicLogicalWidth):
+ (WebCore):
+ (WebCore::RenderBox::maxIntrinsicLogicalWidth):
+ (WebCore::RenderBox::computeIntrinsicLogicalWidths):
+ (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
+ (WebCore):
+ (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
+ * rendering/RenderFileUploadControl.h:
+ (RenderFileUploadControl):
+
+2013-01-10 Victor Carbune <victor@rosedu.org>
+
+ media/video-controls-captions.html fails after fixing https://bugs.webkit.org/show_bug.cgi?id=105536
+ https://bugs.webkit.org/show_bug.cgi?id=106230
+
+ Reviewed by Eric Carlson.
+
+ Until Chromium has proper controls for lists of text tracks, the caption button
+ needs to preserve its functionality.
+
+ Updated TestExpectations to reactivate test.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Added explicit call to updateTextTrackDisplay.
+ This enables hiding the tracks immediately.
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Added extra check before rendering
+ that captions should actually be displayed.
+
+2013-01-10 Hajime Morrita <morrita@google.com>
+
+ ComposedShadowTreeWalker shouldn't be exposed to non-ShadowDOM classes
+ https://bugs.webkit.org/show_bug.cgi?id=106505
+
+ Reviewed by Dimitri Glazkov.
+
+ This change hides ComposedShadowTreeWalker from non-ShadowDOM classes by
+
+ - introducing thin wrapper functions on NodeRenderingTraversal and relacing
+ CSTW callsites with it,
+ - replacing ComposedShadowTreeWalker usage with AncestorChainWalker if possible and
+ - moving AncestorChainWalker to its own file and including it on files
+ which needs only AncestorChainWalker. This eliminates ComposedShadowTreeWalker.h inclusions.
+
+ No new tests. No behavior change.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/AncestorChainWalker.cpp: Added. Extracted from ComposedShadowTreeWalker.cpp
+ (WebCore):
+ (WebCore::AncestorChainWalker::AncestorChainWalker):
+ (WebCore::AncestorChainWalker::parent):
+ * dom/AncestorChainWalker.h: Added. Extracted from ComposedShadowTreeWalker.h
+ (WebCore):
+ (AncestorChainWalker):
+ (WebCore::AncestorChainWalker::get):
+ (WebCore::AncestorChainWalker::crossingInsertionPoint):
+ * dom/ComposedShadowTreeWalker.cpp:
+ * dom/ComposedShadowTreeWalker.h:
+ * dom/DOMAllInOne.cpp:
+ * dom/ElementShadow.h:
+ (WebCore::shadowOfParent):
+ (WebCore):
+ * dom/EventDispatcher.cpp:
+ * dom/Node.cpp:
+ * dom/NodeRenderingTraversal.cpp:
+ (WebCore::NodeRenderingTraversal::nextInScope):
+ (NodeRenderingTraversal):
+ (WebCore::NodeRenderingTraversal::previousInScope): Added.
+ (WebCore::NodeRenderingTraversal::parentInScope): Added.
+ (WebCore::NodeRenderingTraversal::lastChildInScope): Added.
+ * dom/NodeRenderingTraversal.h:
+ (NodeRenderingTraversal):
+ * dom/TreeScope.cpp:
+ * html/HTMLLIElement.cpp:
+ (WebCore::HTMLLIElement::attach):
+ * page/EventHandler.cpp:
+ * page/FocusController.cpp: Replacing CSTW with NRT
+ (WebCore):
+ (WebCore::FocusNavigationScope::focusNavigationScopeOf):
+ (WebCore::FocusController::findNodeWithExactTabIndex):
+ (WebCore::nextNodeWithGreaterTabIndex):
+ (WebCore::previousNodeWithLowerTabIndex):
+ (WebCore::FocusController::nextFocusableNode):
+ (WebCore::FocusController::previousFocusableNode):
+
+2013-01-10 Zan Dobersek <zandobersek@gmail.com>
+
+ Remove the ENABLE_ANIMATION_API feature define occurences
+ https://bugs.webkit.org/show_bug.cgi?id=106544
+
+ Reviewed by Simon Fraser.
+
+ The Animation API code was removed in r137243. The ENABLE_ANIMATION_API
+ feature define handling still lingers in various build systems and configurations
+ but is of no use, so it should be removed.
+
+ No new tests - no new functionality.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.features.am.in:
+
+2013-01-10 Robert Phillips <robertphillips@chromium.org>
+
+ Serialization of Gradients fails when PlatformContextSkia is not bitmap backed
+ https://bugs.webkit.org/show_bug.cgi?id=106559
+
+ Reviewed by Stephen White.
+
+ This patch switches over from having platform/Skia improperly
+ crack open the device to find the bitmap configuration to just
+ specifying it directly.
+
+ No new tests. This bug is Chromium specific and only occurs in a
+ debugging tool (when serializing to a Skia-specific file format).
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::createCompatibleDevice):
+
+2013-01-10 Alexander Pavlov <apavlov@chromium.org>
+
+ The "outline-offset" property is not found in the computed style property list
+ https://bugs.webkit.org/show_bug.cgi?id=106561
+
+ Reviewed by Alexis Menard.
+
+ Listed CSSPropertyOutlineOffset in the CSSComputedStyleDeclaration's computedProperties[].
+
+ Test: fast/css/getComputedStyle/getComputedStyle-outline-offset.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+
+2013-01-10 David Faure <faure@kde.org>
+
+ PluginPackage::freeLibraryTimerFired asserts if plugin got loaded again meanwhile
+ https://bugs.webkit.org/show_bug.cgi?id=106463
+
+ Reviewed by Simon Hausmann.
+
+ No new tests, this code path will be tested by bug 106140.
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::freeLibraryTimerFired): skip unloading if loaded again meanwhile.
+
+2013-01-10 Alexander Pavlov <apavlov@chromium.org>
+
+ CSSParser does not allow the absence of whitespace between "and" and "expression"
+ https://bugs.webkit.org/show_bug.cgi?id=106458
+
+ Reviewed by Antti Koivisto.
+
+ The issue was that a construct similar to "and(max-width: 480px)" looks like a function call (token type FUNCTION), even though
+ it is actually a MEDIA_AND followed by a parenthesized expression.
+
+ Test: fast/css/media-rule-no-whitespace.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::detectFunctionTypeToken): Return if the detection has been successful.
+ (WebCore::CSSParser::realLex): Test for media query tokens if function type detection has failed.
+ * css/CSSParser.h:
+
+2013-01-10 Alexis Menard <alexis@webkit.org>
+
+ ASSERT_NOT_REACHED in StylePropertySet::fontValue when accessing font style property through JS after setting style font size.
+ https://bugs.webkit.org/show_bug.cgi?id=88866
+
+ Reviewed by Alexander Pavlov.
+
+ StylePropertySet::fontValue always assumed that it was called using
+ style.font after a subsequent call which set the shorthand font. The
+ ASSERT_NOT_REACHED assumed that all longhands of the font shorthand not
+ set by the shorthand itself were set to initial. While it's true when
+ we set the font shorthand (i.e all longhands are set to implicit initial)
+ it is not true when you set the longhands individually. For example setting
+ font-size will not set other font properties to initial. It is the behavior of all
+ other shorthands in WebKit. When reconstructing the shorthand other
+ properties tests whether the value of each longhands is initial or not
+ (if not then we omit the value, as we should always construct the
+ shortest shorthand possible) or if the value is set or not (if set then
+ we include it in the shorthand if not then we omit it). The comment
+ removed was also talking about invalid font property potentially built
+ by fontValue(). So far appendFontLonghandValueIfExplicit will always
+ construct a valid value as it takes care of adding ' ' or '/' when
+ needed, so the return value is parsable and correct.
+
+ Test: fast/css/font-shorthand-from-longhands.html
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
+ (WebCore::StylePropertySet::fontValue):
+ * css/StylePropertySet.h:
+
+2013-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r139306.
+ http://trac.webkit.org/changeset/139306
+ https://bugs.webkit.org/show_bug.cgi?id=106550
+
+ it broke inspector-protocol/nmi-webaudio-leak-test.html
+ (Requested by loislo on #webkit).
+
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::reportMemoryUsage):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::reportMemoryUsage):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::reportMemoryUsage):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::reportMemoryUsage):
+ * css/MediaList.cpp:
+ (WebCore::MediaList::reportMemoryUsage):
+ * css/RuleSet.cpp:
+ (WebCore::RuleData::reportMemoryUsage):
+ (WebCore::RuleSet::reportMemoryUsage):
+ (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
+ (WebCore::StyleResolver::reportMemoryUsage):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::reportMemoryUsage):
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::reportMemoryUsage):
+ * inspector/HeapGraphSerializer.cpp:
+ (WebCore::HeapGraphSerializer::reportMemoryUsage):
+ * inspector/InspectorMemoryAgent.cpp:
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::reportMemoryUsage):
+ * inspector/MemoryInstrumentationImpl.cpp:
+ (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::reportMemoryUsage):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::reportMemoryUsage):
+ * loader/Prerenderer.cpp:
+ (WebCore::Prerenderer::reportMemoryUsage):
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::reportMemoryUsage):
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::reportMemoryUsage):
+ * page/Page.cpp:
+ (WebCore::Page::reportMemoryUsage):
+
+2013-01-10 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 2/N
+ https://bugs.webkit.org/show_bug.cgi?id=106546
+
+ Reviewed by Vsevolod Vlasov.
+
+ Many nontrivial class members were instrumented in reportMemoryUsage methods.
+
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::reportMemoryUsage):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::reportMemoryUsage):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::reportMemoryUsage):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::reportMemoryUsage):
+ * css/MediaList.cpp:
+ (WebCore::MediaList::reportMemoryUsage):
+ * css/RuleSet.cpp:
+ (WebCore::RuleData::reportMemoryUsage):
+ (WebCore::RuleSet::reportMemoryUsage):
+ (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
+ (WebCore::StyleResolver::reportMemoryUsage):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::reportMemoryUsage):
+ * dom/TreeScope.cpp:
+ (WebCore::TreeScope::reportMemoryUsage):
+ * inspector/HeapGraphSerializer.cpp:
+ (WebCore::HeapGraphSerializer::reportMemoryUsage):
+ * inspector/InspectorMemoryAgent.cpp:
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::reportMemoryUsage):
+ * inspector/MemoryInstrumentationImpl.cpp:
+ (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::reportMemoryUsage):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::reportMemoryUsage):
+ * loader/Prerenderer.cpp:
+ (WebCore::Prerenderer::reportMemoryUsage):
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::reportMemoryUsage):
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::reportMemoryUsage):
+ * page/Page.cpp:
+ (WebCore::Page::reportMemoryUsage):
+
+2013-01-10 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Add gstreamer 1.0.5 to jhbuild
+ https://bugs.webkit.org/show_bug.cgi?id=106178
+
+ Reviewed by Laszlo Gombos.
+
+ Remove GSTREAMER_INTERFACES_LIBRARIES from EFL
+ CMake configuration.
+
+ No new tests, no behavior change for layout tests.
+
+ * PlatformEfl.cmake:
+
+2013-01-09 Christophe Dumez <christophe.dumez@intel.com>
+
+ Unreviewed build fix after r139266.
+
+ r139266 broke the debug build of the gstreamer backend due
+ to a missing header include.
+
+ No new tests, no behavior change.
+
+ * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
+
+2013-01-09 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Allow createIndex/createObjectStore to be asynchronous
+ https://bugs.webkit.org/show_bug.cgi?id=106377
+
+ Reviewed by Tony Chang.
+
+ Migrate implementations of createIndex/deleteIndex,
+ createObjectStore/deleteObjectStore over to IDBDatabaseBackendImpl,
+ so that they can be asynchronous in multi-process ports.
+
+ Has the side effect of removing the last consumers of
+ IDBIndexBackendImpl and IDBObjectStoreBackendImpl. The former
+ is removed complete and the latter becomes a temporary namespace
+ pending a further more mechanical code shuffle.
+
+ A key refactoring effect is that the IDBDatabaseBackendImpl
+ now contains the authoritative IDBDatabaseMetadata hierarchy,
+ and updates to it are consolidated in one place rather than
+ scattered across a parallel object tree.
+
+ No new tests as this is just refactoring.
+
+ * Modules/indexeddb/IDBBackingStore.cpp: Simplify objectstore/index loading and propagate errors.
+ (WebCore::IDBBackingStore::getObjectStores):
+ (WebCore::IDBBackingStore::getIndexes):
+ * Modules/indexeddb/IDBBackingStore.h:
+ (IDBBackingStore):
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp: Dependency cleanup.
+ * Modules/indexeddb/IDBCursorBackendImpl.h: Dependency cleanup.
+ (WebCore):
+ * Modules/indexeddb/IDBDatabase.cpp: Frontend IDBObjectStores no longer hold onto backend objects.
+ (WebCore::IDBDatabase::createObjectStore):
+ (WebCore::IDBDatabase::deleteObjectStore):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Add all create/deleteIndex operations from IDBIndexBackendImpl.
+ (WebCore::CreateObjectStoreOperation::create):
+ (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
+ (CreateObjectStoreOperation):
+ (WebCore::DeleteObjectStoreOperation::create):
+ (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
+ (DeleteObjectStoreOperation):
+ (WebCore::CreateObjectStoreAbortOperation::create):
+ (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
+ (CreateObjectStoreAbortOperation):
+ (WebCore::DeleteObjectStoreAbortOperation::create):
+ (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
+ (DeleteObjectStoreAbortOperation):
+ (CreateIndexOperation):
+ (WebCore::CreateIndexOperation::create):
+ (WebCore::CreateIndexOperation::CreateIndexOperation):
+ (WebCore):
+ (DeleteIndexOperation):
+ (WebCore::DeleteIndexOperation::create):
+ (WebCore::DeleteIndexOperation::DeleteIndexOperation):
+ (CreateIndexAbortOperation):
+ (WebCore::CreateIndexAbortOperation::create):
+ (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
+ (DeleteIndexAbortOperation):
+ (WebCore::DeleteIndexAbortOperation::create):
+ (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
+ (WebCore::GetOperation::GetOperation):
+ (WebCore::IDBDatabaseBackendImpl::addObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::addIndex):
+ (WebCore::IDBDatabaseBackendImpl::removeIndex):
+ (WebCore::IDBDatabaseBackendImpl::openInternal):
+ (WebCore::IDBDatabaseBackendImpl::metadata):
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ (WebCore::CreateObjectStoreOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::createIndex):
+ (WebCore::CreateIndexOperation::perform):
+ (WebCore::CreateIndexAbortOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::deleteIndex):
+ (WebCore::DeleteIndexOperation::perform):
+ (WebCore::DeleteIndexAbortOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::get):
+ (WebCore::IDBDatabaseBackendImpl::put):
+ (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
+ (WebCore::IDBDatabaseBackendImpl::count):
+ (WebCore::DeleteRangeOperation::perform):
+ (WebCore::DeleteObjectStoreOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::deleteDatabaseFinal):
+ (WebCore::IDBDatabaseBackendImpl::loadObjectStores): Load directly into metadata from backing store.
+ (WebCore::CreateObjectStoreAbortOperation::perform):
+ (WebCore::DeleteObjectStoreAbortOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (WebCore):
+ (IDBDatabaseBackendImpl):
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
+ * Modules/indexeddb/IDBIndexBackendImpl.cpp: Removed.
+ * Modules/indexeddb/IDBIndexBackendImpl.h: Removed.
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::IDBObjectStore): Frontend IDBIndex objects no longer hold onto backend.
+ (WebCore::IDBObjectStore::createIndex):
+ (WebCore::IDBObjectStore::deleteIndex):
+ * Modules/indexeddb/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::create):
+ (IDBObjectStore):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
+ (WebCore):
+ (IDBObjectStoreBackendImpl):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::objectStore):
+ * Modules/indexeddb/IDBTransaction.h:
+ * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
+ * Modules/indexeddb/IDBTransactionBackendImpl.h:
+ (WebCore::IDBTransactionBackendImpl::objectStore):
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-01-09 John J. Barton <johnjbarton@chromium.org>
+
+ Web Inspector: Don't throw exceptions when we don't have a callstack
+ https://bugs.webkit.org/show_bug.cgi?id=104849
+
+ Reviewed by Pavel Feldman.
+
+ Check array details.callFrames.length before accessing array;
+
+ No new tests, but this fix may help us find the cause of 'other' reasons.
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._debuggerPaused):
+
+2013-01-09 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Network] Data grid header and content cells are misaligned.
+ https://bugs.webkit.org/show_bug.cgi?id=105795
+
+ Reviewed by Pavel Feldman.
+
+ Header and content tables have different width -> same percent values
+ turn to different cell widths.
+
+ * inspector/front-end/DataGrid.js: Add "corner" cell to all rows.
+ * inspector/front-end/dataGrid.css: Apply "corner" rules to "td" nodes.
+ (.data-grid .data-container): Remove artificial padding.
+
+2013-01-09 Tien-Ren Chen <trchen@chromium.org>
+
+ Make caret repainting container-aware
+ https://bugs.webkit.org/show_bug.cgi?id=103955
+
+ Reviewed by Simon Fraser.
+
+ Only invalidate local rects on the caret's repaint container,
+ instead of invalidating an absolute rect on the whole view.
+
+ Test: fast/repaint/caret-with-transformation.html
+
+ * editing/FrameSelection.cpp:
+ (WebCore::caretRendersInsideNode):
+ (WebCore::caretRenderer):
+ (WebCore::FrameSelection::caretRenderer):
+ (WebCore::DragCaretController::caretRenderer):
+ (WebCore::repaintCaretForLocalRect):
+ (WebCore::FrameSelection::recomputeCaretRect):
+ (WebCore::CaretBase::invalidateCaretRect):
+ (WebCore::FrameSelection::focusedOrActiveStateChanged):
+ * editing/FrameSelection.h:
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::repaintSelection):
+ * rendering/RenderView.h:
+
+2013-01-09 Ryosuke Niwa <rniwa@webkit.org>
+
+ Rebaseline the binding test after r139278.
+
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::JSTestEventTarget::getOwnPropertySlot):
+
+2013-01-09 Ryosuke Niwa <rniwa@webkit.org>
+
+ [JSC] REGRESSION(r135093): A form control with name=length overrides length property on form.elements
+ https://bugs.webkit.org/show_bug.cgi?id=105775
+
+ Reviewed by Sam Weinig.
+
+ Fixed the bug by respecting properties on ancestor classes.
+
+ Test: fast/dom/collection-length-should-not-be-overridden.html
+
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::getStaticValueSlotEntryWithoutCaching): Added.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateGetOwnPropertySlotBody): Use getStaticValueSlotEntryWithoutCaching to climb up the class
+ hierarchy.
+
+2013-01-09 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL] [WebGL] Remove GLX dependencies from X11WindowResources..
+ https://bugs.webkit.org/show_bug.cgi?id=106319
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This patch removes GLX specific calls from X11WindowResources.
+ This class is shared by both GLX and EGL implementations.
+
+ * platform/graphics/surfaces/glx/GLXSurface.cpp:
+ (WebCore::GLXTransportSurface::setGeometry):
+ * platform/graphics/surfaces/glx/X11WindowResources.cpp:
+ (WebCore::X11OffScreenWindow::reSizeWindow):
+
+2013-01-09 Huang Dongsung <luxtella@company100.net>
+
+ Remove deviceScaleFactor argument in computeMinimumScaleFactorForContentContained().
+ https://bugs.webkit.org/show_bug.cgi?id=106500
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ deviceScaleFactor argument is not used after r139189.
+
+ No new tests. Refactoring only.
+
+ * dom/ViewportArguments.cpp:
+ (WebCore::computeMinimumScaleFactorForContentContained):
+ * dom/ViewportArguments.h:
+ (WebCore):
+
+2013-01-09 Elliott Sprehn <esprehn@gmail.com>
+
+ Node::containingShadowRoot should be constant time
+ https://bugs.webkit.org/show_bug.cgi?id=106494
+
+ Reviewed by Dimitri Glazkov.
+
+ There's no reason to traverse up the tree to find the containing
+ ShadowRoot when we already know if we're in a ShadowRoot by looking at
+ the treeScope().
+
+ No new tests, just refactoring.
+
+ * dom/Node.cpp:
+ (WebCore::Node::containingShadowRoot):
+
+2013-01-09 Hajime Morrita <morrita@google.com>
+
+ [Shadow DOM] Distribution related code on ElementShadow should be minimized.
+ https://bugs.webkit.org/show_bug.cgi?id=106294
+
+ Reviewed by Dimitri Glazkov.
+
+ This change moves ElementShadow::m_selectFeatures,
+ m_shouldCollectSelectFeatureSet and related methods to
+ ContentDistributor.
+
+ There are also some renaming and small refactorings for better fit
+ on new place:
+
+ - shouldCollectSelectFeatureSet is renamed needsSelectorRuleSet for conciseness.
+ - setShouldCollectSelectFeatureSet() which used recursion morphed into
+ iterative willAffectSelector().
+ - ensureDistributionFromDocument() becomes a static method.
+
+ No new tests. Refactoring.
+
+ * WebCore.exp.in:
+ * dom/Element.cpp:
+ (WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):
+ * dom/ElementShadow.cpp:
+ (WebCore::ElementShadow::addShadowRoot):
+ (WebCore::ElementShadow::removeAllShadowRoots):
+ * dom/ElementShadow.h:
+ (ElementShadow):
+ (WebCore::ElementShadow::invalidateDistribution):
+ (WebCore::ElementShadow::ensureDistribution):
+ (WebCore::ElementShadow::didAffectSelector):
+ (WebCore::ElementShadow::willAffectSelector):
+ (WebCore::ElementShadow::containingShadow):
+ (WebCore):
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ScopeContentDistribution::registerInsertionPoint):
+ (WebCore::ScopeContentDistribution::unregisterInsertionPoint):
+ (WebCore::ContentDistributor::ContentDistributor):
+ (WebCore::ContentDistributor::ensureDistribution):
+ (WebCore):
+ (WebCore::ContentDistributor::ensureDistributionFromDocument):
+ (WebCore::ContentDistributor::invalidateDistribution):
+ (WebCore::ContentDistributor::ensureSelectFeatureSet):
+ (WebCore::ContentDistributor::collectSelectFeatureSetFrom):
+ (WebCore::ContentDistributor::didAffectSelector):
+ (WebCore::ContentDistributor::willAffectSelector):
+ (WebCore::ContentDistributor::didShadowBoundaryChange):
+ * html/shadow/ContentDistributor.h:
+ (ScopeContentDistribution):
+ (WebCore::ContentDistributor::needsSelectFeatureSet):
+ (WebCore::ContentDistributor::setNeedsSelectFeatureSet):
+ (ContentDistributor):
+ (WebCore::ContentDistributor::setValidity):
+ (WebCore::ContentDistributor::needsInvalidation):
+ * html/shadow/HTMLContentElement.cpp:
+ (WebCore::HTMLContentElement::parseAttribute):
+ * html/shadow/HTMLContentElement.h:
+ * html/shadow/HTMLShadowElement.cpp:
+ (WebCore::HTMLShadowElement::olderShadowRoot):
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore::InsertionPoint::getDistributedNodes):
+ (WebCore::InsertionPoint::insertedInto):
+ (WebCore::InsertionPoint::removedFrom):
+ * html/shadow/InsertionPoint.h:
+ (WebCore::InsertionPoint::canAffectSelector):
+ * testing/Internals.cpp:
+ (WebCore::Internals::hasSelectorForIdInShadow):
+ (WebCore::Internals::hasSelectorForClassInShadow):
+ (WebCore::Internals::hasSelectorForAttributeInShadow):
+ (WebCore::Internals::hasSelectorForPseudoClassInShadow):
+
+2013-01-09 Shinya Kawanaka <shinyak@chromium.org>
+
+ Assert triggered in SelectorChecker::checkOneSelector when scrollbar (e.g. :horizontal) selector is specified.
+ https://bugs.webkit.org/show_bug.cgi?id=106414
+
+ Reviewed by Dimitri Glazkov.
+
+ In SelectorChecker::checkOneSelector, scrollbar related pseudoType (e.g. :horizontal) is not handled anywhere.
+ This caused ASSERT triggered. We have to check them.
+
+ Test: fast/css/scrollbar-crash.html
+
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOneSelector):
+
+2013-01-09 Filip Pizlo <fpizlo@apple.com>
+
+ Unreviewed, fix build after http://trac.webkit.org/changeset/139262
+
+ * Modules/webaudio/DefaultAudioDestinationNode.cpp:
+
+2013-01-09 Chris Rogers <crogers@google.com>
+
+ Allow live/local audio input to be enabled only when needed
+ https://bugs.webkit.org/show_bug.cgi?id=106490
+
+ Reviewed by Kenneth Russell.
+
+ WebAudio can process live/local audio input using a MediaStreamAudioSourceNode.
+ But currently the audio back-end is not able to know when/if audio input will be
+ needed, so it needs to assume the worst and initialize the system to support potential
+ audio input in all cases. For some audio back-ends this can end up being less efficient
+ than initializing for audio output only. This patch adds the ability for the audio back-end
+ to be able to initialize itself for audio input later on, only when/if it's needed.
+
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::createMediaStreamSource):
+ * Modules/webaudio/AudioDestinationNode.h:
+ (AudioDestinationNode):
+ * Modules/webaudio/DefaultAudioDestinationNode.cpp:
+ (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
+ (WebCore::DefaultAudioDestinationNode::initialize):
+ (WebCore::DefaultAudioDestinationNode::uninitialize):
+ (WebCore::DefaultAudioDestinationNode::createDestination):
+ (WebCore):
+ (WebCore::DefaultAudioDestinationNode::enableInput):
+ * Modules/webaudio/DefaultAudioDestinationNode.h:
+ (DefaultAudioDestinationNode):
+ * Modules/webaudio/OfflineAudioDestinationNode.h:
+ (OfflineAudioDestinationNode):
+ (WebCore::OfflineAudioDestinationNode::sampleRate):
+ * platform/audio/AudioDestination.h:
+ (AudioDestination):
+ * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
+ (WebCore::AudioDestination::create):
+ * platform/audio/mac/AudioDestinationMac.cpp:
+ (WebCore::AudioDestination::create):
+
+2013-01-09 Tim Horton <timothy_horton@apple.com>
+
+ Don't drop to huge tile mode if we're only slow-scrolling because of a page overlay
+ https://bugs.webkit.org/show_bug.cgi?id=106502
+ <rdar://problem/12959143>
+
+ Reviewed by Simon Fraser.
+
+ We only use the MainThreadScrollingReason "ForcedOnMainThread" if WebKit2 installs
+ a page overlay (TiledCoreAnimationDrawingArea::didInstallPageOverlay), which clients
+ can cause arbitrarily.
+
+ We probably should still use default-sized tiles in this case (this will also
+ prevent us from falling into gigantic tiles for WebKit2 find-in-page, among other things).
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::adjustTileCacheCoverage):
+
+2013-01-09 Takashi Sakamoto <tasak@google.com>
+
+ border-radius with box-shadow is not rendered correctly
+ https://bugs.webkit.org/show_bug.cgi?id=106404
+
+ Reviewed by Hajime Morita.
+
+ RoundedRect::isRenderable is wrong. So RoundedRect::adjustRadii
+ is invoked for renderable RoundedRects.
+
+ Test: fast/borders/border-radius-with-box-shadow.html
+
+ * platform/graphics/RoundedRect.cpp:
+ (WebCore::RoundedRect::isRenderable):
+ Have to compare topLeft's height plus bottomLeft's height with
+ rect's height and to compare topRight's height plus bottomRight's
+ height with rect's height.
+
+2013-01-09 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [GTK] accessibility/aria-labelledby-overrides-label.html requires a proper baseline
+ https://bugs.webkit.org/show_bug.cgi?id=105638
+
+ Reviewed by Martin Robinson.
+
+ The test was failing for two reasons:
+ - AccessibilityRenderObject::correspondingLabelForControlElement() was
+ not ignoring the ARIA labelled-by property
+ - AccessibilityController::accessibleElementById() was not implemented
+
+ Because getting an element by ID cannot be done in the UIProcess, the
+ decision was made to expose the element's ID as an accessible attribute
+ of the object.
+
+ In addition, fixing the bug in AccessibilityRenderObject made it possible
+ to eliminate the Gtk platform-specific expectations for another test.
+
+ No new tests; instead, the failing test was unskipped and a proper baseline
+ provided.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
+ Return null for objects where hasTextAlternative() is true.
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
+ (webkitAccessibleGetAttributes): Expose the element's ID as an accessible
+ attribute.
+
+2013-01-09 Tony Gentilcore <tonyg@chromium.org>
+
+ Remove unused includes from HTMLTreeBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=106496
+
+ Reviewed by Levi Weintraub.
+
+ Noticed these while searching HTMLTreeBuilder for non-thread friendly deps.
+
+ No new tests because no new functionality.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+
+2013-01-09 Max Vujovic <mvujovic@adobe.com>
+
+ [CSS Shaders] Detached identifier after mesh box type is not applied
+ https://bugs.webkit.org/show_bug.cgi?id=105321
+
+ Reviewed by Dean Jackson.
+
+ Before this patch, if a "detached" identifier followed a mesh box type identifier, the
+ detached identifier was not applied. In other words, the mesh would still be attached.
+
+ For example:
+ -webkit-filter: custom(url(...) mix(url(...) normal source-atop), 1 1 border-box detached);
+
+ Although the mesh box type is being removed from the Filter Effects spec, for now, we
+ continue to accept the mesh box type in parsing because of existing content. Eventually,
+ custom filters will transition to an at-rule syntax, once it is defined.
+
+ Test: css3/filters/custom/custom-filter-detached-mesh-with-mesh-box-type.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseCustomFilter):
+ In CSSParser, do not add the mesh box type identifier to the list that will be passed to
+ StyleResolver. StyleResolver is expecting a "detached" identifier in that position and
+ does not interpret mesh box types.
+
+2013-01-09 Dan Winship <danw@gnome.org>
+
+ [Soup] Handle redirection inside WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=61122
+ https://bugs.webkit.org/show_bug.cgi?id=88961
+
+ Reviewed by Martin Robinson.
+
+ Rather than using libsoup's built-in redirection handling (which
+ doesn't do everything exactly the way WebKit wants, and can't
+ handle redirects to non-http URIs anyway), process redirections
+ ourselves.
+
+ No new tests; unskips a few existing tests.
+
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ (ResourceHandleInternal):
+ * platform/network/soup/ResourceError.h:
+ (ResourceError):
+ * platform/network/soup/ResourceErrorSoup.cpp:
+ (WebCore::ResourceError::transportError):
+ (WebCore):
+ (WebCore::ResourceError::httpError):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore):
+ (WebCore::gotHeadersCallback):
+ (WebCore::restartedCallback):
+ (WebCore::shouldRedirect):
+ (WebCore::doRedirect):
+ (WebCore::redirectCloseCallback):
+ (WebCore::redirectSkipCallback):
+ (WebCore::cleanupSoupRequestOperation):
+ (WebCore::sendRequestCallback):
+ (WebCore::createSoupMessageForHandleAndRequest):
+ (WebCore::createSoupRequestAndMessageForHandle):
+ (WebCore::ResourceHandle::start):
+
+2013-01-09 Florin Malita <fmalita@chromium.org>
+
+ [Skia] Implement GraphicsContext::addRoundedRectClip() using SkCanvas::clipRRect()
+ https://bugs.webkit.org/show_bug.cgi?id=106461
+
+ Reviewed by Stephen White.
+
+ This patch adds a Skia-specific version of GraphicsContext::addRoundedRectClip() to take
+ advantage of the SkCanvas::clipRRect() primitive.
+
+ As a minor cleanup, the anonymous namespace in GraphicsContextSkia.cpp is extended to cover
+ all the local helper functions.
+
+ No new tests: coverage provided by existing tests.
+
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::addRoundedRectClip):
+ (WebCore):
+ (WebCore::GraphicsContext::fillRoundedRect):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (WebCore::PlatformContextSkia::clipRRect):
+ (WebCore):
+
+2013-01-09 Andreas Kling <akling@apple.com>
+
+ SVG-as-image: Throw out cached bitmap renderings after they sit unused for some time.
+ <http://webkit.org/b/106484>
+ <rdar://problem/12983216>
+
+ Reviewed by Antti Koivisto.
+
+ Add a one-shot timer to SVGImageCache to self-clear the bitmap cache 30 seconds after last access.
+ This prevents us from keeping huge ImageBuffers around in memory for the lifetime of the elements
+ referencing that particular SVG file. (The ownership model is actually a bit more complicated
+ but that's irrelevant to this issue.)
+
+ 10234kB progression on Membuster3.
+
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::SVGImageCache):
+ (WebCore::SVGImageCache::~SVGImageCache):
+ (WebCore::SVGImageCache::clearBitmapCache):
+ (WebCore::SVGImageCache::cacheClearTimerFired):
+ (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
+ * svg/graphics/SVGImageCache.h:
+ (SVGImageCache):
+
+2013-01-09 Alexey Proskuryakov <ap@apple.com>
+
+ Assertion failure in SubresourceLoader::didFail when reloading
+ https://bugs.webkit.org/show_bug.cgi?id=101416
+
+ Reviewed by Nate Chapin.
+
+ Test: http/tests/cache/network-error-during-revalidation.html
+
+ * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didFail): Handle revalidation.
+
+2013-01-09 Alexandru Chiculita <achicu@adobe.com>
+
+ Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers
+ https://bugs.webkit.org/show_bug.cgi?id=106419
+
+ Reviewed by Simon Fraser.
+
+ No new tests added, just un-skipped 3 existing tests.
+
+ RenderLayerCompositor::updateCompositingLayers is being called with a pending layout, so computing the
+ layers at that point would be useless & error-prone as they will be using incorrect layout values. If a layout is pending it means that
+ RenderLayerCompositor::updateCompositingLayers would get called again after the pending layout ends, so any values calculated at that point would be
+ overwritten immediately. This patch removes the old ASSERT and makes it a return instead.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateCompositingLayers):
+
+2013-01-09 Robert Hogan <robert@webkit.org>
+
+ REGRESSION(r111439): Focus ring is rendered incorrectly in fast/inline/continuation-outlines-with-layers.html
+ https://bugs.webkit.org/show_bug.cgi?id=106064
+
+ Reviewed by David Hyatt.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintObject):
+
+2013-01-09 Gregg Tavares <gman@google.com>
+
+ Add stub for CanvasProxy
+ https://bugs.webkit.org/show_bug.cgi?id=106275
+
+ Reviewed by Dean Jackson.
+
+ No new tests as no new fuctionality exposed.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/canvas/CanvasProxy.cpp: Added.
+ * html/canvas/CanvasProxy.h: Added.
+ * html/canvas/CanvasProxy.idl: Added.
+
+2013-01-09 Antti Koivisto <antti@apple.com>
+
+ Release FastMalloc thread caches on memory warning
+ https://bugs.webkit.org/show_bug.cgi?id=106471
+
+ Reviewed by Geoff Garen.
+
+ FastMalloc keeps some memory in per-thread caches (currently 2MB each). We currently flush these caches on memory warning
+ for the main thread only. We should do it for other WebKit threads that use FastMalloc too.
+
+ Call WTF::releaseFastMallocFreeMemory in a bunch of WebCore support threads on memory warning. Unfortunately we don't have
+ an uniform way of doing threads so this requires bunch of thread type specific code.
+
+ Looks to be ~1% progression in membuster3 final and maximum numbers.
+
+ * platform/mac/MemoryPressureHandlerMac.mm:
+ (WebCore::MemoryPressureHandler::releaseMemory):
+ * storage/StorageTask.cpp:
+ (WebCore::StorageTask::performTask):
+ * storage/StorageTask.h:
+ (WebCore::StorageTask::createReleaseFastMallocFreeMemory):
+ * storage/StorageThread.cpp:
+ (WebCore::storageThreads):
+ (WebCore):
+ (WebCore::StorageThread::StorageThread):
+ (WebCore::StorageThread::~StorageThread):
+ (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThread):
+ * storage/StorageThread.h:
+ (StorageThread):
+ * workers/WorkerThread.cpp:
+ (WebCore::threadSetMutex):
+ (WebCore::workerThreads):
+ (WebCore::WorkerThread::workerThreadCount):
+ (WebCore::WorkerThread::WorkerThread):
+ (WebCore::WorkerThread::~WorkerThread):
+ (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThread):
+ (WebCore):
+ * workers/WorkerThread.h:
+ (WorkerThread):
+
+2013-01-09 Tony Gentilcore <tonyg@chromium.org>
+
+ REGRESSION(r139141): Assertion failure in WebCore::HTMLConstructionSite::HTMLConstructionSite
+ https://bugs.webkit.org/show_bug.cgi?id=106412
+
+ Reviewed by Darin Adler.
+
+ This corrects the assertion added in r139141. The assertion was designed to make sure that we are using the
+ HTMLDocument class. XHTML documents also use HTMLDocument.
+
+ No new tests because no new functionality.
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::HTMLConstructionSite):
+
+2013-01-08 Ojan Vafai <ojan@chromium.org>
+
+ min-content gets the wrong value if min-width is set on some form controls
+ https://bugs.webkit.org/show_bug.cgi?id=106389
+
+ Reviewed by Tony Chang.
+
+ Simplify the logic. The only exposed change in behavior is that
+ m_minPreferredLogicalWidth gets set to m_maxPreferredLogicalWidth
+ instead of 0 when min-width is set.
+
+ Test: fast/forms/min-content-form-controls.html
+
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::computePreferredLogicalWidths):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::computePreferredLogicalWidths):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::computePreferredLogicalWidths):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::computePreferredLogicalWidths):
+
+2013-01-09 Abhishek Arya <inferno@chromium.org>
+
+ Mitigate out-of-bounds access in InlineIterator
+ https://bugs.webkit.org/show_bug.cgi?id=104812
+
+ Reviewed by Levi Weintraub.
+
+ Share code between InlineIterator::current and InlineIterator::previousInSameNode,
+ thereby checking for access outside text renderer's length.
+
+ * rendering/InlineIterator.h:
+ (InlineIterator):
+ (WebCore::InlineIterator::characterAt):
+ (WebCore):
+ (WebCore::InlineIterator::current):
+ (WebCore::InlineIterator::previousInSameNode):
+
+2013-01-09 Yongjun Zhang <yongjun_zhang@apple.com>
+
+ If ImageLoader's loadEventSender or errorEventSender fires after document is detached, the document will be leaked.
+
+ https://bugs.webkit.org/show_bug.cgi?id=106394
+
+ Reviewed by Alexey Proskuryakov.
+
+ ImageLoader's loadEventSender and errorEventSender schedule event dispatching in separate timers and refs
+ the Element in updatedHasPendingEvent. If the Document is detached before either eventSender dispatches,
+ we would leak the Document since we bail out early in dispatchPendingLoadEvent or dispatchPendingErrorEvent,
+ without deref-ing the Element itself.
+
+ No new tests. Verified manually by using heap tool to count the living HTMLDocuments.
+
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::dispatchPendingLoadEvent): also call updatedHasPendingEvent to deref the Element if
+ the document is detached.
+ (WebCore::ImageLoader::dispatchPendingErrorEvent): ditto.
+
+2013-01-09 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, rolling out r139143.
+ http://trac.webkit.org/changeset/139143
+ https://bugs.webkit.org/show_bug.cgi?id=106135
+
+ Broke Chromium content_browsertests.
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::open):
+ (WebCore::LevelDBDatabase::openInMemory):
+
+2013-01-09 Sam Weinig <sam@webkit.org>
+
+ Add Settings.in and make_settings.pl to the project.
+
+ Reviewed by Anders Carlsson.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2013-01-09 Ojan Vafai <ojan@chromium.org>
+
+ marquee special-case in RenderBlock is not needed
+ https://bugs.webkit.org/show_bug.cgi?id=106396
+
+ Reviewed by Simon Fraser.
+
+ This was added in http://trac.webkit.org/changeset/105772. The layout test
+ in that patch (which is disabled) works and the original site that was broken
+ also still works.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computePreferredLogicalWidths):
+
+2013-01-09 Tony Chang <tony@chromium.org>
+
+ Automatically generate Settings::unifiedTextCheckerEnabled
+ https://bugs.webkit.org/show_bug.cgi?id=106382
+
+ Reviewed by Adam Barth.
+
+ No new tests, no change in behavior. This is covered by existing editing/spelling tests.
+
+ * page/Settings.cpp:
+ (WebCore): Move default value into a global so we can generate the initializer.
+ (WebCore::Settings::Settings): Remove initializer code that is now generated.
+ * page/Settings.h:
+ (Settings): Remove getters and setters.
+ * page/Settings.in: Add entry to be generated.
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup): Remove backup since the generated code does this.
+ (WebCore::InternalSettings::Backup::restoreTo): Remove restore code since the generated code does this.
+ * testing/InternalSettings.h:
+ (InternalSettings): Remove member variable.
+ * testing/InternalSettings.idl: The getter was unused so it's being removed. The setter is now generated.
+
+2013-01-09 Alexis Menard <alexis@webkit.org>
+
+ Implement CSS computed style value for transition shorthand
+ https://bugs.webkit.org/show_bug.cgi?id=105035
+
+ Reviewed by Dean Jackson.
+
+ Implement support for query the transition and webkit-transition
+ shorthand from the computed style.
+
+ Test: transitions/transitions-parsing.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::createTransitionPropertyValue): Factor the code to create the
+ correct value into a function to reuse it for the shorthand.
+ (WebCore::getTransitionPropertyValue):
+ (WebCore::createTimingFunctionValue): Little refactor, the intermediate
+ local variables are not needed.
+ (WebCore::getTimingFunctionValue):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+
+2013-01-09 Hajime Morrita <morrita@google.com>
+
+ Document::setActiveNode() should be Document::setActiveElement()
+ https://bugs.webkit.org/show_bug.cgi?id=106437
+
+ Reviewed by Ojan Vafai.
+
+ No new tests. No functoinal change.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setActiveElement):
+ (WebCore::Document::updateHoverActiveState):
+ * dom/Document.h:
+ (Document):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::innerElement):
+ (WebCore):
+ * rendering/HitTestResult.h:
+ (HitTestResult):
+
+2013-01-09 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Shadow DOM]: ShadowRoot has wrong nodeName attribute
+ https://bugs.webkit.org/show_bug.cgi?id=104995
+
+ Reviewed by Dimitri Glazkov.
+
+ According to the Shadow DOM spec, ShadowRoot.nodeName should return '#document-fragment' instead of '#shadow-root'.
+ We remove ShadowRoot::nodeName.
+
+ No new tests, covered by existing tests.
+
+ * dom/ShadowRoot.cpp:
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+
+2013-01-09 Zoltan Horvath <zoltan@webkit.org>
+
+ [CSS Regions] Selecting text through nested regions causes weird and unclearable selection
+ https://bugs.webkit.org/show_bug.cgi?id=105641
+
+ Reviewed by David Hyatt.
+
+ If you have a region with a nested region inside what is rendered below the base region and you are trying select text
+ starting from the base region and ending it in the nested region, firstly you got a weird selection, secondly you can't
+ clear the selection. We could prevent this strange behavior by preventing the selection through different region flows.
+
+ Test: fast/regions/selecting-text-through-different-region-flows.html
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setSelection): Don't allow selection when trying to select different region flows.
+
+2013-01-09 Hugo Parente Lima <hugo.lima@openbossa.org>
+
+ Regression(r138681) : Add HAVE(ACCESSIBILITY) guard to atk files, fix for a fix.
+ https://bugs.webkit.org/show_bug.cgi?id=106448
+
+ Reviewed by Gyuyoung Kim.
+
+ Some atk files don't use HAVE(ACCESSIBILITY). It might make build errors when
+ the macro isn't enabled.
+
+ * accessibility/atk/WebKitAccessibleHyperlink.h:
+ * accessibility/atk/WebKitAccessibleInterfaceAction.h:
+ * accessibility/atk/WebKitAccessibleInterfaceComponent.h:
+ * accessibility/atk/WebKitAccessibleInterfaceHypertext.h:
+
+2013-01-09 Chris Fleizach <cfleizach@apple.com>
+
+ AX: native popup buttons should not use textUnderElement for their title
+ https://bugs.webkit.org/show_bug.cgi?id=106349
+
+ Reviewed by Ryosuke Niwa.
+
+ Chromium relies on the older title() method to return its title. As a result, we also
+ need to handle the case of <select> element pop up buttons returning the textUnderElement().
+
+ No new tests. Fix existing break.
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::title):
+
+2013-01-09 Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+ IndexedDB: Remove ASSERTs that can't assert but result in compiler warnings
+ https://bugs.webkit.org/show_bug.cgi?id=106442
+
+ Reviewed by Kentaro Hara.
+
+ IDBLevelDBCoding::m_metaDataType has been changed to unsigned
+ so ASSERT(m_metaDataType >= 0) is no longer useful: the compiler
+ warnings however create build difficulties at least with EFL.
+
+ * Modules/indexeddb/IDBLevelDBCoding.cpp:
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
+ (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
+
+2012-12-29 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 1/N
+ https://bugs.webkit.org/show_bug.cgi?id=106445
+
+ Reviewed by Vsevolod Vlasov.
+
+ The patch has almost mechanical changes.
+
+ * bindings/v8/V8Binding.cpp:
+ * bindings/v8/V8ValueCache.cpp:
+ (WTF):
+ (WebCore::StringCache::reportMemoryUsage):
+ (WebCore):
+ * dom/Document.cpp:
+ (WebCore::Document::reportMemoryUsage):
+ * dom/DocumentStyleSheetCollection.cpp:
+ (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
+ * dom/ElementRareData.cpp:
+ (WebCore::ElementRareData::reportMemoryUsage):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::reportMemoryUsage):
+ * page/Frame.cpp:
+ (WebCore::Frame::reportMemoryUsage):
+ * page/Page.cpp:
+ (WebCore::Page::reportMemoryUsage):
+ * platform/graphics/skia/NativeImageSkia.cpp:
+ (WebCore::NativeImageSkia::reportMemoryUsage):
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::reportMemoryUsage):
+ (WebCore):
+ (WebCore::FormDataElement::reportMemoryUsage):
+ * platform/network/FormData.h:
+ (FormDataElement):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::reportMemoryUsage):
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
+
+2013-01-09 Florin Malita <fmalita@chromium.org>
+
+ [Skia] Implement GraphicsContext::fillRoundedRect() using SkCanvas::drawRRect()
+ https://bugs.webkit.org/show_bug.cgi?id=106366
+
+ Reviewed by Stephen White.
+
+ Skia provides rounded-rect primitives, so we can avoid degrading fillRoundedRect() to
+ drawPath().
+
+ Due to subtle pixel differences (not visually noticeable), switching from drawPath() to
+ drawRRect() requires rebaselining some of the existing results.
+
+ No new tests: coverage provided by existing tests.
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::fillRoundedRect):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (WebCore::PlatformContextSkia::drawRRect):
+ (WebCore):
+
+2013-01-09 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ Web Inspector: cannot undock inspector when window size is too small
+ https://bugs.webkit.org/show_bug.cgi?id=106054
+
+ Reviewed by Pavel Feldman.
+
+ Consider dockingUnavailable flag only when dockSide is in undocked
+ state.
+
+ * inspector/front-end/DockController.js:
+ (WebInspector.DockController.prototype._updateUI.get document):
+
+2013-01-09 Zeno Albisser <zeno@webkit.org>
+
+ [Qt] WebGL content is incomplete when using multiple canvas
+ https://bugs.webkit.org/show_bug.cgi?id=106313
+
+ While we are using double buffering for WebGL,
+ we do not use a drawable that implements a mechanism
+ for swapping buffers.
+ Therefore we have to make sure that all GL commands
+ have been executed properly before copying the texture
+ onto the GraphicsSurface.
+
+ Reviewed by Simon Hausmann.
+
+ * platform/graphics/qt/GraphicsContext3DQt.cpp:
+ (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
+
+2013-01-09 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed. Fix make distcheck.
+
+ * GNUmakefile.list.am: Add missing headers.
+
+2013-01-09 Zeno Albisser <zeno@webkit.org>
+
+ [Qt][Mac] GraphicsSurface does not need glEnable/glDisable for texture targets.
+ https://bugs.webkit.org/show_bug.cgi?id=106310
+
+ glEnable/glDisable for texture targets is only necessary
+ when using the fixed function pipeline.
+ Enabling or disabling the target might cause unexpected
+ behavior to texture bindings and is therefore considered harmful.
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
+ (WebCore::createTexture):
+ (WebCore::GraphicsSurfacePrivate::copyFromTexture):
+ (WebCore::GraphicsSurface::platformCopyToGLTexture):
+
+2013-01-09 Kunihiko Sakamoto <ksakamoto@chromium.org>
+
+ INPUT_MULTIPLE_FIELDS_UI: min/max attributes should not make all fields read-only
+ https://bugs.webkit.org/show_bug.cgi?id=106422
+
+ Reviewed by Kent Tamura.
+
+ Do not make day-field of date input and month-field of month input readonly
+ even if min and max are the same.
+
+ Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html
+ fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html
+
+ * html/shadow/DateTimeEditElement.cpp:
+ (WebCore::DateTimeEditBuilder::visitField): Added check for date type.
+
+2013-01-09 Kunihiko Sakamoto <ksakamoto@chromium.org>
+
+ INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of week field should respect min/max attributes
+ https://bugs.webkit.org/show_bug.cgi?id=106416
+
+ Reviewed by Kent Tamura.
+
+ Make step-up/-down of the week 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).
+
+ Tests: fast/forms/week-multiple-fields/week-multiple-fields-readonly-subfield.html
+ fast/forms/week-multiple-fields/week-multiple-fields-stepup-stepdown-from-renderer.html
+
+ * css/html.css: Add a CSS rule for week field.
+ * html/shadow/DateTimeEditElement.cpp:
+ (WebCore::DateTimeEditBuilder::visitField):
+ Compute minimum/maximum values of week field from the min/max parameters of the element.
+ * html/shadow/DateTimeFieldElements.cpp:
+ (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement): Add mininum/maximum arguments.
+ (WebCore::DateTimeWeekFieldElement::create): Ditto.
+ (WebCore::DateTimeWeekFieldElement::clampValueForHardLimits): Added.
+ * html/shadow/DateTimeFieldElements.h:
+ (DateTimeWeekFieldElement): Add mininum/maximum arguments and declare clampValueForHardLimits.
+
+2013-01-08 Arpita Bahuguna <arpitabahuguna@gmail.com>
+
+ Caret is incorrectly painted for a contenteditable <div> containing a <br> in vertical writing mode
+ https://bugs.webkit.org/show_bug.cgi?id=103621
+
+ Reviewed by Ryosuke Niwa.
+
+ While computing the caret rect for the given specific scenario, we
+ canonicalize our position. For the upstream (or downstream) block flow
+ candidates a check to ignore the nodes having renderers with zero height
+ is carried out. This is where we fail our check in the vertical writing mode.
+
+ In the vertical writing mode, instead of verifying the height of the descendants
+ of the candidate nodes, a check for their width should be carried out.
+
+ For our case, i.e. the <br> element contained inside the div, the bounding box
+ in the vertical writing mode would have a width greater than zero and height
+ equal to zero (as is to be expected in the vertical mode).
+
+ Thus, we need to make a check against the logical height. For the vertical
+ writing mode, the logical height should return the width of the computed
+ bounding box.
+
+ Test: editing/selection/caret-in-div-containing-br-in-vertical-mode.html
+
+ * dom/Position.cpp:
+ (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
+ Have modified the code to verify against the logical height, instead
+ of simply the height, both in case of RenderText and RenderBox.
+ The logical height of the computed rects returns a value according
+ to the writing mode.
+
+ For the RenderText a new function, linesLogicalBoundingBox() is called
+ which returns the values depending on the writing mode.
+ Similarly, on the RenderBox, pixelSnappedLogicalHeight() is called which
+ too takes care of the writing mode internally. (borderBoundingBox()
+ internally calls on the pixelSnappedRect).
+
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::linesLogicalBoundingBox):
+ (WebCore):
+ * rendering/RenderText.h:
+ (RenderText):
+ New function is added to return the logical linesBoundingBox, i.e.,
+ the width and height of the linesBoundingBox are set according to
+ the writing mode.
+
+2013-01-08 Tony Gentilcore <tonyg@chromium.org>
+
+ Remove a few unused includes from HTMLTreeBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=106401
+
+ Reviewed by Adam Barth.
+
+ I happened to notice these while attempting to remove non-thread friendly deps from HTMLTreeBuilder.
+
+ No new tests because no new functionality.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+
+2013-01-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Regression(r138681): Add HAVE(ACCESSIBILITY) guard to atk files
+ https://bugs.webkit.org/show_bug.cgi?id=106290
+
+ Reviewed by Martin Robinson.
+
+ Some atk files don't use HAVE(ACCESSIBILITY). It might make build errors when
+ the macro isn't enabled.
+
+ * accessibility/atk/AXObjectCacheAtk.cpp:
+ * accessibility/atk/WebKitAccessibleHyperlink.h:
+ * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceAction.h:
+ * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceDocument.h:
+ * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceEditableText.h:
+ * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:
+ * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceImage.h:
+ * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceSelection.h:
+ * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceTable.h:
+ * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceText.h:
+ * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
+ * accessibility/atk/WebKitAccessibleInterfaceValue.h:
+ * accessibility/atk/WebKitAccessibleUtil.cpp:
+ * accessibility/atk/WebKitAccessibleUtil.h:
+ * accessibility/atk/WebKitAccessibleWrapperAtk.h:
+
+2013-01-08 Matt Falkenhagen <falken@chromium.org>
+
+ Make NodeRenderingContext::parentRenderer and nextRenderer top layer aware
+ https://bugs.webkit.org/show_bug.cgi?id=103477
+
+ Reviewed by Hajime Morita.
+
+ Original patch by Elliott Sprehn (minor code and layout tests added).
+
+ Instead of using adjustInsertionPointForTopLayerElement and reassigning
+ pointers passed by reference we should just make nextRenderer and parentRenderer
+ handle the top layer properly. Right now they would return the wrong values
+ since we only correctly handle the top layer during renderer creation.
+
+ This makes handling of top layer elements consistent with handling of
+ other special renderering systems like flow threads.
+
+ Tests: fast/dom/HTMLDialogElement/modal-dialog-in-replaced-renderer.html
+ fast/dom/HTMLDialogElement/modal-dialog-in-table-column.html
+ fast/dom/HTMLDialogElement/modal-dialog-sibling.html
+
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::isRendererReparented): Added this helper function. We must skip
+ renderers that are reparented in nextRenderer and previousRenderer.
+ (WebCore):
+ (WebCore::adjustInsertionPointForTopLayerElement): Removed this method.
+ (WebCore::NodeRenderingContext::nextRenderer):
+ (WebCore::NodeRenderingContext::previousRenderer):
+ (WebCore::NodeRenderingContext::parentRenderer):
+ (WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
+
+2013-01-08 Kent Tamura <tkent@chromium.org>
+
+ REGRESSION(r135836): Invalid user input for input[type=number] should be cleared by input.value=""
+ https://bugs.webkit.org/show_bug.cgi?id=106284
+
+ Reviewed by Hajime Morita.
+
+ No new tests. Updates fast/forms/number/number/validity-badinput.html.
+
+ * html/NumberInputType.cpp:
+ (WebCore::NumberInputType::setValue):
+ If the new sanitized value is empty and innerTextValue is a bad input
+ (it means !valueChanged && !innerTextValue().isEmpty() because the new
+ sanitized value is empty), we need to update innerTextValue with the
+ empty string.
+ * html/NumberInputType.h:
+ (NumberInputType): Declare setValue.
+
+2013-01-08 Nate Chapin <japhet@chromium.org>
+
+ REGRESSION(r138222?): [Mac WK1] http/tests/appcache/main-resource-redirect.html asserts in WebFrameLoaderClient::dispatchDidFinishLoading
+ https://bugs.webkit.org/show_bug.cgi?id=106123
+
+ Reviewed by Alexey Proskuryakov.
+
+ No new tests, fixing an existing test.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::continueAfterNavigationPolicy): Before calling m_resource->removeClient(this)
+ and potentially canceling the ResourceLoader, ensure it won't send resource load callbacks.
+ * loader/ResourceLoader.h:
+ (WebCore::ResourceLoader::setSendCallbackPolicy):
+
+2013-01-08 Alexandru Chiculita <achicu@adobe.com>
+
+ Assert in RenderGeometryMap::mapToContainer
+ https://bugs.webkit.org/show_bug.cgi?id=106068
+
+ Reviewed by Simon Fraser.
+
+ The assert was due to a pending layout, so the values used to compute the layer bounding boxes were incorrect.
+ That was because of the Document::setVisualUpdatesAllowed mechanism, which triggers a compositor update
+ and a repaint, but before this patch didn't check whether a layout was pending or not.
+
+ Added a check in Document::setVisualUpdatesAllowed for pending layouts and bailed when such case happened.
+ A layout will come anyway and trigger the correct updates. Couldn't not force an inline layout at that time
+ as this function is sometimes called really soon, when the WebKit parts are not fully created yet and updates were
+ calling back into some client callbacks that were not ready.
+
+ Also added an assert in RenderLayerCompositor::updateCompositingLayers to check for other cases that might
+ try to update the layers with a layout pending. That one led to finding an issue in the RenderMarquee, which
+ was updating on a timer callback. It might happen that a layout is pending while this timer fires and it
+ tries to update the scroll position of the layers while a layout is still due.
+
+ There was already a protection to bail if a layout is pending in RenderMarquee::timerFired, so I've just broadened the scope
+ to the whole RenderView to catch all the layout requests.
+
+ Tests: compositing/geometry/assert-layout-not-done.html
+ compositing/geometry/assert-marquee-timer.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::setVisualUpdatesAllowed):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateCompositingLayers):
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::timerFired):
+
+2013-01-08 Justin Novosad <junov@google.com>
+
+ CanvasRenderingContext2D::setFont argument may reference destroyed object
+ https://bugs.webkit.org/show_bug.cgi?id=106385
+
+ Reviewed by Abhishek Arya.
+
+ No new tests: covered by fast/canvas/canvas-measureText.html
+
+ This is a re-write of r138994. Fixing bug in setFont instead of
+ workaround at call site.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setFont):
+ (WebCore::CanvasRenderingContext2D::accessFont):
+
+2013-01-08 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Provide LevelDB with IDBEnv instead of Env::Default
+ https://bugs.webkit.org/show_bug.cgi?id=106135
+
+ Reviewed by Tony Chang.
+
+ IDBEnv only changes the name of the histogram where errors are logged.
+
+ * platform/leveldb/LevelDBDatabase.cpp:
+ (WebCore::LevelDBDatabase::open):
+ (WebCore::LevelDBDatabase::openInMemory):
+
+2013-01-08 Brandon Jones <bajones@chromium.org>
+
+ Make WebGLRenderingContext inherit from ActiveDOMObject
+ https://bugs.webkit.org/show_bug.cgi?id=104733
+
+ Reviewed by Adam Barth.
+
+ When ActiveDOMObject::stop is called on the WebGLRenderingContext the
+ DrawingBuffer and GraphicsContext3D instances are forcibly released in
+ order to keep GPU memory utilization to a minimum.
+
+ Incorporated new layout test based on one just added to the WebGL
+ conformance suite. Also tested manually by reloading and
+ navigating between many WebGL apps.
+
+ Test: fast/canvas/webgl/context-release-upon-reload.html
+
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+ Removed garbage collection hack added in Bug 76255.
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::create):
+ Call suspendIfNeeded per ActiveDOMObject contract.
+ (WebCore::WebGLRenderingContext::WebGLRenderingContext):
+ Call ActiveDOMObject constructor.
+ (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
+ Call destroyGraphicsContext3D.
+ (WebCore::WebGLRenderingContext::destroyGraphicsContext3D):
+ Drop DrawingBuffer backing store and delete GraphicsContext3D.
+ (WebCore::WebGLRenderingContext::hasPendingActivity):
+ Always return false.
+ (WebCore::WebGLRenderingContext::stop):
+ Force lost context upon page reload or navigation.
+ * html/canvas/WebGLRenderingContext.h:
+ (WebGLRenderingContext):
+ Inherit from ActiveDOMObject and override notifications.
+ * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
+ (WebCore):
+ (WebCore::DrawingBuffer::clearPlatformLayer):
+ Add currently no-op implementation.
+ * platform/graphics/cairo/DrawingBufferCairo.cpp:
+ (WebCore):
+ (WebCore::DrawingBuffer::clearPlatformLayer):
+ Add currently no-op implementation.
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBufferPrivate::clearTextureId):
+ Clear texture ID from compositor's layer.
+ (DrawingBufferPrivate):
+ (WebCore::DrawingBuffer::framebuffer):
+ Moved around to reduce number of #ifdefs.
+ (WebCore):
+ (WebCore::DrawingBuffer::platformLayer):
+ (WebCore::DrawingBuffer::clearPlatformLayer):
+ Tell compositor to stop referencing DrawingBuffer's texture.
+ * platform/graphics/clutter/DrawingBufferClutter.cpp:
+ (WebCore):
+ (WebCore::DrawingBuffer::clearPlatformLayer):
+ Add currently no-op implementation.
+ * platform/graphics/gpu/DrawingBuffer.cpp:
+ (WebCore::DrawingBuffer::clear):
+ Call clearPlatformLayer before deleting OpenGL resources.
+ * platform/graphics/gpu/DrawingBuffer.h:
+ (DrawingBuffer):
+ Add clearPlatformLayer.
+ * platform/graphics/gpu/mac/DrawingBufferMac.mm:
+ (WebCore):
+ (WebCore::DrawingBuffer::clearPlatformLayer):
+ Add currently no-op implementation.
+ * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
+ (WebCore):
+ (WebCore::DrawingBuffer::clearPlatformLayer):
+ Add currently no-op implementation.
+
+2013-01-08 Tony Gentilcore <tonyg@chromium.org>
+
+ Remove dependency on Document from HTMLConstructionSite::inQuirksMode()
+ https://bugs.webkit.org/show_bug.cgi?id=106375
+
+ Reviewed by Adam Barth.
+
+ This is another step towards removing main thread object dependencies
+ from the parser.
+
+ No new tests because no new functionality.
+
+ * dom/Document.h:
+ * html/HTMLDocument.cpp:
+ * html/HTMLDocument.h:
+ (HTMLDocument):
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::HTMLConstructionSite):
+ (WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
+ (WebCore):
+ (WebCore::HTMLConstructionSite::setCompatibilityMode):
+ (WebCore::HTMLConstructionSite::setCompatibilityModeFromDoctype):
+ (WebCore::HTMLConstructionSite::insertDoctype):
+ (WebCore::HTMLConstructionSite::inQuirksMode):
+ * html/parser/HTMLConstructionSite.h:
+ (HTMLConstructionSite):
+
+2013-01-08 Florin Malita <fmalita@chromium.org>
+
+ Remove unused GraphicsContext::addInnerRoundedRectClip()
+ https://bugs.webkit.org/show_bug.cgi?id=106376
+
+ Reviewed by Andreas Kling.
+
+ Since there don't seem to be any users left for it, remove addInnerRoundedRectClip().
+
+ No new tests: no functional changes.
+
+ * platform/graphics/GraphicsContext.h:
+ (GraphicsContext):
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ * platform/graphics/cg/GraphicsContextCG.cpp:
+ * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore):
+ * platform/graphics/wince/GraphicsContextWinCE.cpp:
+ * platform/graphics/wx/GraphicsContextWx.cpp:
+
+2013-01-08 Justin Novosad <junov@google.com>
+
+ Color bleeding with rounded rectangles on high dpi displays
+ https://bugs.webkit.org/show_bug.cgi?id=106373
+
+ Reviewed by Simon Fraser.
+
+ Test: fast/backgrounds/gradient-background-leakage-hidpi.html
+
+ Avoid using the BackgroundBleedShrinkBackground draw strategy for
+ RenderBox when border width is less than two layout units. This
+ is because rounded rectangles are always snapped to integer layout
+ coordinates, even with subpixel layout enabled.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::determineBackgroundBleedAvoidance):
+
+2013-01-08 Elliott Sprehn <esprehn@chromium.org>
+
+ Merge getLineAtIndex into RenderBlock::lineAtIndex
+ https://bugs.webkit.org/show_bug.cgi?id=106379
+
+ Reviewed by Eric Seidel.
+
+ getLineAtIndex can be merged into lineAtIndex, which was it's only caller.
+
+ No new tests, just refactoring.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::lineAtIndex):
+ (WebCore::RenderBlock::lineCount):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+
+2013-01-08 Rafael Weinstein <rafaelw@chromium.org>
+
+ [HTMLTemplateElement] Allow <template> content to be inspected
+ https://bugs.webkit.org/show_bug.cgi?id=105839
+
+ Reviewed by Pavel Feldman.
+
+ In addition to the plumbing which allows template contents to be
+ displayed within the inspector, this patch adds a manually-managed
+ weakref from the template document back to its host document (typically
+ the creator). This is required so that the inspector agent can be found
+ for template elements.
+
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::templateDocument):
+ * dom/Document.h:
+ (Document):
+ (WebCore::Document::setTemplateDocumentHost):
+ (WebCore::Document::templateDocumentHost):
+ * editing/markup.cpp:
+ (WebCore::createFragmentForInnerOuterHTML):
+ * html/HTMLTemplateElement.cpp:
+ (WebCore::HTMLTemplateElement::content):
+ * inspector/Inspector.json:
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::buildObjectForNode):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode):
+ (WebInspector.DOMNode.prototype.hasChildNodes):
+ (WebInspector.DOMNode.prototype._insertChild):
+ (WebInspector.DOMNode.prototype._setChildrenPayload):
+
+2013-01-08 Hajime Morrita <morrita@google.com>
+
+ [Shadow DOM] Distribution related code on ShadowRoot should be minimized.
+ https://bugs.webkit.org/show_bug.cgi?id=106282
+
+ Reviewed by Dimitri Glazkov.
+
+ ShadowRoot had a certain amount of logic which is dedicated for
+ node distribution computation. These code is going to be compiled
+ out (Bug 103339) and better be part of the node distribution
+ algorithm, which is ScopeContentDistribution class.
+
+ This change
+
+ - Renames ShadowRootContentDistributionData to
+ ScopeContentDistribution. New name is concise and a bit more
+ meaningful: It owns per TreeScope distribution state.
+ - Moves distribution related code from ShadowRoot to ScopeContentDistribution
+
+ No new tests. Refactoring.
+
+ * WebCore.exp.in:
+ * css/StyleScopeResolver.cpp:
+ (WebCore::StyleScopeResolver::styleSharingCandidateMatchesHostRules):
+ (WebCore::StyleScopeResolver::matchHostRules):
+ * dom/ComposedShadowTreeWalker.cpp:
+ (WebCore::nodeCanBeDistributed):
+ (WebCore::ComposedShadowTreeWalker::traverseBackToYoungerShadowRoot):
+ (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
+ (WebCore::AncestorChainWalker::parent):
+ * dom/ElementShadow.cpp:
+ (WebCore::ElementShadow::collectSelectFeatureSetFrom):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::insertedInto):
+ (WebCore::ShadowRoot::removedFrom):
+ (WebCore::ShadowRoot::ensureScopeDistribution):
+ (WebCore::ShadowRoot::reportMemoryUsage):
+ * dom/ShadowRoot.h:
+ (WebCore):
+ (ShadowRoot):
+ (WebCore::ShadowRoot::scopeDistribution):
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ScopeContentDistribution::ScopeContentDistribution):
+ (WebCore::ScopeContentDistribution::invalidateInsertionPointList):
+ (WebCore::ScopeContentDistribution::ensureInsertionPointList):
+ (WebCore::ScopeContentDistribution::registerInsertionPoint):
+ (WebCore::ScopeContentDistribution::unregisterInsertionPoint):
+ (WebCore::ScopeContentDistribution::hasShadowElement):
+ (WebCore):
+ (WebCore::ScopeContentDistribution::hasContentElement):
+ (WebCore::ScopeContentDistribution::countElementShadow):
+ (WebCore::ScopeContentDistribution::hasInsertionPoint):
+ (WebCore::ScopeContentDistribution::assignedTo):
+ (WebCore::ContentDistributor::distribute):
+ (WebCore::ContentDistributor::invalidate):
+ * html/shadow/ContentDistributor.h:
+ (ScopeContentDistribution):
+ (WebCore::ScopeContentDistribution::registerElementShadow):
+ (WebCore::ScopeContentDistribution::unregisterElementShadow):
+ (WebCore::ScopeContentDistribution::hasElementShadow):
+ * html/shadow/HTMLShadowElement.cpp:
+ (WebCore::HTMLShadowElement::olderShadowRoot):
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore::InsertionPoint::insertedInto):
+ (WebCore::InsertionPoint::removedFrom):
+ (WebCore::InsertionPoint::contains):
+ (WebCore):
+ (WebCore::resolveReprojection):
+ * html/shadow/InsertionPoint.h:
+ (InsertionPoint):
+ (WebCore):
+ * testing/Internals.cpp:
+ (WebCore::Internals::hasShadowInsertionPoint):
+ (WebCore::Internals::hasContentElement):
+ (WebCore::Internals::countElementShadow):
+
+2013-01-08 Tom Sepez <tsepez@chromium.org>
+
+ Copy-paste preserves <embed> tags containing active content.
+ https://bugs.webkit.org/show_bug.cgi?id=77625
+
+ Reviewed by Ryosuke Niwa.
+
+ Test: editing/pasteboard/paste-noplugin.html
+
+ * dom/FragmentScriptingPermission.h:
+ (WebCore::scriptingContentIsAllowed):
+ (WebCore::pluginContentIsAllowed):
+ Add new permission to restrict plugin pasting. Add inline functions to check
+ the implications of each permission rather than having a list of raw comparisions
+ sprinkled throughout the code.
+
+ * editing/markup.cpp:
+ (WebCore::createFragmentFromMarkup):
+ Revert back to unsafe plugin pasting regardless of caller's intentions when
+ the settings allow it.
+
+ * dom/Element.cpp:
+ (WebCore::Element::parserSetAttributes):
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::insertScriptElement):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::endElementNs):
+ * xml/parser/XMLDocumentParserQt.cpp:
+ (WebCore::XMLDocumentParser::parseEndElement):
+ Use new inline functions to check implications of permissions rather than raw
+ comparisions.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+ (WebCore::HTMLTreeBuilder::processEndTag):
+ Check if plugin pasting is allowed before inserting applet/embed/oject elements.
+
+ * page/Settings.in:
+ Declaration of new unsafePluginPastingEnabled setting.
+
+ * platform/mac/PasteboardMac.mm:
+ (WebCore::Pasteboard::documentFragment):
+ * 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/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):
+ Pass DisallowScriptingAndPluginContent enum value.
+
+2013-01-08 Alexis Menard <alexis@webkit.org>
+
+ WebKit does not reject some cubic-bezier form values for transition-timing-function.
+ https://bugs.webkit.org/show_bug.cgi?id=106369
+
+ Reviewed by Dean Jackson.
+
+ http://www.w3.org/TR/css3-transitions/#transition-timing-function-property
+ describes restricitions on cubic-bezier values where the x values of
+ the curve should be between [0, 1] and y values can exceed this range.
+ WebKit was not following the specification by allowing x values
+ exceeding the range.
+ The spec also says that we should reject the defintion if the condition
+ is not respected which is what the new code does.
+
+ Test: transitions/transitions-parsing.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseAnimationTimingFunction):
+
+2013-01-08 Andreas Kling <akling@apple.com>
+
+ Heap-use-after-free in bool WebCore::SelectorChecker::checkOneSelector.
+ <http://webkit.org/b/105834>
+
+ Reviewed by Antti Koivisto.
+
+ Suppress the DOMSubtreeModified event when synchronizing the "style" attribute and we've
+ instantiated an Attr node wrapper for the said attribute.
+
+ Also added an assertion that Document's StyleResolver isn't cleared during style recalc,
+ which will help us catch this kind of bug in the future.
+
+ Test: fast/dom/mutation-event-listener-with-dirty-inline-style-crash.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::styleResolverThrowawayTimerFired):
+ * dom/Element.cpp:
+ (WebCore::Element::setAttributeInternal):
+
+2013-01-08 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r139096.
+ http://trac.webkit.org/changeset/139096
+ https://bugs.webkit.org/show_bug.cgi?id=106367
+
+ not a complete fix (Requested by bweinstein on #webkit).
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::userDidClickSnapshot):
+
+2013-01-08 Brian Weinstein <bweinstein@apple.com>
+
+ Plug-ins shouldn’t be added to list to autostart if you start a plugin in private browsing.
+ https://bugs.webkit.org/show_bug.cgi?id=106348
+ <rdar://problem/12968442>
+
+ Reviewed by Anders Carlsson.
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Don't call addAutoStartOrigin if we are
+ in private browsing mode.
+
+2013-01-08 Chris Fleizach <cfleizach@apple.com>
+
+ AX: native popup buttons should not use textUnderElement for their title
+ https://bugs.webkit.org/show_bug.cgi?id=106349
+
+ Reviewed by Ryosuke Niwa.
+
+ Native popup buttons (<select> elements) were calculating its title based on the text
+ under the element. When Bug 103794 introduced a more complete way of getting render text,
+ it causes popup buttons to start returning a title.
+ The fix is that we should not be calculating a title for a native popup button from its children.
+
+ Existing tests cover this functionality. This will fix a failing test.
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::visibleText):
+
+2013-01-08 Ojan Vafai <ojan@chromium.org>
+
+ text controls are sized too small when a percentage height is set
+ https://bugs.webkit.org/show_bug.cgi?id=106277
+
+ Reviewed by Tony Chang.
+
+ This makes our behavior match Firefox 17, IE 9 and Opera 12.
+ The current logic came from http://trac.webkit.org/changeset/13723,
+ which itself was copy-pasted from RenderReplaced and no longer has this clause..
+
+ Test: fast/forms/percent-height-auto-width-form-controls.html
+
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::computePreferredLogicalWidths):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::computePreferredLogicalWidths):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::computePreferredLogicalWidths):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::computePreferredLogicalWidths):
+
+2013-01-08 Peter Beverloo <peter@chromium.org>
+
+ [Chromium] Modify Android's user agent CSS to not set a border-radius on select elements
+ https://bugs.webkit.org/show_bug.cgi?id=106327
+
+ Reviewed by Adam Barth.
+
+ Android's user agent CSS overrides the style applied to <select>
+ elements with a @size or @multiple attribute, and then applies
+ (among other things) a border-radius of 5 pixels. While select
+ elements with a larger size or multiple selection should appear
+ as drop-down boxes for now, setting the border radius causes
+ Chromium to skip rendering the background and border, making
+ them hard to read when the page relies on the default styling.
+
+ This is covered by existing pixel tests.
+
+ * css/themeChromiumAndroid.css:
+ (select[size][multiple]):
+
+2013-01-08 Mike West <mkwst@chromium.org>
+
+ CSP: 'none' should take effect only if no other source expression is present.
+ https://bugs.webkit.org/show_bug.cgi?id=106314
+
+ Reviewed by Adam Barth.
+
+ WebKit's handling of 'none' in Content Security Policy source lists
+ doesn't quite match the spec. Currently, we're treating any source list
+ that contains 'none' as its first token as an empty list. That is:
+ "script-src 'none'" is handled in the same way as
+ "script-src 'none' example.com". Based on a bit of public-webappsec@
+ discussion[1], the behavior we actually want should treat the first as
+ an empty list, while treating the second as "script-src example.com". In
+ other words, 'none' in a source list is a no-op, unless it is the _only_
+ item in the source list.
+
+ This patch adjusts our parsing behavior accordingly, and tweaks the
+ console log we emit for invalid source expressions to warn specifically
+ about this case.
+
+ [1]: http://lists.w3.org/Archives/Public/public-webappsec/2013Jan/0006.html
+
+ Test: http/tests/security/contentSecurityPolicy/source-list-parsing-none.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::isSourceListNone):
+ A new static method that returns true when given a string that
+ contains only 'none' (potentially surrounded by whitespace), and
+ false otherwise.
+ (WebCore):
+ (WebCore::CSPSourceList::parse):
+ Move the 'none' check into the initial layer of parsing, which means
+ that we can drop the 'isFirstSourceInList' check entirely.
+ (WebCore::CSPSourceList::parseSource):
+ Since we've already checked for 'none' in ::parse, we can at this
+ point safely treat any occurance of 'none' in the source list as an
+ invalid expression.
+ (WebCore::ContentSecurityPolicy::reportInvalidSourceExpression):
+ If the invalid expression is 'none', add a clarification to the
+ console message, noting that 'none' only has effect when it's all
+ alone.
+
+2013-01-08 Alok Priyadarshi <alokp@chromium.org>
+
+ Added OpaqueRegionSkia::currentTrackingOpaqueRect
+
+ [chromium] Add OpaqueRegionSkia::currentTrackingOpaqueRect
+ https://bugs.webkit.org/show_bug.cgi?id=106267
+
+ Reviewed by Stephen White.
+
+ No new tests needed. No change in functionality.
+
+ * platform/graphics/skia/OpaqueRegionSkia.cpp:
+ (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
+ (WebCore::OpaqueRegionSkia::markRectAsOpaque):
+ (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
+ (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
+ (WebCore::OpaqueRegionSkia::currentTrackingOpaqueRect):
+ (WebCore):
+ * platform/graphics/skia/OpaqueRegionSkia.h:
+ (OpaqueRegionSkia):
+
+2013-01-08 Zan Dobersek <zandobersek@gmail.com>
+
+ [GTK] Build failures when building with python 3.3
+ https://bugs.webkit.org/show_bug.cgi?id=106194
+
+ Reviewed by Dirk Pranke.
+
+ Python 3.3 introduced changes to dictionaries which can result in changed
+ iteration order. More about these changes:
+ http://docs.python.org/3.3/whatsnew/3.3.html#pep-412-key-sharing-dictionary
+ http://www.python.org/dev/peps/pep-0412/#cons
+
+ This causes the Source/WebCore/inspector/generate-inspector-protocol-version
+ script to fail the self-testing when using Python 3.3. These changes work
+ around this problem by not checking for expected errors in order but rather
+ for their presence in the error output sequence. The number of actual errors
+ is also checked to be equal to the number of expected errors.
+
+ No new tests - no new functionality.
+
+ * inspector/generate-inspector-protocol-version:
+ (self_test):
+
+2013-01-08 Antoine Quint <graouts@apple.com>
+
+ <track> element's mode set to "disabled" after load although it was explicitly set to "hidden"
+ https://bugs.webkit.org/show_bug.cgi?id=105536
+
+ Remove all concept of "showing by default". This means removing the showingByDefault()
+ and setShowingByDefault() methods on TextTrack. As I was going through this code,
+ I also noticed that in HTMLMediaElement::configureTextTrackGroup(), we would set
+ defaultTrack to textTrack.get() even though defaultTrack was created to be a RefPtr<TextTrack>.
+
+ As a result, we can now pass an additional 8 tests from the Opera-submitted test suite:
+
+ LayoutTests/media/track/opera/interfaces/TextTrack/addCue.html
+ LayoutTests/media/track/opera/interfaces/TextTrack/removeCue.html
+ LayoutTests/media/track/opera/interfaces/TextTrackCue/endTime.html
+ LayoutTests/media/track/opera/interfaces/TextTrackCue/startTime.html
+ LayoutTests/media/track/opera/interfaces/TextTrackCue/align.html
+ LayoutTests/media/track/opera/interfaces/TextTrackCue/id.html
+ LayoutTests/media/track/opera/interfaces/TextTrackCue/pauseOnExit.html
+ LayoutTests/media/track/opera/interfaces/TextTrackCue/track.html
+
+ Reviewed by Eric Carlson.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::configureTextTrackGroup):
+ (WebCore::HTMLMediaElement::toggleTrackAtIndex):
+ * html/track/TextTrack.cpp:
+ (WebCore::TextTrack::TextTrack):
+ (WebCore::TextTrack::setMode):
+ (WebCore::TextTrack::isRendered):
+ * html/track/TextTrack.h:
+ (WebCore::TextTrack::mode):
+ (TextTrack):
+
+2013-01-08 Mark Lam <mark.lam@apple.com>
+
+ Removed the need for the ProposedDatabase mechanism.
+ https://bugs.webkit.org/show_bug.cgi?id=106292.
+
+ Reviewed by Sam Weinig.
+
+ No new tests.
+
+ * Modules/webdatabase/AbstractDatabase.cpp:
+ (WebCore::AbstractDatabase::details):
+ (WebCore):
+ * Modules/webdatabase/AbstractDatabase.h:
+ (AbstractDatabase):
+ * Modules/webdatabase/DatabaseContext.cpp:
+ (WebCore::DatabaseContext::databaseExceededQuota):
+ * Modules/webdatabase/DatabaseContext.h:
+ (DatabaseContext):
+ * Modules/webdatabase/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::canEstablishDatabase):
+ (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
+ (WebCore::DatabaseTracker::detailsForNameAndOrigin):
+ * Modules/webdatabase/DatabaseTracker.h:
+ (DatabaseTracker):
+ * Modules/webdatabase/SQLTransactionClient.cpp:
+ (WebCore::SQLTransactionClient::didExceedQuota):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::exceededDatabaseQuota):
+ * page/ChromeClient.h:
+ (ChromeClient):
+
+2013-01-08 Chris Fleizach <cfleizach@apple.com>
+
+ AX: PopUpButtons do not report that AXValueAttribute is supported
+ https://bugs.webkit.org/show_bug.cgi?id=106333
+
+ Reviewed by Ryosuke Niwa.
+
+ The Mac platform expects that AXPopUpButton's expose the AXValue attribute.
+
+ Test: platform/mac/accessibility/popup-button-exposes-axvalue.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isPopUpButton):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
+
+2013-01-08 Alexis Menard <alexis@webkit.org>
+
+ transition-delay and transition-duration return incorrect values when querying using the computed style.
+ https://bugs.webkit.org/show_bug.cgi?id=105432
+
+ Reviewed by Dean Jackson.
+
+ When setting the transition-delay to 10ms for example the value of transition-delay
+ on the computed style was incorrect, it should return 0.01s but it was
+ returning something like 0.0099999999...s. In fact the bug was after
+ the parsing step when creating the Animation object where a conversion
+ from a double to float was done. This conversion is not needed as the
+ animation class expects double for delay and transition times.
+
+ Test: transitions/transitions-parsing.html
+
+ * css/CSSToStyleMap.cpp:
+ (WebCore::CSSToStyleMap::mapAnimationDelay):
+ (WebCore::CSSToStyleMap::mapAnimationDuration):
+
+2013-01-08 Hajime Morrita <morrita@google.com>
+
+ [Shadow DOM] Refactoring: invalidateParentDistributionIfNecessary() calls are too intrusive
+ https://bugs.webkit.org/show_bug.cgi?id=106305
+
+ Reviewed by Dimitri Glazkov.
+
+ Scattering invalidateParentDistributionIfNecessary() looks bad because
+ - it has long name whose terminology is cryptic for people who don't know much about Shadow DOM standard.
+ - its calls are always paired with setNeedsStyleRecalc() and people do setNeedsStyleRecalc()
+ need to be aware about distribution feature bit tracking. Separate invalidateParentDistributionIfNecessary()
+ call doesn't help that recognition.
+
+ This change introduces Element::didAffectSelector() to replace a setNeedsStyleRecalc()-i37y() call sequence.
+ SelectRuleFeatureSet::FeatureRule is renamed AffectedSelectorType so that it explains its purpose
+ in a bit more plain WebKit term.
+
+ No new tests. Refactoring.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setCSSTarget): Adopted didAffectSelector.
+ * dom/Element.cpp:
+ (WebCore::Element::didAffectSelector): Added.
+ (WebCore):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementShadow.cpp:
+ (WebCore::ElementShadow::didAffectSelector): Morphed from invalidateParentDistributionIfNecessary().
+ * dom/ElementShadow.h:
+ (ElementShadow):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::parseAttribute): Adopted didAffectSelector
+ * html/HTMLDetailsElement.cpp:
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::disabledAttributeChanged): Adopted didAffectSelector
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::setChecked): Adopted didAffectSelector
+ (WebCore::HTMLInputElement::setIndeterminate): Adopted didAffectSelector
+ * html/HTMLOptGroupElement.cpp:
+ (WebCore::HTMLOptGroupElement::parseAttribute): Adopted didAffectSelector
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::parseAttribute): Adopted didAffectSelector
+ (WebCore::HTMLOptionElement::setSelectedState): Adopted didAffectSelector
+ * html/HTMLProgressElement.cpp:
+ (WebCore::HTMLProgressElement::didElementStateChange): Adopted didAffectSelector
+ * html/HTMLSummaryElement.cpp:
+ * html/shadow/HTMLContentElement.cpp:
+ * html/shadow/SelectRuleFeatureSet.cpp:
+ (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector): Followed renaming.
+ * html/shadow/SelectRuleFeatureSet.h: Followed renaming.
+ (WebCore::SelectRuleFeatureSet::hasSelectorForChecked):
+ (WebCore::SelectRuleFeatureSet::hasSelectorForEnabled):
+ (WebCore::SelectRuleFeatureSet::hasSelectorForDisabled):
+ (WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
+ (WebCore::SelectRuleFeatureSet::hasSelectorForLink):
+ (WebCore::SelectRuleFeatureSet::hasSelectorForTarget):
+ (WebCore::SelectRuleFeatureSet::hasSelectorForVisited):
+ (WebCore::SelectRuleFeatureSet::hasSelectorFor):
+ (WebCore::SelectRuleFeatureSet::setSelectRuleFeature):
+
+2013-01-08 Sergio Villar Senin <svillar@igalia.com>
+
+ [Qt] Fix build with --web-audio
+ https://bugs.webkit.org/show_bug.cgi?id=106328
+
+ Reviewed by Philippe Normand.
+
+ Build fix, no new tests required.
+
+ * Target.pri: addded missing OfflineAudioContext.[cpp|h].
+
+2013-01-08 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Login & password shown in browsers' URL entry after successful HTTP authentication
+ https://bugs.webkit.org/show_bug.cgi?id=105190
+
+ Reviewed by Carlos Garcia Campos.
+
+ Test: http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url.html
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback): After sending a redirect with credentials to libsoup, strip
+ the credentials from the request. This ensures that the credentials do not show up in
+ the user agent or in document.location.
+
+2013-01-08 Keishi Hattori <keishi@webkit.org>
+
+ [Chromium] Don't confine page popups to root view on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=106315
+
+ Reviewed by Kent Tamura.
+
+ No new tests.
+
+ * Resources/pagepopups/pickerCommon.js:
+ (adjustWindowRect): Remove code to confine to root view.
+
+2012-12-12 Antonio Gomes <a1.gomes@sisa.samsung.com>
+
+ Make RenderLayer::updateNeedsCompositedScrolling scrollbars agnostic
+ https://bugs.webkit.org/show_bug.cgi?id=95494
+
+ Reviewed by James Robinson.
+
+ Some ports (including Qt-wk1 and BlackBerry) allow disabling
+ scrollbars at FrameView creation level. That said, cheking for the
+ scrollbars presence in order to determine if we should promote a
+ RenderLayer to use composited scrolling is not ideal, as done in
+ RenderLayerCompositor::updateNeedsCompositedScrolling()
+
+ Instead, this patch makes the RenderLayer class to query its FrameView
+ if it has been cached as scrollable by the later.
+
+ Least, patch also takes this opportunity to remove RenderLayer::allowsScrolling,
+ which became unused.
+
+ No new tests added, since there is no *practical* behavior change: ports
+ like Chromium and others who currently check for the scrollbars presence
+ in order to determine either to promote or not layers to benefit of composited
+ scrolling should not be affected.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateNeedsCompositedScrolling):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+
+2012-12-20 Antonio Gomes <a1.gomes@sisa.samsung.com>
+
+ Introduce a compositing trigger for scrollable frames
+ https://bugs.webkit.org/show_bug.cgi?id=105573
+
+ Reviewed by James Robinson.
+
+ Make requiresCompositingForScrollableFrame to check the
+ newly added compositing trigger instead of the associated setting.
+
+ It introduces no have behavior change, so no new tests. Patch basically
+ does some preparation work for adding support to composite scrollable inner
+ frames independently from "force compositing mode" bit.
+
+ * page/ChromeClient.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
+ (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
+
+2013-01-08 Kihong Kwon <kihong.kwon@samsung.com>
+
+ Add DeviceProximityController to support Device Proximity Events.
+ https://bugs.webkit.org/show_bug.cgi?id=97630
+
+ Reviewed by Hajime Morita.
+
+ Implement DeviceProximityController which is inherited from DeviceController to support Device Proximity Events.
+ DeviceProximityController has two major functionalities.
+ - When listener is added, DeviceProximityController stores DOMWindow pointer to m_listeners
+ and start gathering proximity event.
+ - When DeviceProximityController receives a proximity event from client, fire an event using m_listeners.
+ In addition, setDeviceProximity function is added to Internals for layout test.
+
+ Tests: proximity/add-listener-from-callback.html
+ proximity/basic-operation.html
+ proximity/create-event.html
+ proximity/event-after-navigation.html
+ proximity/multiple-frames.html
+ proximity/no-page-cache.html
+ proximity/optional-event-properties.html
+ proximity/updates.html
+ proximity/window-property.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * Modules/proximity/DeviceProximityClient.h: Added.
+ (WebCore):
+ (DeviceProximityClient):
+ (WebCore::DeviceProximityClient::~DeviceProximityClient):
+ * Modules/proximity/DeviceProximityController.cpp: Added.
+ (WebCore):
+ (WebCore::DeviceProximityController::DeviceProximityController):
+ (WebCore::DeviceProximityController::create):
+ (WebCore::DeviceProximityController::didChangeDeviceProximity):
+ (WebCore::DeviceProximityController::deviceProximityClient):
+ (WebCore::DeviceProximityController::hasLastData):
+ (WebCore::DeviceProximityController::getLastEvent):
+ (WebCore::DeviceProximityController::supplementName):
+ (WebCore::DeviceProximityController::from):
+ (WebCore::DeviceProximityController::isActiveAt):
+ (WebCore::provideDeviceProximityTo):
+ * Modules/proximity/DeviceProximityController.h: Added.
+ (WebCore):
+ (DeviceProximityController):
+ (WebCore::DeviceProximityController::~DeviceProximityController):
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.xcodeproj/project.pbxproj:
+ * history/PageCache.cpp:
+ When a page has Device Proximity Event Listener, it has not to be cached like Device Orientation.
+ (WebCore::logCanCachePageDecision):
+ (WebCore::PageCache::canCache):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::addEventListener):
+ (WebCore::DOMWindow::removeEventListener):
+ (WebCore::DOMWindow::removeAllEventListeners):
+ * testing/Internals.cpp:
+ (WebCore::Internals::setDeviceProximity):
+ (WebCore):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2013-01-03 Sergio Villar Senin <svillar@igalia.com>
+
+ [GTK] Add WebP image support
+ https://bugs.webkit.org/show_bug.cgi?id=105915
+
+ Reviewed by Martin Robinson.
+
+ * GNUmakefile.am: add WTF_USE_WEBP definition.
+ * GNUmakefile.list.am: properly sort image decoders in the sources list.
+
+2013-01-08 Steve Block <steveblock@chromium.org>
+
+ Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
+ https://bugs.webkit.org/show_bug.cgi?id=106307
+
+ This matches other method names which distinguish between sizes and
+ points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.
+
+ Reviewed by Kentaro Hara.
+
+ Refactoring only, no functional change.
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::scrollTo):
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::scrollOffset):
+ * platform/graphics/IntPoint.h:
+ (WebCore::toIntSize):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ (WebCore::RenderLayer::positionNewlyCreatedOverflowControls):
+ (WebCore::RenderLayer::paintOverflowControls):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+
+2013-01-08 Yoshifumi Inoue <yosin@chromium.org>
+
+ Dragging over an element with scrollbars should scroll the element when dragging near edges
+ https://bugs.webkit.org/show_bug.cgi?id=39725
+
+ Reviewed by Hajime Morita.
+
+ This patch introduces auto scrolling functionality during drag-and-drop
+ when drop source is near edge of scrollable element.
+
+ When drop source is inside 20px of scrollable element more than 200ms,
+ scrollable element is automatically scrolled every 50ms toward drop
+ source position, e.g. vertically scroll up when drop source is in top
+ edge.
+
+ Test: fast/events/drag-and-drop-autoscroll.html
+
+ * page/AutoscrollController.cpp:
+ (WebCore::AutoscrollController::AutoscrollController): Changed to initialize m_dragAndDropAutoscrollStartTime.
+ (WebCore::AutoscrollController::updateDragAndDrop): Added for start/stop autoscroll during drag-and-drop.
+ (WebCore::AutoscrollController::autoscrollTimerFired): Changed to add autoscroll for drag-and-drop, and to pass last know position to RenderBox::autoscroll().
+ * page/AutoscrollController.h:
+ (AutoscrollController): Changed to add updateDragAndDrop() and m_dragAndDropAutoscrollReferencePosition and m_dragAndDropAutoscrollStartTime.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::updateDragAndDrop): Changed to call AutoscrollController::updateDragAndDrop().
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::autoscroll): Changed for new parameter position.
+ (WebCore::RenderBox::calculateAutoscrollDirection): Added for autoscroll.
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::autoscroll): Changed for new parameter position and move updateSelectionForMouseDrag() to AutoscrollController.
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::autoscroll): Changed for new parameter position.
+ * rendering/RenderListBox.h:
+ (RenderListBox):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::autoscroll): Changed for new parameter position.
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine):
+
+2013-01-08 Jochen Eisinger <jochen@chromium.org>
+
+ REGRESSION(r139036): 'WebCore::DateTimeSymbolicFieldElement::isInRange' hides overloaded virtual function
+ https://bugs.webkit.org/show_bug.cgi?id=106311
+
+ Unreviewed build fix.
+
+ * html/shadow/DateTimeSymbolicFieldElement.cpp:
+ (WebCore::DateTimeSymbolicFieldElement::stepDown):
+ (WebCore::DateTimeSymbolicFieldElement::stepUp):
+ * html/shadow/DateTimeSymbolicFieldElement.h:
+ (WebCore::DateTimeSymbolicFieldElement::indexIsInRange): renamed method to avoid hiding Element::isInRange
+
+2013-01-08 Adam Barth <abarth@webkit.org>
+
+ HTMLTreeBuilder shouldn't keep a Document pointer
+ https://bugs.webkit.org/show_bug.cgi?id=106268
+
+ Reviewed by Eric Seidel.
+
+ The tree builder shouldn't interact with the Document directly.
+ Instead, the tree builder should use the HTMLConstructionSite to
+ interact with the document.
+
+ Unfortunately, the HTMLTreeBuilder does need to read back one bit of
+ information (the quirks mode) from the Document. Currently the
+ HTMLConstructionSite reads the information directly from the Document.
+ If/when we move the parser onto its own thread, we'll need to keep
+ track of this bit on the parser thread. (We should be able to
+ encapsulate all that logic in the HTMLConstructionSite.)
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::setDefaultCompatibilityMode):
+ (WebCore):
+ (WebCore::HTMLConstructionSite::finishedParsing):
+ (WebCore::HTMLConstructionSite::inQuirksMode):
+ * html/parser/HTMLConstructionSite.h:
+ (HTMLConstructionSite):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+ (WebCore::HTMLTreeBuilder::detach):
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+ (WebCore::HTMLTreeBuilder::defaultForInitial):
+ (WebCore::HTMLTreeBuilder::finished):
+ * html/parser/HTMLTreeBuilder.h:
+ (HTMLTreeBuilder):
+
+2013-01-08 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
+
+ Float block's logical top margin is illegal in vertical writing mode.
+ https://bugs.webkit.org/show_bug.cgi?id=96597
+
+ Reviewed by Hajime Morita.
+
+ flipFloatForWritingModeForChild() should use child->renderer()->width() not child->width() like horizontal writing mode.
+
+ Test: fast/writing-mode/vertical-float-margin.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::flipFloatForWritingModeForChild):
+
+2013-01-07 Kent Tamura <tkent@chromium.org>
+
+ REGRESSION(r137406): Text inside an empty optgroup prevents subsequent options from appearing
+ https://bugs.webkit.org/show_bug.cgi?id=106298
+
+ Reviewed by Ryosuke Niwa.
+
+ Test: fast/forms/select/select-empty-optgroup.html
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::recalcListItems):
+ Traverse to the first element within the 'current' only if it exists.
+
+2013-01-07 Steve Block <steveblock@chromium.org>
+
+ Use toSize() to convert from Int/FloatPoint to Int/FloatSize
+ https://bugs.webkit.org/show_bug.cgi?id=105992
+
+ Reviewed by Kentaro Hara.
+
+ Refactoring only, no change in behavior.
+
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::computePath):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::scrollOffset):
+ * platform/graphics/FloatPoint.h:
+ (WebCore::toFloatSize):
+ Add 'inline FloatSize toFloatSize(const FloatPoint&)' to match IntPoint.
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+
+2013-01-07 Kunihiko Sakamoto <ksakamoto@chromium.org>
+
+ INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of month/day field should respect min/max attributes
+ https://bugs.webkit.org/show_bug.cgi?id=106212
+
+ Reviewed by Kent Tamura.
+
+ Make step-up/-down of the month and day fields respect the min/max
+ attributes of the element.
+ Note that these fields still accept any keyboard inputs (the element
+ becomes 'invalid' state when out-of-bounds values entered).
+
+ Tests: fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html
+ fast/forms/date-multiple-fields/date-multiple-fields-stepup-stepdown-from-renderer.html
+ fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html
+ fast/forms/month-multiple-fields/month-multiple-fields-stepup-stepdown-from-renderer.html
+
+ * css/html.css: Add CSS rules for month and day fields.
+ * html/shadow/DateTimeEditElement.cpp:
+ (WebCore::DateTimeEditBuilder::visitField):
+ Compute minimum/maximum values of month/day fields from the min/max
+ parameters of the element. If minimum, maximum, and current value is
+ the same, makes the field read-only.
+ * html/shadow/DateTimeFieldElements.cpp:
+ (WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement): Add mininum/maximum arguments.
+ (WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Ditto.
+ (WebCore::DateTimeDayFieldElement::create): Ditto.
+ (WebCore::DateTimeDayFieldElement::clampValueForHardLimits): Added.
+ (WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement): Add mininum/maximum arguments.
+ (WebCore::DateTimeMonthFieldElement::create): Ditto.
+ (WebCore::DateTimeMonthFieldElement::clampValueForHardLimits): Added.
+ (WebCore::DateTimeSymbolicMonthFieldElement::DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
+ (WebCore::DateTimeSymbolicMonthFieldElement::create): Ditto.
+ * html/shadow/DateTimeFieldElements.h:
+ (DateTimeDayFieldElement): Add mininum/maximum arguments and declare clampValueForHardLimits.
+ (DateTimeMonthFieldElement): Ditto.
+ (DateTimeSymbolicMonthFieldElement): Add mininum/maximum arguments.
+ * html/shadow/DateTimeSymbolicFieldElement.cpp:
+ (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Add mininum/maximum arguments.
+ (WebCore::DateTimeSymbolicFieldElement::maximum): Returns m_maximumIndex + 1 as it assumes 1-origin value.
+ (WebCore::DateTimeSymbolicFieldElement::minimum): Ditto.
+ (WebCore::DateTimeSymbolicFieldElement::stepDown): Restrict value to m_minimumIndex-m_maximumIndex.
+ (WebCore::DateTimeSymbolicFieldElement::stepUp): Ditto.
+ * html/shadow/DateTimeSymbolicFieldElement.h:
+ (DateTimeSymbolicFieldElement): Add m_minimumIndex and m_maximumIndex.
+ (WebCore::DateTimeSymbolicFieldElement::isInRange): Added.
+
+2013-01-07 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
+
+ [EFL][WK2][WebGL] The top left side of the screen is shown inside the canvas element
+ https://bugs.webkit.org/show_bug.cgi?id=105136
+
+ Reviewed by Noam Rosenthal.
+
+ Use glXSwapBuffers to force resize of GL surface after X window resize.
+
+ Fixes fast/canvas/webgl/webgl-composite-modes.html pixel test on EFL platform.
+
+ * platform/graphics/surfaces/glx/X11WindowResources.cpp:
+ (WebCore::X11OffScreenWindow::reSizeWindow):
+
+2013-01-07 Steve Block <steveblock@chromium.org>
+
+ Use explicit constructor to convert from Int/FloatSize to Int/FloatPoint
+ https://bugs.webkit.org/show_bug.cgi?id=106209
+
+ Reviewed by Kentaro Hara.
+
+ Refactoring only, no functional change.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+
+2013-01-07 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
+
+ [EFL][WebGL] Crash of WebKitTestRunner when running webgl layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=105936
+
+ Reviewed by Laszlo Gombos.
+
+ If canvas window becomes invalid don't create pixmap from it and don't
+ use it for painting.
+
+ Improves stability of existing webgl layout tests.
+
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
+ (WebCore::GraphicsSurfacePrivate::createPixmap):
+ (WebCore::GraphicsSurfacePrivate::size):
+ (WebCore::GraphicsSurface::platformGetTextureID):
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+
+2013-01-07 Hajime Morrita <morrita@google.com>
+
+ Document::m_activeNode should be always an Element.
+ https://bugs.webkit.org/show_bug.cgi?id=106193
+
+ Reviewed by Ryosuke Niwa.
+
+ r137277 tightened an invariant that assumes that active node is
+ always an element. But Document::updateHoverActiveState() didn't
+ respect that assumption. This change forces it.
+
+ Test: svg/custom/text-use-click-crash.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::removedLastRef):
+ (WebCore::Document::detach):
+ (WebCore::Document::setActiveNode):
+ (WebCore::Document::activeChainNodeDetached):
+ (WebCore::Document::updateHoverActiveState):
+ * dom/Document.h:
+ (WebCore::Document::activeElement): Renamed from m_activeNode for the clarification.
+ (Document):
+
+2013-01-07 Hajime Morrita <morrita@google.com>
+
+ WebKit should compile on Mac with --shadow-dom
+ https://bugs.webkit.org/show_bug.cgi?id=105469
+
+ Reviewed by Dimitri Glazkov.
+
+ No new tests. Just changing build files.
+
+ * WebCore.exp.in:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Element.idl:
+
+2013-01-07 Stephen White <senorblanco@chromium.org>
+
+ Add a flag to control canvas antialiasing.
+ https://bugs.webkit.org/show_bug.cgi?id=106255
+
+ Reviewed by Darin Fisher.
+
+ This flag is not exposed through TestRunner or DRT, so no testing is
+ possible yet.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+ * page/Settings.in:
+
+2013-01-07 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [CSS Grid Layout] Implement grid items sizing for fixed minmax grid tracks
+ https://bugs.webkit.org/show_bug.cgi?id=104700
+
+ Reviewed by Tony Chang.
+
+ This change implements parts of the minmax() track sizing algorithm. The chosen subset enables us
+ to resolve any sizing function that doesn't size based on the content (min-content, max-content).
+
+ Tests: fast/css-grid-layout/minmax-fixed-logical-height-only.html
+ fast/css-grid-layout/minmax-fixed-logical-width-only.html
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::GridTrack::GridTrack):
+ Added a new member to hold the maximum track breadth.
+
+ (WebCore::RenderGrid::computePreferredLogicalWidths):
+ (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
+ Updated these functions to work on both min and max track breadth. In order to match
+ the specification, if max track breadth < min track breadth, we ignore the max track breadth.
+ For computedUsedBreadthOfGridTracks, it also involves calling distributeSpaceToTracks.
+
+ (WebCore::RenderGrid::computeUsedBreadthOfLength):
+ New helper function that compute a single length's size.
+
+ (WebCore::sortByGridTrackGrowthPotential):
+ Ordering function for the sorting the track: it orders the track per increasing potential
+ growth (defined as the difference between max breadth and the currently used breadth).
+
+ (WebCore::RenderGrid::distributeSpaceToTracks):
+ Added this function that matches the specification's algorithm. Only the relevant bits from
+ the specification were implemented for now (for example, SubsetOfTracksForGrowthBeyondTrackGrowthConstraint
+ is always the empty set so it was omitted).
+
+ * rendering/RenderGrid.h:
+ Added the new functions and declared GridTrack as public into the WebCore namespace.
+
+ * rendering/style/GridTrackSize.h:
+ (WebCore::GridTrackSize::minTrackBreadth):
+ (WebCore::GridTrackSize::maxTrackBreadth):
+ Removed 2 ASSERTs as the layout algorithm doesn't care if the min / max were
+ set from a single track breadth or through minmax().
+
+2013-01-07 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Add a setting to enable composited scrolling for frames
+ https://bugs.webkit.org/show_bug.cgi?id=104950
+
+ Reviewed by James Robinson.
+
+ Test: compositing/iframes/iframe-composited-scrolling.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::usesCompositedScrolling): Returns true if compositedScrollingForFramesEnabled and the frame is in forced compositing mode (which is set when forced compositing mode and compositing for scrollable frames are enabled), so that ScrollingCoordinator won't include the region of the frame in the nonFastScrollableRegion.
+ (WebCore):
+ * page/FrameView.h:
+ (FrameView):
+ * page/Settings.in: Add compositedScrollingForFramesEnabled setting.
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated): Changed the comment about which ScrollableAreas are non-fast-scrollable.
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::frameViewDidScroll): Let ScrollongCoordinator know when the scrolling changes for a frame with composited scrolling enabled.
+
+2013-01-07 Alexandre Elias <aelias@chromium.org>
+
+ Divide gesture scroll delta by scale factor
+ https://bugs.webkit.org/show_bug.cgi?id=106263
+
+ Reviewed by Adam Barth.
+
+ Gesture scroll deltas were not being adjusted by the frame's scale
+ factors, resulting in overly fast main-thread scrolling when zoomed
+ in.
+
+ New test: fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureScrollCore):
+
+2013-01-07 Adam Barth <abarth@webkit.org>
+
+ HTMLTreeBuilder should not depend on Frame
+ https://bugs.webkit.org/show_bug.cgi?id=106256
+
+ Reviewed by Eric Seidel.
+
+ Rather than have the tree builder ask the Frame whether scripting and
+ plugins are enabled, we now push that information to the tree builder
+ via HTMLParserOptions, letting us remove the Frame dependency from the
+ tree builder.
+
+ As a consequence of this change, the "script enabled" bit in the parser
+ is now locked in when the parser starts. This bit doesn't actually
+ control when script execute, only how the <noscript> element is parsed.
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::tokenizerStateForContextElement):
+ (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+ * html/parser/HTMLMetaCharsetParser.cpp:
+ (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
+ (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
+ * html/parser/HTMLParserOptions.cpp:
+ (WebCore::HTMLParserOptions::HTMLParserOptions):
+ * html/parser/HTMLParserOptions.h:
+ (HTMLParserOptions):
+ (WebCore::HTMLParserOptions::HTMLParserOptions):
+ * html/parser/HTMLPreloadScanner.cpp:
+ (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
+ (WebCore::HTMLPreloadScanner::processToken):
+ * html/parser/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::HTMLTokenizer):
+ (WebCore::HTMLTokenizer::nextToken):
+ (WebCore::HTMLTokenizer::updateStateFor):
+ * html/parser/HTMLTokenizer.h:
+ (WebCore::HTMLTokenizer::create):
+ (HTMLTokenizer):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processStartTagForInBody):
+ (WebCore::HTMLTreeBuilder::processStartTagForInHead):
+ * html/parser/HTMLTreeBuilder.h:
+ * html/parser/HTMLViewSourceParser.cpp:
+ (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
+ (WebCore::HTMLViewSourceParser::updateTokenizerState):
+
+2013-01-07 Tony Chang <tony@chromium.org>
+
+ Remove more internals.settings that are autogenerated
+ https://bugs.webkit.org/show_bug.cgi?id=106253
+
+ Reviewed by Adam Barth.
+
+ Remove 8 methods that are autogenerated by Settings.in.
+
+ No new tests, this is a refactor and is convered by existing tests.
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup): Remove backup.
+ (WebCore::InternalSettings::Backup::restoreTo): Remove restore.
+ * testing/InternalSettings.h:
+ (Backup): Remove member variables and functions.
+ (InternalSettings):
+ * testing/InternalSettings.idl: Remove functions.
+
+2013-01-07 Ryosuke Niwa <rniwa@webkit.org>
+
+ Another incremental build fix after r139013.
+
+ * mathml/MathMLAllInOne.cpp:
+
+2013-01-07 Ryosuke Niwa <rniwa@webkit.org>
+
+ Incremental build system on Windows port does not necessarily rebuild RenderBox.cpp after r139013.
+
+ * rendering/RenderingAllInOne.cpp:
+
+2013-01-07 Emil A Eklund <eae@chromium.org>
+
+ REGRESSION(SUBPIXEL_LAYOUT): el.offsetWidth < el.clientWidth for elements of a certain size
+ https://bugs.webkit.org/show_bug.cgi?id=106107
+
+ Reviewed by Levi Weintraub.
+
+ Add overloaded pixelSnappedOffsetWidth|Height methods to
+ RenderBox that do pixel snapping with the same offset
+ as clientWidth/height to ensure consistent rounding.
+
+ Test: fast/sub-pixel/client-and-offset-width.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::pixelSnappedOffsetWidth):
+ (WebCore::RenderBox::pixelSnappedOffsetHeight):
+ Snap using the same offset as the clientWidth/height versions.
+
+ * rendering/RenderBox.h:
+ Remove out of date FIXME and add OVERRIDE keyword.
+
+ * rendering/RenderBoxModelObject.h:
+ Mark pixelSnappedOffsetWidth|Height as virtual.
+
+2013-01-07 Adam Barth <abarth@webkit.org>
+
+ Introduce HTMLParserOptions to encapsulate HTML parser options
+ https://bugs.webkit.org/show_bug.cgi?id=106251
+
+ Reviewed by Eric Seidel.
+
+ Currently, the HTMLTreeBuilder (and potentially other parts of the
+ parser) use their Document* to read configuration information from the
+ Document (such as Settings). This patch introduces the
+ HTMLParserOptions class to encapsulate that information, making it
+ easier to move the HTML parser to a background thread (because the
+ HTMLTreeBuilder won't need to talk to the Document directly).
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::HTMLDocumentParser):
+ (WebCore::HTMLDocumentParser::pumpTokenizer):
+ (WebCore::HTMLDocumentParser::insert):
+ * html/parser/HTMLDocumentParser.h:
+ (HTMLDocumentParser):
+ * html/parser/HTMLPreloadScanner.cpp:
+ (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
+ * html/parser/HTMLPreloadScanner.h:
+ (WebCore):
+ (HTMLPreloadScanner):
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+ (WebCore::HTMLTreeBuilder::processEndTag):
+ (WebCore::HTMLTreeBuilder::processStartTagForInHead):
+ * html/parser/HTMLTreeBuilder.h:
+ (WebCore::HTMLTreeBuilder::create):
+ (HTMLTreeBuilder):
+ * html/parser/HTMLViewSourceParser.cpp:
+ (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
+
+2013-01-07 Joseph Pecoraro <pecoraro@apple.com>
+
+ Minor improvements to HTMLMediaElement
+ https://bugs.webkit.org/show_bug.cgi?id=105353
+
+ Reviewed by Eric Carlson.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::canPlayType):
+ (WebCore::createFileURLForApplicationCacheResource):
+ (WebCore::stringForNetworkState):
+ (WebCore::HTMLMediaElement::preload):
+ (WebCore::HTMLMediaElement::getPluginProxyParams):
+ Use ASCIILiteral for literal strings becoming WTFStrings.
+
+ (WebCore::HTMLMediaElement::setLoop):
+ By going through setAttribute, parseAttribute would already take care of
+ updating the disable sleep, so the call here is not needed.
+
+2013-01-07 Joseph Pecoraro <pecoraro@apple.com>
+
+ String improvements in geolocation and notifications modules
+ https://bugs.webkit.org/show_bug.cgi?id=105352
+
+ Reviewed by Sam Weinig.
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::GeoNotifier::timerFired):
+ (WebCore::Geolocation::startRequest):
+ (WebCore::Geolocation::requestUsesCachedPosition):
+ (WebCore::Geolocation::makeCachedPositionCallbacks):
+ (WebCore::Geolocation::setIsAllowed):
+ (WebCore::Geolocation::cancelRequests):
+ (WebCore::Geolocation::handlePendingPermissionNotifiers):
+ * Modules/geolocation/GeolocationController.cpp:
+ (WebCore::GeolocationController::positionChanged):
+ * Modules/notifications/WorkerContextNotifications.cpp:
+ Use ASCIILiteral for constant strings becoming WTFStrings.
+
+ (WebCore::WorkerContextNotifications::from):
+ Use AtomicString::ConstructFromLiteral for the static local.
+
+2013-01-07 Chris Fleizach <cfleizach@apple.com>
+
+ AX: the text of render counters are not exposed to Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=103794
+
+ Reviewed by Ryosuke Niwa.
+
+ Support RenderText objects that don't have nodes (like RenderCounter).
+
+ Test: accessibility/render-counter-text.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::textUnderElement):
+
+2013-01-07 Tim Horton <timothy_horton@apple.com>
+
+ Tiled-layer TileCaches shouldn't unparent offscreen tiles
+ https://bugs.webkit.org/show_bug.cgi?id=106258
+ <rdar://problem/12969116>
+
+ Reviewed by Simon Fraser.
+
+ Add a setting on TiledBacking (implemented on TileCache) that controls whether or not
+ the TileCache should unparent offscreen tiles. We can't use this behavior for tiled-layer TileCaches
+ currently because m_isInWindow is not updated for tiled-layer TileCaches, and because we haven't
+ decided exactly what their behavior should be. So, revert to the old behavior for them.
+
+ * platform/graphics/TiledBacking.h:
+ * platform/graphics/ca/mac/TileCache.h:
+ (TileCache): Add setUnparentsOffscreenTiles/unparentsOffscreenTiles.
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::TileCache): m_unparentsOffscreenTiles defaults to false.
+ (WebCore::TileCache::revalidateTiles):
+ Return to the old behavior of always adding new layers to the layer tree regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
+ Return to the old behavior of never unparenting tiles regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
+ (WebCore::TileCache::ensureTilesForRect): Return to the old behavior of always ensuring tiles regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::RenderLayerBacking): Tell primary TileCaches that it's OK to unparent offscreen tiles.
+
+2013-01-07 Justin Novosad <junov@google.com>
+
+ Fixing memory read after free in CanvasRenderingContext2D::accessFont
+ https://bugs.webkit.org/show_bug.cgi?id=106244
+
+ Reviewed by Abhishek Arya.
+
+ Using a temporary String object to hold ref count on string that is
+ passed by reference in CanvasRenderingContext2D::accessFont.
+
+ Test: fast/canvas/canvas-measureText.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::accessFont):
+
+2013-01-07 Anders Carlsson <andersca@apple.com>
+
+ DOMEvents.h should include DOMProgressEvent.h
+ https://bugs.webkit.org/show_bug.cgi?id=106250
+
+ Reviewed by Sam Weinig.
+
+ DOMProgressEvent.h is already installed as a public header, so it should also be included by DOMEvents.h.
+
+ * bindings/objc/DOMEvents.h:
+
+2013-01-07 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths
+ https://bugs.webkit.org/show_bug.cgi?id=105546
+
+ Reviewed by James Robinson.
+
+ No new tests. Added test API for new tests of other bugs.
+
+ * WebCore.exp.in:
+ * page/Page.cpp:
+ (WebCore::Page::nonFastScrollableRects):
+ (WebCore):
+ * page/Page.h:
+ (WebCore):
+ (Page):
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Change to public to allow Page::nonFastScrollableRects to access.
+ * page/scrolling/ScrollingCoordinator.h:
+ (ScrollingCoordinator):
+ * testing/Internals.cpp:
+ (WebCore::Internals::nonFastScrollableRects):
+ (WebCore):
+ * testing/Internals.h:
+ * testing/Internals.idl:
+
+2013-01-07 Tom Sepez <tsepez@chromium.org>
+
+ Document::initSecurityContext() gives parent security context to iframes with invalid URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=104960
+
+ Reviewed by Adam Barth.
+
+ Change covers the case of an invalid non-empty URL. We know nothing
+ about that kind of URL and choose not to inherit origins.
+
+ * dom/Document.cpp:
+ (WebCore::shouldInheritSecurityOriginFromOwner):
+
+2013-01-07 Chris Fleizach <cfleizach@apple.com>
+
+ AX: Regression: Contextual menu not following with VO cursor in HTML content when item is scrolled
+ https://bugs.webkit.org/show_bug.cgi?id=70075
+
+ Reviewed by Anders Carlsson.
+
+ On WK2 only, when accessibility opens a contextual menu, it does not honor the scroll offset.
+ On WK1, the attachment views handle this conversion when it's needed, but on WK2 it needs to be done manually
+ (similar to how the accessibility position is calculated).
+
+ No test. Cannot test the location of context menu popups on WK2 yet.
+
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
+
+2013-01-07 Abhishek Arya <inferno@chromium.org>
+
+ Heap-buffer-overflow in WebCore::RenderBlock::clone.
+ https://bugs.webkit.org/show_bug.cgi?id=101984
+
+ Reviewed by Julien Chaffraix.
+
+ Add a global in RenderBlock to prevent recursion inside splitFlow.
+ While inside splitFlow (multi-column handling), we move many children
+ using fullRemoveInsert=true, causing RenderBlock::addChild to be called
+ and recursing in splitFlow. This messes the tree splitting happening in
+ RenderBlock::splitBlocks and can cause bad casts.
+
+ Test: fast/multicol/recursive-split-flow-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
+
+2013-01-07 Alok Priyadarshi <alokp@chromium.org>
+
+ [chromium] Fix PlatformContextSkia::setDrawingToImageBuffer abuse
+ https://bugs.webkit.org/show_bug.cgi?id=104956
+
+ Reviewed by James Robinson.
+
+ Replaced PlatformContextSkia::SetDrawingToImageBuffer with GraphicsContext::setShouldSmoothFonts.
+
+ No new tests needed. No change in functionality.
+
+ * platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
+ (WebCore::CompositorHUDFontAtlas::generateFontAtlas):
+ * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
+ (WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::couldUseLCDRenderedText):
+ (WebCore):
+
+2013-01-07 Enrica Casucci <enrica@apple.com>
+
+ Some characters are not rotated properly in vertical text
+ https://bugs.webkit.org/show_bug.cgi?id=105663
+ <rdar://problem/12738911>
+
+ Reviewed by Dan Bernstein.
+
+ Test: platform/mac/fast/text/vertical-no-sideways.html
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::isCJKIdeographOrSymbol): Added several characters to the list.
+ * platform/graphics/FontFastPath.cpp:
+ (WebCore::shouldIgnoreRotation): Added
+ (WebCore::Font::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation): Added logic to avoid
+ rotation for all the characters listed in shouldIgnoreRotation.
+
+2013-01-07 Mike West <mkwst@chromium.org>
+
+ Make the IFRAME_SEAMLESS flag runtime-enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=106213
+
+ Reviewed by Ojan Vafai.
+
+ Seamless IFrames live behind the IFRAME_SEAMLESS compile-time flag, this
+ patch adds another layer to that in order to enable runtime decisions
+ about when it should be active. This will allow ports (Chromium, for
+ instance) to toggle the feature on/off for particular builds without
+ recompiling from scratch.
+
+ * WebCore.exp.in:
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (RuntimeEnabledFeatures):
+ (WebCore::RuntimeEnabledFeatures::seamlessIFramesEnabled):
+ (WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled):
+ Add seamless IFrames to the set of runtime controlled features.
+ * dom/Document.cpp:
+ (WebCore::Document::shouldDisplaySeamlesslyWithParent):
+ If seamless IFrames aren't runtime enabled, always return false from
+ Document::shouldDisplaySeamlesslyWithParent. As this method already
+ acts as the single gate that controls the rest of the system, it's
+ the only place we need to make the runtime check.
+
+2013-01-07 Eric Carlson <eric.carlson@apple.com>
+
+ LayoutUnit(unsigned long long value) compile failure
+ https://bugs.webkit.org/show_bug.cgi?id=106239
+
+ Cast the result of ('unsigned long long' * 'int') to an int before storing in m_value
+ to avoid compile failure on some platforms.
+
+ Reviewed by Ryosuke Niwa.
+
+ * platform/LayoutUnit.h:
+ (WebCore::LayoutUnit::LayoutUnit): Cast to int after multiplication.
+
+2013-01-07 Joe Mason <jmason@rim.com>
+
+ [BlackBerry] Handle the new AuthRetry result code in NetworkJob::notifyAuthReceived
+ https://bugs.webkit.org/show_bug.cgi?id=106233
+
+ Reviewed by Rob Buis.
+
+ Internal PR: 270683
+ FilterStream::notifyAuthReceived has a new result code, AuthRetry. When it's received we
+ need to handle it by resending the request with the same credentials.
+
+ Reviewed internally by Leo Yang.
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::notifyAuthReceived):
+ * platform/network/blackberry/NetworkJob.h:
+ (NetworkJob):
+
+2013-01-07 Philip Rogers <pdr@google.com>
+
+ Clear pending container size requests as early as possible
+ https://bugs.webkit.org/show_bug.cgi?id=106162
+
+ Reviewed by Eric Seidel.
+
+ http://trac.webkit.org/changeset/137981 contained a bug where pending container size
+ requests were only cleared for images that use container sizes. Bitmap images do not use
+ container sizes so these requests were not being cleared. This patch does the trivial
+ refactoring so that container size requests are cleared as early as possible.
+
+ No new tests as this is just a refactoring of some messy code added in r137981.
+
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::createImage):
+
+2013-01-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r137632.
+ http://trac.webkit.org/changeset/137632
+ https://bugs.webkit.org/show_bug.cgi?id=106237
+
+ Caused major security regressions on ClusterFuzz (Requested by
+ inferno-sec on #webkit).
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::startDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
+
+2013-01-07 Victor Carbune <victor@rosedu.org>
+
+ [Track] Rendering crash
+ https://bugs.webkit.org/show_bug.cgi?id=106199
+
+ Reviewed by Eric Carlson.
+
+ The browser is crashing if a text track is added through JavaScript,
+ due to the fact that the containing block is not marked as inline at
+ the time RenderTextTrackCue::layout() is called. The fix consists
+ of ensuring that the pseudo id is set, even if the track isn't
+ yet visible.
+
+ Test: media/track/track-cue-inline-assertion-crash.html
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::updateDisplayTree): The pseudo-id should
+ be set when the display tree is generated.
+ (WebCore::TextTrackCue::getDisplayTree): Added extra check to not
+ do unneccessary logic if the track will never be displayed.
+
+2013-01-07 Michael Pruett <michael@68k.org>
+
+ [JSC] Copy non-index properties of arrays in SerializedScriptValue
+ https://bugs.webkit.org/show_bug.cgi?id=105575
+
+ Reviewed by Oliver Hunt.
+
+ The structured cloning algorithm requires copying all properties of
+ array objects, including non-index properties.
+
+ Tests: fast/storage/serialized-script-value.html
+ storage/indexeddb/structured-clone.html
+
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore):
+ (WebCore::CloneSerializer::serialize):
+ (WebCore::CloneDeserializer::putProperty):
+ (WebCore::CloneDeserializer::deserialize):
+
+2013-01-07 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Stub out async IDBDatabaseBackendInterface::createObjectStore
+ https://bugs.webkit.org/show_bug.cgi?id=106148
+
+ Reviewed by Adam Barth.
+
+ These methods are becoming async in multiprocess ports, so stub out
+ versions that have no return values.
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+ (IDBDatabaseBackendInterface):
+
+2013-01-04 Alexey Proskuryakov <ap@apple.com>
+
+ ResourceHandle::willLoadFromCache is evil
+ https://bugs.webkit.org/show_bug.cgi?id=106147
+
+ Reviewed by Brady Eidson.
+
+ For back/forward navigations to a page that's a result of form submission, we may
+ never silently re-submit the form. So, we show a warning dialog when about to re-submit,
+ but try to load from cache if possible.
+
+ This patch changes the logic so that we always try to fetch from cache, without
+ any preflighting. If cache load fails, we restart the load as a known re-submit.
+
+ No behavior change expected, so no tests.
+
+ * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::handleClick):
+ Added a FIXME.
+
+ * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::startLoadingMainResource):
+ Amended a FIXME with some information about why this call may still be needed.
+
+ * loader/FrameLoader.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadURLIntoChildFrame): Pass an explicit argument for unchanged caching behavior.
+ (WebCore::FrameLoader::reloadWithOverrideEncoding): Added a FIXME. This function
+ can silently re-submit a form.
+ (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest): Added a FIXME about
+ an incorrect use of current load type.
+ (WebCore::FrameLoader::addExtraFieldsToRequest): Make sure that a correct caching
+ policy is used for subresources even if main resource was loaded from cache. We
+ didn't need that before because initial request had wrong extra fields due to a use
+ of m_loadType when it was first called.
+ Removed code to change caching policy for b/f navigations. This function does not
+ have enough context to decide what the policy should be.
+ (WebCore::FrameLoader::loadDifferentDocumentItem): Added an argument telling the
+ function whether it should attempt loading from cache. It should do that on first
+ attempt to navigate to a form submission result, but not if that failed.
+ Pass a correct loadType - m_loadType is one for _previous_ load.
+ Removed a special case for https - we've long stopped prohibiting caching of https
+ resources, and using a resource that's already cached should definitely be allowed.
+ (WebCore::FrameLoader::loadItem): Pass an explicit argument for unchanged caching behavior.
+ (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad): Added.
+
+ * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::notifyFinished):
+ Removed a check for m_resource being null, because we were immediately dereferencing
+ it anyway.
+ Call retryAfterFailedCacheOnlyMainResourceLoad() to let FrameLoader restart the navigation.
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ * platform/network/chromium/ResourceHandle.cpp:
+ * platform/network/curl/ResourceHandleCurl.cpp:
+ * platform/network/mac/ResourceHandleMac.mm:
+ * platform/network/qt/ResourceHandleQt.cpp:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ * platform/network/win/ResourceHandleWin.cpp:
+ Removed willLoadFromCache() - the new logic is cross-platform.
+
+2013-01-07 Alberto Garcia <agarcia@igalia.com>
+
+ [GTK] Disable deprecation warnings for GStaticRecMutex
+ https://bugs.webkit.org/show_bug.cgi?id=105918
+
+ Reviewed by Philippe Normand.
+
+ GStaticRecMutex is deprecated since glib 2.32, but we can't remove
+ it because it's needed by GStreamer 0.10. The solution is to
+ disable the deprecation warnings for that code alone.
+
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+
+2013-01-07 Philip Rogers <pdr@google.com>
+
+ Refactor client removal in CachedResource::switchClientsToRevalidatedResource
+ https://bugs.webkit.org/show_bug.cgi?id=106206
+
+ Previously switchClientsToRevalidatedResource() failed to call didRemoveClient() for each
+ client and instead simply cleared m_clients. This patch removes an incorrect comment and
+ refactors the code so that removeClient() and didRemoveClient() are properly called.
+
+ Reviewed by Nate Chapin.
+
+ No new tests as there are no observable changes from this refactoring.
+
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::switchClientsToRevalidatedResource):
+
+2013-01-07 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Support size_t multiplication and division operators on LayoutUnit
+ https://bugs.webkit.org/show_bug.cgi?id=83848
+
+ Reviewed by Emil A Eklund.
+
+ Per Darin's suggestion, adding a version of the operator for most unsigned types (excluding
+ only unsigned char). This should automatically cover size_t as it should be one of these.
+
+ Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp
+
+ * platform/LayoutUnit.h:
+ (WebCore::LayoutUnit::LayoutUnit):
+ (WebCore::operator*):
+ (WebCore::operator/):
+ Added the operators and (possibly saturating) constructors for unsigned short, unsigned long,
+ unsigned long long.
+
+2013-01-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138944.
+ http://trac.webkit.org/changeset/138944
+ https://bugs.webkit.org/show_bug.cgi?id=106223
+
+ It made 28 tests crash (Requested by Ossy on #webkit).
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ (WebCore::PluginPackage::load):
+
+2013-01-07 peavo@outlook.com <peavo@outlook.com>
+
+ [WinCairo] Build fixes after r138413
+ https://bugs.webkit.org/show_bug.cgi?id=106087
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebCore.vcproj/WebCore.vcproj: Added NetworkStorageSessionStub.cpp,
+ and removed NetworkStorageSessionCFNet.cpp for WinCairo build.
+ * platform/win/TemporaryLinkStubs.cpp: Include fix.
+
+2013-01-07 David Faure <faure@kde.org>
+
+ [Qt] Major performance improvement in Qt's PluginDatabase implementation
+ https://bugs.webkit.org/show_bug.cgi?id=106140
+
+ Reviewed by Simon Hausmann.
+
+ No new tests, only a performance improvement.
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
+ (WebCore::PluginPackage::load): Use existing module if fetchInfo created it.
+
+2013-01-07 Gabor Rapcsanyi <rgabor@webkit.org>
+
+ Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions with NEON intrinsics
+ https://bugs.webkit.org/show_bug.cgi?id=103614
+
+ Reviewed by Zoltan Herczeg.
+
+ Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions in GraphicsContext3D
+ with ARM NEON intrinsics. The optimized functions are 2-3x faster than the origin.
+
+ * platform/graphics/GraphicsContext3D.cpp:
+ (WebCore):
+ * platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
+ (WebCore::SIMD::unpackOneRowOfRGBA16LittleToRGBA8):
+ (SIMD):
+ (WebCore::SIMD::unpackOneRowOfRGB16LittleToRGBA8):
+ (WebCore::SIMD::unpackOneRowOfARGB16LittleToRGBA8):
+ (WebCore::SIMD::unpackOneRowOfBGRA16LittleToRGBA8):
+
+2013-01-07 Christophe Dumez <christophe.dumez@intel.com>
+
+ Regression(r138786): Causes webaudio tests to crash
+ https://bugs.webkit.org/show_bug.cgi?id=106182
+
+ Reviewed by Philippe Normand.
+
+ Partially revert r138786 since it causes crashes in webaudio
+ tests. The WebProcess would actually become unresponsive due
+ to source element never going to PLAYING state.
+
+ Only the changes to webKitWebAudioSrcChangeState() were reverted.
+
+ No new tests, already covered by existing tests.
+
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+ (webKitWebAudioSrcChangeState):
+
+2013-01-07 Hayato Ito <hayato@chromium.org>
+
+ Cannot compile with ENABLE_SHADOW_DOM=0 and ENABLE_STYLE_SCOPED=1
+ https://bugs.webkit.org/show_bug.cgi?id=106207
+
+ Reviewed by Hajime Morita.
+
+ Guard StyleScopeResolver::addHostRule with SHADOW_DOM flag.
+
+ No tests, as no change in behavior.
+
+ * css/StyleScopeResolver.cpp:
+ (WebCore):
+
+2013-01-07 Jon Lee <jonlee@apple.com>
+
+ Missing amendments to r138927. Amend Changelog to remove item about Timer.h, which was not changed.
+
+ * rendering/RenderSnapshottedPlugIn.cpp: Rename stopAndRestartDelayTimer() to resetDelayTimer().
+ (WebCore::RenderSnapshottedPlugIn::updateSnapshot):
+ (WebCore::RenderSnapshottedPlugIn::handleEvent):
+ (WebCore::RenderSnapshottedPlugIn::resetDelayTimer):
+ * rendering/RenderSnapshottedPlugIn.h:
+
+2013-01-06 Jon Lee <jonlee@apple.com>
+
+ Show label automatically for plug-ins of significant size
+ https://bugs.webkit.org/show_bug.cgi?id=106146
+ <rdar://problem/12783010>
+
+ Reviewed by Simon Fraser.
+
+ For significantly sized plug-ins, trigger a timer that displays the label automatically
+ without requiring the user to mouse over the element first. The trickiness of the logic
+ here is that there are two delays involved-- one for whether the user mouses over (shorter),
+ and one for when the label is shown automatically (longer). Mousing over a plug-in that is
+ marked to show it automatically should have the timer delay switched. And if the label
+ showed automatically, mousing in and out of the element should not change that label's
+ state.
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore): Add constants that determine whether the plug-in is of a significant size.
+ (WebCore::shouldPlugInShowLabelAutomatically): Based on the size of the frame view and the
+ clipped plug-in size, determine whether the label should show automatically. If the plug-in is
+ not contained within the bounds of the frame view, or is not at least as large as the threshold
+ size, then do not show the label automatically.
+ (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): After we've determined that
+ the plug-in should not auto-start, make a check to see if the label should show automatically.
+ Also, update some of the logging.
+ (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Update the logging.
+
+ * rendering/RenderSnapshottedPlugIn.h: Rename the timer to m_showLabelDelayTimer since
+ it can fire for two different reasons. Add some additional state variables, and an enum
+ to explain why the label appeared.
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore): Change hoverDelay to showLabelAfterMouseOverDelay. Add a new, longer delay for
+ when the plug-in is supposed to auto-show the label.
+ (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize the member variables.
+ (WebCore::RenderSnapshottedPlugIn::updateSnapshot): When the snapshot image is updated,
+ start the timer to auto-show the label.
+ (WebCore::RenderSnapshottedPlugIn::paintLabel): Avoid painting the label only if the element
+ is not hovered and the user was mousing over the plug-in. Otherwise, the plug-in is supposed
+ to show automatically, and we should paint. Mark the renderer as having showed the label at
+ least once.
+ (WebCore::RenderSnapshottedPlugIn::showLabelDelayTimerFired): Renamed to reflect the
+ purpose of the timer.
+ (WebCore::RenderSnapshottedPlugIn::setShouldShowLabelAutomatically): Set the variable that
+ determines whether, in general, this plug-in should show the label automatically even
+ without user input.
+ (WebCore::RenderSnapshottedPlugIn::handleEvent): If the user mouses over the plug-in,
+ only reset the show timer is the label has never appeared before, or if it has, that
+ it's not because the label was supposed to show automatically. That is, if the label is
+ supposed to show automatically, the label should remain visible. This is also true when
+ the user mouses out of the plug-in. If the user moused out before the time had a chance
+ to fire and show the label for the first time, then we check to see if the plug-in should
+ be displaying the label automatically, and if so, restart the timer using the longer delay.
+ (WebCore::RenderSnapshottedPlugIn::stopAndRestartDelayTimer): Convenience function to
+ update the m_showReason variable, and reset the timer with the appropriate delay.
+
+2013-01-06 Abhishek Arya <inferno@chromium.org>
+
+ Heap-use-after-free in DocumentLoader::stopLoading
+ https://bugs.webkit.org/show_bug.cgi?id=103656
+
+ Reviewed by Eric Seidel.
+
+ Test: fast/dom/ready-state-change-crash.html
+
+ * html/parser/HTMLDocumentParser.cpp:
+ (WebCore::HTMLDocumentParser::prepareToStopParsing): Bail out
+ if the parser is detached due to mutation event.
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::stopLoading): Move the protectors for
+ frame and document loader to the start of the function. Call to
+ m_frame->loader()->stopLoading() can change document ready state
+ and fire mutation event which might blow the document loader from
+ underneath.
+
+2013-01-06 Takashi Sakamoto <tasak@google.com>
+
+ [Shadow DOM]: crash in WebCore::ElementShadow::setValidityUndetermined
+ https://bugs.webkit.org/show_bug.cgi?id=106203
+
+ Reviewed by Hajime Morita.
+
+ InsertionPoint should check whether ElementShadow is available or not
+ before invoking its methods.
+
+ No new tests. Webcomponents_fuzzer reported this bug. Would like to
+ use the fuzzer to check this issue.
+
+ * html/shadow/InsertionPoint.cpp:
+ (WebCore::InsertionPoint::getDistributedNodes):
+ (WebCore::InsertionPoint::childrenChanged):
+ (WebCore::InsertionPoint::insertedInto):
+ Added ifs to check whether ElementShadow is available or not before
+ invoking ElementShadow's methods, i.e. setValidityUndetermined,
+ invalidateDistribution, and ensureDistributionDocument.
+
+2013-01-06 Shinya Kawanaka <shinyak@chromium.org>
+
+ RenderImage should not use shadowAncestorNode
+ https://bugs.webkit.org/show_bug.cgi?id=97871
+
+ Reviewed by Dimitri Glazkov.
+
+ Since shadowAncestorNode() does not return 0, this if-condition will never hold.
+ shadowHost() should be used instead.
+
+ No change in logic, refactoring.
+
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::hostImageElement):
+
+2013-01-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ Bug 106177 - [GStreamer] Don't call gst_video_info_from_caps() with non-fixed caps
+ https://bugs.webkit.org/show_bug.cgi?id=106177
+
+ Reviewed by Martin Robinson.
+
+ * platform/graphics/gstreamer/GStreamerVersioning.cpp:
+ (getVideoSizeAndFormatFromCaps):
+ Don't call gst_video_info_from_caps() with non-fixed caps as
+ it will cause assertions.
+
+2013-01-06 Abhishek Arya <inferno@chromium.org>
+
+ Heap-use-after-free in WebCore::Document::implicitClose
+ https://bugs.webkit.org/show_bug.cgi?id=105655
+
+ Reviewed by Eric Seidel.
+
+ Test: fast/dom/window-load-crash.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose): RefPtr protect |this| document since it
+ can be destroyed in the dispatchWindowLoadEvent call.
+
+2013-01-06 Mike West <mkwst@chromium.org>
+
+ Seamless: IFrame's padding isn't taken into account when calculating its height.
+ https://bugs.webkit.org/show_bug.cgi?id=106167
+
+ Reviewed by Eric Seidel.
+
+ IFrames rendered seamlessly don't currently calculate their height
+ correctly when padding is applied to the frame itself. This patch adds
+ padding calculations to RenderIFrame::layoutSeamlessly to ensure that
+ the seamless frame is correctly sized.
+
+ * rendering/RenderIFrame.cpp:
+ (WebCore::RenderIFrame::layoutSeamlessly):
+
+2013-01-05 Ryosuke Niwa <rniwa@webkit.org>
+
+ REGRESSION: [Mac] Intermittent crashes in AXObjectCache::notificationPostTimerFired
+ https://bugs.webkit.org/show_bug.cgi?id=106106
+
+ Reviewed by Eric Seidel.
+
+ The crash was cause by notification post timer firing after the object destruction had taken place.
+ Clear the timer so that this won't happen. Also make sure the document doesn't go away while we're
+ going through m_notificationsToPost.
+
+ No new tests since crashes have been caught by various layout tests, and we can't easily
+ create a deterministic layout test for this particular crash.
+
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::~AXObjectCache):
+ (WebCore::AXObjectCache::notificationPostTimerFired):
+
+2013-01-05 Michael Pruett <michael@68k.org>
+
+ IndexedDB: Replace int64 with int64_t
+ https://bugs.webkit.org/show_bug.cgi?id=106189
+
+ Reviewed by Sam Weinig.
+
+ Cleaning up coding inconsistencies, no change in behavior.
+
+ Tests: storage/indexeddb/*
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::GetOperation::create):
+
+2013-01-05 Elliott Sprehn <esprehn@chromium.org>
+
+ Remove RenderObjectChildList::beforePseudoElementRenderer and afterPseudoElementRenderer
+ https://bugs.webkit.org/show_bug.cgi?id=106132
+
+ Reviewed by Abhishek Arya.
+
+ We no longer need the complicated traversals in beforePseudoElementRenderer
+ and afterPseudoElementRenderer since we can get the renderers of pseudo
+ elements through the node. This removes all that code and swaps it for
+ Element::pseudoElementRenderer.
+
+ This is possible now that r138850 removed all the now incorrect manual
+ management of pseudo element renderers from the render tree that was
+ left over from before the switch to DOM based pseudo elements.
+
+ No new tests, just refactoring.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoElementRenderer):
+ Added, gets the renderer of the pseudo element by PseudoId if it
+ exists.
+ * dom/Element.h:
+ (Element):
+ * dom/NodeRenderingTraversal.cpp:
+ (WebCore::NodeRenderingTraversal::nextSiblingSlow):
+ (WebCore::NodeRenderingTraversal::previousSiblingSlow):
+ * rendering/RenderCounter.cpp:
+ (WebCore::previousInPreOrder):
+ (WebCore::previousSiblingOrParent):
+ (WebCore::nextInPreOrder):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::lastChild):
+ * rendering/RenderObjectChildList.cpp:
+ * rendering/RenderObjectChildList.h:
+ (RenderObjectChildList):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::counterValueForElement):
+
+2013-01-05 Robert Hogan <robert@webkit.org>
+
+ Heap-use-after-free in WebCore::RenderBlock::insertIntoTrackedRendererMaps
+ https://bugs.webkit.org/show_bug.cgi?id=105654
+
+ Reviewed by Simon Fraser.
+
+ As with position:relative, position:sticky does not apply to table sections.
+
+ Test: fast/block/sticky-position-containing-block-crash.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::adjustRenderStyle):
+
+2013-01-05 Mike West <mkwst@chromium.org>
+
+ Cleanup: mayDisplaySeamlessWithParent -> mayDisplaySeamless_ly_WithParent
+ https://bugs.webkit.org/show_bug.cgi?id=106169
+
+ Reviewed by Eric Seidel.
+
+ This patch renames SecurityContext's 'm_mayDisplaySeamlessWithParent' to
+ 'm_mayDisplaySeamlesslyWithParent'. Because adverbs matter.
+
+ * dom/Document.cpp:
+ (WebCore::Document::initSecurityContext):
+ (WebCore::Document::shouldDisplaySeamlesslyWithParent):
+ * dom/SecurityContext.cpp:
+ (WebCore::SecurityContext::SecurityContext):
+ * dom/SecurityContext.h:
+ (SecurityContext):
+
+2013-01-05 Mike West <mkwst@chromium.org>
+
+ seamless iframes don't take border into account properly and make the iframe too small.
+ https://bugs.webkit.org/show_bug.cgi?id=90827
+
+ Reviewed by Ojan Vafai.
+
+ Seamless IFrames were incorrectly calculating their width; borders and
+ padding of the child document were accidentally left out of the end
+ result. This tiny patch adds the border/padding width to the calculated
+ width for the seamless IFrame, bringing things back into line with
+ expectations.
+
+ Test: fast/frames/seamless/seamless-border-padding.html
+
+ * rendering/RenderIFrame.cpp:
+ (WebCore::RenderIFrame::minPreferredLogicalWidth):
+ (WebCore::RenderIFrame::maxPreferredLogicalWidth):
+ Add borderAndPaddingLogicalWidth() to the result of both methods.
+
+2013-01-05 Min Qin <qinmin@chromium.org>
+
+ MediaControls::show() should make controls opaque
+ https://bugs.webkit.org/show_bug.cgi?id=106034
+
+ Reviewed by Eric Carlson.
+
+ When a video enters fullscreen, webkit starts a timer to make the control transparent when the timer expires.
+ If the user exits fullscreen while the timer expires, webkit will call mediaControls::show().
+ However, show() actually displays nothing as the control is transparent.
+ The user had to move his mouse outside the video rect and move it back in order to show the controls.
+ Simply clicking/moving the mouse inside the video rect will not make the control opaque.
+ Test: media/video-controls-visible-exiting-fullscreen.html
+
+ * html/shadow/MediaControls.cpp:
+ (WebCore::MediaControls::show):
+
+2013-01-05 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Migrate backend ObjectStore calls to use transaction id
+ https://bugs.webkit.org/show_bug.cgi?id=102741
+
+ Reviewed by Tony Chang.
+
+ Fully migrate 8 core data calls (get, put, setIndexKeys, setIndexesReady,
+ openCursor, count, deleteRange, and clear) into IDBDatabaseBackendImpl,
+ combining common code from IDBObjectStoreBackendImpl and IDBIndexBackendImpl
+ in order to simplify the backend interface. These calls are now
+ implemented in terms of an int64_t-based transactionId rather than
+ an IDBTransactionBackendInterface, which simplifies the ownership model
+ between the frontend and the backend.
+
+ In addition, remove references to IDBObjectStoreBackend* from IDBIndex,
+ as it is no longer needed.
+
+ A few duplicate IDB_TRACE methods have been removed from wrapper methods
+ that call another method that already have IDB_TRACE's.
+
+ Finally, IDBCursorBackendImpl now no longer holds onto an
+ IDBObjectStoreBackendImpl*, so its destruction and member variables are
+ simplified, and reordered to match proper destruction order.
+
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp: Reordered to account for proper destruction.
+ (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
+ (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
+ (WebCore::IDBCursorBackendImpl::deleteFunction):
+ * Modules/indexeddb/IDBCursorBackendImpl.h:
+ (WebCore::IDBCursorBackendImpl::create):
+ (IDBCursorBackendImpl):
+ * Modules/indexeddb/IDBDatabase.h:
+ (WebCore::IDBDatabase::backend):
+ (IDBDatabase):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (GetOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*RetrievalOperation
+ (WebCore::GetOperation::create):
+ (WebCore::GetOperation::GetOperation):
+ (WebCore):
+ (PutOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*StorageOperation.
+ (WebCore::PutOperation::create):
+ (WebCore::PutOperation::PutOperation):
+ (SetIndexesReadyOperation): Moved from IDBObjectStoreBackendImpl::IndexesReadyOperation
+ (WebCore::SetIndexesReadyOperation::create):
+ (WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
+ (OpenCursorOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::Open*CursorOperation
+ (WebCore::OpenCursorOperation::create):
+ (WebCore::OpenCursorOperation::OpenCursorOperation):
+ (CountOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::CountOperation
+ (WebCore::CountOperation::create):
+ (WebCore::CountOperation::CountOperation):
+ (DeleteRangeOperation): Moved from IDBObjectStoreBackendImpl::DeleteOperation
+ (WebCore::DeleteRangeOperation::create):
+ (WebCore::DeleteRangeOperation::DeleteRangeOperation):
+ (ClearOperation): Moved from IDBObjectStoreBackendImpl::ClearOperation
+ (WebCore::ClearOperation::create):
+ (WebCore::ClearOperation::ClearOperation):
+ (WebCore::IDBDatabaseBackendImpl::get): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::get*
+ (WebCore::GetOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::put): Moved from IDBObjectStoreBackendImpl::put
+ (WebCore::PutOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::setIndexKeys): Moved from IDBObjectStoreBackendImpl::setIndexKeys
+ (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
+ (WebCore::SetIndexesReadyOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::openCursor):
+ (WebCore::IDBDatabaseBackendImpl::count):
+ (WebCore::CountOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::deleteRange):
+ (WebCore::DeleteRangeOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::clear):
+ (WebCore::ClearOperation::perform):
+ (WebCore::OpenCursorOperation::perform):
+ * Modules/indexeddb/IDBIndex.cpp:
+ (WebCore::IDBIndex::IDBIndex):
+ (WebCore::IDBIndex::openCursor):
+ (WebCore::IDBIndex::count):
+ (WebCore::IDBIndex::openKeyCursor):
+ (WebCore::IDBIndex::get):
+ (WebCore::IDBIndex::getKey):
+ (WebCore::IDBIndex::backendDB):
+ (WebCore):
+ * Modules/indexeddb/IDBIndex.h:
+ (WebCore::IDBIndex::create):
+ (IDBIndex):
+ * Modules/indexeddb/IDBIndexBackendImpl.cpp:
+ (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
+ * Modules/indexeddb/IDBIndexBackendImpl.h:
+ (WebCore::IDBIndexBackendImpl::create):
+ (WebCore::IDBIndexBackendImpl::openCursor):
+ (WebCore::IDBIndexBackendImpl::count):
+ (WebCore::IDBIndexBackendImpl::openKeyCursor):
+ (WebCore::IDBIndexBackendImpl::get):
+ (WebCore::IDBIndexBackendImpl::getKey):
+ (IDBIndexBackendImpl):
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::get):
+ (WebCore::IDBObjectStore::put):
+ (WebCore::IDBObjectStore::deleteFunction):
+ (WebCore::IDBObjectStore::clear):
+ (WebCore):
+ (WebCore::IDBObjectStore::createIndex):
+ (WebCore::IDBObjectStore::index):
+ (WebCore::IDBObjectStore::openCursor):
+ (WebCore::IDBObjectStore::count):
+ (WebCore::IDBObjectStore::backendDB):
+ * Modules/indexeddb/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::id):
+ (IDBObjectStore):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::createIndex):
+ (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
+ (WebCore::IDBObjectStoreBackendImpl::generateKey):
+ (WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
+ (WebCore::IDBObjectStoreBackendImpl::get):
+ (WebCore::IDBObjectStoreBackendImpl::put):
+ (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
+ (WebCore::IDBObjectStoreBackendImpl::clear):
+ (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
+ (WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
+ (WebCore::IDBObjectStoreBackendImpl::openCursor):
+ (WebCore::IDBObjectStoreBackendImpl::count):
+ (IDBObjectStoreBackendImpl):
+ * Modules/indexeddb/IDBTransactionBackendImpl.h:
+ (WebCore::IDBTransactionBackendImpl::database):
+ (IDBTransactionBackendImpl):
+
+2013-01-05 Robert Hogan <robert@webkit.org>
+
+ Max width of a floated container with floated children calculated incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=47975
+
+ Accumulate the width of child floats in the correct counter so that it gets reset
+ as expected when a subsequent sibling decides to clear it.
+
+ Reviewed by Levi Weintraub.
+
+ Test: fast/block/float/max-width-clear-float-with-overflow-hidden.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
+
+2013-01-05 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Stub out IDBDatabaseBackendInterface::createIndex/deleteIndex
+ https://bugs.webkit.org/show_bug.cgi?id=106117
+
+ Reviewed by Adam Barth.
+
+ No new tests, these are just stubs for refactoring.
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (WebCore::IDBDatabaseBackendImpl::createIndex):
+ (WebCore::IDBDatabaseBackendImpl::deleteIndex):
+ (IDBDatabaseBackendImpl):
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+ (IDBDatabaseBackendInterface):
+
+2013-01-05 Takashi Sakamoto <tasak@google.com>
+
+ [Shadow DOM]: Some named elements in ShadowTree visible on nesting document level
+ https://bugs.webkit.org/show_bug.cgi?id=105617
+
+ Reviewed by Dimitri Glazkov.
+
+ According to the shadow dom spec, the nodes and named elements are not
+ accessible using shadow host's document DOM tree accessors or with
+ Window object named properties. c.f.
+ https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#upper-boundary-encapsulation
+
+ Test: fast/dom/shadow/element-name-in-shadow.html
+
+ * dom/Element.h:
+ (WebCore::Element::updateName):
+ Check whether the given element is in a shadow dom tree or not. If in
+ a shadow dom tree, don't register the name.
+ * html/HTMLIFrameElement.cpp:
+ (WebCore::HTMLIFrameElement::insertedInto):
+ (WebCore::HTMLIFrameElement::removedFrom):
+ (WebCore::HTMLIFrameElement::parseAttribute):
+ HTMLIFrameElement doesn't use updateName. Instead the element uses
+ addExtraNamedItem and removeExtraNameItem in HTMLIFrameElement.cpp.
+
+2013-01-05 Chris Rogers <crogers@google.com>
+
+ Implement MediaStreamSource::setAudioFormat()
+ https://bugs.webkit.org/show_bug.cgi?id=106053
+
+ Reviewed by Kenneth Russell.
+
+ MediaStreamAudioDestinationNode needs to be able to tell its associated
+ MediaStreamSource about the audio format (number of channels and sample-rate).
+
+ * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
+ (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
+ * platform/audio/AudioDestinationConsumer.h:
+ (AudioDestinationConsumer):
+ * platform/chromium/support/WebMediaStreamSource.cpp:
+ (ConsumerWrapper):
+ (WebKit::ConsumerWrapper::setFormat):
+ (WebKit):
+ * platform/mediastream/MediaStreamSource.cpp:
+ (WebCore::MediaStreamSource::setAudioFormat):
+ (WebCore):
+ * platform/mediastream/MediaStreamSource.h:
+ (MediaStreamSource):
+
+2013-01-05 Zeno Albisser <zeno@webkit.org>
+
+ [Texmap] TextureMapperGL should reset ARRAY_BUFFER after painting.
+ https://bugs.webkit.org/show_bug.cgi?id=106098
+
+ This fixes the issue of the address bar disappearing in
+ Qt/MiniBrowser after r138555.
+
+ Reviewed by Jocelyn Turcotte.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawEdgeTriangles):
+ (WebCore::TextureMapperGL::drawUnitRect):
+
+2013-01-04 Ryosuke Niwa <rniwa@webkit.org>
+
+ Chromium windows compile fails because of the assertion in NodeRareData
+ https://bugs.webkit.org/show_bug.cgi?id=106149
+
+ Reviewed by Andreas Kling.
+
+ MSVC adds padding between bitfields of different types for better alignment.
+ Since we care more about the memory usage, use unsigned for all bitfields to work around this behavior.
+
+ * dom/NodeRareData.cpp:
+ (SameSizeAsNodeRareData):
+ (WebCore):
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::isWebVTTNode):
+ (WebCore::NodeRareData::isWebVTTFutureNode):
+ (NodeRareData):
+
+2013-01-04 Dan Bernstein <mitz@apple.com>
+
+ Updated the exports file.
+
+ Rubber-stamped by Andy Estes.
+
+ * WebCore.exp.in: Moved the DOMHTMLTableCellElement export out of the !PLATFORM(IOS) section.
+
+2013-01-04 Jon Lee <jonlee@apple.com>
+
+ Update margin for label to 0
+ https://bugs.webkit.org/show_bug.cgi?id=106152
+ <rdar://problem/12961387>
+
+ Reviewed by Brian Weinstein.
+
+ * rendering/RenderSnapshottedPlugIn.cpp:
+ (WebCore): Change the margin constant from 10 to 0.
+
+2013-01-04 Benjamin Poulain <benjamin@webkit.org>
+
+ Optimize TransformationMatrix::multiply() for x86_64
+ https://bugs.webkit.org/show_bug.cgi?id=105719
+
+ Reviewed by Sam Weinig.
+
+ On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
+ We can use that in two ways to optimize matrix multiplications:
+ -Keep the source matrix completely in registers. Write the result directly in
+ the source matrix's memory. This avoids the memcpy at the end of the multiplication
+ and various memory operations.
+ -Use SIMD with SSE to perform 2 operations at a time.
+
+ The parameter from the second matrix are loaded one by one in XMM registers.
+ Loading them with SSE then shuffling the values perform worse than loading
+ one by one.
+
+ This is only enabled on 64bits as x86 only has access to 8 XMM registers and
+ the function should be written differently.
+
+ On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.
+
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::TransformationMatrix::multiply):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.
+
+2013-01-04 Joshua Bell <jsbell@chromium.org>
+
+ Unreviewed, fix Apple Win build following http://trac.webkit.org/changeset/138838
+ https://bugs.webkit.org/show_bug.cgi?id=105927
+
+ * WebCore.vcproj/WebCoreTestSupport.vcproj:
+
+2013-01-04 Abhishek Arya <inferno@chromium.org>
+
+ Heap-use-after-free in WebCore::XMLDocumentParser::doEnd
+ https://bugs.webkit.org/show_bug.cgi?id=100152
+
+ Reviewed by Adam Barth.
+
+ XMLDocumentParser can be blown away inside document()->styleResolverChanged()
+ call. Protect it with a local RefPtr in Document::explitClose.
+
+ No new tests. The site specific dependencies are hard to minimize.
+
+ * dom/Document.cpp:
+ (WebCore::Document::explicitClose): RefPtr m_parser into a local, since
+ it can be detached and nulled out in DocumentWriter::end().
+ * xml/parser/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::end): Bail out when we are detached.
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.
+ * xml/parser/XMLDocumentParserQt.cpp:
+ (WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.
+
+2013-01-04 Ryosuke Niwa <rniwa@webkit.org>
+
+ REGRESSION(r138394): platform/mac/accessibility/file-upload-button-subrole.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=105778
+
+ Reviewed by Alexey Proskuryakov.
+
+ Rename "file upload" to "file upload button".
+
+ * English.lproj/Localizable.strings:
+ * platform/LocalizedStrings.cpp:
+
+2013-01-04 Tim Horton <timothy_horton@apple.com>
+
+ [wk2] Remove non-visible tiles from the layer tree
+ https://bugs.webkit.org/show_bug.cgi?id=106061
+ <rdar://problem/12761821>
+
+ Reviewed by Simon Fraser.
+
+ Unparenting tiles which aren't currently on-screen can allow underlying
+ frameworks to manage the layer's backing stores more effectively than we can.
+
+ In addition, add a setting (AggressiveTileRetentionEnabled) which keeps more
+ tiles around (we don't remove tiles in cohorts, nor when the TileCache moves
+ out of the window), which is off by default.
+
+ * WebCore.exp.in: Export Settings::setAggressiveTileRetentionEnabled.
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Initialize m_aggressiveTileRetentionEnabled to false.
+ (WebCore::Settings::setAggressiveTileRetentionEnabled): Added.
+ * page/Settings.h:
+ (WebCore::Settings::aggressiveTileRetentionEnabled): Added.
+ * platform/graphics/TiledBacking.h: Add setter/getter to hand aggressivelyRetainsTiles through to TiledBackings.
+ * platform/graphics/ca/mac/TileCache.h:
+ (TileCache): Turn TileValidationPolicy into TileValidationPolicyFlags, and add
+ a flag for unparenting all tiles.
+ Implement aggressivelyRetainsTiles setter/getter.
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::TileCache): Initialize m_aggressivelyRetainsTiles to false.
+ (WebCore::TileCache::setIsInWindow): Revalidate tiles immediately if the TileCache has just entered the window.
+ (WebCore::TileCache::tileRevalidationTimerFired):
+ This is called if coverage rect, tile cache layer bounds, or visibility changes. We will revalidate tiles:
+ - Removing all tiles from the layer tree for background tile caches.
+ - Not pruning old tiles if the aggressiveTileRetentionEnabled setting is on.
+ (WebCore::TileCache::revalidateTiles):
+ Adopt TileValidationPolicyFlags instead of the old enum, and use separate flags for foreground/background caches.
+ Unparent tiles when they move out of the tile coverage rect.
+ Only schedule the tile cohort removal timer if we're not aggressively keeping tiles around.
+ Ensure that tiles are re-added to the TileCache layer tree if they already exist.
+ Unparent all tiles if TileValidationPolicyFlags says to (from tileRevalidationTimerFired's background flags).
+ Only add new tiles to the TileCache's layer tree if we're currently in the window.
+ Don't prune secondary tiles if the visible rect changes; this will already occur because when the visibleRect
+ changes, we arrive via tileRevalidationTimerFired, which asks for PruneSecondaryTiles anyway (except if we're
+ aggressively retaining tiles). This prevents tiles from being deleted unexpectedly during rubber-banding or when zoomed (this part of the patch is thanks to Simon).
+ (WebCore::TileCache::ensureTilesForRect):
+ Don't ensure any tiles if the TileCache is offscreen.
+ Ensure that tiles are re-added to the TileCache layer tree if they already exist.
+ (WebCore::TileCache::drawTileMapContents):
+ Draw a thick purple border around tiles that have been unparented.
+
+2013-01-04 Adam Barth <abarth@webkit.org>
+
+ HTMLTreeBuilder should ASSERT that it is on the main thread before touching elements
+ https://bugs.webkit.org/show_bug.cgi?id=106128
+
+ Reviewed by Eric Seidel.
+
+ Even if we move the HTML parser onto a background thread, we're likely
+ to keep fragment parsing on the main thread. These code paths touch
+ elements (which only exist on the main thread) but are only used during
+ fragment parsing. This patch adds ASSERTs to document that invariant.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::closestFormAncestor):
+ (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
+
+2013-01-04 Zoltan Horvath <zoltan@webkit.org>
+
+ [CSS Regions] @region rules inside media queries are ignored
+ https://bugs.webkit.org/show_bug.cgi?id=102388
+
+ Reviewed by David Hyatt.
+
+ Using @region rules in media queries was ignored, but we should accept and apply it.
+
+ Tests: fast/regions/region-rule-nested-region-rule.html
+ fast/regions/region-styling-mediaquery.html
+
+ * css/CSSGrammar.y.in: Add new ruleList for region rule to handle the media query case
+ and avoid using nested region rules.
+ * css/RuleSet.cpp:
+ (WebCore::RuleSet::addRulesFromSheet): Add case for region rules inside media queries.
+
+2013-01-04 Dan Bernstein <mitz@apple.com>
+
+ [mac] WebKit1 has no equivalent of WKBundleNodeHandleCopyHTMLTableCellElementCellAbove
+ https://bugs.webkit.org/show_bug.cgi?id=106121
+
+ Reviewed by Adele Peterson.
+
+ Test: TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm.
+
+ * bindings/objc/DOM.mm:
+ (-[DOMHTMLTableCellElement _cellAbove]): Added. Calls HTMLTableCellElement::cellAbove().
+ * bindings/objc/DOMPrivate.h: Added declaration of the above.
+
+2013-01-04 Abhishek Arya <inferno@chromium.org>
+
+ Crash in WebCore::RenderBlock::willBeDestroyed
+ https://bugs.webkit.org/show_bug.cgi?id=103455
+
+ Reviewed by Eric Seidel.
+
+ It is not required to set beforeChild to :after child since DOM is
+ now pseudo element aware. See trac.webkit.org/changeset/137336. We
+ were incorrectly placing the inline continuation before the :after
+ content.
+
+ Test: fast/multicol/continuation-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): remove beforeChild
+ setting to afterPseudoElementRenderer.
+ * rendering/RenderRuby.cpp:
+ (WebCore::RenderRubyAsInline::addChild): add missing beforeChild argument.
+ setting to afterPseudoElementRenderer.
+ (WebCore::RenderRubyAsBlock::addChild): add missing beforeChild argument.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild): remove beforeChild
+ setting to afterPseudoElementRenderer.
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::addChild): remove beforeChild
+ setting to afterPseudoElementRenderer.
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::addChild): remove beforeChild
+ setting to afterPseudoElementRenderer.
+
+2013-01-04 Chris Rogers <crogers@google.com>
+
+ Implement WebIDL-style string constants in WebAudio (part 2)
+ https://bugs.webkit.org/show_bug.cgi?id=105977
+
+ Reviewed by Kentaro Hara.
+
+ See Deprecation Notes for more detail:
+ https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes
+
+ PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
+ Legacy support in the setters for the old integer values should be supported.
+ This patch handles the changes for BiquadFilterNode and PannerNode.
+
+ Test: webaudio/pannernode-basic.html
+
+ * GNUmakefile.list.am:
+ * Modules/webaudio/BiquadFilterNode.cpp:
+ (WebCore::BiquadFilterNode::type):
+ (WebCore):
+ (WebCore::BiquadFilterNode::setType):
+ * Modules/webaudio/BiquadFilterNode.h:
+ (BiquadFilterNode):
+ * Modules/webaudio/BiquadFilterNode.idl:
+ * Modules/webaudio/PannerNode.cpp:
+ (WebCore::PannerNode::panningModel):
+ (WebCore):
+ (WebCore::PannerNode::setPanningModel):
+ (WebCore::PannerNode::distanceModel):
+ (WebCore::PannerNode::setDistanceModel):
+ * Modules/webaudio/PannerNode.h:
+ (PannerNode):
+ * Modules/webaudio/PannerNode.idl:
+ * Target.pri:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSBiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
+ (WebCore):
+ (WebCore::JSBiquadFilterNode::setType):
+ * bindings/js/JSPannerNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
+ (WebCore):
+ (WebCore::JSPannerNode::setPanningModel):
+ (WebCore::JSPannerNode::setDistanceModel):
+ * bindings/v8/custom/V8BiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
+ (WebCore):
+ (WebCore::V8BiquadFilterNode::typeAccessorSetter):
+ * bindings/v8/custom/V8PannerNodeCustom.cpp: Added.
+ (WebCore):
+ (WebCore::V8PannerNode::panningModelAccessorSetter):
+ (WebCore::V8PannerNode::distanceModelAccessorSetter):
+
+2013-01-04 Rick Byers <rbyers@chromium.org>
+
+ window.Touch and TouchList should exist when touch events are enabled
+ https://bugs.webkit.org/show_bug.cgi?id=96295
+
+ Reviewed by Kentaro Hara.
+
+ Add missing window.Touch and window.TouchList constructors under
+ ENABLE(TOUCH_EVENTS).
+
+ Make window.Touch, window.TouchList and window.TouchEvent enabled at runtime
+ under V8, to be consistent with all the other touch-related APIs.
+
+ Tests: fast/events/touch/document-create-touch-list.html
+ fast/js/global-constructors.html
+
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ * dom/Document.idl:
+ * dom/Element.idl:
+ * page/DOMWindow.idl:
+
+2013-01-04 Adam Klein <adamk@chromium.org>
+
+ [v8] Stop using an IDL to generate V8MutationCallback
+ https://bugs.webkit.org/show_bug.cgi?id=106122
+
+ Reviewed by Adam Barth.
+
+ The only real code in the generated V8MutationCallback.{h,cpp} files
+ were specifically written in CodeGeneratorV8 for its use. By instead
+ Using completely-hand-written versions of these files, the
+ CodeGenerator can be simplified (as can all generated Callbacks).
+ All the actually shared code is still shared via subclassing of
+ ActiveDOMCallback.
+
+ This introduces additional flexibility into the implementation of
+ MutationCallback which will be used when fixing the MutationObserver
+ memory leak (http://webkit.org/b/90661) for JSC.
+
+ No changes to JSC for now, just a FIXME in the IDL file.
+
+ No new tests, refactoringonly.
+
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateCallbackHeader):
+ (GenerateCallbackImplementation):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::V8TestCallback):
+ * bindings/scripts/test/V8/V8TestCallback.h:
+ (WebCore::V8TestCallback::create):
+ (V8TestCallback):
+ * bindings/v8/V8MutationCallback.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MutationCallbackCustom.cpp.
+ (WebCore::V8MutationCallback::V8MutationCallback):
+ (WebCore::V8MutationCallback::handleEvent):
+ * bindings/v8/V8MutationCallback.h: Added.
+ (V8MutationCallback):
+ (WebCore::V8MutationCallback::create):
+ (WebCore::V8MutationCallback::weakCallback):
+ * dom/MutationCallback.idl:
+
+2013-01-04 Tony Chang <tony@chromium.org>
+
+ Remove some autogenerated settings from InternalSettings.idl
+ https://bugs.webkit.org/show_bug.cgi?id=106114
+
+ Reviewed by Ojan Vafai.
+
+ Remove 6 methods that are now autogenerated.
+ setAcceleratedFiltersEnabled was never called.
+ AcceleratedCompositingForOverflowScrollEnabled was never backed up/restored.
+ setEnableCompositingForFixedPosition and setEnableCompositingForScrollableFrames
+ are renamed to match the name in Settings.in.
+
+ No new tests, there should be no change in behavior. This is covered by
+ existing tests in compositing and platform/chromium/compositing.
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup): Remove code.
+ (WebCore::InternalSettings::Backup::restoreTo): Remove code.
+ * testing/InternalSettings.h:
+ (Backup): Remove member variables.
+ (InternalSettings):
+ * testing/InternalSettings.idl: Remove methods that are no longer used.
+
+2013-01-04 Ojan Vafai <ojan@chromium.org>
+
+ Vertical writing mode can overflow fixed size grandparent container
+ https://bugs.webkit.org/show_bug.cgi?id=93655
+
+ Reviewed by David Hyatt.
+
+ Add a hook to RenderBox::availableHeight to exclude the containing block's
+ margin, border and padding. This is for auto-sizing perpendicular writing modes
+ to restrict to the minimum of the fill-available height and the viewport height.
+
+ This will be used in a future patch to implement "height: fill-available".
+
+ This behavior was recently specced in http://dev.w3.org/csswg/css3-sizing/#extrinsic-sizing.
+
+ Test: fast/writing-mode/auto-sizing-orthogonal-flows.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
+ (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
+ (WebCore::RenderBox::availableLogicalHeight):
+ (WebCore::RenderBox::availableLogicalHeightUsing):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ (WebCore::RenderBox::availableWidth):
+ (WebCore::RenderBox::availableHeight):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::computeIntrinsicRatioInformation):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::availableLogicalHeight):
+ * rendering/RenderView.h:
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
+
+2013-01-04 Joshua Bell <jsbell@chromium.org>
+
+ Add tests for WebIDL type conversions
+ https://bugs.webkit.org/show_bug.cgi?id=105927
+
+ Reviewed by Adam Barth.
+
+ Expose attributes of various WebIDL types for testing ECMAScript value conversion,
+ including edge cases such as NaNs, Infinities, etc. These attributes hang off
+ a TypeConversions object created via window.internals.typeConversions().
+
+ Test: fast/js/webidl-type-mapping.html
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCoreTestSupport.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * testing/Internals.cpp:
+ (WebCore::Internals::typeConversions):
+ (WebCore):
+ * testing/Internals.h:
+ (WebCore):
+ * testing/Internals.idl:
+ * testing/TypeConversions.h: Added.
+ (WebCore):
+ (TypeConversions):
+ (WebCore::TypeConversions::create):
+ (WebCore::TypeConversions::testLong):
+ (WebCore::TypeConversions::setTestLong):
+ (WebCore::TypeConversions::testUnsignedLong):
+ (WebCore::TypeConversions::setTestUnsignedLong):
+ (WebCore::TypeConversions::testLongLong):
+ (WebCore::TypeConversions::setTestLongLong):
+ (WebCore::TypeConversions::testUnsignedLongLong):
+ (WebCore::TypeConversions::setTestUnsignedLongLong):
+ (WebCore::TypeConversions::TypeConversions):
+ * testing/TypeConversions.idl: Added.
+
+2013-01-04 Stephen White <senorblanco@chromium.org>
+
+ Invalidation of some SVG filter attributes on HTML content doesn't work
+ https://bugs.webkit.org/show_bug.cgi?id=105635
+
+ Reviewed by Dirk Schulze.
+
+ Since HTML elements with filters are only added to m_clientLayers, not
+ m_clients, and do not use the FilterInfo used by SVG filters on SVG
+ elements, they must be invalidated separately. Some filter attribute
+ invalidations call markAllClientsForInvalidation(), but some call
+ markClientForInvalidation() directly. These invaldations must also
+ invalidate m_clientLayers.
+
+ Test: css3/filters/reference-filter-update-on-attribute-change.html
+
+ * rendering/svg/RenderSVGResourceContainer.cpp:
+ (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
+ (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
+ * rendering/svg/RenderSVGResourceContainer.h:
+ Refactor client layer invalidation out into its own function.
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ Mark all client layers for invalidation when a filter primitve attribute is
+ changed.
+
+2013-01-04 Mike West <mkwst@chromium.org>
+
+ CSP 1.1: Experiment with adding line numbers to violation reports.
+ https://bugs.webkit.org/show_bug.cgi?id=105374
+
+ Reviewed by Adam Barth.
+
+ Line numbers and URLs were added to the CSP 1.1 spec in
+ https://dvcs.w3.org/hg/content-security-policy/rev/e0270baace3d, and
+ already exist (and have for quite some time) in Firefox's
+ implementation. Based on developer feedback, it seems reasonable to
+ experiment a bit with adding them to WebKit's violation reports.
+ This patch generates a stack trace when constructing the violation
+ report object (iff a violation report object ought to be generated)
+ and adds a line number and URL to the object if possible.
+
+ Tests: http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html
+ http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ Generate a stack trace when building the violation report: if it
+ has relevant detail, add the line number and URL to the report
+ object.
+
+2013-01-04 Mike Lawther <mikelawther@chromium.org>
+
+ CSS3 calc: working with translate and scale transforms
+ https://bugs.webkit.org/show_bug.cgi?id=105985
+
+ Reviewed by Ojan Vafai.
+
+ Allow convertTo[Float|Int]Length functions to process calculated values.
+
+ Tests: css3/calc/transforms-scale.html
+ css3/calc/transforms-translate.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::convertToIntLength):
+ (WebCore::StyleResolver::convertToFloatLength):
+
+2013-01-04 Elliott Sprehn <esprehn@chromium.org>
+
+ PseudoElement should never dispatch events
+ https://bugs.webkit.org/show_bug.cgi?id=106048
+
+ Reviewed by Ojan Vafai.
+
+ The new DOM based generated content can sometimes dispatch events
+ as a result of animations or transitions which is incorrect as it
+ exposes the PseudoElement to script. All event dispatch from a
+ PseudoElement should be ignored.
+
+ Per discussions with Tab Atkins in the future we might add support
+ by making events dispatched from a pseudo element fire with the
+ target as the parent element and add a new pseudo property to
+ events that has the value "before" or "after".
+
+ Test: fast/css-generated-content/pseudo-element-events.html
+
+ * dom/PseudoElement.h:
+
+2013-01-04 Benjamin Poulain <benjamin@webkit.org>
+
+ WebKitCSSTransformValue::customCssText() should always allocate once
+ https://bugs.webkit.org/show_bug.cgi?id=105445
+
+ Reviewed by Alexis Menard.
+
+ When converting a WebKitCSSTransformValue to a String representation,
+ it was typically done with 2 memory allocations due to the string size in StringBuilder.
+
+ This patch changes the code to use the String Concatenate operations in order
+ to create the string at once.
+
+ The opening parenthesis is also moved in the prefix name in order to maximize
+ the range copied with memcopy.
+
+ * css/WebKitCSSTransformValue.cpp:
+ (WebCore::transformValueToCssString): New generic function for boxing values.
+ (WebCore::WebKitCSSTransformValue::customCssText):
+ (WebCore::WebKitCSSTransformValue::customSerializeResolvingVariables):
+
+2013-01-04 James Robinson <jamesr@chromium.org>
+
+ [chromium] WebTransformationMatrix shouldn't alias memory for TransformationMatrix
+ https://bugs.webkit.org/show_bug.cgi?id=106025
+
+ Reviewed by Adrienne Walker.
+
+ * platform/chromium/support/WebTransformationMatrix.cpp:
+ (WebKit::WebTransformationMatrix::WebTransformationMatrix):
+ (WebKit::WebTransformationMatrix::reset):
+ (WebKit):
+ (WebKit::WebTransformationMatrix::operator=):
+ (WebKit::WebTransformationMatrix::operator==):
+ (WebKit::WebTransformationMatrix::inverse):
+ (WebKit::WebTransformationMatrix::to2dTransform):
+ (WebKit::WebTransformationMatrix::multiply):
+ (WebKit::WebTransformationMatrix::makeIdentity):
+ (WebKit::WebTransformationMatrix::translate):
+ (WebKit::WebTransformationMatrix::translate3d):
+ (WebKit::WebTransformationMatrix::translateRight3d):
+ (WebKit::WebTransformationMatrix::scale):
+ (WebKit::WebTransformationMatrix::scaleNonUniform):
+ (WebKit::WebTransformationMatrix::scale3d):
+ (WebKit::WebTransformationMatrix::rotate):
+ (WebKit::WebTransformationMatrix::rotate3d):
+ (WebKit::WebTransformationMatrix::skewX):
+ (WebKit::WebTransformationMatrix::skewY):
+ (WebKit::WebTransformationMatrix::applyPerspective):
+ (WebKit::WebTransformationMatrix::blend):
+ (WebKit::WebTransformationMatrix::hasPerspective):
+ (WebKit::WebTransformationMatrix::isInvertible):
+ (WebKit::WebTransformationMatrix::isBackFaceVisible):
+ (WebKit::WebTransformationMatrix::isIdentity):
+ (WebKit::WebTransformationMatrix::isIdentityOrTranslation):
+ (WebKit::WebTransformationMatrix::isIntegerTranslation):
+ (WebKit::WebTransformationMatrix::m11):
+ (WebKit::WebTransformationMatrix::setM11):
+ (WebKit::WebTransformationMatrix::m12):
+ (WebKit::WebTransformationMatrix::setM12):
+ (WebKit::WebTransformationMatrix::m13):
+ (WebKit::WebTransformationMatrix::setM13):
+ (WebKit::WebTransformationMatrix::m14):
+ (WebKit::WebTransformationMatrix::setM14):
+ (WebKit::WebTransformationMatrix::m21):
+ (WebKit::WebTransformationMatrix::setM21):
+ (WebKit::WebTransformationMatrix::m22):
+ (WebKit::WebTransformationMatrix::setM22):
+ (WebKit::WebTransformationMatrix::m23):
+ (WebKit::WebTransformationMatrix::setM23):
+ (WebKit::WebTransformationMatrix::m24):
+ (WebKit::WebTransformationMatrix::setM24):
+ (WebKit::WebTransformationMatrix::m31):
+ (WebKit::WebTransformationMatrix::setM31):
+ (WebKit::WebTransformationMatrix::m32):
+ (WebKit::WebTransformationMatrix::setM32):
+ (WebKit::WebTransformationMatrix::m33):
+ (WebKit::WebTransformationMatrix::setM33):
+ (WebKit::WebTransformationMatrix::m34):
+ (WebKit::WebTransformationMatrix::setM34):
+ (WebKit::WebTransformationMatrix::m41):
+ (WebKit::WebTransformationMatrix::setM41):
+ (WebKit::WebTransformationMatrix::m42):
+ (WebKit::WebTransformationMatrix::setM42):
+ (WebKit::WebTransformationMatrix::m43):
+ (WebKit::WebTransformationMatrix::setM43):
+ (WebKit::WebTransformationMatrix::m44):
+ (WebKit::WebTransformationMatrix::setM44):
+ (WebKit::WebTransformationMatrix::a):
+ (WebKit::WebTransformationMatrix::setA):
+ (WebKit::WebTransformationMatrix::b):
+ (WebKit::WebTransformationMatrix::setB):
+ (WebKit::WebTransformationMatrix::c):
+ (WebKit::WebTransformationMatrix::setC):
+ (WebKit::WebTransformationMatrix::d):
+ (WebKit::WebTransformationMatrix::setD):
+ (WebKit::WebTransformationMatrix::e):
+ (WebKit::WebTransformationMatrix::setE):
+ (WebKit::WebTransformationMatrix::f):
+ (WebKit::WebTransformationMatrix::setF):
+ (WebKit::WebTransformationMatrix::toWebCoreTransform):
+
+2013-01-04 Stephen White <senorblanco@chromium.org>
+
+ CSS url() filters with forward references don't work
+ https://bugs.webkit.org/show_bug.cgi?id=90405
+
+ Based on a patch by Keyar Hood.
+
+ Reviewed by Dirk Schulze.
+
+ In order for CSS to reference SVG filters that will occur later in
+ the document, or will be added at a future time, we need a way to
+ notify the target element (the one the filter style is applied to)
+ when the correct SVG filter is added to the DOM.
+ There is already code for SVG elements that handles this problem, in
+ SVGResourcesCache. This patch allows any element to have a reference to
+ an SVG element in SVGResourceCache.
+
+ Tests: css3/filters/effect-reference-after.html
+ css3/filters/effect-reference-delete-crash.html
+ css3/filters/effect-reference-delete.html
+ css3/filters/effect-reference-removed-while-pending-resources.html
+ css3/filters/effect-reference-rename.html
+ css3/filters/effect-reference-reset-style-delete-crash.html
+ svg/filters/filter-cycle.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::~Element):
+ (WebCore::Element::removedFrom):
+ When an Element is deleted or removed from its container, and it
+ has pending resources, remove it from the SVGResourceCache resources
+ on deletion or when removed from its container.
+ (WebCore::Element::hasPendingResources):
+ (WebCore::Element::setHasPendingResources):
+ (WebCore::Element::clearHasPendingResources):
+ Accessors for ElementRareData's new bit flag.
+ * dom/Element.h:
+ (WebCore::Element::buildPendingResource):
+ Virtual function to override for referenced elements (moved from SVGElement).
+ * dom/ElementRareData.h:
+ (WebCore::ElementRareData::hasPendingResources):
+ (WebCore::ElementRareData::setHasPendingResources):
+ (WebCore::ElementRareData::ElementRareData):
+ Add a new bit flag to indicate whether the element depends on pending resources or not, and accessors.
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::NodeRareData):
+ (NodeRareData):
+ The actual flag bit lives in NodeRareData, so it compacts better with
+ other flags.
+ * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
+ (WebCore::BitmapTextureImageBuffer::applyFilters):
+ Changed to the new function signature for FilterEffectRenderer::build().
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::createCustomFilterEffect):
+ (WebCore::FilterEffectRenderer::buildReferenceFilter):
+ Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives. If the referenced filter cannot be found, add its id as a pending reference.
+ (WebCore::FilterEffectRenderer::build):
+ * rendering/FilterEffectRenderer.h:
+ Change to signatures of build() and buildReferenceFilter() to pass
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
+ Use the new semantics for FilterEffectRenderer::build().
+ * rendering/svg/RenderSVGResourceContainer.cpp:
+ (WebCore::RenderSVGResourceContainer::registerResource):
+ Call clearHasPendingResourceIfPossible on the SVGDocumentExtensions, not
+ on the element, since we want to support generic Elements.
+ * rendering/svg/SVGResourcesCache.cpp:
+ (WebCore::SVGResourcesCache::addResourcesFromRenderObject):
+ (WebCore::SVGResourcesCache::clientStyleChanged):
+ For non-SVG elements, set a synthetic style change when parent resources
+ are invalidated.
+ (WebCore::SVGResourcesCache::resourceDestroyed):
+ Add support for non-SVG Elements.
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ (WebCore::SVGDocumentExtensions::isElementPendingResources):
+ (WebCore::SVGDocumentExtensions::isElementPendingResource):
+ Changed to allow use of Element instead of SVGElement.
+ (WebCore::SVGDocumentExtensions::clearHasPendingResourcesIfPossible):
+ Moved from SVGElement, and made to work on any Element. This way,
+ we avoid adding this function to Element itself.
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
+ Changed to allow use of Element instead of SVGElement.
+ * svg/SVGDocumentExtensions.h:
+ SVGElement -> Element.
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::~SVGElement):
+ (WebCore::SVGElement::removedFrom):
+ Don't handle pending resource notifications (Element will do it).
+ * svg/SVGElement.h:
+ All functions moved to Element, except for clearHasPendingResourcesIfPossible() moved to SVGDocumentExtensions.
+ * svg/SVGElementRareData.h:
+ (WebCore::SVGElementRareData::SVGElementRareData):
+ m_hasPendingResources and accessors moved to ElementRareData.
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
+ SVGElement -> Element, and call SVGDocumentExtensions for
+ clearHasPendingResourcesIfPossible().
+
+2013-01-04 John Mellor <johnme@chromium.org>
+
+ Clamp font sizes to valid range in RenderStyle::setFontSize
+ https://bugs.webkit.org/show_bug.cgi?id=106014
+
+ Reviewed by Emil A Eklund.
+
+ There is a test-case attached to http://crbug.com/167443, but I can't
+ think of a good way of automatically testing this. Functionality
+ shouldn't change on normal pages.
+
+ * rendering/style/RenderStyleConstants.h:
+ Add constant for maximum allowed font size.
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyFontSize::applyValue):
+ Use constant from RenderStyleConstants.h instead of hardcoding.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::getComputedSizeFromSpecifiedSize):
+ Use constant from RenderStyleConstants.h instead of hardcoding.
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setFontSize):
+ Clamp non-finite and out of range font sizes.
+
+2013-01-04 Mike West <mkwst@chromium.org>
+
+ CSP: Blocked 'track' sources should only log once to the console.
+ https://bugs.webkit.org/show_bug.cgi?id=106091
+
+ Reviewed by Eric Carlson.
+
+ HTMLTrackElement posts a message to the console when track data is
+ blocked by Content Security Policy. Now that we're logging inside the
+ ContentSecurityPolicy object itself, there's no need for the
+ duplication. This patch drops the extra log message (and, as a
+ side-effect, adds a test that ensures that 'track' content is governed
+ by the 'media-src' directive).
+
+ Test: http/tests/security/contentSecurityPolicy/media-src-track-block.html
+
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::canLoadUrl):
+
+2013-01-03 Jer Noble <jer.noble@apple.com>
+
+ Crash in media/unsupported-rtsp.html.
+ https://bugs.webkit.org/show_bug.cgi?id=106038
+
+ Reviewed by Eric Carlson.
+
+ Fixes media/unsupported-rtsp.html on Mac platforms which support AVAssetResourceLoadingRequest.
+
+ Check that the CachedResource passed in the notifyFinished method didn't fail or error before
+ passing its (possibly nil) contents to the AVAssetResourceLoadingRequest.
+
+ * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
+ (WebCore::WebCoreAVFResourceLoader::notifyFinished):
+ (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):
+
+2013-01-04 Mike West <mkwst@chromium.org>
+
+ CSP: 'frame-src' should block redirects to invalid sources.
+ https://bugs.webkit.org/show_bug.cgi?id=106084
+
+ Reviewed by Adam Barth.
+
+ The 'frame-src' CSP directive whitelists valid iframe targets, but
+ currently fails to correctly deal with redirection. As long as the
+ initial target is valid, any redirection goes through without
+ question. This patch moves the CSP check out of
+ SubframeLoader::loadSubframe, and into
+ PolicyChecker::checkNavigationPolicy. In the new location, the check
+ is well-positioned to check each URL in a redirect chain, as opposed
+ to checking only the initial target.
+
+ Test: http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html
+
+ * loader/PolicyChecker.cpp:
+ (WebCore::PolicyChecker::checkNavigationPolicy):
+ * loader/SubframeLoader.cpp:
+ (WebCore::SubframeLoader::loadSubframe):
+
+2013-01-04 Mike West <mkwst@chromium.org>
+
+ CSP: XHR from an isolated world should bypass a page's policy.
+ https://bugs.webkit.org/show_bug.cgi?id=104480
+
+ Reviewed by Adam Barth.
+
+ Connections of various types are governed by the page's Content Security
+ Policy 'connect-src' directive. In the special case of connections
+ generated from an isolated world, we'd like to bypass these restrictions
+ in order to allow things like extensions to enjoy their uniquely high-
+ privilege lifestyle. This patch does just that.
+
+ We'll lock them down to their own policy in webkit.org/b/104520, but
+ that's a bit far away at the moment. Soon!
+
+ Test: http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html
+
+ * Modules/websockets/WebSocket.cpp:
+ (WebCore::WebSocket::connect):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::canRequest):
+ * page/EventSource.cpp:
+ (WebCore::EventSource::create):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::open):
+ Check whether or not code is running in an isolated world that has
+ its own Content Security Policy. If so, bypass the main world's CSP
+ checks. Isolated worlds gotta be free, man.
+
+2013-01-04 Mike Lawther <mikelawther@chromium.org>
+
+ CSS3 calc: mixed percent/absolute for border-radius
+ https://bugs.webkit.org/show_bug.cgi?id=106046
+
+ Reviewed by Ojan Vafai.
+
+ Add the calculation evaluation to the border radius code.
+
+ Test: css3/calc/border-radius.html
+
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyBorderRadius::applyValue):
+
+2013-01-04 John Mellor <johnme@chromium.org>
+
+ Early out from FontCache::releaseFontData if cached font data not found.
+ https://bugs.webkit.org/show_bug.cgi?id=106104
+
+ Reviewed by Abhishek Arya.
+
+ No tests, as no change in behavior.
+
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontCache::releaseFontData):
+
+ Early out in release builds if cached font data not found.
+
+2013-01-04 Adam Klein <adamk@chromium.org>
+
+ Remove ENABLE_MUTATION_OBSERVERS #define
+ https://bugs.webkit.org/show_bug.cgi?id=105459
+
+ Reviewed by Ryosuke Niwa.
+
+ The flag has been on by default for quite awhile now (nearly a year)
+ and the feature is a standardized part of DOM4.
+
+ The only place it was disabled was under "unstable" features for the
+ gtk port, but the fact that it's shipping in several major WebKit
+ browsers as well as Firefox suggests that it's not too unstable.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am: Removed ENABLE_MUTATION_OBSERVERS from the "unstable features" list.
+ * GNUmakefile.features.am.in:
+ * bindings/js/JSDictionary.cpp:
+ (WebCore):
+ (WebCore::JSDictionary::convertValue):
+ * bindings/js/JSDictionary.h:
+ * bindings/js/JSMainThreadExecState.cpp:
+ (WebCore::JSMainThreadExecState::didLeaveScriptContext):
+ * bindings/js/JSMutationCallbackCustom.cpp:
+ * bindings/js/JSMutationObserverCustom.cpp:
+ * bindings/v8/V8GCController.cpp:
+ * bindings/v8/V8RecursionScope.cpp:
+ (WebCore::V8RecursionScope::didLeaveScriptContext):
+ * bindings/v8/custom/V8MutationCallbackCustom.cpp:
+ * bindings/v8/custom/V8MutationObserverCustom.cpp:
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::setCssText):
+ (WebCore::PropertySetCSSStyleDeclaration::setProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
+ (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::dispatchModifiedEvent):
+ * dom/ChildListMutationScope.cpp:
+ * dom/ChildListMutationScope.h:
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::insertBefore):
+ (WebCore::ContainerNode::replaceChild):
+ (WebCore::willRemoveChild):
+ (WebCore::willRemoveChildren):
+ (WebCore::ContainerNode::appendChild):
+ (WebCore::updateTreeAfterInsertion):
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (Document):
+ * dom/Element.cpp:
+ (WebCore::Element::willModifyAttribute):
+ * dom/MutationCallback.h:
+ * dom/MutationCallback.idl:
+ * dom/MutationObserver.cpp:
+ * dom/MutationObserver.h:
+ * dom/MutationObserver.idl:
+ * dom/MutationObserverInterestGroup.cpp:
+ * dom/MutationObserverInterestGroup.h:
+ * dom/MutationObserverRegistration.cpp:
+ * dom/MutationObserverRegistration.h:
+ * dom/MutationRecord.cpp:
+ * dom/MutationRecord.h:
+ * dom/MutationRecord.idl:
+ * dom/Node.cpp:
+ (WebCore::Node::clearRareData):
+ (WebCore::Node::setTextContent):
+ (WebCore::Node::didMoveToNewDocument):
+ (WebCore::Node::notifyMutationObserversNodeWillDetach):
+ * dom/Node.h:
+ (Node):
+ * dom/NodeRareData.cpp:
+ (SameSizeAsNodeRareData):
+ (WebCore::NodeRareData::reportMemoryUsage):
+ * dom/NodeRareData.h:
+ (NodeRareData):
+ (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
+ * editing/markup.cpp:
+ (WebCore::replaceChildrenWithFragment):
+ (WebCore::replaceChildrenWithText):
+ * page/DOMWindow.idl:
+
+2013-01-04 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ Change RenderLayerBacking::nameForLayer() to RenderLayer::name()
+ https://bugs.webkit.org/show_bug.cgi?id=105648
+
+ Reviewed by Simon Fraser.
+
+ No new tests. For debugging only.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::name):
+ (WebCore):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
+ (WebCore::RenderLayerBacking::updateForegroundLayer):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::logLayerInfo):
+
+2013-01-04 Rick Byers <rbyers@chromium.org>
+
+ Existence of window.Touch can break websites mobile device detection
+ https://bugs.webkit.org/show_bug.cgi?id=106071
+
+ Reviewed by Ojan Vafai.
+
+ Revert http://trac.webkit.org/changeset/135562 for now while I work
+ on a slightly safer version.
+
+ * page/DOMWindow.idl:
+
+2013-01-04 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] [WebKit2] Clicking on a word that is selected in an editable area deletes it
+ https://bugs.webkit.org/show_bug.cgi?id=106045
+
+ Reviewed by Carlos Garcia Campos.
+
+ Be more selective about when to confirm WebKit compositions. If there is no current
+ preedit, reseting the GTK+ context shouldn't also do an empty confirmation in WebKit,
+ as this will trash the current selection. The second part of this patch also makes the
+ m_composingTextCurrently member more accurately reflect whether or not we are composing
+ text.
+
+ * platform/gtk/GtkInputMethodFilter.cpp:
+ (WebCore::GtkInputMethodFilter::notifyMouseButtonPress): Only confirm the current WebKit composition
+ if we have a preedit.
+ (WebCore::GtkInputMethodFilter::notifyFocusedOut): Ditto.
+ (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Don't clear the m_composingTextCurrently
+ member if we are not sending a confirmed composition.
+
+2013-01-04 Max Feil <mfeil@rim.com>
+
+ [BlackBerry] Handle re-entrant destruction of MediaPlayerPrivate while a dialog is up
+ https://bugs.webkit.org/show_bug.cgi?id=105906
+
+ Reviewed by George Staikos.
+
+ Now that dialogs are not truly modal anymore, we need to
+ handle the case where MediaPlayerPrivate gets destroyed by
+ re-entrant calls while a dialog is up. We do this by deferring
+ the destruction of MMRPlayer until the user dismisses the dialog.
+
+ No new tests because user dialog input is not yet part of the
+ layouttest framework.
+
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
+ (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
+ (WebCore::MediaPlayerPrivate::onShowErrorDialog):
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
+ (MediaPlayerPrivate):
+
+2013-01-04 Anthony Scian <ascian@rim.com>
+
+ [Blackberry] Static code analysis warning fixes
+ https://bugs.webkit.org/show_bug.cgi?id=105679
+
+ Reviewed by Rob Buis.
+
+ klocwork 1855: fixed by caching page, check against NULL and use cached value
+
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::determineFullScreenMultiplier):
+
+2013-01-04 Hans Muller <hmuller@adobe.com>
+
+ [CSS Exclusions] The ExclusionPolygon classes should allow more than one type of "Edge" class
+ https://bugs.webkit.org/show_bug.cgi?id=106026
+
+ Reviewed by Dirk Schulze.
+
+ Refactored the ExclusionPolygonEdge class to pave the way for a similar
+ OffsetEdge class. The new VertexPair abstract base class provides the common
+ state and operations. ExclusionPolygonEdge now extends VertexPair and defines
+ ExclusionPolygon as a friend, since the ExclusionPolygon constructor initializes
+ its private state.
+
+ * rendering/ExclusionPolygon.cpp:
+ (WebCore::ExclusionPolygon::ExclusionPolygon): Use ExclusionPolygonEdge accessors instead of direct field access.
+ (WebCore::getVertexIntersectionVertices): Ditto.
+ * rendering/ExclusionPolygon.h:
+ (VertexPair): New abstract base class.
+ (WebCore::VertexPair::~VertexPair):
+ (WebCore::VertexPair::minX): This method was defined in ExclusionPolygonEdge.
+ (WebCore::VertexPair::minY): Ditto.
+ (WebCore::VertexPair::maxX): Ditto.
+ (WebCore::VertexPair::maxY): Ditto.
+ (ExclusionPolygonEdge): Now extends VertexPair.
+ (WebCore::ExclusionPolygonEdge::previousEdge): Refer to m_ private class fields, instead of public struct fields.
+ (WebCore::ExclusionPolygonEdge::nextEdge): Ditto.
+ (WebCore::ExclusionPolygonEdge::polygon): Ditto.
+ (WebCore::ExclusionPolygonEdge::vertexIndex1): Ditto.
+ (WebCore::ExclusionPolygonEdge::vertexIndex2): Ditto.
+ (WebCore::ExclusionPolygonEdge::edgeIndex): Ditto.
+
+2013-01-04 Steve Block <steveblock@chromium.org>
+
+ Add 'float FloatPoint::slopeAngleRadians()'
+ https://bugs.webkit.org/show_bug.cgi?id=105997
+
+ Reviewed by Stephen White.
+
+ Refactoring only, no functional change.
+
+ * platform/graphics/FloatPoint.cpp:
+ (WebCore::FloatPoint::slopeAngleRadians):
+ (WebCore):
+ * platform/graphics/FloatPoint.h:
+ Add 'float FloatPoint::slopeAngleRadians() const'
+ * platform/graphics/PathTraversalState.cpp:
+ (WebCore::PathTraversalState::processSegment):
+ * rendering/svg/SVGMarkerData.h:
+ (WebCore::SVGMarkerData::currentAngle):
+ * svg/SVGPathParser.cpp:
+ (WebCore::SVGPathParser::decomposeArcToCubic):
+
+2013-01-04 Zan Dobersek <zandobersek@gmail.com>
+
+ REGRESSION (r138184): transitions/transitions-parsing.html is failing on GTK
+ https://bugs.webkit.org/show_bug.cgi?id=105522
+
+ Reviewed by Xan Lopez.
+
+ Remove the feature define overriding for the unprefixed CSS transition property names
+ define as it is not required.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.am:
+
+2013-01-04 Zan Dobersek <zandobersek@gmail.com>
+
+ [GObject bindings] Wrap event target interface code in feature define guards if necessary
+ https://bugs.webkit.org/show_bug.cgi?id=105743
+
+ Reviewed by Xan Lopez.
+
+ Wrap the event target interface implementation code in feature define guards if the interface
+ is guarded by a conditional. A warning is reported if these methods get called with the specific
+ feature being disabled.
+
+ This was spotted when building with the video track feature disabled was causing build failures.
+
+ No new tests - no new functionality. The bindings tests don't test event targets under conditionals.
+
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ (GenerateEventTargetIface):
+
+2012-12-18 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer] Port WebAudio backend to 1.0 APIs
+ https://bugs.webkit.org/show_bug.cgi?id=105293
+
+ Reviewed by Martin Robinson.
+
+ Port the AudioFileReader and AudioDestination to GStreamer 1.0
+ APIs. It would be preferable to rely on at least GStreamer 1.0.4
+ for this to work properly as that release contains two bug fixes
+ for the deinterleave and interleave elements.
+
+ * platform/audio/FFTFrame.cpp:
+ (WebCore::FFTFrame::reportMemoryUsage): Don't report GstFFTF32
+ structures anymore because they're opaque in GStreamer 1.0.
+ * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
+ (WebCore):
+ (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
+ The wavparse element in 1.0 has no sometimes-pads anymore.
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
+ (AudioFileReader): The decodebin2 element has been renamed to
+ decodebin in GStreamer 1.0.
+ (WebCore::getGStreamerAudioCaps): Audio caps description changed a
+ lot in GStreamer 1.0, the function now handles both APIs.
+ (WebCore::copyGstreamerBuffersToAudioChannel): Adapted to
+ GstBufferList and GstBuffer API changes.
+ (WebCore::onAppsinkPullRequiredCallback): Pull a sample or buffer,
+ depending on which API we use.
+ (WebCore::AudioFileReader::~AudioFileReader): Protect
+ GstBufferListIterators in 0.10-only code path.
+ (WebCore):
+ (WebCore::AudioFileReader::handleSample): Pull an audio sample
+ from appsink and insert it in the appropriate buffer list.
+ (WebCore::AudioFileReader::handleNewDeinterleavePad): Handle
+ appsink API changes from GStreamer 0.10 to 1.0.
+ (WebCore::AudioFileReader::decodeAudioForBusCreation): Create the
+ correct decodebin element.
+ (WebCore::AudioFileReader::createBus): Protect GstBufferListIterators
+ in 0.10-only code path.
+ * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
+ (_WebKitWebAudioSourcePrivate): GstTask in GStreamer 1.0 uses a
+ GRecMutex instead of a (deprecated) GStaticRecMutex.
+ (getGStreamerMonoAudioCaps): Handle caps description changes
+ between GStreamer 0.10 and 1.0.
+ (webKitWebAudioGStreamerChannelPosition): POSITION_LFE in
+ GStreamer 1.0 is now POSITION_LFE1. Also map ChannelCenter to its
+ GStreamer equivalent.
+ (webkit_web_audio_src_class_init): Use generic setGstElementClassMetadata.
+ (webkit_web_audio_src_init): Handle GRecMutex initialisation.
+ (webKitWebAudioSrcConstructed): Set channel position on
+ capsfilter. This is done for GStreamer 1.0 code path only because
+ in 0.10 the caps have no way to store this information.
+ (webKitWebAudioSrcFinalize): Clear GRecMutex.
+ (webKitWebAudioSrcLoop): Handle GstBuffer API changes and add an
+ error check if buffers can't be chained to queue's source pad.
+ (webKitWebAudioSrcChangeState): As advised in the GStreamer docs,
+ fixup the state changes for this live source element: NO_PREROLL
+ in READY->PAUSED and start/stop the GstTask when going/coming
+ to/from PLAYING.
+
+2013-01-04 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSS Regions]Content overflowing last region displayed wrong
+ https://bugs.webkit.org/show_bug.cgi?id=105893
+
+ Reviewed by David Hyatt.
+
+ For the last region in the region chain and flipped writing modes (horizontal-bt, vertical-rl),
+ the clipping rect should take overflow into account in the writing mode direction, which is
+ different in these cases than the direction for non-flipped writing modes.
+
+ Tests: fast/regions/overflow-last-region-horiz-bt.html
+ fast/regions/overflow-last-region-vert-lr.html
+ fast/regions/overflow-last-region-vert-rl.html
+ fast/regions/overflow-last-region.html
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::computeRegionClippingRect): Helper function used to compute region clipping rect
+ for paint and hitTest.
+ (WebCore):
+ (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
+ (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
+ * rendering/RenderFlowThread.h:
+
+2013-01-04 Dima Gorbik <dgorbik@apple.com>
+
+ Implement :future pseudo class for the WebVTT ::cue pseudo element
+ https://bugs.webkit.org/show_bug.cgi?id=105473
+
+ Reviewed by Antti Koivisto.
+
+ This patch changes the approach of showing past/future node objects.
+ Before upper-level containers were used to put past and future nodes inside. Styles were applied
+ to containers. Now styles could be applied directly to nodes by using ::cue(:future).
+ That allows to style future/past WebVTT nodes even if they are nested.
+
+ Existing test was modified to cover new cases.
+
+ * css/CSSSelector.cpp: added :future pseudo class support.
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * css/SelectorChecker.cpp: ditto.
+ (WebCore::SelectorChecker::checkOneSelector):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::canShareStyleWithElement): define style sharing rules for WebVTT objects.
+ * css/mediaControls.css:
+ (video::-webkit-media-text-track-all-nodes):
+ (video::cue(:future)): added standard user-agent styles for the future nodes.
+ * dom/Element.cpp: setter functions don't have an argument now because WebVTT type enum was introduced and the right type is set
+ when the setter is being called.
+ (WebCore::Element::setIsWebVTTNode):
+ (WebCore):
+ (WebCore::Element::isWebVTTFutureNode):
+ (WebCore::Element::setIsWebVTTFutureNode):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementRareData.h:
+ (ElementRareData):
+ * dom/NodeRareData.cpp:
+ (SameSizeAsNodeRareData): added a dummy enum value. Enum is integer type and is aligned in Windows when placed in the bitfield,
+ so it takes more space.
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::NodeRareData):
+ (WebCore::NodeRareData::isWebVTTNode):
+ (WebCore::NodeRareData::setIsWebVTTNode):
+ (WebCore::NodeRareData::isWebVTTFutureNode):
+ (WebCore::NodeRareData::setIsWebVTTFutureNode):
+ (NodeRareData):
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore):
+ * html/track/TextTrack.h: add a WebVTT node object type enum.
+ (TextTrack):
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::allNodesShadowPseudoId):
+ (WebCore::TextTrackCue::TextTrackCue):
+ (WebCore::TextTrackCue::getCueAsHTML):
+ (WebCore):
+ (WebCore::TextTrackCue::setNodeObjectFlags): determine if the node is future or past and mark as WebVTT node.
+ This combines the functionality related to marking nodes implemented before in updateDisplayTree and
+ markNodesAsWebVTTNodes.
+ (WebCore::TextTrackCue::updateDisplayTree):
+ (WebCore::TextTrackCue::getDisplayTree):
+ * html/track/TextTrackCue.h:
+ (TextTrackCue):
+ * html/track/WebVTTParser.cpp:
+ (WebCore::WebVTTParser::constructTreeFromToken): no need to mark nodes as WebVTT nodes when parsing. This is done at the
+ rendering stage later.
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): the container name has changed.
+
+2013-01-04 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ REGRESSION (r138222?): Assertion failure on appcache/main-resource-redirect.html
+ https://bugs.webkit.org/show_bug.cgi?id=105591
+
+ Reviewed by Brady Eidson.
+
+ Fixes crash in test http/tests/appcache/main-resource-redirect.html.
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::willSendRequest): In case of loading
+ substitute data from application cache host due to a redirect,
+ make sure the substitute data identifier is initialized.
+
+2013-01-03 Tony Chang <tony@chromium.org>
+
+ incorrect flexbox relayout with overflow, padding and absolute positioning
+ https://bugs.webkit.org/show_bug.cgi?id=106022
+
+ Reviewed by Ojan Vafai.
+
+ The problem was we were entering simplified layout, which doesn't apply the stretch
+ behavior for flex children. That should be fine if we had kept the override size from
+ the previous layout. So clear the override size during layout rather than after layout.
+
+ Not clearing the override size re-triggers bug 98611. Fix this by always forcing a
+ layout of an image if it has an override size set. The presence of an override size means
+ we did some special layout that may not be covered by re-computing the logical width and
+ height.
+
+ Test: css3/flexbox/stretch-simplified-layout.html
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock): Don't clear the override size after layout.
+ (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Clear the override size right before layout.
+ * rendering/RenderFlexibleBox.h:
+ (RenderFlexibleBox): Remove clearChildOverrideSizes() since it's not called anymore.
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::imageDimensionsChanged): If an override size is present, force a relayout.
+ Also cleaned up the code a bit to avoid computing the width and height unless we need to.
+
+2013-01-03 Adam Klein <adamk@chromium.org>
+
+ Unreviewed rebaseline of binding tests after r138754
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateCallbackHeader): Remove unnecessary whitespace
+ * bindings/scripts/test/JS/JSTestCallback.h:
+ (WebCore::JSTestCallback::scriptExecutionContext):
+ (JSTestCallback):
+ * bindings/scripts/test/V8/V8TestCallback.h:
+ (WebCore::V8TestCallback::scriptExecutionContext):
+ (V8TestCallback):
+
+2013-01-03 Antoine Quint <graouts@apple.com>
+
+ onload callback for <track> element attached to <video> does not fire
+ https://bugs.webkit.org/show_bug.cgi?id=103258
+
+ Reviewed by Eric Carlson.
+
+ We now correctly implement the track processing model per the latest spec at
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#start-the-track-processing-model.
+
+ For a <track> to load, three conditions must be met:
+
+ 1. it must have a non-empty src
+ 2. it must have a mode other than "disabled" (the default)
+ 3. it must have a parent media element
+
+ We used to only check if we were able to load upon setting the track's src,
+ whereas a change of any of those conditions should have done this, which this
+ patch now correctly implements.
+
+ We also correctly implement the load model asynchronously after step 4, per
+ the spec, hence the split of the code previously entirely contained in
+ HTMLTrackElement::scheduleLoad() in another method fired on a timer.
+
+ Test: media/track/track-element-load-event.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::textTrackModeChanged):
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::HTMLTrackElement):
+ (WebCore::HTMLTrackElement::insertedInto):
+ (WebCore::HTMLTrackElement::parseAttribute):
+ (WebCore::HTMLTrackElement::scheduleLoad):
+ (WebCore):
+ (WebCore::HTMLTrackElement::loadTimerFired):
+ (WebCore::HTMLTrackElement::textTrackModeChanged):
+ * html/HTMLTrackElement.h:
+ * html/track/TextTrack.cpp:
+ (WebCore::TextTrack::removeAllCues):
+ (WebCore):
+ * html/track/TextTrack.h:
+ (TextTrack):
+
+2013-01-03 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=105475
+ Nested fixed position elements incorrectly repositioned on scrolling
+
+ Reviewed by Simon Fraser.
+
+ The fix here is to ensure that the ScrollingTree reflects the same hierarchy as
+ the GraphicsLayer tree. And from there, we can correctly calculate the offset for
+ nested objects by keeping track of a cumulative delta that parents have been moved
+ by.
+
+ We already had to fix this same bug in ScrollingStateNode::removeChild(). The
+ index can be notFound when you are removing a grandchild.
+ * page/scrolling/ScrollingTreeNode.cpp:
+ (WebCore::ScrollingTreeNode::removeChild):
+
+ parentScrollPositionDidChange() now takes a second parameter that represents the
+ delta that parent graphicsLayers have been moved by.
+ * page/scrolling/ScrollingTreeNode.h:
+ (ScrollingTreeNode):
+ * page/scrolling/ScrollingTreeScrollingNode.h:
+ * page/scrolling/mac/ScrollingTreeFixedNode.h:
+ (ScrollingTreeFixedNode):
+
+ attachToStateTree() now handles re-parenting.
+ * page/scrolling/mac/ScrollingCoordinatorMac.mm:
+ (WebCore::ScrollingCoordinatorMac::attachToStateTree):
+
+ Properly adjust by and compute the new parameter cumulativeDelta. Adjusting by
+ this will prevent fixed children of fixed objects from moving when they are not
+ supposed to.
+ * page/scrolling/mac/ScrollingTreeFixedNode.mm:
+ (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
+
+ Give parentScrollPositionDidChange() an initial delta of (0,0).
+ * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+ (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
+
+ Properly adjust by and compute the new parameter cumulativeDelta. This math is
+ actually not quite right for sticky yet as the FIXME indicates.
+ * page/scrolling/mac/ScrollingTreeStickyNode.h:
+ (ScrollingTreeStickyNode):
+ * page/scrolling/mac/ScrollingTreeStickyNode.mm:
+ (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
+
+ Re-named attachToScrollingCoordinator() to attachToScrollingCoordinatorWithParent
+ to make it clear that the node may already be attached, but it may need to be re-
+ parented.
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::attachToScrollingCoordinatorWithParent):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateBacking):
+
+ Always call attachToScrollingCoordinatorWithParent() in case the fixed node has
+ been re-parented.
+ (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
+
+2013-01-03 Simon Fraser <simon.fraser@apple.com>
+
+ Body background with background-attachment:fixed stays in place during rubber-banding
+ https://bugs.webkit.org/show_bug.cgi?id=67894
+
+ Reviewed by Beth Dakin.
+
+ Use FrameView::scrollOffsetForFixedPosition() to compute the location of the rect
+ used to position fixed backgrounds, since it takes rubber-banding into account.
+
+ No test because rubber-banding isn't testtable in layout tests.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
+
+2013-01-03 Adam Klein <adamk@chromium.org>
+
+ [HTMLTemplateElement] When adopting a template element, also adopt its content into the appropriate document
+ https://bugs.webkit.org/show_bug.cgi?id=106039
+
+ Reviewed by Eric Seidel.
+
+ Implements the approach discussed in the spec bug:
+ https://www.w3.org/Bugs/Public/show_bug.cgi?id=20129
+
+ Test: fast/dom/HTMLTemplateElement/ownerDocument-adoptNode.html
+
+ * html/HTMLTemplateElement.cpp:
+ (WebCore::HTMLTemplateElement::didMoveToNewDocument):
+ * html/HTMLTemplateElement.h:
+ (HTMLTemplateElement):
+
+2013-01-03 Zoltan Horvath <zoltan@webkit.org>
+
+ [CSS Regions] Don't apply region flow to fullscreen video playing
+ https://bugs.webkit.org/show_bug.cgi?id=102388
+
+ Reviewed by David Hyatt.
+
+ In case of full screen video playing we want to watch the video full screen without applying the region flow.
+
+ Test: fast/regions/full-screen-video-from-region.html
+
+ * dom/NodeRenderingContext.cpp:
+ (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded): Don't move full screen video playing to FlowThread.
+
+2013-01-03 Rafael Weinstein <rafaelw@chromium.org>
+
+ [Mutation Observers] prevent delivery while recipient context is suspended
+ https://bugs.webkit.org/show_bug.cgi?id=105810
+
+ Reviewed by Adam Barth.
+
+ Test: inspector/debugger/mutation-observer-suspend-while-paused.html
+
+ * dom/MutationObserver.cpp:
+ (WebCore::suspendedMutationObservers):
+ (WebCore):
+ (WebCore::MutationObserver::canDeliver):
+ (WebCore::MutationObserver::deliver):
+ (WebCore::MutationObserver::deliverAllMutations):
+ * dom/MutationObserver.h:
+
+2013-01-03 Dan Bernstein <mitz@apple.com>
+
+ No way to obtain a DOMNode given a JS wrapper for a Node
+ https://bugs.webkit.org/show_bug.cgi?id=106033
+
+ Reviewed by Sam Weinig.
+
+ Test: TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm.
+
+ * bindings/objc/DOM.mm:
+ (+[DOMNode _nodeFromJSWrapper:]): Added. If the given JSObjectRef is a wrapper for a Node,
+ returns the Objective-C wrapper for that node. Note that Objective-C wrappers are always
+ for the main world, regardless of which world the given JS wrapper comes from.
+ * bindings/objc/DOMPrivate.h: Added declaration of the above.
+
+2013-01-03 Uday Kiran <udaykiran@motorola.com>
+
+ webkit fails IETC column-width-negative-001.htm
+ https://bugs.webkit.org/show_bug.cgi?id=84778
+
+ Reviewed by Tony Chang.
+
+ CSS3 multicolumn 'column-width' property value must be greater than zero.
+ http://dev.w3.org/csswg/css3-multicol/#column-width
+
+ Test: fast/multicol/column-width-zero.html
+ Negative value test covered by ietestcenter/css3/multicolumn/column-width-negative-001.htm
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Check for value greater than zero while parsing.
+
+2013-01-03 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add a missing state to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=106017
+
+ Reviewed by Adam Barth.
+
+ Adding the missing ReadyStateHaveRemoteOffer which will show up in the spec soon.
+
+ Not testable, just another state.
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::readyState):
+ * platform/mediastream/RTCPeerConnectionHandlerClient.h:
+
+2013-01-03 Emil A Eklund <eae@chromium.org>
+
+ Fix overflow in LayoutUnit::ceil and floor for SATURATED_LAYOUT_ARITHMETIC
+ https://bugs.webkit.org/show_bug.cgi?id=105961
+
+ Reviewed by Levi Weintraub.
+
+ The LayoutUnit::ceil and floor methods overflows if given the
+ intMaxForLayoutUnit and intMinForLayoutUnit values respectively.
+ Check for the max/min value to avoid this.
+
+ Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp
+
+ * platform/LayoutUnit.h:
+ (WebCore::LayoutUnit::ceil):
+ (WebCore::LayoutUnit::floor):
+ Check for the max/min value and return early to avoid overflow.
+ Use the UNLIKELY macro to avoid the cost of branch misprediction
+ for the common case.
+
+2013-01-03 Elliott Sprehn <esprehn@gmail.com>
+
+ [Refactoring] Replace Node's Document pointer with a TreeScope pointer
+ https://bugs.webkit.org/show_bug.cgi?id=59816
+
+ Reviewed by Ryosuke Niwa.
+
+ Instead of giving every node in a shadow a rare data, which can be quite
+ large, we replace the Document pointer in Node with a TreeScope pointer
+ and we give TreeScope a pointer to it's document scope.
+
+ This introduces no branches in document() because in the common
+ case document() becomes equivalent to m_treeScope->m_documentScope where
+ the documentScope is actually m_treeScope so this shouldn't introduce a
+ perf regression.
+
+ Note also that TreeScope can never be null after r136328, and the document
+ pointer is only null for DocumentType nodes so we can use a special
+ no-document TreeScope for this case that always returns null from
+ documentScope().
+
+ My original patch in r137524 for this did not correctly handle the case
+ where the Document is being destroyed and we would then call guardDeref on
+ ourself in the middle of the Document destructor causing asserts. To fix
+ this we need to go back to the original model where Document passes
+ null to it's super constructor for the Document pointer and assigns
+ it's tree scope later, and we also need to clear the tree scope pointer
+ in Document's destructor.
+
+ No new tests, no change in behavior.
+
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ (WebCore::Document::~Document):
+ (WebCore::Document::suggestedMIMEType):
+ * dom/Document.h:
+ (WebCore::Node::isDocumentNode):
+ (WebCore::Node::Node):
+ * dom/Element.cpp:
+ (WebCore::Element::createRareData):
+ * dom/ElementRareData.h:
+ (ElementRareData):
+ (WebCore::ElementRareData::ElementRareData):
+ * dom/Node.cpp:
+ (WebCore::Node::~Node):
+ (WebCore::Node::createRareData):
+ (WebCore::Node::attach):
+ (WebCore::Node::reportMemoryUsage):
+ * dom/Node.h:
+ (WebCore::NodeRareDataBase::NodeRareDataBase):
+ (NodeRareDataBase):
+ (WebCore::Node::treeScope):
+ (WebCore::Node::inDocument):
+ (WebCore::Node::documentInternal):
+ (WebCore::Node::setTreeScope):
+ (Node):
+ * dom/NodeRareData.cpp:
+ (SameSizeAsNodeRareData):
+ (WebCore::NodeRareData::reportMemoryUsage):
+ * dom/NodeRareData.h:
+ (WebCore::NodeRareData::NodeRareData):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::ShadowRoot):
+ * dom/TreeScope.cpp:
+ (SameSizeAsTreeScope):
+ (WebCore::TreeScope::TreeScope):
+ (WebCore::TreeScope::clearDocumentScope):
+ Needed to clear the document scope during Document destruction
+ so the Node destructor does not guardDeref the document that is
+ already being destroyed.
+ (WebCore::TreeScope::setParentTreeScope):
+ * dom/TreeScope.h:
+ (TreeScope):
+ (WebCore::TreeScope::documentScope):
+ (WebCore::TreeScope::noDocumentInstance):
+ Special shared tree scope that has a document scope that is always
+ null. This is needed for DocType nodes, and also for Documents
+ during construction.
+ (WebCore::TreeScope::setDocumentScope):
+ * dom/TreeScopeAdopter.cpp:
+ (WebCore::TreeScopeAdopter::moveTreeToNewScope):
+ (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
+
+2013-01-03 Adam Klein <adamk@chromium.org>
+
+ Unreviewed build fix.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::isInTemplateContent): s/UNUSED/UNUSED_PARAM/
+
+2013-01-03 Adam Klein <adamk@chromium.org>
+
+ [HTMLTemplateElement] Disallow cycles within template content
+ https://bugs.webkit.org/show_bug.cgi?id=105066
+
+ Reviewed by Ojan Vafai.
+
+ Cycles in <template> content aren't quite as bad as cycles in normal
+ DOM trees, but they can easily cause crashes, e.g. in cloneNode and
+ innerHTML.
+
+ Shadow DOM has an analagous issue, and this patch tackles that problem
+ at the same time by creating a new method, Node::containsIncludingHostElements.
+
+ In order to disallow cycles, the HTMLTemplateElement.content
+ DocumentFragment needs a pointer to its host. The approach here
+ creates a new subclass with a host pointer and a new virtual method
+ to DocumentFragment to identify the subclass.
+
+ To avoid unnecessary virtual function calls, also changed how
+ Document::templateContentsOwnerDocument works to allow fast inlined
+ access and avoid lazy creation when not needed.
+
+ Tests: fast/dom/HTMLTemplateElement/cycles-in-shadow.html
+ fast/dom/HTMLTemplateElement/cycles.html
+ fast/dom/shadow/shadow-hierarchy-exception.html
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/ContainerNode.cpp:
+ (WebCore::isInTemplateContent):
+ (WebCore::containsConsideringHostElements):
+ (WebCore::checkAcceptChild):
+ * dom/Document.cpp:
+ (WebCore::Document::ensureTemplateContentsOwnerDocument): Renamed to make clear that it lazily creates the Document. Updated all existing callers to call this method.
+ * dom/Document.h:
+ (Document):
+ (WebCore::Document::templateContentsOwnerDocument): Fast, inlined accessor for use in checkAcceptChild().
+ * dom/DocumentFragment.h:
+ (WebCore::DocumentFragment::isTemplateContent):
+ * dom/Node.cpp:
+ (WebCore::Node::containsIncludingShadowDOM): made const, simplified
+ (WebCore::Node::containsIncludingHostElements): Specialized version of Node::contains that knows how to jump over template content boundaries.
+ * dom/Node.h:
+ (Node):
+ * dom/TemplateContentDocumentFragment.h: Added.
+ (TemplateContentDocumentFragment): Subclass of DocumentFragment which stores its host template element.
+ (WebCore::TemplateContentDocumentFragment::create):
+ (WebCore::TemplateContentDocumentFragment::host):
+ (WebCore::TemplateContentDocumentFragment::TemplateContentDocumentFragment):
+ * editing/markup.cpp:
+ (WebCore::createFragmentForInnerOuterHTML):
+ * html/HTMLTemplateElement.cpp:
+ (WebCore::HTMLTemplateElement::content): Construct the new subclass.
+
+2013-01-02 Jon Lee <jonlee@apple.com>
+
+ Revert auto-start plugins to snapshotted plugins after a period of inactivity
+ https://bugs.webkit.org/show_bug.cgi?id=105973
+ <rdar://problem/12947865>
+
+ Reviewed by Brady Eidson.
+
+ * html/HTMLPlugInElement.h:
+ (WebCore::HTMLPlugInElement::plugInOriginHash): Expose publicly for WebKit2.
+ Reorganize the protected members of the class.
+ * html/HTMLPlugInImageElement.h: Move the member to HTMLPlugInElement.
+
+2013-01-03 Alexis Menard <alexis@webkit.org>
+
+ Querying transition-timing-function value on the computed style does not return keywords when it should.
+ https://bugs.webkit.org/show_bug.cgi?id=105442
+
+ Reviewed by Simon Fraser.
+
+ http://www.w3.org/TR/css3-transitions/#transition-timing-function-property
+ contains a set of predefined timing functions which under the hood are
+ implemented using cubic-bezier but it's an implementation detail that
+ should not be exposed. It seems to be more clear to return a CSS
+ keyword rather than the cubic-bezier form when querying the value of
+ the property on the computed style. In fact the spec even say that for
+ example the initial value is "ease" and not cubic-bezier(0.25, 0.1,
+ 0.25, 1.0). We could also imagine that in the future these predefined
+ values could contain other values not represented by a cubic-bezier
+ form. This behavior also align with the "linear" keyword which return
+ "linear" rather than cubic-bezier(0.0, 0.0, 1.0, 1.0).
+
+ Test: transitions/transitions-parsing.html has been updated to cover
+ the new behavior as well as making sure that an explicitly set value of
+ cubic-bezier(0.25, 0.1, 0.25, 1.0) does not return "ease" but the
+ cubic-bezier() form.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::createAnimationValue):
+ (WebCore):
+ (WebCore::getTimingFunctionValue):
+ * css/CSSToStyleMap.cpp:
+ (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
+ * platform/animation/TimingFunction.h:
+ (WebCore::CubicBezierTimingFunction::create):
+ (CubicBezierTimingFunction):
+ (WebCore::CubicBezierTimingFunction::operator==):
+ (WebCore::CubicBezierTimingFunction::timingFunctionPreset): Store the
+ preset value of the timing function if it is one when creating it
+ so we can use it later from the computed style.
+ (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
+
+2013-01-03 Tony Chang <tony@chromium.org>
+
+ Generate internal.settings from Settings.in
+ https://bugs.webkit.org/show_bug.cgi?id=104740
+
+ Reviewed by Adam Barth.
+
+ If the setting is declared in Settings.in and is a basic type, generate a
+ setter function at internals.settings.
+
+ InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
+ inherits from InternalSettingsGenerated.idl so we can override generated functions if
+ needed or add additional custom setters.
+
+ This patch removes 2 password echo methods from InternalSettings.idl since they are
+ auto generated. There are other methods we could remove, but I'll do that in a followup.
+
+ No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
+
+ * CMakeLists.txt: Add generated cpp file to the testing lib.
+ * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
+ * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
+ for bindings generation.
+ * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
+ list of files to be processed and resulting output to be compiled.
+ * UseJSC.cmake: Add generated idl file to list of idl files to process.
+ * UseV8.cmake: Same as UseJSC.cmake.
+ * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
+ bindings generator.
+ * WebCore.gypi: Add new files.
+ * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
+ * WebCore.xcodeproj/project.pbxproj: Add new files.
+ * bindings/scripts/CodeGenerator.pm:
+ (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
+ find the generated idl file.
+ * page/make_settings.pl:
+ (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
+ (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
+ (setterFunctionName): Helper function for naming a setter.
+ (printGetterAndSetter): Use setterFunctionName.
+ (enumerateParsedItems): Helper function that visits each parsed item.
+ (generateInternalSettingsIdlFile): Generate idl file.
+ (generateInternalSettingsHeaderFile): Generate header file.
+ (generateInternalSettingsCppFile): Generate C++ file.
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
+ (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
+ (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
+ RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
+ which uses an OwnPtr.
+ (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
+ (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
+ (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
+ (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
+ (WebCore::InternalSettings::InternalSettings): Call base class constructor.
+ (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
+ Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
+ * testing/InternalSettings.h:
+ (Backup): Remove password echo members.
+ (WebCore::InternalSettings::create): Create an instance instead of using new.
+ (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
+ RefCountedSupplemental has.
+ * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
+ * testing/v8/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
+ Remove an unused header.
+
+2013-01-03 Rik Cabanier <cabanier@adobe.com>
+
+ Canvas blending tests fail on Mac WK2
+ https://bugs.webkit.org/show_bug.cgi?id=105943
+
+ Reviewed by Simon Fraser.
+
+ Tests that now pass:
+ LayoutTests/fast/canvas/canvas-blend-solid.html
+ LayoutTests/fast/canvas/canvas-blend-image.html
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup):
+ (WebCore::InternalSettings::Backup::restoreTo):
+ * testing/InternalSettings.h:
+ (Backup):
+
+2013-01-03 Arko Saha <arko@motorola.com>
+
+ Microdata: Fix build failure after r137003
+ https://bugs.webkit.org/show_bug.cgi?id=106023
+
+ Reviewed by Ryosuke Niwa.
+
+ Set HTMLCollection::namedPropertyGetter as named property getter for
+ HTMLPropertiesCollection in GenerateImplementationNamedPropertyGetter.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateImplementationNamedPropertyGetter):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::V8HTMLCollection::namedPropertyGetter):
+
+2013-01-03 Adam Klein <adamk@chromium.org>
+
+ Clear failed image loads when an <img> is adopted into a different document
+ https://bugs.webkit.org/show_bug.cgi?id=104409
+
+ Reviewed by Nate Chapin.
+
+ This avoids an assertion failure setImageWithoutConsideringPendingLoadEvent().
+
+ Test: loader/image-loader-adoptNode-assert.html
+
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::updateFromElement): Use new helper.
+ (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): ditto
+ (WebCore::ImageLoader::elementDidMoveToNewDocument): ditto
+ (WebCore::ImageLoader::clearFailedLoadURL): Added a helper method to self-document the code.
+ (WebCore):
+ * loader/ImageLoader.h:
+ (ImageLoader):
+
+2013-01-03 Vincent Scheib <scheib@chromium.org>
+
+ Sandbox-blocked pointer lock should log to the console.
+ https://bugs.webkit.org/show_bug.cgi?id=105794
+
+ Reviewed by Adrienne Walker.
+
+ When pointer lock is requested and is denied due to sandbox restrictions
+ a helpful message to web developers is sent to the developer console.
+
+ Existing test expectations updated.
+
+ * page/PointerLockController.cpp:
+ (WebCore::PointerLockController::requestPointerLock):
+
+2013-01-03 Tom Sepez <tsepez@chromium.org>
+
+ PingLoader.h missing virtual and OVERRIDE keywords on its inherited methods.
+ https://bugs.webkit.org/show_bug.cgi?id=105975
+
+ Reviewed by Nate Chapin.
+
+ Change adds compile-time checks only, so no new tests.
+
+ * loader/PingLoader.h:
+ (PingLoader):
+ (WebCore::PingLoader::timeout):
+
+2013-01-02 Levi Weintraub <leviw@chromium.org>
+
+ Fix incorrect assumption about in-flow descendants of inlines in touch event rect tracking
+ https://bugs.webkit.org/show_bug.cgi?id=105970
+
+ Reviewed by Simon Fraser.
+
+ Correcting the touch event target rect accumulation code to no longer incorrectly assume that
+ non-block renderers held only normal-flow children. The updated code will always walk the
+ complete renderer sub-tree, but only do the work of calculating the absolute rect when the
+ child won't necessarily fall inside its parent (floating, positioned, or transformed).
+
+ Tests: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html updated to catch bug.
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::accumulateRendererTouchEventTargetRects): Walk all renderer sub-trees. Also keeping
+ track of the last added parent container rect to avoid adding redundant rectangles.
+ (WebCore::accumulateDocumentEventTargetRects): Avoiding adding empty rects.
+
+2013-01-03 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Simplify IDBTransactionBackendImpl::scheduleTask usage
+ https://bugs.webkit.org/show_bug.cgi?id=103536
+
+ Reviewed by Tony Chang.
+
+ Move responsibility for firing abort errors from requests that arrive on the
+ back-end after an asynchronous transaction abort out of WebCore, since the
+ front-end takes care of this as far as script is concerned.
+
+ No new tests - no behavior changes.
+
+ * Modules/indexeddb/IDBCursorBackendImpl.cpp:
+ (WebCore::IDBCursorBackendImpl::continueFunction):
+ (WebCore::IDBCursorBackendImpl::advance):
+ (WebCore::IDBCursorBackendImpl::prefetchContinue):
+ * Modules/indexeddb/IDBIndexBackendImpl.cpp:
+ (WebCore::IDBIndexBackendImpl::openCursor):
+ (WebCore::IDBIndexBackendImpl::openKeyCursor):
+ (WebCore::IDBIndexBackendImpl::count):
+ (WebCore::IDBIndexBackendImpl::get):
+ (WebCore::IDBIndexBackendImpl::getKey):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::get):
+ (WebCore::IDBObjectStoreBackendImpl::put):
+ (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
+ (WebCore::IDBObjectStoreBackendImpl::clear):
+ (WebCore::IDBObjectStoreBackendImpl::openCursor):
+ (WebCore::IDBObjectStoreBackendImpl::count):
+
+2013-01-03 Tiancheng Jiang <tijiang@rim.com>
+
+ Update BB10 media render theme.
+ https://bugs.webkit.org/show_bug.cgi?id=105728
+
+ Reviewed by Yong Li.
+
+ Internally Reviewed by John Griggs.
+
+ Update GL friendly render method for audio volume.
+ Change the background color for embedded media player to semi-transparent.
+ Change remaining time font color to grey to match full screen video.
+ Change media slider thumb color to blue when pressed.
+
+ * css/mediaControlsBlackBerry.css:
+ (audio):
+ (audio::-webkit-media-controls-embedded-panel, video::-webkit-media-controls-embedded-panel):
+ (video::-webkit-media-controls-time-display-container, audio::-webkit-media-controls-time-display-container):
+ (video::-webkit-media-controls-timeline-container, audio::-webkit-media-controls-timeline-container):
+ (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
+ (video::-webkit-media-controls-time-remaining-display, audio::-webkit-media-controls-time-remaining-display):
+ (audio::-webkit-media-controls-volume-slider-container):
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
+ (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
+
+2013-01-03 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138640.
+ http://trac.webkit.org/changeset/138640
+ https://bugs.webkit.org/show_bug.cgi?id=106019
+
+ Causing crashes in multiply() (Requested by danakj on
+ #webkit).
+
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore):
+ (WebCore::TransformationMatrix::multiply):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (TransformationMatrix):
+
+2013-01-03 Mike West <mkwst@chromium.org>
+
+ The 'body' of seamless IFrames should default to 'margin: 0'
+ https://bugs.webkit.org/show_bug.cgi?id=90834
+
+ Reviewed by Antti Koivisto.
+
+ Documents displayed in seamless iframes should override the 'body'
+ element's normal 8px default margins with 0px, in order to ensure that
+ contents are displayed flush with the boundries of the seamless box.[1]
+
+ This patch does so by adding a new pseudoclass to allow the user agent
+ stylesheet to specify a different margin for seamless documents.
+
+ [1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html
+
+ Test: fast/frames/seamless/seamless-body-margin.html
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h:
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOneSelector):
+ * css/html.css:
+ (body:-webkit-seamless-document):
+ * rendering/style/RenderStyleConstants.h:
+ Define a new pseudoclass: '-webkit-seamless-document', which
+ matches for any element in a document that's rendered in a
+ seamless IFrame.
+
+2013-01-03 Mike West <mkwst@chromium.org>
+
+ seamless iframes don't inherit styles when srcdoc is used
+ https://bugs.webkit.org/show_bug.cgi?id=103539
+
+ Reviewed by Antti Koivisto.
+
+ Seamless iframes populated via a 'srcdoc' attribute should always
+ inherit styles from their parent documents. At the moment, this is
+ only the case when they contain a stylesheet or some other markup
+ that forces a style recalculation on the document. Simple 'srcdoc'
+ attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
+ recalculating style early, resulting in unstyled appearance.
+
+ This patch instructs WebCore to treat seamless documents as having an
+ updated StyleResolver regardless of what actions the parser takes,
+ which in turn ensures that the document's style is recalculated
+ correctly.
+
+ Test: fast/frames/seamless/seamless-srcdoc.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitOpen):
+ If it's a seamless document, notify it that its StyleResolver isn't
+ what it might have expected.
+
+2013-01-03 Allan Sandfeld Jensen <allan.jensen@digia.com>
+
+ [Qt] Implement SimpleFontData::platformBoundsForGlyph
+ https://bugs.webkit.org/show_bug.cgi?id=104127
+
+ Reviewed by Jocelyn Turcotte.
+
+ Implements platformBoundsForGlyph which is necessary for working MathML and Ruby.
+
+ * platform/graphics/qt/SimpleFontDataQt.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+
+2013-01-02 Steve Block <steveblock@chromium.org>
+
+ Remove superfluous 'IntPoint toPoint(const IntSize&)'
+ https://bugs.webkit.org/show_bug.cgi?id=105993
+
+ Reviewed by Eric Seidel.
+
+ Refactoring only, no change in behavior.
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::elementAccessibilityHitTest):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::remoteSVGElementHitTest):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleDrag):
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
+ * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+ (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
+ * platform/graphics/IntPoint.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::scrollToOffset):
+ (WebCore::RenderLayer::offsetFromResizeCorner):
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+
+2013-01-02 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] Remove m_size in TextureMapperLayer.
+ https://bugs.webkit.org/show_bug.cgi?id=105781
+
+ Reviewed by Noam Rosenthal.
+
+ m_size is duplicated by State::size, so this patch removes it.
+
+ No new tests. Refactoring only.
+
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::computeTransformsRecursive):
+ (WebCore::TextureMapperLayer::paintSelf):
+ (WebCore::TextureMapperLayer::isVisible):
+ (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
+ * platform/graphics/texmap/TextureMapperLayer.h:
+ (WebCore::TextureMapperLayer::layerRect):
+ (TextureMapperLayer):
+
+2013-01-02 Kenneth Russell <kbr@google.com>
+
+ [chromium] Creation of dedicated workers (isolates) leaks reference to HTMLDocument
+ https://bugs.webkit.org/show_bug.cgi?id=105367
+
+ Reviewed by Dmitry Titov.
+
+ Eliminated a Chromium-specific object wrapping WorkerMessagingProxy in order to fix a
+ lifetime management bug, which leaked every Document which started a dedicated worker.
+
+ Test: fast/workers/worker-document-leak.html
+
+ * workers/WorkerLoaderProxy.h:
+ (WorkerLoaderProxy):
+ Added Chromium-specific casting method to bridge two now-distinct class hierarchies.
+ * workers/WorkerMessagingProxy.h:
+ (WorkerMessagingProxy):
+ Made destructor protected instead of private to allow subclassing.
+
+2013-01-02 Elliott Sprehn <esprehn@chromium.org>
+
+ Make ClassList::reset's purpose obvious and don't keep quirks string when not needed
+ https://bugs.webkit.org/show_bug.cgi?id=105963
+
+ Reviewed by Ojan Vafai.
+
+ ClassList::reset only exists to handle updating the special SpaceSplitString
+ for quirks mode documents. This adds a new method that makes this obvious and
+ instead of updating the string immediately clear the value and lazily
+ update it. We also clear the value whenever we're inserted into the
+ document so that when moving from a quirks mode document to a non-quirks
+ mode document we don't keep the SpaceSplitString around if it's not needed.
+
+ No new tests, I'm not sure how to write a test that we don't keep the
+ SpaceSplitString when moving between quirks and non-quirks mode documents.
+
+ * dom/Element.cpp:
+ (WebCore::Element::classAttributeChanged):
+ (WebCore::Element::insertedInto):
+ * dom/Element.h:
+ (Element):
+ * dom/ElementRareData.h:
+ (WebCore::ElementRareData::clearClassListValueForQuirksMode):
+ * html/ClassList.cpp:
+ * html/ClassList.h:
+ (WebCore::ClassList::clearValueForQuirksMode):
+
+2013-01-02 Adam Barth <abarth@webkit.org>
+
+ [V8] V8DOMWrapper.cpp has many more includes than necessary
+ https://bugs.webkit.org/show_bug.cgi?id=105968
+
+ Reviewed by Kentaro Hara.
+
+ Now that this file isn't in charge of doing everything under the sun,
+ it can have a more focused set of include directives.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+
+2013-01-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ [EFL][CMAKE] Remove duplicated conditionals
+ https://bugs.webkit.org/show_bug.cgi?id=105905
+
+ Reviewed by Laszlo Gombos.
+
+ Remove conditionals from CMake build system, where the files being built are already wrapped with
+ the conditionals. It just messes cmake file up.
+
+ * PlatformEfl.cmake:
+
+2013-01-02 Alexey Proskuryakov <ap@apple.com>
+
+ Release build fix.
+
+ * platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::formFinalize):
+ Use ASSERT_UNUSED for an otherwise unused variable.
+
+2013-01-02 Tony Chang <tony@chromium.org>
+
+ Unreviewed, rolling out r138661.
+ http://trac.webkit.org/changeset/138661
+ https://bugs.webkit.org/show_bug.cgi?id=104740
+
+ Compile problems on EFL
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.am:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCoreTestSupport.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/scripts/CodeGenerator.pm:
+ (IDLFileForInterface):
+ * page/make_settings.pl:
+ (generateCode):
+ (generateHeader):
+ (printGetterAndSetter):
+ (printInitializer):
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup):
+ (WebCore::InternalSettings::Backup::restoreTo):
+ (WebCore::InternalSettings::from):
+ (WebCore::InternalSettings::InternalSettings):
+ (WebCore::InternalSettings::reset):
+ (WebCore::InternalSettings::setPasswordEchoEnabled):
+ (WebCore):
+ (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
+ * testing/InternalSettings.h:
+ (Backup):
+ (InternalSettings):
+ * testing/InternalSettings.idl:
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject):
+ * testing/v8/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject):
+
+2013-01-02 Adam Barth <abarth@webkit.org>
+
+ [V8] There are some extra blank lines after removing INC_STATS
+ https://bugs.webkit.org/show_bug.cgi?id=105964
+
+ Reviewed by Ojan Vafai.
+
+ This patch is a followup to http://trac.webkit.org/changeset/138665
+ that removes some extra blank lines that sed wasn't smart enough to
+ delete for us.
+
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):
+ * bindings/v8/custom/V8DOMFormDataCustom.cpp:
+ (WebCore::V8DOMFormData::appendCallback):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::addEventListenerCallback):
+ (WebCore::V8DOMWindow::removeEventListenerCallback):
+ (WebCore::V8DOMWindow::postMessageCallback):
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
+ (WebCore::V8DedicatedWorkerContext::postMessageCallback):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateCallback):
+ * bindings/v8/custom/V8GeolocationCustom.cpp:
+ (WebCore::V8Geolocation::getCurrentPositionCallback):
+ (WebCore::V8Geolocation::watchPositionCallback):
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ (WebCore::V8HTMLAllCollection::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::V8HTMLCollection::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
+ (WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::v8HTMLImageElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::namedPropertyGetter):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::V8MessagePort::postMessageCallback):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::V8NamedNodeMap::namedPropertyGetter):
+ * bindings/v8/custom/V8NotificationCustom.cpp:
+ (WebCore::V8Notification::requestPermissionCallback):
+ * bindings/v8/custom/V8PopStateEventCustom.cpp:
+ (WebCore::V8PopStateEvent::stateAccessorGetter):
+ * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
+ (WebCore::V8SQLResultSetRowList::itemCallback):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::V8SQLTransaction::executeSqlCallback):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ (WebCore::V8Storage::namedPropertyQuery):
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ (WebCore::V8StyleSheetList::namedPropertyGetter):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
+ (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getUniformCallback):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::V8Worker::postMessageCallback):
+
+2013-01-02 Alexey Proskuryakov <ap@apple.com>
+
+ [WK2 NetworkProcess] Uploading fails if a client modified the request
+ https://bugs.webkit.org/show_bug.cgi?id=105965
+
+ Reviewed by Brady Eidson.
+
+ Associating streams with additional information via a side HashMap does not work,
+ because the stream we can see is an internal one, with address and other information
+ not matching a stream that we created.
+
+ It's surprising that this design issue was not causing major trouble without NetworkProcess.
+
+ * platform/network/cf/FormDataStreamCFNet.cpp:
+ (WebCore): Renamed FormContext to FormCreationContext, because this type only used
+ for creation. Later, we use FormStreamFields as context.
+ (WebCore::closeCurrentStream): Moved a star.
+ (WebCore::formCreate): We no longer have a side map to keep updated.
+ (WebCore::formFinalize): Ditto.
+ (WebCore::formCopyProperty): Added an accessor to get FormData pointer from a stream.
+ (WebCore::setHTTPBody): Ditto.
+ (WebCore::httpBodyFromStream): Use the new property to get FormData pointer.
+
+2013-01-02 Elliott Sprehn <esprehn@chromium.org>
+
+ Clean up dispatchEvent overrides and overloads
+ https://bugs.webkit.org/show_bug.cgi?id=105959
+
+ Reviewed by Adam Barth.
+
+ Add OVERRIDE to all dispatchEvent overrides and use "using" instead of
+ reimplementing EventTarget::dispatchEvent in subclasses where having the
+ virtual override of dispatchEvent hides the overloads in
+ the superclass.
+
+ No new tests, just refactoring.
+
+ * Modules/indexeddb/IDBDatabase.h:
+ (IDBDatabase):
+ * Modules/indexeddb/IDBOpenDBRequest.h:
+ (IDBOpenDBRequest):
+ * Modules/indexeddb/IDBRequest.h:
+ (IDBRequest):
+ * Modules/indexeddb/IDBTransaction.h:
+ (IDBTransaction):
+ * dom/EventDispatchMediator.h:
+ (FocusEventDispatchMediator):
+ (BlurEventDispatchMediator):
+ * dom/GestureEvent.h:
+ (GestureEventDispatchMediator):
+ * dom/KeyboardEvent.h:
+ (KeyboardEventDispatchMediator):
+ * dom/MouseEvent.h:
+ * dom/Node.h:
+ (Node):
+ * dom/UIEvent.h:
+ (FocusInEventDispatchMediator):
+ (FocusOutEventDispatchMediator):
+ * dom/WheelEvent.h:
+ (WheelEventDispatchMediator):
+ * html/HTMLMediaElement.h:
+ * html/track/TextTrackCue.cpp:
+ * html/track/TextTrackCue.h:
+ (TextTrackCue):
+ * page/DOMWindow.h:
+ (DOMWindow):
+ * svg/SVGElementInstance.h:
+ (SVGElementInstance):
+
+2013-01-02 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Surface a few more leveldb errors.
+ https://bugs.webkit.org/show_bug.cgi?id=105670
+
+ Reviewed by Tony Chang.
+
+ Two calls to old LevelDBTransaction::get slipped through the cracks.
+
+ * Modules/indexeddb/IDBBackingStore.cpp:
+ (WebCore::IndexKeyCursorImpl::loadCurrentRow):
+ (WebCore::IndexCursorImpl::loadCurrentRow):
+ Make these two functions use safeGet instead of get.
+
+ * platform/leveldb/LevelDBTransaction.cpp:
+ * platform/leveldb/LevelDBTransaction.h:
+ Remove get now that it is unused.
+
+2013-01-02 Bem Jones-Bey <bjonesbe@adobe.com>
+
+ When a block's height is determined by min-height/max-height, children with percentage heights are sized incorrectly
+ https://bugs.webkit.org/show_bug.cgi?id=26559
+
+ Reviewed by Tony Chang.
+
+ Percentage logical height computation now takes into account the min and max height of the container.
+
+ Test: fast/block/min-max-height-percent-height-child.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax): Added. Like constrainLogicalHeightByMinMax,
+ but constrains the content box instead of the border box.
+ (WebCore):
+ (WebCore::RenderBox::computeContentLogicalHeight): Make const so it can be called from the const method
+ constrainContentBoxLogicalHeightByMinMax.
+ (WebCore::RenderBox::computePercentageLogicalHeight): Use constrainContentBoxLogicalHeightByMinMax to properly
+ respect min and max height on the containing box when computing the percentage height.
+ * rendering/RenderBox.h:
+ (RenderBox):
+
+2013-01-02 Tony Chang <tony@chromium.org>
+
+ Unreviewed, force InternalSettings.cpp to rebuild to try and fix the Apple Win build.
+
+ * testing/InternalSettings.cpp:
+
+2013-01-02 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: Use non-const buffers in put() to avoid copies
+ https://bugs.webkit.org/show_bug.cgi?id=105572
+
+ Reviewed by Adam Barth.
+
+ Change the new put() method to allow the implementation to consume
+ or adopt the vector, to avoid copying.
+
+ No new tests as this is an interface change that will be implemented later.
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::put):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (IDBDatabaseBackendImpl):
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+
+2013-01-02 Adam Barth <abarth@webkit.org>
+
+ [V8] Remove INC_STATS because it is unused
+ https://bugs.webkit.org/show_bug.cgi?id=105957
+
+ Reviewed by Ojan Vafai.
+
+ We haven't been able to compile with INC_STATS turned on in a long
+ time. This patch just removes this ancient cruft. I generated this
+ patch using
+
+ find . -type f | xargs sed -i '/INC_STATS/d'
+
+ and then fixing up V8BindingMacros.h.
+
+2013-01-02 Tony Chang <tony@chromium.org>
+
+ Generate internal.settings from Settings.in
+ https://bugs.webkit.org/show_bug.cgi?id=104740
+
+ Reviewed by Adam Barth.
+
+ If the setting is declared in Settings.in and is a basic type, generate a
+ setter function at internals.settings.
+
+ InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
+ inherits from InternalSettingsGenerated.idl so we can override generated functions if
+ needed or add additional custom setters.
+
+ This patch removes 2 password echo methods from InternalSettings.idl since they are
+ auto generated. There are other methods we could remove, but I'll do that in a followup.
+
+ No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
+
+ * CMakeLists.txt: Add generated cpp file to the testing lib.
+ * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
+ * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
+ for bindings generation.
+ * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
+ list of files to be processed and resulting output to be compiled.
+ * UseJSC.cmake: Add generated idl file to list of idl files to process.
+ * UseV8.cmake: Same as UseJSC.cmake.
+ * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
+ bindings generator.
+ * WebCore.gypi: Add new files.
+ * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
+ * WebCore.xcodeproj/project.pbxproj: Add new files.
+ * bindings/scripts/CodeGenerator.pm:
+ (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
+ find the generated idl file.
+ * page/make_settings.pl:
+ (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
+ (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
+ (setterFunctionName): Helper function for naming a setter.
+ (printGetterAndSetter): Use setterFunctionName.
+ (enumerateParsedItems): Helper function that visits each parsed item.
+ (generateInternalSettingsIdlFile): Generate idl file.
+ (generateInternalSettingsHeaderFile): Generate header file.
+ (generateInternalSettingsCppFile): Generate C++ file.
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
+ (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
+ (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
+ RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
+ which uses an OwnPtr.
+ (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
+ (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
+ (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
+ (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
+ (WebCore::InternalSettings::InternalSettings): Call base class constructor.
+ (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
+ Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
+ * testing/InternalSettings.h:
+ (Backup): Remove password echo members.
+ (WebCore::InternalSettings::create): Create an instance instead of using new.
+ (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
+ RefCountedSupplemental has.
+ * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
+ * testing/js/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
+ * testing/v8/WebCoreTestSupport.cpp:
+ (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
+ Remove an unused header.
+
+2013-01-02 Adam Barth <abarth@webkit.org>
+
+ HTML preload scanner doesn't need to remember whether we're scanning the body
+ https://bugs.webkit.org/show_bug.cgi?id=105945
+
+ Reviewed by Eric Seidel.
+
+ As far as I can tell, no one uses this state.
+
+ * html/parser/CSSPreloadScanner.cpp:
+ (WebCore::CSSPreloadScanner::CSSPreloadScanner):
+ (WebCore::CSSPreloadScanner::scan):
+ (WebCore::CSSPreloadScanner::emitRule):
+ * html/parser/CSSPreloadScanner.h:
+ (CSSPreloadScanner):
+ * html/parser/HTMLPreloadScanner.cpp:
+ (WebCore::PreloadTask::preload):
+ (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
+ (WebCore::HTMLPreloadScanner::processToken):
+ * html/parser/HTMLPreloadScanner.h:
+ (HTMLPreloadScanner):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::preload):
+ * loader/cache/CachedResourceLoader.h:
+ (CachedResourceLoader):
+
+2013-01-02 Abhishek Arya <inferno@chromium.org>
+
+ Crash in WebCore::Element::cloneElementWithoutChildren.
+ https://bugs.webkit.org/show_bug.cgi?id=105949
+
+ Reviewed by Ryosuke Niwa.
+
+ RefPtr |ancestors| vector since its elements can be destroyed from mutation events
+ fired in CompositeEditCommand::appendNode.
+
+ No new tests. The testcase relies on recursive DOM mutations and does not minimize.
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
+ (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+ * editing/InsertParagraphSeparatorCommand.h:
+ (InsertParagraphSeparatorCommand):
+
+2013-01-02 Douglas Stockwell <dstockwell@chromium.org>
+
+ Crash in WebCore::InlineBox::deleteLine
+ https://bugs.webkit.org/show_bug.cgi?id=93448
+
+ Reviewed by Eric Seidel.
+
+ When we ran off the end of the line while looking for line breaks in an
+ inline with white-space:nowrap nested in a block with white-space:pre
+ it was possible for the line break to be set at or before the current
+ position -- this could result in duplications in the render tree or
+ infinite looping.
+
+ This patch changes the "fixup" logic that runs after we have finished
+ iterating through elements and text and have potentially found a break
+ point. In the case of a block setting white-space:pre we would back up
+ a character in some cases. Not doing so could leave whitespace that
+ should have been collapsed at the end of an inline.
+
+ For example in '<span style="white-space:nowrap">x_</span>_y' if a
+ break was inserted before 'y' the space after 'x' would still be
+ rendered (rather than be collapsed with the break).
+
+ To avoid this problem we will not take the opportunity to break until
+ we have finished collapsing whitespace.
+
+ Tests: fast/text/whitespace/inline-whitespace-wrapping-1.html
+ fast/text/whitespace/inline-whitespace-wrapping-2.html
+ fast/text/whitespace/inline-whitespace-wrapping-3.html
+ fast/text/whitespace/inline-whitespace-wrapping-4.html
+ fast/text/whitespace/nowrap-white-space-collapse.html
+ fast/text/whitespace/pre-block-normal-inline-crash-1.html
+ fast/text/whitespace/pre-block-normal-inline-crash-2.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak): Collapse
+ whitespace before breaking. Avoid setting the break before the current
+ position.
+
+2013-01-02 Adam Barth <abarth@webkit.org>
+
+ Remove webkitPostMessage
+ https://bugs.webkit.org/show_bug.cgi?id=105910
+
+ Reviewed by Kentaro Hara.
+
+ The vendor-prefixed version of postMessage was never widely used.
+ We've been compiling it out of the Chromium port for a while now and
+ haven't received any reports of compatibility problems. I've done a
+ number of web searches for uses of the API and personally contacted a
+ handful of authors I found using the API, all of whom have now moved to
+ the identical unprefixed API. We've publicied the prefix removal in a
+ blog post:
+
+ http://blog.chromium.org/2012/11/a-web-developers-guide-to-latest-chrome.html
+
+ and discussed it on webkit-dev:
+
+ http://lists.macosforge.org/pipermail/webkit-dev/2012-September/022189.html
+
+ We've done our diligence, and now we should remove the API from the
+ remainder of the ports.
+
+ * bindings/js/JSDOMWindowCustom.cpp:
+ * bindings/js/JSDedicatedWorkerContextCustom.cpp:
+ * bindings/js/JSMessagePortCustom.cpp:
+ * bindings/js/JSWorkerCustom.cpp:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::postMessageCallback):
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
+ (WebCore::V8DedicatedWorkerContext::postMessageCallback):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::V8MessagePort::postMessageCallback):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::V8Worker::postMessageCallback):
+ * dom/MessagePort.idl:
+ * page/DOMWindow.idl:
+ * workers/DedicatedWorkerContext.idl:
+ * workers/Worker.idl:
+
+2013-01-02 Benjamin Poulain <benjamin@webkit.org>
+
+ Optimize TransformationMatrix::multiply() for x86_64
+ https://bugs.webkit.org/show_bug.cgi?id=105719
+
+ Reviewed by Sam Weinig.
+
+ On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
+ We can use that in two ways to optimize matrix multiplications:
+ -Keep the source matrix completely in registers. Write the result directly in
+ the source matrix's memory. This avoids the memcpy at the end of the multiplication
+ and various memory operations.
+ -Use SIMD with SSE to perform 2 operations at a time.
+
+ The parameter from the second matrix are loaded one by one in XMM registers.
+ Loading them with SSE then shuffling the values perform worse than loading
+ one by one.
+
+ This is only enabled on 64bits as x86 only has access to 8 XMM registers and
+ the function should be written differently.
+
+ On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.
+
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ (WebCore::TransformationMatrix::multiply):
+ * platform/graphics/transforms/TransformationMatrix.h:
+ (TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.
+
+2013-01-02 Mike West <mkwst@chromium.org>
+
+ Clean up the loadXXXStyle() idiom in StyleResolver.
+ https://bugs.webkit.org/show_bug.cgi?id=105903
+
+ Reviewed by Darin Adler.
+
+ This patch refactors 'loadViewSourceStyle' in order to avoid the
+ necessity of each call site checking whether the relevant data has
+ been loaded. The new 'viewSourceStyle' will load the data if required,
+ and return a pointer which can be used directly.
+
+ No new tests, as this refactoring should exhibit no visible change in
+ behavior.
+
+ * css/StyleResolver.cpp:
+ (WebCore::viewSourceStyle):
+ Lazily populate the static 'defaultViewSourceStyle' with data. I
+ haven't removed the outer variable, as it's used directly in
+ StyleResolver::reportMemoryUsage.
+ (WebCore::StyleResolver::matchUARules):
+ (WebCore::StyleResolver::collectFeatures):
+ Use the new hotness rather than the old, lame method.
+
+2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138627.
+ http://trac.webkit.org/changeset/138627
+ https://bugs.webkit.org/show_bug.cgi?id=105935
+
+ This patch doesn't fix Windows port build failure (Requested
+ by rniwa on #webkit).
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2013-01-02 Elliott Sprehn <esprehn@chromium.org>
+
+ Transitions and animations do not apply to CSS ::before and ::after pseudo-elements
+ https://bugs.webkit.org/show_bug.cgi?id=92591
+
+ Reviewed by Eric Seidel.
+
+ The new DOM based :before and :after pseudo elements support animations
+ and transitions already, but I had disabled support so we could turn them
+ on in a separate step. This patch just removes the checks and adds tests.
+
+ This also adds two methods to internals to allow pausing animations and
+ transitions on pseudo elements at predictable locations so the tests
+ are not flaky.
+
+ Tests: fast/css-generated-content/pseudo-animation.html
+ fast/css-generated-content/pseudo-transition.html
+
+ * WebCore.exp.in:
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationController::updateAnimations):
+ * testing/Internals.cpp:
+ (WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
+ (WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2013-01-02 Chris Rogers <crogers@google.com>
+
+ Implement WebIDL-style string constants in WebAudio
+ https://bugs.webkit.org/show_bug.cgi?id=105058
+
+ Reviewed by Kentaro Hara.
+
+ See Deprecation Notes for more detail:
+ https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes
+
+ PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
+ Legacy support in the setters for the old integer values should be supported.
+
+ This patch handles the changes for OscillatorNode.
+
+ * GNUmakefile.list.am:
+ * Modules/webaudio/OscillatorNode.cpp:
+ (WebCore::OscillatorNode::OscillatorNode):
+ (WebCore::OscillatorNode::type):
+ (WebCore):
+ (WebCore::OscillatorNode::setType):
+ * Modules/webaudio/OscillatorNode.h:
+ * Modules/webaudio/OscillatorNode.idl:
+ * Target.pri:
+ * UseJSC.cmake:
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSOscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
+ (WebCore):
+ (WebCore::JSOscillatorNode::setType):
+ * bindings/v8/custom/V8OscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
+ (WebCore):
+ (WebCore::V8OscillatorNode::typeAccessorSetter):
+
+2013-01-02 Robert Hogan <robert@webkit.org>
+
+ Regression (r132935): WebKit breaks between <nobr> tags
+ https://bugs.webkit.org/show_bug.cgi?id=11857
+
+ Reviewed by David Hyatt.
+
+ The fix for bug 29648 in http://trac.webkit.org/changeset/132935 was too broad - it caused us
+ to find linebreaks in autowrap containers between non-wrapping elements where there was no
+ whitespace to allow the break. This reverts the code change in r132935 and ensures we attempt
+ to move below floats when inside an autowrap container but leaves the treatment of non-wrapping
+ elements in an autowrap container unaffected.
+
+ Test: fast/inline/break-between-nobr.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
+
+2013-01-02 Ryosuke Niwa <rniwa@webkit.org>
+
+ Another Windows port build fix attempt. Don't try to build WTF files in WebCore.
+
+ Rubber-stamped by Sam Weinig.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2013-01-02 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL] [WebGL] Minor cleanup in PlatformContext.
+ https://bugs.webkit.org/show_bug.cgi?id=105872
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The logic to check for supported extensions is scattered in different classes i.e PlatformContext, eglcontext etc.
+ This patch cleans up any duplicate code and adds new api in GLPlatformContext to query for supported GL, EGL and GLX extensions.
+
+ * PlatformEfl.cmake:
+ * platform/graphics/opengl/GLPlatformContext.cpp:
+ (WebCore):
+ (WebCore::GLPlatformContext::createContext):
+ (WebCore::GLPlatformContext::supportsGLExtension):
+ (WebCore::GLPlatformContext::supportsEGLExtension):
+ (WebCore::GLPlatformContext::supportsGLXExtension):
+ (WebCore::GLPlatformContext::makeCurrent):
+ (WebCore::GLPlatformContext::initializeResetStatusExtension):
+ * platform/graphics/opengl/GLPlatformContext.h:
+ * platform/graphics/surfaces/egl/EGLContext.cpp:
+ (WebCore::isRobustnessExtSupported):
+ (WebCore::EGLOffScreenContext::initialize):
+ * platform/graphics/surfaces/glx/GLXContext.cpp:
+ (WebCore::initializeARBExtensions):
+ (WebCore::GLXOffScreenContext::initialize):
+
+2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138601.
+ http://trac.webkit.org/changeset/138601
+ https://bugs.webkit.org/show_bug.cgi?id=105917
+
+ Also not an optimal solution, needs more discussion.
+ (Requested by mkwst_ on #webkit).
+
+ * dom/Document.cpp:
+ (WebCore::Document::finishedParsing):
+
+2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138611.
+ http://trac.webkit.org/changeset/138611
+ https://bugs.webkit.org/show_bug.cgi?id=105916
+
+ Not an optimal solution, needs more discussion. (Requested by
+ mkwst_ on #webkit).
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.vcproj/WebCore.vcproj:
+ * css/StyleResolver.cpp:
+ (WebCore):
+ (WebCore::StyleResolver::matchUARules):
+ (WebCore::StyleResolver::collectFeatures):
+ (WebCore::StyleResolver::reportMemoryUsage):
+ * css/seamless.css: Removed.
+
+2013-01-02 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
+
+ [AC] Memory leak in GraphicsSurfacePrivate::findFBConfigWithAlpha()
+ https://bugs.webkit.org/show_bug.cgi?id=105770
+
+ Reviewed by Noam Rosenthal.
+
+ Free the memory returned by glXGetVisualFromFBConfig() using
+ XFree to avoid a memory leak.
+
+ No new tests. No change in behavior.
+
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
+ (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
+
+2013-01-02 Mike West <mkwst@chromium.org>
+
+ The 'body' of seamless IFrames should default to 'margin: 0'
+ https://bugs.webkit.org/show_bug.cgi?id=90834
+
+ Reviewed by Eric Seidel.
+
+ Documents displayed in seamless iframes should override the 'body'
+ element's normal 8px default margins with 0px, in order to ensure that
+ contents are displayed flush with the boundries of the seamless box.[1]
+
+ This patch does so by adding a new user agent stylesheet for seamless
+ documents, and teaching the StyleResolver how and when to apply it.
+
+ [1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html
+
+ Test: fast/frames/seamless/seamless-body-margin.html
+
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.vcproj/WebCore.vcproj:
+ * CMakeLists.txt:
+ Added a new CSS file! Let's tell everyone!
+ * css/StyleResolver.cpp:
+ (WebCore):
+ (WebCore::loadSeamlessStyle):
+ (WebCore::StyleResolver::matchUARules):
+ (WebCore::StyleResolver::collectFeatures):
+ (WebCore::StyleResolver::reportMemoryUsage):
+ Load the new stylesheet, and apply it to the document in
+ matchUARules iff the document should be displayed seamlessly.
+ * css/seamless.css: Added.
+ (body):
+ Stylesheet containing defaults for seamless documents.
+
+2013-01-01 Dan Bernstein <mitz@apple.com>
+
+ <rdar://problem/12942239> Update copyright strings
+
+ Reviewed by Sam Weinig.
+
+ * Info.plist:
+
+2013-01-01 KwangYong Choi <ky0.choi@samsung.com>
+
+ [EFL] Enable MHTML feature
+ https://bugs.webkit.org/show_bug.cgi?id=105815
+
+ Reviewed by Laszlo Gombos.
+
+ Add application/x-mimearchive type to archive mime types.
+ Add mht and mhtml to extension map.
+
+ No new tests. Existing layout tests pass.
+
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::archiveMIMETypes):
+ * platform/efl/MIMETypeRegistryEfl.cpp:
+ (WebCore):
+
+2013-01-01 Mike West <mkwst@chromium.org>
+
+ seamless iframes don't inherit styles when srcdoc is used
+ https://bugs.webkit.org/show_bug.cgi?id=103539
+
+ Reviewed by Eric Seidel.
+
+ Seamless iframes populated via a 'srcdoc' attribute should always
+ inherit styles from their parent documents. At the moment, this is
+ only the case when they contain a stylesheet or some other markup
+ that forces a style recalculation on the document. Simple 'srcdoc'
+ attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
+ recalculating style early, resulting in unstyled appearance.
+
+ This patch instructs WebCore to treat seamless documents as having an
+ updated StyleResolver regardless of what actions the parser takes,
+ which in turn ensures that the document's style is recalculated
+ correctly.
+
+ Test: fast/frames/seamless/seamless-srcdoc.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::finishedParsing):
+ If it's a seamless document, notify it that its StyleResolver isn't
+ what it might have expected.
+
+2012-12-31 Jeff Rogers <jrogers@rim.com>
+
+ [BlackBerry] Fullscreen Media Time Indicators Background Incorrect
+ https://bugs.webkit.org/show_bug.cgi?id=105888
+
+ Reviewed by George Staikos.
+
+ Internal PR 272699.
+ Update fullscreen media controls CSS to fix time container background
+ color. Also fix transparency to be 80% opaque to and the time
+ remaining text color to match the system player.
+
+ No new tests as there is no functionality change.
+
+ * css/mediaControlsBlackBerryFullscreen.css:
+ (video:-webkit-full-screen::-webkit-media-controls-panel):
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-display-container):
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline-container):
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-current-time-display):
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-remaining-display):
+ (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container, video:-webkit-full-screen::-webkit-media-controls-play-button-container):
+ (video:-webkit-full-screen::-webkit-media-controls-placeholder):
+
+2012-12-31 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Add compile time support for GLES2.
+ https://bugs.webkit.org/show_bug.cgi?id=105816
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This patch adds build support for GLES2.
+ GLES2 support can be enabled during compile time by passing -DENABLE_GLES2=ON as
+ cmake config parameter. GLES2 options is not enabled by default. This patch doesn't
+ address all the build issues related to GLES2 but only adds the needed support in
+ PlatformEfl.cmake.
+
+ * PlatformEfl.cmake:
+
+2012-12-31 Andy Chen <andchen@rim.com>
+
+ [BlackBerry] The HTML5 video fullscreen time indicator on the right cuts clipped when the video is longer than 1 hour
+ https://bugs.webkit.org/show_bug.cgi?id=105887
+
+ Reviewed by George Staikos.
+
+ The width of the time part was fixed. Remove it.
+
+ No new test is required because no functionality change.
+
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
+
+2012-12-30 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL] [WebGL] Rename EGLConfigHelper as EGLConfigSelector.
+ https://bugs.webkit.org/show_bug.cgi?id=105876
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This is to sync the naming conventions of our classes in both EGL and GLX implementations.
+ In our GLX implementation, class responsible for the same functionality is named as GLXConfigSelector.
+ This patch renames EGLConfigHelper as EGLConfigSelector.
+
+ * PlatformEfl.cmake:
+ * platform/graphics/surfaces/egl/EGLConfigSelector.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.cpp.
+ (WebCore):
+ (WebCore::SharedEGLDisplay::deref):
+ (WebCore::SharedEGLDisplay::sharedEGLDisplay):
+ (WebCore::SharedEGLDisplay::SharedEGLDisplay):
+ (WebCore::SharedEGLDisplay::cleanup):
+ (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
+ (WebCore::EGLConfigSelector::EGLConfigSelector):
+ (WebCore::EGLConfigSelector::~EGLConfigSelector):
+ (WebCore::EGLConfigSelector::display):
+ (WebCore::EGLConfigSelector::pBufferContextConfig):
+ (WebCore::EGLConfigSelector::surfaceContextConfig):
+ (WebCore::EGLConfigSelector::nativeVisualId):
+ (WebCore::EGLConfigSelector::reset):
+ (WebCore::EGLConfigSelector::createConfig):
+ * platform/graphics/surfaces/egl/EGLConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.h.
+ (WebCore):
+ (SharedEGLDisplay):
+ (WebCore::SharedEGLDisplay::create):
+ (EGLConfigSelector):
+ * platform/graphics/surfaces/egl/EGLSurface.cpp:
+ (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
+ (WebCore::EGLWindowTransportSurface::configuration):
+ (WebCore::EGLWindowTransportSurface::destroy):
+ * platform/graphics/surfaces/egl/EGLSurface.h:
+ (EGLWindowTransportSurface):
+
+2012-12-30 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer] webaudio/decode-audio-data-basic.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=105298
+
+ Reviewed by Martin Robinson.
+
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
+ (WebCore::AudioFileReader::createBus): Return a null pointer if an
+ error happened while processing a media file.
+
+2012-12-30 Christophe Dumez <christophe.dumez@intel.com>
+
+ Regression(r138545): Makes WebAudio tests crash
+ https://bugs.webkit.org/show_bug.cgi?id=105869
+
+ Reviewed by Philippe Normand.
+
+ Stop using smart pointers and adoptGRef() for the
+ GstBus object and call gst_object_unref() manually.
+ This fixes assertions hits when calling adoptGRef()
+ since the GstBus object has a floating reference.
+
+ Alternatively, we could keep using smart pointers
+ and stop calling adoptGRef() so that
+ gst_object_ref_sink() is called and the floating
+ flag is cleared but I think it is clearer to do
+ it manually here.
+
+ No new tests, already covered by existing tests.
+
+ * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
+ (WebCore::messageCallback):
+ (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
+ (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
+ (WebCore::AudioFileReader::~AudioFileReader):
+ (WebCore::AudioFileReader::decodeAudioForBusCreation):
+
+2012-12-29 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Rename StyleResolver's member variable that holds SelectorChecker to a proper name.
+ https://bugs.webkit.org/show_bug.cgi?id=105864
+
+ In https://bugs.webkit.org/show_bug.cgi?id=105660#c11, Antti suggested renaming m_checker to
+ m_selectorChecker. I've forgotten about that, but now I remembered it.
+
+ Reviewed by Eric Seidel.
+
+ No change in functionality, covered by existing tests.
+
+ * css/StyleResolver.cpp/h: Renamed all instances of m_checker to m_selectorChecker.
+
+2012-12-29 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Move pointer to Document up from SelectorChecker to StyleResolver.
+ https://bugs.webkit.org/show_bug.cgi?id=105863
+
+ Now that SelectorChecker is mostly stateless, it no longer needs to keep a pointer to Document, which
+ makes all the code in StyleResolver that reaches for it sort of weird.
+
+ Reviewed by Eric Seidel.
+
+ No change in functionality, covered by existing tests.
+
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::SelectorChecker): Changed to take document as argument (only used to set bit fields).
+ (WebCore::SelectorChecker::checkOneSelector): Changed to use element document.
+ (WebCore::SelectorChecker::checkScrollbarPseudoClass): Ditto.
+ * css/SelectorChecker.h:
+ (WebCore): Removed unnecessary Document forward declaration.
+ (SelectorChecker): Changed constructor declaration, and removed m_document member.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::StyleResolver): Adjusted SelectorChecker initializer accordingly.
+ (WebCore::StyleResolver::initElement): Changed to use own document accessor.
+ (WebCore::StyleResolver::initForStyleResolve): Ditto.
+ (WebCore::StyleResolver::matchUARules): Ditto.
+ (WebCore::StyleResolver::styleForPage): Ditto.
+ (WebCore::StyleResolver::applyProperty): Ditto.
+ (WebCore::StyleResolver::checkForGenericFamilyChange): Ditto.
+ (WebCore::StyleResolver::initializeFontStyle): Ditto.
+ (WebCore::StyleResolver::setFontSize): Ditto.
+ * css/StyleResolver.h:
+ (WebCore::StyleResolver::document): Changed to use own member.
+ (WebCore::StyleResolver::documentSettings): Ditto.
+ (StyleResolver): Added m_document member.
+ * dom/SelectorQuery.cpp:
+ (WebCore::SelectorQuery::matches): Changed callsite to reflect new constructor signature.
+ (WebCore::SelectorQuery::queryAll): Ditto.
+ (WebCore::SelectorQuery::queryFirst): Ditto.
+ * html/shadow/ContentSelectorQuery.cpp:
+ (WebCore::ContentSelectorChecker::ContentSelectorChecker): Ditto.
+ (WebCore::ContentSelectorQuery::ContentSelectorQuery): Ditto.
+ * html/shadow/ContentSelectorQuery.h:
+ (ContentSelectorChecker): Removed unnecessary argument.
+
+2012-12-29 Otto Derek Cheung <otcheung@rim.com>
+
+ [BlackBerry] Cookies with an IP domain are not being loaded properly into memory
+ https://bugs.webkit.org/show_bug.cgi?id=105859
+
+ PR 271597
+
+ Reviewed by George Staikos.
+
+ The isIP flag isn't persistented in the database. We need to check it
+ again when we load it into memory.
+
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::getBackingStoreCookies):
+
+2012-12-29 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Refactor GLXImplementation.
+ https://bugs.webkit.org/show_bug.cgi?id=105825
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This patch decouples native window management and logic to find surface configuration in GLX implementation.
+
+ * platform/graphics/opengl/GLDefs.h:
+ * platform/graphics/surfaces/glx/GLXConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/glx/GLXWindowResources.h.
+ (WebCore):
+ (GLXConfigSelector):
+ (WebCore::GLXConfigSelector::GLXConfigSelector):
+ (WebCore::GLXConfigSelector::~GLXConfigSelector):
+ (WebCore::GLXConfigSelector::visualInfo):
+ (WebCore::GLXConfigSelector::pBufferContextConfig):
+ (WebCore::GLXConfigSelector::surfaceContextConfig):
+ (WebCore::GLXConfigSelector::reset):
+ (WebCore::GLXConfigSelector::createConfig):
+
+ Helper class to find surface configuration.
+
+ * platform/graphics/surfaces/glx/GLXContext.h:
+ (GLXOffScreenContext):
+ * platform/graphics/surfaces/glx/GLXSurface.cpp:
+ (WebCore::GLXTransportSurface::GLXTransportSurface):
+ (WebCore::GLXTransportSurface::configuration):
+ (WebCore::GLXTransportSurface::setGeometry):
+ (WebCore::GLXTransportSurface::destroy):
+ (WebCore::GLXPBuffer::GLXPBuffer):
+ (WebCore::GLXPBuffer::initialize):
+ (WebCore::GLXPBuffer::configuration):
+ * platform/graphics/surfaces/glx/GLXSurface.h:
+ (GLXTransportSurface):
+ (GLXPBuffer):
+
+ Inheritance changed from X11OffScreenWindow to GLPlatformSurface.
+
+ * platform/graphics/surfaces/glx/X11WindowResources.cpp:
+ (WebCore):
+ (WebCore::X11OffScreenWindow::X11OffScreenWindow):
+ (WebCore::X11OffScreenWindow::reSizeWindow):
+ (WebCore::X11OffScreenWindow::createOffscreenWindow):
+ (WebCore::X11OffScreenWindow::destroyWindow):
+ (WebCore::X11OffScreenWindow::nativeSharedDisplay):
+ (WebCore::X11OffScreenWindow::setVisualInfo):
+ (WebCore::X11OffScreenWindow::isXRenderExtensionSupported):
+ * platform/graphics/surfaces/glx/X11WindowResources.h:
+ (WebCore::SharedX11Resources::create):
+ (SharedX11Resources):
+ (X11OffScreenWindow):
+
+ Removed code related to surface configiration.
+
+2012-12-29 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Timeline] cpu bar popover shows wrong duration / cpu time.
+ https://bugs.webkit.org/show_bug.cgi?id=105854
+
+ Reviewed by Vsevolod Vlasov.
+
+ Problem: CPU task indexes are already incremented before written to
+ data structure.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype._refreshMainThreadBars):
+ Use for loop to get correct indexes.
+
+2012-12-28 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Native Memory Instrumentation: instrument not instrumented members.
+ https://bugs.webkit.org/show_bug.cgi?id=105830
+
+ Reviewed by Vsevolod Vlasov.
+
+ In some cases we don't want to visit some class members.
+ As example we decided to skip pointers to interface classes such as GraphicLayerClient.
+ We could use addWeakPointer for them but it can't be used for nonpointer members.
+ In the offline discussion we came to a conclusion that we need a new instrumentation
+ method ignoreMember, which will be used for all the members which we won't like to visit/instrument.
+
+ DriveBy: Also I instrumented not yet instrumented members.
+
+ * bindings/v8/DOMWrapperMap.h:
+ (WebCore::DOMWrapperMap::reportMemoryUsage):
+ * bindings/v8/ScriptWrappable.h:
+ (WebCore::ScriptWrappable::reportMemoryUsage):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::reportMemoryUsage):
+ * platform/KURLGoogle.cpp:
+ (WebCore::KURLGooglePrivate::reportMemoryUsage):
+ * platform/SharedBuffer.cpp:
+ (WebCore::SharedBuffer::reportMemoryUsage):
+ * platform/audio/AudioArray.h:
+ (WebCore::AudioArray::reportMemoryUsage):
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::reportMemoryUsage):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::reportMemoryUsage):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::reportMemoryUsage):
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::reportMemoryUsage):
+
+2012-12-29 Andrey Lushnikov <lushnikov@chromium.com>
+
+ Web Inspector: refactor DefaultTextEditor - annotate handlers and fix getters style
+ https://bugs.webkit.org/show_bug.cgi?id=105829
+
+ Reviewed by Pavel Feldman.
+
+ Refactor DefaultTextEditor.js: improve handler method annotations,
+ remove "get" prefix from method names, get rid of unnecessary
+ delegation (e.g. see _handleCut).
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor):
+ (WebInspector.DefaultTextEditor.prototype._contextMenu):
+ (WebInspector.DefaultTextEditor.prototype.selection):
+ (WebInspector.DefaultTextEditor.prototype.lastSelection):
+ (WebInspector.DefaultTextEditor.prototype.wasShown):
+ (WebInspector.DefaultTextEditor.prototype.willHide):
+ (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
+ (WebInspector.TextEditorMainPanel):
+ (WebInspector.TextEditorMainPanel.prototype.wasShown):
+ (WebInspector.TextEditorMainPanel.prototype.willHide):
+ (WebInspector.TextEditorMainPanel.prototype.populateContextMenu):
+ (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
+ (WebInspector.TextEditorMainPanel.prototype.expandChunks):
+ (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
+ (WebInspector.TextEditorMainPanel.prototype.selection):
+ (WebInspector.TextEditorMainPanel.prototype.lastSelection):
+ (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
+ (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
+ (WebInspector.TextEditorMainPanel.prototype._handleTextInput):
+ (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
+ (WebInspector.TextEditorMainPanel.prototype._handleCut):
+
+2012-12-28 No'am Rosenthal <noam@webkit.org>
+
+ REGRESSION: r138555 asserts on Linux EFL/Qt debug builds
+ https://bugs.webkit.org/show_bug.cgi?id=105848
+
+ Unreviewed test fix.
+
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ Added parameter name to noop shader.
+
+2012-12-28 No'am Rosenthal <noam@webkit.org>
+
+ [Texmap] Use a transform uniform instead of u_flip/u_textureSize
+ https://bugs.webkit.org/show_bug.cgi?id=105809
+
+ Reviewed by Martin Robinson.
+
+ In order to support tiled-patterns, we'd have to apply texture-space transformations in the
+ vertex shader.
+ This patch cleans up the current texture-space transformations, and uses
+ single matrix uniform instead of the current uniforms.
+
+ No new tests, refactor only.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (TextureMapperShaderProgram):
+
+2012-12-28 No'am Rosenthal <noam@webkit.org>
+
+ [Texmap] Edge antialiasing in TextureMapper could be done with less per-pixel calls
+ https://bugs.webkit.org/show_bug.cgi?id=105377
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Instead of passing 8 quad edge coefficients as uniforms and analyze the distance in the
+ fragment shader, we render the antialiased quad as 4 edge triangles, which originate in the
+ center of the quad.
+
+ The vertex shader expands the quad based on the screen transform, and applies a value to each vertex to be interpolated by the GPU.
+
+ It is very difficult to test performance gain; However, the following is apparent:
+ - The matrix multiplications and inversions done before in the quad inflation code were
+ always visible in instruments/valgrind and they are now gone.
+ - We now perform a single smoothstep() command per pixel instead of 8 clamp(dot()) commands.
+ - It should now be possible to antialias individual edges.
+
+ Covered by existing tests.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGLData::getStaticVBO):
+ Cache the unit-rect and edge-triangle vertex data in a VBO.
+
+ (WebCore::TextureMapperGLData::~TextureMapperGLData):
+ Clear the cached VBOs upon destruction.
+
+ (WebCore::TextureMapperGL::drawBorder):
+ (WebCore::TextureMapperGL::drawTexture):
+ Removed call to useProgram, since it's already called in drawTexturedQuadWithProgram.
+
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
+ (WebCore::TextureMapperGL::drawSolidColor):
+ Use the new signature "draw" instead of "drawQuad".
+
+ (WebCore::TextureMapperGL::drawEdgeTriangles):
+ (WebCore::TextureMapperGL::drawUnitRect):
+ (WebCore::TextureMapperGL::draw):
+ Removed DrawQuad, instead draw either a unit rect or edge triangles.
+
+ (WebCore::TextureMapperGL::beginClip):
+ Use the new setMatrix function.
+
+ * platform/graphics/texmap/TextureMapperGL.h:
+ Added a paint flag for antialiasing.
+
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::TextureMapperShaderProgram::setMatrix):
+ Since we now set the matrix in multiple locations, added a convenience
+ function for matrix uniform.
+
+ (WebCore::getShaderSpec):
+ Update the vertex and fragment shader to account for the new antialiasing
+ mechanism.
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (TextureMapperShaderProgram):
+
+2012-12-28 Mark Rowe <mrowe@apple.com>
+
+ Move logic for extracting the OS X marketing version in to WebCore
+ <http://webkit.org/b/105841> / <rdar://problem/10736041>
+
+ Reviewed by Dan Bernstein.
+
+ The logic for extracting the OS X markerting version is moved in to systemMarketingVersion
+ from WebKitSystemInterface (post-10.8) and WebKit (pre-10.8).
+
+ * WebCore.exp.in: Export systemMarketingVersion and remove the old WKSI symbol.
+ * WebCore.xcodeproj/project.pbxproj: Add the new files.
+ * platform/mac/SystemVersionMac.h: Added.
+ * platform/mac/SystemVersionMac.mm: Added.
+ (WebCore::createSystemMarketingVersion): Read the marketing version out of SystemVersion.plist
+ (WebCore::callGestalt):
+ (WebCore::createSystemMarketingVersion): Build the marketing version by piecing together the results
+ of calls to Gestalt.
+ (WebCore::systemMarketingVersion): Return the cached string.
+ * platform/mac/WebCoreSystemInterface.h: Remove the old WKSI symbol.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+2012-12-28 Rafael Weinstein <rafaelw@chromium.org>
+
+ [Templates]: Fix assert in colgroup parse handling
+ https://bugs.webkit.org/show_bug.cgi?id=105837
+
+ Reviewed by Eric Seidel.
+
+ Tests added to html5lib.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processEndTag):
+
+2012-12-28 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer] GstMessage handler in AudioDestination
+ https://bugs.webkit.org/show_bug.cgi?id=105292
+
+ Reviewed by Martin Robinson.
+
+ Handle GStreamer warnings and errors coming from the playback
+ pipeline. For now we only display warnings on the console.
+
+ * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
+ (WebCore::messageCallback):
+ (WebCore):
+ (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
+ (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
+ (WebCore::AudioDestinationGStreamer::handleMessage):
+ * platform/audio/gstreamer/AudioDestinationGStreamer.h:
+ (AudioDestinationGStreamer):
+
+2012-12-28 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK][WK2] Add support for IME Composition
+ https://bugs.webkit.org/show_bug.cgi?id=65093
+
+ Reviewed by Carlos Garcia Campos.
+
+ No new tests. The GtkInputMethodFilter is covered by unit tests in TestWebKitAPI.
+ Doing functional tests for this behavior is much more complex.
+
+ * platform/gtk/GtkInputMethodFilter.cpp:
+ (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Now
+ pass along whether or not an event was faked.
+ * platform/gtk/GtkInputMethodFilter.h: Ditto.
+
+2012-12-27 Emil A Eklund <eae@chromium.org>
+
+ REGRESSION (r138196): Regions with text-overflow: ellipsis; are being ellipsized unnecessarily
+ https://bugs.webkit.org/show_bug.cgi?id=105600
+
+ Reviewed by Darin Adler.
+
+ Pixel-snap lineBoxEdge before comparing with the block edge as
+ the lineBox edge isn't guaranteed to be snapped to device pixels
+ on all platforms.
+
+ Test: fast/sub-pixel/ellipsis-table.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::checkLinesForTextOverflow):
+
+2012-12-28 Brandon Jones <bajones@chromium.org>
+
+ [chromium] DrawingBuffer initialization loop breaks if completely out of memory
+ https://bugs.webkit.org/show_bug.cgi?id=105732
+
+ Reviewed by Kenneth Russell.
+
+ When DrawingBuffer allocation fails because s_currentResourceUsePixels is maxed out
+ it now forces WebGLRenderingContext creation to fail gracefully.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore::WebGLRenderingContext::create): On Chromium, check for failure to allocate a DrawingBuffer
+
+2012-12-28 Dan Bernstein <mitz@apple.com>
+
+ Slightly clean up WebCore's Base.xcconfig
+ https://bugs.webkit.org/show_bug.cgi?id=105808
+
+ Reviewed by Sam Weinig.
+
+ * Configurations/Base.xcconfig: Simplify the definition of GCC_GENERATE_DEBUGGING_SYMBOLS,
+ which is always YES.
+
+2012-12-28 Rafael Weinstein <rafaelw@chromium.org>
+
+ Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement
+ https://bugs.webkit.org/show_bug.cgi?id=105780
+
+ Reviewed by Eric Seidel.
+
+ This was regression was created by the HTMLTemplateElement implementation. The issue was a missed instance of
+ "fragment or template contents" case related to the parsing of colgroups.
+
+ * html/parser/HTMLTreeBuilder.cpp:
+ (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
+ (WebCore::HTMLTreeBuilder::processStartTag):
+ (WebCore::HTMLTreeBuilder::processCharacterBuffer):
+ (WebCore::HTMLTreeBuilder::processEndOfFile):
+
+2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Introduce uri as a UISourceCode unique identifier in workspace.
+ https://bugs.webkit.org/show_bug.cgi?id=105799
+
+ Reviewed by Pavel Feldman.
+
+ Added uri field to UISourceCode.
+ Debugger and LiveEdit uiSourceCodes are now created through WorkspaceProviders (not projects yet though)
+ which are responsible for unique uri generation.
+ Extracted generic content provider based WorkspaceProvider functionality and url-to-uri conversion logic to ContentProviderWorkspaceProvider class.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager.sourceFileId):
+ * inspector/front-end/CompilerScriptMapping.js:
+ * inspector/front-end/DebuggerScriptMapping.js:
+ (WebInspector.DebuggerScriptMapping):
+ * inspector/front-end/DefaultScriptMapping.js:
+ (WebInspector.DefaultScriptMapping):
+ (WebInspector.DefaultScriptMapping.prototype.addScript):
+ (WebInspector.DebuggerWorkspaceProvider):
+ (WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
+ * inspector/front-end/LiveEditSupport.js:
+ (WebInspector.LiveEditSupport):
+ (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
+ (WebInspector.LiveEditWorkspaceProvider):
+ (WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
+ * inspector/front-end/NetworkUISourceCodeProvider.js:
+ (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
+ * inspector/front-end/NetworkWorkspaceProvider.js:
+ (WebInspector.ContentProviderWorkspaceProvider):
+ (WebInspector.ContentProviderWorkspaceProvider.uriForURL):
+ (WebInspector.ContentProviderWorkspaceProvider.prototype.addFile):
+ (WebInspector.ContentProviderWorkspaceProvider.prototype.uniqueURI):
+ (WebInspector.NetworkWorkspaceProvider):
+ (WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
+ * inspector/front-end/SASSSourceMapping.js:
+ (_bindUISourceCode):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
+ * inspector/front-end/TabbedEditorContainer.js:
+ (WebInspector.TabbedEditorContainer):
+ (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
+ (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
+ (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
+ (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURI):
+ (WebInspector.TabbedEditorContainer.prototype._updateHistory):
+ (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
+ (WebInspector.TabbedEditorContainer.prototype.reset):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode):
+ (WebInspector.UISourceCode.prototype.uri):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.FileDescriptor):
+ (WebInspector.Project.prototype._fileAdded):
+ (WebInspector.Project.prototype._fileRemoved):
+ (WebInspector.Project.prototype.uiSourceCodeForURI):
+ (WebInspector.Workspace):
+ (WebInspector.Workspace.prototype.uiSourceCodeForURI):
+ (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
+ (WebInspector.Workspace.prototype.removeTemporaryUISourceCode):
+ (WebInspector.Workspace.prototype.requestFileContent):
+ (WebInspector.Workspace.prototype.setFileContent):
+ (WebInspector.Workspace.prototype.searchInFileContent):
+ (WebInspector.Workspace.prototype.reset):
+ * inspector/front-end/inspector.js:
+
+2012-12-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: debugger should step into event handler on event dispatch
+ https://bugs.webkit.org/show_bug.cgi?id=105827
+
+ Reviewed by Pavel Feldman.
+
+ Added m_pauseInNextEventListener to InspectorDOMDebuggerAgent. The flag is set
+ to true when "step into" is pressed and reset to false when either JS execution
+ pauses, the agent gets disabled or JS call stack becomes empty. If the flag is
+ true and the next JS stetement to be executed belongs to a JS event listener we
+ will stop in that listener, otherwise we have two options:
+ 1) Control flow directly(without comming through the native bindings) reaches some JS
+ statement and will pause in the corresponding JS function, in which case the
+ flag will be reset;
+ 2) JS call stack becomes empty and execution will continue in the native code. We
+ use didProcessTask to detect such cases and reset the flag to false every time
+ event queue finishes next task.
+
+ Test: inspector/debugger/debugger-step-into-event-listener.html
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::reportMemoryUsage):
+ (WebCore::InspectorController::didProcessTask):
+ * inspector/InspectorController.h:
+ (WebCore):
+ (InspectorController):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
+ (WebCore::InspectorDOMDebuggerAgent::stepInto):
+ (WebCore):
+ (WebCore::InspectorDOMDebuggerAgent::didPause):
+ (WebCore::InspectorDOMDebuggerAgent::cancelStepIntoEventListener):
+ (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
+ (WebCore::InspectorDOMDebuggerAgent::clear):
+ * inspector/InspectorDOMDebuggerAgent.h:
+ (InspectorDOMDebuggerAgent):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::stepInto):
+ (WebCore::InspectorDebuggerAgent::didPause):
+ * inspector/InspectorDebuggerAgent.h:
+ (Listener):
+
+2012-12-28 Andrey Lushnikov <lushnikov@chromium.com>
+
+ Web Inspector: enable mutation observer in LayoutTests
+ https://bugs.webkit.org/show_bug.cgi?id=105826
+
+ Reviewed by Pavel Feldman.
+
+ Enable mutation observer in LayoutTests.
+
+ No new tests: no change in behaviour.
+
+ * inspector/front-end/DOMExtension.js:
+
+2012-12-28 Philippe Normand <pnormand@igalia.com>
+
+ [GTK] Some GStreamer-related files don't need to be in libWebCoreGTK
+ https://bugs.webkit.org/show_bug.cgi?id=105807
+
+ Reviewed by Martin Robinson.
+
+ * GNUmakefile.list.am: Move some modules not using GTK nor Cairo
+ to libWebCorePlatform.
+
+2012-12-28 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: rename distanceToWindow to distance
+ https://bugs.webkit.org/show_bug.cgi?id=105823
+
+ Reviewed by Pavel Feldman.
+
+ Renamed distanceToWindow to distance. Introduced a method on HeapSnapshot
+ that allows to check if given node should be displayed to the user as having
+ distance 1.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotEdge.prototype.serialize):
+ (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
+ (WebInspector.HeapSnapshotNode.prototype.distance):
+ (WebInspector.HeapSnapshotNode.prototype.serialize):
+ (WebInspector.HeapSnapshot.prototype._init):
+ (WebInspector.HeapSnapshot.prototype.dispose):
+ (WebInspector.HeapSnapshot.prototype.canHaveDistanceOne):
+ (WebInspector.HeapSnapshot.prototype._calculateDistances):
+ (WebInspector.HeapSnapshot.prototype._bfs):
+ (WebInspector.HeapSnapshot.prototype._buildAggregates):
+ * inspector/front-end/HeapSnapshotDataGrids.js:
+ (WebInspector.HeapSnapshotRetainmentDataGrid):
+ (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
+ (WebInspector.HeapSnapshotConstructorsDataGrid):
+ (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._sortFields):
+ * inspector/front-end/HeapSnapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGenericObjectNode):
+ (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
+ (WebInspector.HeapSnapshotObjectNode):
+ (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
+ (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
+ (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
+ (WebInspector.HeapSnapshotConstructorNode):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
+ (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
+ * inspector/front-end/JSHeapSnapshot.js:
+ (WebInspector.JSHeapSnapshot.prototype.canHaveDistanceOne):
+
+2012-12-28 Andrey Lushnikov <lushnikov@chromium.com>
+
+ Web Inspector: refactor DefaultTextEditor's private methods
+ https://bugs.webkit.org/show_bug.cgi?id=105797
+
+ Reviewed by Pavel Feldman.
+
+ - Refactor private methods to public if they are called from external classes
+ - Get rid of external private variable access.
+
+ No tests: no change in behaviour.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.DefaultTextEditor.prototype.freeCachedElements):
+ (WebInspector.DefaultTextEditor.prototype._handleTextInput):
+ (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
+ (WebInspector.DefaultTextEditor.prototype._handleCut):
+ (WebInspector.DefaultTextEditor.prototype._contextMenu):
+ (WebInspector.DefaultTextEditor.prototype._handleScrollChanged):
+ (WebInspector.DefaultTextEditor.prototype.selection):
+ (WebInspector.DefaultTextEditor.prototype.lastSelection):
+ (WebInspector.DefaultTextEditor.prototype.setSelection):
+ (WebInspector.DefaultTextEditor.prototype.wasShown):
+ (WebInspector.DefaultTextEditor.prototype._handleFocused):
+ (WebInspector.DefaultTextEditor.prototype.willHide):
+ (WebInspector.DefaultTextEditor.prototype.highlightExpression):
+ (WebInspector.DefaultTextEditor.prototype.overrideViewportForTest):
+ (WebInspector.TextEditorChunkedPanel.prototype.buildChunks):
+ (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
+ (WebInspector.TextEditorChunkedPanel.prototype.splitChunkOnALine):
+ (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
+ (WebInspector.TextEditorChunkedPanel.prototype.scroll):
+ (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
+ (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
+ (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
+ (WebInspector.TextEditorChunkedPanel.prototype.findVisibleChunks):
+ (WebInspector.TextEditorChunkedPanel.prototype.repaintAll):
+ (WebInspector.TextEditorChunkedPanel.prototype.scrollTop):
+ (WebInspector.TextEditorChunkedPanel.prototype.clientHeight):
+ (WebInspector.TextEditorChunkedPanel.prototype.expandChunks):
+ (WebInspector.TextEditorChunkedPanel.prototype.totalHeight):
+ (WebInspector.TextEditorChunkedPanel.prototype.resize):
+ (WebInspector.TextEditorGutterPanel):
+ (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
+ (WebInspector.TextEditorGutterPanel.prototype.createNewChunk):
+ (WebInspector.TextEditorGutterPanel.prototype.textChanged):
+ (WebInspector.TextEditorGutterChunk.prototype.get height):
+ (WebInspector.TextEditorMainPanel):
+ (WebInspector.TextEditorMainPanel.prototype.wasShown):
+ (WebInspector.TextEditorMainPanel.prototype.willHide):
+ (WebInspector.TextEditorMainPanel.prototype.highlightLine):
+ (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
+ (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
+ (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
+ (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
+ (WebInspector.TextEditorMainPanel.prototype.buildChunks):
+ (WebInspector.TextEditorMainPanel.prototype.createNewChunk):
+ (WebInspector.TextEditorMainPanel.prototype.expandChunks):
+ (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
+ (WebInspector.TextEditorMainPanel.prototype._paintLines):
+ (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
+ (WebInspector.TextEditorMainPanel.prototype.getSelection):
+ (WebInspector.TextEditorMainPanel.prototype.getLastSelection):
+ (WebInspector.TextEditorMainPanel.prototype.setLastSelection):
+ (WebInspector.TextEditorMainPanel.prototype.restoreSelection):
+ (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
+ (WebInspector.TextEditorMainPanel.prototype.enclosingLineRowOrSelf):
+ (WebInspector.TextEditorMainPanel.prototype._createLink):
+ (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
+ (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
+ (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
+ (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
+ (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
+ (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
+ (WebInspector.TextEditorMainPanel.prototype.handleSelectionChange):
+ (WebInspector.TextEditorMainPanel.prototype.handleTextInput):
+ (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
+ (WebInspector.TextEditorMainPanel.prototype.handleCut):
+ (WebInspector.TextEditorMainPanel.prototype.overrideViewportForTest):
+ (WebInspector.TextEditorMainChunk.prototype.get height):
+
+2012-12-28 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Add GLES2 support in GraphicsContext3DEfl.
+ https://bugs.webkit.org/show_bug.cgi?id=105805
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This is in preparation for adding GLES2 support.
+ This patch adds OPENGL_ES_2 checks in GraphicsContext3DEFl.
+ With this patch, GraphicsContext3DPrivate uses the FramebufferBlit extension supported by Extensions3D.
+
+ * platform/graphics/GraphicsContext3D.h:
+ (GraphicsContext3D):
+ * platform/graphics/efl/GraphicsContext3DEfl.cpp:
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
+ (GraphicsContext3DPrivate::copyToGraphicsSurface):
+ * platform/graphics/opengl/GLDefs.h:
+
+2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Fix styling/formatting errors, pointed out by Darin Adler while reviewing
+ https://bugs.webkit.org/show_bug.cgi?id=105752
+
+ No functional changes, thus no new tests.
+
+ * dom/VisitedLinkState.cpp:
+ (WebCore::VisitedLinkState::VisitedLinkState): Fixed up constructor syntax.
+ (WebCore::linkHashForElement): Expanded abbreviation.
+
+2012-12-27 Mike West <mkwst@chromium.org>
+
+ Add context to the console message generated by Document::printNavigationErrorMessage.
+ https://bugs.webkit.org/show_bug.cgi?id=105774
+
+ Reviewed by Darin Adler.
+
+ When blocking frame navigations, we should give developers more
+ contextual detail about why the navigation has been blocked. This patch
+ adds context specifically for sandboxed frames', and gives a slightly
+ more detailed generic response for all other blockages.
+
+ No new tests; the changes to the error message are covered via
+ rebaselines to existing navigation tests.
+
+ * dom/Document.cpp:
+ (WebCore::printNavigationErrorMessage):
+ (WebCore::Document::canNavigate):
+ Pass in a 'reason' parameter when calling printNavigationErrorMessage
+ to report a blocked navigation.
+
+2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Move visited link-checking (and caching) code out of SelectorChecker.
+ https://bugs.webkit.org/show_bug.cgi?id=105752
+
+ SelectorChecker knew too much about visited links and how links are stored in DOM. This change
+ moves the code to more relevant locations and moves the visited links cache all the way up to Document,
+ introducing VisitedLinkState class to manage the state of visited links.
+ Relanding without a null-ptr ref.
+
+ Reviewed by Antti Koivisto.
+
+ No change in behavior, covered by existing tests.
+
+ * CMakeLists.txt: Added VisitedLinkState to build system.
+ * GNUmakefile.list.am: Ditto.
+ * Target.pri: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
+ * css/SelectorChecker.h: Ditto.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
+ * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
+ * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
+ * dom/Document.cpp: Added VisitedLinkState initalizer.
+ * dom/Document.h: Added VisitedLinkState member.
+ * dom/VisitedLinkState.cpp: Added.
+ * dom/VisitedLinkState.h: Added.
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
+ * page/Page.cpp:
+ (WebCore::Page::allVisitedStateChanged): Ditto.
+ (WebCore::Page::visitedStateChanged): Ditto.
+
+2012-12-27 Kondapally Kalyan <kalyan.kondapally@intel.com>
+
+ [EFL][WebGL] Implement EGL support with GLX.
+ https://bugs.webkit.org/show_bug.cgi?id=105602
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This is in preparation for adding GLES2 support.
+ This patch adds support for EGL with GLX backend. EGL support can be enabled during compile time
+ by passing -DENABLE_EGL=ON as cmake config parameter. This is disabled by default.
+
+ * PlatformEfl.cmake:
+ * platform/graphics/opengl/GLDefs.h:
+ (WebCore):
+ * platform/graphics/opengl/GLPlatformContext.cpp:
+ (WebCore):
+ (WebCore::GLPlatformContext::createContext): Added GLX checks.
+ (WebCore::GLPlatformContext::createOffScreenContext): Added support for creating EGLOffscreen Context.
+ (WebCore::GLPlatformContext::createCurrentContextWrapper): Added support for creating EGLCurrentContextWrapper.
+ * platform/graphics/opengl/GLPlatformContext.h:
+ * platform/graphics/opengl/GLPlatformSurface.cpp:
+ (WebCore::GLPlatformSurface::createTransportSurface): Added support for creating EGLSurface.
+
+ * platform/graphics/surfaces/egl/EGLContext.cpp: Added.
+ (WebCore):
+ (WebCore::isRobustnessExtSupported):
+ (WebCore::EGLCurrentContextWrapper::EGLCurrentContextWrapper):
+ (WebCore::EGLCurrentContextWrapper::handle):
+ (WebCore::EGLOffScreenContext::EGLOffScreenContext):
+ (WebCore::EGLOffScreenContext::initialize):
+ (WebCore::EGLOffScreenContext::~EGLOffScreenContext):
+ (WebCore::EGLOffScreenContext::isCurrentContext):
+ (WebCore::EGLOffScreenContext::platformMakeCurrent):
+ (WebCore::EGLOffScreenContext::platformReleaseCurrent):
+ (WebCore::EGLOffScreenContext::freeResources):
+ (WebCore::EGLOffScreenContext::destroy):
+ * platform/graphics/surfaces/egl/EGLContext.h:
+ (WebCore):
+ (EGLCurrentContextWrapper):
+ (WebCore::EGLCurrentContextWrapper::~EGLCurrentContextWrapper):
+ (EGLOffScreenContext):
+
+ EGL implementation for Context Management.
+
+ * platform/graphics/surfaces/egl/EGLSurface.cpp: Added.
+ (WebCore):
+ (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
+ (WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
+ (WebCore::EGLWindowTransportSurface::configuration):
+ (WebCore::EGLWindowTransportSurface::swapBuffers):
+ (WebCore::EGLWindowTransportSurface::destroy):
+ (WebCore::EGLWindowTransportSurface::freeEGLResources):
+ * platform/graphics/surfaces/egl/EGLSurface.h:
+ (WebCore):
+ (EGLWindowTransportSurface):
+
+ EGL implementation for Offscreen Surface. The surface is backed by native window.
+
+ * platform/graphics/surfaces/egl/EGLConfigHelper.cpp: Added.
+ (WebCore):
+ (WebCore::SharedEGLDisplay::deref):
+ (WebCore::SharedEGLDisplay::sharedEGLDisplay):
+ (WebCore::SharedEGLDisplay::SharedEGLDisplay):
+ (WebCore::SharedEGLDisplay::cleanup):
+ (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
+ (WebCore::EGLConfigHelper::EGLConfigHelper):
+ (WebCore::EGLConfigHelper::~EGLConfigHelper):
+ (WebCore::EGLConfigHelper::display):
+ (WebCore::EGLConfigHelper::pBufferContextConfig):
+ (WebCore::EGLConfigHelper::surfaceContextConfig):
+ (WebCore::EGLConfigHelper::nativeVisualId):
+ (WebCore::EGLConfigHelper::reset):
+ (WebCore::EGLConfigHelper::createConfig):
+
+ Helper class to initialize EGL resources and choose right EGL configuration.
+
+2012-12-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138509.
+ http://trac.webkit.org/changeset/138509
+ https://bugs.webkit.org/show_bug.cgi?id=105806
+
+ Caused several tests to crash (Requested by fsamuel on
+ #webkit).
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/SelectorChecker.cpp:
+ (WebCore::linkAttribute):
+ (WebCore):
+ (WebCore::SelectorChecker::determineLinkStateSlowCase):
+ (WebCore::SelectorChecker::allVisitedStateChanged):
+ (WebCore::SelectorChecker::visitedStateChanged):
+ * css/SelectorChecker.h:
+ (SelectorChecker):
+ (WebCore::SelectorChecker::determineLinkState):
+ (WebCore):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::initElement):
+ * css/StyleResolver.h:
+ (WebCore::StyleResolver::allVisitedStateChanged):
+ (WebCore::StyleResolver::visitedStateChanged):
+ (StyleResolver):
+ * dom/DOMAllInOne.cpp:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (WebCore):
+ (Document):
+ * dom/VisitedLinkState.cpp: Removed.
+ * dom/VisitedLinkState.h: Removed.
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::restore):
+ * page/Page.cpp:
+ (WebCore::Page::allVisitedStateChanged):
+ (WebCore::Page::visitedStateChanged):
+
+2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Move visited link-checking (and caching) code out of SelectorChecker.
+ https://bugs.webkit.org/show_bug.cgi?id=105752
+
+ SelectorChecker knew too much about visited links and how links are stored in DOM. This change
+ moves the code to more relevant locations and moves the visited links cache all the way up to Document,
+ introducing VisitedLinkState class to manage the state of visited links.
+
+ Reviewed by Antti Koivisto.
+
+ No change in behavior, covered by existing tests.
+
+ * CMakeLists.txt: Added VisitedLinkState to build system.
+ * GNUmakefile.list.am: Ditto.
+ * Target.pri: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
+ * css/SelectorChecker.h: Ditto.
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
+ * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
+ * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
+ * dom/Document.cpp: Added VisitedLinkState initalizer.
+ * dom/Document.h: Added VisitedLinkState member.
+ * dom/VisitedLinkState.cpp: Added.
+ * dom/VisitedLinkState.h: Added.
+ * history/CachedPage.cpp:
+ (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
+ * page/Page.cpp:
+ (WebCore::Page::allVisitedStateChanged): Ditto.
+ (WebCore::Page::visitedStateChanged): Ditto.
+
+2012-12-27 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] Minor refactoring of TextureMapperLayer.
+ https://bugs.webkit.org/show_bug.cgi?id=105782
+
+ Reviewed by Darin Adler.
+
+ This patch has two refactorings.
+ 1. Replace TextureMapperPaintOptions from header to implementation file.
+ 2. Add non copyable property to TextureMapperLayer.
+
+ No new tests. Refactoring only.
+
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (TextureMapperPaintOptions):
+ (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
+ (WebCore):
+ * platform/graphics/texmap/TextureMapperLayer.h:
+ (WebCore):
+ (TextureMapperLayer):
+
+2012-12-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Unreviewed. Use real worker in heap profiler instead of the fake one
+ (was accidentally switched to the fake worker).
+
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotWorker):
+
+2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [Regression] Can not set breakpoints in scripts loaded with source map.
+ https://bugs.webkit.org/show_bug.cgi?id=105801
+
+ Reviewed by Alexander Pavlov.
+
+ ResourceScriptMapping now pushes itself to script's source mappings in addScript method.
+ Binding script to uiSourceCode loaded later is only triggering updateLocations() now.
+
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.addScript):
+ (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
+ * inspector/front-end/Script.js:
+ (WebInspector.Script.prototype.disableSourceMapping):
+ (WebInspector.Script.prototype.enableSourceMapping):
+ (WebInspector.Script.prototype.pushSourceMapping):
+ (WebInspector.Script.prototype.popSourceMapping):
+ (WebInspector.Script.prototype.updateLocations):
+
+2012-12-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: remove support for legacy heap graph node format
+ https://bugs.webkit.org/show_bug.cgi?id=105802
+
+ Reviewed by Pavel Feldman.
+
+ Removed support for old heap graph node format: we now always store edge count
+ in each node instead of the first edge index.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):
+
+2012-12-27 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: move js heap snapshot preprocessing to JSHeapSnapshot
+ https://bugs.webkit.org/show_bug.cgi?id=105798
+
+ Reviewed by Pavel Feldman.
+
+ HeapSnapshot.js refactorings:
+ - moved _markInvisibleEdges implementation into JSHeapSnapshot
+ - moved _calculateFlags implementation into JSHeapSnapshot
+ - moved _flags array into JSHeapSnapshot
+ - instead of returning node flags as a field on each node, requesting
+ snapshot node flag constants from the heap snapshot worker and then
+ checking for the flags in HeapSnapshotGridNodes now return two optional
+ boolean fields on each node: canBeQueried and detachedDOMTreeNode
+ - removed unused propertyAccessor property from serialized heap node
+ - moved node and edge serialization from providers to the node and edge
+ classes, js specific fields are serialized only for JSHeapSnapshotNode
+ - renamed first() to rewind() on providers and iterators
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotEdge.prototype.serialize):
+ (WebInspector.HeapSnapshotEdgeIterator.prototype.rewind):
+ (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
+ (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.rewind):
+ (WebInspector.HeapSnapshotNode.prototype.isUserObject):
+ (WebInspector.HeapSnapshotNode.prototype.serialize):
+ (WebInspector.HeapSnapshotNodeIterator.prototype.rewind):
+ (WebInspector.HeapSnapshot.prototype._init):
+ (WebInspector.HeapSnapshot.prototype._buildAggregates):
+ (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
+ (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
+ (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
+ (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
+ (WebInspector.HeapSnapshot.prototype._calculateFlags):
+ (WebInspector.HeapSnapshot.prototype.userObjectsMapAndFlag):
+ (WebInspector.HeapSnapshot.prototype.):
+ (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
+ (WebInspector.HeapSnapshot.prototype.updateStaticData):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.rewind):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
+ (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
+ * inspector/front-end/HeapSnapshotGridNodes.js:
+ (WebInspector.HeapSnapshotGenericObjectNode):
+ (WebInspector.HeapSnapshotObjectNode):
+ * inspector/front-end/HeapSnapshotProxy.js:
+ * inspector/front-end/JSHeapSnapshot.js:
+ (WebInspector.JSHeapSnapshot):
+ (WebInspector.JSHeapSnapshot.prototype._markInvisibleEdges):
+ (WebInspector.JSHeapSnapshot.prototype._calculateFlags):
+ (WebInspector.JSHeapSnapshot.prototype.userObjectsMapAndFlag):
+ (WebInspector.JSHeapSnapshot.prototype._flagsOfNode):
+ (WebInspector.JSHeapSnapshot.prototype._markDetachedDOMTreeNodes):
+ (WebInspector.JSHeapSnapshot.prototype._markQueriableHeapObjects):
+ (WebInspector.JSHeapSnapshot.prototype._markPageOwnedNodes):
+ (WebInspector.JSHeapSnapshotNode.prototype.isUserObject):
+ (WebInspector.JSHeapSnapshotNode.prototype.serialize):
+
+2012-12-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Refactor SourceMapParser to enable range-based sourcemap
+ https://bugs.webkit.org/show_bug.cgi?id=105764
+
+ Reviewed by Vsevolod Vlasov.
+
+ Test: inspector/styles/range-based-mapping.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping):
+ (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
+ * inspector/front-end/SourceMap.js: Copied from Source/WebCore/inspector/front-end/CompilerScriptMapping.js.
+ (WebInspector.SourceMap):
+ Abstract. Renamed from SourceMapParser and supports only direct (generated -> originating source) mapping via findEntry()
+ (WebInspector.SourceMap.prototype.sources):
+ (WebInspector.SourceMap.prototype.sourceContent):
+ (WebInspector.SourceMap.prototype._parseMappingPayload):
+ (WebInspector.SourceMap.prototype._parseSections):
+ (WebInspector.SourceMap.prototype._parseMap):
+ (WebInspector.SourceMap.prototype._isSeparator):
+ (WebInspector.SourceMap.prototype._decodeVLQ):
+ (WebInspector.SourceMap.prototype._canonicalizeURL):
+ (WebInspector.SourceMap.StringCharIterator):
+ (WebInspector.SourceMap.StringCharIterator.prototype.next):
+ (WebInspector.SourceMap.StringCharIterator.prototype.peek):
+ (WebInspector.SourceMap.StringCharIterator.prototype.hasNext):
+ (WebInspector.PositionBasedSourceMap):
+ Extends SourceMap and provides direct (compiled -> original source)
+ and reverse (original -> compiled source) position mapping via findEntryReversed().
+ (WebInspector.PositionBasedSourceMap.prototype.findEntry):
+ (WebInspector.PositionBasedSourceMap.prototype.findEntryReversed):
+ (WebInspector.PositionBasedSourceMap.prototype._parseMap):
+ (WebInspector.RangeBasedSourceMap):
+ Extends SourceMap and provides direct range mapping
+ (compiled source position -> original source range) via findSourceRange().
+ (WebInspector.RangeBasedSourceMap.MappingComparator):
+ (WebInspector.RangeBasedSourceMap.prototype.findSourceRange):
+ (WebInspector.RangeBasedSourceMap.prototype._rangeForStartIndex):
+ (WebInspector.SourceRange):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-12-25 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [Canvas] report if there is any uninstrumented canvas on a page
+ https://bugs.webkit.org/show_bug.cgi?id=105721
+
+ Reviewed by Yury Semikhatsky.
+
+ Adding a method to the protocol to report if there is any uninstrumented canvas on a page.
+
+ Test: inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html
+
+ * inspector/InjectedScriptCanvasModuleSource.js:
+ (.):
+ * inspector/Inspector.json:
+ * inspector/InspectorCanvasAgent.cpp:
+ (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
+ (WebCore::InspectorCanvasAgent::enable):
+ (WebCore::InspectorCanvasAgent::disable):
+ (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
+ (WebCore):
+ (WebCore::InspectorCanvasAgent::captureFrame):
+ (WebCore::InspectorCanvasAgent::startCapturing):
+ (WebCore::InspectorCanvasAgent::stopCapturing):
+ (WebCore::InspectorCanvasAgent::getTraceLog):
+ (WebCore::InspectorCanvasAgent::replayTraceLog):
+ (WebCore::InspectorCanvasAgent::ensureHasUninstrumentedCanvasesCalculated):
+ (WebCore::InspectorCanvasAgent::checkIsEnabled):
+ (WebCore::InspectorCanvasAgent::reset):
+ * inspector/InspectorCanvasAgent.h:
+ (WebCore):
+ (InspectorCanvasAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didCommitLoadImpl):
+
+2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Simplify script mappings by introducing DefaultScriptMapping.
+ https://bugs.webkit.org/show_bug.cgi?id=103038
+
+ Reviewed by Pavel Feldman.
+
+ DefaultScriptMapping creates a uiSourceCode for each script and set itself as a mapping for the script.
+ Script can now have a stack of (possibly disabled) mappings, allowing to try several mappings when calculating uiLocation.
+ LiveEditSupport object is added on WebInspector to support live editing of readonly DefaultScriptMapping's uiSourceCodes.
+ DefaultScriptMapping is now the only mapping that creates temporary uiSourceCodes.
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager):
+ (WebInspector.BreakpointManager.sourceFileId):
+ (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping):
+ (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
+ (WebInspector.CompilerScriptMapping.prototype._reset):
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerModel.prototype._parsedScriptSource):
+ * inspector/front-end/DebuggerScriptMapping.js:
+ (WebInspector.DebuggerScriptMapping):
+ * inspector/front-end/DefaultScriptMapping.js: Added.
+ * inspector/front-end/LiveEditSupport.js: Added.
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ResourceScriptMapping.prototype.addScript):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
+ (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
+ (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
+ (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
+ (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
+ (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
+ (WebInspector.ResourceScriptMapping.prototype._reset):
+ * inspector/front-end/Script.js:
+ (WebInspector.Script):
+ (WebInspector.Script.prototype.):
+ (WebInspector.Script.prototype.editSource):
+ (WebInspector.Script.prototype.setIsDynamicScript):
+ (WebInspector.Script.prototype.isDynamicScript):
+ (WebInspector.Script.prototype.rawLocationToUILocation):
+ (WebInspector.Script.prototype._enabledSourceMappings):
+ (WebInspector.Script.prototype._sourceMappingsDiffer):
+ (WebInspector.Script.prototype.disableSourceMapping):
+ (WebInspector.Script.prototype.enableSourceMapping):
+ (WebInspector.Script.prototype.pushSourceMapping):
+ (WebInspector.Script.prototype.popSourceMapping):
+ (WebInspector.Script.prototype._updateLocations):
+ (WebInspector.Script.prototype.createLiveLocation):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._projectWillReset):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._addUISourceCode):
+ (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
+ (WebInspector.ScriptsPanel.prototype._createSourceFrame):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/Workspace.js:
+ (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2012-12-27 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: console.profileEnd() crashes if called without arguments
+ https://bugs.webkit.org/show_bug.cgi?id=105759
+
+ Reviewed by Vsevolod Vlasov.
+
+ Test: inspector/profiler/cpu-profiler-parameterless-profile-end-crash.html
+
+ API allows to finish profile without specifying its name.
+ Profiler tracks profiles stack and finishes outermost profile.
+ Finished profile title will be used instead of user-specified one.
+
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::stop): Use title provided by profiler.
+
+2012-12-26 No'am Rosenthal <noam@webkit.org>
+
+ [Texmap] Instead of having multiple shaders sources with lots of duplication, we should have one shader source with MACRO variants
+ https://bugs.webkit.org/show_bug.cgi?id=104815
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Created templates for the vertex and fragment shaders, and added some MACROs in
+ TextureMapperShaderManager to allow GLSL precompiler-based configuration.
+
+ The template follows a pattern where the main function in the shader calls
+ applyFooBarIfNeeded(), while applyFooBar() is implemented. The Macros prepended to the template define whether applyIfNeeded resolves to the real function or to a noop.
+
+ In addition, made some small changes to the filter shaders so that they can use the same code as the normal shaders.
+
+ Covered by existing pixel/ref tests when run on Qt/EFL/GTK.
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::TextureMapperGL::drawSolidColor):
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
+ (WebCore::optionsForFilterType):
+ (WebCore):
+ (WebCore::getPassesRequiredForFilter):
+ (WebCore::prepareFilterProgram):
+ (WebCore::TextureMapperGL::drawFiltered):
+ (WebCore::BitmapTextureGL::applyFilters):
+ Always draw using the drawQuad function, and use the new TextureMapperShaderManager::Options mask instead of the old ShaderKey.
+
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore):
+ (WebCore::getShaderSpec):
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (TextureMapperShaderProgram):
+ (TextureMapperShaderManager):
+
+2012-12-26 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] A Minor optimization of GraphicsLayerTransform.
+ https://bugs.webkit.org/show_bug.cgi?id=105758
+
+ Reviewed by Noam Rosenthal.
+
+ Only multiply the transformation matrices if the paramaters are actually
+ changed.
+
+ This optimizes the code path called from flushCompositingStateForThisLayerOnly(),
+ and potentially setAnimatedTransform().
+
+ No new tests. Refactoring only.
+
+ * platform/graphics/GraphicsLayerTransform.cpp:
+ (WebCore::GraphicsLayerTransform::setPosition):
+ (WebCore::GraphicsLayerTransform::setSize):
+ (WebCore::GraphicsLayerTransform::setAnchorPoint):
+ (WebCore::GraphicsLayerTransform::setFlattening):
+ (WebCore::GraphicsLayerTransform::setLocalTransform):
+ (WebCore::GraphicsLayerTransform::setChildrenTransform):
+
+2012-12-26 Huang Dongsung <luxtella@company100.net>
+
+ [TexMap] Remove unused members and methods in TextureMapperLayer.
+ https://bugs.webkit.org/show_bug.cgi?id=105755
+
+ Reviewed by Noam Rosenthal.
+
+ No new tests. Refactoring only.
+
+ * platform/graphics/texmap/TextureMapperLayer.h:
+ (TextureMapperLayer):
+ (State):
+ (WebCore::TextureMapperLayer::State::State):
+
+2012-12-26 Andreas Kling <akling@apple.com>
+
+ [Mac] MemoryPressureHandler: Occasional crashes in uninstall() when responding to memory pressure signal.
+ <http://webkit.org/b/105772>
+
+ Reviewed by Stephanie Lewis.
+
+ We can't synchronously dereference _cache_event_source in uninstall() just because m_installed
+ is true -- the block that initializes _cache_event_source is asynchronous and may not have executed.
+ Fix this by performing the uninstallation asynchronously on the main queue as well.
+
+ * platform/mac/MemoryPressureHandlerMac.mm:
+ (WebCore::MemoryPressureHandler::uninstall):
+
+2012-12-26 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r137905.
+ http://trac.webkit.org/changeset/137905
+ https://bugs.webkit.org/show_bug.cgi?id=105765
+
+ Popover does not disappear when hovering another identifier in
+ sources panel. (Requested by vsevik on #webkit).
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.Popover.prototype._innerShow):
+ * inspector/front-end/popover.css:
+ (.popover):
+
+2012-12-26 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Resources] Table lose focus (selection) after deleting cookie.
+ https://bugs.webkit.org/show_bug.cgi?id=105716
+
+ Reviewed by Yury Semikhatsky.
+
+ This makes deletion of a set of cookies (using keyboard) painful.
+
+ * inspector/front-end/CookieItemsView.js: Call method instead of getter.
+ * inspector/front-end/CookiesTable.js: Remember and use next selected
+ cookie value.
+
+2012-12-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: extract JS heap profiler specifics into JSHeapSnapshot.js
+ https://bugs.webkit.org/show_bug.cgi?id=105768
+
+ Reviewed by Pavel Feldman.
+
+ Inroduced JSHeapSnapshot, JSHeapSnapshotNode, JSHeapSnapshotEdge and JSHeapSnapshotRetainerEdge which
+ should encapsulate logic specific to JS-heap.
+ No behavioral changes, covered with existing heap profiler tests.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshotEdge.prototype.hasStringName):
+ (WebInspector.HeapSnapshotEdge.prototype.name):
+ (WebInspector.HeapSnapshotEdge.prototype.node):
+ (WebInspector.HeapSnapshotEdge.prototype.toString):
+ (WebInspector.HeapSnapshotRetainerEdge.prototype._node):
+ (WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
+ (WebInspector.HeapSnapshotNode.prototype.className):
+ (WebInspector.HeapSnapshotNode.prototype.classIndex):
+ (WebInspector.HeapSnapshotNode.prototype.edges):
+ (WebInspector.HeapSnapshotNode.prototype.id):
+ (WebInspector.HeapSnapshotNode.prototype.retainers):
+ (WebInspector.HeapSnapshot.prototype.createNode):
+ (WebInspector.HeapSnapshot.prototype.createEdge):
+ (WebInspector.HeapSnapshot.prototype.createRetainingEdge):
+ (WebInspector.HeapSnapshot.prototype.rootNode):
+ (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
+ (WebInspector.HeapSnapshot.prototype._buildAggregates):
+ (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
+ (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
+ (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
+ (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
+ (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
+ (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
+ (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
+ * inspector/front-end/HeapSnapshotLoader.js:
+ (WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotWorker):
+ * inspector/front-end/HeapSnapshotWorker.js:
+ * inspector/front-end/JSHeapSnapshot.js: Added.
+ (WebInspector.JSHeapSnapshot):
+ (WebInspector.JSHeapSnapshot.prototype.createNode):
+ (WebInspector.JSHeapSnapshot.prototype.createEdge):
+ (WebInspector.JSHeapSnapshot.prototype.createRetainingEdge):
+ (WebInspector.JSHeapSnapshotNode):
+ (WebInspector.JSHeapSnapshotNode.prototype.canBeQueried):
+ (WebInspector.JSHeapSnapshotNode.prototype.isPageObject):
+ (WebInspector.JSHeapSnapshotNode.prototype.distanceToWindow):
+ (WebInspector.JSHeapSnapshotNode.prototype.className):
+ (WebInspector.JSHeapSnapshotNode.prototype.classIndex):
+ (WebInspector.JSHeapSnapshotNode.prototype.id):
+ (WebInspector.JSHeapSnapshotNode.prototype.isHidden):
+ (WebInspector.JSHeapSnapshotNode.prototype.isNative):
+ (WebInspector.JSHeapSnapshotNode.prototype.isSynthetic):
+ (WebInspector.JSHeapSnapshotNode.prototype.isWindow):
+ (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
+ (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTree):
+ (WebInspector.JSHeapSnapshotEdge):
+ (WebInspector.JSHeapSnapshotEdge.prototype.clone):
+ (WebInspector.JSHeapSnapshotEdge.prototype.hasStringName):
+ (WebInspector.JSHeapSnapshotEdge.prototype.isElement):
+ (WebInspector.JSHeapSnapshotEdge.prototype.isHidden):
+ (WebInspector.JSHeapSnapshotEdge.prototype.isWeak):
+ (WebInspector.JSHeapSnapshotEdge.prototype.isInternal):
+ (WebInspector.JSHeapSnapshotEdge.prototype.isInvisible):
+ (WebInspector.JSHeapSnapshotEdge.prototype.isShortcut):
+ (WebInspector.JSHeapSnapshotEdge.prototype.name):
+ (WebInspector.JSHeapSnapshotEdge.prototype.toString):
+ (WebInspector.JSHeapSnapshotEdge.prototype._hasStringName):
+ (WebInspector.JSHeapSnapshotEdge.prototype._name):
+ (WebInspector.JSHeapSnapshotEdge.prototype._nameOrIndex):
+ (WebInspector.JSHeapSnapshotEdge.prototype._type):
+ (WebInspector.JSHeapSnapshotRetainerEdge):
+ (WebInspector.JSHeapSnapshotRetainerEdge.prototype.clone):
+ (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isElement):
+ (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isHidden):
+ (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInternal):
+ (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInvisible):
+ (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isShortcut):
+ (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isWeak):
+ * inspector/front-end/ProfilesPanel.js:
+ * inspector/front-end/WebKit.qrc:
+
+2012-12-26 Patrick Gansterer <paroga@webkit.org>
+
+ [WIN] Build fix for !USE(CFNETWORK) after r138413.
+
+ * platform/network/NetworkStorageSession.h:
+ (WebCore):
+
+2012-12-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: prepare HeapSnapshot.js for use with native heap snapshot
+ https://bugs.webkit.org/show_bug.cgi?id=105763
+
+ Reviewed by Alexander Pavlov.
+
+ HeapSnapshot.js now expects root node to be either the first or the last (real) one
+ in the list of all nodes.
+
+ * inspector/HeapGraphSerializer.cpp:
+ (HeapGraphNode):
+ (WebCore::HeapGraphSerializer::serialize): reordered node and edge fields so that the go in
+ the same order as in the JS heap snapshot.
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype._buildAggregates):
+ (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
+ * inspector/front-end/NativeHeapGraph.js:
+ (WebInspector.NativeHeapGraph):
+ (WebInspector.NativeHeapGraph.prototype.root): now there is explicit root node which is the last
+ one in the list, use it.
+ (WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes):
+ (WebInspector.NativeHeapGraph.prototype._addDummyNode): fixed dummy node first edge index.
+ (WebInspector.NativeHeapGraph.Edge.prototype.target):
+ (WebInspector.NativeHeapGraph.Node.prototype.referencedNodes):
+ * inspector/front-end/NativeMemorySnapshotView.js:
+ (WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph): switched to use of the root node
+ (WebInspector.NativeHeapGraphDataGridRoot.prototype._populate):
+
+2012-12-26 Pan Deng <pan.deng@intel.com>
+
+ [Web Inspector]Remove Preview and Response tab from network panel in case websocket.
+ https://bugs.webkit.org/show_bug.cgi?id=105754
+
+ Reviewed by Pavel Feldman.
+
+ Network item views for websocket is not consistent before/after receiving a frame.
+ This change keeps Headers, Frames and Cookies tab for websocket.
+
+ No new tests.
+
+ * inspector/front-end/NetworkItemView.js:
+ (WebInspector.NetworkItemView):
+
+2012-12-25 John Griggs <jgriggs@rim.com>
+
+ [BlackBerry] Media controls are drawn on top of one another for media with unknown duration.
+ https://bugs.webkit.org/show_bug.cgi?id=105747
+
+ Reviewed by George Staikos.
+
+ No need to reposition controls when there is no timeline element, this mispositions them in the new design.
+
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
+
+2012-12-25 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Crash when modifying a rule that has been removed through JavaScript
+ https://bugs.webkit.org/show_bug.cgi?id=105718
+
+ Reviewed by Yury Semikhatsky.
+
+ CSSStyleRules should be stored by RefPtr's to avoid using stale pointers to deleted instances.
+
+ Test: inspector/styles/removed-rule-crash.html
+
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::ruleForId):
+ (WebCore::InspectorStyleSheet::revalidateStyle):
+ (WebCore::InspectorStyleSheet::buildArrayForRuleList):
+ (WebCore::InspectorStyleSheet::collectFlatRules):
+ * inspector/InspectorStyleSheet.h:
+ (InspectorStyleSheet):
+
+2012-12-25 Eugene Klyuchnikov <eustas@chromium.org>
+
+ Web Inspector: [Console] Add "Replay XHR" context menu item for corresponding messages.
+ https://bugs.webkit.org/show_bug.cgi?id=105714
+
+ Reviewed by Pavel Feldman.
+
+ Expose "request" value from console message object and use it in console
+ context menu generator.
+
+ * inspector/front-end/ConsoleMessage.js: Expose "request".
+ * inspector/front-end/ConsoleView.js: Add "Replay XHR" menu item.
+ * inspector/front-end/NetworkPanel.js: Fix whitespaces.
+
+2012-12-25 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Make InspectorState instances per-agent, corresponding to JSON map entries in the cookie
+ https://bugs.webkit.org/show_bug.cgi?id=105722
+
+ Reviewed by Yury Semikhatsky.
+
+ Inspector state cookie (in JSON format) has become a map (agent name -> "properties object")
+ to avoid cross-agent property name clashes in a single property namespace.
+ As such, InspectorState corresponds to a single "properties object" and is now per-agent,
+ managed by an InspectorCompositeState (which is owned by [Worker]InspectorController).
+ Since InspectorCompositeState maps "properties objects" by their agent names, InspectorStates are created
+ by InspectorCompositeState in the InspectorBaseAgentInterface ctor, using the respective agent name.
+
+ No new tests, no change in visible behavior.
+
+ * inspector/InspectorAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
+ * inspector/InspectorAgent.h: Ditto.
+ * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
+ * inspector/InspectorApplicationCacheAgent.h: Ditto.
+ * inspector/InspectorBaseAgent.cpp: Ditto.
+ (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
+ Create InspectorState via InspectorCompositeState::createAgentState(agentName).
+ * inspector/InspectorBaseAgent.h: Pass InspectorCompositeState rather than InspectorState.
+ * inspector/InspectorCSSAgent.cpp: Ditto.
+ * inspector/InspectorCSSAgent.h: Ditto.
+ * inspector/InspectorCanvasAgent.cpp: Ditto.
+ * inspector/InspectorCanvasAgent.h: Ditto.
+ * inspector/InspectorConsoleAgent.cpp: Ditto.
+ * inspector/InspectorConsoleAgent.h: Ditto.
+ * inspector/InspectorController.cpp: Use InspectorCompositeState rather than InspectorState.
+ * inspector/InspectorController.h: Ditto.
+ * inspector/InspectorDOMAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
+ (WebCore::InspectorDOMAgent::InspectorDOMAgent): Ditto.
+ * inspector/InspectorDOMAgent.h: Ditto.
+ * inspector/InspectorDOMDebuggerAgent.cpp: Ditto.
+ * inspector/InspectorDOMDebuggerAgent.h: Ditto.
+ * inspector/InspectorDOMStorageAgent.cpp: Ditto.
+ * inspector/InspectorDOMStorageAgent.h: Ditto.
+ * inspector/InspectorDatabaseAgent.cpp: Ditto.
+ * inspector/InspectorDatabaseAgent.h: Ditto.
+ * inspector/InspectorDebuggerAgent.cpp: Ditto.
+ * inspector/InspectorDebuggerAgent.h: Ditto.
+ * inspector/InspectorFileSystemAgent.cpp: Ditto.
+ * inspector/InspectorFileSystemAgent.h: Ditto.
+ * inspector/InspectorIndexedDBAgent.cpp: Ditto.
+ * inspector/InspectorIndexedDBAgent.h: Ditto.
+ * inspector/InspectorInputAgent.cpp: Ditto.
+ * inspector/InspectorInputAgent.h: Ditto.
+ * inspector/InspectorLayerTreeAgent.cpp: Ditto.
+ * inspector/InspectorLayerTreeAgent.h: Ditto.
+ * inspector/InspectorMemoryAgent.cpp: Ditto.
+ * inspector/InspectorMemoryAgent.h: Ditto.
+ * inspector/InspectorPageAgent.cpp: Ditto.
+ * inspector/InspectorPageAgent.h: Ditto.
+ * inspector/InspectorProfilerAgent.cpp: Ditto.
+ * inspector/InspectorProfilerAgent.h: Ditto.
+ * inspector/InspectorResourceAgent.cpp: Ditto.
+ * inspector/InspectorResourceAgent.h: Ditto.
+ * inspector/InspectorRuntimeAgent.cpp: Ditto.
+ * inspector/InspectorRuntimeAgent.h: Ditto.
+ * inspector/InspectorState.cpp: Introduce InspectorCompositeState, refactor.
+ (WebCore::InspectorState::updateCookie): Delegates to the owning InspectorCompositeState instance.
+ (WebCore::InspectorState::setFromCookie): Gets called from InspectorCompositeState::loadFromCookie().
+ (WebCore::InspectorState::remove): Don't forget to update the cookie.
+ (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance for a named agent.
+ (WebCore::InspectorCompositeState::loadFromCookie): Restores InspectorStates from a cookie.
+ (WebCore::InspectorCompositeState::inspectorStateUpdated): Delegate invoked from InspectorState::updateCookie().
+ * inspector/InspectorState.h:
+ (InspectorStateUpdateListener): InspectorCompositeState API exposed to InspectorState.
+ * inspector/InspectorTimelineAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
+ * inspector/InspectorTimelineAgent.h: Ditto.
+ * inspector/InspectorWorkerAgent.cpp: Ditto.
+ * inspector/InspectorWorkerAgent.h: Ditto.
+ * inspector/PageConsoleAgent.cpp: Ditto.
+ * inspector/PageConsoleAgent.h: Ditto.
+ * inspector/PageDebuggerAgent.cpp: Ditto.
+ * inspector/PageDebuggerAgent.h: Ditto.
+ * inspector/PageRuntimeAgent.cpp: Ditto.
+ * inspector/PageRuntimeAgent.h: Ditto.
+ * inspector/WorkerConsoleAgent.cpp: Ditto.
+ * inspector/WorkerConsoleAgent.h: Ditto.
+ * inspector/WorkerDebuggerAgent.cpp: Ditto.
+ * inspector/WorkerDebuggerAgent.h: Ditto.
+ * inspector/WorkerInspectorController.cpp: Ditto.
+ * inspector/WorkerInspectorController.h: Ditto.
+ * inspector/WorkerRuntimeAgent.cpp: Ditto.
+ * inspector/WorkerRuntimeAgent.h: Ditto.
+
+2012-12-24 Yury Semikhatsky <yurys@chromium.org>
+
+ Memory instrumentation: provide a way to mark a node as a root
+ https://bugs.webkit.org/show_bug.cgi?id=105737
+
+ Reviewed by Alexander Pavlov.
+
+ Extended HeapGraphSerializer to add a fake root node with edges to all
+ real instrumentation roots.
+
+ * inspector/HeapGraphSerializer.cpp:
+ (WebCore::HeapGraphSerializer::reportNode):
+ (WebCore::HeapGraphSerializer::addRootNode):
+ (WebCore):
+ * inspector/HeapGraphSerializer.h:
+ (HeapGraphSerializer):
+
+2012-12-24 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: add message listener only in case of standalone test-runner.html
+ https://bugs.webkit.org/show_bug.cgi?id=105715
+
+ Reviewed by Pavel Feldman.
+
+ Tell InspectorFrontendAPI that it is launched by standalone test runner so that it
+ can decide whether message event listener should be added.
+
+ * inspector/front-end/InspectorFrontendAPI.js:
+ * inspector/front-end/test-runner.html:
+
+2012-12-24 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: Native Memory Instrumentation: propagate member type as edge type to the serialized heap graph.
+ https://bugs.webkit.org/show_bug.cgi?id=105725
+
+ Reviewed by Yury Semikhatsky.
+
+ MemoryOwningType was renamed to MemberType.
+ Source argument were removed from reportEdge, reportLeaf and other edge related methods because it is not necessary.
+ MemberType argument was propagated from MemoryInstrumentation down to HeapGraphSerializer.
+
+ * inspector/HeapGraphSerializer.cpp:
+ (WebCore::HeapGraphEdge::HeapGraphEdge):
+ (HeapGraphEdge):
+ (WebCore::HeapGraphSerializer::HeapGraphSerializer):
+ (WebCore::HeapGraphSerializer::reportEdge):
+ (WebCore::HeapGraphSerializer::reportLeaf):
+ (WebCore::HeapGraphSerializer::serialize):
+ * inspector/HeapGraphSerializer.h:
+ (HeapGraphSerializer):
+ * inspector/MemoryInstrumentationImpl.cpp:
+ (WebCore::MemoryInstrumentationClientImpl::reportEdge):
+ (WebCore::MemoryInstrumentationClientImpl::reportLeaf):
+ * inspector/MemoryInstrumentationImpl.h:
+ (MemoryInstrumentationClientImpl):
+
+2012-12-24 Takashi Sakamoto <tasak@google.com>
+
+ ::first-letter { overflow: -webkit-paged-y } causes crash
+ https://bugs.webkit.org/show_bug.cgi?id=105393
+
+ Reviewed by Beth Dakin.
+
+ Should check whether e is available or not before invoking
+ e->hasTagName in adjustRenderStyle in StyleResolver.cpp.
+
+ Test: fast/css/pseudo-element-opagedxy-crash.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::adjustRenderStyle):
+ If adjustRenderStyle is invoked in pseudoStyleForElement, the given
+ element is 0. So e is not available. However if the given style's
+ overflowY is OPAGEDX or OPAGEDY, adjustRenderStyle doesn't check
+ whether e is available or not before e->hasTagName.
+ This causes a crash.
+
+2012-12-24 Alexei Filippov <alph@chromium.org>
+
+ Web Inspector: add async API for passing renderer process memory stats
+ https://bugs.webkit.org/show_bug.cgi?id=105278
+
+ Reviewed by Yury Semikhatsky.
+
+ On some platforms (e.g. Linux) it may take some time to collect
+ total process memory information as it involves an IPC out of a
+ sandboxed renderer process. So add an async way to collect the statistics.
+
+ * platform/MemoryUsageSupport.cpp:
+ (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
+ (WebCore):
+ * platform/MemoryUsageSupport.h:
+ (MemoryUsageSupport):
+ (ProcessMemorySizesCallback):
+ (WebCore::MemoryUsageSupport::ProcessMemorySizesCallback::~ProcessMemorySizesCallback):
+ * platform/chromium/MemoryUsageSupportChromium.cpp:
+ (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
+ (WebCore):
+ * platform/qt/MemoryUsageSupportQt.cpp:
+ (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
+ (WebCore):
+
+2012-12-24 Laszlo Gombos <l.gombos@samsung.com>
+
+ Remove wtf/Platform.h includes from {c|cpp} files
+ https://bugs.webkit.org/show_bug.cgi?id=105678
+
+ Reviewed by Kentaro Hara.
+
+ Remove wtf/Platform.h from the include list as it is already
+ included in config.h.
+
+ No new tests as there is no new functionality.
+
+ * rendering/svg/RenderSVGRect.cpp:
+
+2012-12-24 Kentaro Hara <haraken@chromium.org>
+
+ Follow up fixes for r137739
+ https://bugs.webkit.org/show_bug.cgi?id=104982
+
+ Reviewed by Ryosuke Niwa.
+
+ Applied darin's comments in https://bugs.webkit.org/show_bug.cgi?id=104982#c18
+
+ No tests. No change in behavior.
+
+ * dom/ContainerNode.h:
+ (WebCore::ChildNodesLazySnapshot::nextNode):
+
+2012-12-24 Tiancheng Jiang <tijiang@rim.com>
+
+ Update BB10 media render theme.
+ https://bugs.webkit.org/show_bug.cgi?id=105728
+
+ Reviewed by Rob Buis.
+
+ Internally reviewed by John Griggs.
+ Use GL renderer to paint media control.
+
+ * css/mediaControlsBlackBerry.css:
+ (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
+ (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
+
+2012-12-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138436.
+ http://trac.webkit.org/changeset/138436
+ https://bugs.webkit.org/show_bug.cgi?id=105723
+
+ Asserts on state restoration in debug builds (Requested by
+ apavlov on #webkit).
+
+ * inspector/InspectorAgent.cpp:
+ (InspectorAgentState):
+ (WebCore::InspectorAgent::enable):
+ (WebCore::InspectorAgent::disable):
+ (WebCore::InspectorAgent::evaluateForTestInFrontend):
+ (WebCore::InspectorAgent::inspect):
+ * inspector/InspectorApplicationCacheAgent.cpp:
+ (ApplicationCacheAgentState):
+ (WebCore::InspectorApplicationCacheAgent::restore):
+ (WebCore::InspectorApplicationCacheAgent::enable):
+ * inspector/InspectorCSSAgent.cpp:
+ (CSSAgentState):
+ (WebCore::InspectorCSSAgent::restore):
+ (WebCore::InspectorCSSAgent::enable):
+ (WebCore::InspectorCSSAgent::disable):
+ * inspector/InspectorCanvasAgent.cpp:
+ (CanvasAgentState):
+ (WebCore::InspectorCanvasAgent::restore):
+ (WebCore::InspectorCanvasAgent::enable):
+ (WebCore::InspectorCanvasAgent::disable):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ * inspector/InspectorController.h:
+ (WebCore):
+ (InspectorController):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (DOMStorageAgentState):
+ (WebCore::InspectorDOMStorageAgent::restore):
+ (WebCore::InspectorDOMStorageAgent::enable):
+ (WebCore::InspectorDOMStorageAgent::disable):
+ * inspector/InspectorDatabaseAgent.cpp:
+ (DatabaseAgentState):
+ (WebCore):
+ (WebCore::InspectorDatabaseAgent::enable):
+ (WebCore::InspectorDatabaseAgent::disable):
+ (WebCore::InspectorDatabaseAgent::restore):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::disable):
+ * inspector/InspectorFileSystemAgent.cpp:
+ (FileSystemAgentState):
+ (WebCore):
+ (WebCore::InspectorFileSystemAgent::enable):
+ (WebCore::InspectorFileSystemAgent::disable):
+ (WebCore::InspectorFileSystemAgent::clearFrontend):
+ (WebCore::InspectorFileSystemAgent::restore):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (IndexedDBAgentState):
+ (WebCore):
+ (WebCore::InspectorIndexedDBAgent::restore):
+ (WebCore::InspectorIndexedDBAgent::enable):
+ (WebCore::InspectorIndexedDBAgent::disable):
+ * inspector/InspectorLayerTreeAgent.cpp:
+ (LayerTreeAgentState):
+ (WebCore::InspectorLayerTreeAgent::restore):
+ (WebCore::InspectorLayerTreeAgent::enable):
+ (WebCore::InspectorLayerTreeAgent::disable):
+ * inspector/InspectorPageAgent.cpp:
+ (PageAgentState):
+ (WebCore::InspectorPageAgent::restore):
+ (WebCore::InspectorPageAgent::webViewResized):
+ (WebCore::InspectorPageAgent::enable):
+ (WebCore::InspectorPageAgent::disable):
+ (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
+ (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
+ (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
+ (WebCore::InspectorPageAgent::setShowPaintRects):
+ (WebCore::InspectorPageAgent::setShowFPSCounter):
+ (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
+ (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorPageAgent::applyScreenWidthOverride):
+ (WebCore::InspectorPageAgent::applyScreenHeightOverride):
+ (WebCore::InspectorPageAgent::didPaint):
+ (WebCore::InspectorPageAgent::didLayout):
+ (WebCore::InspectorPageAgent::setEmulatedMedia):
+ (WebCore::InspectorPageAgent::applyEmulatedMedia):
+ * inspector/InspectorResourceAgent.cpp:
+ (ResourceAgentState):
+ (WebCore::InspectorResourceAgent::restore):
+ (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
+ (WebCore::InspectorResourceAgent::enable):
+ (WebCore::InspectorResourceAgent::disable):
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::InspectorState):
+ (WebCore::InspectorState::loadFromCookie):
+ (WebCore):
+ (WebCore::InspectorState::mute):
+ (WebCore::InspectorState::unmute):
+ (WebCore::InspectorState::updateCookie):
+ (WebCore::InspectorState::remove):
+ * inspector/InspectorState.h:
+ (WebCore):
+ (InspectorState):
+ (WebCore::InspectorState::setLong):
+ * inspector/InspectorTimelineAgent.cpp:
+ (TimelineAgentState):
+ (WebCore::InspectorTimelineAgent::restore):
+ (WebCore::InspectorTimelineAgent::start):
+ (WebCore::InspectorTimelineAgent::stop):
+ * inspector/WorkerInspectorController.cpp:
+ (WebCore::WorkerInspectorController::WorkerInspectorController):
+ * inspector/WorkerInspectorController.h:
+ (WebCore):
+ (WorkerInspectorController):
+
+2012-12-24 Peter Rybin <prybin@chromium.org>
+
+ Web Inspector: Keep LiveEdit API disabled when idle
+ https://bugs.webkit.org/show_bug.cgi?id=104039
+
+ Reviewed by Pavel Feldman.
+
+ Guards are added to LiveEdit call
+
+ * bindings/v8/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setScriptSource):
+
+2012-12-24 Andrey Lushnikov <lushnikov@chromium.com>
+
+ Web Inspector: refactor TextEditorHighlighter's highlight attributes to dense array
+ https://bugs.webkit.org/show_bug.cgi?id=105626
+
+ Reviewed by Pavel Feldman.
+
+ Refactor highlight attributes from sparse array to dense array.
+
+ No new tests: no behaviour changes, coverage provided by existing tests.
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorMainPanel.prototype._paintLine):
+ (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
+ * inspector/front-end/TextEditorHighlighter.js:
+ (WebInspector.TextEditorHighlighter.prototype._highlightLines):
+
+2012-12-21 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Make use of the new InspectorState::remove() in inspector agents
+ https://bugs.webkit.org/show_bug.cgi?id=105438
+
+ Reviewed by Yury Semikhatsky.
+
+ This patch introduces the following refactorings:
+ - setting property values of InspectorState to "empty" objects has been replaced by removing them from the state;
+ - InspectorState instance is no longer shared across agents, so that the property names can no longer clash.
+ Instead, InspectorCompositeState creates and owns InspectorState instances for every agent;
+ - agent-specific prefix has been stripped from most property names, where it looked synthetic.
+ - updateCookie() is called from InspectorState::remove().
+
+ No new tests, as there is no visible change in the behavior.
+
+ * inspector/InspectorAgent.cpp: Agent-specific property name prefix stripped.
+ * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
+ * inspector/InspectorCSSAgent.cpp: Ditto.
+ * inspector/InspectorCanvasAgent.cpp: Ditto.
+ * inspector/InspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
+ * inspector/InspectorController.h: Ditto.
+ * inspector/InspectorDOMStorageAgent.cpp: Agent-specific property name prefix stripped.
+ * inspector/InspectorDatabaseAgent.cpp: Ditto.
+ * inspector/InspectorDebuggerAgent.cpp: Ditto.
+ (WebCore::InspectorDebuggerAgent::disable):
+ Use "remove" instead of setting an empty object.
+ * inspector/InspectorFileSystemAgent.cpp: Agent-specific property name prefix stripped.
+ * inspector/InspectorIndexedDBAgent.cpp: Ditto.
+ * inspector/InspectorLayerTreeAgent.cpp: Ditto.
+ * inspector/InspectorPageAgent.cpp: Ditto.
+ (WebCore::InspectorPageAgent::disable):
+ Use "remove" instead of setting empty values for certain properties.
+ (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
+ Remove unnecessary code (object is created and put into the map if none is found).
+ * inspector/InspectorResourceAgent.cpp: Agent-specific property name prefix stripped.
+ (WebCore::InspectorResourceAgent::disable):
+ Use "remove" instead of setting an empty object for userAgentOverride.
+ * inspector/InspectorState.cpp: Add InspectorCompositeState.
+ (WebCore::InspectorState::setFromCookie): Gets invoked from InspectorCompositeState::loadFromCookie().
+ (WebCore::InspectorState::updateCookie): Call updateCookie().
+ (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance to be passed to an agent.
+ * inspector/InspectorState.h: Add InspectorCompositeState.
+ (WebCore::InspectorState::setLong): Fix cast.
+ * inspector/InspectorTimelineAgent.cpp: Agent-specific property name prefix stripped.
+ * inspector/WorkerInspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
+ * inspector/WorkerInspectorController.h: Ditto.
+
+2012-12-23 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Split fast-rejection filter logic off SelectorChecker.
+ https://bugs.webkit.org/show_bug.cgi?id=105660
+
+ The awesome Bloom filter and parent stack logic don't need to be in SelectorChecker. They nicely factor out
+ into their own pretty thing, named thereby SelectorFilter.
+
+ Reviewed by Eric Seidel.
+
+ No change in functionality, covered by existing tests.
+
+ * CMakeLists.txt: Added SelectorFilter to build systems.
+ * GNUmakefile.list.am: Ditto.
+ * Target.pri: Ditto.
+ * WebCore.gypi: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * css/CSSAllInOne.cpp: Ditto.
+ * css/RuleSet.cpp: Changed to use SelectorFilter.
+ (WebCore::RuleData::RuleData): Ditto.
+ * css/SelectorChecker.cpp: Ditto.
+ * css/SelectorChecker.h: Ditto.
+ (SelectorChecker):
+ * css/StyleResolver.cpp: Ditto.
+ (WebCore):
+ (WebCore::StyleResolver::pushParentElement): Ditto.
+ (WebCore::StyleResolver::popParentElement): Ditto.
+ (WebCore::StyleResolver::collectMatchingRulesForList): Ditto.
+ * css/StyleResolver.h:
+ (StyleResolver): Ditto.
+
+2012-12-23 Qiankun Miao <qiankun.miao@intel.com>
+
+ Remove unused reference to "class LayerChromium"
+ https://bugs.webkit.org/show_bug.cgi?id=105502
+
+ Reviewed by Kentaro Hara.
+
+ class LayerChromium doesn't exist any more. Just remove the unused
+ code.
+
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+
+2012-12-23 Alexey Proskuryakov <ap@apple.com>
+
+ <rdar://problem/12808377> Network process should respect cookie accept policy
+ https://bugs.webkit.org/show_bug.cgi?id=105684
+
+ Reviewed by Sam Weinig.
+
+ Changed cookie change observer to not use platform strategies, to make it usable
+ in NetworkProcess. startObservingCookieChanges() now just takes a callback pointer.
+
+ * WebCore.exp.in:
+ * platform/CookiesStrategy.h:
+ * platform/network/CookieStorage.h:
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ (WebCore::notifyCookiesChangedOnMainThread):
+ (WebCore::startObservingCookieChanges):
+ * platform/network/mac/CookieStorageMac.mm:
+ (-[WebCookieStorageObjCAdapter notifyCookiesChangedOnMainThread]):
+ (-[WebCookieStorageObjCAdapter startListeningForCookieChangeNotificationsWithCallback:]):
+ (WebCore::startObservingCookieChanges):
+
+2012-12-23 Tony Chang <tony@chromium.org>
+
+ [Qt][Mac] Unreviewed fix the build after r138413
+ https://bugs.webkit.org/show_bug.cgi?id=105686
+
+ Don't use a temporary const reference so the compiler doesn't make a copy.
+ An example compile error (clang):
+ Source/WebCore/loader/CookieJar.cpp:73:67: error: copying parameter of type 'WebCore::NetworkStorageSession' invokes deleted constructor
+ return platformStrategies()->cookiesStrategy()->cookiesForDOM(SESSION(document), document->firstPartyForCookies(), url);
+
+ * loader/CookieJar.cpp:
+ (WebCore::cookies):
+ (WebCore::setCookies):
+ (WebCore::cookiesEnabled):
+ (WebCore::cookieRequestHeaderFieldValue):
+ (WebCore::getRawCookies):
+ (WebCore::deleteCookie):
+
+2012-12-22 Alexey Proskuryakov <ap@apple.com>
+
+ Add a separate class for networking related storage
+ https://bugs.webkit.org/show_bug.cgi?id=105676
+
+ Reviewed by Sam Weinig.
+
+ NetworkingContext combines a reference to storage (cookies and more) and data that's
+ only meaningful when loading. This makes it very ugly to use for cookie manipulation
+ when there is no load (e.g. for document.cookie).
+
+ Adding NetworkStorageSession, which encorportes network-related sesion data, such
+ as cookies and session HTTP credentials.
+
+ For some ports, refactoring is not finished, NetworkStorageSession being a wrapper
+ for NetworkingContext.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.exp.in:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Updated for new files and functions.
+
+ * platform/network/PlatformCookieJar.h:
+ * loader/CookieJar.cpp:
+ * platform/CookiesStrategy.h:
+ * platform/network/cf/CookieJarCFNet.cpp:
+ * platform/network/chromium/CookieJarChromium.cpp:
+ * platform/network/curl/CookieJarCurl.cpp:
+ * platform/network/mac/CookieJarMac.mm:
+ * platform/network/qt/CookieJarQt.cpp:
+ * platform/network/soup/CookieJarSoup.cpp:
+ * platform/network/win/CookieJarWin.cpp:
+ PlatformCookieJar and strategy cookie functions now take a NetworkStorageSession
+ instead of NetworkingContext.
+ Note that they take a const reference to support creating a temporary session
+ wrapper for ports that just wrap a NetworkingContext.
+
+ * loader/ResourceLoader.cpp:
+ * loader/cache/CachedResource.h:
+ * platform/network/BlobResourceHandle.cpp:
+ * platform/network/ResourceHandle.cpp:
+ * platform/network/ResourceHandle.h:
+ * platform/network/ResourceHandleInternal.h:
+ * platform/network/chromium/ResourceHandle.cpp:
+ * platform/network/curl/ResourceHandleCurl.cpp:
+ * platform/network/mac/ResourceHandleMac.mm:
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ * platform/network/soup/DNSSoup.cpp:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ * platform/network/win/ResourceHandleWin.cpp:
+ ResourceHandle no longer includes unneeded NetworkingContext.h and AuthenticationClient.h.
+ This avoids near-world rebuilds on any NetworkingContext change.
+
+ * platform/network/NetworkStorageSession.h: Added.
+ * platform/network/NetworkStorageSessionStub.cpp: Added.
+ * platform/network/cf/NetworkStorageSessionCFNet.cpp: Added.
+ Good new stuff. Stub version just wraps NetworkingContext for platforms that still
+ need to finish the refactoring.
+
+ * platform/network/NetworkingContext.h:
+ The context now has a NetworkStorageSession, and doesn't expose CFNet level objects directly.
+
+ * platform/network/cf/CookieStorageCFNet.cpp:
+ * platform/network/cf/CookieStorageCFNet.h: Removed.
+ We no longer have separate free functions to track storage, it's part of NetworkStorageSession now.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp: Updated to use NetworkStorageSession.
+
+ * platform/network/mac/CookieStorageMac.mm: Dont include CookieStorageCFNet.h, it
+ was not needed.
+
+2012-12-22 Nico Weber <thakis@chromium.org>
+
+ InlineTextBox: Remove potentially confusing "} if" pattern.
+ https://bugs.webkit.org/show_bug.cgi?id=105499
+
+ Reviewed by Ojan Vafai.
+
+ It's not clear to me on first look if this is intentional or missing
+ an "else" (and this pattern was used in just one other place in
+ webkit, which I've removed). It turns out no else is missing here,
+ this is checked by fast/text/justified-selection.html
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::paintTextWithShadows):
+
+2012-12-21 Jan Keromnes <janx@linux.com>
+
+ Web Inspector: Update CodeMirror to stable
+ https://bugs.webkit.org/show_bug.cgi?id=105653
+
+ Reviewed by Pavel Feldman.
+
+ Fixes several minor issues, including throw scroll on mac.
+
+ * inspector/front-end/cm/codemirror.css:
+ (.cm-negative):
+ (.cm-positive):
+ (.CodeMirror-gutter):
+ (.cm-searching):
+ * inspector/front-end/cm/codemirror.js:
+ (window.CodeMirror):
+ (window.CodeMirror.):
+ * inspector/front-end/cm/css.js:
+ (.):
+ * inspector/front-end/cm/htmlmixed.js:
+ (.):
+ * inspector/front-end/cm/javascript.js:
+ (.):
+ * inspector/front-end/cm/xml.js:
+
+2012-12-21 Elliott Sprehn <esprehn@chromium.org>
+
+ Replace documentFragmentIsShadowRoot with isTreeScope
+ https://bugs.webkit.org/show_bug.cgi?id=105345
+
+ Reviewed by Dimitri Glazkov.
+
+ We can replace documentFragmentIsShadowRoot with isTreeScope() which is
+ trival to detect by checking treeScope()->rootNode() == this. To do this
+ we must stop adopting ShadowRoots into the document when they're removed,
+ which was always wrong anyway as it meant that the TreeScope of a ShadowRoot
+ was no longer itself after it had been removed. It also meant that the
+ children of a ShadowRoot that was removed were no longer in it's tree scope
+ despite being descendants of it.
+
+ Making this simplification allows further simplication like
+ Node::containingShadowRoot can be made O(1) instead of O(k) where k is
+ the depth of the node.
+
+ No new tests, just refactoring.
+
+ * WebCore.exp.in:
+ * dom/DocumentFragment.h:
+ (DocumentFragment):
+ * dom/ElementShadow.cpp:
+ (WebCore::ElementShadow::removeAllShadowRoots):
+ * dom/Node.cpp:
+ (WebCore::Node::setTreeScope):
+ (WebCore::Node::isTreeScope):
+ (WebCore):
+ * dom/Node.h:
+ (Node):
+ (WebCore::Node::isShadowRoot):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::~ShadowRoot):
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+
+2012-12-21 Xianzhu Wang <wangxianzhu@chromium.org>
+
+ [Chromium-Android] Use harfbuzz-ng instead of harfbuzz-old on Android
+ https://bugs.webkit.org/show_bug.cgi?id=104410
+
+ Using harfbuzz-ng we can avoid many bugs of the obsolete harfbuzz-old.
+
+ Reviewed by Eric Seidel.
+
+ No new tests. No change of functionality. Existing tests should pass.
+
+ * WebCore.gyp/WebCore.gyp: Use harfbuzz-ng on Android.
+
+2012-12-21 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Combine openConnection and openConnectionWithVersion
+ https://bugs.webkit.org/show_bug.cgi?id=105658
+
+ Reviewed by Tony Chang.
+
+ Combine the logic from these two methods. Mostly a refactor, but in the "pending calls"
+ case the behavior is slightly altered since the version and no-version queues were
+ previously separate, so the order changes. The new order matches the spec and FF/IE
+ behavior, and a test is added to verify this.
+
+ Chromium's webkit_unit_tests rely on a quirk to bypass the upgrade mechanism; the usage
+ is slightly altered and made more explicit, and requires a small amount of test-only code.
+
+ Test: storage/indexeddb/open-ordering.html
+
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
+ (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
+ (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
+ (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
+ (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
+ (WebCore::IDBDatabaseBackendImpl::openConnection):
+ (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
+ (WebCore::IDBDatabaseBackendImpl::close):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.h:
+ (IDBDatabaseBackendImpl):
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::open):
+
+2012-12-21 Brady Eidson <beidson@apple.com>
+
+ Update localizable strings as a followup to http://trac.webkit.org/changeset/138387
+ https://bugs.webkit.org/show_bug.cgi?id=105592
+
+ Rubberstamped by Alexey Proskuryakov.
+
+ * English.lproj/Localizable.strings: Added a new error string.
+
+2012-12-21 Kenneth Russell <kbr@google.com>
+
+ Expose ArrayBufferView constructor on DOMWindow
+ https://bugs.webkit.org/show_bug.cgi?id=105605
+
+ Reviewed by Sam Weinig.
+
+ Update IDL to track recent spec change exposing ArrayBufferView
+ constructor on DOMWindow for instanceof checks. There are no
+ constructors exposed in the Web IDL, however, so calling it via
+ operator new throws TypeError.
+
+ Test (updated): fast/canvas/webgl/array-unit-tests.html
+
+ * html/canvas/ArrayBufferView.idl:
+ Removed OmitConstructor attribute.
+ * page/DOMWindow.idl:
+ Exposed ArrayBufferView constructor function attribute.
+
+2012-12-21 Brady Eidson <beidson@apple.com>
+
+ Remove ResourceLoadScheduler::addMainResourceLoad and all related code
+ <rdar://problem/12925275> and https://bugs.webkit.org/show_bug.cgi?id=105644
+
+ Reviewed by Alexey Proskuryakov.
+
+ Now that main resources loads are scheduled (bug 49246) we don't need this stuff anymore.
+
+ No new tests (No change in behavior).
+
+ * WebCore.exp.in:
+ * loader/ResourceLoadScheduler.cpp:
+ * loader/ResourceLoadScheduler.h:
+
+2012-12-21 Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
+
+ [WebGL][EFL][Qt] Transparent canvas composited non-transparent
+ https://bugs.webkit.org/show_bug.cgi?id=105325
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ glXPixmap is always created without alpha channel because 1st GLXFBConfig
+ in a list doesn't support transparency.
+ Use the same code that is used to find GLXFBConfig with alpha for window
+ creation in GraphicsSurfacePrivate::createPixmap(). Code is moved to
+ findFBConfigWithAlpha() method.
+
+ Covered by fast/canvas/webgl/webgl-composite-modes-repaint.html
+
+ * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
+ (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
+ (WebCore::GraphicsSurfacePrivate::createPixmap):
+ (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
+ (GraphicsSurfacePrivate):
+
+2012-12-21 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, rolling out r138376.
+ http://trac.webkit.org/changeset/138376
+ https://bugs.webkit.org/show_bug.cgi?id=104995
+
+ Broke a bunch of tests on mac.
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::nodeName):
+ (WebCore):
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+
+2012-12-21 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r138237.
+ http://trac.webkit.org/changeset/138237
+ https://bugs.webkit.org/show_bug.cgi?id=105637
+
+ Regresses web inspector's editor performance. (Requested by
+ pfeldman on #webkit).
+
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
+ (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
+ (WebInspector.TextEditorMainChunk.prototype.expand):
+
+2012-12-21 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Various tests in media/track are intermittently crashing.
+ https://bugs.webkit.org/show_bug.cgi?id=105606
+
+ Reviewed by Eric Seidel.
+
+ The root of problem is the fact that we update tracks even if we are in process of deleting the document.
+ Media element can stop doing that if the document informed the element via ::stop that it is going away.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::endIgnoringTrackDisplayUpdateRequests):
+
+2012-12-21 Alexei Svitkine <asvitkine@chromium.org>
+
+ [Chromium/Mac] Don't send an onclick event from a ctrl-click
+ https://bugs.webkit.org/show_bug.cgi?id=105554
+
+ Reviewed by Dimitri Glazkov.
+
+ Don't send the onclick event on a control click event (which
+ triggers the context menu on the Mac). This matches the
+ behaviour of the Apple Mac port, although the Apple port
+ does this by checking whether the context menu is visible
+ in WebPage::mouseEvent().
+
+ This is a fix for http://crbug.com/146143
+
+ Test: fast/events/controlclick-no-onclick.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+
+2012-12-21 Shinya Kawanaka <shinyak@chromium.org>
+
+ Implement ShadowRoot::elementFromPoint
+ https://bugs.webkit.org/show_bug.cgi?id=104579
+
+ Reviewed by Dimitri Glazkov.
+
+ Move elementFromPoint and nodeFromPoint to TreeScope from Document so that ShadowRoot can call it.
+ In the elementFromPoint(), the element taken by nodeFromPoint is not in the same tree scope, its ancestor is returned.
+
+ Since nodeFromPoint does not return the shadow ancestor of the result node, I don't make it TreeScope method.
+
+ Test: fast/dom/shadow/elementfrompoint.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::elementFromPoint): Code is shared with TreeScope.
+ (WebCore::Document::caretRangeFromPoint):
+ * dom/ShadowRoot.idl:
+ * dom/TreeScope.cpp:
+ (WebCore::nodeFromPoint): Moved from Document.cpp
+ (WebCore):
+ (WebCore::TreeScope::elementFromPoint):
+ * dom/TreeScope.h:
+ (WebCore):
+ (TreeScope):
+
+2012-12-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ [EFL][WK2] Never create WebCore scrollbars for EFL/WK2
+ https://bugs.webkit.org/show_bug.cgi?id=105632
+
+ Reviewed by Antonio Gomes.
+
+ For delegates scroll we must not use the scroll animator,
+ or similar as those depends on creating WebCore scrollbars.
+
+ Handle the wheel event manually for delegates scrolling.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::wheelEvent):
+
+2012-12-21 Shinya Kawanaka <shinyak@chromium.org>
+
+ [Shadow DOM]: ShadowRoot wrong nodeName attribute
+ https://bugs.webkit.org/show_bug.cgi?id=104995
+
+ Reviewed by Dimitri Glazkov.
+
+ According to the Shadow DOM spec, ShadowRoot.nodeName should return '#document-fragment' instead of '#shadow-root'.
+ We remove ShadowRoot::nodeName.
+
+ No new tests, covered by existing tests.
+
+ * dom/ShadowRoot.cpp:
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+
+2012-12-21 Mihai Parparita <mihaip@chromium.org>
+
+ Slow performance with <select> with many options and size >= 2
+ https://bugs.webkit.org/show_bug.cgi?id=105483
+
+ Reviewed by Eric Seidel.
+
+ Avoids creating renderers for children of list <select>s that are not
+ <option> or <optgroup>. This is both more correct (no other browser
+ displays them) and provides a performance benefit (direct text children
+ of <select> would have O(N^2) behavior; this usually happened due to
+ whitespace between <option>...</option> tags).
+
+ Test: fast/forms/menulist-no-renderer-for-unexpected-children.html
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::childShouldCreateRenderer):
+
2012-12-21 Keishi Hattori <keishi@webkit.org>
Fix typing zero into multiple field input
« no previous file with comments | « no previous file | Source/WebCore/page/Settings.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698