Timeline



Mar 13, 2014:

11:45 PM Changeset in webkit [165603] by barraclough@apple.com
  • 36 edits in trunk

Reduce memory use for static property maps
https://bugs.webkit.org/show_bug.cgi?id=129986

Reviewed by Andreas Kling.

Static property tables are currently duplicated on first use from read-only memory into dirty memory
in every process, and since the entries are large (48 bytes) and the tables can be unusually sparse
(we use a custom hash table without a rehash) a lot of memory may be wasted.

Source/JavaScriptCore:

First, reduce the size of the hashtable. Instead of storing values in the table the hashtable maps
from string hashes to indicies into a densely packed array of values. Compute the index table at
compile time as a part of the derived sources step, such that this may be read-only data.

Second, don't copy all data from the HashTableValue array into a HashEntry objects. Instead refer
directly to the HashTableValue entries. The only data that needs to be allocated at runtime are the
keys, which are Identifiers.

  • create_hash_table:
    • emit the hash table index into the derived source (we were calculating this already to ensure chaining does not get too deep).
  • parser/Lexer.cpp:

(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::parseIdentifierSlowCase):

  • HashEntry -> HashTableValue.
  • parser/Lexer.h:

(JSC::Keywords::getKeyword):

  • HashEntry -> HashTableValue.
  • runtime/ClassInfo.h:
    • removed HashEntry.
  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):

  • use HashTable::ConstIterator.

(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::findPropertyHashEntry):

  • HashEntry -> HashTableValue.

(JSC::JSObject::reifyStaticFunctionsForDelete):

  • changed HashTable::ConstIterator interface.
  • runtime/JSObject.h:
    • HashEntry -> HashTableValue.
  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):

  • table -> keys, keys array is now densely packed.

(JSC::HashTable::deleteTable):

  • table -> keys.

(JSC::setUpStaticFunctionSlot):

  • HashEntry -> HashTableValue.
  • runtime/Lookup.h:

(JSC::HashTableValue::builtinGenerator):
(JSC::HashTableValue::function):
(JSC::HashTableValue::functionLength):
(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
(JSC::HashTableValue::lexerValue):

  • added accessor methods from HashEntry.

(JSC::HashTable::copy):

  • fields changed.

(JSC::HashTable::initializeIfNeeded):

  • table -> keys.

(JSC::HashTable::entry):

  • HashEntry -> HashTableValue.

(JSC::HashTable::ConstIterator::ConstIterator):

  • iterate packed value array, so no need to skipInvalidKeys().

(JSC::HashTable::ConstIterator::value):
(JSC::HashTable::ConstIterator::key):
(JSC::HashTable::ConstIterator::operator->):

  • accessors now get HashTableValue/StringImpl* separately.

(JSC::HashTable::ConstIterator::operator++):

  • iterate packed value array, so no need to skipInvalidKeys().

(JSC::HashTable::end):

  • end is now size of dense not sparse array.

(JSC::getStaticPropertySlot):
(JSC::getStaticFunctionSlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
(JSC::lookupPut):

  • HashEntry -> HashTableValue.

Source/WebCore:

  • bindings/js/JSDOMBinding.h:

(WebCore::getStaticValueSlotEntryWithoutCaching):
(WebCore::getStaticValueSlotEntryWithoutCaching<JSDOMWrapper>):

  • HashEntry -> HashTableValue.
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • HashEntry -> HashTableValue.
  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::getOwnPropertySlotDelegate):

  • HashEntry -> HashTableValue.
  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertySlotDelegate):
(WebCore::JSLocation::putDelegate):

  • HashEntry -> HashTableValue.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):

  • HashEntry -> HashTableValue.

(GenerateHashTable):

  • emit the hash table index into the derived source (we were calculating this already to ensure chaining does not get too deep).

LayoutTests:

  • inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt:
  • inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt:
  • inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt:
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
    • Properties now iterated in correct order, not permuted by hash table.
10:54 PM Changeset in webkit [165602] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Scroll size is not recalculated when absolute left of child is updated
https://bugs.webkit.org/show_bug.cgi?id=123958

Patch by Manish R Gurnaney <m.gurnaney@samsung.com> on 2014-03-13
Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/css/display-inline-block-scrollbar.html
Actual issue was that whenever there is the content change in the
RenderBlock having inline-block children, The InlineFlowBox while
computing overflow never resets previous value.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeOverflow):
Added code to clear overflow when we start computing overflow for
InlineFlowBox. So as to ScrollSize can be recalculated properly.

LayoutTests:

  • fast/css/display-inline-block-scrollbar-expected.txt: Added.
  • fast/css/display-inline-block-scrollbar.html: Added.

Added test case to check that scroll size is recalculated when absolute
left of child is updated.

10:19 PM Changeset in webkit [165601] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix Mac no-FTL build.

  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

9:47 PM Changeset in webkit [165600] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Only export initializeAndGetJSCLLVMAPI from libllvmForJSC.dylib
https://bugs.webkit.org/show_bug.cgi?id=130224

Patch by Juergen Ributzka <juergen@apple.com> on 2014-03-13
Reviewed by Filip Pizlo.

This limits the exported symbols to only initializeAndGetJSCLLVMAPI from
the LLVM dylib. This allows the dylib to be safely used with other LLVM
dylibs on the same system. It also reduces the dynamic linking overhead
and also reduces the size by 6MB, because the linker can now dead strip
many unused functions.

  • Configurations/LLVMForJSC.xcconfig:
8:44 PM Changeset in webkit [165599] by Alan Bujtas
  • 8 edits in trunk/Source/WebCore

Pass const RenderStyle& to box decoration functions.
https://bugs.webkit.org/show_bug.cgi?id=130201

Reviewed by Andreas Goran Kling.

No change in functionality.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paintBoxShadow):
(WebCore::InlineFlowBox::paintBoxDecorations):
(WebCore::InlineFlowBox::paintMask):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::paintMaskImages):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::RenderBoxModelObject::paintOneBorderSide):
(WebCore::RenderBoxModelObject::paintBorderSides):
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::getBorderEdgeInfo):
(WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
(WebCore::RenderBoxModelObject::borderObscuresBackground):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::paintBoxDecorations):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paintBoxDecorations):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintBoxDecorations):

7:49 PM Changeset in webkit [165598] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Refactor Vibration algorithm to use only one timer.
https://bugs.webkit.org/show_bug.cgi?id=130059

Patch by Jinwoo Jeong <jw00.jeong@samsung.com> on 2014-03-13
Reviewed by Darin Adler.

Source/WebCore:

Currently Vibration is using two timers,
one is to start a vibration and another is to check termination of a vibration.
But they do not work in same time, if one of them is fired, then anothor will start.
Thus this patch removes one of them, and manages vibration states by enumeration.

Also, this patch implement the missing part of the algorithm,
which check the maximum length of the vibration pattern and the maximum duration of the vibration.

Lastly, this patch removes unused methods from Vibration.

  • Modules/vibration/Vibration.cpp:

(WebCore::Vibration::Vibration):
(WebCore::Vibration::vibrate):
(WebCore::Vibration::cancelVibration):
Removed stopVibration() and its contents moved to cancelVibration().
(WebCore::Vibration::timerFired): Combined timerStartFired() and timerStopFired().
Removed suspendVibration() and resumeVibration(), which is never called since r.

  • Modules/vibration/Vibration.h: Added new enumertaion to specify states of Vibration.

(WebCore::Vibration::isVibrating):

Source/WebKit2:

This patch adds a vibration unit test regression after r161257.
It consists of two short term requests to check
that Vibration could work properly by sequential requests.

Indeed this patch tightens condition of existing tests.

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

7:49 PM Changeset in webkit [165597] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Web Inspector: AXI: Use loc strings for known aria-invalid types
https://bugs.webkit.org/show_bug.cgi?id=129952

Patch by James Craig <jcraig@apple.com> on 2014-03-13
Reviewed by Joseph Pecoraro.

Source/WebCore:

Updating inspector-protocol enum and UI display values for @aria-invalid.

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • inspector/InspectorDOMAgent.cpp: Enum for DOM.AccessibilityPropertiesInvalid

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json: Enum for DOM.AccessibilityPropertiesInvalid

Source/WebInspectorUI:

Updating inspector-protocol and UI display values for @aria-invalid.

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • Localizations/en.lproj/localizedStrings.js: "Grammar" and "Spelling" value strings.
  • UserInterface/Protocol/InspectorWebBackendCommands.js: New enum for DOM.AccessibilityPropertiesInvalid
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js: Use enum instead of passing value through directly.
7:31 PM Changeset in webkit [165596] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Fix compilation warning in Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=130132

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2014-03-13
Reviewed by Csaba Osztrogonác.

Replace mktemp() with mkstemp() to fix compilation warning in MiniBrowser.

  • MiniBrowser/efl/main.c:

(on_download_request):

7:25 PM Changeset in webkit [165595] by krit@webkit.org
  • 17 edits
    27 adds in trunk

[SVG2] support paint-order presentation attribute
https://bugs.webkit.org/show_bug.cgi?id=129373

Reviewed by Dean Jackson.

Source/WebCore:

Add support for the paint-order property from SVG2. The presentation
attribute/CSS property allows to paint fill, stroke and markers in any order
the author desires.

Firefox supports this but behind a runtime flag. It is just activated in
nightly builds by default.

Chromium supports it behind a runtime flag as well but is going to ship it
pretty soon.

Tests: svg/paint-order/paint-order-fill-expected.svg

svg/paint-order/paint-order-fill-markers-expected.svg
svg/paint-order/paint-order-fill-markers.svg
svg/paint-order/paint-order-fill.svg
svg/paint-order/paint-order-markers-expected.svg
svg/paint-order/paint-order-markers-stroke-expected.svg
svg/paint-order/paint-order-markers-stroke.svg
svg/paint-order/paint-order-markers.svg
svg/paint-order/paint-order-normal-expected.svg
svg/paint-order/paint-order-normal.svg
svg/paint-order/paint-order-stroke-expected.svg
svg/paint-order/paint-order-stroke-marker-expected.svg
svg/paint-order/paint-order-stroke-marker.svg
svg/paint-order/paint-order-stroke.svg
svg/paint-order/paint-order-text-markers-expected.svg
svg/paint-order/paint-order-text-markers.svg
svg/paint-order/paint-order-text-normal-expected.svg
svg/paint-order/paint-order-text-normal.svg
svg/paint-order/paint-order-text-stroke-expected.svg
svg/paint-order/paint-order-text-stroke.svg
svg/paint-order/paint-order-text-tspan-001-expected.svg
svg/paint-order/paint-order-text-tspan-001.svg
svg/paint-order/paint-order-text-tspan-002-expected.svg
svg/paint-order/paint-order-text-tspan-002.svg
svg/paint-order/parsing-paint-order.html

  • css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order.

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::paintOrder):
(WebCore::ComputedStyleExtractor::svgPropertyValue):

  • css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization

at this point already to get element style correct.

(WebCore::CSSParser::parseSVGValue):
(WebCore::CSSParser::parsePaintOrder):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • rendering/style/SVGRenderStyle.cpp:

(WebCore::SVGRenderStyle::paintTypesForPaintOrder):
(WebCore::SVGRenderStyle::diff): Repaint on change.

  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::initialPaintOrder):
(WebCore::SVGRenderStyle::setPaintOrder):
(WebCore::SVGRenderStyle::paintOrder):
(WebCore::SVGRenderStyle::InheritedFlags::operator==):
(WebCore::SVGRenderStyle::setBitDefaults):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order.

(WebCore::RenderSVGShape::strokeShape):
(WebCore::RenderSVGShape::fillStrokeMarkers):
(WebCore::RenderSVGShape::paint):
(WebCore::RenderSVGShape::addFocusRingRects):

  • rendering/svg/RenderSVGShape.h:
  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paint): Ditto.

  • svg/SVGElement.cpp: Make property a presentation attribute.

(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateAttributeNameToAnimatedPropertyTypeMap):

  • svg/svgattrs.in: Add paint-order attribute.

LayoutTests:

Test parsing and bahvior of the paint-order property.

  • svg/paint-order/paint-order-fill-expected.svg: Added.
  • svg/paint-order/paint-order-fill-markers-expected.svg: Added.
  • svg/paint-order/paint-order-fill-markers.svg: Added.
  • svg/paint-order/paint-order-fill.svg: Added.
  • svg/paint-order/paint-order-markers-expected.svg: Added.
  • svg/paint-order/paint-order-markers-stroke-expected.svg: Added.
  • svg/paint-order/paint-order-markers-stroke.svg: Added.
  • svg/paint-order/paint-order-markers.svg: Added.
  • svg/paint-order/paint-order-normal-expected.svg: Added.
  • svg/paint-order/paint-order-normal.svg: Added.
  • svg/paint-order/paint-order-stroke-expected.svg: Added.
  • svg/paint-order/paint-order-stroke-marker-expected.svg: Added.
  • svg/paint-order/paint-order-stroke-marker.svg: Added.
  • svg/paint-order/paint-order-stroke.svg: Added.
  • svg/paint-order/paint-order-text-markers-expected.svg: Added.
  • svg/paint-order/paint-order-text-markers.svg: Added.
  • svg/paint-order/paint-order-text-normal-expected.svg: Added.
  • svg/paint-order/paint-order-text-normal.svg: Added.
  • svg/paint-order/paint-order-text-stroke-expected.svg: Added.
  • svg/paint-order/paint-order-text-stroke.svg: Added.
  • svg/paint-order/paint-order-text-tspan-001-expected.svg: Added.
  • svg/paint-order/paint-order-text-tspan-001.svg: Added.
  • svg/paint-order/paint-order-text-tspan-002-expected.svg: Added.
  • svg/paint-order/paint-order-text-tspan-002.svg: Added.
  • svg/paint-order/parsing-paint-order-expected.txt: Added.
  • svg/paint-order/parsing-paint-order.html: Added.
7:23 PM Changeset in webkit [165594] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Add SPI to set a custom user agent on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130164

Patch by Paul Hankes Drielsma <phd@apple.com> on 2014-03-13
Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _customUserAgent]):
(-[WKWebView _setCustomUserAgent:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
7:21 PM Changeset in webkit [165593] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

VM::discardAllCode() should clear the RegExp cache.
<https://webkit.org/b/130144>

Reviewed by Michael Saboff.

  • runtime/VM.cpp:

(JSC::VM::discardAllCode):

7:14 PM Changeset in webkit [165592] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Network process instantiates JSC::VM under fake memory pressure.
<https://webkit.org/b/130143>

Stop calling GCController::garbageCollectSoon() in the fake memory
pressure callback. The pressure relief code already schedules GC
by way of discardAllCode() which does reportAbandonedObjectGraph().
This way we don't accidentally instantiate a VM in the networking
process for no reason.

Reviewed by Geoffrey Garen.

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::install):

7:01 PM Changeset in webkit [165591] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Add SPI to run javascript in main frame on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130047

Patch by Paul Hankes Drielsma <phd@apple.com> on 2014-03-13
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _runJavaScriptInMainFrame:]):

6:58 PM Changeset in webkit [165590] by commit-queue@webkit.org
  • 9 edits in trunk

Web Inspector: AXI: Expose focused/focusable state in the Accessibility Node Inspector
https://bugs.webkit.org/show_bug.cgi?id=129779

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-03-13
Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp: Set property "focused".

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json: Add property "focused" to

AccessibilityProperties.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js: Add label "Focused".
  • UserInterface/Models/DOMNode.js: Set property "focused" in

accessibilityProperties.
(WebInspector.DOMNode.prototype.accessibilityProperties): Add row for
property "focused".

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):
Refresh value of property "focused" in UI.

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:

Updated test.

6:55 PM Changeset in webkit [165589] by jaepark@webkit.org
  • 1 edit
    2 deletes in trunk/Source/WebCore

Remove remaining Nix port related files
https://bugs.webkit.org/show_bug.cgi?id=130179

Reviewed by Csaba Osztrogonác.

GLContextFromCurrentEGL was added in r155360 as a part of nix
upstreaming. As Nix port is removed from the source tree, these files
are in no use.

  • platform/graphics/egl/GLContextFromCurrentEGL.cpp: Removed.
  • platform/graphics/egl/GLContextFromCurrentEGL.h: Removed.
6:51 PM Changeset in webkit [165588] by mario.prada@samsung.com
  • 2 edits in trunk

[CMake] Failure to link with older installations of WebP
https://bugs.webkit.org/show_bug.cgi?id=130195

Reviewed by Gustavo Noronha Silva.

Fix the issue by using a temporary variable as the output parameter
to check_include_files(), setting WEBP_FOUND accordingly later.

  • Source/cmake/FindWebP.cmake: Avoid reusing the WEBP_FOUND

variable in check_include_files(), as it will lead to misleading
results (will always be FALSE). Use a temporary variable instead
and explicitly set WEBP_FOUND to TRUE later if needed.

6:41 PM Changeset in webkit [165587] by dbates@webkit.org
  • 4 edits
    13 adds in trunk

REGRESSION (r160806): Incorrect cascade order of prefixed and non-prefixed variants of
CSS properties box-shadow and background-{clip, origin, size}
https://bugs.webkit.org/show_bug.cgi?id=130102
<rdar://problem/16187037>

Reviewed by Andreas Kling.

Source/WebCore:

Fixes an issues in the computation of the final value for the CSS properties
box-shadow and background-{clip, origin, size} when the definition of a selector
uses both the prefixed and non-prefixed variants (in order) of these properties.

Tests: fast/css/cascade/background-clip-and-webkit-background-clip-cascade-order.html

fast/css/cascade/background-origin-and-webkit-background-origin-cascade-order.html
fast/css/cascade/background-size-and-webkit-background-size-cascade-order.html
fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html

  • css/CSSPropertyNames.in: Add a comment to explain the difference between property

-webkit-box-shadow and property box-shadow.

  • css/StyleResolver.cpp:

(WebCore::shouldApplyPropertyInParseOrder): Add prefixed and non-prefixed variants
of box-shadow and background-{clip, origin, size} to the list of properties that need
to be applied in the same order as they were parsed from the stylesheet.

LayoutTests:

Add tests to ensure that we correctly cascade the prefixed and non-prefixed variants
of the CSS properties box-shadow and background-{clip, origin, size}.

  • fast/css/cascade/background-clip-and-webkit-background-clip-cascade-order-expected.html: Added.
  • fast/css/cascade/background-clip-and-webkit-background-clip-cascade-order.html: Added.
  • fast/css/cascade/background-origin-and-webkit-background-origin-cascade-order-expected.html: Added.
  • fast/css/cascade/background-origin-and-webkit-background-origin-cascade-order.html: Added.
  • fast/css/cascade/background-size-and-webkit-background-size-cascade-order-expected.html: Added.
  • fast/css/cascade/background-size-and-webkit-background-size-cascade-order.html: Added.
  • fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order-expected.html: Added.
  • fast/css/cascade/box-shadow-and-webkit-box-shadow-cascade-order.html: Added.
  • fast/css/resources/green-128x128.png: Added.
  • fast/css/resources/green-square-above-red-square.png: Added.
  • fast/css/resources/red-square-above-green-square.png: Added.
  • fast/css/resources/red-square-in-green-square.png: Added.
6:36 PM Changeset in webkit [165586] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

<rdar://problem/16317198>

Update WKSI to fix a small leak on iOS.

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
6:13 PM Changeset in webkit [165585] by Brian Burg
  • 2 edits in trunk/Source/WebKit/win

Unreviewed build fix for Mac Windows after r165545.
https://bugs.webkit.org/show_bug.cgi?id=129744

Reviewed by Timothy Hatcher.

  • Interfaces/IWebInspectorPrivate.idl: Remove callId from IWebInspectorPrivate.
6:11 PM Changeset in webkit [165584] by Joseph Pecoraro
  • 6 edits in trunk/Source

Web Inspector: Remove InspectorFrontendHost.loadResourceSynchronously
https://bugs.webkit.org/show_bug.cgi?id=130217

Reviewed by Timothy Hatcher.

Source/WebCore:

This has been replaced by NetworkAgent.loadResource,
which loads asynchronously through the backend.

  • inspector/InspectorFrontendHost.cpp:
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:

Source/WebInspectorUI:

  • UserInterface/Protocol/InspectorFrontendHostStub.js:
6:11 PM Changeset in webkit [165583] by Joseph Pecoraro
  • 7 edits in trunk/Source

Web Inspector: Network.loadResource should include the response status code
https://bugs.webkit.org/show_bug.cgi?id=130216

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorResourceAgent.cpp:

Record and send the http status code.

  • inspector/protocol/Network.json:

Include status code property in the success callback.

Source/WebInspectorUI:

  • UserInterface/Controllers/SourceMapManager.js:

(WebInspector.SourceMapManager.prototype.sourceMapLoaded):
(WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):

  • UserInterface/Models/SourceMapResource.js:

(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
If the response is 400 or larger, treat it as an error / failed load.

  • UserInterface/Protocol/InspectorWebBackendCommands.js:

Update protocol to provide status code parameter.

6:11 PM Changeset in webkit [165582] by Joseph Pecoraro
  • 5 edits in trunk/Source/WebCore

Web Inspector: Network.loadResource XHR crash if page reloaded while request is ongoing
https://bugs.webkit.org/show_bug.cgi?id=130211

Reviewed by Timothy Hatcher.

Merged from Blink with changes, (patch by vsevik@chromium.org):
http://src.chromium.org/viewvc/blink?view=revision&revision=152712

Using an XMLHttpRequest to download resources had a few issues. Being an
Active DOM Object the load could be paused. Without an extra retain,
when the load was cancelled (e.g. a page reload) the XHR would get
destructed and could cause a crash if the list of active DOM objects
was actively being iterated.

Switch to a DocumentThreadableLoader to manage the load ourselves.
This still uses the Memory cache, but we have a little more control.

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::InspectorResourceAgent):
(WebCore::InspectorResourceAgent::loadResource):
Switch from XHR to DocumentThreadableLoader.

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::sendForInspector):
Remove the now unnecessary XHR sendForInspector path.

6:05 PM Changeset in webkit [165581] by benjamin@webkit.org
  • 5 edits
    4 deletes in trunk

Unreviewed, rolling out r165540.
https://bugs.webkit.org/show_bug.cgi?id=130199

caused 1 hidpi test fail (Requested by zalan on #webkit).

Reverted changeset:

"Subpixel rendering: Nested layers with subpixel accumulation
paint to wrong position."
https://bugs.webkit.org/show_bug.cgi?id=130153
http://trac.webkit.org/changeset/165540

Source/WebCore:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-13

LayoutTests:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-13

5:40 PM Changeset in webkit [165580] by Lucas Forschler
  • 19 edits in tags/Safari-538.23/Source

Merged r165577.

5:31 PM Changeset in webkit [165579] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Fix a bunch of mistakes in the parsing of ::cue( and ::cue
https://bugs.webkit.org/show_bug.cgi?id=130113

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-13
Reviewed by Andreas Kling.

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setPseudoTypeValue):
The ::cue() pseudo element "function" was passed as a PseudoClass.
The type was then parsed and considered as a compatibility type to flip
the match type back to PseudoElement.

Instead of all that jazz, just pass the right type from the grammar.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::parsePseudoType):
The non-function ::cue pseudo element use shadow pseudo ID for matching the element.
Since it is unprefixed, it needs to map to one of the Custom types. The previous code
was using String::startsWith() for some reason, change that to a simple equality.

5:30 PM Changeset in webkit [165578] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Clean up RenderStyle creation
https://bugs.webkit.org/show_bug.cgi?id=130180

Reviewed by Andreas Kling.

Use the copy constructor with the default style instead of having a special
constructor for that.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::create):
(WebCore::RenderStyle::RenderStyle):

  • rendering/style/RenderStyle.h:
5:21 PM Changeset in webkit [165577] by benjamin@webkit.org
  • 19 edits in trunk/Source

The viewport code should not depend on WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=130218

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-13
Reviewed by Tim Horton.

Source/WebCore:

The viewport code cannot be generalized to other ports because it relies
on WebKit system interface to get the device screen size.
This patch fixes that by going through ChromeClient to get the data.

  • dom/Document.cpp:

(WebCore::Document::processViewport):
Get the screensize from chrome client.

  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):
This is dead code. Nothing should ever use computeViewportAttributes().

(WebCore::finalizeViewportArguments):

  • dom/ViewportArguments.h:
  • page/ChromeClient.h:

(WebCore::ChromeClient::viewportScreenSize):

Source/WebKit/ios:

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::viewportScreenSize):
Get the viewport size from WebKitSystemInterface.

Source/WebKit2:

Get the viewport size from the UIProcess when creating a new WebProcess.
From there, the value is stored in WebPage and used whenever we need to update
the viewport parameters.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::internalShowContextMenu):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::viewportScreenSize):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::viewportScreenSize):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportScreenSize):

5:11 PM Changeset in webkit [165576] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Fix relative paths to UseInternalSDK.xcconfig for ANGLE and WebKit/mac

Rubber-stamped by Mark Rowe.

One-too-few "..".

  • Configurations/Base.xcconfig:
4:48 PM Changeset in webkit [165575] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Revert "Short-circuit JSGlobalObjectInspectorController when not inspecting."
<https://webkit.org/b/129995>

This code path is not taken anymore on DYEB, and I can't explain why
it was showing up in my profiles. Backing it out per JoePeck's suggestion.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):

3:48 PM Changeset in webkit [165574] by Lucas Forschler
  • 2 edits in tags/Safari-538.23/Source/JavaScriptCore

Merged r165559.

3:45 PM Changeset in webkit [165573] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Do not show extended background during a pinch gesture on iOS
https://bugs.webkit.org/show_bug.cgi?id=130152
-and corresponding-
<rdar://problem/16303819>

Reviewed by Simon Fraser.

This patch refactors the backgroundColor-setting logic into its own method so that
it can be called from both _didCommitLayerTree and scrollViewDidZoom.

Only set the UIScrollView’s background color when the zoomScale is greater than or
equal to the minimumZoomScale. Also do not set it during the zoom bounce
animation. Otherwise, clear the background color by setting it to nil.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView updateScrollViewBackground]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView scrollViewDidZoom:]):

3:36 PM Changeset in webkit [165572] by enrica@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS WebKit2] block selection should avoid large blocks.
https://bugs.webkit.org/show_bug.cgi?id=130208
<rdar://problem/16251785>

Reviewed by Benjamin Poulain.

When creating a block selection, we should discard blocks that
are larger than most of the visible portion of the document.
This prevents the accidental selection the entire document, which
is fairly common when tapping over empty areas.

  • Shared/InteractionInformationAtPosition.cpp:

(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):

  • Shared/InteractionInformationAtPosition.h: Removed selectionRects that was not really needed and

added isSelectable to indicate whether the selection can start.
(WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView hasSelectablePositionAtPoint:]): Now uses isSelectable.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation): Takes into account the userSelect property
to figure out if the element can be selected and discards blocks that are
larger than 97% of the visible area of the document.

3:18 PM Changeset in webkit [165571] by fpizlo@apple.com
  • 7 edits
    3 adds in trunk

FTL should support IsBlah
https://bugs.webkit.org/show_bug.cgi?id=130202

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileIsUndefined):
(JSC::FTL::LowerDFGToLLVM::compileIsBoolean):
(JSC::FTL::LowerDFGToLLVM::compileIsNumber):
(JSC::FTL::LowerDFGToLLVM::compileIsString):
(JSC::FTL::LowerDFGToLLVM::compileIsObject):
(JSC::FTL::LowerDFGToLLVM::compileIsFunction):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrierWithNullCheck):
(JSC::FTL::LowerDFGToLLVM::isNotCellOrMisc):
(JSC::FTL::LowerDFGToLLVM::isNumber):
(JSC::FTL::LowerDFGToLLVM::isNotNumber):
(JSC::FTL::LowerDFGToLLVM::isBoolean):

  • ftl/FTLOSRExitCompiler.cpp:
  • tests/stress/is-undefined-exit-on-masquerader.js: Added.

(bar):
(foo):
(test):

  • tests/stress/is-undefined-jettison-on-masquerader.js: Added.

(foo):
(test):

  • tests/stress/is-undefined-masquerader.js: Added.

(foo):
(test):

Tools:

Reviewed by Geoffrey Garen.

Running existing JSRegress tests with noInline gives us coverage for these
changes. Chances are, this will also give coverage for other interesting things
as well.

  • Scripts/run-jsc-stress-tests:
3:04 PM Changeset in webkit [165570] by jer.noble@apple.com
  • 12 edits
    4 adds in trunk/Source/WebCore

Add remote control command support to MediaSession.
https://bugs.webkit.org/show_bug.cgi?id=129903

Reviewed by Eric Carlson.

Add the capability to receive remote control commands (currently iOS only) and to
pass those commands through the MediaSessionManager.

Add a new platform class which can listen for remote control commands:

  • platform/RemoteCommandListener.cpp: Added.

(WebCore::RemoteCommandListener::create):

  • platform/RemoteCommandListener.h: Added.

(WebCore::RemoteCommandListenerClient::~RemoteCommandListenerClient):
(WebCore::RemoteCommandListener::~RemoteCommandListener):
(WebCore::RemoteCommandListener::RemoteCommandListener):

  • platform/ios/RemoteCommandListenerIOS.h: Added.
  • platform/ios/RemoteCommandListenerIOS.mm: Added.

(WebCore::RemoteCommandListener::create):
(WebCore::RemoteCommandListenerIOS::RemoteCommandListenerIOS):
(WebCore::RemoteCommandListenerIOS::~RemoteCommandListenerIOS):

Handle remote control command events in HTMLMediaElement and AudioDestinationMac:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • platform/audio/mac/AudioDestinationMac.h:

(WebCore::AudioDestinationMac::canReceiveRemoteControlCommands):
(WebCore::AudioDestinationMac::didReceiveRemoteControlCommand):

Pipe command events through MediaSessionManager:

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::canReceiveRemoteControlCommands):
(WebCore::MediaSession::didReceivRemoteControlCommand):

  • platform/audio/MediaSession.h:
  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::removeSession):
(WebCore::MediaSessionManager::sessionWillBeginPlayback):
(WebCore::MediaSessionManager::didReceiveRemoteControlCommand):
(WebCore::MediaSessionManager::addClient):
(WebCore::MediaSessionManager::removeClient):

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManagerClient::~MediaSessionManagerClient):
(WebCore::MediaSessionManagerClient::MediaSessionManagerClient):

Make sessionWillBegin/EndPlayback() methods take non-const parameters:

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::sessionWillEndPlayback):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManagerIOS::sessionWillBeginPlayaback):
(WebCore::MediaSessionManagerIOS::sessionWillEndPlayaback):

Add new files and export new symbols:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
3:02 PM Changeset in webkit [165569] by Andres Gomez
  • 3 edits
    6 deletes in trunk/LayoutTests

Unreviewed, rolling out r165536.

It breaks http/tests/media/media-play-stream-chunked-icy.html

Reverted changeset:

"[GStreamer] WebKit gets stalled when trying to play a stream"
https://bugs.webkit.org/show_bug.cgi?id=125926
http://trac.webkit.org/changeset/165536

2:53 PM Changeset in webkit [165568] by Csaba Osztrogonác
  • 50 edits in trunk/Source/WebCore

Unreviewed, rolling out r165544 and r165560.

It broke EFL/GTK/Windows build

Reverted changesets:

"Optimize hasTagName when called on an HTMLElement"
https://bugs.webkit.org/show_bug.cgi?id=130090
http://trac.webkit.org/changeset/165544

http://trac.webkit.org/changeset/165560

2:50 PM Changeset in webkit [165567] by Lucas Forschler
  • 1 edit in branches/safari-537.75-branch/LayoutTests/fast/ruby/ruby-illegal-combined-expected.txt

Update expectations for fast/ruby/ruby-illegal-combined.html.

2:27 PM Changeset in webkit [165566] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to stop asserts in debug build.

  • dom/Node.cpp:

(WebCore::Document::invalidateNodeListAndCollectionCaches):

1:38 PM Changeset in webkit [165565] by andersca@apple.com
  • 6 edits
    3 moves
    1 delete in trunk/Source/WebKit2

Rename WKVisitedLinkProvider to _WKVisitedLinkProvider and make it private
https://bugs.webkit.org/show_bug.cgi?id=130207

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKVisitedLinkProviderPrivate.h: Removed.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _visitedLinkProvider]):
(-[WKWebViewConfiguration _setVisitedLinkProvider:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKVisitedLinkProvider.h.
  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKVisitedLinkProvider.mm.

(-[_WKVisitedLinkProvider init]):

  • UIProcess/API/Cocoa/_WKVisitedLinkProviderInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKVisitedLinkProviderInternal.h.
  • WebKit2.xcodeproj/project.pbxproj:
1:31 PM Changeset in webkit [165564] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix build.

  • Misc/WebSharingServicePickerController.mm:
1:22 PM Changeset in webkit [165563] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Update the build fix for r165544

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-13

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

Fix typo :(

1:16 PM Changeset in webkit [165562] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Update the build fix for r165544

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-13

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper isSVGGroupElement]):
Use the SVG version since the name being tested is a SVG name.

1:01 PM Changeset in webkit [165561] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the build after r165542

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-13

  • dom/NodeRenderStyle.h:
12:47 PM Changeset in webkit [165560] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Update WebAccessibilityObjectWrapperIOS after r165544

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-13

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper isSVGGroupElement]):

12:46 PM Changeset in webkit [165559] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JS benchmarks crash with a bus error on 32-bit x86.
<https://webkit.org/b/130203>

Reviewed by Geoffrey Garen.

The issue is that generateGetByIdStub() can potentially use the same register
for the JSValue base register and the target tag register. After loading the
tag value into the target tag register, the JSValue base address is lost.
The code then proceeds to load the payload value using the base register, and
this results in a crash.

The fix is to check if the base register is the same as the target tag register.
If so, we should make a copy the base register first before loading the tag
value, and use the copy to load the payload value instead.

  • jit/Repatch.cpp:

(JSC::generateGetByIdStub):

12:45 PM Changeset in webkit [165558] by Chris Fleizach
  • 2 edits in branches/safari-537.75-branch/LayoutTests

Fix accessibility/display-table-cell-causes-crash.html
<rdar://problem/16305170>

Unreviewed.
Fix layout test paths that were referencing files that have moved.

  • accessibility/display-table-cell-causes-crash.html:
12:44 PM Changeset in webkit [165557] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION(r165542): printing/page-rule-selection.html failing
https://bugs.webkit.org/show_bug.cgi?id=130205

Reviewed by Andreas Kling.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::styleForPage):

Use Document style as parent when resolving page style.

(WebCore::StyleResolver::applyPropertyToStyle):

  • css/StyleResolver.h:


Get rid of the default null parameter.

12:37 PM Changeset in webkit [165556] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove INPUT_LIST_BUTTON from the PseudoIds
https://bugs.webkit.org/show_bug.cgi?id=130108

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-13
Reviewed by Andreas Kling.

  • rendering/style/RenderStyleConstants.h:

It is unused.

12:28 PM Changeset in webkit [165555] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove a commented out member function
https://bugs.webkit.org/show_bug.cgi?id=130204

Reviewed by Tim Horton.

  • Shared/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::canSendMessage):

12:20 PM Changeset in webkit [165554] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Crash on iPad when displaying a select element with options.
https://bugs.webkit.org/show_bug.cgi?id=130200
<rdar://problem/16316187>

Reviewed by Simon Fraser.

_singleSelectionIndex should be initialized to NSNotFound for multiSelect elements.

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectTableViewController initWithView:hasGroups:]):

12:14 PM Changeset in webkit [165553] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

WebKit shouldn't crash on uniprocessor machines
https://bugs.webkit.org/show_bug.cgi?id=130176

Reviewed by Michael Saboff.

Previously the math for computing the number of JIT compiler threads would come up with
zero threads on uniprocessor machines, and then the Worklist code would assert.

  • runtime/Options.cpp:

(JSC::computeNumberOfWorkerThreads):

  • runtime/Options.h:
11:24 AM Changeset in webkit [165552] by eric.carlson@apple.com
  • 9 edits in trunk/Source/WebCore

[iOS] Sync media playback with now playing
https://bugs.webkit.org/show_bug.cgi?id=130172

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::play): Move clientWillBeginPlayback to

playInternal so it is called every time playback begins.

(WebCore::HTMLMediaElement::playInternal): Call clientWillBeginPlayback.
(WebCore::HTMLMediaElement::pause): Move clientWillPausePlayback to

playInternal so it is called every time playback begins.

(WebCore::HTMLMediaElement::playInternal): Call clientWillPausePlayback.
(WebCore::HTMLMediaElement::mediaSessionTitle): New. Return the 'title' attribute,

or currenSrc if that is empty.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::mediaSessionDuration): Return duration.
(WebCore::HTMLMediaElement::mediaSessionCurrentTime): Return current time.

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::clientWillPausePlayback): New, passthrough to the

media element.

(WebCore::MediaSession::title): Ditto.
(WebCore::MediaSession::duration): Ditto.
(WebCore::MediaSession::currentTime): Ditto.

  • platform/audio/MediaSession.h:

(WebCore::MediaSessionClient::mediaSessionTitle):
(WebCore::MediaSessionClient::mediaSessionDuration):
(WebCore::MediaSessionClient::mediaSessionCurrentTime):

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::MediaSessionManager): Initialize m_activeSession.
(WebCore::MediaSessionManager::removeSession): Set m_activeSession if the session

being removed is currently active.

(WebCore::MediaSessionManager::sessionWillBeginPlayback): Set m_activeSession.

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::sessionWillEndPlayback):
(WebCore::MediaSessionManager::setCurrentSession):
(WebCore::MediaSessionManager::currentSession):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::sessionWillBeginPlayback): Call updateNowPlayingInfo.
(WebCore::MediaSessionManageriOS::sessionWillEndPlayback): Ditto.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Update MPNowPlayingInfoCenter

with the current media item's title, duration, and current time.

(-[WebMediaSessionHelper initWithCallback:]): Turn on deliver of remote control

events, even though we don't respond to them yet, or Now Playing won't work.

11:12 AM Changeset in webkit [165551] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r165550 - [GTK] Close the connection when we fail to read from the socket for any unhandled error
https://bugs.webkit.org/show_bug.cgi?id=130191

Reviewed by Martin Robinson.

We currently show an error message, but we should close the
connection avoid entering an infinite loop. Also provide more
information in the error message to help when debugging the issue.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::readyReadHandler):

11:11 AM Changeset in webkit [165550] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Close the connection when we fail to read from the socket for any unhandled error
https://bugs.webkit.org/show_bug.cgi?id=130191

Reviewed by Martin Robinson.

We currently show an error message, but we should close the
connection avoid entering an infinite loop. Also provide more
information in the error message to help when debugging the issue.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::readyReadHandler):

11:06 AM Changeset in webkit [165549] by Bem Jones-Bey
  • 18 edits in trunk/Source

Webkit not building on XCode 5.1 due to garbage collection no longer being supported
https://bugs.webkit.org/show_bug.cgi?id=130087

Patch by Radu Stavila <stavila@adobe.com> on 2014-03-13
Reviewed by Mark Rowe.

Disable garbage collection on macosx when not using internal SDK.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/WebCore:

No new tests required.

  • Configurations/Base.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:

Source/WTF:

  • Configurations/Base.xcconfig:
11:03 AM Changeset in webkit [165548] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Don't send synchronous resize events when FrameView has auto-sizing enabled.
<https://webkit.org/b/130198>
<rdar://problem/15991333>

Reviewed by Dan Bernstein.

  • page/FrameView.cpp:

(WebCore::FrameView::sendResizeEventIfNeeded):

11:00 AM Changeset in webkit [165547] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Try to fix release build.

  • css/MediaQueryMatcher.cpp:
  • css/StyleMedia.cpp:
  • html/HTMLTitleElement.cpp:
10:57 AM WebKitGTK/2.4.x edited by sergio@webkit.org
Added another change to track (diff)
10:51 AM Changeset in webkit [165546] by Darin Adler
  • 27 edits in trunk/Source

Avoid copy-prone idiom "for (auto item : collection)"
https://bugs.webkit.org/show_bug.cgi?id=129990

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • heap/CodeBlockSet.h:

(JSC::CodeBlockSet::iterate): Use auto& to be sure we don't copy by accident.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchBreakpointActionLog): Use auto* to
make explicit that we are iterating through pointers.
(Inspector::ScriptDebugServer::dispatchBreakpointActionSound): Ditto.
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe): Ditto.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::removeBreakpoint): Use auto&, and also
get rid of an unneeded local variable.

Source/WebCore:

Most of these changes have no effect. A few of them get rid of unwanted
copying of the items as we iterate them. Found these with the command
'git grep "for (auto .*:"' or the equivalent.

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::IDBKeyData): Use auto& to avoid copying the keys.
(WebCore::IDBKeyData::maybeCreateIDBKey): Ditto.
(WebCore::IDBKeyData::isolatedCopy): Ditto.

  • dom/Node.cpp:

(WebCore::Document::invalidateNodeListAndCollectionCaches): Use auto*
to make explicit the fact that these are pointers. Stop using "it" for
a variable that is not an iterator. Get rid of unneeded local variables
for the collections themselves.

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::adoptDocument): Use auto& to make sure we
don't do any unnecessary copying. Stop using "it" for a variable that
is not an iterator.

  • html/HTMLTableRowsCollection.cpp:

(WebCore::HTMLTableRowsCollection::lastRow): Use auto* to be explicit
that these are pointers.

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal): Ditto.

  • page/ios/FrameIOS.mm:

(WebCore::Frame::interpretationsForCurrentRoot): Ditto. Also got rid of
an unnecessary local variable.

  • platform/FileChooser.cpp:

(WebCore::FileChooser::chooseFiles): Use auto&. Also fix a FIXME.
(WebCore::FileChooser::chooseMediaFiles): Ditto.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::naturalSize): Use auto&.

  • rendering/RenderIterator.h: Changed include from RenderObject.h to

RenderElement.h; iterators are based on RenderElement now.

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::removeFromCacheAndInvalidateDependencies): Use auto*.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation): Use auto*.
(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation): Ditto.
(WebCore::RenderSVGResourceContainer::registerResource): Ditto.

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::layoutChildren): Updated to use a more specific
type, to use auto* instead of of auto, and to eliminate the slightly sloppily
capitalized and not-so-slightly ungrammatical notlayoutedObjects.
(WebCore::SVGRenderSupport::applyStrokeStyleToContext): Use auto&.
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): Use auto*.

  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Use auto*.
(WebCore::SVGResourcesCycleSolver::resolveCycles): Ditto. Also lineageOfType.

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::applyResultsToTarget): Use auto*.

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::invalidateMPathDependencies): Ditto.

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
Use auto*. Also removed uneeded ASSERT_NO_EXCEPTION, which is already
the default without specifying it explicitly.

Source/WebKit2:

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyProperties): Use auto&.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): Use auto&
even though the type is a scalar. This does no harm and makes it easier
to spot uses that trigger unnecessary copying with grep.
(WebKit::RemoteLayerTreeTransaction::decode): Ditto.
(WebKit::dumpChangedLayers): Ditto.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree): Ditto.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::visitedLinkStateChanged): Ditto.

10:47 AM Changeset in webkit [165545] by Brian Burg
  • 40 edits in trunk

Web Inspector: Remove unused callId parameter from evaluateInWebInspector
https://bugs.webkit.org/show_bug.cgi?id=129744

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::evaluateForTestInFrontend):

  • inspector/agents/InspectorAgent.h:
  • inspector/protocol/InspectorDomain.json:

Source/WebCore:

  • WebCore.exp.in:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::evaluateForTestInFrontend):

  • inspector/InspectorController.h:

Source/WebInspectorUI:

  • UserInterface/Protocol/InspectorJSBackendCommands.js:
  • UserInterface/Protocol/InspectorObserver.js:

(WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::evaluateInWebInspector):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

  • webkit/webkitwebinspector.cpp:

(webkit_web_inspector_execute_script):

  • webkit/webkitwebinspectorprivate.h:

Source/WebKit/mac:

  • WebInspector/WebInspector.mm:

(-evaluateInFrontend:script:):

  • WebInspector/WebInspectorPrivate.h:

Source/WebKit/win:

(WebInspector::evaluateInFrontend):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:

(WKBundleInspectorEvaluateScriptForTest):

  • WebProcess/InjectedBundle/API/c/WKBundleInspector.h:
  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::evaluateScriptForTest):

  • WebProcess/WebPage/WebInspector.h:

Tools:

  • DumpRenderTree/TestRunner.cpp:

(evaluateInWebInspectorCallback):

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/efl/TestRunnerEfl.cpp:

(TestRunner::evaluateInWebInspector):

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:

(TestRunner::evaluateInWebInspector):

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::evaluateInWebInspector):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::evaluateInWebInspector):

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::evaluateInWebInspector):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:

  • inspector/inspector-test.js:

(runTest): Stop passing a dummy argument to TestRunner.evaluateInWebInspector.

10:45 AM Changeset in webkit [165544] by Darin Adler
  • 50 edits in trunk/Source/WebCore

Optimize hasTagName when called on an HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=130090

Reviewed by Antti Koivisto.

Added new hasTagName functions that have the efficiency of hasLocalName.
but are safe.

Now we can always use hasTagName, and we'll get a compile time error if
we try to use an SVG tag name with an HTML element. All call sites that
use the more specific tag name types are more efficient, and call sites
that have a specific pointer type will get even more efficient checking
that is exactly what we used to get by calling hasLocalName.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::hasTagName): Cast explicitly to Element
since Node::hasTagName no longer works on a general QualifiedName.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isDescendantOfElementType): Use
more specific type, RenderElement, so we can call hasTagName on Element
instead of Node; eliminates an unnecessary branch.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets): Use
new for loop and full words for variable names. Also use nullptr instead
of 0. Call toHTMLElement and toSVGElement in code that checks hasTagName
since it's already checking isHTMLElement and isSVGElement.

  • dom/Element.cpp:

(WebCore::attrNodeListMap): Use NeverDestroyed and put the vectors into
the map rather than putting pointers to a vector into the map.
(WebCore::attrNodeListForElement): Take a reference rather than a pointer,
and update for the change above.
(WebCore::ensureAttrNodeListForElement): Ditto.
(WebCore::removeAttrNodeListForElement): Ditto.
(WebCore::findAttrNodeInList): Ditto.
(WebCore::Element::isFocusable): Use ancestorsOfType<HTMLCanvasElement>
to fine the canvas rather than a hand-written loop.
(WebCore::Element::attrNodeList): Update for above changes.
(WebCore::Element::setAttributeNode): Ditto.
(WebCore::Element::attrIfExists): Ditto.
(WebCore::Element::ensureAttr): Ditto.
(WebCore::Element::detachAttrNodeFromElementWithValue): Ditto.
(WebCore::Element::detachAllAttrNodesFromElement): Ditto.

  • dom/Element.h: Removed the overload of hasLocalName that takes a

QualifiedName and ignores the non-local-name parts of it. Callers should
use hasTagName instead, now that it's optimized appropriately. Added
overloads of hasTagName for all the specific qualified name types. It's
more efficient to use the Node versions of these functions rather than
using QualifiedName::matches to do the check. Removed the hasTagName and
hasLocalName functions from the Node class; the only convenience functions
needed in Node are the specific checks for tags from HTML, MathML, and SVG,
not the general purpose ones.

  • dom/Node.h: Removed hasLocalName and replaced the single hasTagName

that takes a QualifiedName with three faster ones that take HTML, MathML,
and SVG qualified names instead. Also updated to use nullptr instead of 0.

  • dom/PositionIterator.cpp: Added now-needed include.
  • dom/Text.cpp: Ditto.
  • dom/make_names.pl:

(printHeaderHead): Renamed an argument for clarity and added a definitions
argument, which is where we insert the classes derived from QualifiedName.
(printCppHead): Renamed an argument for clarity.
(printTypeHelpers): Use hasTagName rather than hasLocalName, since the
former is now optimized to be the same as what the latter was.
(printNamesHeaderFile): Define a class derived from QualifiedName that can
be used at compile time to avoid having to check the namespace.
(printNamesCppFile): Use the new more-specific type as needed.

  • editing/ApplyStyleCommand.cpp:

(WebCore::isLegacyAppleStyleSpan): Use hasTagName instead of hasLocalName,
and references instead of pointers.
(WebCore::ApplyStyleCommand::ApplyStyleCommand): Removed uneeded explicit
construction of a smart pointer.
(WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun): Updated to use
the enclosingElementWithTag function by its new name.

  • editing/Editor.cpp:

(WebCore::Editor::selectionUnorderedListState): Updated to use the
enclosingElementWithTag function by its new name.
(WebCore::Editor::selectionOrderedListState): Ditto.

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::doApply): Use a more-specific type for the list tag.
(WebCore::InsertListCommand::doApplyForSingleParagraph): Ditto.

  • editing/InsertListCommand.h: Ditto.
  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Added an explicit
cast to Element in the loop that is already guarded by an isElementNode check.
Also use a modern C++ for loop.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
Updated to use the enclosingElementWithTag function by its new name.
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Ditto.
(WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Ditto.

  • editing/TypingCommand.cpp: Added now-needed includes.
  • editing/VisibleUnits.cpp: Ditto.
  • editing/htmlediting.cpp:

(WebCore::enclosingElementWithTag): Changed to return an Element instead of a Node,
since nodes other than elements do not have tags.

  • editing/htmlediting.h: Ditto.
  • editing/mac/EditorMac.mm:

(WebCore::Editor::adjustedSelectionRange): Updated to use the enclosingElementWithTag
function by its new name.

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendText): Ditto.
(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Ditto.
(WebCore::highestAncestorToWrapMarkup): Ditto.
(WebCore::createMarkupInternal): Ditto.
(WebCore::createContextualFragment): Ditto. Use hasTagName instead of hasLocalName,
since the former is now optimized to be the same as the latter was before.

  • html/HTMLCollection.cpp:

(WebCore::isMatchingElement): Use hasTagName instead of hasLocalName,
since the former is now optimized to be the same as the latter was before.
(WebCore::nameShouldBeVisibleInDocumentAll): Ditto.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::ieForbidsInsertHTML): Ditto.
(WebCore::unicodeBidiAttributeForDirAuto): Ditto.
(WebCore::HTMLElement::parseBorderWidthAttribute): Ditto.
(WebCore::HTMLElement::setInnerHTML): Ditto.
(WebCore::shouldProhibitSetInnerOuterText): Ditto. Added this to share code between
setInnerText and setOuterText.
(WebCore::HTMLElement::setInnerText): Ditto.
(WebCore::HTMLElement::setOuterText): Ditto.
(WebCore::HTMLElement::rendererIsNeeded): Ditto.
(WebCore::HTMLElement::createElementRenderer): Ditto.

  • html/HTMLElement.h: Added hasTagName, which hides the one inherited from Element

and takes the more-specific HTMLQualifiedName type. This means we don't need to check
the namespace at runtime because it's known at compile time. Also put the
implementation of Node::hasTagName for HTMLQualifiedName into this header.

  • html/HTMLObjectElement.cpp:

(WebCore::isRecognizedTagName): Updated for change in return type of
HTMLNames::getHTMLTags.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::add): Use hasTagName inastead of hasLocalName.
(WebCore::HTMLSelectElement::value): Use isHTMLOptionElement instead of hasTagName.
Also use a new style for loop and emptyString() instead of "".
(WebCore::HTMLSelectElement::setValue): Ditto.
(WebCore::HTMLSelectElement::setLength): Ditto.
(WebCore::HTMLSelectElement::searchOptionsForValue): Ditto.
(WebCore::HTMLSelectElement::restoreFormControlState): Ditto.

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::additionalPresentationAttributeStyle): Use hasTagName
instead of hasLocalName.

  • html/HTMLTableRowsCollection.cpp:

(WebCore::isInSection): Updated to use hasTagName and take a reference.
(WebCore::HTMLTableRowsCollection::rowAfter): Pass a reference.

  • html/parser/HTMLConstructionSite.cpp: Added now-needed include.
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::createCaseMap): Updated to return a map rather than filling one in, and to
be flxible about the type of the table being used.
(WebCore::adjustSVGTagNameCase): Updated to use NeverDestroyed.
(WebCore::adjustAttributes): Added new helper so we can share more code. Updated
template argument names for clarity.
(WebCore::adjustSVGAttributes): Marked this inline, since it just turns around and
calls a single non-inline function.
(WebCore::adjustMathMLAttributes): Ditto.
(WebCore::addNamesWithPrefix): Changed to take argument by reference instead of pointer.
(WebCore::createForeignAttributesMap): Added. Factors out the map creation from the
function below.
(WebCore::adjustForeignAttributes): Updated for above changes.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to pass reference.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.

  • inspector/InspectorStyleSheet.cpp: Added now-needed include.
  • mathml/MathMLElement.h: Added hasTagName, which hides the one inherited from Element

and takes the more-specific MathMLQualifiedName type. This means we don't need to check
the namespace at runtime because it's known at compile time. Also put the
implementation of Node::hasTagName for MathMLQualifiedName into this header.

  • mathml/MathMLInlineContainerElement.cpp:

(WebCore::MathMLInlineContainerElement::createElementRenderer): Use hasTagName.

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::attributeChanged): Use hasTagName.
(WebCore::MathMLSelectElement::getSelectedActionChildAndIndex): Ditto.
(WebCore::MathMLSelectElement::getSelectedActionChild): Ditto.
(WebCore::MathMLSelectElement::getSelectedSemanticsChild): Ditto.
(WebCore::MathMLSelectElement::updateSelectedChild): Ditto.

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::createElementRenderer): Ditto.
(WebCore::MathMLTextElement::childShouldCreateRenderer): Ditto.

  • platform/mac/HTMLConverter.mm: Added now-needed include.
  • rendering/RenderBlockFlow.cpp: Ditto.
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended): Use hasTagName.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::rendererForRootBackground): Ditto.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Ditto.

  • rendering/RenderReplaced.cpp: Added now-needed include.
  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::RenderMathMLScripts): Use hasTagName.

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): Ditto.

  • svg/SVGElement.h: Added hasTagName, which hides the one inherited from Element

and takes the more-specific SVGQualifiedName type. This means we don't need to check
the namespace at runtime because it's known at compile time. Also put the
implementation of Node::hasTagName for SVGQualifiedName into this header.

  • svg/SVGFontFaceSrcElement.cpp:

(WebCore::SVGFontFaceSrcElement::childrenChanged): Use isSVGFontFaceElement instead
of calling hasTagName.

  • svg/SVGUseElement.cpp:

(WebCore::isDirectReference): Changed to take a reference and a more specific type.
(WebCore::SVGUseElement::toClipPath): Added a type cast.
(WebCore::SVGUseElement::rendererClipChild): Use more specific types so we don't
need a type cast.

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::parseDocumentFragment): Added explicit calls to this
unusual call site that has a good reason to use hasLocalName instead of hasTagName.

10:34 AM Changeset in webkit [165543] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix iOS build.

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

10:29 AM Changeset in webkit [165542] by Antti Koivisto
  • 22 edits in trunk/Source/WebCore

Remove StyleResolver::State::m_parentNode
https://bugs.webkit.org/show_bug.cgi?id=130194

Reviewed by Andreas Kling.

This variable was the "parent" node where the style was being inherited from, not the actual parent.
The code would also recompute it even though the call sites generally know the rendering parent already.

If we consistently pass parent style to StyleResolver::styleForElement we won't need the variable and
the associated code. We also get rid of one more client of NodeRenderingTraversal.

  • css/MediaQueryMatcher.cpp:

(WebCore::MediaQueryMatcher::prepareEvaluator):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleMedia.cpp:

(WebCore::StyleMedia::matchMedium):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::applyProperty):

  • css/StyleResolver.h:

(WebCore::StyleResolver::document):
(WebCore::StyleResolver::State::State):

  • dom/Element.cpp:

(WebCore::Element::customStyleForRenderer):

Add parentStyle parameter.

  • dom/Element.h:
  • dom/PseudoElement.cpp:

(WebCore::PseudoElement::customStyleForRenderer):

  • dom/PseudoElement.h:
  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::didAttachRenderers):
(WebCore::HTMLOptGroupElement::updateNonRenderStyle):
(WebCore::HTMLOptGroupElement::customStyleForRenderer):

  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::didAttachRenderers):
(WebCore::HTMLOptionElement::updateNonRenderStyle):
(WebCore::HTMLOptionElement::customStyleForRenderer):

  • html/HTMLOptionElement.h:
  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::textWithDirection):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerElement::customStyleForRenderer):
(WebCore::TextControlInnerTextElement::customStyleForRenderer):

  • html/shadow/TextControlInnerElements.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::computeStyleInRegion):
(WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion):
(WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):

  • rendering/RenderNamedFlowFragment.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::styleForElement):

This used to be Element::styleForRenderer. It is now a standalone static.

(WebCore::Style::elementInsideRegionNeedsRenderer):
(WebCore::Style::createRendererIfNeeded):
(WebCore::Style::resolveLocal):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::customStyleForRenderer):

  • svg/SVGElement.h:
10:23 AM WebKitGTK/StableRelease edited by Andres Gomez
(diff)
9:46 AM Changeset in webkit [165541] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[GTK] build-webkit shouldn't show error message when ninja isn't installed
https://bugs.webkit.org/show_bug.cgi?id=130129

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-03-13
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitdirs.pm:

(canUseNinja): Redirecting stderr to /dev/null

9:42 AM Changeset in webkit [165540] by Csaba Osztrogonác
  • 5 edits
    4 adds in trunk

Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=130153

Patch by Zalan Bujtas <Alan Bujtas> on 2014-03-13
Reviewed by Simon Fraser.

Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
need to be propagated through the layer tree so that painting coordinates match layout coordinates.

Compositing case: (absolute positioning, 2x display)
parent layer pos(0.3, 0.3) -> floored painting position (0, 0)
child layer pos(10.2, 10.2) -> layout offset from parent (10.2, 10.2),
but the actual painting offset is (10.5, 10.5) as the result of parent flooring.

Non-compositing case: (absolute positioning, 2x display)
parent layer pos(0.3, 0.3) -> GraphicsContext is translated to (0, 0).
child layer pos(10.2, 10.2) -> layout offset from parent (10.2, 10.2)
but the GraphicsContext's offset is (10.5, 10.5) as the result of the parent's translate.

In both cases, without the subpixel adjustment, we'd paint the current layer at (10.0, 10.0)
after flooring, while its painting position is actually (10.5, 10.5).
Subpixels do accumulate through nested layers.

Source/WebCore:

Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html

fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerByApplyingTransform):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerBacking.h:

(WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):

LayoutTests:

  • compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation-expected.html: Added.
  • compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html: Added.
  • fast/layers/hidpi-nested-layers-with-subpixel-accumulation-expected.html: Added.
  • fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html: Added.
9:39 AM Changeset in webkit [165539] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Fix the !ENABLE(SQL_DATABASE) build
https://bugs.webkit.org/show_bug.cgi?id=130130

Patch by Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> on 2014-03-13
Reviewed by Csaba Osztrogonác.

Add missing #ifdef guard to typedef.

  • UIProcess/API/C/WKDatabaseManager.cpp:
9:37 AM Changeset in webkit [165538] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[GTK] "Tools/jhbuild/jhbuild-wrapper --gtk" build fails even after running Tools/gtk/install-dependencies due to missing proper libxml2 python bindings
https://bugs.webkit.org/show_bug.cgi?id=130092

Patch by Andres Gomez <Andres Gomez> on 2014-03-13
Reviewed by Csaba Osztrogonác.

Added "python-dev" as dependency for deb based distros. It is
already present for rpm based distros. This dependency will allow
libxml2 to generate its python bindings, needed by gtk-doc.

  • gtk/install-dependencies:
9:32 AM Changeset in webkit [165537] by Csaba Osztrogonác
  • 9 edits in trunk/Source/WebCore

The scrolledContentOffset method should handle the hasOverflowClip check
https://bugs.webkit.org/show_bug.cgi?id=130028

Patch by Radu Stavila <stavila@adobe.com> on 2014-03-13
Reviewed by Antti Koivisto.

Before this patch, every call to RenderBox::scrolledContentOffset was guarded by the
hasOverflowClip check, because the scrolledContentOffset method would ASSERT(hasOverflowClip()).
This was simplified by moving the hasOverflowClip check inside the scrolledContentOffset method
and returning (0, 0) for elements that do not clip the overflow.

No new tests needed, just a refactor.

  • editing/VisibleUnits.cpp:

(WebCore::absoluteLineDirectionPointToLocalPointInBlock):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::offsetForContents):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scrolledContentOffset):
(WebCore::RenderBox::offsetFromContainer):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::offsetFromContainer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::offsetFromContainer):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::hitInnerTextElement):

9:30 AM Changeset in webkit [165536] by Csaba Osztrogonác
  • 3 edits
    6 adds in trunk/LayoutTests

[GStreamer] WebKit gets stalled when trying to play a stream
https://bugs.webkit.org/show_bug.cgi?id=125926

Patch by Andres Gomez <Andres Gomez> on 2014-03-13
Reviewed by Eric Carlson.

Added new test for checking the playback on Icecast/Shoutcast
streamed media.

  • http/tests/media/media-play-stream-chunked-icy-expected.txt: Added.
  • http/tests/media/media-play-stream-chunked-icy.html: Added.
  • http/tests/media/resources/create-id3-db.php: Added.
  • http/tests/media/resources/serve-video.php: Added support for

chunked streams and Icecast/Shoutcast headers.

  • http/tests/resources/dir-helpers.php: Added.
  • http/tests/resources/portabilityLayer.php: Added a couple of new

fallback functions when they are not available in old PHP
versions.

  • media/content/metadata.db: Added.
  • media/content/silence.mp3: Added.
9:28 AM Changeset in webkit [165535] by Chris Fleizach
  • 7 edits in trunk

AX: accessibility data table heuristics fail on this jQuery table
https://bugs.webkit.org/show_bug.cgi?id=129369

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Updated accessibility/table-detection.html

If a table uses display style of table-row-group, the RenderTable gets disassociated from the HTMLTableElement.
We can find that element in a different way by asking for the parent of the first table section.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::activeDescendant):

This method was accessing an object's element unsafely and this table change exposed the issue.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::tableElement):
(WebCore::AccessibilityTable::isDataTable):

  • accessibility/AccessibilityTable.h:

LayoutTests:

  • accessibility/table-detection.html:
  • platform/mac/accessibility/table-detection-expected.txt:
8:41 AM Changeset in webkit [165534] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Ensure that layout milestones complete in all cases
https://bugs.webkit.org/show_bug.cgi?id=130101

Reviewed by Darin Adler.

Milestones fail to complete in some testing scenarios.

  • dom/Document.cpp:

(WebCore::Document::setParsing):

Check if we need to fire layout milestones if parsing finishes without pending layout.
Parsing status affects whether the document is considered non-empty and that affects
layout milestones.

Remove explicit layout scheduling here, layout timer will be active already if there
is a layout pending

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::firePaintRelatedMilestonesIfNeeded):

Renamed for consistency

(WebCore::FrameView::fireLayoutRelatedMilestonesIfNeeded):

Factor layout milestone firing into a function.

  • page/FrameView.h:
12:55 AM Changeset in webkit [165533] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

12:27 AM Changeset in webkit [165532] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.9

New Tag.

12:25 AM Changeset in webkit [165531] by matthew_hanson@apple.com
  • 15 edits in branches/safari-537.75-branch/Source

Merge r165331 and r165427.

12:23 AM Changeset in webkit [165530] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-537.75.9

Delete Tag.

Mar 12, 2014:

11:43 PM Changeset in webkit [165529] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

11:40 PM Changeset in webkit [165528] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.23

New tag.

10:59 PM Changeset in webkit [165527] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WTF

[EFL] Enable Parallel GC
https://bugs.webkit.org/show_bug.cgi?id=130177

Reviewed by Geoffrey Garen.

  • wtf/Platform.h: Turn on ENABLE_PARALLEL_GC for the EFL build.
10:54 PM Changeset in webkit [165526] by mrobinson@webkit.org
  • 2 edits in trunk

[CMake] Changes to the bindings generator Perl modules do not trigger regeneration of bindings
https://bugs.webkit.org/show_bug.cgi?id=130170

Reviewed by Daniel Bates.

  • Source/cmake/WebKitMacros.cmake: Add the Perl modules used in script generation to the dependency

list. We must check whether or not the specific one exists first, because the InjectedBundle uses a
fake "TestRunner" generator.

9:46 PM Changeset in webkit [165525] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit/efl

[EFL] Revise AcceleratedCompositingEfl implementation.
https://bugs.webkit.org/show_bug.cgi?id=130072

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-12
Reviewed by Gyuyoung Kim.

This patch revises the AcceleratedCompositingEfl class implementation
similar with gtk port.
And accelerated compositing will be enabled by default on WK1 efl.

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

(WebCore::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebCore::AcceleratedCompositingContext::initialize):
(WebCore::AcceleratedCompositingContext::syncLayers):
(WebCore::AcceleratedCompositingContext::resize):
(WebCore::AcceleratedCompositingContext::canComposite):
(WebCore::AcceleratedCompositingContext::flushAndRenderLayers):
(WebCore::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebCore::AcceleratedCompositingContext::compositeLayersToContext):
(WebCore::AcceleratedCompositingContext::attachRootGraphicsLayer):

  • WebCoreSupport/AcceleratedCompositingContextEfl.h:
  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):
(_ewk_view_accelerated_compositing_cb):
(_ewk_view_accelerated_compositing_context_create_if_needed):

9:30 PM Changeset in webkit [165524] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Subpixel rendering: LayoutTests/compositing/hidpi-simple-container-layer-on-device-pixel-expected.html fails on Mountain Lion WK2 debug
https://bugs.webkit.org/show_bug.cgi?id=130175

Unreviewed TestExpectations update on ML WK2 debug.

  • platform/mac-wk2/TestExpectations:
7:13 PM Changeset in webkit [165523] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.9

New Tag.

6:50 PM Changeset in webkit [165522] by fpizlo@apple.com
  • 9 edits
    2 adds in trunk/Source/JavaScriptCore
ASSERTION FAILED: node->op() == Phi
node->op() == SetArgument

https://bugs.webkit.org/show_bug.cgi?id=130069

Reviewed by Geoffrey Garen.

This was a great assertion, and it represents our strictest interpretation of the rules of
our intermediate representation. However, fixing DCE to actually preserve the relevant
property would be hard, and it wouldn't have an observable effect right now because nobody
actually uses the propery of CPS that this assertion is checking for.

In particular, we do always require, and rely on, the fact that non-captured variables
have variablesAtTail refer to the last interesting use of the variable: a SetLocal if the
block assigns to the variable, a GetLocal if it only reads from it, and a Flush,
PhantomLocal, or Phi otherwise. We do preserve this property successfully and DCE was not
broken in this regard. But, in the strictest sense, CPS also means that for captured
variables, variablesAtTail also continues to point to the last relevant use of the
variable. In particular, if there are multiple GetLocals, then it should point to the last
one. This is hard for DCE to preserve. Also, nobody relies on variablesAtTail for captured
variables, except to check the VariableAccessData; but in that case, we don't really need
the *last* relevant use of the variable - any node that mentions the same variable will do
just fine.

So, this change loosens the assertion and adds a detailed FIXME describing what we would
have to do if we wanted to preserve the more strict property.

This also makes changes to various debug printing paths so that validation doesn't crash
during graph dump. This also adds tests for the interesting cases of DCE failing to
preserve CPS in the strictest sense. This also attempts to win the record for longest test
name.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::hashAsStringIfPossible):
(JSC::CodeBlock::dumpAssumingJITType):

  • bytecode/CodeBlock.h:
  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::hashAsStringIfPossible):
(JSC::InlineCallFrame::dumpBriefFunctionInformation):

  • bytecode/CodeOrigin.h:
  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::run):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::cleanVariables):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::mergeStateAtTail):

  • runtime/FunctionExecutableDump.cpp:

(JSC::FunctionExecutableDump::dump):

  • tests/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js: Added.

(foo):

  • tests/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js: Added.

(foo):

5:41 PM Changeset in webkit [165521] by Brian Burg
  • 15 edits
    2 adds in trunk/Source

Web Replay: add infrastructure for memoizing nondeterministic DOM APIs
https://bugs.webkit.org/show_bug.cgi?id=129445

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

There was a bug in the replay inputs code generator that would include
headers for definitions of enum classes, even though they can be safely
forward-declared.

  • replay/scripts/CodeGeneratorReplayInputs.py:

(Generator.generate_includes): Only include for copy constructor if the
type is a heavy scalar (i.e., String, URL), not a normal scalar
(i.e., int, double, enum classes).

(Generator.generate_type_forward_declarations): Forward-declare scalars
that are enums or enum classes.

Source/WebCore:

Add two pieces of infrastructure to support memoization of selected DOM APIs.

The first piece is MemoizedDOMResult, a templated replay input class that knows
how to serialize a DOM API's return value, ctype, and exception code.

The second piece is the addition of a new IDL attribute called Nondeterministic.
When placed on a DOM function or attribute, the code generator will emit code
to save the DOM API's return value or use a memoized return value instead,
depending on the current replay state. This new emitted code path is behind
a feature flag.

No new tests, as no new inputs are addressed by this change. Per-DOM API replay
regression tests will be added when those APIs are marked as nondeterministic.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorJS.pm: Add support of the Nondeterministic attribute.

(GenerateImplementation): Handle cases for attributes and getters with exceptions.
(GenerateImplementationFunctionCall): Handle function calls with and without exceptions.
(GetNativeTypeForMemoization): Added. Converts DOMString to WTF::String.

  • bindings/scripts/IDLAttributes.txt: Add new Nondeterministic attribute.
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):

  • replay/AllReplayInputs.h:
  • replay/MemoizedDOMResult.cpp: Added.

(WebCore::MemoizedDOMResultBase::type):
(WebCore::MemoizedDOMResultBase::createFromEncodedResult):
(InputTraits<MemoizedDOMResultBase>::type):
(InputTraits<MemoizedDOMResultBase>::encode):
(InputTraits<MemoizedDOMResultBase>::decode):

  • replay/MemoizedDOMResult.h: Added. Every specialization of MemoizedDOMResult<T>

stores a binding name, ctype, result value of type T, and optional exception code.
The ctype-specific code uses the CTypeTraits struct to abstract over enum names and
compiler types. The actual encode/decode methods just use methods from EncodingTraits<T>.

(WebCore::MemoizedDOMResultBase::MemoizedDOMResultBase):
(WebCore::MemoizedDOMResultBase::~MemoizedDOMResultBase):
(WebCore::MemoizedDOMResultBase::attribute):
(WebCore::MemoizedDOMResultBase::ctype):
(WebCore::MemoizedDOMResultBase::exceptionCode):
(WebCore::CTypeTraits::decode):
(WebCore::MemoizedDOMResultBase::convertTo):
(JSC::InputTraits<MemoizedDOMResultBase>::queue):

  • replay/ReplayInputTypes.cpp: See below.

(WebCore::ReplayInputTypes::ReplayInputTypes):

  • replay/ReplayInputTypes.h: See below.
  • replay/SerializationMethods.cpp: We need to special-case the encoding

and decoding of MemoizedDOMResult inputs because the input is not part of
the generated per-framework replay inputs enum.
(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
(JSC::EncodingTraits<NondeterministicInputBase>::decodeValue):

  • replay/WebInputs.json: Add the EncodedCType enum as an external enum type,

so that we can use a generated EncodingTraits specialization to encode the enum.

5:38 PM Changeset in webkit [165520] by jaepark@webkit.org
  • 3 edits in trunk/Source/WebCore

Make HTMLCanvasElement::is3D private
https://bugs.webkit.org/show_bug.cgi?id=130117

Reviewed by Anders Carlsson.

HTMLCanvasElement::is3D is not used anywhere except HTMLCanvasElement.
So, make HTMLCanvasElement::is3D a private method. Also, make more use
of is3D method.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::getImageData):

  • html/HTMLCanvasElement.h:
5:26 PM Changeset in webkit [165519] by Lucas Forschler
  • 1 edit
    1 copy in branches/safari-537.75-branch/LayoutTests

Merge js-test.js from 163962.

5:26 PM Changeset in webkit [165518] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: [iOS 6] uncaught exception attempting to use CSSAgent.getNamedFlowCollection
https://bugs.webkit.org/show_bug.cgi?id=130167

Reviewed by Timothy Hatcher.

Feature check the protocol method before using it. It is
fine to do nothing if the feature is not supported.

  • UserInterface/Controllers/DOMTreeManager.js:
5:26 PM Changeset in webkit [165517] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Feature check for accessibility support before using it (DOMAgent.getAccessibilityPropertiesForNode)
https://bugs.webkit.org/show_bug.cgi?id=130037

Reviewed by Timothy Hatcher.

Feature detect if accessibility information is supported before
creating or attempting to update the accessibility section.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._accessibilitySupported):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):

5:26 PM Changeset in webkit [165516] by Joseph Pecoraro
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Fix multiple console.assert stripping issues
https://bugs.webkit.org/show_bug.cgi?id=130166

Reviewed by Timothy Hatcher.

There were a couple console.assert stripping issues in production.
One line required a semicolon so was avoiding getting stripped.
One resulted in a logic change, when stripping the only statement
of a control flow block. Add a warning for such cases.

  • Scripts/remove-console-asserts.pl:

Add warning for a console.assert being the only statement in a control flow block
without braces. When it is stripped it may change the flow of the function.

  • Scripts/remove-console-asserts-dryrun.rb: Added.

Add a script to quickly test running remove console asserts on our files, to
help catch errors not in a production build and in the original non-combined
files, so you can more easily fix issues.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype._updateContentFlowFromPayload):
Convert the for loop into a single console.assert statement.

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.removeChild):
Add missing semicolon.

5:14 PM Changeset in webkit [165515] by mark.lam@apple.com
  • 2 edits in branches/safari-537.75-branch/LayoutTests

Fix layout test expected result.
<rdar://problem/16306749>

Patch by Mark Lam <mark.lam@apple.com> on 2014-03-12
Reviewed by Lucas Forschler.

  • fast/dom/MutationObserver/parser-mutations-expected.txt:
5:05 PM Changeset in webkit [165514] by dino@apple.com
  • 9 edits in trunk/Source

[WebGL] WebKit1 + WebKit2 iOS clients should check load policy
https://bugs.webkit.org/show_bug.cgi?id=130162

Reviewed by Simon Fraser.

Source/WebKit/mac:

Implement the webGLPolicyForURL methods, calling into WebKitSystemInterface.

  • Configurations/WebKit.xcconfig: Add MobileAsset to iOS config.
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit2:

Implement webGLPolicyForURL() methods for iOS.

  • Configurations/WebContent-iOS.entitlements: Add the MobileAsset asset type.
  • Configurations/WebKit2.xcconfig: Add MobileAsset to iOS link list.
  • WebProcess/WebPage/WebPage.cpp: Exclude iOS.
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::webGLPolicyForURL): Call into WKSI.
(WebKit::WebPage::resolveWebGLPolicyForURL):

5:05 PM Changeset in webkit [165513] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

[WebGL] WebKit1 + WebKit2 iOS clients should check load policy
https://bugs.webkit.org/show_bug.cgi?id=130162

Add iOS implementations of WebGL load policy queries.

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
4:55 PM Changeset in webkit [165512] by Lucas Forschler
  • 5 edits in tags/Safari-538.22.1/Source

Versioning.

4:52 PM Changeset in webkit [165511] by Lucas Forschler
  • 1 copy in tags/Safari-538.22.1

New Tag.

4:37 PM Changeset in webkit [165510] by Joseph Pecoraro
  • 6 edits in trunk/Source/WebCore

Web Inspector: OS X View Indication
https://bugs.webkit.org/show_bug.cgi?id=130119

Reviewed by Timothy Hatcher.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::setIndicating):
OS X will handles this in the InspectorOverlay. iOS does not use the
overlay, so it handles this in the client (already implemented).

  • inspector/InspectorOverlay.h:

Remove unused m_size, and add a boolean for the indicating state.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::shouldShowOverlay):
Helper for determining if we should show the overlay or not.

(WebCore::InspectorOverlay::setIndicating):
Set the state and trigger an overlay update.

(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::drawGutter):
(WebCore::InspectorOverlay::evaluateInOverlay):
Simplification of existing methods.

  • inspector/InspectorOverlayPage.css:

(.indicate):
Give the page a blue tint, matching the node highlight color.

  • inspector/InspectorOverlayPage.js:

(showPageIndication):
(hidePageIndication):
Add / remove a body style class.

(drawNodeHighlight):
Remove unused parameters.

4:37 PM Changeset in webkit [165509] by Joseph Pecoraro
  • 12 edits in trunk/Source

Web Inspector: Disable REMOTE_INSPECTOR in earlier OS X releases
https://bugs.webkit.org/show_bug.cgi?id=130118

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::indicate):
(WebInspectorClient::hideIndication):
Properly guard REMOTE_INSPECTOR only calls.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:
4:37 PM Changeset in webkit [165508] by Joseph Pecoraro
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: Hang in Remote Inspection triggering breakpoint from console
https://bugs.webkit.org/show_bug.cgi?id=130032

Reviewed by Timothy Hatcher.

  • inspector/EventLoop.h:
  • inspector/EventLoop.cpp:

(Inspector::EventLoop::remoteInspectorRunLoopMode):
(Inspector::EventLoop::cycle):
Expose the run loop mode name so it can be used if needed by others.

  • inspector/remote/RemoteInspectorDebuggableConnection.h:
  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorBlock::RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::~RemoteInspectorBlock):
(Inspector::RemoteInspectorBlock::operator=):
(Inspector::RemoteInspectorBlock::operator()):
(Inspector::RemoteInspectorQueueTask):
Instead of a dispatch_queue, have our own static Vector of debugger tasks.

(Inspector::RemoteInspectorHandleRunSource):
(Inspector::RemoteInspectorInitializeQueue):
Initialize the static queue and run loop source. When the run loop source
fires, it will exhaust the queue of debugger messages.

(Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):
(Inspector::RemoteInspectorDebuggableConnection::~RemoteInspectorDebuggableConnection):
When we get a debuggable connection add a run loop source for inspector commands.

(Inspector::RemoteInspectorDebuggableConnection::dispatchAsyncOnDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
Enqueue blocks on our Vector instead of our dispatch_queue.

4:36 PM Changeset in webkit [165507] by Lucas Forschler
  • 1 edit in branches/safari-537.75-branch/LayoutTests/fast/forms/range/range-type-change-onchange-2.html

Update path to fix layouttest.

4:23 PM Changeset in webkit [165506] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Crash when trying to select inside a video element with longpress..
https://bugs.webkit.org/show_bug.cgi?id=130095
<rdar://problem/16294534>

Reviewed by Benjamin Poulain.

We only need to set the assisted node for nodes that will receive an
input peripheral (keyboard, picker, popover, etc.).

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::elementDidFocus):

4:12 PM Changeset in webkit [165505] by matthew_hanson@apple.com
  • 15 edits in tags/Safari-537.75.8/Source

Merge r165331 and r165427.

4:00 PM Changeset in webkit [165504] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Build fix for ENABLE(IMAGE_CONTROLS) after 165479

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):
Don't try to use the AppKit methods that are only available on 64-bit.

  • Misc/WebSharingServicePickerController.h:
  • Misc/WebSharingServicePickerController.mm:

Don't use new-runtime features in code that has to build 32-bit.

3:58 PM Changeset in webkit [165503] by andersca@apple.com
  • 3 edits
    5 adds in trunk/Source/WebKit

<rdar://problem/16307346> Add new WebKitLegacy.framework.

Reviewed by Dan Bernstein.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Add new files.

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig:

Add xcconfig file for the new framework.

  • WebKitLegacy/Info.plist:

Add Info.plist for WebKitLegacy.framework.

  • WebKitLegacy/MigrateHeadersToLegacy.make:

Add makefile that copies headers from WebKit to WebKitLegacy and rewrites includes from WebKit/ to WebKitLegacy/

  • WebKitLegacy/WebKitLegacy.cpp:

Add an empty file so we'll have something to link.

3:45 PM Changeset in webkit [165502] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit/ios

Incorrect reference counting of Range in WebFrame.
https://bugs.webkit.org/show_bug.cgi?id=130160
<rdar://problem/16282535>

Reviewed by Anders Carlsson.

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame selectionRects]):

3:16 PM Changeset in webkit [165501] by Brian Burg
  • 10 edits
    15 copies
    6 adds
    2 deletes in trunk

Web Inspector: convert model tests and inspector-test.js to use Test.html
https://bugs.webkit.org/show_bug.cgi?id=129217

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Miscellaneous changes to make the inspector model test harness work well in
scenarios where the test page must navigate or reload. Also improve reporting
test failures so that messages will be dumped correctly even when an exception
is thrown in the Inspector or the test times out.

  • UserInterface/Base/Test.js:

(WebInspector.loaded): register new managers and observers.
(InspectorTest.log): Stringify the argument if it's an object.
(InspectorTest.assert): Stringify the argument if it's an object. Don't log
unless the condition is false.

(InspectorTest.expectThat): Added. Like assert(), but always logs.
(InspectorTest.debugLog): Escape and unescape the string properly.
(InspectorTest.completeTest): Fix teardown so messages are not lost.
(InspectorTest.evaluateInPage): Accept a callback argument.
(InspectorTest.addResult): Don't rebuild results when adding a new result.
(InspectorTest._resendResults.decrementPendingResponseCount): Added.

(InspectorTest._resendResults): Added. Track the number of pending
responses and invoke a given callback when everything has been resent.

(InspectorTest.testPageDidLoad): Renamed from pageLoaded.
(InspectorTest.reloadPage): Added.
(InspectorTest.reportUncaughtException): Prevent the default handler from running.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.dispatch): Report uncaught exceptions when dispatching
messages on the inspector page without blowing away the entire call stack.

  • UserInterface/Test.html: Add files used by Network and Timeline domains.

LayoutTests:

  • TestExpectations: Add flaky content-flow and failing shape-outside inspector tests.
  • inspector-protocol/model/probe-manager-add-remove-actions.html: Removed.
  • inspector-protocol/resources/shape-info-helper.js: Removed.
  • inspector/debugger/debugger-test.js: Added.

(InspectorTestProxy.registerInitializer.):
(InspectorTestProxy.registerInitializer):

  • inspector/debugger/probe-manager-add-remove-actions-expected.txt: Renamed from LayoutTests/inspector-protocol/model/probe-manager-add-remove-actions-expected.txt.
  • inspector/debugger/probe-manager-add-remove-actions.html: Added.
  • inspector/debugger/resources/breakpoint.js: Added. Copied from LayoutTests/inspector-protocol/.

(breakpointActions):

  • inspector/dom/content-flow-content-nodes-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-nodes-expected.txt.
  • inspector/dom/content-flow-content-nodes.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-nodes.html.
  • inspector/dom/content-flow-content-removal-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-removal-expected.txt.
  • inspector/dom/content-flow-content-removal.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-content-removal.html.
  • inspector/dom/content-flow-list-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-flow-list-expected.txt.
  • inspector/dom/content-flow-list.html: Renamed from LayoutTests/inspector-protocol/model/content-flow-list.html.
  • inspector/dom/content-node-region-info-expected.txt: Renamed from LayoutTests/inspector-protocol/model/content-node-region-info-expected.txt.
  • inspector/dom/content-node-region-info.html: Renamed from LayoutTests/inspector-protocol/model/content-node-region-info.html.
  • inspector/dom/highlight-shape-outside-expected.txt: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-expected.txt.
  • inspector/dom/highlight-shape-outside-margin-expected.txt: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-margin-expected.txt.
  • inspector/dom/highlight-shape-outside-margin.html: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside-margin.html.
  • inspector/dom/highlight-shape-outside.html: Renamed from LayoutTests/inspector-protocol/model/highlight-shape-outside.html.
  • inspector/dom/shapes-test.js: Added. Refactor existing shape helpers to use model objects

where it makes sense, and use easy-to-read assertions.
(InspectorTestProxy.registerInitializer.):

  • inspector/inspector-test.js: Handle reloaded test pages better. Use better names.

(InspectorTestProxy.registerInitializer): Renamed from register.
(runTest.runInitializationMethodsInFrontend):
(runTest.runTestMethodInFrontend):
(runTest):
(InspectorTestProxy.completeTest):

  • inspector/page/main-frame-resource-expected.txt: Renamed from LayoutTests/inspector-protocol/model/main-frame-resource-expected.txt.
  • inspector/page/main-frame-resource.html: Renamed from LayoutTests/inspector-protocol/model/main-frame-resource.html.
  • inspector/page/resources/dummy-page.html: Added.
  • platform/efl/TestExpectations: Move failing inspector tests to generic expectations.
  • platform/gtk/TestExpectations: Move failing inspector tests to generic expectations.
  • platform/win/TestExpectations: Move failing inspector tests to generic expectations.
2:49 PM Changeset in webkit [165500] by Lucas Forschler
  • 2 edits in branches/safari-537.75-branch/LayoutTests

Merge 163479.

2:40 PM Changeset in webkit [165499] by Lucas Forschler
  • 4 edits in branches/safari-537.75-branch/LayoutTests

Merge 163408.

2:08 PM Changeset in webkit [165498] by Brent Fulgham
  • 5 edits
    3 adds in trunk

[WebVTT] HTML5 "space" cahracters around "-->" are not required
https://bugs.webkit.org/show_bug.cgi?id=117421

Reviewed by Eric Carlson.

Merged from Blink (patch by caitpotter88@gmail.com):
https://chromium.googlesource.com/chromium/blink/+/4ef469cd627a13696b88e285ae28a60e38f9c286
http://crbug.com/242158

Source/WebCore:

New tests: media/track/track-webvtt-tc029-timings-whitespace.html

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::collectTimingsAndSettings): Make whitespace around cue-timings optional.

LayoutTests:

  • media/track/captions-webvtt/tc008-timings-no-hour-errors.vtt:
  • media/track/captions-webvtt/tc009-timings-hour-error.vtt:
  • media/track/captions-webvtt/tc029-timings-whitespace.vtt: Added.
  • media/track/track-webvtt-tc029-timings-whitespace.html: Added.
  • media/track/track-webvtt-tc029-timings-whitespace-expected.txt: Added.
2:02 PM Changeset in webkit [165497] by jer.noble@apple.com
  • 36 edits in trunk

Unreviewed, rolling out r165482.
https://bugs.webkit.org/show_bug.cgi?id=130157

Broke the windows build; "error C2466: cannot allocate an
array of constant size 0" (Requested by jernoble on #webkit).

Reverted changeset:

"Reduce memory use for static property maps"
https://bugs.webkit.org/show_bug.cgi?id=129986
http://trac.webkit.org/changeset/165482

Source/JavaScriptCore:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

Source/WebCore:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

LayoutTests:

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

1:42 PM Changeset in webkit [165496] by Brian Burg
  • 2 edits in trunk/Source/WebCore

Web Inspector receives spurious setScriptEnabled instrumentation calls
https://bugs.webkit.org/show_bug.cgi?id=130147

Reviewed by Timothy Hatcher.

When page settings change, inspector instrumentation should only fire if
the scriptsEnabled setting actually changes from the previous setting. But
due to an unnecessary PLATFORM(IOS) guard, the inspector was being notified
on every settings update even if nothing changed.

This manifested as lots of Page.scriptsEnabled messages being sent to
the inspector frontend as the Inspector window is dragged.

  • page/Settings.cpp:

(WebCore::Settings::setScriptEnabled): Remove PLATFORM(IOS) from early return.

12:27 PM Changeset in webkit [165495] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r165489 - [GTK] Runtime error when page is closed while print operation is in progress
https://bugs.webkit.org/show_bug.cgi?id=129869

Reviewed by Anders Carlsson.

Sometimes when the page is closed right after printing the web
process aborts with the runtime message "pure virtual method
called terminate called without an active exception".
This happens because the page is closed when the pages have been
printed, but print job is still ongoing sending the data to the
printer. When print job finishes, we try to notify the UI process
sending the print callback message using WebPage::send(), but the
web page object has been destroyed. The virtual method it complains
about is probably MessageSender::messageSenderDestinationID() used
by send(). Since our print operation is always asynchronous, we
need a way to notify the web page when the print operation has
actually finished to clean it up, but also notify the print
operation when the page has been closed to not try to notify the
UI process in that case.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close): Call disconnectFromPage to notify the
print operation in case there's an ongoing print job.
(WebKit::WebPage::endPrinting): Do not cleanup the print operation
here, since the print opertation might not have finished yet.
(WebKit::WebPage::didFinishPrintOperation): Send
PrintFinishedCallback message to the Ui process and cleanup the
print operation.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::disconnectFromPage): Set m_webPage
to nullptr.
(WebKit::WebPrintOperationGtk::printDone): Call
didFinishPrintOperation() is the web page hasn't been closed.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
12:25 PM Changeset in webkit [165494] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ cmake build after r165488.

  • MiniBrowser/gtk/CMakeLists.txt: Add CMAKE_BINARY_DIR to include dirs.
11:55 AM Changeset in webkit [165493] by Simon Fraser
  • 28 edits in trunk

Have the scrolling tree track the viewport size, not the viewport rect
https://bugs.webkit.org/show_bug.cgi?id=130141

Reviewed by Beth Dakin.

Source/WebCore:

The scrolling tree only needs to know the size of the viewport, not its
origin, since the origin is deduced from the updated scroll position.

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setViewportSize):
(WebCore::ScrollingStateScrollingNode::dumpProperties):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::viewportSize):

  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):

Source/WebKit2:

The scrolling tree only needs to know the size of the viewport, not its
origin, since the origin is deduced from the updated scroll position.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):

LayoutTests:

The scrolling tree only needs to know the size of the viewport, not its
origin, since the origin is deduced from the updated scroll position.

Tests dump a size, not a rect with a 0,0 origin now.

  • platform/mac-wk2/tiled-drawing/clamp-out-of-bounds-scrolls-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/fixed-position-out-of-view-negative-zindex-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/four-bars-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/four-bars-with-header-and-footer-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/negative-scroll-offset-in-view-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/nested-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling-tree-after-scroll-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling-tree-slow-scrolling-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/negative-scroll-offset-expected.txt:
  • platform/mac-wk2/tiled-drawing/sticky/sticky-horizontal-expected.txt:
11:55 AM Changeset in webkit [165492] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r165481.
https://bugs.webkit.org/show_bug.cgi?id=130151

That didn't go well. (Requested by kling on #webkit).

Reverted changeset:

https://bugs.webkit.org/show_bug.cgi?id=130140
http://trac.webkit.org/changeset/165481

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

11:52 AM Changeset in webkit [165491] by Simon Fraser
  • 4 edits in trunk/Source

Spelling is hard
https://bugs.webkit.org/show_bug.cgi?id=130146

Source/WebCore:

Reviewed by Beth Dakin.

Fix spelling (constained -> constrained).

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):

Source/WebKit/ios:

Reviewed by Beth Dakin.

Fix spelling (constained -> constrained).

  • WebCoreSupport/WebFixedPositionContent.mm:

(-[WebFixedPositionContent scrollOrZoomChanged:]):
(-[WebFixedPositionContent overflowScrollPositionForLayer:changedTo:]):
(-[WebFixedPositionContent setViewportConstrainedLayers:WTF::WebCore::stickyContainerMap:WTF::]):
(-[WebFixedPositionContent hasFixedOrStickyPositionLayers]):
(-[WebFixedPositionContent minimumOffsetFromFixedPositionLayersToAnchorEdge:ofRect:inLayer:]):

11:29 AM Changeset in webkit [165490] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove HandleSet::m_nextToFinalize
https://bugs.webkit.org/show_bug.cgi?id=130109

Reviewed by Mark Lam.

This is a remnant of when HandleSet contained things that needed to be finalized.

  • heap/HandleSet.cpp:

(JSC::HandleSet::HandleSet):
(JSC::HandleSet::writeBarrier):

  • heap/HandleSet.h:

(JSC::HandleSet::allocate):
(JSC::HandleSet::deallocate):

11:26 AM Changeset in webkit [165489] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

[GTK] Runtime error when page is closed while print operation is in progress
https://bugs.webkit.org/show_bug.cgi?id=129869

Reviewed by Anders Carlsson.

Sometimes when the page is closed right after printing the web
process aborts with the runtime message "pure virtual method
called terminate called without an active exception".
This happens because the page is closed when the pages have been
printed, but print job is still ongoing sending the data to the
printer. When print job finishes, we try to notify the UI process
sending the print callback message using WebPage::send(), but the
web page object has been destroyed. The virtual method it complains
about is probably MessageSender::messageSenderDestinationID() used
by send(). Since our print operation is always asynchronous, we
need a way to notify the web page when the print operation has
actually finished to clean it up, but also notify the print
operation when the page has been closed to not try to notify the
UI process in that case.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::close): Call disconnectFromPage to notify the
print operation in case there's an ongoing print job.
(WebKit::WebPage::endPrinting): Do not cleanup the print operation
here, since the print opertation might not have finished yet.
(WebKit::WebPage::didFinishPrintOperation): Send
PrintFinishedCallback message to the Ui process and cleanup the
print operation.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::disconnectFromPage): Set m_webPage
to nullptr.
(WebKit::WebPrintOperationGtk::printDone): Call
didFinishPrintOperation() is the web page hasn't been closed.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
11:24 AM Changeset in webkit [165488] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK][CMAKE] Remove compile warnings about GTK+ deprecated API
https://bugs.webkit.org/show_bug.cgi?id=130014

Reviewed by Martin Robinson.

.:

Set GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_6.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmakeconfig.h.cmake:

Tools:

Include cmake or autotools config header.

  • MiniBrowser/gtk/BrowserDownloadsBar.c:
  • MiniBrowser/gtk/BrowserSearchBar.c:
  • MiniBrowser/gtk/BrowserWindow.c:
  • MiniBrowser/gtk/main.c:
11:18 AM Changeset in webkit [165487] by Brian Burg
  • 12 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: DataGrid should have an API to set sort column and direction
https://bugs.webkit.org/show_bug.cgi?id=128783

Reviewed by Timothy Hatcher.

Previously there was no way for DataGrid clients to programmatically change
the sort order or sort column identifier after the data grid was constructed.
This patch modernizes DataGrid sorting by exposing getters and setters for
sortOrder and sortColumnIdentifier, which trigger the SortChanged event if
the sort settings have changed.

This patch also modernizes sorting functionality in DataGrid clients, and in
a few clients it moves column identifiers from numbers to string identifiers.

  • UserInterface/Main.html:
  • UserInterface/Views/ApplicationCacheFrameContentView.js: Use string column identifiers

instead of numbers. Don't repopulate the entire table when the sort changes, instead
call DataGrid.sortNodes from the sorting callback. Explicitly set the sort order.

(WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
(WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid):
(WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
(WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):

  • UserInterface/Views/CookieStorageContentView.js: Use string column identifiers instead

of numbers. Don't sort the cookies themselves, just the data grid nodes representing
each cookie. Use DataGrid.sortNodes as the sorting implementation, and provide a
comparator. Don't rebuild the entire table when the sort changes.

(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype._sortDataGrid):
(WebInspector.CookieStorageContentView.prototype._sortDataGrid.numberCompare):
(WebInspector.CookieStorageContentView.prototype._sortDataGrid.expiresCompare):

  • UserInterface/Views/DataGrid.js: Add the DataGrid.SortOrder enum. Put sortOrder

and sortColumnIdentifier behind getters and setters. Pull some hardcoded style
class names into constants. Remove the "sort" field on column config objects; instead
should use the DataGrid.sortColumnIdentifier setter after construction.

(WebInspector.DataGrid): Keep sort settings in private variables.
(WebInspector.DataGrid.prototype.get sortOrder): Reimplemented.
(WebInspector.DataGrid.prototype.get sortColumnIdentifier): Reimplemented.
(WebInspector.DataGrid.prototype.moveToNextCell):
(WebInspector.DataGrid.prototype._editingCommitted):
(WebInspector.DataGrid.prototype.sortNodes): Use requestAnimationFrame to
coalesce multiple sort requests within the same draw frame.
(WebInspector.DataGrid.prototype._sortNodesCallback):
(WebInspector.DataGrid.prototype._headerCellClicked): Use the new sort API.

  • UserInterface/Views/LayerTreeDataGrid.js: Removed. Unnecessary for performance

now that sort requests are coalesced by requestAnimationFrame.

  • UserInterface/Views/LayerTreeSidebarPanel.js: Use DataGrid instead of LayerTreeDataGrid.

Hook up the _sortDataGrid method to the built-in DataGrid.sortNodes API.

(WebInspector.LayerTreeSidebarPanel.prototype._buildDataGridSection):
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):

  • UserInterface/Views/LayoutTimelineView.js:
  • UserInterface/Views/LegacyJavaScriptProfileView.js:

(WebInspector.LegacyJavaScriptProfileView.prototype._sortProfile):

  • UserInterface/Views/NetworkTimelineView.js:
  • UserInterface/Views/ResourceDetailsSidebarPanel.js: Use the DataGrid.sortNodes API.

(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid):
(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):

  • UserInterface/Views/ScriptTimelineView.js:
  • UserInterface/Views/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid.prototype._sortComparator):

11:17 AM Changeset in webkit [165486] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Layout Test fast/workers/worker-gc.html is failing
https://bugs.webkit.org/show_bug.cgi?id=130135

Reviewed by Geoffrey Garen.

When removing MarkedBlocks, we always expect them to be in the MarkedAllocator's
main list of blocks, i.e. not in the retired list. When shutting down the VM this
wasn't always the case which was causing ASSERTs to fire. We should rearrange things
so that allocators are notified with lastChanceToFinalize. This will give them
the chance to move their retired blocks back into the main list before removing them all.

  • heap/MarkedAllocator.cpp:

(JSC::LastChanceToFinalize::operator()):
(JSC::MarkedAllocator::lastChanceToFinalize):

  • heap/MarkedAllocator.h:
  • heap/MarkedSpace.cpp:

(JSC::LastChanceToFinalize::operator()):
(JSC::MarkedSpace::lastChanceToFinalize):

11:16 AM Changeset in webkit [165485] by mrobinson@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r165471.
https://bugs.webkit.org/show_bug.cgi?id=130139

Didn't really fix the issue and broke another bot (Requested
by mrobinson on #webkit).

Reverted changeset:

"[CMake] Newer versions of CMake cannot find older versions of
Freetype"
https://bugs.webkit.org/show_bug.cgi?id=130107
http://trac.webkit.org/changeset/165471

Patch by Commit Queue <commit-queue@webkit.org> on 2014-03-12

11:15 AM Changeset in webkit [165484] by Simon Fraser
  • 15 edits in trunk

Change scrollOffsetForFixedPosition() to do LayoutUnit math
https://bugs.webkit.org/show_bug.cgi?id=129981

Reviewed by Beth Dakin.

Source/WebCore:

FrameView::scrollOffsetForFixedPosition() returned an IntSize,
but to allow subpixel scroll offsets, we need it to return a LayoutSize.

Fix code that calls this to use more LayoutUnit math.

This progresses fixed background images on zoom, which cam now be subpixel
positioned.

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedVisibleContentRect):
(WebCore::FrameView::scrollOffsetForFixedPosition):

  • page/FrameView.h:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::constrainScrollPositionForOverhang):

  • platform/ScrollableArea.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollLayerPosition):

LayoutTests:

FrameView::scrollOffsetForFixedPosition() returned an IntSize,
but to allow subpixel scroll offsets, we need it to return a LayoutSize.

Update test results for the progression.

  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.png:
  • platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt:
11:10 AM Changeset in webkit [165483] by Brent Fulgham
  • 6 edits in branches/safari-537.75-branch

Source/WebInspectorUI: [Win] Unreviewed build fix.

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj: Inspector files

must be copied to proper configuration build directory.

Source/WebKit: [Win] Unreviewed build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct

64-bit debug symbol export definition.

Tools: [Win] Unreviewed build correction

  • win/AssembleBuildLogs/AssembleBuildLogs.vcxproj: The assemble

build logs script must look in the right configuration directory.

11:08 AM Changeset in webkit [165482] by barraclough@apple.com
  • 36 edits in trunk

Reduce memory use for static property maps
https://bugs.webkit.org/show_bug.cgi?id=129986

Reviewed by Andreas Kling.

Static property tables are currently duplicated on first use from read-only memory into dirty memory
in every process, and since the entries are large (48 bytes) and the tables can be unusually sparse
(we use a custom hash table without a rehash) a lot of memory may be wasted.

Source/JavaScriptCore:

First, reduce the size of the hashtable. Instead of storing values in the table the hashtable maps
from string hashes to indicies into a densely packed array of values. Compute the index table at
compile time as a part of the derived sources step, such that this may be read-only data.

Second, don't copy all data from the HashTableValue array into a HashEntry objects. Instead refer
directly to the HashTableValue entries. The only data that needs to be allocated at runtime are the
keys, which are Identifiers.

  • create_hash_table:
    • emit the hash table index into the derived source (we were calculating this already to ensure chaining does not get too deep).
  • parser/Lexer.cpp:

(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<T>::parseIdentifierSlowCase):

  • HashEntry -> HashTableValue.
  • parser/Lexer.h:

(JSC::Keywords::getKeyword):

  • HashEntry -> HashTableValue.
  • runtime/ClassInfo.h:
    • removed HashEntry.
  • runtime/JSObject.cpp:

(JSC::getClassPropertyNames):

  • use HashTable::ConstIterator.

(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::findPropertyHashEntry):

  • HashEntry -> HashTableValue.

(JSC::JSObject::reifyStaticFunctionsForDelete):

  • changed HashTable::ConstIterator interface.
  • runtime/JSObject.h:
    • HashEntry -> HashTableValue.
  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):

  • table -> keys, keys array is now densely packed.

(JSC::HashTable::deleteTable):

  • table -> keys.

(JSC::setUpStaticFunctionSlot):

  • HashEntry -> HashTableValue.
  • runtime/Lookup.h:

(JSC::HashTableValue::builtinGenerator):
(JSC::HashTableValue::function):
(JSC::HashTableValue::functionLength):
(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
(JSC::HashTableValue::lexerValue):

  • added accessor methods from HashEntry.

(JSC::HashTable::copy):

  • fields changed.

(JSC::HashTable::initializeIfNeeded):

  • table -> keys.

(JSC::HashTable::entry):

  • HashEntry -> HashTableValue.

(JSC::HashTable::ConstIterator::ConstIterator):

  • iterate packed value array, so no need to skipInvalidKeys().

(JSC::HashTable::ConstIterator::value):
(JSC::HashTable::ConstIterator::key):
(JSC::HashTable::ConstIterator::operator->):

  • accessors now get HashTableValue/StringImpl* separately.

(JSC::HashTable::ConstIterator::operator++):

  • iterate packed value array, so no need to skipInvalidKeys().

(JSC::HashTable::end):

  • end is now size of dense not sparse array.

(JSC::getStaticPropertySlot):
(JSC::getStaticFunctionSlot):
(JSC::getStaticValueSlot):
(JSC::putEntry):
(JSC::lookupPut):

  • HashEntry -> HashTableValue.

Source/WebCore:

  • bindings/js/JSDOMBinding.h:

(WebCore::getStaticValueSlotEntryWithoutCaching):
(WebCore::getStaticValueSlotEntryWithoutCaching<JSDOMWrapper>):

  • HashEntry -> HashTableValue.
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • HashEntry -> HashTableValue.
  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::getOwnPropertySlotDelegate):

  • HashEntry -> HashTableValue.
  • bindings/js/JSLocationCustom.cpp:

(WebCore::JSLocation::getOwnPropertySlotDelegate):
(WebCore::JSLocation::putDelegate):

  • HashEntry -> HashTableValue.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):

  • HashEntry -> HashTableValue.

(GenerateHashTable):

  • emit the hash table index into the derived source (we were calculating this already to ensure chaining does not get too deep).

LayoutTests:

  • inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt:
  • inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt:
  • inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt:
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
    • Properties now iterated in correct order, not permuted by hash table.
11:01 AM WebKitGTK/KeepingTheTreeGreen edited by mrobinson@webkit.org
(diff)
11:00 AM Changeset in webkit [165481] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

BundlePageDiagnosticLoggingClient leaks every string passing through it.
<https://webkit.org/b/130140>
<rdar://problem/15416838>

Use toAPI() instead of toCopiedAPI() so the receiving end doesn't need
to worry about adopting the WKStringRef.

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:

(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):

10:55 AM Changeset in webkit [165480] by fpizlo@apple.com
  • 5 edits in trunk

It should be possible to build WebKit with FTL on iOS
https://bugs.webkit.org/show_bug.cgi?id=130116

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Tools:

  • Scripts/build-webkit:
  • Scripts/copy-webkitlibraries-to-product-directory:
10:51 AM Changeset in webkit [165479] by timothy_horton@apple.com
  • 30 edits
    4 adds in trunk/Source

Hook up image controls for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=130062
<rdar://problem/15964809>

Reviewed by Brady Eidson.

WebCore/

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPrimitiveValueMappings.h:

Fix some header ordering.

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
Handle mapping ImageControlsButtonPart to the -webkit-appearance value CSSValueImageControlsButton.

  • css/CSSValueKeywords.in:
  • platform/ThemeTypes.h:

Add a -webkit-appearance value image-controls-button, and an associated control part.

  • dom/Node.h:

(WebCore::Node::isImageControlsButtonElement): Added.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp: Added.

(WebCore::RenderImageControlsButton::RenderImageControlsButton):
(WebCore::RenderImageControlsButton::~RenderImageControlsButton):
(WebCore::RenderImageControlsButton::updateLogicalWidth):
(WebCore::RenderImageControlsButton::computeLogicalHeight):
(WebCore::ImageControlsButtonElementMac::ImageControlsButtonElementMac):
(WebCore::ImageControlsButtonElementMac::~ImageControlsButtonElementMac):
(WebCore::ImageControlsButtonElementMac::maybeCreate):
(WebCore::ImageControlsButtonElementMac::defaultEventHandler):
(WebCore::ImageControlsButtonElementMac::createElementRenderer):

  • html/shadow/mac/ImageControlsButtonElementMac.h: Added.

Add a new element/renderer pair for the single button that comprises image controls on Mac.
RenderImageControlsButton gets its size from the theme's imageControlsButtonSize.

  • html/shadow/mac/ImageControlsRootElementMac.cpp:

(WebCore::RenderImageControls::RenderImageControls):
(WebCore::RenderImageControls::~RenderImageControls):
(WebCore::RenderImageControls::updateLogicalWidth):
(WebCore::RenderImageControls::computeLogicalHeight):
(WebCore::ImageControlsRootElement::maybeCreate):
(WebCore::ImageControlsRootElementMac::ImageControlsRootElementMac):
(WebCore::ImageControlsRootElementMac::~ImageControlsRootElementMac):
(WebCore::ImageControlsRootElementMac::createElementRenderer):

  • html/shadow/mac/ImageControlsRootElementMac.h:

Add a custom renderer for the root image controls element on Mac, which inherits
its size from the <img> that it is shadowing.
Add a ImageControlsButtonElementMac as the sole child of the root element.

  • html/shadow/mac/imageControlsMac.css:

(.x-webkit-image-controls):
(.x-webkit-image-controls-button):
(.x-webkit-image-controls:hover .x-webkit-image-controls-button):
The button should become opaque whenever *any* part of the image is hovered,
not just the button itself. Also, use the new image-controls-button -webkit-appearance
value to get the appropriate appearance from the theme.

  • page/ContextMenuContext.cpp:

(WebCore::ContextMenuContext::ContextMenuContext):

  • page/ContextMenuContext.h:

(WebCore::ContextMenuContext::setControlledImage):
(WebCore::ContextMenuContext::controlledImage):
Store an image on the ContextMenuContext instead of just whether we hit an image.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::handleContextMenuEvent):
(WebCore::ContextMenuController::showContextMenu):
(WebCore::imageFromImageElementNode):
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):
Keep track of the hit image in the ContextMenuContext.

(WebCore::ContextMenuController::replaceControlledImage):
Replace the hit image with a new one.

  • page/ContextMenuController.h:
  • rendering/RenderReplaced.h:

Fix a double-space typo.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
Handle ImageControlsButtonPart in RenderTheme's switches.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::imageControlsButtonSize):
(WebCore::RenderTheme::paintImageControlsButton):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):
Paint the image controls button.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::WebContentReader::readImage):
(WebCore::Editor::WebContentReader::readURL):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::WebContentReader::readImage):

  • platform/URL.cpp:

(WebCore::URL::fakeURLWithRelativePart):

  • platform/URL.h:

Factor out code to create a "fake" URL (with a UUID "hostname" and the
webkit-fake-url protocol), and make use of it where we construct such URLs.

WebKit/

  • WebKit.xcodeproj/project.pbxproj:

Add WebSharingServicePickerController.

WebKit/mac/

  • Misc/WebSharingServicePickerController.h: Added.
  • Misc/WebSharingServicePickerController.mm: Added.

(-[WebSharingServicePickerController initWithImage:menuClient:]):
(-[WebSharingServicePickerController menu]):
(-[WebSharingServicePickerController sharingServicePicker:delegateForSharingService:]):
(-[WebSharingServicePickerController sharingServicePicker:didChooseSharingService:]):
(-[WebSharingServicePickerController sharingService:didShareItems:]):
(-[WebSharingServicePickerController sharingService:didFailToShareItems:error:]):
(-[WebSharingServicePickerController sharingService:sourceWindowForShareItems:sharingContentScope:]):
Add a NSSharingServiceDelegate and NSSharingServicePickerDelegate, which will also
provide a NSMenu instance for WebContextMenuClient to pop up when image controls are needed.
When data is returned from the service, it is re-inserted into the image via replaceControlledImage.

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::contextMenuForEvent):
Factor out code to decide which NSMenu to use, so that we can use early-returns to simplify it.
If we hit an image with image controls, use the WebSharingServicePickerController's menu.

(WebContextMenuClient::showContextMenu):
(WebContextMenuClient::clearSharingServicePickerController):

WebKit2/

  • Shared/ContextMenuContextData.cpp:

(WebKit::ContextMenuContextData::ContextMenuContextData):

10:44 AM Changeset in webkit [165478] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Crash when running media/fallback.html test in MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification()
https://bugs.webkit.org/show_bug.cgi?id=130136

Reviewed by Eric Carlson.

MediaPlayerPrivateAVFoundation is trying to lock its m_queueMutex from an async thread after
while being destroyed in the main thread. To resolve this race condition, redispatch from
the async thread to the main thread, and use a WeakPtr to determine whether the object has
been destroyed or not.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):

10:19 AM Changeset in webkit [165477] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r165356): [Mac] Multi-part key bindings don't work
https://bugs.webkit.org/show_bug.cgi?id=130100

Reviewed by Darin Adler.

Restore the previous behavior, where we only interpreted keydowns (including those
coming through performKeyEquivalent).

In the future, we might send all events to input methods, but not to key bindings.

  • UIProcess/API/mac/WKView.mm:

(-[WKView keyUp:]):
(-[WKView flagsChanged:]):

10:02 AM Changeset in webkit [165476] by Brent Fulgham
  • 7 edits
    20 deletes in trunk

[Win] Remove use of QTSDK
https://bugs.webkit.org/show_bug.cgi?id=130049

Reviewed by Darin Adler.

Source/WebCore:

Media testing already covers this functionality.

  • WebCore.vcxproj/WebCore.vcxproj: Remove QuickTime files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • platform/graphics/MediaPlayer.h: Remove QuickTime and Chromium

media references.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Removed.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Removed.
  • platform/graphics/win/QTCFDictionary.cpp: Removed.
  • platform/graphics/win/QTCFDictionary.h: Removed.
  • platform/graphics/win/QTDecompressionSession.cpp: Removed.
  • platform/graphics/win/QTDecompressionSession.h: Removed.
  • platform/graphics/win/QTMovie.cpp: Removed.
  • platform/graphics/win/QTMovie.h: Removed.
  • platform/graphics/win/QTMovieGWorld.cpp: Removed.
  • platform/graphics/win/QTMovieGWorld.h: Removed.
  • platform/graphics/win/QTMovieTask.cpp: Removed.
  • platform/graphics/win/QTMovieTask.h: Removed.
  • platform/graphics/win/QTMovieVisualContext.cpp: Removed.
  • platform/graphics/win/QTMovieVisualContext.h: Removed.
  • platform/graphics/win/QTMovieWinTimer.cpp: Removed.
  • platform/graphics/win/QTMovieWinTimer.h: Removed.
  • platform/graphics/win/QTPixelBuffer.cpp: Removed.
  • platform/graphics/win/QTPixelBuffer.h: Removed.
  • platform/graphics/win/QTTrack.cpp: Removed.
  • platform/graphics/win/QTTrack.h: Removed.
  • plugins/win/PluginDatabaseWin.cpp:

(WebCore::PluginDatabase::defaultPluginDirectories): Don't look
for the QuickTime plugin anymore.

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(initialize): Remove QuickTime code.

  • win/AssembleBuildLogs/AssembleLogs.cmd: Don't grab logs from

building QTMovieWin.

9:46 AM Changeset in webkit [165475] by fred.wang@free.fr
  • 3 edits in trunk/LayoutTests

[GTK] Update references for mo-stretch.html.
https://bugs.webkit.org/show_bug.cgi?id=129366.

Reviewed by Chris Fleizach.

The rendering of mo-stretch has changed after the recent improvements
to the <mo> element. This updates the reference for the GTK port.

  • platform/gtk/mathml/presentation/mo-stretch-expected.png:
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt:
9:28 AM Changeset in webkit [165474] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build after r165472

Fixes the following build failure:

WebCore/rendering/shapes/Shape.cpp:97:20: error: unused function 'ensureRadiiDoNotOverlap' [-Werror,-Wunused-function]
static inline void ensureRadiiDoNotOverlap(FloatRect& bounds, FloatSize& radii)


1 error generated.

  • rendering/shapes/Shape.cpp:

(ensureRadiiDoNotOverlap): Remove unused function.

8:48 AM Changeset in webkit [165473] by mrobinson@webkit.org
  • 4 edits in trunk

[GTK][CMAKE] Too verbose build output
https://bugs.webkit.org/show_bug.cgi?id=130076

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/OptionsGTK.cmake: Generate a script which does the actual build. This

works around an issue where cmake --build doesn't support ninja's pretty printing.

Tools:

Instead of building with cmake --build which isn't smart about pretty printing and
colors, we build with a script which calls the proper build command.

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject): For GTK+ call the script that we generate during
the CMake configuration pass.

8:41 AM Changeset in webkit [165472] by Bem Jones-Bey
  • 85 edits
    6 copies
    33 deletes in trunk

[CSS Shapes] Remove deprecated shapes
https://bugs.webkit.org/show_bug.cgi?id=125235

Reviewed by Dirk Schulze.

Source/WebCore:

Remove support for deprecated shape types and syntax. These have
already been removed from the CSS Shapes specification, so this aligns
the implementation with the specification.

The "new" tests below were simply moved from the old csswg directory,
as they were the only tests there that applied to the current syntax.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html

fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):

  • css/BasicShapeFunctions.h:
  • css/CSSBasicShapes.cpp:
  • css/CSSBasicShapes.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBasicShape):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):

  • rendering/shapes/ShapeInsideInfo.cpp:

(WebCore::ShapeInsideInfo::isEnabledFor):

  • rendering/style/BasicShapes.cpp:
  • rendering/style/BasicShapes.h:

LayoutTests:

Remove tests for deprecated shape syntax.

There are also a few shape-inside tests that have been removed because
they were very difficult to make work without the rectangle shape, and
the future of the current shape-inside implementation is questionable
at best.

  • animations/resources/animation-test-helpers.js:

(parseBasicShape):

  • compositing/contents-opaque/opaque-with-clip-path-expected.html:
  • compositing/contents-opaque/opaque-with-clip-path.html:
  • css3/masking/clip-path-animation-expected.txt:
  • css3/masking/clip-path-animation.html:
  • css3/masking/clip-path-rectangle-expected.txt: Removed.
  • css3/masking/clip-path-rectangle.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/subpixel-utils.js: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-ellipse-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-horizontal-rectangle-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-inset-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-005.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-006.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-008.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-005.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-006.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-007.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-008.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-padding-009.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-003.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-rounded-rectangle-004.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-shape-margin-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-square-border-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-000.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-001.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002-expected.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-vertical-rectangle-002.html: Removed.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log: Removed.
  • fast/masking/parsing-clip-path-shape-expected.txt:
  • fast/masking/parsing-clip-path-shape.html:
  • fast/regions/shape-inside/shape-inside-on-additional-regions.html:
  • fast/regions/shape-inside/shape-inside-on-first-region-block-content.html:
  • fast/regions/shape-inside/shape-inside-on-first-region-inline-content.html:
  • fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html:
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html: Removed.
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html: Removed.
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html:
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-bottom-positioned-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-expected.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-bottom-positioned-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html:
  • fast/regions/shape-inside/shape-inside-on-regions-inline-content.html:
  • fast/regions/shape-inside/shape-inside-on-regions.html:
  • fast/regions/shape-inside/shape-inside-on-second-region-block-content.html:
  • fast/regions/shape-inside/shape-inside-on-second-region-inline-content.html:
  • fast/regions/shape-inside/shape-inside-recursive-layout-expected.html:
  • fast/regions/shape-inside/shape-inside-recursive-layout.html:
  • fast/regions/shape-inside/shape-inside-with-region-borders.html:
  • fast/regions/shape-inside/shape-inside-with-region-padding.html:
  • fast/shapes/css-shapes-disabled-expected.txt:
  • fast/shapes/css-shapes-disabled.html:
  • fast/shapes/css-shapes-enabled-expected.txt:
  • fast/shapes/css-shapes-enabled.html:
  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-inside.html:
  • fast/shapes/parsing/parsing-shape-lengths-expected.txt:
  • fast/shapes/parsing/parsing-shape-lengths.html:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside.html:
  • fast/shapes/parsing/parsing-test-utils.js:
  • fast/shapes/resources/simple-rectangle.js:

(drawTextRectangle):

  • fast/shapes/shape-inside/shape-inside-animation-expected.txt:
  • fast/shapes/shape-inside/shape-inside-animation.html:
  • fast/shapes/shape-inside/shape-inside-bottom-edge-expected.html:
  • fast/shapes/shape-inside/shape-inside-bottom-edge.html:
  • fast/shapes/shape-inside/shape-inside-box-sizing.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-nested-expected.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-nested.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-shape.html:
  • fast/shapes/shape-inside/shape-inside-dynamic-text.html:
  • fast/shapes/shape-inside/shape-inside-empty-expected.html:
  • fast/shapes/shape-inside/shape-inside-empty.html:
  • fast/shapes/shape-inside/shape-inside-inline-elements-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-inline-elements.html: Removed.
  • fast/shapes/shape-inside/shape-inside-multiple-blocks-vertical.html:
  • fast/shapes/shape-inside/shape-inside-multiple-blocks.html:
  • fast/shapes/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html:
  • fast/shapes/shape-inside/shape-inside-outside-shape.html:
  • fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions-block-content.html:
  • fast/shapes/shape-inside/shape-inside-overflow-fixed-dimensions.html:
  • fast/shapes/shape-inside/shape-inside-overflow.html:
  • fast/shapes/shape-inside/shape-inside-percentage-auto.html:
  • fast/shapes/shape-inside/shape-inside-percentage.html:
  • fast/shapes/shape-inside/shape-inside-rectangle-padding-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rectangle-padding.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-001-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-001.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-002-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-002.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-003-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-003.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-004-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-004.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-001.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-002.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-fit-003.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-large-radius.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding-expected.html: Removed.
  • fast/shapes/shape-inside/shape-inside-rounded-rectangle-padding.html: Removed.
  • fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html:
  • fast/shapes/shape-inside/shape-inside-text.html:
  • fast/shapes/shape-inside/shape-inside-vertical-text.html:
  • fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
  • fast/shapes/shape-outside-floats/shape-outside-animation.html:
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html:
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html:
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash-expected.txt: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html: Removed.
  • fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-not-a-layer.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-outermost.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000-expected.html.
  • fast/shapes/shape-outside-floats/shape-outside-floats-polygon-000.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html.
  • fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html.
  • fast/shapes/shape-outside-floats/shape-outside-floats-polygon-001.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html.
  • fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002-expected.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html.
  • fast/shapes/shape-outside-floats/shape-outside-floats-polygon-002.html: Renamed from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html.
  • fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
  • svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg: Removed.
  • svg/clip-path/clip-path-shape-rounded-rect-1.svg: Removed.
  • svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg: Removed.
  • svg/clip-path/clip-path-shape-rounded-rect-2.svg: Removed.
8:41 AM Changeset in webkit [165471] by mrobinson@webkit.org
  • 2 edits in trunk/Tools

[CMake] Newer versions of CMake cannot find older versions of Freetype
https://bugs.webkit.org/show_bug.cgi?id=130107

Reviewed by Gustavo Noronha Silva.

  • gtk/jhbuildrc: Work around a bug in newer CMakes by giving the FREETYPE_DIR hint

to CMake during jhbuild initialization.

8:34 AM Changeset in webkit [165470] by Alan Bujtas
  • 8 edits
    1 move
    3 adds
    1 delete in trunk

Add hiDPI support for compositing content in DumpRenderTree/WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=129961

Reviewed by Simon Fraser.

Now scaled content can go through the window capturing mechanism too for compositing content.
AppleMagnifiedMode is redundant.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):
(runTest):

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:

(createBitmapContextFromWebView):

  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/cg/TestInvocationCG.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::didInitializeClients):
(WTR::PlatformWebView::changeWindowScaleIfNeeded):
(WTR::PlatformWebView::forceWindowFramesChanged):

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):

LayoutTests:

  • compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework-expected.html: Added.
  • compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework.html: Added.
  • svg/custom/hidpi-masking-clipping-expected.svg: Added.
  • svg/custom/hidpi-masking-clipping.svg: Renamed from LayoutTests/svg/custom/masking-clipping-hidpi.svg.
  • svg/custom/masking-clipping-hidpi-expected.svg: Removed.
7:42 AM Changeset in webkit [165469] by Anton Obzhirov
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
7:03 AM Changeset in webkit [165468] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r165467 - [GTK] [Stable] deadlock in gobject introspection
https://bugs.webkit.org/show_bug.cgi?id=125651

Reviewed by Sergio Villar Senin.

Source/WebCore:

Make the default SoupNetworkSession a destroyable object to ensure
the wrapped SoupSession is finalized when the process finishes. This
is important because soup cancels any ongoing connection when finalized.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::defaultSession): Do not use NeverDestroyed.

  • platform/network/soup/SoupNetworkSession.h:

Source/WebKit/gtk:

  • webkit/webkitglobals.cpp:

(webkitExit): Dot not try to unref the default network session, it
will be finalized automatically when the process finishes.

7:01 AM Changeset in webkit [165467] by Carlos Garcia Campos
  • 5 edits in trunk/Source

[GTK] [Stable] deadlock in gobject introspection
https://bugs.webkit.org/show_bug.cgi?id=125651

Reviewed by Sergio Villar Senin.

Source/WebCore:

Make the default SoupNetworkSession a destroyable object to ensure
the wrapped SoupSession is finalized when the process finishes. This
is important because soup cancels any ongoing connection when finalized.

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::defaultSession): Do not use NeverDestroyed.

  • platform/network/soup/SoupNetworkSession.h:

Source/WebKit/gtk:

  • webkit/webkitglobals.cpp:

(webkitExit): Dot not try to unref the default network session, it
will be finalized automatically when the process finishes.

4:11 AM Changeset in webkit [165466] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Update result after https://trac.webkit.org/r165465

  • svg/custom/use-multiple-on-nested-disallowed-font-expected.txt:
3:18 AM Changeset in webkit [165465] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Don't use NodeRenderingTraversal for pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=130091

Reviewed by Andreas Kling.

Make traversing during style resolve more comprehensible by handling before/after pseudo elements explicitly.

With this patch NodeRenderingTraversal is only needed for InsertionPoints (which are nothing but an implementation
detail of the <details> element at this point).

  • dom/Element.cpp:

(WebCore::shouldUseNodeRenderingTraversalSlowPath):

PseudoElements don't need the slow path anymore.

(WebCore::Element::setBeforePseudoElement):
(WebCore::Element::setAfterPseudoElement):
(WebCore::Element::clearBeforePseudoElement):
(WebCore::Element::clearAfterPseudoElement):

  • dom/NodeRenderingTraversal.cpp:

(WebCore::NodeRenderingTraversal::traverseParent):
(WebCore::NodeRenderingTraversal::firstChildSlow):
(WebCore::NodeRenderingTraversal::nextSiblingSlow):
(WebCore::NodeRenderingTraversal::previousSiblingSlow):

  • dom/NodeRenderingTraversal.h:

(WebCore::NodeRenderingTraversal::firstChild):

  • style/StyleResolveTree.cpp:

(WebCore::Style::nextSiblingRenderer):

Add ::before/::after pseudo element handling here.

(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::elementInsideRegionNeedsRenderer):
(WebCore::Style::createRendererIfNeeded):
(WebCore::Style::previousSiblingRenderer):

Add ::before pseudo element handling here (text node can't be ::after).

(WebCore::Style::reattachTextRenderersForWhitespaceOnlySiblingsAfterAttachIfNeeded):
(WebCore::Style::textRendererIsNeeded):
(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::attachTextRenderer):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):

Handle InsertionPoints in one place.

(WebCore::Style::attachShadowRoot):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveLocal):
(WebCore::Style::updateTextStyle):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::updateBeforeOrAfterPseudoElement):
(WebCore::Style::resolveTree):

Pass the rendering parent around to various functions instead of determining it repeatedly by calling
NodeRenderingTraversal::parent. It is always the same for all direct children being resolved and generally just
the parent element.

2:49 AM Changeset in webkit [165464] by fred.wang@free.fr
  • 5 edits
    2 adds in trunk

Invisible Operators should not add space.
https://bugs.webkit.org/show_bug.cgi?id=115786

Reviewed by Chris Fleizach.

Source/WebCore:

This change adds special handling for invisible operator to ensure they really behave as empty box. We now ignore their glyph widths and do not paint them.

Test: mathml/presentation/mo-invisible.html

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::paint):

  • rendering/mathml/RenderMathMLOperator.h:

LayoutTests:

Add a reftest based on the examples of the MathML specification to verify that invisible operators do not add space.

  • mathml/presentation/mo-invisible-expected.html: Added.
  • mathml/presentation/mo-invisible.html: Added.
2:44 AM Changeset in webkit [165463] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Unreviewed build fix on the EFL port when used lower version of ATK

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::y): Fixed typo.

1:16 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
1:14 AM Changeset in webkit [165462] by Carlos Garcia Campos
  • 13 edits
    1 move
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r165418 - [GTK] Add support for Geoclue2
https://bugs.webkit.org/show_bug.cgi?id=120185

Reviewed by Carlos Garcia Campos.

.:

Add support for Geoclue2 using autotools.

  • Source/autotools/FindDependencies.m4: Add support for handling

both Geoclue 1.0 and 2.0.

  • Source/autotools/PrintBuildConfiguration.m4: Print the version

of geoclue that is being used.

  • Source/autotools/SetupAutoconfHeader.m4: Define GEOCLUE_API_VERSION_2.
  • Source/autotools/SetupAutomake.m4: Likewise, for AM_CONDITIONAL.
  • Source/autotools/Versions.m4: Added minimum required version for Geoclue2.

Add support for Geoclue2 using CMake.

  • Source/cmake/FindGeoClue2.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Add support for handling Geoclue 1.0 and 2.0.
  • Source/cmakeconfig.h.cmake: Define WTF_USE_GEOCLUE2.

Source/WebCore:

Implement a new geolocation provider based on Geoclue2, which will only
be used if a good enough version of Geoclue2 is found at configure time.

  • GNUmakefile.am: Generate C-API for accessing the D-Bus API

provided by Geoclue2, and place it in DerivedSources.

  • GNUmakefile.list.am: Add GeolocationProviderGeoclue2.cpp, and

include the generated proxy files when using Geoclue2.

  • PlatformGTK.cmake: Likewise, for CMake based builds.
  • platform/geoclue/GeolocationProviderGeoclue.h: Modified to

accomodate the needs both for Geoclue and Geoclue2 providers.

  • platform/geoclue/GeolocationProviderGeoclue1.cpp: Renamed from Source/WebCore/platform/geoclue/GeolocationProviderGeoclue.cpp.

(GeolocationProviderGeoclue::getPositionCallback):
(GeolocationProviderGeoclue::positionChangedCallback):
(GeolocationProviderGeoclue::createGeocluePositionCallback):
(GeolocationProviderGeoclue::geoclueClientSetRequirementsCallback):
(GeolocationProviderGeoclue::createGeoclueClientCallback):
(GeolocationProviderGeoclue::GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::startUpdating):
(GeolocationProviderGeoclue::stopUpdating):
(GeolocationProviderGeoclue::setEnableHighAccuracy):
(GeolocationProviderGeoclue::initializeGeoclueClient):
(GeolocationProviderGeoclue::initializeGeocluePosition):
(GeolocationProviderGeoclue::updateClientRequirements):
(GeolocationProviderGeoclue::positionChanged):
(GeolocationProviderGeoclue::errorOccurred):

  • platform/geoclue/GeolocationProviderGeoclue2.cpp: Added.

(GeolocationProviderGeoclue::GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::startUpdating):
(GeolocationProviderGeoclue::stopUpdating):
(GeolocationProviderGeoclue::setEnableHighAccuracy):
(GeolocationProviderGeoclue::createGeoclueManagerProxyCallback):
(GeolocationProviderGeoclue::getGeoclueClientCallback):
(GeolocationProviderGeoclue::createGeoclueClientProxyCallback):
(GeolocationProviderGeoclue::startClientCallback):
(GeolocationProviderGeoclue::locationUpdatedCallback):
(GeolocationProviderGeoclue::createLocationProxyCallback):
(GeolocationProviderGeoclue::startGeoclueClient):
(GeolocationProviderGeoclue::updateLocation):
(GeolocationProviderGeoclue::errorOccurred):
(GeolocationProviderGeoclue::updateClientRequirements):

Mar 11, 2014:

11:46 PM Changeset in webkit [165461] by fred.wang@free.fr
  • 13 edits
    14 adds in trunk

Implement MathML spacing around operators .
https://bugs.webkit.org/show_bug.cgi?id=115787

Reviewed by Chris Fleizach.

Source/WebCore:

This makes the <mo> operators use the lspace/rspace properties to
determine their spacing. The spacing is now consistent with the one
of <mfenced> and as a consequence bug 118843 is fixed. This also ensures
that the rendering of <mo> elements is updated when the form or
attributes are changed.

Tests: mathml/presentation/dir-mo.html

mathml/presentation/mo-form-dynamic.html
mathml/presentation/mo-form-minus-plus.html
mathml/presentation/mo-form.html
mathml/presentation/mo-lspace-rspace-dynamic.html
mathml/presentation/mo-lspace-rspace.html
mathml/presentation/mo-whitespaces.html

  • css/mathml.css:
  • mathml/MathMLInlineContainerElement.cpp:

(WebCore::MathMLInlineContainerElement::childrenChanged):

  • mathml/MathMLInlineContainerElement.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::updateOperatorProperties):
(WebCore::RenderMathMLOperator::updateStyle):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::updateOperatorProperties):

  • rendering/mathml/RenderMathMLRow.h:
  • rendering/mathml/RenderMathMLToken.h:

LayoutTests:

Add many new tests to verify the form/lspace/rspace properties of the
<mo> element and that the whitespace of the text content is collapsed.
Update fenced-mi now that bug 118843 is fixed.

  • mathml/presentation/dir-mo-expected.html: Added.
  • mathml/presentation/dir-mo.html: Added.
  • mathml/presentation/fenced-expected.html:
  • mathml/presentation/fenced-mi-expected.html:
  • mathml/presentation/mo-form-dynamic-expected.html: Added.
  • mathml/presentation/mo-form-dynamic.html: Added.
  • mathml/presentation/mo-form-expected.html: Added.
  • mathml/presentation/mo-form-minus-plus-expected.html: Added.
  • mathml/presentation/mo-form-minus-plus.html: Added.
  • mathml/presentation/mo-form.html: Added.
  • mathml/presentation/mo-lspace-rspace-dynamic-expected.html: Added.
  • mathml/presentation/mo-lspace-rspace-dynamic.html: Added.
  • mathml/presentation/mo-lspace-rspace-expected.html: Added.
  • mathml/presentation/mo-lspace-rspace.html: Added.
  • mathml/presentation/mo-whitespaces-expected.html: Added.
  • mathml/presentation/mo-whitespaces.html: Added.
  • platform/mac/mathml/presentation/mo-stretch-expected.txt: update reference.
11:11 PM BadContent edited by Csaba Osztrogonác
add one more spammer (diff)
8:47 PM Changeset in webkit [165460] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Some images are blank in the rebaseline server UI
https://bugs.webkit.org/show_bug.cgi?id=130104

Reviewed by Tim Horton.

Let the server check for images in the 'retries' directory
if it can't find an image otherwise.

  • Scripts/webkitpy/tool/servers/rebaselineserver.py:

(RebaselineHTTPRequestHandler.test_result):

8:42 PM Changeset in webkit [165459] by fpizlo@apple.com
  • 10 edits
    6 adds in trunk/Source/JavaScriptCore

GetById list caching should use something object-oriented rather than PolymorphicAccessStructureList
https://bugs.webkit.org/show_bug.cgi?id=129778

Reviewed by Geoffrey Garen.

Also deduplicate the GetById getter call caching. Also add some small tests for
get stubs.

This change reduces the amount of code involved in GetById access caching and it
creates data structures that can serve as an elegant scaffold for introducing other
kinds of caches or improving current caching styles. It will definitely make getter
performance improvements easier to implement.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdCacheStatus):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/PolymorphicGetByIdList.cpp: Added.

(JSC::GetByIdAccess::GetByIdAccess):
(JSC::GetByIdAccess::~GetByIdAccess):
(JSC::GetByIdAccess::fromStructureStubInfo):
(JSC::GetByIdAccess::visitWeak):
(JSC::PolymorphicGetByIdList::PolymorphicGetByIdList):
(JSC::PolymorphicGetByIdList::from):
(JSC::PolymorphicGetByIdList::~PolymorphicGetByIdList):
(JSC::PolymorphicGetByIdList::currentSlowPathTarget):
(JSC::PolymorphicGetByIdList::addAccess):
(JSC::PolymorphicGetByIdList::isFull):
(JSC::PolymorphicGetByIdList::isAlmostFull):
(JSC::PolymorphicGetByIdList::didSelfPatching):
(JSC::PolymorphicGetByIdList::visitWeak):

  • bytecode/PolymorphicGetByIdList.h: Added.

(JSC::GetByIdAccess::GetByIdAccess):
(JSC::GetByIdAccess::isSet):
(JSC::GetByIdAccess::operator!):
(JSC::GetByIdAccess::type):
(JSC::GetByIdAccess::structure):
(JSC::GetByIdAccess::chain):
(JSC::GetByIdAccess::chainCount):
(JSC::GetByIdAccess::stubRoutine):
(JSC::GetByIdAccess::doesCalls):
(JSC::PolymorphicGetByIdList::isEmpty):
(JSC::PolymorphicGetByIdList::size):
(JSC::PolymorphicGetByIdList::at):
(JSC::PolymorphicGetByIdList::operator[]):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::visitWeakReferences):

  • bytecode/StructureStubInfo.h:

(JSC::isGetByIdAccess):
(JSC::StructureStubInfo::initGetByIdList):

  • jit/Repatch.cpp:

(JSC::generateGetByIdStub):
(JSC::tryCacheGetByID):
(JSC::patchJumpToGetByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryBuildPutByIdList):

  • tests/stress/getter.js: Added.

(foo):
(.o):

  • tests/stress/polymorphic-prototype-accesses.js: Added.

(Foo):
(Bar):
(foo):

  • tests/stress/prototype-getter.js: Added.

(Foo):
(foo):

  • tests/stress/simple-prototype-accesses.js: Added.

(Foo):
(foo):

6:45 PM Changeset in webkit [165458] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

MarkedBlocks that are "full enough" shouldn't be swept after EdenCollections
https://bugs.webkit.org/show_bug.cgi?id=129920

Reviewed by Geoffrey Garen.

This patch introduces the notion of "retiring" MarkedBlocks. We retire a MarkedBlock
when the amount of free space in a MarkedBlock drops below a certain threshold.
Retired blocks are not considered for sweeping.

This is profitable because it reduces churn during sweeping. To build a free list,
we have to scan through each cell in a block. After a collection, all objects that
are live in the block will remain live until the next FullCollection, at which time
we un-retire all previously retired blocks. Thus, a small number of objects in a block
that die during each EdenCollection could cause us to do a disproportiante amount of
sweeping for how much free memory we get back.

This patch looks like a consistent ~2% progression on boyer and is neutral everywhere else.

  • heap/Heap.h:

(JSC::Heap::didRetireBlockWithFreeListSize):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::tryAllocateHelper):
(JSC::MarkedAllocator::removeBlock):
(JSC::MarkedAllocator::reset):

  • heap/MarkedAllocator.h:

(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::forEachBlock):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::sweepHelper):
(JSC::MarkedBlock::clearMarksWithCollectionType):
(JSC::MarkedBlock::didRetireBlock):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::willRemoveBlock):
(JSC::MarkedBlock::isLive):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::clearNewlyAllocated):
(JSC::MarkedSpace::clearMarks):

  • runtime/Options.h:
5:19 PM Changeset in webkit [165457] by gns@gnome.org
  • 2 edits in trunk/Tools

[GTK][CMake] --update-gtk has no effect
https://bugs.webkit.org/show_bug.cgi?id=130088

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-03-11
Reviewed by Philippe Normand.

  • Scripts/webkitdirs.pm:

(buildCMakeProjectOrExit): call update-webkitgtk-libs if --update-gtk has been passed
as an argument.

5:19 PM Changeset in webkit [165456] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Get the incomplete WebVTT Regions code to build again.
https://bugs.webkit.org/show_bug.cgi?id=130094

Reviewed by Eric Carlson.

The feature is not being turned on here, so there are no new tests.

  • DerivedSources.make: Add missing IDL files for Regions.
  • WebCore.xcodeproj/project.pbxproj: Add Regions-related files.
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newRegionsParsed): Add stub implementation.

  • html/track/LoadableTextTrack.cpp: Add missing include file.
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::TextTrack): Correct ordering of construction
to avoid compiler warning.

5:12 PM Changeset in webkit [165455] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Add "System Font" to the list of whitelisted DRT fonts
https://bugs.webkit.org/show_bug.cgi?id=130046

Reviewed by Darin Adler.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(allowedFontFamilySet):

  • WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
4:00 PM Changeset in webkit [165454] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

_pageExtendedBackgroundColor should not be exposed on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130093

Reviewed by Simon Fraser.

Added comment indicating that _pageExtendedBackgroundColor is deprecated.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

_pageExtendedBackgroundColor now returns nil, but the conversation functionality
is maintained with a convenience method pageExtendedBackgroundColor.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView pageExtendedBackgroundColor]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _pageExtendedBackgroundColor]):

Added comment indicating that _pageExtendedBackgroundColor is deprecated.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Return nil.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _pageExtendedBackgroundColor]):

2:51 PM Changeset in webkit [165453] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Win] Unreviewed gardening.

  • wtf/MathExtras.h: VS2013 provides an lrint implementation. No need to implement

our own.

8:09 AM Changeset in webkit [165452] by mrobinson@webkit.org
  • 4 edits in trunk/Tools

[GTK] The jhbuild environment should set CMAKE_PREFIX_PATH and CMAKE_LIBRARY_PATH
https://bugs.webkit.org/show_bug.cgi?id=130064

Reviewed by Philippe Normand.

  • efl/jhbuildrc: Remove duplicated code.
  • gtk/jhbuildrc: Remove duplicated code.
  • jhbuild/jhbuildrc_common.py:

(init): Move duplicated code from jhbuildrc's and extend setting CMake environment variables to
GTK+. We always set the CMAKE_LIBRARY_PATH, which should be harmless for EFL 32-bit systems.
and is apparently necessary for GTK+.

7:56 AM Changeset in webkit [165451] by llango.u-szeged@partner.samsung.com
  • 3 edits in trunk/Tools

check-webkit-style failed to complain about missing braces
https://bugs.webkit.org/show_bug.cgi?id=34189

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_braces):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_braces):

6:38 AM Changeset in webkit [165450] by llango.u-szeged@partner.samsung.com
  • 3 edits in trunk/Tools

Remove Qt cruft from style checker.
https://bugs.webkit.org/show_bug.cgi?id=130085

Reviewed by Csaba Osztrogonác.

There is no 'foreach' keyword in c++. That was a Qt feature
added in: http://trac.webkit.org/changeset/46113
Qt was removed from WebKit, so we should remove the checks
of this keyword from check-webkit-style scripts.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_spacing_for_function_call):
(check_spacing):
(check_braces):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_mismatching_spaces_in_parens):
(CppStyleTest.test_spacing_for_fncall):
(WebKitStyleTest.test_braces):

6:29 AM Changeset in webkit [165449] by Manuel Rego Casasnovas
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Grid Layout] Add layout test for anonymous grid items
https://bugs.webkit.org/show_bug.cgi?id=130083

Reviewed by Sergio Villar Senin.

Add a layout test to prevent regressions supporting anonymous grid items.

For example, anonymous grid items do not have an associated Node, so trying to access it will make this test
crash.

  • fast/css-grid-layout/anonymous-grid-items-expected.html: Added.
  • fast/css-grid-layout/anonymous-grid-items.html: Added.
4:27 AM Changeset in webkit [165448] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] update-webkitgtk-libs needs itstool
https://bugs.webkit.org/show_bug.cgi?id=130082

After http://trac.webkit.org/changeset/165110 WebKitGTK+ uses gtk-doc 1.20.
itstool is a dependency of building gtk-doc from version 1.19, so it should
be added to Tools/gtk/install-dependencies script, too.

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-03-11
Reviewed by Philippe Normand.

  • gtk/install-dependencies:
4:23 AM Changeset in webkit [165447] by Csaba Osztrogonác
  • 12 edits in trunk/Tools

webkitbot rollout ChangeLogs should be nicer
https://bugs.webkit.org/show_bug.cgi?id=122654

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-03-11
Reviewed by Csaba Osztrogonác.

Added bug urls and descriptions of rolled out patches to the rollout changelog
if they are present in the original changelog. Additionally removed the list of
changed files and functions.

  • Scripts/webkitpy/common/checkout/changelog.py:

(ChangeLog.update_with_unreviewed_message): Cut off the list of modified files.

  • Scripts/webkitpy/common/checkout/checkout.py:

(Checkout._changelog_data_for_revision): Store bug description.

  • Scripts/webkitpy/common/checkout/checkout_mock.py:
  • Scripts/webkitpy/common/checkout/checkout_unittest.py:

(CheckoutTest.test_commit_info_for_revision):

  • Scripts/webkitpy/common/checkout/commitinfo.py:

(CommitInfo.bug_description): Added.
(CommitInfo.to_json):

  • Scripts/webkitpy/common/checkout/commitinfo_unittest.py:

(CommitInfoTest.test_commit_info_creation):

  • Scripts/webkitpy/tool/commands/download.py:

(AbstractRolloutPrepCommand._prepare_state): Store bug ids and descriptions of rolled
out patches for creating rollout changelog.
(CreateRollout._prepare_state): Remove obsolete comments and code, the bug id that
caused the regression is stored in statebug_blocked? now.

  • Scripts/webkitpy/tool/commands/download_unittest.py:

(test_prepare_rollout):
(test_create_rollout_multiple_revision):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:

(PrepareChangeLogForRevert._message_for_revert): Add bug urls and descriptions of
rolled out patches to the changelog.
(PrepareChangeLogForRevert.run):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:

(UpdateChangeLogsForRevertTest):
(test_message_for_revert):

  • Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:

(ReopenBugAfterRollout.run):

4:19 AM Changeset in webkit [165446] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused method from BatteryController
https://bugs.webkit.org/show_bug.cgi?id=130063

Reviewed by Darin Adler.

  • Modules/battery/BatteryController.h: Removed client() which is not used.
4:10 AM Changeset in webkit [165445] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r165371 - [GTK] The web process can finish while a print operation is still ongoing
https://bugs.webkit.org/show_bug.cgi?id=129871

Reviewed by Martin Robinson.

This can happen when the last page is closed while the print job
is sending data to the printer.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Disable web

process termination when the print job is sending data to the
printer and enable it again when job finishes.

4:07 AM Changeset in webkit [165444] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r165259 - [GTK] Use final and override in WebPrintOperationGtk
https://bugs.webkit.org/show_bug.cgi?id=129868

Reviewed by Sergio Villar Senin.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
4:03 AM Changeset in webkit [165443] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r165257 - [GTK] Timeout sources not correctly removed
https://bugs.webkit.org/show_bug.cgi?id=129877

Reviewed by Philippe Normand.

Set source ID variables to 0 after removing the sources from the
context. Also give a name to the sources.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::disconnect):
(WebCore::TrackPrivateBaseGStreamer::activeChanged):
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):

3:56 AM Changeset in webkit [165442] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Merge r163085 - [GTK] Only disable -ftree-dce optimization when compiling with GCC
https://bugs.webkit.org/show_bug.cgi?id=127911

Reviewed by Carlos Garcia Campos.

.:

  • Source/autotools/SetupAutomake.m4: Define the COMPILER_GCC and COMPILER_CLANG Automake macros.

These can be used when compiler-specific flags have to be used. The latter one is not actually needed
at the moment, but is added for the sake of completeness.

Source/JavaScriptCore:

  • GNUmakefile.am: Only disable the -ftree-dce optimization when using the GCC compiler.

Some Clang versions/configurations don't support the flag.

3:51 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
3:45 AM Changeset in webkit [165441] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r163083 - [GTK] Disable optimizations for JSC that turned out malignant after jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=127909

Reviewed by Carlos Garcia Campos.

  • GNUmakefile.am: Disable the -fomit-frame-pointer optimization to achieve proper register usage

in operationCallEval. Disable the -ftree-dce optimization since it is causing additional failures
when using GCC 4.8, possibly due to a bug in the compiler itself.

3:38 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:35 AM Changeset in webkit [165440] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Streamline PropertyTable for lookup-only access.
<https://webkit.org/b/130060>

The PropertyTable lookup algorithm was written to support both read
and write access. This wasn't actually needed in most places.

This change adds a PropertyTable::get() that just returns the value
type (instead of an insertion iterator.) It also adds an early return
for empty tables.

Finally, up the minimum table capacity from 8 to 16. It was lowered
to 8 in order to save memory, but that was before PropertyTables were
GC allocated. Nowadays we don't have nearly as many tables, since all
the unpinned transitions die off.

Reviewed by Darin Adler.

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::get):

  • runtime/Structure.cpp:

(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):

  • runtime/StructureInlines.h:

(JSC::Structure::get):

2:14 AM Changeset in webkit [165439] by k.czech@samsung.com
  • 3 edits in trunk/Tools

[ATK] Adjust WKTR/DRT to use new API from ATK 2.11.90
https://bugs.webkit.org/show_bug.cgi?id=130021

Reviewed by Mario Sanchez Prada.

Replace deprecated functions to use new API from ATK 2.11.90.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::x):
(AccessibilityUIElement::y):
(AccessibilityUIElement::width):
(AccessibilityUIElement::height):
(AccessibilityUIElement::clickPointX):
(AccessibilityUIElement::clickPointY):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):

2:04 AM Changeset in webkit [165438] by k.czech@samsung.com
  • 7 edits
    2 moves in trunk

[ATK] Expose aria-posinset and aria-setsize through object attributes
https://bugs.webkit.org/show_bug.cgi?id=130011

Reviewed by Chris Fleizach.

Source/WebCore:

Based on http://www.w3.org/TR/2014/PR-wai-aria-implementation-20140206/
aria-poinset and aria-setsize can be exposed as object attributes.

Test: accessibility/aria-setsize-posinset.html

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

Tools:

Added missing implementation of numberAttributeValue both to WKTR and DRT.

  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::numberAttributeValue):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::numberAttributeValue):

LayoutTests:

Test could be shared with other platforms.

  • accessibility/aria-setsize-posinset-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-setsize-posinset-expected.txt.
  • accessibility/aria-setsize-posinset.html: Renamed from LayoutTests/platform/mac/accessibility/aria-setsize-posinset.html.
  • platform/win/TestExpectations: Skipping on win port.
1:13 AM Changeset in webkit [165437] by jaepark@webkit.org
  • 4 edits in trunk/Source

[GTK][CMake] Add HARFBUZZ_INCLUDE_DIRS to WebKit and WebKit2
https://bugs.webkit.org/show_bug.cgi?id=130070

Reviewed by Martin Robinson.

Source/WebKit:

  • PlatformGTK.cmake:

Source/WebKit2:

  • PlatformGTK.cmake:
12:51 AM Changeset in webkit [165436] by fred.wang@free.fr
  • 16 edits in trunk

Improve renderer classes for MathML Token elements.
https://bugs.webkit.org/show_bug.cgi?id=124838

Reviewed by Chris Fleizach.

Source/WebCore:

This patch continues the refactoring of token elements that has been
started in bug 44208. The <mo> element now derives from the
RenderMathMLToken class, which was already used for the <mi> element.
The behavior of anonymous <mo> elements created by the <mfenced> element
is now more consistent with the one of "standard" <mo> elements and the
spacing around them is now handled in RenderMathMLOperator. This is a
first step towards fixing bugs 115787 and 118843. The only visible
rendering change is how <mfenced> open/close attributes handle
whitespace and multiple characters and some tests are added for that.
Other features are already covered by other tests. Finally, this also
removes some code from AccessibilityRenderObject that was used to
workaround issues with <mo> elements.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::startOfContinuations):
(WebCore::AccessibilityRenderObject::textUnderElement):
(WebCore::AccessibilityRenderObject::isMathOperator):
(WebCore::AccessibilityRenderObject::isIgnoredElementWithinMathTree):

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::didAttachRenderers):
(WebCore::MathMLTextElement::childrenChanged):

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::RenderMathMLBlock):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLFenced.cpp:

(WebCore::RenderMathMLFenced::RenderMathMLFenced):
(WebCore::RenderMathMLFenced::updateFromElement):
(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):

  • rendering/mathml/RenderMathMLFenced.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLOperator::rebuildTokenContent):
(WebCore::RenderMathMLOperator::updateTokenContent):
(WebCore::RenderMathMLOperator::updateStyle):
(WebCore::RenderMathMLOperator::firstLineBaseline):
(WebCore::RenderMathMLOperator::paint):
(WebCore::RenderMathMLOperator::paintChildren):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLToken.cpp:

(WebCore::RenderMathMLToken::createWrapperIfNeeded):

LayoutTests:

Two tests are added to fenced-mi in order to verify that the open/close
attributes of the mfenced element collapse whitespace and accept values
with multiple characters.

  • mathml/presentation/fenced-mi-expected.html:
  • mathml/presentation/fenced-mi.html:
  • platform/mac/accessibility/mathml-elements.html: fix bad closing tag and disable the test for now.
  • platform/mac/mathml/presentation/mo-stretch-expected.txt: update text reference.

Mar 10, 2014:

11:57 PM Changeset in webkit [165435] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r165407): DoYouEvenBench crashes in DRT
https://bugs.webkit.org/show_bug.cgi?id=130066

Reviewed by Geoffrey Garen.

The baseline JIT does a conditional store barrier for the put_by_id, but we need
an unconditional store barrier so that we cover the butterfly case as well in emitPutTransitionStub.

  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitWriteBarrier):

11:25 PM Changeset in webkit [165434] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose WebPageProxy::close
https://bugs.webkit.org/show_bug.cgi?id=130068

Reviewed by Adele Peterson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _close]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:18 PM Changeset in webkit [165433] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Resurrect bit-rotted JIT::probe() mechanism.
<https://webkit.org/b/130067>

Reviewed by Geoffrey Garen.

  • jit/JITStubs.cpp:
  • Added the needed #include <wtf/InlineASM.h>.
10:01 PM Changeset in webkit [165432] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Fix typo in EXCLUDED_SOURCE_FILE_NAMES_iphoneos.

Rubber-stamped by Dan Bernstein.

  • Configurations/JavaScriptCore.xcconfig:
9:53 PM Changeset in webkit [165431] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

r165414 broke the 32-bit x86 tests: ASSERTION FAILED: result != InvalidIndex @ GPRInfo.h:330.
<https://webkit.org/b/130065>

Reviewed by Michael Saboff.

There is code in ScratchRegisterAllocator.cpp that is relying on GPRInfo::toIndex()
being able to return InvalidIndex. Hence, the assertion is invalid. Ditto for
FPRInfo::toIndex().

The fix is to remove the "result != InvalidIndex" assertions.

  • jit/FPRInfo.h:

(JSC::FPRInfo::toIndex):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toIndex):

9:52 PM Changeset in webkit [165430] by commit-queue@webkit.org
  • 13 edits in trunk

Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
https://bugs.webkit.org/show_bug.cgi?id=129781

Patch by James Craig <jcraig@apple.com> on 2014-03-10
Reviewed by Joseph Pecoraro.

Enabling several more properties to be exposed in the Accessibility Node Inspector.

Source/WebCore:

Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsChecked):

  • accessibility/AccessibilityObject.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Protocol/InspectorWebBackendCommands.js:
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
9:31 PM Changeset in webkit [165429] by Bem Jones-Bey
  • 3 edits
    4 adds in trunk

[CSS Shapes] inset corner radii are not flipped for vertical writing modes
https://bugs.webkit.org/show_bug.cgi?id=129918

Reviewed by Dean Jackson.

Source/WebCore:

When creating an inset shape, convert the radii to logical coordinates
as well as the box.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html

fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape): Convert the radii to logical

coordinates.

LayoutTests:

Test both left and right float cases so that we cover all four
corners.

  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html: Added.
9:28 PM Changeset in webkit [165428] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit/efl

[EFL] Modify accelerated compositing related functions in ewk_view.
https://bugs.webkit.org/show_bug.cgi?id=129875

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-10
Reviewed by Gyuyoung Kim.

The compositing object will be created when root layer is attached.
So we don't need to expose the create function.
And this patch adds show(), hide() and resize() for compositing object.

  • WebCoreSupport/AcceleratedCompositingContextEfl.h: move resize() to public.
  • ewk/ewk_view.cpp:

(_ewk_view_smart_resize): add to resize the compositing object.
(_ewk_view_smart_show): add to show the compositing object.
(_ewk_view_smart_hide): add to hide the compositing object.
(_ewk_view_accelerated_compositing_context_create_if_needed):
modify the creation for the compositing object.
(_ewk_view_accelerated_compositing_object_create_if_needed):
add a return value.
(ewk_view_root_graphics_layer_set):
If root layer is not 0, we create the compositing object and AcceleratedCompositingContext.

  • ewk/ewk_view_private.h: remove to expose the compositing object creation API.
9:22 PM Changeset in webkit [165427] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Frontend loaded resources from cache are not hidden as expected
https://bugs.webkit.org/show_bug.cgi?id=130044

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-10
Reviewed by Timothy Hatcher.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadedResourceFromMemoryCache):
Use the new request that was passed in. Assume it is filled in appropriately.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
Carry over the hidden from inspector state if the passed in request had it,
and create the request that loadedResourceFromMemoryCache will use.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
Add missing ifdefs for INSPECTOR only function.

9:06 PM Changeset in webkit [165426] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Crash on a stack overflow on 32-bit x86 in http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html.
<https://webkit.org/b/129955>

Reviewed by Geoffrey Garen.

The 32-bit x86 version of getHostCallReturnValue() was leaking 16 bytes
stack memory every time it was called. This is now fixed.

  • jit/JITOperations.cpp:
8:08 PM Changeset in webkit [165425] by jer.noble@apple.com
  • 2 edits in trunk/Source/WTF

Improve WeakPtr operators.
https://bugs.webkit.org/show_bug.cgi?id=130053

Reviewed by Andreas Kling.

Replace the "operator!()" with an explicit bool operator. Add an "operator->()".

  • wtf/WeakPtr.h:

(WTF::WeakPtr::operator bool):
(WTF::WeakPtr::operator->):

7:39 PM Changeset in webkit [165424] by Joseph Pecoraro
  • 6 edits in trunk/Source/JavaScriptCore

Better JSContext API for named evaluations (other than # sourceURL)
https://bugs.webkit.org/show_bug.cgi?id=129911

Reviewed by Geoffrey Garen.

  • API/JSBase.h:
  • API/JSContext.h:
  • API/JSContext.mm:

(-[JSContext evaluateScript:]):
(-[JSContext evaluateScript:withSourceURL:]):
Add new evaluateScript:withSourceURL:.

  • API/tests/testapi.c:

(main):

  • API/tests/testapi.mm:

(testObjectiveCAPI):
Add tests for sourceURL in evaluate APIs. It should
affect the exception objects.

7:26 PM Changeset in webkit [165423] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove 'visibilitychange' attribute event listener from document
https://bugs.webkit.org/show_bug.cgi?id=129794

Reviewed by Simon Fraser.

Remove the unused attribute event listener which is not defined in Page Visibility API spec.
http://www.w3.org/TR/page-visibility/#sec-document-interface

  • dom/Document.h:
6:34 PM Changeset in webkit [165422] by benjamin@webkit.org
  • 6 edits in trunk/Source

[iOS][WebKit 2] Wire the unobscured rect in the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=130058

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-10
Reviewed by Simon Fraser.

Source/WebCore:

  • WebCore.exp.in:
  • platform/ScrollView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::setUnobscuredContentRect):

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

5:40 PM Changeset in webkit [165421] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

makeSelectorPseudoTypeMap.py should not be copied in the WebCore bundle

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-10

  • WebCore.xcodeproj/project.pbxproj:
5:39 PM Changeset in webkit [165420] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed build fix.

Some bad Windows code was committed at some point that prevents the Apple Windows port
from finding its runtime dependencies reliably.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(appleApplicationSupportDirectory): Restored this function.
(modifyPath): Update to use appleApplicationSupportDirectory function.

5:29 PM Changeset in webkit [165419] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[Win] Unreviewed build fix (64-bit).

  • WebKit.vcxproj/WebKit/WebKitCommon.props: Put uuid.lib as the last link library so that

the MSIE DOM symbols don't conflict with WebKit's.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing 64-bit symbol definitions.
5:23 PM Changeset in webkit [165418] by mario.prada@samsung.com
  • 13 edits
    1 move
    2 adds in trunk

[GTK] Add support for Geoclue2
https://bugs.webkit.org/show_bug.cgi?id=120185

Reviewed by Carlos Garcia Campos.

.:

Add support for Geoclue2 using autotools.

  • Source/autotools/FindDependencies.m4: Add support for handling

both Geoclue 1.0 and 2.0.

  • Source/autotools/PrintBuildConfiguration.m4: Print the version

of geoclue that is being used.

  • Source/autotools/SetupAutoconfHeader.m4: Define GEOCLUE_API_VERSION_2.
  • Source/autotools/SetupAutomake.m4: Likewise, for AM_CONDITIONAL.
  • Source/autotools/Versions.m4: Added minimum required version for Geoclue2.

Add support for Geoclue2 using CMake.

  • Source/cmake/FindGeoClue2.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Add support for handling Geoclue 1.0 and 2.0.
  • Source/cmakeconfig.h.cmake: Define WTF_USE_GEOCLUE2.

Source/WebCore:

Implement a new geolocation provider based on Geoclue2, which will only
be used if a good enough version of Geoclue2 is found at configure time.

  • GNUmakefile.am: Generate C-API for accessing the D-Bus API

provided by Geoclue2, and place it in DerivedSources.

  • GNUmakefile.list.am: Add GeolocationProviderGeoclue2.cpp, and

include the generated proxy files when using Geoclue2.

  • PlatformGTK.cmake: Likewise, for CMake based builds.
  • platform/geoclue/GeolocationProviderGeoclue.h: Modified to

accomodate the needs both for Geoclue and Geoclue2 providers.

  • platform/geoclue/GeolocationProviderGeoclue1.cpp: Renamed from Source/WebCore/platform/geoclue/GeolocationProviderGeoclue.cpp.

(GeolocationProviderGeoclue::getPositionCallback):
(GeolocationProviderGeoclue::positionChangedCallback):
(GeolocationProviderGeoclue::createGeocluePositionCallback):
(GeolocationProviderGeoclue::geoclueClientSetRequirementsCallback):
(GeolocationProviderGeoclue::createGeoclueClientCallback):
(GeolocationProviderGeoclue::GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::startUpdating):
(GeolocationProviderGeoclue::stopUpdating):
(GeolocationProviderGeoclue::setEnableHighAccuracy):
(GeolocationProviderGeoclue::initializeGeoclueClient):
(GeolocationProviderGeoclue::initializeGeocluePosition):
(GeolocationProviderGeoclue::updateClientRequirements):
(GeolocationProviderGeoclue::positionChanged):
(GeolocationProviderGeoclue::errorOccurred):

  • platform/geoclue/GeolocationProviderGeoclue2.cpp: Added.

(GeolocationProviderGeoclue::GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::startUpdating):
(GeolocationProviderGeoclue::stopUpdating):
(GeolocationProviderGeoclue::setEnableHighAccuracy):
(GeolocationProviderGeoclue::createGeoclueManagerProxyCallback):
(GeolocationProviderGeoclue::getGeoclueClientCallback):
(GeolocationProviderGeoclue::createGeoclueClientProxyCallback):
(GeolocationProviderGeoclue::startClientCallback):
(GeolocationProviderGeoclue::locationUpdatedCallback):
(GeolocationProviderGeoclue::createLocationProxyCallback):
(GeolocationProviderGeoclue::startGeoclueClient):
(GeolocationProviderGeoclue::updateLocation):
(GeolocationProviderGeoclue::errorOccurred):
(GeolocationProviderGeoclue::updateClientRequirements):

5:16 PM Changeset in webkit [165417] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

Unreviewed Windows Build Fix.

  • WebCore.vcxproj/WebCore.vcxproj: Don't build cURL files for Apple Windows port.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents): Correct
method signature to match base class.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Use proper character encoding.

4:41 PM Changeset in webkit [165416] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

4:34 PM Changeset in webkit [165415] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.8

New Tag.

4:31 PM Changeset in webkit [165414] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Repatch should save and restore all used registers - not just temp ones - when making a call
https://bugs.webkit.org/show_bug.cgi?id=130041

Reviewed by Geoffrey Garen and Mark Hahnenberg.

The save/restore code was written back when the only client was the DFG, which only uses a
subset of hardware registers: the "temp" registers in our lingo. But the FTL may use many
other registers, especially on ARM64. The fact that Repatch doesn't know to save those can
lead to data corruption on ARM64.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):
(JSC::RegisterSet::numberOfSetGPRs):
(JSC::RegisterSet::numberOfSetFPRs):

  • jit/RegisterSet.h:
  • jit/Repatch.cpp:

(JSC::storeToWriteBarrierBuffer):
(JSC::emitPutTransitionStub):

  • jit/ScratchRegisterAllocator.cpp:

(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
(JSC::ScratchRegisterAllocator::usedRegistersForCall):
(JSC::ScratchRegisterAllocator::desiredScratchBufferSizeForCall):
(JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall):
(JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall):

  • jit/ScratchRegisterAllocator.h:
4:22 PM Changeset in webkit [165413] by zoltan@webkit.org
  • 3 edits in trunk/Tools

Let the user define the full address of the performance-site-server for uploading results
https://bugs.webkit.org/show_bug.cgi?id=129819

Reviewed by Ryosuke Niwa.

Currently perftestsrunner.py assumes that the server uses https protocol all the time, which
can be confusing. It's more straightforward, if you need to define explicitly the server's full
address along with the protocol, when you're using this parameter. I added HTTPS as the default
protocol for now, in order to avoid breaking the perf bots.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(_upload_json):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.test_upload_json):

4:08 PM Changeset in webkit [165412] by Simon Fraser
  • 5 edits in trunk/Source

Fix three leaks
https://bugs.webkit.org/show_bug.cgi?id=130048

Reviewed by Anders Carlsson.

Source/WebCore:

The NSDictionary was leaked.

  • page/ios/UserAgentIOS.mm:

(WebCore::osMarketingVersion):

Source/WebKit2:

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(decodeObject): Code is simpler and less leaky without the RetainPtr.

  • UIProcess/API/Cocoa/WKNavigationAction.mm: Fix _originalURL leak

by making it a RetainPtr and implementing the getter and setter.
(-[WKNavigationAction _setOriginalURL:]):
(-[WKNavigationAction _originalURL]):

4:01 PM Changeset in webkit [165411] by zoltan@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Update the install guidelines for perf.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=129895

Reviewed by Ryosuke Niwa.

The current install guideline for perf.webkit.org discourages the use of the installed
Server application. I've actualized the documentation for Mavericks, and modified the
guideline to include the instructions for Server.app also.

  • Install.md:
3:49 PM Changeset in webkit [165410] by Lucas Forschler
  • 4 edits in tags/Safari-538.22/Source/WebKit2

Merged r165398.

3:48 PM Changeset in webkit [165409] by Beth Dakin
  • 13 edits in trunk/Source

Set background color of WK2's UIScrollView to the pageExtendedBackgroundColor
https://bugs.webkit.org/show_bug.cgi?id=129919

Reviewed by Benjamin Poulain.

Source/WebCore:

WK2 needs to be able to ask for the pageExtendedBackgroundColor, so this patch
adds a function to Page that will return it

  • WebCore.exp.in:
  • page/Page.cpp:

(WebCore::Page::pageExtendedBackgroundColor):

  • page/Page.h:
  • rendering/RenderLayerCompositor.h:

(WebCore::RenderLayerCompositor::rootExtendedBackgroundColor):

Source/WebKit2:

Make the pageExtendedBackgroundColor part of a RemoteLayerTreeTransaction.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::pageExtendedBackgroundColor):
(WebKit::RemoteLayerTreeTransaction::setPageExtendedBackgroundColor):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):

Set the background color of the UIScrollView based on the
pageExtendedBackgroundColor.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):

For the sake of PLATFORM(MAC), continue to support the fact that this color can be
set via a message from the WebProcess or the new RemoteLayerTreeTransaction.

  • UIProcess/WebPageProxy.h:

Cache the pageExtendedBackgroundColor as provided by the
RemoteLayerTreeTransaction.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didCommitLayerTree):

It’s not necessary to do anything here in non-Mac platforms anymore.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):

Include the pageExtendedBackgroundColor in the RemoteLayerTreeTransaction.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willCommitLayerTree):

3:32 PM Changeset in webkit [165408] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/PerformanceTests

[CSS Shapes] Add performance tests for SVG shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=129930

Reviewed by Ryosuke Niwa.

The test is skipped by default.

  • Layout/Shapes/ShapeOutsideSVGWithMargin.html: Added.
  • Layout/Shapes/resources/shape.svg: Added.
3:21 PM Changeset in webkit [165407] by mhahnenberg@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

Remove ConditionalStore barrier
https://bugs.webkit.org/show_bug.cgi?id=130040

Reviewed by Geoffrey Garen.

ConditionalStoreBarrier was created when barriers were much more expensive. Now that
they're cheap(er), we can get rid of them. This also allows us to get rid of the write
barrier logic in emitPutTransitionStub because we always will have executed a write barrier
on the base object in the case where we are allocating and storing a new Butterfly into it.
Previously, a ConditionalStoreBarrier might or might not have barrier-ed the base object,
so we'd have to emit a write barrier in the transition case.

This is performance neutral on the benchmarks we track.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isStoreBarrier):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStoreBarrier):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

  • jit/Repatch.cpp:

(JSC::emitPutTransitionStub):

3:11 PM Changeset in webkit [165406] by fpizlo@apple.com
  • 15 edits
    1 add in trunk/Source/JavaScriptCore

DFG and FTL should know that comparing anything to Misc is cheap and easy
https://bugs.webkit.org/show_bug.cgi?id=130001

Reviewed by Geoffrey Garen.

  • Expand CompareStrictEq(Misc:, Misc:) to work for cases where either side of the comparison is just Untyped:.


  • This obviates the need for CompareStrictEqConstant, so remove it.


  • FTL had a thing called "Nully" which is really "Other". Rename it and add OtherUse.


9% speed-up on box2d.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isBinaryUseKind):
(JSC::DFG::Node::shouldSpeculateOther):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileMiscStrictEq):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileMiscStrictEq):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateNotCell):
(JSC::FTL::LowerDFGToLLVM::speculateOther):
(JSC::FTL::LowerDFGToLLVM::speculateMisc):

  • tests/stress/compare-strict-eq-integer-to-misc.js: Added.
3:09 PM Changeset in webkit [165405] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove unintended change.

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

2:25 PM Changeset in webkit [165404] by benjamin@webkit.org
  • 10 edits in trunk/Source

Generalize unobscured rect to all ports
https://bugs.webkit.org/show_bug.cgi?id=130036

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-10
Reviewed by Simon Fraser.

Source/WebCore:

iOS differentiates visible content and unobscured content. This patch moves the concept to all
ports to remove the #ifdefs from the call sites.

On everything but iOS, unobscuredRect and visibleRect are the same.

  • WebCore.exp.in:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):

  • page/SpatialNavigation.cpp:

(WebCore::canScrollInDirection):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::paint):

  • platform/ScrollView.h:

(WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):
(WebCore::ScrollView::unobscuredContentRect):

  • rendering/RenderView.cpp:

(WebCore::RenderView::viewportSize):

Source/WebKit2:

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):

2:06 PM Changeset in webkit [165403] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

jsc commandline shouldn't have a "console" because that confuses some tests into thinking
that they're running in the browser.

Rubber stamped by Mark Hahnenberg.

  • jsc.cpp:

(GlobalObject::finishCreation):

2:00 PM Changeset in webkit [165402] by benjamin@webkit.org
  • 15 edits
    3 adds in trunk/Source/WebCore

Start splitting CSS Selectors's pseudo types
https://bugs.webkit.org/show_bug.cgi?id=130003

Reviewed by Andreas Kling.

CSS Selectors pseudo types come in 3 flavors: page, pseudo class, pseudo elements.

The three types are mixed together in a single enum list named PseudoType. Only some combinations
of match type + pseudo type are valid, but this is implicitly defined from the code.

This patch is the beginning of a refactoring to add more clear boundaries between
valid and invalid combinations.

First, the handling of page pseudo types is completely split from the other values.
The parser use a different method for handling the value CSSParserSelector::parsePagePseudoSelector().

PagePseudo types no longer store their string in the CSSSelector either to reduce the redundancy
with m_pseudoType.
When we need to generate the string for those CSSSelector, we recreate the string as needed in
CSSSelector::selectorText().

The remaining two types are not yet split in this patch but this introduce the preliminary clean up
toward that goal.
The list of parsed pseudo types is now generated at compile time from the source in SelectorPseudoTypeMap.in.

  • DerivedSources.make:

The mapping of strings to pseudo types is generated from SelectorPseudoTypeMap.in
by the new script makeSelectorPseudoTypeMap.py.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSGrammar.y.in:

Split the parsing of Pseudo Types. Pseudo page get its own method. The others will need some work.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePagePseudoSelector):
(WebCore::CSSParserSelector::setPseudoTypeValue):

  • css/CSSParserValues.h:
  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForPage):
This is an example of invalid combination that is hidden by the current code.
First, Left and Right could never appear in a pseudo class match.
(WebCore::CSSSelector::pseudoId):
(WebCore::CSSSelector::parsePseudoType):
(WebCore::appendPseudoTypeTailIfNecessary):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::pseudoType):
(WebCore::CSSSelector::matchesPseudoElement):
(WebCore::CSSSelector::setValue):
(WebCore::CSSSelector::CSSSelector):

  • css/PageRuleCollector.cpp:

(WebCore::checkPageSelectorComponents):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorPseudoTypeMap.h: Added.
  • css/SelectorPseudoTypeMap.in: Added.
  • css/makeSelectorPseudoTypeMap.py: Added.

(enumerablePseudoType):
(expand_ifdef_condition):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):

1:58 PM Changeset in webkit [165401] by fpizlo@apple.com
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

Out-line ScratchRegisterAllocator

Rubber stamped by Mark Hahnenberg.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • jit/ScratchRegisterAllocator.cpp: Added.

(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::~ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::lock):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::allocateScratchGPR):
(JSC::ScratchRegisterAllocator::allocateScratchFPR):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
(JSC::ScratchRegisterAllocator::desiredScratchBufferSize):
(JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBuffer):
(JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBuffer):

  • jit/ScratchRegisterAllocator.h:
1:53 PM Changeset in webkit [165400] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after http://trac.webkit.org/changeset/165385

Unreviewed.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

1:43 PM Changeset in webkit [165399] by Brent Fulgham
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

[Win] Build fix after r165379.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::SerializedScriptValue): Revert to older-style C++ iteration
for Windows compatibility. This can be reverted when we use VS2013 on this branch.

1:19 PM Changeset in webkit [165398] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

<rdar://problem/16278716> [Cocoa] Allow setting a custom group identifier on a WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130033

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]): Create a page group with the group identifier
from the configuration, if it’s non-empty.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _groupIdentifier]): Added this accessor.
(-[WKWebViewConfiguration _setGroupIdentifier:]): Ditto.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared _groupIdentifier property.
1:11 PM Changeset in webkit [165397] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2: Crash in WebPage::getPositionInformation.
https://bugs.webkit.org/show_bug.cgi?id=129936
<rdar://problem/16264550>

Reviewed by Eric Carlson.

Missing null check on the node renderer in one code path.
If the page body is smaller than the document, hit testing
will return HTMLHtmlElement that has no renderer.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

1:02 PM Changeset in webkit [165396] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r159218): FrameView::layout() should destroy TemporaryChange<LayoutPhase>
before destroying Ref<FrameView>
https://bugs.webkit.org/show_bug.cgi?id=130034
<rdar://problem/15664288>

Reviewed by Alexey Proskuryakov.

We should always destroy TemporaryChange<LayoutPhase> before destroying Ref<FrameView>
in FrameView::layout() so as to ensure that the FrameView exists when we restore the
original layout phase value.

The existing test fast/frames/crash-remove-iframe-during-object-beforeload.html covers
this change. Although you must run the test with Guard Malloc enabled (i.e. run-webkit-tests -r).

  • page/FrameView.cpp:

(WebCore::FrameView::layout): Move construction of variable protect before the construction of
variable layoutPhaseRestorer. Additionally, add a period to the end of the comment associated
with variable protect.

12:56 PM Changeset in webkit [165395] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: span >= 1
https://bugs.webkit.org/show_bug.cgi?id=129148

Patch by Zsolt Borbely <borbezs@inf.u-szeged.hu> on 2014-03-10
Reviewed by Andreas Kling.

Source/WebCore:

Set the value of span to 1 if the given number is too big or zero.

Test: fast/table/incorrect-colgroup-span-values.html

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute):

LayoutTests:

Added test demonstrates the behavior of colgroup in case of large negative, large positive, zero and null span values.

  • fast/table/incorrect-colgroup-span-values-expected.txt: Added.
  • fast/table/incorrect-colgroup-span-values.html: Added.
12:28 PM Changeset in webkit [165394] by Brent Fulgham
  • 9 edits in branches/safari-537.75-branch

Source/WebInspectorUI: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

  • WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use %PlatformArchitecture% rather than hard-coded 32-bit path.

Source/WebKit: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • WebKit.vcxproj/WebKit/Interfaces/InterfacesPreBuild.cmd: Use %PlatformArchitecture% rather than hard-coded 32-bit path.
  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Ditto.

Tools: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • win/AssembleBuildLogs/AssembleBuildLogs.cmd: Use %PlatformArchitecture% rather than 32-bit hard-coded path.

WebKitLibraries: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • win/tools/vsprops/common.props: Pass WEBKIT_LIBRARIES value to subprocesses.
12:09 PM Changeset in webkit [165393] by Brent Fulgham
  • 15 edits
    1 delete in trunk

Source/JavaScriptCore: [Win] Pass environment to Pre-Build, Pre-link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • JavaScriptCore.vcxproj/JavaScriptCore.proj: Avoid trailing backslashes in

path names to avoid accidental escaping of later string substitutions.

Source/WebCore: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023.

Reviewed by Dean Jackson.

  • WebCore.vcxproj/WebCore.proj: Avoid trailing slashes in path values to

prevent escaping during later string substitution.

Source/WebKit: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • WebKit.vcxproj/WebKit.make: Removed.
  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Use %PlatformArchitecture% rather than

hard-coded 32-bit path.

Source/WTF: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023.

Reviewed by Dean Jackson.

  • WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid

escaping during later string substitution.

  • WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.

Tools: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj: Add missing

/SAFESEH flag to DLL launcher process.

WebKitLibraries: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • win/tools/vsprops/common.props: Pass WEBKIT_LIBRARIES value to subprocesses.
  • win/tools/vsprops/debugsuffix.props: Make sure OFFICIAL_BUILD is set.
  • win/tools/vsprops/production.props: Ditto.
11:57 AM Changeset in webkit [165392] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for testb_i8r when register is accumulator.
<https://webkit.org/b/130026>

Generate the shorthand version of "test al, imm" when possible.

Reviewed by Michael Saboff.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::testb_i8r):

11:57 AM Changeset in webkit [165391] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for sub_ir when register is accumulator.
<https://webkit.org/b/130025>

Generate the shorthand version of "sub eax, imm" when possible.

Reviewed by Michael Saboff.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::subl_ir):
(JSC::X86Assembler::subq_ir):

11:56 AM Changeset in webkit [165390] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for add_ir when register is accumulator.
<https://webkit.org/b/130024>

Generate the shorthand version of "add eax, imm" when possible.

Reviewed by Michael Saboff.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::addl_ir):
(JSC::X86Assembler::addq_ir):

11:55 AM Changeset in webkit [165389] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

writeBarrier in emitPutReplaceStub is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=130030

Reviewed by Filip Pizlo.

We already emit write barriers for each put-by-id when they're first compiled, so it's
redundant to emit a write barrier as part of the repatched code.

  • jit/Repatch.cpp:

(JSC::emitPutReplaceStub):

11:48 AM Changeset in webkit [165388] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Hit-testing is not working properly inside scrollable regions
https://bugs.webkit.org/show_bug.cgi?id=130015

Reviewed by Antti Koivisto.

Source/WebCore:

When hit-testing inside the flow thread's layer, the scrolled offset
of the current region must be taken into consideration.

Test: fast/regions/scrollable-regions-hit-testing-inside.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

Added test for hit-testing inside scrollable regions.

  • fast/regions/scrollable-regions-hit-testing-inside-expected.html: Added.
  • fast/regions/scrollable-regions-hit-testing-inside.html: Added.
11:41 AM Changeset in webkit [165387] by hmuller@adobe.com
  • 6 edits
    2 adds in trunk

[CSS Shapes] SVG Image valued shape fails if root element's size is relative
https://bugs.webkit.org/show_bug.cgi?id=128983

Reviewed by Simon Fraser.

Source/WebCore:

When creating a shape based on an Image, compute its dimensions using
RenderBoxModelObject::calculateImageIntrinsicDimensions(), then set the
ImageResource's containerSize, and then use imageForRenderer() to get the
image to be drawn. The first step resolves SVG Image relative sizes, the
second step creates and caches an SVGImageForContainer with the correct
containerSize, and the last step retrieves the SVGImageForContainer.

Test: fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html

  • rendering/RenderBoxModelObject.h: Publicized calculateImageIntrinsicDimensions() and its enum.
  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.cpp:

(WebCore::getShapeImageAndRect):
(WebCore::ShapeInfo<RenderType>::computedShape):

LayoutTests:

Verify that an SVG Image valued shape-outside with a relatively sized SVG root element
generates a shape with the correct size.

  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html: Added.
11:35 AM Changeset in webkit [165386] by mrobinson@webkit.org
  • 2 edits in trunk

[GTK][CMAKE] gtk-doc HTML documentation is generated by default when building with CMake
https://bugs.webkit.org/show_bug.cgi?id=130016

Reviewed by Carlos Garcia Campos.

  • Source/PlatformGTK.cmake: Add two gtkdoc targets, one which builds HTML and one which

doesn't. Add the non-HTML version to the default target, but not the HTML version. The
HTML version will still run when building the distribution tarball.

11:30 AM Changeset in webkit [165385] by Darin Adler
  • 11 edits in trunk

TextIterator: Use StringView and references rather than pointers
https://bugs.webkit.org/show_bug.cgi?id=129975

Reviewed by Anders Carlsson.

Source/WebCore:

TextIterator refinements:

  • Use StringView instead of deprecatedCharacters to point to characters within strings.
  • Added TextIteratorCopyableText, a safe way to copy the current text of a TextIterator, for use by WordAwareIterator.
  • Removed m_shouldStop; iterators stop by setting m_positionNode to null, and there is no need for a separate boolean to do the same thing.
  • Got rid of all the boolean data members set based on the text iterator behavior; instead store the behavior in a data member and check it directly.
  • Changed most functions to use references rather than pointers.
  • Small micro-optimizations, such as using fastGetAttribute rather than getAttribute.
  • Switched to nullptr instead of 0 where appropriate.
  • Removed unused functions.
  • Cut down on use of abbreviations instead of words.
  • Renamed data members and argument names for clarity.
  • Split up assertions that needlessly asserted more than one thing in a single expression.
  • Treat CDATASection just like other Text, since its text will be visible.
  • editing/Editor.cpp:

(WebCore::Editor::advanceToNextMisspelling): Pass reference rather than pointer.
(WebCore::Editor::rangeOfString): Ditto.
(WebCore::Editor::countMatchesForText): Ditto.

  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingHelper::findFirstMisspelling): Ditto.

  • editing/TextIterator.cpp:

(WebCore::depthCrossingShadowBoundaries): Take a reference rather than a pointer.
(WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
(WebCore::fullyClipsContents): Ditto.
(WebCore::ignoresContainerClip): Ditto.
(WebCore::pushFullyClippedState): Ditto.
(WebCore::setUpFullyClippedStack): Ditto.
(WebCore::isRendererReplacedElement): Use references rather than pointers in the
implementation. Also use fastGetAttribute instead of getAttribute.
(WebCore::TextIteratorCopyableText::reset): Added.
(WebCore::TextIteratorCopyableText::set): Added.
(WebCore::TextIteratorCopyableText::appendToStringBuilder): Added.
(WebCore::TextIterator::TextIterator): Use more initialization rather than assignment.
Got rid of some local variables.
(WebCore::TextIterator::advance): Removed the m_shouldStop boolean, uneeded.
Many other improvements. Use isTextNode instead of nodeType.
(WebCore::hasVisibleTextNode): Changed this into a file-private helper function
instead of a member function.
(WebCore::TextIterator::handleTextNode): Used references and cut down on type casts.
Gave local variables clearer names.
(WebCore::TextIterator::handleTextBox): More of the same.
(WebCore::TextIterator::handleTextNodeFirstLetter): Ditto.
(WebCore::TextIterator::handleReplacedElement): Ditto.
(WebCore::shouldEmitTabBeforeNode): Ditto.
(WebCore::hasHeaderTag): Added.
(WebCore::shouldEmitNewlinesBeforeAndAfterNode): More of the same.
(WebCore::shouldEmitNewlineAfterNode): Ditto.
(WebCore::shouldEmitNewlineBeforeNode): Ditto.
(WebCore::shouldEmitExtraNewlineForNode): Ditto.
(WebCore::collapsedSpaceLength): Use StringImpl directly instead of using the
deprecatedCharacters function.
(WebCore::TextIterator::shouldRepresentNodeOffsetZero): More like above.
(WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode): Ditto.
(WebCore::TextIterator::representNodeOffsetZero): Ditto.
(WebCore::TextIterator::handleNonTextNode): Ditto.
(WebCore::TextIterator::exitNode): Ditto.
(WebCore::TextIterator::emitCharacter): Changed to use the new copyable text class
instead of managing the single character buffer directly here.
(WebCore::TextIterator::emitText): Changed to take a Text& and use the copyable text
class. Added a FIXME about a mistake I noticed.
(WebCore::TextIterator::range): Streamlined and simplified a bit. Updated data
member names to be a bit clearer. This function never returned null before, but there
was a code path that looked like it would; I removed that.
(WebCore::TextIterator::node): Removed unneeded null checks; the range function will
never return a range of null or one with null for a start container.
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): More
like above.
(WebCore::SimplifiedBackwardsTextIterator::advance): Reorganized a bit and removed
m_shouldStop.
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode): More of the same.
(WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
(WebCore::CharacterIterator::CharacterIterator): Ditto.
(WebCore::CharacterIterator::range): Ditto. No need for ASSERT_NO_EXCEPTION.
(WebCore::CharacterIterator::advance): Ditto.
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Ditto.
(WebCore::BackwardsCharacterIterator::range): Ditto.
(WebCore::BackwardsCharacterIterator::advance): Ditto.
(WebCore::WordAwareIterator::WordAwareIterator): Ditto.
(WebCore::WordAwareIterator::advance): Use copyableText for m_previousText, fixing
the FIXME that I wrote in here before.
(WebCore::WordAwareIterator::text): Ditto.
(WebCore::containsKanaLetters): Changed to quickly return false when the pattern
is all Latin-1 rather than expanding to 16-bit just to check.
(WebCore::SearchBuffer::SearchBuffer): Iterate the target using the string operator[]
instead of using deprecatedCharacters.
(WebCore::SearchBuffer::append): Do the folding of quote marks and hyphens one character
at a time as we move characters into the buffer instead of in a separate loop.
(WebCore::TextIterator::rangeLength): Updated for changes eslwehere.
(WebCore::TextIterator::subrange): Ditto.
(WebCore::isInsideReplacedElement): Ditto. Also streamlined and removed unneeded null check.
(WebCore::TextIterator::rangeFromLocationAndLength): Updated for changes elsewhere and
removed unneeded ASSERT_NO_EXCEPTION.
(WebCore::plainText): Ditto.
(WebCore::collapsedToBoundary): Ditto.
(WebCore::findPlainText): Ditto.

  • editing/TextIterator.h: Changed many functions to take references instead of pointers.

Added TextIteratorCopyableText, to represent the current text in a TextIterator in a form
that can be safely copied and used after further iteration. Reorganized member functions so
they are in the same order in all the classes. Changed TextIterator to use
TextIteratorCopyableText. Removed many unused functions, including:

  • TextIterator::length
  • TextIterator::deprecatedTextIteratorCharacters
  • TextIterator::characterAt
  • SimplifiedBackwardsTextIterator::length
  • CharacterIterator::length
  • CharacterIterator::string
  • WordAwareIterator::length
  • WordAwareIterator::range
  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::appendTrailingWhitespace): Pass reference rather than pointer.
Use text().length() instead of length(). Check atEnd() before using CharacterIterator, since
iterator member functions don't work when at the end.

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary): Ditto.
(WebCore::nextBoundary): Ditto.

  • editing/htmlediting.cpp:

(WebCore::visiblePositionForIndexUsingCharacterIterator): Ditto.

  • page/ios/FrameIOS.mm:

(WebCore::Frame::indexCountOfWordPrecedingSelection): Ditto.
(WebCore::Frame::wordsInCurrentParagraph): Ditto.

LayoutTests:

  • dom/xhtml/level3/core/nodelookupnamespaceuri14-expected.txt: Updated to expect

the CDATA section to be included in the text output of the test. This changed because
TextIterator now treats CDATA sections like other text, just as rendering code does.

11:18 AM Changeset in webkit [165384] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: js/dom/create-lots-of-workers.html frequently crashes
(sometimes in js/dom/cross-frame-bad-time.html)
https://bugs.webkit.org/show_bug.cgi?id=129758

  • platform/mac-wk1/TestExpectations: Removed an older incorrect expectation.
11:15 AM Changeset in webkit [165383] by Brian Burg
  • 9 edits
    1 copy
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: show a debugging-oriented dashboard when scripts pause
https://bugs.webkit.org/show_bug.cgi?id=129913

Reviewed by Timothy Hatcher.

Using the dashboard swapping functionality just added, show a debugger dashboard
whenever the debugger pauses, and hide it when it resumes. The debugger manager
already coalesces pause/resume events across stepping commands.

The dashboard itself is straightforward, with the exception of how it uses the
navigation bar buttons. Since buttons from the same URL can't be reused if they
are bezeled, we don't bezel our button, and set the button image as the glyph mask
instead of the background image. This lets us easily animate the glyph shape.

We also have to more forcefully declare a bunch of icon rules that would otherwise
be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation
bar icon styles).

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector._debuggerDidPause):
(WebInspector._debuggerDidResume):

  • UserInterface/Controllers/DashboardManager.js:

(WebInspector.DashboardManager):

  • UserInterface/Main.html:
  • UserInterface/Models/DebuggerDashboard.js: Added.

(WebInspector.DebuggerDashboard):

  • UserInterface/Views/ButtonNavigationItem.css:

(.navigation-bar .item.button.suppress-emboss > .glyph):

  • UserInterface/Views/ButtonNavigationItem.js:

(WebInspector.ButtonNavigationItem.prototype._updateImage):

  • UserInterface/Views/DashboardView.js:

(WebInspector.DashboardView):

  • UserInterface/Views/DebuggerDashboardView.css: Added.

(.toolbar .dashboard.debugger):
(.dashboard.debugger > .message):
(.dashboard.debugger .navigation-bar):
(.toolbar:not(.small-size) .dashboard.debugger .navigation-bar):
(.dashboard.debugger .navigation-bar .item.button):
(.dashboard.debugger .navigation-bar .item.button > .glyph):
(@-webkit-keyframes pulse-pause-button):
(to):
(.dashboard.debugger > .divider):
(.dashboard.debugger > div):
(.dashboard.debugger > .location > :first-child):
(.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)):
(.dashboard.debugger > .location img.icon):
(.dashboard.debugger > .location .function-name):
(.dashboard.debugger > .location .function-name::after):
(.dashboard.debugger > .location .go-to-link):
(.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )):
(.toolbar.small-size .dashboard.debugger > .message):
(.toolbar.small-size .dashboard.debugger > .location > :first-child):

  • UserInterface/Views/DebuggerDashboardView.js: Added.

(WebInspector.DebuggerDashboardView):
(WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
(WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked):

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):

11:07 AM Changeset in webkit [165382] by Brian Burg
  • 5 edits
    2 copies
    3 adds
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: convert the dashboard toolbar item to support multiple dashboards
https://bugs.webkit.org/show_bug.cgi?id=129898

Reviewed by Timothy Hatcher.

We want to ability to swap in and out different dashboard contents depending on
circumstances such as debugger activity and page loading. This patch converts the
existing hard-coded dashboard implementation to follow the container-based approach
used by WebInspector.ContentViewContainer.

As part of the refactoring, we introduce dashboard model objects to store persistent
dashboard data. Some CSS has also been split between the container and specific dashboard.

  • UserInterface/Controllers/DashboardManager.js:

(WebInspector.DashboardManager):
(WebInspector.DashboardManager.prototype.get toolbarItem):

  • UserInterface/Main.html:
  • UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.

(WebInspector.DefaultDashboard):
(WebInspector.DefaultDashboard.prototype.get resourcesCount):
(WebInspector.DefaultDashboard.prototype.set resourcesCount):
(WebInspector.DefaultDashboard.prototype.get resourcesSize):
(WebInspector.DefaultDashboard.prototype.set resourcesSize):
(WebInspector.DefaultDashboard.prototype.get time):
(WebInspector.DefaultDashboard.prototype.set time):
(WebInspector.DefaultDashboard.prototype.get logs):
(WebInspector.DefaultDashboard.prototype.set logs):
(WebInspector.DefaultDashboard.prototype.get errors):
(WebInspector.DefaultDashboard.prototype.set errors):
(WebInspector.DefaultDashboard.prototype.get issues):
(WebInspector.DefaultDashboard.prototype.set issues):
(WebInspector.DefaultDashboard.prototype._dataDidChange):
(WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
(WebInspector.DefaultDashboard.prototype._recordingStopped):
(WebInspector.DefaultDashboard.prototype._resourceWasAdded):
(WebInspector.DefaultDashboard.prototype._frameWasAdded):
(WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
(WebInspector.DefaultDashboard.prototype._startUpdatingTime):
(WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
(WebInspector.DefaultDashboard.prototype._updateTime):
(WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
(WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated):
(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
(WebInspector.DefaultDashboard.prototype._consoleWasCleared):

  • UserInterface/Views/DashboardContainerView.css: Added.

(.toolbar .dashboard-container):
(body.window-inactive .toolbar .dashboard-container):
(body.javascript .toolbar .dashboard-container):
(.toolbar.normal-size.icon-and-label-vertical .dashboard-container):
(.toolbar.small-size.icon-and-label-horizontal .dashboard-container):
(.toolbar.normal-size.icon-and-label-horizontal .dashboard-container):
(.toolbar .dashboard-container):
(.toolbar .dashboard):
(.toolbar .dashboard.visible):
(.toolbar .dashboard.slide-out-up):
(.toolbar .dashboard.slide-out-down):
(.toolbar .dashboard.slide-in-up):
(.toolbar .dashboard.slide-in-down):
(@-webkit-keyframes slide-top-edge):
(to):
(@-webkit-keyframes slide-bottom-edge):

  • UserInterface/Views/DashboardContainerView.js: Added.

(WebInspector.DashboardContainerView):
(WebInspector.DashboardContainerView.prototype.get toolbarItem):
(WebInspector.DashboardContainerView.prototype.get currentDashboardView):
(WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject):
(WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
(WebInspector.DashboardContainerView.prototype._showDashboardView):

  • UserInterface/Views/DashboardView.css: Removed.
  • UserInterface/Views/DashboardView.js:

(WebInspector.DashboardView):
(WebInspector.DashboardView.prototype.get element):
(WebInspector.DashboardView.prototype.get parentContainer):
(WebInspector.DashboardView.prototype.get representedObject):
(WebInspector.DashboardView.prototype.shown):
(WebInspector.DashboardView.prototype.hidden):

  • UserInterface/Views/DefaultDashboardView.css: Added.

(body.web .toolbar.collapsed .dashboard.default > .logs):
(body.javascript .toolbar .dashboard.default > .resourcesCount):
(.toolbar .dashboard.default):
(.toolbar .dashboard.default > .item):
(.toolbar .dashboard.default > .resourcesSize):
(.toolbar .dashboard.default > .item.enabled:hover):
(.toolbar .dashboard.default > .item.enabled:active):
(.toolbar .dashboard.default > .item > *):
(.toolbar .dashboard.default > .item > img):
(.toolbar .dashboard.default > .item.enabled > img):
(.toolbar .dashboard.default > .item.enabled:hover > img):
(.toolbar .dashboard.default > .item > div):
(.toolbar .dashboard.default > .item.enabled > div):
(.toolbar .dashboard.default > .item.enabled:hover > div):
(.toolbar .dashboard.default > .resourcesCount > img):
(.toolbar .dashboard.default > .time > img):
(.toolbar .dashboard.default > .logs > img):
(.toolbar .dashboard.default > .resourcesSize > img):
(.toolbar .dashboard.default > .errors > img):
(.toolbar .dashboard.default > .errors.enabled > img):
(.toolbar .dashboard.default > .errors.enabled:hover > img):
(.toolbar .dashboard.default > .errors.enabled > div):
(.toolbar .dashboard.default > .errors.enabled:hover > div):
(.toolbar .dashboard.default > .issues > img):
(.toolbar .dashboard.default > .issues.enabled > img):
(.toolbar .dashboard.default > .issues.enabled:hover > img):
(.toolbar .dashboard.default > .issues.enabled > div):
(.toolbar .dashboard.default > .issues.enabled:hover > div):
(.toolbar .dashboard.default > .item.pulsing):
(@-webkit-keyframes console-item-pulse):
(.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item):
(.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item):

  • UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js.

(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
(WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber):
(WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.):
(WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item):
(WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem):
(WebInspector.DefaultDashboardView.prototype._itemWasClicked):
(WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
(WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
(WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
(WebInspector.DefaultDashboardView.prototype.animationEnded):
(WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
(WebInspector.DefaultDashboardView.prototype._setItemEnabled):

10:49 AM Changeset in webkit [165381] by matthew_hanson@apple.com
  • 12 edits in branches/safari-537.75-branch

Merge r162972 and r163007.

10:42 AM Changeset in webkit [165380] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Turn on GenGC on other 64-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=129258

Reviewed by Oliver Hunt.

  • wtf/Platform.h:
10:18 AM Changeset in webkit [165379] by matthew_hanson@apple.com
  • 5 edits
    3 copies in branches/safari-537.75-branch

Merge r165339.

10:11 AM Changeset in webkit [165378] by mrobinson@webkit.org
  • 8 edits in trunk

[GTK] [CMake] Clean up library linking
https://bugs.webkit.org/show_bug.cgi?id=129782

Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: Add a macro to wrap all libraries in a list with --whole-archive

so that unused symbols are not dropped. This is useful when building up shared libraries
from convenience libraries.

Source/WebCore:

  • PlatformGTK.cmake: Some files are duplicated on the source list of two convenience

libraries. Ensure that they are all compiled into WebCore instead of WebCorePlatformGTK.
Some simply need to be moved to WebCore from WebCorePlatformGTK. Don't try to link
WebCorePlatformGTK against WebCore -- convenience libraries should be able to save
their symbol resolution for the final linking step.

Source/WebKit:

  • PlatformGTK.cmake: Use the new macro.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new macro.
9:29 AM Changeset in webkit [165377] by stavila@adobe.com
  • 9 edits
    2 adds in trunk

[CSS Regions] Scrolling regions with the mouse wheel only works properly if hovering over the region's padding
https://bugs.webkit.org/show_bug.cgi?id=129485

Reviewed by Andrei Bucur.

Source/WebCore:

When searching for the region under the mouse pointer (to identify which region to scroll),
the localToAbsolute method must be called on the region container, not the region itself.
Also, when calling the offsetFromContainer method on a named flow fragment,
it must only take into consideration the border and padding of the fragment container,
not its scrolled offset.

Test: fast/regions/wheel-scrollable-single-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scroll):

  • rendering/RenderFlowThread.cpp:
  • rendering/RenderFlowThread.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::offsetFromContainer):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):

  • rendering/RenderNamedFlowThread.h:

LayoutTests:

Added layout tests for scrolling regions using the mouse wheel.

  • fast/regions/wheel-scrollable-single-region-expected.html: Added.
  • fast/regions/wheel-scrollable-single-region.html: Added.
9:28 AM Changeset in webkit [165376] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[iOS][WK1] Crash in HTMLMediaElement::createElementRenderer() - "-[NSSet addObject:]: object cannot be nil"
https://bugs.webkit.org/show_bug.cgi?id=129634

Reviewed by Eric Carlson.

If a plugin fails to create a NSView, a nil object is inserted into the WebPluginController's
pluginViews set. This is an exceptional case, so add an ASSERT so that this error will continue
to occur in debug builds, but also add an early return so as not to crash release builds.

  • Plugins/WebPluginController.mm:

(+[WebPluginController addPlugInView:]):

8:32 AM Changeset in webkit [165375] by Michał Pakuła vel Rutka
  • 3 edits
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing and crashing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/images/image-controls-basic-expected.txt: Added after r164457.
  • platform/efl/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added after r164323.
8:13 AM Changeset in webkit [165374] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

8:10 AM Changeset in webkit [165373] by Lucas Forschler
  • 1 copy in tags/Safari-538.22

New Tag.

6:36 AM Changeset in webkit [165372] by mihnea@adobe.com
  • 4 edits in trunk/LayoutTests

[CSSRegions] Fix broken paths in some regions tests
https://bugs.webkit.org/show_bug.cgi?id=130012

Reviewed by Andrei Bucur.

  • fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions.html:
  • fast/regions/region-styling/region-style-image-background-color-expected.html:
  • fast/regions/region-styling/region-style-image-background-color.html:
4:10 AM Changeset in webkit [165371] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] The web process can finish while a print operation is still ongoing
https://bugs.webkit.org/show_bug.cgi?id=129871

Reviewed by Martin Robinson.

This can happen when the last page is closed while the print job
is sending data to the printer.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Disable web

process termination when the print job is sending data to the
printer and enable it again when job finishes.

3:06 AM Changeset in webkit [165370] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for xor_ir when register is accumulator.
<https://webkit.org/b/130008>

Generate the shorthand version of "xor eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::xorl_ir):
(JSC::X86Assembler::xorq_ir):

2:51 AM Changeset in webkit [165369] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for or_ir when register is accumulator.
<https://webkit.org/b/130007>

Generate the shorthand version of "or eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::orl_ir):
(JSC::X86Assembler::orq_ir):

2:48 AM Changeset in webkit [165368] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for test_ir when register is accumulator.
<https://webkit.org/b/130006>

Generate the shorthand version of "test eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::testl_i32r):
(JSC::X86Assembler::testq_i32r):

2:48 AM Changeset in webkit [165367] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for cmp_ir when register is accumulator.
<https://webkit.org/b/130005>

Generate the shorthand version of "cmp eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::cmpl_ir):
(JSC::X86Assembler::cmpq_ir):

12:53 AM Changeset in webkit [165366] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for store64(imm, address) when imm fits in 32 bits.
<https://webkit.org/b/130002>

Generate this:

mov [address], imm32

Instead of this:

mov scratchRegister, imm32
mov [address], scratchRegister

For store64(imm, address) where the 64-bit immediate can be passed as
a sign-extended 32-bit value.

Reviewed by Benjamin Poulain.

  • assembler/MacroAssemblerX86_64.h:

(CAN_SIGN_EXTEND_32_64):
(JSC::MacroAssemblerX86_64::store64):

12:50 AM Changeset in webkit [165365] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for xchg_rr when one register is accumulator.
<https://webkit.org/b/130004>

Generate the 1-byte version of "xchg eax, reg" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::xchgl_rr):
(JSC::X86Assembler::xchgq_rr):

12:17 AM Changeset in webkit [165364] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused dispatchStorageEvent() from StorageAreaSync
https://bugs.webkit.org/show_bug.cgi?id=129999

Reviewed by Andreas Kling.

dispatchStorageEvent() is not used anywhere.

  • storage/StorageAreaSync.h: Remove dispatchStorageEvent().

Mar 9, 2014:

11:58 PM Changeset in webkit [165363] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Update comment in NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=129997

Patch by Jeong Yong-uk <yong@company100.com> on 2014-03-09
Reviewed by Andreas Kling.

NetworkResourceLoader::resourceHandleStopped() has been renamed to
NetworkResourceLoader::cleanup() but the comment is not updated.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

11:57 PM Changeset in webkit [165362] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GPRInfo::toIndex should return InvalidIndex for non-temp registers on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129998

Reviewed by Geoffrey Garen.

Not only is that the established contract, but this is used to signal to
ScratchRegisterAllocator that the register doesn't need locking since it isn't a register
that this allocator would use. In the FTL, we may have an inline cache where LLVM had used
some non-temp register (i.e. a register that JSC itself wouldn't have used). This is totally
fine but previously it would have led to either an assertion failure, or data corruption, in
the ScratchRegisterAllocator.

  • jit/GPRInfo.h:

(JSC::GPRInfo::toIndex):

11:18 PM Changeset in webkit [165361] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • WebProcess/WebPage/ios/WebPageIOS.mm: Include WebCore/KeyboardEvent.h.
10:17 PM Changeset in webkit [165360] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: js/dom/create-lots-of-workers.html frequently crashes
(sometimes in js/dom/cross-frame-bad-time.html)
https://bugs.webkit.org/show_bug.cgi?id=129758

  • platform/mac/TestExpectations: Skipped the test.
10:11 PM Changeset in webkit [165359] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::KeyboardEvent):
7:50 PM Changeset in webkit [165358] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

FTL fails the new equals-masquerader strictEqualConstant test
https://bugs.webkit.org/show_bug.cgi?id=129996

Reviewed by Mark Lam.

It turns out that the FTL was trying to do the masquerading stuff for ===null. But
that's wrong since none of the other engines do it. The DFG even had an ancient
FIXME about doing it - but that doesn't make sense since the LLInt and baseline JIT
don't do it and JSValue::strictEqual() doesn't do it.

Remove the FIXME and remove the extra checks in the FTL.

This is a glorious patch: nothing but red and it fixes a test failure.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEqConstant):

6:57 PM Changeset in webkit [165357] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Short-circuit JSGlobalObjectInspectorController when not inspecting.
<https://webkit.org/b/129995>

Add an early return in reportAPIException() when the console agent
is disabled. This avoids expensive symbolication during exceptions
if there's nobody expecting the fancy backtrace anyway.

~2% progression on DYEB on my MBP.

Reviewed by Geoff Garen.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):

3:56 PM Changeset in webkit [165356] by ap@apple.com
  • 34 edits
    1 add in trunk/Source

[Mac] Don't perform a round-trip through WebProcess before interpreting key events
https://bugs.webkit.org/show_bug.cgi?id=129812

Reviewed by Darin Adler.

Source/WebCore:

No significant behavior changes expected, except for Esc key processing, which now
dispatches a keypress before executing its default action.

  • platform/KeypressCommand.h: Added.

(WebCore::KeypressCommand::KeypressCommand):

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Moved KeypressCommand from dom/KeyboardEvent.h to its own header, as it needed
in platform/ directory now.

  • dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):

  • dom/KeyboardEvent.h:

(WebCore::KeyboardEvent::handledByInputMethod):
(WebCore::KeyboardEvent::keypressCommands):

  • platform/PlatformKeyboardEvent.h:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::handledByInputMethod):
(WebCore::PlatformKeyboardEvent::commands):
PlatformKeyboardEvent now carries results of interpreting the event by AppKit. This
is logically not much different from carrying charcode, and is similar to what Gtk
does for input methods.
KeyboardEvent already had keypress commands, which were added to it after construction.
It's still possible for WebKit1, while with WebKit2, they are provided at construction
time. The event now also has a boolean for whether IM handled it already.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleInputMethodKeydown):

Added a FIXME. WebKit1/mac is the only port that uses this roundabout way to
interpret events, so it would simplify code if we switched it to WebKit2/mac model.

Source/WebKit2:

  • Shared/NativeWebKeyboardEvent.h:
  • Shared/WebEvent.h:

(WebKit::WebKeyboardEvent::handledByInputMethod):
(WebKit::WebKeyboardEvent::commands):

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):

  • Shared/WebKeyboardEvent.cpp:

(WebKit::WebKeyboardEvent::WebKeyboardEvent):
(WebKit::WebKeyboardEvent::~WebKeyboardEvent):
(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):

  • Shared/mac/NativeWebKeyboardEventMac.mm:

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):

  • Shared/mac/WebEventFactory.h:
  • Shared/mac/WebEventFactory.mm:

(WebKit::WebEventFactory::createWebKeyboardEvent):
Keyboard events now carry results of interpretation with them.
Ideally, mouse events should also have a handledByInputMethod member, because IMs
can handle events, but that can wait until we have actual bugs caused by not diabling
default processing for these.

  • UIProcess/API/mac/WKView.mm:

(-[WKView becomeFirstResponder]): Updated for new NativeWebKeyboardEvent contructor
signature. We don't interpret the event in this code path.
(-[WKView doCommandBySelector:]): Added logging.
(-[WKView performKeyEquivalent:]): Reimplemented Esc and Cmd+period handling to avoid
infinite loops and re-entrancy. These two work in a unique way in AppKit.
Interpret key event before sending it down to WebProcess.
(-[WKView keyUp:]): Interpret key event before sending it down to WebProcess.
We need to tell IMs about the event, but key binding processing is moot, all commands
are executed on keydown.
(-[WKView keyDown:]): Interpret the event.
(-[WKView flagsChanged:]): Ditto.
(-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]): Added an assertion in
consumedByIM code path.
(-[WKView _executeSavedCommandBySelector:]): Added logging.

  • UIProcess/PageClient.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:
  • UIProcess/mac/WebPageProxyMac.mm:

Removed interpretQueuedKeyEvent/interpretKeyEvent, WebProcess no longer asks UIProcess to do this.

  • WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

(WebKit::WebEditorClient::handleKeyboardEvent):

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::WebEditorClient::handleKeyboardEvent):
(WebKit::WebEditorClient::handleInputMethodKeydown):
WebPage::handleEditingKeyboardEvent is now one function instead of two with a boolean
switch between two behaviors.

  • WebProcess/WebPage/WebPage.cpp:(WebKit::WebPage::WebPage):
  • WebProcess/WebPage/WebPage.h:

Removed m_keyboardEventBeingInterpreted, as we no longer send the event for interpretation.
This means that we sometimes have to pass a null event down to WebCore, but I wasn't
able to find any behavior differences from us doing so.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::handleEditingKeyboardEvent):

Added a FIXME.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::executeKeypressCommandsInternal): When we don't have an event,
use current frame as a target, just like input method messages do.
(WebKit::WebPage::handleEditingKeyboardEvent): This function no longer saves commands,
it only interprets them.
Added a check for Esc, as we don't want to handle it in keydown event handler.
(WebKit::WebPage::insertText): Pass 0 instead of m_keyboardEventBeingInterpreted.
(WebKit::WebPage::insertDictatedText): Ditto.
(WebKit::WebPage::executeKeypressCommands): Ditto.

2:07 PM Changeset in webkit [165355] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Inline the trivial parts of GC deferral.
<https://webkit.org/b/129984>

Made most of the functions called by the DeferGC RAII object inline
to avoid function call overhead.

Looks like ~1% progression on DYEB.

Reviewed by Geoffrey Garen.

  • heap/Heap.cpp:
  • heap/Heap.h:

(JSC::Heap::incrementDeferralDepth):
(JSC::Heap::decrementDeferralDepth):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):

1:27 PM Changeset in webkit [165354] by Alan Bujtas
  • 12 edits in trunk/Source

Subpixel rendering: Pass FloatSize boxsize to transform animations to support device pixel sizing.
https://bugs.webkit.org/show_bug.cgi?id=129985

Reviewed by Simon Fraser.

This is in preparation to stop passing integral positioned boxes to transform animations.

No change in behavior.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::addAnimation):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::getTransformFunctionValue):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startTransition):

Source/WebKit2:

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
12:09 PM Changeset in webkit [165353] by oliver@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/workers/worker-copy-shared-blob-url.html in webkit2

11:14 AM Changeset in webkit [165352] by Simon Fraser
  • 13 edits in trunk/Source

[iOS Wk2] Can't scroll after going back to page in page cache
https://bugs.webkit.org/show_bug.cgi?id=129989
<rdar://problem/16217588>

Reviewed by Dan Bernstein.

iOS has a special FrameLoader::forceLayoutWithoutRecalculatingStyle()
function that is called instead of FrameView::forceLayout(). This was unimplemented
for the WK2 FrameLoaderClient, so no layout was forced, with the result
that the contentSize was never updated and scrolling was broken.

Fix by renaming the client function to forceLayoutOnRestoreFromPageCache()
and having it return a bool to say whether the default forceLayout()
should be done. WK1 can then continue to have its custom behavior,
and Wk2 will simply do a forceLayout().

Also remove FrameLaoderClient::forceLayout(), which was never called.

Source/WebCore:

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

  • loader/FrameLoaderClient.h:

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:

(WebKit::WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):

10:17 AM Changeset in webkit [165351] by mrobinson@webkit.org
  • 2 edits in trunk/Tools

RunGtkWebKitGObjectDOMBindingsAPIBreakTests should be added to the BuildAndTestFactory not the TestFactory
https://bugs.webkit.org/show_bug.cgi?id=129980

Reviewed by Carlos Garcia Campos.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg: Add RunGtkWebKitGObjectDOMBindingsAPIBreakTests to the correct factory.
10:09 AM Changeset in webkit [165350] by mrobinson@webkit.org
  • 2 edits in trunk/Tools

[GTK] Remove the WebView source-mode WebKit1 test
https://bugs.webkit.org/show_bug.cgi?id=129976

Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WebKitGtk/testwebview.c: Remove the source-mode test.
Note: See TracTimeline for information about the timeline view.